summaryrefslogtreecommitdiff
path: root/android_webview/browser
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2014-04-10 11:22:14 +0100
committerBen Murdoch <benm@google.com>2014-04-10 11:22:14 +0100
commitc5cede9ae108bb15f6b7a8aea21c7e1fefa2834c (patch)
treee9edd581ad60ab80aa5ab423a2a80df652a75792 /android_webview/browser
parent54cd42278ccf1d52996034848086a09b23065a40 (diff)
downloadchromium_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')
-rw-r--r--android_webview/browser/aw_quota_permission_context.cc5
-rw-r--r--android_webview/browser/aw_quota_permission_context.h5
-rw-r--r--android_webview/browser/browser_view_renderer.cc2
-rw-r--r--android_webview/browser/hardware_renderer.cc19
-rw-r--r--android_webview/browser/hardware_renderer.h4
-rw-r--r--android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc8
-rw-r--r--android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.h3
-rw-r--r--android_webview/browser/shared_renderer_state.cc2
-rw-r--r--android_webview/browser/shared_renderer_state.h2
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();
};