diff options
author | Ben Murdoch <benm@google.com> | 2014-04-10 11:22:14 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2014-04-10 11:22:14 +0100 |
commit | c5cede9ae108bb15f6b7a8aea21c7e1fefa2834c (patch) | |
tree | e9edd581ad60ab80aa5ab423a2a80df652a75792 /android_webview/browser | |
parent | 54cd42278ccf1d52996034848086a09b23065a40 (diff) | |
download | chromium_org-c5cede9ae108bb15f6b7a8aea21c7e1fefa2834c.tar.gz |
Merge from Chromium at DEPS revision 262940
This commit was generated by merge_to_master.py.
Change-Id: I9a3fddbb29857fa8f68a18c6a0115862b65f84d1
Diffstat (limited to 'android_webview/browser')
9 files changed, 36 insertions, 14 deletions
diff --git a/android_webview/browser/aw_quota_permission_context.cc b/android_webview/browser/aw_quota_permission_context.cc index 544edbc732..508cad9c95 100644 --- a/android_webview/browser/aw_quota_permission_context.cc +++ b/android_webview/browser/aw_quota_permission_context.cc @@ -17,11 +17,8 @@ AwQuotaPermissionContext::~AwQuotaPermissionContext() { } void AwQuotaPermissionContext::RequestQuotaPermission( - const GURL& origin_url, - quota::StorageType type, - int64 new_quota, + const content::StorageQuotaParams& params, int render_process_id, - int render_view_id, const PermissionCallback& callback) { // Android WebView only uses quota::kStorageTypeTemporary type of storage // with quota managed automatically, not through this interface. Therefore diff --git a/android_webview/browser/aw_quota_permission_context.h b/android_webview/browser/aw_quota_permission_context.h index f69c331fbb..8d90aa5596 100644 --- a/android_webview/browser/aw_quota_permission_context.h +++ b/android_webview/browser/aw_quota_permission_context.h @@ -15,11 +15,8 @@ class AwQuotaPermissionContext : public content::QuotaPermissionContext { AwQuotaPermissionContext(); virtual void RequestQuotaPermission( - const GURL& origin_url, - quota::StorageType type, - int64 new_quota, + const content::StorageQuotaParams& params, int render_process_id, - int render_view_id, const PermissionCallback& callback) OVERRIDE; private: diff --git a/android_webview/browser/browser_view_renderer.cc b/android_webview/browser/browser_view_renderer.cc index c3d9ecb188..937ed13259 100644 --- a/android_webview/browser/browser_view_renderer.cc +++ b/android_webview/browser/browser_view_renderer.cc @@ -99,6 +99,8 @@ bool BrowserViewRenderer::OnDraw(jobject java_canvas, draw_gl_input_.frame_id++; draw_gl_input_.scroll_offset = scroll; draw_gl_input_.global_visible_rect = global_visible_rect; + draw_gl_input_.width = width_; + draw_gl_input_.height = height_; if (clear_view_) return false; if (is_hardware_canvas && attached_to_window_) { diff --git a/android_webview/browser/hardware_renderer.cc b/android_webview/browser/hardware_renderer.cc index 8042d9d4ff..a45da7ff72 100644 --- a/android_webview/browser/hardware_renderer.cc +++ b/android_webview/browser/hardware_renderer.cc @@ -14,6 +14,9 @@ #include "base/strings/string_number_conversions.h" #include "content/public/browser/browser_thread.h" #include "content/public/common/content_switches.h" +#include "gpu/command_buffer/service/shader_translator_cache.h" +#include "ui/gfx/geometry/rect_conversions.h" +#include "ui/gfx/geometry/rect_f.h" #include "ui/gfx/transform.h" using content::BrowserThread; @@ -113,11 +116,18 @@ bool HardwareRenderer::DrawGL(AwDrawGLInfo* draw_info, DrawGLResult* result) { draw_info->clip_right - draw_info->clip_left, draw_info->clip_bottom - draw_info->clip_top); + gfx::Rect viewport(draw_info->width, draw_info->height); + if (!draw_info->is_layer) { + gfx::RectF view_rect(input.width, input.height); + transform.TransformRect(&view_rect); + viewport.Intersect(gfx::ToEnclosingRect(view_rect)); + } + bool did_draw = shared_renderer_state_->GetCompositor()-> DemandDrawHw( gfx::Size(draw_info->width, draw_info->height), transform, - clip_rect, // viewport + viewport, clip_rect, state_restore.stencil_enabled()); gl_surface_->ResetBackingFrameBufferObject(); @@ -252,6 +262,13 @@ void DeferredGpuCommandService::ScheduleIdleWork( bool DeferredGpuCommandService::UseVirtualizedGLContexts() { return true; } +scoped_refptr<gpu::gles2::ShaderTranslatorCache> +DeferredGpuCommandService::shader_translator_cache() { + if (!shader_translator_cache_.get()) + shader_translator_cache_ = new gpu::gles2::ShaderTranslatorCache; + return shader_translator_cache_; +} + void DeferredGpuCommandService::RunTasks() { bool has_more_tasks; { diff --git a/android_webview/browser/hardware_renderer.h b/android_webview/browser/hardware_renderer.h index 13800e42e5..4f226d2890 100644 --- a/android_webview/browser/hardware_renderer.h +++ b/android_webview/browser/hardware_renderer.h @@ -76,6 +76,8 @@ class DeferredGpuCommandService virtual void ScheduleTask(const base::Closure& task) OVERRIDE; virtual void ScheduleIdleWork(const base::Closure& task) OVERRIDE; virtual bool UseVirtualizedGLContexts() OVERRIDE; + virtual scoped_refptr<gpu::gles2::ShaderTranslatorCache> + shader_translator_cache() OVERRIDE; void RunTasks(); @@ -91,6 +93,8 @@ class DeferredGpuCommandService base::Lock tasks_lock_; std::queue<base::Closure> tasks_; + + scoped_refptr<gpu::gles2::ShaderTranslatorCache> shader_translator_cache_; DISALLOW_COPY_AND_ASSIGN(DeferredGpuCommandService); }; diff --git a/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc b/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc index 00b6e6032f..05eb520945 100644 --- a/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc +++ b/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc @@ -298,9 +298,11 @@ content::ResourceDispatcherHostLoginDelegate* return new AwLoginDelegate(auth_info, request); } -bool AwResourceDispatcherHostDelegate::HandleExternalProtocol(const GURL& url, - int child_id, - int route_id) { +bool AwResourceDispatcherHostDelegate::HandleExternalProtocol( + const GURL& url, + int child_id, + int route_id, + bool initiated_by_user_gesture) { // The AwURLRequestJobFactory implementation should ensure this method never // gets called. NOTREACHED(); diff --git a/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.h b/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.h index e584c40988..8702b0910f 100644 --- a/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.h +++ b/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.h @@ -51,7 +51,8 @@ class AwResourceDispatcherHostDelegate net::URLRequest* request) OVERRIDE; virtual bool HandleExternalProtocol(const GURL& url, int child_id, - int route_id) OVERRIDE; + int route_id, + bool initiated_by_user_gesture) OVERRIDE; virtual void OnResponseStarted( net::URLRequest* request, content::ResourceContext* resource_context, diff --git a/android_webview/browser/shared_renderer_state.cc b/android_webview/browser/shared_renderer_state.cc index ba198a3119..fb17afbbcd 100644 --- a/android_webview/browser/shared_renderer_state.cc +++ b/android_webview/browser/shared_renderer_state.cc @@ -10,7 +10,7 @@ namespace android_webview { -DrawGLInput::DrawGLInput() : frame_id(0) {} +DrawGLInput::DrawGLInput() : frame_id(0), width(0), height(0) {} DrawGLResult::DrawGLResult() : frame_id(0), clip_contains_visible_rect(false) {} diff --git a/android_webview/browser/shared_renderer_state.h b/android_webview/browser/shared_renderer_state.h index c85552d65c..a7ec60ca55 100644 --- a/android_webview/browser/shared_renderer_state.h +++ b/android_webview/browser/shared_renderer_state.h @@ -19,6 +19,8 @@ struct DrawGLInput { unsigned int frame_id; gfx::Rect global_visible_rect; gfx::Vector2d scroll_offset; + int width; + int height; DrawGLInput(); }; |