| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
browser, decoupled from backbuffer drop.
Reason (speculative):
According to http://build.chromium.org/p/chromium.chromiumos/builders/ChromiumOS%20%28amd64%29/builds/2556
http://build.chromium.org/p/chromium.chromiumos/builders/ChromiumOS%20%28x86%29/builds/6039
after this commit those bots startet faling VMTest stage.
On Aura, every time a tab is backgrounded, RenderWidgetHostViewAura will reset its handle to the front surface. If that tab is foregrounded again, that front surface will not be used until synchronizing with the gpu process to make sure that surface is still available. By doing this, the gpu process knows when it is safe to discard the front surface.
RWHVA sends a FrontSurfaceIsProtected(bool, int) message to the gpu process to keep it informed about front surface protection. The int is a state-of-the-world identifier to protect from ABA issues. RWHVA delays sending FrontSurfaceIsProtected(false) until after the current surface is certain to not be in use, namely after the compositor finishes the current frame and the browser thumbnailer is complete.
BUG=112842
TEST=Manual
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=142408
Review URL: https://chromiumcodereview.appspot.com/10052018
TBR=mmocny@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10563021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142692 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
decoupled from backbuffer drop.
On Aura, every time a tab is backgrounded, RenderWidgetHostViewAura will reset its handle to the front surface. If that tab is foregrounded again, that front surface will not be used until synchronizing with the gpu process to make sure that surface is still available. By doing this, the gpu process knows when it is safe to discard the front surface.
RWHVA sends a FrontSurfaceIsProtected(bool, int) message to the gpu process to keep it informed about front surface protection. The int is a state-of-the-world identifier to protect from ABA issues. RWHVA delays sending FrontSurfaceIsProtected(false) until after the current surface is certain to not be in use, namely after the compositor finishes the current frame and the browser thumbnailer is complete.
BUG=112842
TEST=Manual
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=142408
Review URL: https://chromiumcodereview.appspot.com/10052018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142541 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
browser, decoupled from backbuffer drop.
On Aura, every time a tab is backgrounded, RenderWidgetHostViewAura will reset its handle to the front surface. If that tab is foregrounded again, that front surface will not be used until synchronizing with the gpu process to make sure that surface is still available. By doing this, the gpu process knows when it is safe to discard the front surface.
RWHVA sends a FrontSurfaceIsProtected(bool, int) message to the gpu process to keep it informed about front surface protection. The int is a state-of-the-world identifier to protect from ABA issues. RWHVA delays sending FrontSurfaceIsProtected(false) until after the current surface is certain to not be in use, namely after the compositor finishes the current frame and the browser thumbnailer is complete.
BUG=112842
TEST=Manual
Review URL: https://chromiumcodereview.appspot.com/10052018
TBR=mmocny@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10557014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142432 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
decoupled from backbuffer drop.
On Aura, every time a tab is backgrounded, RenderWidgetHostViewAura will reset its handle to the front surface. If that tab is foregrounded again, that front surface will not be used until synchronizing with the gpu process to make sure that surface is still available. By doing this, the gpu process knows when it is safe to discard the front surface.
RWHVA sends a FrontSurfaceIsProtected(bool, int) message to the gpu process to keep it informed about front surface protection. The int is a state-of-the-world identifier to protect from ABA issues. RWHVA delays sending FrontSurfaceIsProtected(false) until after the current surface is certain to not be in use, namely after the compositor finishes the current frame and the browser thumbnailer is complete.
BUG=112842
TEST=Manual
Review URL: https://chromiumcodereview.appspot.com/10052018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142408 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ViewHostMsg_ImeCompositionRangeChanged.
What for:
Using this argument, browser can acquire the composition character boundary rectangles.
This information is used by Japanese input method editor to show its window at the correct position.
This is used not only for fixing http://crbug.com/120597 but also for supporting IMR_QUERYCHARPOSITION message in Windows Chrome.
To support IMR_QUERYCHARPOSITION(Ref 1) message, input method editor can also show its window at the correct position(Ref 2).
Performance:
There is no performance concern for latin language users because this IPC is only emitted if the user uses an input method editor.
Even if the user uses an input method editor, the cost of this IPC is small because this IPC will be emitted at the same frequency as key typing.
Data size:
The data size to be transferred is small: it is the composition string length (typically less than a few dozen characters) times sizeof(gfx::Rect).
Ref 1. http://msdn.microsoft.com/en-us/library/windows/desktop/dd318634(v=vs.85).aspx
Ref 2. https://bug-87911-attachments.webkit.org/attachment.cgi?id=144954
(In Ref2, Safari works well for all IMEs. Firefox works well except ATOK. Chrome doesn't work for all IMEs.)
BUG=120597
TEST=try bots.
Review URL: https://chromiumcodereview.appspot.com/10543024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141866 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The decision is to keep almost all IPC messages in view units,
and only use pixels in the BackingStore object instead.
Change RenderWidgetHostViewMac::GetViewBounds() to return
(0, 0, w, h) instead of (0, 0, 0, 0). This matches the GTK code,
and matches what rwh got from rwhvmac before this patch.
Needed for PrerenderBrowserTest.PrerenderWindowSize
BUG=31960
TEST=none
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=141024
Review URL: https://chromiumcodereview.appspot.com/10541047
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141079 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- mac: Remove GetViewCocoaBounds()
The decision is to keep almost all IPC messages in view units,
and only use pixels in the BackingStore object instead.
BUG=31960
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10541047
TBR=thakis@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10540061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141039 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
The decision is to keep almost all IPC messages in view units,
and only use pixels in the BackingStore object instead.
BUG=31960
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10541047
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141024 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We use an 'external popup window' for both single and multi selection
<select> tag popups. This also supports <optgroup> and disabled <option>
items and multiple selections. On all other chrome platforms a multi-select
<select> tag is rendered in page, so this CL adds a bit of plumbing and IPC
stuff to get the multi-select popups working as well.
WebKit side of this CL is at http://trac.webkit.org/changeset/94600
Review URL: https://chromiumcodereview.appspot.com/10436010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139169 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
RenderViewHostDelegateView. This only needs to be seen by embedders who override WebContentsView. As a result, WebContentsView doesn't derive from it anymore.
BUG=98716
Review URL: https://chromiumcodereview.appspot.com/10441009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138799 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes the places where we will be sending DIP to the GPU process but should be sending pixels instead to the GPU process once https://bugs.webkit.org/show_bug.cgi?id=86051 lands.
This patch reverts:
http://codereview.chromium.org/127553/
http://codereview.chromium.org/10332077/
Bug=127455, 114677
Test=Manual
SchedulePaintInRect is called with parameters in DIP
TBR=piman@chromium.org,sky@chromium.org,jamesr@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10411086
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138510 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
should.
This patch fixes the places where we will be sending DIP to the GPU process but should be sending pixels instead to the GPU process once https://bugs.webkit.org/show_bug.cgi?id=86051 lands.
This patch reverts:
http://codereview.chromium.org/127553/
http://codereview.chromium.org/10332077/
Bug=127455, 114677
Test=Manual
SchedulePaintInRect is called with parameters in DIP
TBR=piman@chromium.org,sky@chromium.org,jamesr@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10411086
TBR=pkotwicz@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10383297
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138419 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes the places where we will be sending DIP to the GPU process but should be sending pixels instead to the GPU process once https://bugs.webkit.org/show_bug.cgi?id=86051 lands.
This patch reverts:
http://codereview.chromium.org/127553/
http://codereview.chromium.org/10332077/
Bug=127455, 114677
Test=Manual
SchedulePaintInRect is called with parameters in DIP
TBR=piman@chromium.org,sky@chromium.org,jamesr@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10411086
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138415 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
window is obscured.
Sadly, this fix regresses some black flashing bugs:
-flicker-test2.html occasionally flashes while resizing the window.
I think this regression could be fixed if we always draw with the OpenGL context once the context is created. But that would be a third drawing path and some significant code, so let's consider it in a follow up.
BUG=127709
TEST=open https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/google/particles/index.html ; open Activity Monitor and observe the chrome process CPU usage ; resize chrome window so it's smaller than the Activity Monitor window (or increase size of Activity Monitor); move Activity Monitor on top of chrome window to fully obscure it ; verify that the CPU usage of chrome does not spike upwards while the chrome window is obscured.
Review URL: https://chromiumcodereview.appspot.com/10382213
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138327 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
TBR=ben
Review URL: https://chromiumcodereview.appspot.com/10383239
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137865 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RenderWidgetHost::AsyncCopyFromBackingStore.
This CL depends on http://codereview.chromium.org/10348007/.
BUG=120003
TEST=Manual
Review URL: https://chromiumcodereview.appspot.com/10352016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135839 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=104040
R=ben@chromium.org
TBR=brettw@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10351002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135232 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The deleting part is easy: just handle the AcceleratedSurfaceSuspend call by unrefing the IOSurface.
The hard part is dealing with a NSView drawRect when we don't have the IOSurface (or software BackingStore). To solve this, I reuse the GetBackingStore code to wait for a new frame from the renderer. When the BuffersSwapped message arrives on the IO thread for Mac, an UpdateRect message is synthesized with the SwapBuffers data. The UpdateRect message wakes up the UI thread and allows GetBackingStore to resume.
The accelerated path can have multiple frames in the pipeline, so it is rarely enough to just wait for the next UpdateRect. Instead, the GetBackingStore method is updated to wait up to 40ms to get the correctly-sized frame (whether it's accelerated or software).
The original GetBackingStore code waits for a frame that matches current_size_. However, this CL makes GetBackingStore wait for a frame that matches the view_->GetViewBounds(). current_size_ is equal to the last UpdateRect, which may or may not match GetViewBounds. (Anyone know why the original code doesn't use GetViewBounds?)
This allows us to recover from missing BackingStores or IOSurfaces if the renderer/GPU can produce a new frame within 40ms. We probably want to increase 40 to something like 60 or 100ms though because of the deep GPU pipeline.
In addition, thanks to the blocking GetBackingStore, this fixes some additional bugs:
- no more resize gutter jank on accelerated pages (Mac only for now, but should work on Windows with a followup patch).
- no more white flash while resizing flicker-test2.html.
BUG=117624,58782,85519,124328,106586
Review URL: https://chromiumcodereview.appspot.com/9980016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134033 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: https://chromiumcodereview.appspot.com/9960078
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131788 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=122479
Review URL: https://chromiumcodereview.appspot.com/10022010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131787 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the support of the browser side thumbailing to Mac Chrome.
BUG=120001
TEST=Manually tested that thumbnails are properly generated on GPU composited pages with --enable-in-browser-thumbnailing.
Review URL: http://codereview.chromium.org/10022007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131710 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
generation asynchronous.
BUG=118547
TEST=Manually checked that UI thread is not blocked by the thumbnailer
TBR=brettw,piman
Review URL: http://codereview.chromium.org/10033008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131529 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
generation asynchronous.
BUG=118547
TEST=Manually checked that UI thread is not blocked by the thumbnailer
Review URL: http://codereview.chromium.org/9791031
TBR=mazda@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10024036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131456 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=118547
TEST=Manually checked that UI thread is not blocked by the thumbnailer
Review URL: http://codereview.chromium.org/9791031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131452 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Add gtk dependency to base.gyp for android host_os="linux" case
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9969080
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130784 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Push UnhandledWheelEvent and GetBrowserAccessibilityManager down to RenderWidgetHostViewPort.
Get rid of OnMessageReceivedForTesting, in favor of RenderViewHostTester::TestOnMessageReceived (which already existed but needed to be converted to a static method so it could be used with regular RenderViewHost instances).
Rename WebContentsTester::pending_rvh() to GetPendingRvh() since it's a virtual method.
Remove top-level alias for content::RenderViewHostTestHarness and switch clients to use the fully-qualified name.
Clean up a couple of other minor TODO items, some had already been done and the comment just needed to be removed; in one case the TODO was just wrong (in dump_accessibility_tree_browsertest.cc) since it's OK for content to depend on content implementations.
Remove test_tab_contents.h from DEPS (seems to have been a merge failure in my last change that left this in).
BUG=98716
Review URL: http://codereview.chromium.org/9838009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128263 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Benchmark results of copying a 1280 x 800 pixels using CopyFromCompositingSurface or CopyFromBackingSurface are as follows.
FromCompositingSurface: 40.00 ms
FromBackingStore: 2.12 ms
I'm prepareing the following CLs and these will come soon,
- Support Mac and Chrome OS (Aura)
- Reduce the number of pixels to copy from the compositing surface for performance improvement
BUG=96351
TEST=Manual
Review URL: http://codereview.chromium.org/9582003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126870 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
the top level directories within. I've removed them all from the subdirectories. Also removed the "set noparent" in subdirectories and just put one in src/content/OWNERS for now. I also added brettw/darin for src/chrome/OWNERS.
Review URL: https://chromiumcodereview.appspot.com/9695028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126522 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TBR=jam@chromium.org
BUG=98716
Review URL: https://chromiumcodereview.appspot.com/9600036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125388 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mostly works, the only problem is that the first touch or gesture on switching "modes" gets lost because Windows doesn't start a touch of the "other" type when TouchRegisterWindow is called while there's a touch in progress.
TBR=cpu
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=124813
Review URL: http://codereview.chromium.org/9549020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124871 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
kEnableTouchEvents
Mostly works, the only problem is that the first touch or gesture on switching "modes" gets lost because Windows doesn't start a touch of the "other" type when TouchRegisterWindow is called while there's a touch in progress.
TBR=cpu
Review URL: http://codereview.chromium.org/9549020
TBR=scottmg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9572033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124830 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Mostly works, the only problem is that the first touch or gesture on switching "modes" gets lost because Windows doesn't start a touch of the "other" type when TouchRegisterWindow is called while there's a touch in progress.
TBR=cpu
Review URL: http://codereview.chromium.org/9549020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124813 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is behind a flag (--ui-use-gpu-process).
Currently problems occur when the GPU process crash, this will be handled in a follow-up CL.
BUG=99516
TEST=chrome --ui-use-gpu-process (with an aura build)
TBR=sky,jam,apatrick
Review URL: https://chromiumcodereview.appspot.com/9442017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123473 0039d316-1c4b-4281-b951-d872f2087c98
|
|
Move RenderWidgetHostViewBase and TestRenderWidgetHostView to content
namespace.
Follow-up changes will move RenderWidgetHostView to content namespace,
and get rid of content/browser/renderer_host/render_widget_host_view.h
which is now just a redirect header.
BUG=98716
Review URL: https://chromiumcodereview.appspot.com/9347042
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122288 0039d316-1c4b-4281-b951-d872f2087c98
|