Update to Chromium revision beafd8cb (#314338).

- Remove unused CefContextMenuHandler::GetMisspellingHash() method.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2020 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt 2015-02-04 18:10:14 +00:00
parent 4f301a098b
commit 3dc9072f58
41 changed files with 331 additions and 244 deletions

View File

@ -7,5 +7,5 @@
# https://code.google.com/p/chromiumembedded/wiki/BranchesAndBuilding
{
'chromium_checkout': 'd3cf92cac313434de99ae66f6e3e12d27ab536ef',
'chromium_checkout': 'beafd8cb70f31a44502a9040af396b8cd61dcdb1',
}

19
cef.gyp
View File

@ -867,6 +867,8 @@
'<(DEPTH)/components/components.gyp:pdf_common',
'<(DEPTH)/components/components.gyp:pdf_renderer',
'<(DEPTH)/components/components.gyp:pref_registry',
'<(DEPTH)/components/components.gyp:printing_common',
'<(DEPTH)/components/components.gyp:printing_renderer',
'<(DEPTH)/components/components.gyp:user_prefs',
'<(DEPTH)/components/components.gyp:web_cache_renderer',
'<(DEPTH)/content/content.gyp:content_app_both',
@ -1136,12 +1138,8 @@
'<(DEPTH)/chrome/browser/printing/printer_query.h',
'<(DEPTH)/chrome/common/extensions/extension_constants.cc',
'<(DEPTH)/chrome/common/extensions/extension_constants.h',
'<(DEPTH)/chrome/common/print_messages.cc',
'<(DEPTH)/chrome/common/print_messages.h',
'<(DEPTH)/chrome/renderer/pepper/chrome_pdf_print_client.cc',
'<(DEPTH)/chrome/renderer/pepper/chrome_pdf_print_client.h',
'<(DEPTH)/chrome/renderer/printing/print_web_view_helper.cc',
'<(DEPTH)/chrome/renderer/printing/print_web_view_helper.h',
'<(DEPTH)/extensions/common/constants.cc',
'<(DEPTH)/extensions/common/constants.h',
# Include header for stub creation (BrowserProcess) so print_job_worker can
@ -1149,12 +1147,6 @@
'<(DEPTH)/chrome/browser/browser_process.cc',
'<(DEPTH)/chrome/browser/browser_process.h',
# Include sources for spell checking support.
'<(DEPTH)/chrome/browser/spellchecker/feedback.cc',
'<(DEPTH)/chrome/browser/spellchecker/feedback.h',
'<(DEPTH)/chrome/browser/spellchecker/feedback_sender.cc',
'<(DEPTH)/chrome/browser/spellchecker/feedback_sender.h',
'<(DEPTH)/chrome/browser/spellchecker/misspelling.cc',
'<(DEPTH)/chrome/browser/spellchecker/misspelling.h',
'<(DEPTH)/chrome/browser/spellchecker/spellcheck_action.cc',
'<(DEPTH)/chrome/browser/spellchecker/spellcheck_action.h',
'<(DEPTH)/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc',
@ -1171,8 +1163,6 @@
'<(DEPTH)/chrome/browser/spellchecker/spellcheck_service.h',
'<(DEPTH)/chrome/browser/spellchecker/spelling_service_client.cc',
'<(DEPTH)/chrome/browser/spellchecker/spelling_service_client.h',
'<(DEPTH)/chrome/browser/spellchecker/word_trimmer.cc',
'<(DEPTH)/chrome/browser/spellchecker/word_trimmer.h',
'<(DEPTH)/chrome/common/chrome_constants.cc',
'<(DEPTH)/chrome/common/spellcheck_common.cc',
'<(DEPTH)/chrome/common/spellcheck_common.h',
@ -1209,7 +1199,6 @@
'<(DEPTH)/chrome/browser/printing/pdf_to_emf_converter.cc',
'<(DEPTH)/chrome/browser/printing/pdf_to_emf_converter.h',
'<(DEPTH)/chrome/common/chrome_utility_printing_messages.h',
'<(DEPTH)/chrome/renderer/printing/print_web_view_helper_pdf_win.cc',
],
}],
[ 'OS=="mac"', {
@ -1223,8 +1212,6 @@
'libcef/browser/render_widget_host_view_osr_mac.mm',
'libcef/browser/text_input_client_osr_mac.mm',
'libcef/browser/text_input_client_osr_mac.h',
# Include sources for printing.
'<(DEPTH)/chrome/renderer/printing/print_web_view_helper_mac.mm',
# Include sources for spell checking support.
'<(DEPTH)/chrome/browser/spellchecker/spellcheck_message_filter_mac.cc',
'<(DEPTH)/chrome/browser/spellchecker/spellcheck_message_filter_mac.h',
@ -1247,8 +1234,6 @@
'libcef/browser/render_widget_host_view_osr_linux.cc',
'libcef/browser/window_x11.cc',
'libcef/browser/window_x11.h',
#Include sources for printing.
'<(DEPTH)/chrome/renderer/printing/print_web_view_helper_linux.cc',
],
}],
['os_posix == 1 and OS != "mac" and android_webview_build != 1', {

View File

@ -13,8 +13,6 @@
# Directory for CEF source files.
[ 'OS=="win"', {
'cef_directory' : '<!(echo %CEF_DIRECTORY%)',
# Disable tcmalloc's debugallocation to avoid crashing during startup.
'disable_debugallocation': 1,
}, { # OS!="win"
'cef_directory' : '<!(echo $CEF_DIRECTORY)',
}],

View File

@ -206,13 +206,6 @@ typedef struct _cef_context_menu_params_t {
cef_string_userfree_t (CEF_CALLBACK *get_misspelled_word)(
struct _cef_context_menu_params_t* self);
///
// Returns the hash of the misspelled word, if any, that the context menu was
// invoked on.
///
int (CEF_CALLBACK *get_misspelling_hash)(
struct _cef_context_menu_params_t* self);
///
// Returns true (1) if suggestions exist, false (0) otherwise. Fills in
// |suggestions| from the spell check service for the misspelled word if there

View File

@ -200,13 +200,6 @@ class CefContextMenuParams : public virtual CefBase {
/*--cef()--*/
virtual CefString GetMisspelledWord() =0;
///
// Returns the hash of the misspelled word, if any, that the context menu was
// invoked on.
///
/*--cef()--*/
virtual int GetMisspellingHash() =0;
///
// Returns true if suggestions exist, false otherwise. Fills in |suggestions|
// from the spell check service for the misspelled word if there is one.

View File

@ -983,9 +983,9 @@ void CefBrowserHostImpl::WasHidden(bool hidden) {
web_contents()->GetRenderViewHost()->GetView());
if (view) {
if (hidden)
view->WasHidden();
view->Hide();
else
view->WasShown();
view->Show();
}
}
@ -2492,7 +2492,7 @@ void CefBrowserHostImpl::DidFailLoad(
OnLoadEnd(frame, validated_url, error_code);
}
void CefBrowserHostImpl::FrameDetached(
void CefBrowserHostImpl::FrameDeleted(
content::RenderFrameHost* render_frame_host) {
base::AutoLock lock_scope(state_lock_);

View File

@ -443,7 +443,7 @@ class CefBrowserHostImpl : public CefBrowserHost,
const GURL& validated_url,
int error_code,
const base::string16& error_description) override;
void FrameDetached(
void FrameDeleted(
content::RenderFrameHost* render_frame_host) override;
void PluginCrashed(const base::FilePath& plugin_path,
base::ProcessId plugin_pid) override;

View File

@ -100,11 +100,6 @@ CefString CefContextMenuParamsImpl::GetMisspelledWord() {
return const_value().misspelled_word;
}
int CefContextMenuParamsImpl::GetMisspellingHash() {
CEF_VALUE_VERIFY_RETURN(false, 0);
return const_value().misspelling_hash;
}
bool CefContextMenuParamsImpl::GetDictionarySuggestions(
std::vector<CefString>& suggestions) {
CEF_VALUE_VERIFY_RETURN(false, false);

View File

@ -32,7 +32,6 @@ class CefContextMenuParamsImpl
MediaStateFlags GetMediaStateFlags() override;
CefString GetSelectionText() override;
CefString GetMisspelledWord() override;
int GetMisspellingHash() override;
bool GetDictionarySuggestions(
std::vector<CefString>& suggestions) override;
bool IsEditable() override;

View File

@ -28,6 +28,7 @@
#include "content/public/common/content_switches.h"
#include "content/public/common/url_constants.h"
#include "grit/cef_resources.h"
#include "net/base/net_errors.h"
#include "net/socket/tcp_server_socket.h"
#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
@ -38,27 +39,36 @@ const char kTargetTypePage[] = "page";
const char kTargetTypeServiceWorker[] = "service_worker";
const char kTargetTypeOther[] = "other";
const int kBackLog = 10;
class TCPServerSocketFactory
: public content::DevToolsHttpHandler::ServerSocketFactory {
public:
TCPServerSocketFactory(const std::string& address, uint16 port, int backlog)
: content::DevToolsHttpHandler::ServerSocketFactory(
address, port, backlog) {}
TCPServerSocketFactory(const std::string& address, uint16 port)
: address_(address), port_(port) {
}
private:
// content::DevToolsHttpHandler::ServerSocketFactory.
scoped_ptr<net::ServerSocket> Create() const override {
return scoped_ptr<net::ServerSocket>(
new net::TCPServerSocket(NULL, net::NetLog::Source()));
// DevToolsHttpHandler::ServerSocketFactory.
scoped_ptr<net::ServerSocket> CreateForHttpServer() override {
scoped_ptr<net::ServerSocket> socket(
new net::TCPServerSocket(nullptr, net::NetLog::Source()));
if (socket->ListenWithAddressAndPort(address_, port_, kBackLog) != net::OK)
return scoped_ptr<net::ServerSocket>();
return socket;
}
std::string address_;
uint16 port_;
DISALLOW_COPY_AND_ASSIGN(TCPServerSocketFactory);
};
scoped_ptr<content::DevToolsHttpHandler::ServerSocketFactory>
CreateSocketFactory(uint16 port) {
return scoped_ptr<content::DevToolsHttpHandler::ServerSocketFactory>(
new TCPServerSocketFactory("127.0.0.1", port, 1));
new TCPServerSocketFactory("127.0.0.1", port));
}
class Target : public content::DevToolsTarget {
@ -156,11 +166,6 @@ base::FilePath CefDevToolsDelegate::GetDebugFrontendDir() {
return base::FilePath();
}
scoped_ptr<net::ServerSocket>
CefDevToolsDelegate::CreateSocketForTethering(std::string* name) {
return scoped_ptr<net::ServerSocket>();
}
std::string CefDevToolsDelegate::GetChromeDevToolsURL() {
return base::StringPrintf("%s://%s/devtools.html",
content::kChromeDevToolsScheme, scheme::kChromeDevToolsHost);

View File

@ -33,8 +33,6 @@ class CefDevToolsDelegate : public content::DevToolsHttpHandlerDelegate {
std::string GetDiscoveryPageHTML() override;
bool BundlesFrontendResources() override;
base::FilePath GetDebugFrontendDir() override;
scoped_ptr<net::ServerSocket> CreateSocketForTethering(
std::string* name) override;
// Returns the chrome-devtools URL.
std::string GetChromeDevToolsURL();

View File

@ -12,7 +12,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/printing/print_job_manager.h"
#include "chrome/browser/printing/print_preview_dialog_controller.h"
#include "chrome/common/print_messages.h"
#include "components/printing/common/print_messages.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"

View File

@ -17,8 +17,8 @@
#include "chrome/browser/printing/print_job_manager.h"
#include "chrome/browser/printing/printer_query.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/print_messages.h"
#include "chrome/grit/generated_resources.h"
#include "components/printing/common/print_messages.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_service.h"

View File

@ -10,7 +10,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/printing/print_job_manager.h"
#include "chrome/browser/printing/printer_query.h"
#include "chrome/common/print_messages.h"
#include "components/printing/common/print_messages.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"

View File

@ -27,5 +27,5 @@ bool CefLaunchProcess(CefRefPtr<CefCommandLine> command_line) {
CefValueController::AutoLock lock_scope(impl->controller());
base::LaunchOptions options;
return base::LaunchProcess(impl->command_line(), options, NULL);
return base::LaunchProcess(impl->command_line(), options).IsValid();
}

View File

@ -192,7 +192,7 @@ class CefCopyFrameGenerator {
damage_rect));
request->set_area(gfx::Rect(view_->GetPhysicalBackingSize()));
view_->RequestCopyOfOutput(request.Pass());
view_->DelegatedFrameHostGetLayer()->RequestCopyOfOutput(request.Pass());
}
void CopyFromCompositingSurfaceHasResult(
@ -473,7 +473,7 @@ CefRenderWidgetHostViewOSR::~CefRenderWidgetHostViewOSR() {
// necessary to remove all connections to its old ui::Compositor.
if (is_showing_)
delegated_frame_host_->WasHidden();
delegated_frame_host_->RemovingFromWindow();
delegated_frame_host_->ResetCompositor();
PlatformDestroyCompositorWidget();
@ -532,11 +532,28 @@ bool CefRenderWidgetHostViewOSR::IsSurfaceAvailableForCopy() const {
}
void CefRenderWidgetHostViewOSR::Show() {
WasShown();
if (is_showing_)
return;
is_showing_ = true;
if (render_widget_host_)
render_widget_host_->WasShown(ui::LatencyInfo());
delegated_frame_host_->SetCompositor(compositor_.get());
delegated_frame_host_->WasShown(ui::LatencyInfo());
}
void CefRenderWidgetHostViewOSR::Hide() {
WasHidden();
if (!is_showing_)
return;
if (browser_impl_.get())
browser_impl_->CancelContextMenu();
if (render_widget_host_)
render_widget_host_->WasHidden();
delegated_frame_host_->WasHidden();
delegated_frame_host_->ResetCompositor();
is_showing_ = false;
}
bool CefRenderWidgetHostViewOSR::IsShowing() {
@ -667,7 +684,7 @@ void CefRenderWidgetHostViewOSR::InitAsPopup(
handler->OnPopupSize(browser_impl_.get(), widget_pos);
ResizeRootLayer();
WasShown();
Show();
}
void CefRenderWidgetHostViewOSR::InitAsFullscreen(
@ -675,31 +692,6 @@ void CefRenderWidgetHostViewOSR::InitAsFullscreen(
NOTREACHED() << "Fullscreen widgets are not supported in OSR";
}
void CefRenderWidgetHostViewOSR::WasShown() {
if (is_showing_)
return;
is_showing_ = true;
if (render_widget_host_)
render_widget_host_->WasShown(ui::LatencyInfo());
delegated_frame_host_->AddedToWindow();
delegated_frame_host_->WasShown(ui::LatencyInfo());
}
void CefRenderWidgetHostViewOSR::WasHidden() {
if (!is_showing_)
return;
if (browser_impl_.get())
browser_impl_->CancelContextMenu();
if (render_widget_host_)
render_widget_host_->WasHidden();
delegated_frame_host_->WasHidden();
delegated_frame_host_->RemovingFromWindow();
is_showing_ = false;
}
void CefRenderWidgetHostViewOSR::MovePluginWindows(
const std::vector<content::WebPluginGeometry>& moves) {
}
@ -792,7 +784,7 @@ void CefRenderWidgetHostViewOSR::Destroy() {
} else {
if (popup_host_view_)
popup_host_view_->CancelPopupWidget();
WasHidden();
Hide();
}
}
@ -986,24 +978,25 @@ CefRenderWidgetHostViewOSR::CreateSoftwareOutputDevice(
return make_scoped_ptr<cc::SoftwareOutputDevice>(software_output_device_);
}
ui::Compositor* CefRenderWidgetHostViewOSR::GetCompositor() const {
return compositor_.get();
}
ui::Layer* CefRenderWidgetHostViewOSR::GetLayer() {
ui::Layer* CefRenderWidgetHostViewOSR::DelegatedFrameHostGetLayer() const {
return root_layer_.get();
}
content::RenderWidgetHostImpl* CefRenderWidgetHostViewOSR::GetHost() {
DCHECK(render_widget_host_);
return render_widget_host_;
bool CefRenderWidgetHostViewOSR::DelegatedFrameHostIsVisible() const {
return !render_widget_host_->is_hidden();
}
bool CefRenderWidgetHostViewOSR::IsVisible() {
return IsShowing();
gfx::Size
CefRenderWidgetHostViewOSR::DelegatedFrameHostDesiredSizeInDIP() const {
return root_layer_->bounds().size();
}
scoped_ptr<content::ResizeLock> CefRenderWidgetHostViewOSR::CreateResizeLock(
bool CefRenderWidgetHostViewOSR::DelegatedFrameCanCreateResizeLock() const {
return !render_widget_host_->auto_resize_enabled();
}
scoped_ptr<content::ResizeLock>
CefRenderWidgetHostViewOSR::DelegatedFrameHostCreateResizeLock(
bool defer_compositor_lock) {
const gfx::Size& desired_size = root_layer_->bounds().size();
return scoped_ptr<content::ResizeLock>(new CefResizeLock(
@ -1013,22 +1006,35 @@ scoped_ptr<content::ResizeLock> CefRenderWidgetHostViewOSR::CreateResizeLock(
kResizeLockTimeoutMs));
}
gfx::Size CefRenderWidgetHostViewOSR::DesiredFrameSize() {
return root_layer_->bounds().size();
void CefRenderWidgetHostViewOSR::DelegatedFrameHostResizeLockWasReleased() {
return render_widget_host_->WasResized();
}
float CefRenderWidgetHostViewOSR::CurrentDeviceScaleFactor() {
return scale_factor_;
void CefRenderWidgetHostViewOSR::DelegatedFrameHostSendCompositorSwapAck(
int output_surface_id,
const cc::CompositorFrameAck& ack) {
render_widget_host_->Send(new ViewMsg_SwapCompositorFrameAck(
render_widget_host_->GetRoutingID(),
output_surface_id, ack));
}
gfx::Size CefRenderWidgetHostViewOSR::ConvertViewSizeToPixel(
const gfx::Size& size) {
return content::ConvertViewSizeToPixel(this, size);
void
CefRenderWidgetHostViewOSR::DelegatedFrameHostSendReclaimCompositorResources(
int output_surface_id,
const cc::CompositorFrameAck& ack) {
render_widget_host_->Send(new ViewMsg_ReclaimCompositorResources(
render_widget_host_->GetRoutingID(),
output_surface_id, ack));
}
content::DelegatedFrameHost*
CefRenderWidgetHostViewOSR::GetDelegatedFrameHost() const {
return delegated_frame_host_.get();
void CefRenderWidgetHostViewOSR::DelegatedFrameHostOnLostCompositorResources() {
render_widget_host_->ScheduleComposite();
}
void CefRenderWidgetHostViewOSR::DelegatedFrameHostUpdateVSyncParameters(
const base::TimeTicks& timebase,
const base::TimeDelta& interval) {
render_widget_host_->UpdateVSyncParameters(timebase, interval);
}
bool CefRenderWidgetHostViewOSR::InstallTransparency() {
@ -1334,7 +1340,7 @@ void CefRenderWidgetHostViewOSR::CancelPopupWidget() {
if (render_widget_host_)
render_widget_host_->LostCapture();
WasHidden();
Hide();
if (browser_impl_.get()) {
CefRefPtr<CefRenderHandler> handler =

View File

@ -121,8 +121,6 @@ class CefRenderWidgetHostViewOSR
const gfx::Rect& pos) override;
void InitAsFullscreen(
content::RenderWidgetHostView* reference_host_view) override;
void WasShown() override;
void WasHidden() override;
void MovePluginWindows(
const std::vector<content::WebPluginGeometry>& moves) override;
void Blur() override;
@ -209,16 +207,23 @@ class CefRenderWidgetHostViewOSR
ui::Compositor* compositor) override;
// DelegatedFrameHostClient implementation.
ui::Compositor* GetCompositor() const override;
ui::Layer* GetLayer() override;
content::RenderWidgetHostImpl* GetHost() override;
bool IsVisible() override;
scoped_ptr<content::ResizeLock> CreateResizeLock(
ui::Layer* DelegatedFrameHostGetLayer() const override;
bool DelegatedFrameHostIsVisible() const override;
gfx::Size DelegatedFrameHostDesiredSizeInDIP() const override;
bool DelegatedFrameCanCreateResizeLock() const override;
scoped_ptr<content::ResizeLock> DelegatedFrameHostCreateResizeLock(
bool defer_compositor_lock) override;
gfx::Size DesiredFrameSize() override;
float CurrentDeviceScaleFactor() override;
gfx::Size ConvertViewSizeToPixel(const gfx::Size& size) override;
content::DelegatedFrameHost* GetDelegatedFrameHost() const override;
void DelegatedFrameHostResizeLockWasReleased() override;
void DelegatedFrameHostSendCompositorSwapAck(
int output_surface_id,
const cc::CompositorFrameAck& ack) override;
void DelegatedFrameHostSendReclaimCompositorResources(
int output_surface_id,
const cc::CompositorFrameAck& ack) override;
void DelegatedFrameHostOnLostCompositorResources() override;
void DelegatedFrameHostUpdateVSyncParameters(
const base::TimeTicks& timebase,
const base::TimeDelta& interval) override;
bool InstallTransparency();

View File

@ -29,9 +29,9 @@ void CefRenderWidgetHostViewOSR::SetActive(bool active) {
void CefRenderWidgetHostViewOSR::SetWindowVisibility(bool visible) {
if (visible)
WasShown();
Hide();
else
WasHidden();
Show();
}
void CefRenderWidgetHostViewOSR::WindowFrameChanged() {

View File

@ -142,9 +142,10 @@ net::URLRequestContext* CefURLRequestContextGetter::GetURLRequestContext() {
storage_->set_network_delegate(new CefNetworkDelegate);
storage_->set_channel_id_service(new net::ChannelIDService(
new net::DefaultChannelIDStore(NULL),
base::WorkerPool::GetTaskRunner(true)));
storage_->set_channel_id_service(make_scoped_ptr(
new net::ChannelIDService(
new net::DefaultChannelIDStore(NULL),
base::WorkerPool::GetTaskRunner(true))));
storage_->set_http_user_agent_settings(
new CefHttpUserAgentSettings("en-us,en"));

View File

@ -12,6 +12,7 @@
#include "base/values.h"
#include "content/public/common/common_param_traits.h"
#include "content/public/common/referrer.h"
#include "ui/gfx/ipc/gfx_param_traits.h"
#include "ipc/ipc_message_macros.h"
// TODO(cef): Re-using the message start for extensions may be problematic in
@ -213,7 +214,6 @@ struct ParamTraits<scoped_refptr<net::UploadData> > {
#endif // CEF_LIBCEF_COMMON_CEF_MESSAGES_H_
#include "chrome/common/print_messages.h"
#include "chrome/common/spellcheck_messages.h"
#if defined(OS_WIN)

View File

@ -38,10 +38,10 @@ MSVC_POP_WARNING();
#include "chrome/common/chrome_paths.h"
#include "chrome/renderer/loadtimes_extension_bindings.h"
#include "chrome/renderer/pepper/chrome_pdf_print_client.h"
#include "chrome/renderer/printing/print_web_view_helper.h"
#include "chrome/renderer/spellchecker/spellcheck.h"
#include "chrome/renderer/spellchecker/spellcheck_provider.h"
#include "components/pdf/renderer/ppb_pdf_impl.h"
#include "components/printing/renderer/print_web_view_helper.h"
#include "components/web_cache/renderer/web_cache_render_process_observer.h"
#include "content/child/child_thread.h"
#include "content/child/worker_task_runner.h"
@ -50,6 +50,7 @@ MSVC_POP_WARNING();
#include "content/public/browser/render_process_host.h"
#include "content/public/common/content_constants.h"
#include "content/public/common/content_paths.h"
#include "content/public/renderer/plugin_instance_throttler.h"
#include "content/public/renderer/render_thread.h"
#include "content/public/renderer/render_view.h"
#include "content/public/renderer/render_view_visitor.h"
@ -165,6 +166,18 @@ class CefPrintWebViewHelperDelegate :
return blink::WebElement();
}
bool IsOutOfProcessPdfEnabled() override {
return false;
}
bool IsPrintPreviewEnabled() override {
return false;
}
bool OverridePrint(blink::WebLocalFrame* frame) override {
return false;
}
private:
DISALLOW_COPY_AND_ASSIGN(CefPrintWebViewHelperDelegate);
};
@ -602,8 +615,7 @@ bool CefContentRendererClient::OverrideCreatePlugin(
params_to_use.attributeValues.swap(new_values);
*plugin = render_frame_impl->CreatePlugin(
frame, info, params_to_use,
content::RenderFrame::POWER_SAVER_MODE_ESSENTIAL);
frame, info, params_to_use, nullptr);
return true;
}
#endif // defined(ENABLE_PLUGINS)
@ -783,8 +795,6 @@ void CefContentRendererClient::BrowserCreated(
new CefPrerendererClient(render_view);
new printing::PrintWebViewHelper(
render_view,
false,
true,
make_scoped_ptr<printing::PrintWebViewHelper::Delegate>(
new CefPrintWebViewHelperDelegate()));

View File

@ -552,7 +552,8 @@ v8::Local<v8::Value> CallV8Function(v8::Handle<v8::Context> context,
// Execute the function call using the ScriptController so that inspector
// instrumentation works.
if (CEF_CURRENTLY_ON_RT()) {
RefPtr<blink::LocalFrame> frame = blink::toFrameIfNotDetached(context);
RefPtr<blink::LocalFrame> frame =
toLocalFrame(blink::toFrameIfNotDetached(context));
DCHECK(frame);
if (frame &&
frame->script().canExecuteScripts(blink::AboutToExecuteScript)) {

View File

@ -231,21 +231,6 @@ cef_string_userfree_t CEF_CALLBACK context_menu_params_get_misspelled_word(
return _retval.DetachToUserFree();
}
int CEF_CALLBACK context_menu_params_get_misspelling_hash(
struct _cef_context_menu_params_t* self) {
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
DCHECK(self);
if (!self)
return 0;
// Execute
int _retval = CefContextMenuParamsCppToC::Get(self)->GetMisspellingHash();
// Return type: simple
return _retval;
}
int CEF_CALLBACK context_menu_params_get_dictionary_suggestions(
struct _cef_context_menu_params_t* self, cef_string_list_t suggestions) {
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
@ -344,8 +329,6 @@ CefContextMenuParamsCppToC::CefContextMenuParamsCppToC(
context_menu_params_get_media_state_flags;
struct_.struct_.get_selection_text = context_menu_params_get_selection_text;
struct_.struct_.get_misspelled_word = context_menu_params_get_misspelled_word;
struct_.struct_.get_misspelling_hash =
context_menu_params_get_misspelling_hash;
struct_.struct_.get_dictionary_suggestions =
context_menu_params_get_dictionary_suggestions;
struct_.struct_.is_editable = context_menu_params_is_editable;

View File

@ -216,19 +216,6 @@ CefString CefContextMenuParamsCToCpp::GetMisspelledWord() {
return _retvalStr;
}
int CefContextMenuParamsCToCpp::GetMisspellingHash() {
if (CEF_MEMBER_MISSING(struct_, get_misspelling_hash))
return 0;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
int _retval = struct_->get_misspelling_hash(struct_);
// Return type: simple
return _retval;
}
bool CefContextMenuParamsCToCpp::GetDictionarySuggestions(
std::vector<CefString>& suggestions) {
if (CEF_MEMBER_MISSING(struct_, get_dictionary_suggestions))

View File

@ -48,7 +48,6 @@ class CefContextMenuParamsCToCpp
virtual MediaStateFlags GetMediaStateFlags() OVERRIDE;
virtual CefString GetSelectionText() OVERRIDE;
virtual CefString GetMisspelledWord() OVERRIDE;
virtual int GetMisspellingHash() OVERRIDE;
virtual bool GetDictionarySuggestions(
std::vector<CefString>& suggestions) OVERRIDE;
virtual bool IsEditable() OVERRIDE;

View File

@ -87,6 +87,12 @@ patches = [
'name': 'chrome_browser_1257',
'path': '../chrome/browser/',
},
{
# Allow specification of a custom WebContentsView.
# http://code.google.com/p/chromiumembedded/issues/detail?id=1257
'name': 'ui_webview_1257',
'path': '../ui/views/controls/webview/',
},
{
# Allow customization of the WebView background color.
# http://code.google.com/p/chromiumembedded/issues/detail?id=1161
@ -120,6 +126,12 @@ patches = [
'name': 'render_process_host_1429',
'path': '../content/browser/renderer_host/',
},
{
# Fix multiple definition of 'AtomicOps_Internalx86CPUFeatures' on Linux.
# https://code.google.com/p/chromium/issues/detail?id=455263
'name': 'base_atomicops_455263',
'path': '../base/',
},
{
# Disable scollbar bounce and overlay on OS X.
# http://code.google.com/p/chromiumembedded/issues/detail?id=364

View File

@ -0,0 +1,87 @@
diff --git atomicops.h atomicops.h
index 6a5371c..48e2f13 100644
--- atomicops.h
+++ atomicops.h
@@ -168,7 +168,7 @@ struct AtomicOps_x86CPUFeatureStruct {
bool has_cmpxchg16b; // Processor supports cmpxchg16b instruction.
};
BASE_EXPORT extern struct AtomicOps_x86CPUFeatureStruct
- AtomicOps_Internalx86CPUFeatures;
+ base_AtomicOps_Internalx86CPUFeatures;
#endif
// Try to use a portable implementation based on C++11 atomics.
diff --git atomicops_internals_x86_gcc.cc atomicops_internals_x86_gcc.cc
index c21e96d..fb570e0 100644
--- atomicops_internals_x86_gcc.cc
+++ atomicops_internals_x86_gcc.cc
@@ -34,7 +34,7 @@
// Set the flags so that code will run correctly and conservatively, so even
// if we haven't been initialized yet, we're probably single threaded, and our
// default values should hopefully be pretty safe.
-struct AtomicOps_x86CPUFeatureStruct AtomicOps_Internalx86CPUFeatures = {
+struct AtomicOps_x86CPUFeatureStruct base_AtomicOps_Internalx86CPUFeatures = {
false, // bug can't exist before process spawns multiple threads
false, // Chrome requires SSE2, but for transition assume not and initialize
// this properly.
@@ -76,16 +76,16 @@ void AtomicOps_Internalx86CPUFeaturesInit() {
if (strcmp(vendor, "AuthenticAMD") == 0 && // AMD
family == 15 &&
32 <= model && model <= 63) {
- AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug = true;
+ base_AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug = true;
} else {
- AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug = false;
+ base_AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug = false;
}
// edx bit 26 is SSE2 which we use to tell use whether we can use mfence
- AtomicOps_Internalx86CPUFeatures.has_sse2 = ((edx >> 26) & 1);
+ base_AtomicOps_Internalx86CPUFeatures.has_sse2 = ((edx >> 26) & 1);
// ecx bit 13 indicates whether the cmpxchg16b instruction is supported
- AtomicOps_Internalx86CPUFeatures.has_cmpxchg16b = ((ecx >> 13) & 1);
+ base_AtomicOps_Internalx86CPUFeatures.has_cmpxchg16b = ((ecx >> 13) & 1);
}
class AtomicOpsx86Initializer {
diff --git atomicops_internals_x86_gcc.h atomicops_internals_x86_gcc.h
index 69eacdb..c2ad1e6 100644
--- atomicops_internals_x86_gcc.h
+++ atomicops_internals_x86_gcc.h
@@ -51,7 +51,7 @@ inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr,
: "+r" (temp), "+m" (*ptr)
: : "memory");
// temp now holds the old value of *ptr
- if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) {
+ if (base_AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) {
__asm__ __volatile__("lfence" : : : "memory");
}
return temp + increment;
@@ -61,7 +61,7 @@ inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
Atomic32 old_value,
Atomic32 new_value) {
Atomic32 x = NoBarrier_CompareAndSwap(ptr, old_value, new_value);
- if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) {
+ if (base_AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) {
__asm__ __volatile__("lfence" : : : "memory");
}
return x;
@@ -149,7 +149,7 @@ inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr,
: "+r" (temp), "+m" (*ptr)
: : "memory");
// temp now contains the previous value of *ptr
- if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) {
+ if (base_AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) {
__asm__ __volatile__("lfence" : : : "memory");
}
return temp + increment;
@@ -206,7 +206,7 @@ inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr,
Atomic64 old_value,
Atomic64 new_value) {
Atomic64 x = NoBarrier_CompareAndSwap(ptr, old_value, new_value);
- if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) {
+ if (base_AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) {
__asm__ __volatile__("lfence" : : : "memory");
}
return x;

View File

@ -1,8 +1,8 @@
diff --git web_contents_impl.cc web_contents_impl.cc
index 0326fe5..5daf313 100644
index 507ebbe..1ef87a2 100644
--- web_contents_impl.cc
+++ web_contents_impl.cc
@@ -1164,22 +1164,29 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -1191,22 +1191,29 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
params.browser_context, params.site_instance, params.routing_id,
params.main_frame_routing_id);
@ -48,7 +48,7 @@ index 0326fe5..5daf313 100644
}
CHECK(render_view_host_delegate_view_);
CHECK(view_.get());
@@ -1517,6 +1524,9 @@ void WebContentsImpl::CreateNewWindow(
@@ -1571,6 +1578,9 @@ void WebContentsImpl::CreateNewWindow(
static_cast<SessionStorageNamespaceImpl*>(session_storage_namespace);
CHECK(session_storage_namespace_impl->IsFromContext(dom_storage_context));
@ -58,7 +58,7 @@ index 0326fe5..5daf313 100644
if (delegate_ &&
!delegate_->ShouldCreateWebContents(this,
route_id,
@@ -1525,7 +1535,9 @@ void WebContentsImpl::CreateNewWindow(
@@ -1579,7 +1589,9 @@ void WebContentsImpl::CreateNewWindow(
params.frame_name,
params.target_url,
partition_id,
@ -69,7 +69,7 @@ index 0326fe5..5daf313 100644
if (route_id != MSG_ROUTING_NONE &&
!RenderViewHost::FromID(render_process_id, route_id)) {
// If the embedder didn't create a WebContents for this route, we need to
@@ -1545,6 +1557,8 @@ void WebContentsImpl::CreateNewWindow(
@@ -1599,6 +1611,8 @@ void WebContentsImpl::CreateNewWindow(
create_params.main_frame_routing_id = main_frame_route_id;
create_params.opener = this;
create_params.opener_suppressed = params.opener_suppressed;

View File

@ -1,5 +1,5 @@
diff --git common.gypi common.gypi
index 83a3df6..a0a0b60 100644
index 948dcec..243b262 100644
--- common.gypi
+++ common.gypi
@@ -9,6 +9,9 @@

View File

@ -1,8 +1,8 @@
diff --git ui/browser.cc ui/browser.cc
index 6c926b9..a809f0f 100644
index 436a15e..3985b27 100644
--- ui/browser.cc
+++ ui/browser.cc
@@ -1567,7 +1567,9 @@ bool Browser::ShouldCreateWebContents(
@@ -1563,7 +1563,9 @@ bool Browser::ShouldCreateWebContents(
const base::string16& frame_name,
const GURL& target_url,
const std::string& partition_id,
@ -14,7 +14,7 @@ index 6c926b9..a809f0f 100644
// If a BackgroundContents is created, suppress the normal WebContents.
return !MaybeCreateBackgroundContents(route_id,
diff --git ui/browser.h ui/browser.h
index c9aad25..b682e4e 100644
index 8478d97..d1a3f4e 100644
--- ui/browser.h
+++ ui/browser.h
@@ -587,7 +587,9 @@ class Browser : public TabStripModelObserver,

View File

@ -1,5 +1,5 @@
diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc
index c7c867e..5b0ea66 100644
index cc42565..c671a8d 100644
--- content/browser/compositor/gpu_process_transport_factory.cc
+++ content/browser/compositor/gpu_process_transport_factory.cc
@@ -106,6 +106,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() {
@ -17,7 +17,7 @@ index c7c867e..5b0ea66 100644
return scoped_ptr<cc::SoftwareOutputDevice>(new SoftwareOutputDeviceWin(
compositor));
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
index 94cd1a91..b13e64fb 100644
index ded2992..0b000c6 100644
--- ui/compositor/compositor.h
+++ ui/compositor/compositor.h
@@ -13,6 +13,7 @@
@ -28,7 +28,7 @@ index 94cd1a91..b13e64fb 100644
#include "cc/surfaces/surface_sequence.h"
#include "cc/trees/layer_tree_host_client.h"
#include "cc/trees/layer_tree_host_single_thread_client.h"
@@ -136,6 +137,17 @@ class COMPOSITOR_EXPORT CompositorLock
@@ -134,6 +135,17 @@ class COMPOSITOR_EXPORT CompositorLock
DISALLOW_COPY_AND_ASSIGN(CompositorLock);
};
@ -46,7 +46,7 @@ index 94cd1a91..b13e64fb 100644
// Compositor object to take care of GPU painting.
// A Browser compositor object is responsible for generating the final
// displayable form of pixels comprising a single widget's contents. It draws an
@@ -157,6 +169,9 @@ class COMPOSITOR_EXPORT Compositor
@@ -155,6 +167,9 @@ class COMPOSITOR_EXPORT Compositor
// Schedules a redraw of the layer tree associated with this compositor.
void ScheduleDraw();
@ -56,7 +56,7 @@ index 94cd1a91..b13e64fb 100644
// 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
// is destroyed. NULL can be passed to reset the root layer, in which case the
@@ -310,6 +325,8 @@ class COMPOSITOR_EXPORT Compositor
@@ -298,6 +313,8 @@ class COMPOSITOR_EXPORT Compositor
ui::ContextFactory* context_factory_;

View File

@ -1,5 +1,5 @@
diff --git public/renderer/content_renderer_client.cc public/renderer/content_renderer_client.cc
index 489ee14..caa083e 100644
index 79b40ac..4babaa9 100644
--- public/renderer/content_renderer_client.cc
+++ public/renderer/content_renderer_client.cc
@@ -99,7 +99,6 @@ bool ContentRendererClient::AllowPopup() {
@ -19,10 +19,10 @@ index 489ee14..caa083e 100644
bool ContentRendererClient::ShouldFork(blink::WebFrame* frame,
const GURL& url,
diff --git public/renderer/content_renderer_client.h public/renderer/content_renderer_client.h
index bc82ce6..b112107 100644
index a7c7271..05fc084 100644
--- public/renderer/content_renderer_client.h
+++ public/renderer/content_renderer_client.h
@@ -195,7 +195,6 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -192,7 +192,6 @@ class CONTENT_EXPORT ContentRendererClient {
// Returns true if a popup window should be allowed.
virtual bool AllowPopup();
@ -30,7 +30,7 @@ index bc82ce6..b112107 100644
// TODO(sgurun) This callback is deprecated and will be removed as soon
// as android webview completes implementation of a resource throttle based
// shouldoverrideurl implementation. See crbug.com/325351
@@ -210,7 +209,6 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -207,7 +206,6 @@ class CONTENT_EXPORT ContentRendererClient {
blink::WebNavigationType type,
blink::WebNavigationPolicy default_policy,
bool is_redirect);
@ -39,10 +39,10 @@ index bc82ce6..b112107 100644
// 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
diff --git renderer/render_frame_impl.cc renderer/render_frame_impl.cc
index 473b185..2d082b5 100644
index 876e8ae..a5064a1 100644
--- renderer/render_frame_impl.cc
+++ renderer/render_frame_impl.cc
@@ -3798,7 +3798,6 @@ void RenderFrameImpl::OnCommitNavigation(
@@ -3954,7 +3954,6 @@ void RenderFrameImpl::OnCommitNavigation(
WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation(
RenderFrame* render_frame,
const NavigationPolicyInfo& info) {
@ -50,7 +50,7 @@ index 473b185..2d082b5 100644
// The handlenavigation API is deprecated and will be removed once
// crbug.com/325351 is resolved.
if (info.urlRequest.url() != GURL(kSwappedOutURL) &&
@@ -3813,7 +3812,6 @@ WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation(
@@ -3969,7 +3968,6 @@ WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation(
info.isRedirect)) {
return blink::WebNavigationPolicyIgnore;
}

View File

@ -1,8 +1,8 @@
diff --git gyp/generator/ninja.py gyp/generator/ninja.py
index 5cda5c3..bad5ca3 100644
index 5407795..580aa54 100644
--- gyp/generator/ninja.py
+++ gyp/generator/ninja.py
@@ -743,7 +743,16 @@ class NinjaWriter(object):
@@ -747,7 +747,16 @@ class NinjaWriter(object):
for path in copy['files']:
# Normalize the path so trailing slashes don't confuse us.
path = os.path.normpath(path)

View File

@ -1,8 +1,8 @@
diff --git message_loop.cc message_loop.cc
index 8180733..927f755 100644
index 24db543..d57673d 100644
--- message_loop.cc
+++ message_loop.cc
@@ -148,7 +148,6 @@ MessageLoop::MessageLoop(scoped_ptr<MessagePump> pump)
@@ -159,7 +159,6 @@ MessageLoop::MessageLoop(scoped_ptr<MessagePump> pump)
MessageLoop::~MessageLoop() {
DCHECK_EQ(this, current());

View File

@ -1,8 +1,8 @@
diff --git public/common/common_param_traits_macros.h public/common/common_param_traits_macros.h
index a064d53..8abea71 100644
index 4f59c26..69a7b34 100644
--- public/common/common_param_traits_macros.h
+++ public/common/common_param_traits_macros.h
@@ -188,6 +188,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
@@ -190,6 +190,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
IPC_STRUCT_TRAITS_MEMBER(main_frame_resizes_are_orientation_changes)
IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale)
IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled)
@ -11,10 +11,10 @@ index a064d53..8abea71 100644
IPC_STRUCT_TRAITS_MEMBER(navigate_on_drag_drop)
IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled)
diff --git public/common/web_preferences.cc public/common/web_preferences.cc
index a5574d3..8e9e391 100644
index 5563c00..4c24e35 100644
--- public/common/web_preferences.cc
+++ public/common/web_preferences.cc
@@ -179,6 +179,7 @@ WebPreferences::WebPreferences()
@@ -190,6 +190,7 @@ WebPreferences::WebPreferences()
rubber_banding_on_compositor_thread(false),
use_solid_color_scrollbars(false),
navigate_on_drag_drop(true),
@ -23,10 +23,10 @@ index a5574d3..8e9e391 100644
v8_script_streaming_enabled(false),
v8_script_streaming_mode(V8_SCRIPT_STREAMING_MODE_ALL),
diff --git public/common/web_preferences.h public/common/web_preferences.h
index 78559f2..028a94e 100644
index ab43cd9..a5b3022 100644
--- public/common/web_preferences.h
+++ public/common/web_preferences.h
@@ -169,6 +169,7 @@ struct CONTENT_EXPORT WebPreferences {
@@ -179,6 +179,7 @@ struct CONTENT_EXPORT WebPreferences {
bool rubber_banding_on_compositor_thread;
bool use_solid_color_scrollbars;
bool navigate_on_drag_drop;
@ -35,10 +35,10 @@ index 78559f2..028a94e 100644
bool v8_script_streaming_enabled;
V8ScriptStreamingMode v8_script_streaming_mode;
diff --git renderer/render_view_impl.cc renderer/render_view_impl.cc
index 623cb14..5d21fc5 100644
index 3be3eb3..23f9891 100644
--- renderer/render_view_impl.cc
+++ renderer/render_view_impl.cc
@@ -958,6 +958,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
@@ -956,6 +956,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
settings->setJavaEnabled(prefs.java_enabled);

View File

@ -1,5 +1,5 @@
diff --git content_browser_client.cc content_browser_client.cc
index 91c8a4d..10c3b28 100644
index 8f3d06c..e67e698 100644
--- content_browser_client.cc
+++ content_browser_client.cc
@@ -278,6 +278,10 @@ bool ContentBrowserClient::IsFastShutdownPossible() {
@ -14,7 +14,7 @@ index 91c8a4d..10c3b28 100644
return base::FilePath();
}
diff --git content_browser_client.h content_browser_client.h
index 627353d..e1805f4 100644
index d2ae7a0..a5b36d5 100644
--- content_browser_client.h
+++ content_browser_client.h
@@ -28,6 +28,7 @@
@ -22,10 +22,10 @@ index 627353d..e1805f4 100644
#include "net/url_request/url_request_job_factory.h"
#include "storage/browser/fileapi/file_system_context.h"
+#include "third_party/skia/include/core/SkColor.h"
#include "third_party/WebKit/public/platform/WebPageVisibilityState.h"
#include "ui/base/window_open_disposition.h"
#if defined(OS_POSIX) && !defined(OS_MACOSX)
@@ -499,6 +500,9 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -509,6 +510,9 @@ class CONTENT_EXPORT ContentBrowserClient {
// Clears browser cookies.
virtual void ClearCookies(RenderViewHost* rvh) {}
@ -36,33 +36,33 @@ index 627353d..e1805f4 100644
// This can be called on any thread.
virtual base::FilePath GetDefaultDownloadDirectory();
diff --git web_contents.cc web_contents.cc
index 7afc338..c014439 100644
index 6768411..1dd382b 100644
--- web_contents.cc
+++ web_contents.cc
@@ -17,7 +17,9 @@ WebContents::CreateParams::CreateParams(BrowserContext* context)
main_frame_routing_id(MSG_ROUTING_NONE),
initially_hidden(false),
guest_delegate(NULL),
- context(NULL) {}
+ context(NULL),
+ view(NULL),
+ delegate_view(NULL) {}
guest_delegate(nullptr),
- context(nullptr) {}
+ context(nullptr),
+ view(nullptr),
+ delegate_view(nullptr) {}
WebContents::CreateParams::CreateParams(
BrowserContext* context, SiteInstance* site)
@@ -29,7 +31,9 @@ WebContents::CreateParams::CreateParams(
main_frame_routing_id(MSG_ROUTING_NONE),
initially_hidden(false),
guest_delegate(NULL),
- context(NULL) {}
+ context(NULL),
+ view(NULL),
+ delegate_view(NULL) {}
guest_delegate(nullptr),
- context(nullptr) {}
+ context(nullptr),
+ view(nullptr),
+ delegate_view(nullptr) {}
WebContents::CreateParams::~CreateParams() {
}
diff --git web_contents.h web_contents.h
index 87becd6..b66d3fb 100644
index 879e8d8..0287912 100644
--- web_contents.h
+++ web_contents.h
@@ -52,9 +52,11 @@ class PageState;
@ -79,7 +79,7 @@ index 87becd6..b66d3fb 100644
struct Manifest;
@@ -122,6 +124,10 @@ class WebContents : public PageNavigator,
// Used to specify the location context which display the new view should
// belong. This can be NULL if not needed.
// belong. This can be nullptr if not needed.
gfx::NativeView context;
+
+ // Optionally specify the view and delegate view.
@ -89,7 +89,7 @@ index 87becd6..b66d3fb 100644
// Creates a new WebContents.
diff --git web_contents_delegate.cc web_contents_delegate.cc
index e846041..da3c9e6 100644
index 461927c..2217377 100644
--- web_contents_delegate.cc
+++ web_contents_delegate.cc
@@ -137,7 +137,9 @@ bool WebContentsDelegate::ShouldCreateWebContents(
@ -104,7 +104,7 @@ index e846041..da3c9e6 100644
}
diff --git web_contents_delegate.h web_contents_delegate.h
index 344fbaf..adaa39d 100644
index 13d1c1d..ddf88d8 100644
--- web_contents_delegate.h
+++ web_contents_delegate.h
@@ -36,9 +36,11 @@ class DownloadItem;

View File

@ -1,8 +1,8 @@
diff --git render_process_host_impl.cc render_process_host_impl.cc
index 656e995..aa3e239 100644
index 37d745e..5723bdc 100644
--- render_process_host_impl.cc
+++ render_process_host_impl.cc
@@ -2047,6 +2047,8 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead) {
@@ -2065,6 +2065,8 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead,
#endif
RemoveUserData(kSessionStorageHolderKey);
@ -11,7 +11,7 @@ index 656e995..aa3e239 100644
IDMap<IPC::Listener>::iterator iter(&listeners_);
while (!iter.IsAtEnd()) {
iter.GetCurrentValue()->OnMessageReceived(
@@ -2056,8 +2058,6 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead) {
@@ -2074,8 +2076,6 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead,
iter.Advance();
}

View File

@ -1,8 +1,8 @@
diff --git core/frame/FrameView.cpp core/frame/FrameView.cpp
index 61cf629..f734ee9 100644
index 8719a5c..555d59d 100644
--- core/frame/FrameView.cpp
+++ core/frame/FrameView.cpp
@@ -144,8 +144,10 @@ FrameView::FrameView(LocalFrame* frame)
@@ -146,8 +146,10 @@ FrameView::FrameView(LocalFrame* frame)
if (!m_frame->isMainFrame())
return;

View File

@ -0,0 +1,30 @@
diff --git web_dialog_view.cc web_dialog_view.cc
index 0bffda9..c584bc9 100644
--- web_dialog_view.cc
+++ web_dialog_view.cc
@@ -339,7 +339,9 @@ bool WebDialogView::ShouldCreateWebContents(
const base::string16& frame_name,
const GURL& target_url,
const std::string& partition_id,
- content::SessionStorageNamespace* session_storage_namespace) {
+ content::SessionStorageNamespace* session_storage_namespace,
+ content::WebContentsView** view,
+ content::RenderViewHostDelegateView** delegate_view) {
if (delegate_)
return delegate_->HandleShouldCreateWebContents();
return true;
diff --git web_dialog_view.h web_dialog_view.h
index ce69cfc..a890771 100644
--- web_dialog_view.h
+++ web_dialog_view.h
@@ -119,7 +119,9 @@ class WEBVIEW_EXPORT WebDialogView : public views::ClientView,
const base::string16& frame_name,
const GURL& target_url,
const std::string& partition_id,
- content::SessionStorageNamespace* session_storage_namespace) override;
+ content::SessionStorageNamespace* session_storage_namespace,
+ content::WebContentsView** view,
+ content::RenderViewHostDelegateView** delegate_view) override;
private:
FRIEND_TEST_ALL_PREFIXES(WebDialogBrowserTest, WebContentRendered);

View File

@ -12,7 +12,7 @@ index a8e088c..838b6a0 100644
return host ? host->GetAcceleratedWidget() : NULL;
}
diff --git desktop_aura/desktop_window_tree_host_win.cc desktop_aura/desktop_window_tree_host_win.cc
index 1e8d67d..34b535a 100644
index b54a643..5a589e5 100644
--- desktop_aura/desktop_window_tree_host_win.cc
+++ desktop_aura/desktop_window_tree_host_win.cc
@@ -133,7 +133,9 @@ void DesktopWindowTreeHostWin::Init(aura::Window* content_window,
@ -43,10 +43,10 @@ index 1e8d67d..34b535a 100644
if (input_method)
input_method->OnBlur();
diff --git desktop_aura/desktop_window_tree_host_x11.cc desktop_aura/desktop_window_tree_host_x11.cc
index 54d67ad..13e5163 100644
index 80008cf..46ea712 100644
--- desktop_aura/desktop_window_tree_host_x11.cc
+++ desktop_aura/desktop_window_tree_host_x11.cc
@@ -152,7 +152,8 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
@@ -153,7 +153,8 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
window_shape_(NULL),
custom_window_shape_(false),
urgency_hint_set_(false),
@ -118,7 +118,7 @@ index 54d67ad..13e5163 100644
bounds_.x(), bounds_.y(),
bounds_.width(), bounds_.height(),
0, // border width
@@ -1698,6 +1712,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
@@ -1699,6 +1713,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
}
break;
}
@ -163,7 +163,7 @@ index d6b5cc8..bf20d4c 100644
};
diff --git widget.cc widget.cc
index a24f781..52a1755 100644
index 76dc14a..8c40f67 100644
--- widget.cc
+++ widget.cc
@@ -109,6 +109,7 @@ Widget::InitParams::InitParams()
@ -206,7 +206,7 @@ index a24f781..52a1755 100644
// This must come after SetContentsView() or it might not be able to find
// the correct NativeTheme (on Linux). See http://crbug.com/384492
diff --git widget.h widget.h
index e0f6180..25f557f 100644
index 06bd491..ed3893e 100644
--- widget.h
+++ widget.h
@@ -235,6 +235,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,

View File

@ -1,8 +1,8 @@
diff --git Source/web/ChromeClientImpl.cpp Source/web/ChromeClientImpl.cpp
index 781c45a..0fda8bf 100644
index 0f36f75..b6dd8de 100644
--- Source/web/ChromeClientImpl.cpp
+++ Source/web/ChromeClientImpl.cpp
@@ -741,7 +741,7 @@ bool ChromeClientImpl::hasOpenedPopup() const
@@ -740,7 +740,7 @@ bool ChromeClientImpl::hasOpenedPopup() const
PassRefPtrWillBeRawPtr<PopupMenu> ChromeClientImpl::createPopupMenu(LocalFrame& frame, PopupMenuClient* client)
{
@ -12,10 +12,10 @@ index 781c45a..0fda8bf 100644
return adoptRefWillBeNoop(new PopupMenuChromium(frame, client));
diff --git Source/web/WebViewImpl.cpp Source/web/WebViewImpl.cpp
index 8ee7335..4e2384d 100644
index 06e1c3e..95b7405 100644
--- Source/web/WebViewImpl.cpp
+++ Source/web/WebViewImpl.cpp
@@ -379,6 +379,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
@@ -380,6 +380,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
, m_fakePageScaleAnimationPageScaleFactor(0)
, m_fakePageScaleAnimationUseAnchor(false)
, m_contextMenuAllowed(false)
@ -23,8 +23,8 @@ index 8ee7335..4e2384d 100644
, m_doingDragAndDrop(false)
, m_ignoreInputEvents(false)
, m_compositorDeviceScaleFactorOverride(0)
@@ -3974,9 +3975,14 @@ void WebViewImpl::deviceOrPageScaleFactorChanged()
m_page->inspectorController().deviceOrPageScaleFactorChanged();
@@ -4059,9 +4060,14 @@ void WebViewImpl::pageScaleFactorChanged()
m_page->inspectorController().pageScaleFactorChanged();
}
+void WebViewImpl::setUseExternalPopupMenusThisInstance(bool useExternalPopupMenus)
@ -40,10 +40,10 @@ index 8ee7335..4e2384d 100644
void WebViewImpl::startDragging(LocalFrame* frame,
diff --git Source/web/WebViewImpl.h Source/web/WebViewImpl.h
index 5264cf5..f49be43 100644
index 7474465..580783f 100644
--- Source/web/WebViewImpl.h
+++ Source/web/WebViewImpl.h
@@ -370,7 +370,8 @@ public:
@@ -383,7 +383,8 @@ public:
// Returns true if popup menus should be rendered by the browser, false if
// they should be rendered by WebKit (which is the default).
@ -53,7 +53,7 @@ index 5264cf5..f49be43 100644
bool contextMenuAllowed() const
{
@@ -662,6 +663,8 @@ private:
@@ -676,6 +677,8 @@ private:
bool m_contextMenuAllowed;
@ -63,10 +63,10 @@ index 5264cf5..f49be43 100644
bool m_ignoreInputEvents;
diff --git public/web/WebView.h public/web/WebView.h
index dd5fa13..84a1e5e 100644
index 1273aaa..b5d388e 100644
--- public/web/WebView.h
+++ public/web/WebView.h
@@ -405,6 +405,7 @@ public:
@@ -407,6 +407,7 @@ public:
// Sets whether select popup menus should be rendered by the browser.
BLINK_EXPORT static void setUseExternalPopupMenus(bool);