summaryrefslogtreecommitdiffstats
path: root/content/common
Commit message (Collapse)AuthorAgeFilesLines
* Add VDA decode time test and refactor.wuchengli@chromium.org2013-11-071-146/+331
| | | | | | | | | | | | | | | | | | | | This measures the median of the decode time of all the frames. VDA::Decode is called 30 times per second to simulate WebRTC. VideoDecodeAcceleratorTest class is renamed to VideoDecodeAcceleratorParamTest, which shows it is a value-parameterized test. The common code is moved to a new test fixture VideoDecodeAcceleratorTest, which is inherited by VideoDecodeAcceleratorParamTest. The future new tests should be based on VideoDecodeAcceleratorTest if they do not need to test different combinations of the parameters. BUG=292703 TEST=Run VDA tests. Review URL: https://codereview.chromium.org/57663002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233503 0039d316-1c4b-4281-b951-d872f2087c98
* Service worker registration error supportalecflett@chromium.org2013-11-072-0/+15
| | | | | | | | | | | | | | This patch introduces use of WebServiceWorkerError as a means to propagate an error from the browser to the renderer, and further reflect this error via WebCallbacks into Blink BUG=285976 R=jam@chromium.org, michaeln@chromium.org, tsepez@chromium.org TBR=abarth Review URL: https://codereview.chromium.org/26442004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233438 0039d316-1c4b-4281-b951-d872f2087c98
* Don't test kEnableThreadedCompositing in WebGraphicsContext3DCommandBufferImplpiman@chromium.org2013-11-062-7/+5
| | | | | | | | | | | It's a layering violation (and has crazy side effects when instantiating those in the browser). BUG=None Review URL: https://codereview.chromium.org/57543004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233405 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent modal dialogs when preparing to swap out.creis@chromium.org2013-11-061-0/+5
| | | | | | | | | | | | | This ensures that no PageGroupLoadDeferrers will be on the stack when processing ViewMsg_SwapOut, which would lead to an ASSERT. BUG=312490 TEST=Start a cross-process navigation and show a loop of alerts before commit. R=cdn@chromium.org, darin@chromium.org Review URL: https://codereview.chromium.org/50223002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233371 0039d316-1c4b-4281-b951-d872f2087c98
* Remove WGC3D::isContextLost references from ccjamesr@chromium.org2013-11-062-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The notion of whether a context is lost is a property of both the gpu:: context itself and the system providing it. For instance, the content context provider checks if there is an error in the context or if the IPC channel backing the command buffer is down. Thus, asking if a context is lost really should go through the ContextProvider. This patch routes all lost context checks from cc through the ContextProvider. Unfortunately, this required reworking the program initialization code considerably due to the way some DCHECKs were written. The new model is that the program binding itself is inert upon construction and all initialization is done in the Initialize() call. This call is still made eagerly for some expected-to-be-common programs and lazily for the rest. This patch moves when the linkProgram() call is issued slightly for the eagerly compiled programs, but it shouldn't make any difference in practice. This patch also revamps TextureLayerClient to hide the backing context since cc only makes two calls (check for loss and insert rate limiting token) on the client's context. R=piman BUG=181120 Review URL: https://codereview.chromium.org/51653008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233325 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 230444 "content: Disable CommandBufferProxyImpl::Flush tr..."reveman@chromium.org2013-11-061-1/+1
| | | | | | | | | | | | | | | | | | | > content: Disable CommandBufferProxyImpl::Flush traces by default. > > BUG=309441 > > Review URL: https://codereview.chromium.org/33003003 The number of command buffer flushes with impl-side painting should now have been reduced to an amount that allows us to have these traces enabled by default. TBR=piman@chromium.org BUG=309441 Review URL: https://codereview.chromium.org/62093002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233293 0039d316-1c4b-4281-b951-d872f2087c98
* Make WebSocket developers OWNERs of content/**/*websocket* files.yhirano@chromium.org2013-11-061-0/+5
| | | | | | | | | | BUG=NONE R=jam NOTRY=true Review URL: https://codereview.chromium.org/54493006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233252 0039d316-1c4b-4281-b951-d872f2087c98
* GVDAH: fix crash on Android caused by invalid assumption of reentrancy on ↵fischman@chromium.org2013-11-061-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | hash_map<>. When a container's value's dtor might call another method of the container's, one must ensure that the dtor is _not_ run in-line as the result of any of the container's operations. Specifically here the evil chain is: GpuVideoEncodeAcceleratorHost::OnNotifyInputDone() -> frame_map_.erase() VideoFrame::~VideoFrame() RTCVideoEncoder::Impl::EncodeFrameFinished() RTCVideoEncoder::Impl::EncodeOneFrame() GpuVideoEncodeAcceleratorHost::Encode() GpuVideoEncodeAcceleratorHost::frame_map_.insert() aaaaaand, boom! The code at HEAD is invalid for any platform (b/c nothing specs reentrancy for hash_map) but only bit me on Android (where we use stlport unlike other platforms). NOTRY=true Review URL: https://codereview.chromium.org/59863005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233238 0039d316-1c4b-4281-b951-d872f2087c98
* ozone: Allow building for ozone without depending on pangosadrul@chromium.org2013-11-061-0/+15
| | | | | | | | | | | | | | Notable changes in this CL: * Rename files that depend on pango to have _pango suffix. * Add a filename gyp rule to exclude _pango* files when use_pango = 0 * Add empty implementations for a few font-related API for ozone. BUG=313793 R=jam@chromium.org, msw@chromium.org, rjkroege@chromium.org Review URL: https://codereview.chromium.org/26541007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233228 0039d316-1c4b-4281-b951-d872f2087c98
* Android: Don't instantiate TextureImageTransportSurfacesievers@chromium.org2013-11-062-0/+90
| | | | | | | | NOTRY=True Review URL: https://codereview.chromium.org/59973010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233164 0039d316-1c4b-4281-b951-d872f2087c98
* Separate WGC3D sharegroup sets per channelsievers@chromium.org2013-11-052-40/+37
| | | | | | | | | | | | | This fixes a problem in single-process mode, where we can end up picking a WGC3D to share with that lives on a different channel (render thread's gpu channel vs. UI thread's GPU channel). BUG=246884 NOTRY=True Review URL: https://codereview.chromium.org/35503004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233109 0039d316-1c4b-4281-b951-d872f2087c98
* add a LinuxSandbox::HasOpenDirectories() sanity checkmostynb@opera.com2013-11-052-0/+62
| | | | | | | | BUG=269806 Review URL: https://codereview.chromium.org/24055003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233100 0039d316-1c4b-4281-b951-d872f2087c98
* Kill worker process by way of a sync IPC message before it cleans up.meacer@chromium.org2013-11-051-0/+4
| | | | | | | | | | | | | When a worker process shuts down, it shuts down WebKit. If there are other threads running in the worker process, this leads to crashes. This fix tries to kill the worker process forcibly so that no cleanup takes place. BUG=249502 Review URL: https://codereview.chromium.org/23496052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233099 0039d316-1c4b-4281-b951-d872f2087c98
* Minor modification that reflects a small API change in Skiasugoi@chromium.org2013-11-051-2/+4
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/50603014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233067 0039d316-1c4b-4281-b951-d872f2087c98
* Test number of render passes in YUV readback pipeline.hubbe@chromium.org2013-11-051-4/+91
| | | | | | | | BUG=313046 Review URL: https://codereview.chromium.org/48733010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233055 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 232547 "Pepper: Move FileIO host from renderer to browser."teravest@chromium.org2013-11-052-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | This change is being reverted due to some problems seen in integration testing. See http://crbug.com/314884 for test failure details. > Pepper: Move FileIO host from renderer to browser. > > This change is large because it moves QuotaFileIO and PepperFileIOHost all at > once to the browser process. Some code in the refactored PepperFileIOHost is > moved from what's provided in FileAPIMessageFilter. > > Tested locally with Bastion, From Dust, and Angry Bots. > > TBR=jschuh > BUG=246396 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=232440 > > Review URL: https://codereview.chromium.org/33053002 TBR=teravest@chromium.org BUG=246396,314884 Review URL: https://codereview.chromium.org/60323002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233014 0039d316-1c4b-4281-b951-d872f2087c98
* Notify WebSocket connection failure, chromium sideyhirano@chromium.org2013-11-051-2/+21
| | | | | | | | | | | | | In order to set |wasClean| property of CloseEvent and show the failure message correctly, The blink-side WebSocket need to know whether the connection is dropped because of a server request. Blink side change is: https://codereview.chromium.org/36033003/ BUG=310405 Review URL: https://codereview.chromium.org/34753008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232921 0039d316-1c4b-4281-b951-d872f2087c98
* Add a target_frame_id to the history serialization format.japhet@chromium.org2013-11-053-1/+14
| | | | | | | | BUG=312929 Review URL: https://codereview.chromium.org/51423002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232864 0039d316-1c4b-4281-b951-d872f2087c98
* Remove apatrick@ from OWNERSpiman@chromium.org2013-11-041-1/+0
| | | | | | | | | BUG=None R=kbr@chromium.org Review URL: https://codereview.chromium.org/58663002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232833 0039d316-1c4b-4281-b951-d872f2087c98
* Revert https://src.chromium.org/viewvc/chrome?view=rev&revision=231330bbudge@chromium.org2013-11-043-14/+14
| | | | | | | | | | This is a speculative revert to see if it's the cause of hanging renderers. BUG=313112 Review URL: https://codereview.chromium.org/57783006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232819 0039d316-1c4b-4281-b951-d872f2087c98
* Generate dataLossMessage from corruption stringsdgrogan@chromium.org2013-11-021-0/+1
| | | | | | | | BUG=311874 Review URL: https://codereview.chromium.org/47513010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232634 0039d316-1c4b-4281-b951-d872f2087c98
* Removing the allow-filters-over-ipc flagsugoi@chromium.org2013-11-022-8/+3
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/54653003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232568 0039d316-1c4b-4281-b951-d872f2087c98
* Fix spelling of "NaCl" in various places: "NaCL" is the wrong capitalisationmseaborn@chromium.org2013-11-021-1/+1
| | | | | | | | | | BUG=none TEST=none TBR=ericu@chromium.org,sbc@chromium.org,aa@chromium.org Review URL: https://codereview.chromium.org/56413002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232550 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper: Move FileIO host from renderer to browser.teravest@chromium.org2013-11-022-30/+0
| | | | | | | | | | | | | | | | | This change is large because it moves QuotaFileIO and PepperFileIOHost all at once to the browser process. Some code in the refactored PepperFileIOHost is moved from what's provided in FileAPIMessageFilter. Tested locally with Bastion, From Dust, and Angry Bots. TBR=jschuh BUG=246396 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=232440 Review URL: https://codereview.chromium.org/33053002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232547 0039d316-1c4b-4281-b951-d872f2087c98
* Check for WRITE_DAC in the Access Mask as this can be used to change the ↵wfh@chromium.org2013-11-022-2/+5
| | | | | | | | | | | | DACL which is something we don't want to allow. Fix corresponding issue found with this additional check where the permissions on the shared memory object used in the GPU host were too broad. BUG=307301 Review URL: https://codereview.chromium.org/51053003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232521 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 232440 "Pepper: Move FileIO host from renderer to browser."csharp@chromium.org2013-11-012-0/+30
| | | | | | | | | | | | | | | | | | | | | | | Broke the Linux ASAN Test (2) bot. > Pepper: Move FileIO host from renderer to browser. > > This change is large because it moves QuotaFileIO and PepperFileIOHost all at > once to the browser process. Some code in the refactored PepperFileIOHost is > moved from what's provided in FileAPIMessageFilter. > > Tested locally with Bastion, From Dust, and Angry Bots. > > TBR=jschuh > BUG=246396 > > Review URL: https://codereview.chromium.org/33053002 TBR=teravest@chromium.org Review URL: https://codereview.chromium.org/51213008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232460 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper: Move FileIO host from renderer to browser.teravest@chromium.org2013-11-012-30/+0
| | | | | | | | | | | | | | | This change is large because it moves QuotaFileIO and PepperFileIOHost all at once to the browser process. Some code in the refactored PepperFileIOHost is moved from what's provided in FileAPIMessageFilter. Tested locally with Bastion, From Dust, and Angry Bots. TBR=jschuh BUG=246396 Review URL: https://codereview.chromium.org/33053002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232440 0039d316-1c4b-4281-b951-d872f2087c98
* This adds support for the InlineTextBox role in the AX tree,dmazzoni@chromium.org2013-11-012-3/+52
| | | | | | | | | | | | | | | | | and its attributes. Depends on this Blink change that adds InlineTextBox support. https://codereview.chromium.org/23983002/ This change only adds support and makes minimal changes to allow tests to pass. Other changes will take advantage of the inline text boxes to compute boundsForRange, etc. BUG=98977 Review URL: https://codereview.chromium.org/25943003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232429 0039d316-1c4b-4281-b951-d872f2087c98
* flip testhubbe@chromium.org2013-11-011-55/+94
| | | | | | | | | | Make sure that the "vertical flip" parameter in gl_helper* is tested properly. BUG=313477 Review URL: https://codereview.chromium.org/51863004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232350 0039d316-1c4b-4281-b951-d872f2087c98
* Replace VideoFrame::INVALID with UNKNOWN.rileya@chromium.org2013-11-011-1/+1
| | | | | | | | | | | INVALID was misleading: the usage has more to do with the format being unknown at the time, rather than being invalid. BUG=313827 TBR=danakj Review URL: https://codereview.chromium.org/51343005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232346 0039d316-1c4b-4281-b951-d872f2087c98
* Do not give GPU memory to backgrounded compositors.ccameron@chromium.org2013-11-017-359/+8
| | | | | | | | | | | | | | | | | | | | This has already been disabled on all platforms except Windows and Chrome OS to be more conservative about GPU memory. All platforms are moving to a delegated renderer where, if keeping around resources for a fast tab-switch is desired, it can be accomplished by not releasing those resources in the browser process. This feature was originally requested in crbug.com/134750. Also remove the infrastructure for preserving backbuffers of backgrounded renderers. This feature was never enabled. BUG=276559 Review URL: https://codereview.chromium.org/53633003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232324 0039d316-1c4b-4281-b951-d872f2087c98
* Fix small issues in new synthetic gestures implementation.dominikg@chromium.org2013-10-312-2/+0
| | | | | | | | | | | | | | This is a small follow-up patch to http://crrev.com/27232002. It fix some minor issues that were overlooked in the previous CL. Add unit test for the smooth scroll gesture using mouse input. Add instructions on how to implement a new synthetic gesture class. BUG=297980 Review URL: https://codereview.chromium.org/50603002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232125 0039d316-1c4b-4281-b951-d872f2087c98
* content: Set the SharedQuadState on the draw quads in perf tests.danakj@chromium.org2013-10-311-0/+10
| | | | | | | | | | | | The quads should point at the SharedQuadStates to avoid dchecks in debug mode. R=piman BUG= Review URL: https://codereview.chromium.org/52873002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232071 0039d316-1c4b-4281-b951-d872f2087c98
* Fix tab capture appearing upside down on Pixel.hubbe@chromium.org2013-10-311-2/+2
| | | | | | Review URL: https://codereview.chromium.org/45393005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231984 0039d316-1c4b-4281-b951-d872f2087c98
* Make JavaBridgeDispatcherHost not be a RenderViewHostObserver anymore.jam@chromium.org2013-10-301-3/+0
| | | | | | | | | | | | | | | The only reason it was inheriting from it was to to dispatch an IPC from the renderer. Dispatch the IPC in WebContentsImpl instead, since that already knows about the java bridge code and send it to JavaBridgeDispatcherHostManager. I did this instead of exposing WebContentsImpl::message_source_ as no one else needs this yet, and I'm nervous of exposing it in case of misuse. This also fixes usage of RenderProcessHost and RenderViewHost on the background java thread, which is not thread-safe, and a possible use-after-free with RenderViewHost. This is part of the work in removing RenderViewHostObserver. BUG=306569 R=steveblock@chromium.org, torne@chromium.org Review URL: https://codereview.chromium.org/45933002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231856 0039d316-1c4b-4281-b951-d872f2087c98
* Remove WGC3D::signal(Query|SyncPoint) referencesjamesr@chromium.org2013-10-302-16/+0
| | | | | | | | | | | These entry points haven't been used by chromium-side code since r230043 and have never been used by Blink, so we don't need them any more. R=piman Review URL: https://codereview.chromium.org/50783007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231797 0039d316-1c4b-4281-b951-d872f2087c98
* Preserve redirect chain and page transition on cross-process server redirects.creis@chromium.org2013-10-301-0/+4
| | | | | | | | | | | | | The history database relies on the page transition and redirects to know that a typed URL ended up loading a final destination URL. If we do a process swap during the redirects and forget these, autocomplete breaks. BUG=104576 TEST=Autocomplete calendar.google.com with Calendar hosted app installed. Review URL: https://codereview.chromium.org/42063002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231720 0039d316-1c4b-4281-b951-d872f2087c98
* Cancel MIDI permission request infobar on MIDIAccess stop.kkimlabs@chromium.org2013-10-301-0/+6
| | | | | | | | | | | | | | On WebCore::MIDIAccess::stop(), renderer didn't cancel the MIDI permission request infobar. As a result, when an iframe webpage that requested MIDI permission is navigated away, the MIDI infobar is not dismissed, unlike the geolocation infobar. This CL makes the MIDI infobar be dismissed on WebCore::MIDIAccess::stop(). BUG=309893 Review URL: https://codereview.chromium.org/38043004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231719 0039d316-1c4b-4281-b951-d872f2087c98
* Flush out initial [un]registerServiceWorker roundtripalecflett@chromium.org2013-10-301-10/+15
| | | | | | | | | | | | This is a first cut at getting registerServiceWorker() to make a full round trip from and back into blink. At the moment the browser process just sends a dummy value back to the renderer over IPC. BUG=285976 Review URL: https://codereview.chromium.org/25008006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231688 0039d316-1c4b-4281-b951-d872f2087c98
* IPC pickling optimization for render passes.danakj@chromium.org2013-10-292-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call Pickle::Reserve() for the size of the data in the shared quad state and quad lists. This prevents the WriteFoo() invocations for all of the quad/shared quad states from causing memory re-allocations and moves. This is based on https://codereview.chromium.org/34413002/ from piman@. This is also based after https://codereview.chromium.org/30593005/ and perf numbers (both before and after) include that CL also. content_perftest results on linux chromeos release official build: BEFORE *RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_1_4000= 50 us *RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_1_100000= 1888 us *RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_4000_4000= 728 us *RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_100000_100000= 23771 us *RESULT mean_frame_serialization_time: DelegatedFrame_ManyRenderPasses_10000_100= 24118 us AFTER *RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_1_4000= 48 us *RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_1_100000= 1626 us *RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_4000_4000= 460 us *RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_100000_100000= 14771 us *RESULT mean_frame_serialization_time: DelegatedFrame_ManyRenderPasses_10000_100= 15626 us This gives a further ~1.5x improvement in serialization time for shared quad states and render passes. R=jar@chromium.org, piman@chromium.org, tsepez@chromium.org, piman BUG=307480 Review URL: https://codereview.chromium.org/35893002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231656 0039d316-1c4b-4281-b951-d872f2087c98
* Minor optimization for tab capture on Aura.hubbe@chromium.org2013-10-291-4/+18
| | | | | | | | | | | When the scaling is FAST (the default) and MRT is enabled, just skip the scaling step as the first step in the MRT pipeline is fully capable of doing a bilinear scale already. BUG=284550 Review URL: https://codereview.chromium.org/48903007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231653 0039d316-1c4b-4281-b951-d872f2087c98
* Narrow VDA Decode() API and remove multi-frame tests.yuli@chromium.org2013-10-291-99/+63
| | | | | | | | | BUG=chrome-os-partner:20275 TEST=build and run the test on daisy Review URL: https://codereview.chromium.org/48413004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231652 0039d316-1c4b-4281-b951-d872f2087c98
* content: Refactor common code for cc_messages_perftestsdanakj@chromium.org2013-10-291-108/+43
| | | | | | | | | | | Move common code up to the base class. R=piman BUG=307480 Review URL: https://codereview.chromium.org/49323003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231584 0039d316-1c4b-4281-b951-d872f2087c98
* Move memory allocation/stats structs to gpu:: and remove bazillion copiesjamesr@chromium.org2013-10-2915-461/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves the memory allocation / stats structs from content to gpu:: and eliminates many redundant copies of this information in different parts of the stack. This also moves the stats sending and allocation callbacks to gpu::ContextSupport / gpu::GpuControl to get rid of the bounce through WebKit::WebGraphicsContext3D. The new flow for cc to register for memory allocation changes and pass stats to the manager is this: cc:: registers for MemoryAllocationChanged callbacks and sends stats via the gpu::ContextSupport interface. Memory allocations are represented by a gpu::MemoryAllocation struct and memory statistics are sent in a gpu::ManagedMemoryStats struct. The implementation of gpu::ContextSupport (gpu::gles2::GLES2Implementation) forwards the calls to gpu::GpuControl. content::CommandBufferProxyImpl's implementation of these maps the calls to content IPCs that drive the memory manager implementation. This patch gets rid of the following things: *) WebKit::WebGraphicsMemory(Allocation|Stats) go away. These were used only because cc was not able to depend on the previous locations of the allocation/stats structs in content::. Now that these structs are in gpu::, the compositor (which is the only thing using these) can see them directly *) WebGraphicsContext3D::sendManagedMemoryStatsCHROMIUM / setMemoryAllocationChangedCallbackCHROMIUM go away. *) cc:ManagedMemoryPolicy's cutoff fields are now gpu::MemoryAllocation::PriorityCutoff enums instead of an (inconsistently named) copy. *) GpuMemoryAllocationForBrowser goes away and is managed directly in content. gpu::GpuMemoryAllocationForRenderer is renamed to just gpu::MemoryAllocation *) Many proxies and converters go away. cc::ManagedMemoryPolicy sticks around in this patch, even though it's largely the same as gpu::MemoryAllocation, since it's sometimes used by code that doesn't go through the gpu memory allocation path - such as android_webview - and it has some additional state (num_resource_limit) that's not applicable to a general gpu::MemoryAllocation. Chris tells me this struct is due for simplification as well, so maybe it'll make sense to fold it in in a future patch. Diffstat: 53 files changed, 345 insertions(+), 713 deletions(-) BUG=181120 R=piman,ccameron Review URL: https://codereview.chromium.org/45243002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231527 0039d316-1c4b-4281-b951-d872f2087c98
* AndroidVDA: handle mid-stream resolution change using Reset().fischman@chromium.org2013-10-292-21/+44
| | | | | | | | | | | | | For various reasons (explained in comments in the CL) it's not possible to support mid-stream resolution change internally to AVDA as is done in the other *VDA impl's. Instead, this CL teaches RTCVideoDecoder about AVDA's shortcomings and uses Reset() to overcome them. BUG=311580 Review URL: https://codereview.chromium.org/47123002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231495 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure new MSP video codec is fed with I-frame first using browser seek if ↵wolenetz@chromium.org2013-10-281-4/+18
| | | | | | | | | | | | | | | | | | | necessary Works-around Android MediaCodec's requirement that a new video MediaCodec always first be fed with I-frame data by re-introducing a (short-term, for this work-around only) "browser seek" that is coordinated with regular seeks, but hidden as much as possible from Blink and web apps. Updates and adds related MediaSourcePlayerTests. Also adds a preroll test to verify http://crbug.com/309122 case #1. A more robust fix approach is tracked by http://crbug.com/304234. BUG=298502, 309122 R=acolwell@chromium.org,qinmin@chromium.org,palmer@chromium.org TEST=Original and alternate repro steps in Bug 298502 no longer crash due to surface change, though other crashes sometimes occur on original repro steps (bugs 306314 and 302867). All MediaSourcePlayerTests pass on Android. Review URL: https://codereview.chromium.org/26595003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231425 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the AddKernelObjectToClose policy forcpu@chromium.org2013-10-281-4/+2
| | | | | | | | | | | | | | renderers. It could be crashing chrome big time. This is just for canary and needs to be reverted for branch. BUG=286466 TEST=chrome runs TBR=jschuh Review URL: https://codereview.chromium.org/46413003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231424 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Exynos decoder: workaround for wrong MFC output format."posciak@chromium.org2013-10-281-4/+2
| | | | | | | | | | | | | This reverts r226912 (commit 1d07393296ba6e33eb398cc0e02077aa61fb2ccd). The corruption is now fixed with a new version of the MFC firmware. BUG=chrome-os-partner:23078 TEST=Verify that crbug.com/302870 does not reproduce anymore Review URL: https://codereview.chromium.org/47553003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231412 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 231381 "Return matching plug-ins in the sorted order (by ..."dglazkov@chromium.org2013-10-283-76/+3
| | | | | | | | | | | | | | | | | | | > Return matching plug-ins in the sorted order (by version number). > > In case there are multiple plug-ins in one group (multiple versions > of Flash plug-in for example), returning sorted list that has highest > version first makes sure that Chrome won't try to load outdated > version and end up blocking it in the end. > > BUG=13892 > > Review URL: https://codereview.chromium.org/26541011 TBR=rchlodnicki@opera.com Review URL: https://codereview.chromium.org/49783002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231401 0039d316-1c4b-4281-b951-d872f2087c98
* Remove IPC::Message::PRIORITY_NORMAL from cc_messages_perftest.jochen@chromium.org2013-10-281-10/+10
| | | | | | | | | | | | | | This ctor was removed in https://codereview.chromium.org/35643005/ but an unrelated bug was causing content tests to not be compiled so this reference was not updated. BUG=None R=bbudge@chromium.org, danakj@chromium.org TBR=piman@chromium.org Review URL: https://codereview.chromium.org/48113005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231386 0039d316-1c4b-4281-b951-d872f2087c98