Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(329)

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 146873002: Handle Left out paths on Android/Aura for Async ReadBack. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code changed as per review comments. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/render_widget_host_view_aura.h" 5 #include "content/browser/renderer_host/render_widget_host_view_aura.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
(...skipping 1839 matching lines...) Expand 10 before | Expand all | Expand 10 after
1850 } 1850 }
1851 1851
1852 if (result->HasTexture()) { 1852 if (result->HasTexture()) {
1853 PrepareTextureCopyOutputResult(dst_size_in_pixel, config, 1853 PrepareTextureCopyOutputResult(dst_size_in_pixel, config,
1854 callback, 1854 callback,
1855 result.Pass()); 1855 result.Pass());
1856 return; 1856 return;
1857 } 1857 }
1858 1858
1859 DCHECK(result->HasBitmap()); 1859 DCHECK(result->HasBitmap());
1860 PrepareBitmapCopyOutputResult(dst_size_in_pixel, callback, result.Pass()); 1860 PrepareBitmapCopyOutputResult(dst_size_in_pixel, config, callback,
1861 result.Pass());
1861 } 1862 }
1862 1863
1863 static void CopyFromCompositingSurfaceFinished( 1864 static void CopyFromCompositingSurfaceFinished(
1864 const base::Callback<void(bool, const SkBitmap&)>& callback, 1865 const base::Callback<void(bool, const SkBitmap&)>& callback,
1865 scoped_ptr<cc::SingleReleaseCallback> release_callback, 1866 scoped_ptr<cc::SingleReleaseCallback> release_callback,
1866 scoped_ptr<SkBitmap> bitmap, 1867 scoped_ptr<SkBitmap> bitmap,
1867 scoped_ptr<SkAutoLockPixels> bitmap_pixels_lock, 1868 scoped_ptr<SkAutoLockPixels> bitmap_pixels_lock,
1868 bool result) { 1869 bool result) {
1869 bitmap_pixels_lock.reset(); 1870 bitmap_pixels_lock.reset();
1870 release_callback->Run(0, false); 1871 release_callback->Run(0, false);
1871 callback.Run(result, *bitmap); 1872 callback.Run(result, *bitmap);
1872 } 1873 }
1873 1874
1874 // static 1875 // static
1875 void RenderWidgetHostViewAura::PrepareTextureCopyOutputResult( 1876 void RenderWidgetHostViewAura::PrepareTextureCopyOutputResult(
1876 const gfx::Size& dst_size_in_pixel, 1877 const gfx::Size& dst_size_in_pixel,
1877 const SkBitmap::Config config, 1878 const SkBitmap::Config config,
1878 const base::Callback<void(bool, const SkBitmap&)>& callback, 1879 const base::Callback<void(bool, const SkBitmap&)>& callback,
1879 scoped_ptr<cc::CopyOutputResult> result) { 1880 scoped_ptr<cc::CopyOutputResult> result) {
1880 base::ScopedClosureRunner scoped_callback_runner( 1881 base::ScopedClosureRunner scoped_callback_runner(
1881 base::Bind(callback, false, SkBitmap())); 1882 base::Bind(callback, false, SkBitmap()));
1882 1883
1883 DCHECK(result->HasTexture()); 1884 DCHECK(result->HasTexture());
1884 if (!result->HasTexture()) 1885 if (!result->HasTexture())
1885 return; 1886 return;
1886 1887
1887 scoped_ptr<SkBitmap> bitmap(new SkBitmap); 1888 scoped_ptr<SkBitmap> bitmap(new SkBitmap);
1888 bitmap->setConfig(SkBitmap::kARGB_8888_Config, 1889 bitmap->setConfig(config,
1889 dst_size_in_pixel.width(), dst_size_in_pixel.height(), 1890 dst_size_in_pixel.width(), dst_size_in_pixel.height(),
1890 0, kOpaque_SkAlphaType); 1891 0, kOpaque_SkAlphaType);
1891 if (!bitmap->allocPixels()) 1892 if (!bitmap->allocPixels())
1892 return; 1893 return;
1893 1894
1894 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); 1895 ImageTransportFactory* factory = ImageTransportFactory::GetInstance();
1895 GLHelper* gl_helper = factory->GetGLHelper(); 1896 GLHelper* gl_helper = factory->GetGLHelper();
1896 if (!gl_helper) 1897 if (!gl_helper)
1897 return; 1898 return;
1898 1899
(...skipping 21 matching lines...) Expand all
1920 base::Bind(&CopyFromCompositingSurfaceFinished, 1921 base::Bind(&CopyFromCompositingSurfaceFinished,
1921 callback, 1922 callback,
1922 base::Passed(&release_callback), 1923 base::Passed(&release_callback),
1923 base::Passed(&bitmap), 1924 base::Passed(&bitmap),
1924 base::Passed(&bitmap_pixels_lock))); 1925 base::Passed(&bitmap_pixels_lock)));
1925 } 1926 }
1926 1927
1927 // static 1928 // static
1928 void RenderWidgetHostViewAura::PrepareBitmapCopyOutputResult( 1929 void RenderWidgetHostViewAura::PrepareBitmapCopyOutputResult(
1929 const gfx::Size& dst_size_in_pixel, 1930 const gfx::Size& dst_size_in_pixel,
1931 const SkBitmap::Config config,
1930 const base::Callback<void(bool, const SkBitmap&)>& callback, 1932 const base::Callback<void(bool, const SkBitmap&)>& callback,
1931 scoped_ptr<cc::CopyOutputResult> result) { 1933 scoped_ptr<cc::CopyOutputResult> result) {
1934 if (config != SkBitmap::kARGB_8888_Config) {
1935 NOTIMPLEMENTED();
1936 callback.Run(false, SkBitmap());
no sievers 2014/01/27 18:41:49 same here
sivag 2014/01/28 13:17:01 Done.
1937 }
1932 DCHECK(result->HasBitmap()); 1938 DCHECK(result->HasBitmap());
1933
1934 base::ScopedClosureRunner scoped_callback_runner( 1939 base::ScopedClosureRunner scoped_callback_runner(
1935 base::Bind(callback, false, SkBitmap())); 1940 base::Bind(callback, false, SkBitmap()));
1936 if (!result->HasBitmap()) 1941 if (!result->HasBitmap())
1937 return; 1942 return;
1938 1943
1939 scoped_ptr<SkBitmap> source = result->TakeBitmap(); 1944 scoped_ptr<SkBitmap> source = result->TakeBitmap();
1940 DCHECK(source); 1945 DCHECK(source);
1941 if (!source) 1946 if (!source)
1942 return; 1947 return;
1943 1948
(...skipping 1622 matching lines...) Expand 10 before | Expand all | Expand 10 after
3566 RenderWidgetHost* widget) { 3571 RenderWidgetHost* widget) {
3567 return new RenderWidgetHostViewAura(widget); 3572 return new RenderWidgetHostViewAura(widget);
3568 } 3573 }
3569 3574
3570 // static 3575 // static
3571 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) { 3576 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) {
3572 GetScreenInfoForWindow(results, NULL); 3577 GetScreenInfoForWindow(results, NULL);
3573 } 3578 }
3574 3579
3575 } // namespace content 3580 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698