summaryrefslogtreecommitdiffstats
path: root/android_webview/browser
Commit message (Collapse)AuthorAgeFilesLines
* [Android WebView] Early out DrawGL if not attached to windowboliu@chromium.org2013-09-201-6/+15
| | | | | | | | | | | | | | | | | We release GL when we are detached from window, so calling DrawGL while detached is causing crash. Also take this opportunity move GL initialization to Draw mode and not invoke mode. Internal bug b/10839187 BUG= NOTRY=true Review URL: https://chromiumcodereview.appspot.com/24200004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224307 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Do not actively clear array buffer bindingsboliu@chromium.org2013-09-201-12/+2
| | | | | | | | | | | We are no longer drawing outside of DrawGL, so removing the clearing array buffer bindings to be more "compatible". BUG= Review URL: https://chromiumcodereview.appspot.com/23225006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224293 0039d316-1c4b-4281-b951-d872f2087c98
* Use contents size for android_webview layout size.mkosiba@chromium.org2013-09-182-0/+10
| | | | | | | | | | | | | | | | Currently android_webview uses RenderView::preferredSize (which is based off of documentElement.height) to drive the android.view.View layout size. WebViewClassic would use content size for that purpose which meant that absolute-positioned elements can cause the Classic WebView to grow. This CL makes AwContents use the contents size for driving layout. BUG=286336 Review URL: https://chromiumcodereview.appspot.com/23899004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223984 0039d316-1c4b-4281-b951-d872f2087c98
* Use new WebView zoom API.mkosiba@chromium.org2013-09-182-4/+4
| | | | | | | | | | | This is a followup to http://crrev.com/23147003 which updates the callsites to use the newly exposed zoom APIs. BUG=275749 Review URL: https://chromiumcodereview.appspot.com/23152004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223807 0039d316-1c4b-4281-b951-d872f2087c98
* This CL:pkotwicz@chromium.org2013-09-182-6/+16
| | | | | | | | | | | | | | | - Passes in ImageHostMsg_DidDownloadImage the original sizes of the bitmaps before they were resized as a result of the max size passed by ImageMsg_DownloadImage. This enables FaviconHandler to properly score the "goodness" of a bitmap. - Removes the unused "preferred size" parameters from the ImageMsg_DownloadImage and ImageHostMsg_DidDownloadImage messages - Adds a method in the anonymous namespace of FaviconUtil so that FaviconUtil::SelectFaviconFramesFromPNGs() does not use SelectFaviconFrames(). The old behavior is confusing because the call to SelectFaviconFrames() in FaviconUtil::SelectFaviconFramesFromPNGs() was operating on already resized bitmaps BUG=278457 TEST=FaviconHandlerTest.MultipleFavicons R=joth,cevans,jam,sky TBR=benwells (For trivial change to shell_window.*) Review URL: https://chromiumcodereview.appspot.com/23708024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223748 0039d316-1c4b-4281-b951-d872f2087c98
* Use webview classic cookies file to create the chromium basedsgurun@chromium.org2013-09-161-3/+42
| | | | | | | | | | | | | | | | | | webview's cookies file, for the first instance of the app, so cookies are not lost. BUG=b/9962984 TBRing safebrowsing_service and profile_impl_io_data changes since these are mechanical in nature. TBR=mattm@chromium.org,mmenke@chromiumorg adding no try since we have comments that are longer than 80 chars, and since this is allowed under style guidance. NOTRY=true Review URL: https://chromiumcodereview.appspot.com/23964011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223400 0039d316-1c4b-4281-b951-d872f2087c98
* [android_webview] Fixes for wrap_content layouts.mkosiba@chromium.org2013-09-162-0/+8
| | | | | | | | | | | | This changes AwContents to work correctly when in a WRAP_CONTENT layout mode. TBR=danakj@chromium.org BUG=246621 Review URL: https://chromiumcodereview.appspot.com/23478022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223386 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Remove some obsolete TODOsboliu@chromium.org2013-09-151-7/+0
| | | | | | | | | | | | | | | | | | There is no need to worry about not visible since process mode still works. There is no need to worry about processing calling invoke on the next ViewRenderer because OnDetachFromWindow also processes pending GL commands by necessity. Losing global context will be handled in src/content since that's where the global offscreen contexts live. BUG= Review URL: https://chromiumcodereview.appspot.com/23943006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223287 0039d316-1c4b-4281-b951-d872f2087c98
* content: Move kHttpScheme constant into content namespace.tfarina@chromium.org2013-09-151-1/+1
| | | | | | | | | | BUG=None TEST=None, no functional change. TBR=jam@chromium.org Review URL: https://chromiumcodereview.appspot.com/23658056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223272 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Do not interfere with requests after destroyboliu@chromium.org2013-09-142-10/+18
| | | | | | | | | | | | | | | | | | | | Currently, android webview defers network requests made after destroy indefinitely since we do not distinguish this case from the new pop up AwContents case. In both cases, io_client is null. This CL changes the pop up case to return to io_client that is not associated with a Java counter part so these two cases can be distinguished and handled appropriately. In after destroy case, do not add any throttles or interfere with the request in any way. BUG=290563, 290564 Review URL: https://chromiumcodereview.appspot.com/23890017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223229 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Plumb user_gesture up from Blink to the JavaScript dialog code..."avi@chromium.org2013-09-122-2/+0
| | | | | | | | | | | | | This reverts commit r220258. This broke the case where a web page popped a JavaScript alert and then a popup. BUG=263192 TBR=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/23484038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222858 0039d316-1c4b-4281-b951-d872f2087c98
* Use the top-level URL for popup blocking.jochen@chromium.org2013-09-112-0/+2
| | | | | | | | | | BUG=289004 R=cdn@chromium.org,bauerb@chromium.org TEST=manually, as described in the bug Review URL: https://chromiumcodereview.appspot.com/23868017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222640 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] First cut memory managementboliu@chromium.org2013-09-102-0/+57
| | | | | | | | | | | | | | | Based on simple algorithm of visible rect x constant. Completely disregards the preferred allocation from based on content of the page. Constants extermined experimentally using current android nexus devices. BUG=286026 Review URL: https://chromiumcodereview.appspot.com/23572023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222372 0039d316-1c4b-4281-b951-d872f2087c98
* Disabling AwFormDatabaseServiceTest.HasAndClearFormData.henrika@chromium.org2013-09-091-1/+3
| | | | | | | | | BUG=287726 TBR=sgurun Review URL: https://codereview.chromium.org/23441053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222005 0039d316-1c4b-4281-b951-d872f2087c98
* Fix threading issues in aw form databasesgurun@chromium.org2013-09-073-42/+68
| | | | | | | | BUG=285584 Review URL: https://chromiumcodereview.appspot.com/23803005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221892 0039d316-1c4b-4281-b951-d872f2087c98
* Switch AwPixelInfo to wrap SkCanvasLayerStatejoth@chromium.org2013-09-061-69/+36
| | | | | | | | | | Using the new skia utility makes the canvas stack export much simpler BUG= Review URL: https://chromiumcodereview.appspot.com/23789003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221593 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 221409 "Fix threading issues in aw form database"pneubeck@chromium.org2013-09-053-63/+41
| | | | | | | | | | | | | | | | | Broke Android Tests: http://build.chromium.org/p/chromium.linux/buildstatus?builder=Android%20Tests%20%28dbg%29&number=14173 > Fix threading issues in aw form database > > BUG=285584 > > Review URL: https://chromiumcodereview.appspot.com/23803005 TBR=sgurun@chromium.org Review URL: https://codereview.chromium.org/23679005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221423 0039d316-1c4b-4281-b951-d872f2087c98
* Fix threading issues in aw form databasesgurun@chromium.org2013-09-053-41/+63
| | | | | | | | BUG=285584 Review URL: https://chromiumcodereview.appspot.com/23803005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221409 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Remove some log spamjoth@chromium.org2013-09-051-2/+1
| | | | | | | | | | | SpecialStoragePolicy is not required, so no need to log about it. NOTRY=true BUG=285570 Review URL: https://chromiumcodereview.appspot.com/23579008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221335 0039d316-1c4b-4281-b951-d872f2087c98
* Fix UpdateTilePriorities viewport in Android WebView.aelias@chromium.org2013-09-051-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the tile management viewport to be the on-screen-visible rect for the last hardware draw. There are two problems I needed to solve: 1) Suppress UpdateTilePriorities from happening when the last draw was a software draw, which is specified by the new "viewport_valid_for_tile_management" bool. 2) In some cases, the clip rect is smaller than the WebView's visible viewport -- for example when the Android Browser progress bar is forcing redraws, the clip is only a small area at the top of the screen. I switched to using the visible viewport for UpdateDrawProperties + glViewport, and introduce a separate "DeviceClip" to override glScissor. (It's necessary to make the change at this level, rather than directly plumbing the visible viewport to UpdateTilePriorities, because UpdateTilePriorities also makes use of outputs from the draw properties calculation.) I also cleaned up all uses of device_viewport_size() to call DrawViewportSize() instead, with the sole exception of UnscaledScrollableViewportSize() which should continue to use the main-thread device_viewport_size_ in all cases (because that's the viewport for scrolling, not drawing). New tests: PictureLayerImplTest.SuppressUpdateTilePriorities, ExternalStencilPixelTest.DeviceClip NOTRY=true BUG=232844 Review URL: https://chromiumcodereview.appspot.com/23171014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221321 0039d316-1c4b-4281-b951-d872f2087c98
* Remove ref-counting from StreamListenSocketszym@chromium.org2013-09-032-3/+3
| | | | | | | | | | Changes APIs for StreamListenSocket, TCPListenSocket, UnixDomainSocket and derived test classes to use scoped_ptr instead of scoped_refptr. BUG=263963 Review URL: https://chromiumcodereview.appspot.com/20142003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220992 0039d316-1c4b-4281-b951-d872f2087c98
* [andorid_webview] Don't 'jiggle' on overscrollmkosiba@chromium.org2013-09-032-8/+10
| | | | | | | | | | | | | | | The rounding error was accidentally scaled by physical_pixel_scale which meant that any rounding error left over from any previous overscroll would get incorrectly scaled up until it could be rounded to 1, which would then create a negative rounding error which again would get scaled up to -1. BUG=282486 R=bulach@chromium.org, joth@chromium.org Review URL: https://codereview.chromium.org/23583028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220925 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb user_gesture up from Blink to the JavaScript dialog code, and don't ↵avi@chromium.org2013-08-292-0/+2
| | | | | | | | | | | | | offer to suppress dialogs if they're initiated by a user gesture. BUG=263192 TEST=as in bug Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=220050 Review URL: https://chromiumcodereview.appspot.com/22909052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220258 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 220050 "Plumb user_gesture up from Blink to the JavaScrip..."wittman@chromium.org2013-08-282-2/+0
| | | | | | | | | | | | | | | > Plumb user_gesture up from Blink to the JavaScript dialog code, and don't offer to suppress dialogs if they're initiated by a user gesture. > > BUG=263192 > TEST=as in bug > > Review URL: https://chromiumcodereview.appspot.com/22909052 TBR=avi@chromium.org Review URL: https://codereview.chromium.org/23483008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220062 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb user_gesture up from Blink to the JavaScript dialog code, and don't ↵avi@chromium.org2013-08-282-0/+2
| | | | | | | | | | | offer to suppress dialogs if they're initiated by a user gesture. BUG=263192 TEST=as in bug Review URL: https://chromiumcodereview.appspot.com/22909052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220050 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Add an API to toggle the JS navigator.online propertybenm@chromium.org2013-08-272-0/+5
| | | | | | | | BUG=279929 Review URL: https://chromiumcodereview.appspot.com/22986033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219854 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 219709 "Remove the Extensions URLRequestContext."earthdok@chromium.org2013-08-274-31/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reverted due to crashes under memory tools. BUG=280138 > Remove the Extensions URLRequestContext. > > Though chrome-extension: scheme URLs support cookies, they do not share > a namespace with http: and https:. In particular, chrome-extension://a and > http://a should not have the same set of cookies. > > To enforce this, previously the code created a completely separate > URLRequestContext for servicing chrome-extension: schemes. However, > the code really only used this object as a method for conveying the > correct cookie jar from Profile creation to a few spots where cookies > were accessed; the rest of the URLRequestContext functionality was unused. > > This CL removes the Extensions URLRequestContext code and replaces it > with APIs that directly expose the needed net::CookieStore. > > Lastly, CookieMonster::EnableFileScheme() is removed and > CookieMonster::Delegate is renamed CookieMonsterDelegate. > > EnableFileScheme is an inherently racy API because > CookieMonsters are creatable on all threads and this > function sets an unprotected global flag. CookieMonsterDelegate > is preferable to the nested interface because it can now be > forward declared. > > TBRing darin and sky to cover the rest of the mechanical unittest changes. > > TBR=darin,sky > BUG=158386,159193,57884 > > Review URL: https://chromiumcodereview.appspot.com/12546016 TBR=ajwong@chromium.org Review URL: https://codereview.chromium.org/23551005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219787 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the Extensions URLRequestContext.ajwong@chromium.org2013-08-274-16/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Though chrome-extension: scheme URLs support cookies, they do not share a namespace with http: and https:. In particular, chrome-extension://a and http://a should not have the same set of cookies. To enforce this, previously the code created a completely separate URLRequestContext for servicing chrome-extension: schemes. However, the code really only used this object as a method for conveying the correct cookie jar from Profile creation to a few spots where cookies were accessed; the rest of the URLRequestContext functionality was unused. This CL removes the Extensions URLRequestContext code and replaces it with APIs that directly expose the needed net::CookieStore. Lastly, CookieMonster::EnableFileScheme() is removed and CookieMonster::Delegate is renamed CookieMonsterDelegate. EnableFileScheme is an inherently racy API because CookieMonsters are creatable on all threads and this function sets an unprotected global flag. CookieMonsterDelegate is preferable to the nested interface because it can now be forward declared. TBRing darin and sky to cover the rest of the mechanical unittest changes. TBR=darin,sky BUG=158386,159193,57884 Review URL: https://chromiumcodereview.appspot.com/12546016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219709 0039d316-1c4b-4281-b951-d872f2087c98
* Switch prefs to use ObserverList::might_have_observers instead of ↵caitkp@chromium.org2013-08-262-3/+3
| | | | | | | | | | | | | | | ObserverList::size. See issue for rationale behind this change. BUG=278526 TEST=no change TBR=benm@chromium.org (TBR'ing for prefs API change). Review URL: https://chromiumcodereview.appspot.com/22986034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219622 0039d316-1c4b-4281-b951-d872f2087c98
* Make Android Webview URLRequestContext follow content API expectations better.ajwong@chromium.org2013-08-265-141/+143
| | | | | | | | | | | | | After this CL, AwBrowserContext::CreateRequestContext will actually be responsible for creating the URLRequestContextGetter which makes it behave much closer to the coding pattern used by Profile. This is necessary to unblock movement of the URLRequestContext creation into content. BUG=159193 R=joth@chromium.org, mkosiba@chromium.org Review URL: https://codereview.chromium.org/22812016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219620 0039d316-1c4b-4281-b951-d872f2087c98
* Skia is going to Split the SkDevice class into SkBaseDevice and ↵robertphillips@google.com2013-08-261-4/+4
| | | | | | | | | | SkBitmapDevice. Right now Skia has typedefs redirecting SkBaseDevice and SkBitmapDevice to SkDevice. This CL begins the Chromium-side renaming process in preparation for the real change (https://codereview.chromium.org/22978012/) BUG=278148 Review URL: https://chromiumcodereview.appspot.com/22796028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219568 0039d316-1c4b-4281-b951-d872f2087c98
* content: Move kHttpsScheme constant into content namespace.tfarina@chromium.org2013-08-261-1/+1
| | | | | | | | | BUG=None TBR=jam@chromium.org Review URL: https://chromiumcodereview.appspot.com/23112033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219495 0039d316-1c4b-4281-b951-d872f2087c98
* Do not block/defer requests that are internally generated.sgurun@chromium.org2013-08-231-0/+7
| | | | | | | | | | | | BUG=277245 We unintentionally defer/block requests that are internally generated since these do not have a renderview process/view associated with them. Fix this. Review URL: https://chromiumcodereview.appspot.com/22866019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219345 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Fix crash in ↵benm@chromium.org2013-08-231-2/+9
| | | | | | | | | | | | | AwResourceDispatcherHostDelegate::DownloadStarting The request may not have started, in which case we cannot ask for the MIME type or response headers. BUG=277744 Review URL: https://chromiumcodereview.appspot.com/23075018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219312 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Call RequestProcessGL on UI threadboliu@chromium.org2013-08-211-6/+18
| | | | | | | | | | | | Currently we are not guaranteed to call RequestProcessGL on the UI thread which is a threading bug that can cause coruption/crashes. BUG=277055 NOTRY=true Review URL: https://chromiumcodereview.appspot.com/23060021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218828 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Disable fallback ticks when paused or window invisibleboliu@chromium.org2013-08-204-45/+79
| | | | | | | | | | | | | | | | | | | | Apps call onPause/onResume to explicitly request pausing/resuming per webview processing. But apps are not required to call them. Also window (not view) becomes invisible when the for example, an app is put into the background. Should use these signals to disable fallback tick, which is normally used to ensure offscreen webviews still make progress. BUG=276104 NOTRY=true Review URL: https://chromiumcodereview.appspot.com/23004005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218466 0039d316-1c4b-4281-b951-d872f2087c98
* Remove WorkerPool dependency from URLRequestFileJob.earthdok@chromium.org2013-08-191-1/+6
| | | | | | | | | | | | Make net::URLRequestFileJob pass a TaskRunner to FileStream, instead of using a deprecated FileStream constructor that depends on WorkerPool. This TaskRunner is obtained from the blocking pool where possible. Also, remove two explicit uses of WorkerPool in net/url_request/ and chrome/browser/. Removes dependency on deprecated code. Also fixes memory leaks in unit tests caused by FileStream destruction tasks not running to completion in WorkerPool. BUG=248513, 251774 Review URL: https://chromiumcodereview.appspot.com/22795006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218273 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "[Android WebView] Fast Fallback Tick take 2"boliu@chromium.org2013-08-192-17/+2
| | | | | | | | | | | | | | | | | Original commit at r216632. This is causing more problem than it is fixing because of the random clip and transform of the fallback tick is messing with the tiling and scheduling policy. These are more serious than the original problem it was trying to solve, to make progress faster for an offscreen webview. BUG=275226 NOTRY=true Review URL: https://chromiumcodereview.appspot.com/23086003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218215 0039d316-1c4b-4281-b951-d872f2087c98
* Send X-Requested-With header for complying with webview classic.sgurun@chromium.org2013-08-151-0/+6
| | | | | | | | BUG=b/10312777 Review URL: https://chromiumcodereview.appspot.com/23012004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217862 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Remove use of obsolete clipjoth@chromium.org2013-08-121-6/+1
| | | | | | | | | | | | Follow up to https://codereview.chromium.org/20234002/ - the old representation is no longer set so remove use of it. TBR=boliu@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/22778004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216949 0039d316-1c4b-4281-b951-d872f2087c98
* Make the AwPixelInfo more skia version independentjoth@chromium.org2013-08-101-32/+74
| | | | | | | | | | | | | Previously the config and clip_region field formats depended on skia internal implementation details. This patch decouples the interface from the specific skia version in use. BUG= Review URL: https://chromiumcodereview.appspot.com/20234002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216841 0039d316-1c4b-4281-b951-d872f2087c98
* Android WebView: Make a custom Picture subclassjoth@chromium.org2013-08-093-82/+55
| | | | | | | | | | | | This allows the capturePicture path to work fully even when using mismatched skia version to the system. AwCreatePictureFunction is now obsolete and can be removed in a followup. BUG=b/9814370 Review URL: https://chromiumcodereview.appspot.com/22035002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216667 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Fast Fallback Tick take 2boliu@chromium.org2013-08-092-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | When compositor needs BeginFrame, the blink main thread may be blocked on a commit. Currently, we still delay a draw until the next Draw or at least 20ms if draw never comes. This CL changes the first fallback tick for when compositor turns on NeedsBeginFrame to have 0 delay. This also allows times for raster tasks to begin before the real draw comes, significantly reducing flickering in some situations. This also slightly more decouples BeginFrame that the compositor needs to proceed, from Draws that are initiated by embedding app. Long term plan is to separate BeginFrame and BeginFrame deadline, and we can trigger BeginFrame immediately, but wait for Draw to trigger the deadline. BUG= NOTRY=true Review URL: https://chromiumcodereview.appspot.com/22711002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216632 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Clip to visible rectboliu@chromium.org2013-08-081-4/+21
| | | | | | | | | | | | | Only draw to the intersection of the clip and the visible rect. This is an optimization that is not always correct, but this matches better with existing behavior. BUG= NOTRY=true Review URL: https://chromiumcodereview.appspot.com/22616006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216389 0039d316-1c4b-4281-b951-d872f2087c98
* Add AwGLSurface and use it in WGC3Dboliu@chromium.org2013-08-076-9/+126
| | | | | | | | | | | | | | | Android can put the webview into an FBO, and compositor should draw into the FBO instead of directly on screen. Use AwGLSurface and explicitly set the FBO at the beginning of each hardware draw. Add new APIs in GLInProcessContext and WGC3DIPCBI to allow the underlying GLSurface to be created separately. BUG=251501 Review URL: https://chromiumcodereview.appspot.com/22277004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216136 0039d316-1c4b-4281-b951-d872f2087c98
* Clear device labels from MediaStreamTrack.getSources() if not authorizedvrk@chromium.org2013-08-061-0/+6
| | | | | | | | | | | | This CL queries the content settings to see if getSources() is authorized to fill in SourceInfo.label, and if not, clears the values before they are sent to the renderer process. BUG=240710 Review URL: https://chromiumcodereview.appspot.com/20848002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215991 0039d316-1c4b-4281-b951-d872f2087c98
* [Android webview] Cleanup some command line flagsjoth@chromium.org2013-08-051-2/+4
| | | | | | | | | | | | | | Remove obsolete kUseZeroCopyBuffers Remove placeholder testing-webview-gl-mode, replace with dedicated kDisableWebViewGLMode Set the disable webGL flag in follow up to crrev.com/215135 BUG=b/10188126 NOTRY=true Review URL: https://chromiumcodereview.appspot.com/22260002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215714 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Add support for multiple GpuMemoryBuffer types.reveman@chromium.org2013-08-032-10/+13
| | | | | | | | | | | | | | | This is a re-factoring of the GpuMemoryBuffer framework to support different run-time buffer implementations. This also adds a GpuMemoryBuffer type that is backed by standard shared memory. This allows us exercise more code in unit tests. TEST=gpu_unittests --gtest_filter=MockGpuMemoryBufferTest.Lifecycle BUG=261649 Review URL: https://chromiumcodereview.appspot.com/20536006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215508 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Reduce fallback tick to 20msboliu@chromium.org2013-08-031-1/+1
| | | | | | | | | | | | | | | Applications depending on webview to make progress while in the background depends on this to be as fast as regular draws. At 60fps, draws should be at least 16.6ms apart. Reduce fallback tick to 20ms to be slightly more than the period in draws. BUG= NOTRY=true Review URL: https://chromiumcodereview.appspot.com/21884007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215495 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Handle clip size smaller than visible rectboliu@chromium.org2013-08-033-46/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue here is that compositor assumes every draw to match the viewport exactly, and thus the whole viewport is updated each draw. But we could be asked to draw a subset of the visible rect, so there is a mismatch between what is really drawn and what compositor assume is drawn. Simple damage tracking inside compositor will not work for webview because of all the other ways the view could be drawn. Here is a simple fix. Whenever webview is asked to draw a subset of the visible rect, invalidate the whole visible rect, regardless of whether the compositor needs draws. The assumption here is that the problem only manifests if we draw a subset of the visible rect, so simply ensure the whole visible rect drawn is immediately after. Ideally it should only be done if we can detect the case of mismatch between compositor and what is drawn, but this requires damage tracking and work through all the different ways we can draw. New in reland: Always query the global visible rect each time it is needed since the original listener does not always fire when it changes. BUG=264275 NOTRY=true Previously committed at r214727 Review URL: https://chromiumcodereview.appspot.com/21191002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215474 0039d316-1c4b-4281-b951-d872f2087c98