summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_widget.cc
Commit message (Collapse)AuthorAgeFilesLines
* Make IPC::Channel::Listener:OnMessageReceived have a return value indicating ↵jam@chromium.org2010-12-241-19/+23
| | | | | | | | | whether a message was processed or not. TBR=brettw Review URL: http://codereview.chromium.org/5978003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70139 0039d316-1c4b-4281-b951-d872f2087c98
* Add an additional level of optimization for PPAPI plugins to paint withoutbrettw@chromium.org2010-12-221-8/+51
| | | | | | | | | | | | | | doing a WebKit paint. Currently, this will not get triggered very much because the % coverage required for combining rects in the paint manager is so low. I'm going to try tweaking that but want to do it in another CL. TEST=none BUG=none Review URL: http://codereview.chromium.org/6020007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69974 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land earlier patch that moves the NPAPI implementation from ↵brettw@chromium.org2010-12-211-2/+2
| | | | | | webkit/glue/plugins to webkit/plugins/npapi git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69808 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Move the NPAPI files from webkit/glue/plugins to webkit/plugins/npapi"chase@chromium.org2010-12-211-2/+2
| | | | | | | | | | | | Manually reverting r69755, which broke the tree. BUG=none TEST=none TBR=dmaclach@chromium.org Review URL: http://codereview.chromium.org/5998002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69771 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 69755 - Move the NPAPI files from webkit/glue/plugins to ↵chase@chromium.org2010-12-201-2/+2
| | | | | | | | | | | | | | | webkit/plugins/npapi" Manually reverting r69766, which was itself a failed revert of r69755. BUG=none TEST=none TBR=dmaclach@chromium.org Review URL: http://codereview.chromium.org/5996003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69768 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 69755 - Move the NPAPI files from webkit/glue/plugins to ↵brettw@chromium.org2010-12-201-2/+2
| | | | | | | | | | | | | | | webkit/plugins/npapi and put them in the webkit::npapi namespace. BUG=none TEST=none Review URL: http://codereview.chromium.org/6012002 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/5961004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69766 0039d316-1c4b-4281-b951-d872f2087c98
* Move the NPAPI files from webkit/glue/plugins to webkit/plugins/npapi and putbrettw@chromium.org2010-12-201-2/+2
| | | | | | | | | | them in the webkit::npapi namespace. BUG=none TEST=none Review URL: http://codereview.chromium.org/6012002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69755 0039d316-1c4b-4281-b951-d872f2087c98
* Allow painting multiple paint rects.darin@chromium.org2010-12-061-9/+2
| | | | | | | | | | | | | | | | | Previously, if there was no scrolling, then we would always paint the union of any invalidations. With this change, if the area of the invalidation rects is sufficiently less than the area of the union, then we will just paint the individual invalidation rects. This may regress page cycler performance (see http://crbug.com/29589). R=brettw BUG=50303 TEST=updated unit tests Review URL: http://codereview.chromium.org/5613002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68403 0039d316-1c4b-4281-b951-d872f2087c98
* When accelerated compositing is enabled, we create a plugin-like pair of ↵nduca@chromium.org2010-11-271-3/+2
| | | | | | | | | | | | | | | | | | | windows, CompositorHostWindow and CompositorWindow inside the RenderWidgetHostView. The host-side HWND is used to position the compositor output relative to plugins; the GPU process creates the compositor window as a child of the CompositorHostWindow. Once we land webkit bugfix 49396, ANGLE issue 3038042, Chromium issue 4671003, this will fix bugs 54301 and 61516 for windows. BUG=none TEST=none Review URL: http://codereview.chromium.org/4815001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67495 0039d316-1c4b-4281-b951-d872f2087c98
* Stop render_widget from polling WebWiget's isAcceleratedCompositingActive.nduca@chromium.org2010-11-181-32/+16
| | | | | | | | | | | | Replace this with an implementation of the WebWidgetClient:: didActivateAcceleratedCompositing. BUG=none TEST=none Review URL: http://codereview.chromium.org/5117002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66691 0039d316-1c4b-4281-b951-d872f2087c98
* Clean-up external popup menu. ALso make select popups work on Mac in ↵jcivelli@chromium.org2010-11-171-25/+9
| | | | | | | | | | | | single-process mode. BUG=None TEST=Make sure select and autofill/autocomplete popups work on Mac and other platforms. Review URL: http://codereview.chromium.org/5160001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66510 0039d316-1c4b-4281-b951-d872f2087c98
* Handle resize corner layout entirely in the BrowserView (views) or ↵alekseys@chromium.org2010-11-161-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | BrowserWindow* (Mac) and extend RenderViewHost with a concept of reserved contents rect, a place to show extra stuff, such as Sidebar's mini tab UI. sidebar UI implementation warranted this change (mini tabs UI and resize corner area for sidebar contents). TabContentsDelegate::GetRootWindowResizerRect() is no more, reserved contents area is now cached in RenderWidgetHostView and updated upon view resize. Views: BrowserView is responsible for the actual layout and reserved contents area update. Mac: TabContentsController now manages all TabContents views in the main browser window to solve two problems, first to prevent contents flickering during tab change not only for the page, but for the sidebar and devtools contents too and, second, to monitor contents view frame changes and update reserved contents area accordingly. BUG=51084 TEST=All tests should pass, this is a refactoring CL. Review URL: http://codereview.chromium.org/3547008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66332 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ThumbnailGenerator on Windows.kkania@chromium.org2010-11-111-6/+12
| | | | | | | | | | | | | In the browser, duplicate the file mapping handle before sending to the renderer and map the TransportDIB before accessing the memory. In the renderer, do not map the file twice, which was happening when TransportDIB::Map and GetPlatformCanvas were both being called. BUG=none TEST=none Review URL: http://codereview.chromium.org/4569002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65775 0039d316-1c4b-4281-b951-d872f2087c98
* Deleted code associated with --enable-gpu-rendering andkbr@chromium.org2010-11-081-10/+0
| | | | | | | | | | | | | | | | | | | | --enable-video-layering flags. With the introduction of accelerated compositing to Chromium this code is now obsolete, and it is causing problems and bug reports when users experiment with these flags. Tested on Linux in the following configurations: - Compositor on, CSS 3D content - Compositor on, HTML5 video content - Compositor off, HTML5 video content Also ran patch successfully through the try bots. BUG=54932 TEST=none Review URL: http://codereview.chromium.org/4399003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65383 0039d316-1c4b-4281-b951-d872f2087c98
* Convert implicit scoped_refptr constructor calls to explicit ones, part 1thakis@chromium.org2010-11-011-2/+2
| | | | | | | | | | | This CL was created automatically by this clang rewriter: http://codereview.appspot.com/2776043/ . I manually fixed a few rough spots of the rewriter output (doh1-3) and fixed all presubmit errors. BUG=28083 TEST=None Review URL: http://codereview.chromium.org/4192012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64573 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 63232 - On Windows, create a new TransportDIB::Handle struct which ↵kkania@chromium.org2010-10-201-16/+15
| | | | | | | | | | | | | | | | | | | | | | | | | includes the file mapping HANDLE and the source process ID. Duplicating the handle for the remote process is done in TransportDIB::Map, instead of in various #ifdefs scattered across the code. Also on windows, remove the struct for the TransportDIB::Id which contained both the sequence number and the HANDLE and replace it with just the sequence number. Fix ThumbnailGenerator by mapping the TransportDIB on Windows and adding a method to duplicate the file mapping handle before sending across the channel. Also, add a ScopedHandle and fix some handle leaks. BUG=none TEST=none Review URL: http://codereview.chromium.org/3834003 TBR=kkania@chromium.org Review URL: http://codereview.chromium.org/3943002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63246 0039d316-1c4b-4281-b951-d872f2087c98
* On Windows, create a new TransportDIB::Handle struct which includes the filekkania@chromium.org2010-10-201-15/+16
| | | | | | | | | | | | | | | | | | | | mapping HANDLE and the source process ID. Duplicating the handle for the remote process is done in TransportDIB::Map, instead of in various #ifdefs scattered across the code. Also on windows, remove the struct for the TransportDIB::Id which contained both the sequence number and the HANDLE and replace it with just the sequence number. Fix ThumbnailGenerator by mapping the TransportDIB on Windows and adding a method to duplicate the file mapping handle before sending across the channel. Also, add a ScopedHandle and fix some handle leaks. BUG=none TEST=none Review URL: http://codereview.chromium.org/3834003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63232 0039d316-1c4b-4281-b951-d872f2087c98
* Move Stats, histograms, and field trial into a metrics subdirectory of base andbrettw@chromium.org2010-10-141-1/+1
| | | | | | | | | put them in the base namespace. TEST=it compiles BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62510 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 61608 - On Windows, create a new TransportDIB::Handle struct which ↵satish@chromium.org2010-10-061-15/+15
| | | | | | | | | | | | | | | | | | | | | | | includes the file mapping HANDLE and the source process ID. Duplicating the handle for the remote process is done in TransportDIB::Map, instead of in various #ifdefs scattered across the code. Also on windows, remove the struct for the TransportDIB::Id which contained both the sequence number and the HANDLE and replace it with just the sequence number. Fix ThumbnailGenerator by mapping the TransportDIB on Windows and adding a method to duplicate the file mapping handle before sending across the channel. BUG=none TEST=none Review URL: http://codereview.chromium.org/3305020 BUG=58128 TBR=kkania@chromium.org Review URL: http://codereview.chromium.org/3596008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61624 0039d316-1c4b-4281-b951-d872f2087c98
* On Windows, create a new TransportDIB::Handle struct which includes the filekkania@chromium.org2010-10-061-15/+15
| | | | | | | | | | | | | | | | | mapping HANDLE and the source process ID. Duplicating the handle for the remote process is done in TransportDIB::Map, instead of in various #ifdefs scattered across the code. Also on windows, remove the struct for the TransportDIB::Id which contained both the sequence number and the HANDLE and replace it with just the sequence number. Fix ThumbnailGenerator by mapping the TransportDIB on Windows and adding a method to duplicate the file mapping handle before sending across the channel. BUG=none TEST=none Review URL: http://codereview.chromium.org/3305020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61608 0039d316-1c4b-4281-b951-d872f2087c98
* Revert asynchronous backing store changes.derat@chromium.org2010-10-051-25/+14
| | | | | | | | | | | | | | | | | | | | | | | | This reverts http://codereview.chromium.org/3506007 (r61225 -- the original change) and http://codereview.chromium.org/3616005 (r61446 -- a fix for a double-free in Pepper caused by the original change). Doing asynchronous copying to the backing store in the browser requires some large changes to Pepper that I'm not going to have time to work on anytime soon. A cache of in-flight TransportDIBs would need to be added (similar to what the renderer already does), and we'd also need to do copy-on-write when a plugin wants to draw on top of a previous frame that's currently held by the browser. It seems safer to revert the early part of the asynchronous copying change instead of leaving it partially checked in. BUG=none TEST=ran it Review URL: http://codereview.chromium.org/3583012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61525 0039d316-1c4b-4281-b951-d872f2087c98
* Don't try to ReleaseTransportDIB() the dibs that come from pepperpiman@chromium.org2010-10-051-2/+0
| | | | | | | | | | | | | This fixes http://code.google.com/p/chromium/issues/detail?id=57906 that was introduced by http://codereview.chromium.org/3506007/show BUG=57906 TEST=see bug. Go to http://www.flashtexteditor.com/ with pepper flash and observe no crash Review URL: http://codereview.chromium.org/3616005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61446 0039d316-1c4b-4281-b951-d872f2087c98
* Add ViewMsg_DoneUsingBitmap message.derat@chromium.org2010-10-011-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | | ViewMsg_UpdateRect_ACK messages sent from the browser to the renderer currently tell the renderer both that it can start rendering the next update and that the TransportDIB that it previously sent to the browser is now available for reuse. This change adds a new ViewMsg_DoneUsingBitmap message for communicating the latter piece of information. We currently always send ViewMsg_DoneUsingBitmap immediately before sending ViewMsg_UpdateRect_ACK, so no functional changes are intended from this change. This is preparatory work for an optimization where we defer copying updates to the backing store, instead copying them directly from the TransportDIB to the widget -- if we get repeated updates for the same region, we can avoid copying all but the final update to the backing store entirely. BUG=none TEST=tried it on GTK; sent to trybots. will do some testing on other platforms too Review URL: http://codereview.chromium.org/3506007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61225 0039d316-1c4b-4281-b951-d872f2087c98
* Add some optimizations to plugin painting.brettw@chromium.org2010-09-241-5/+28
| | | | | | | | | | | | | | | | | | The simplest one is to disable blending when the plugin is opaque. The more complicated one is to bypass webkit painting the background of plugins when we know the plugin to be always on top and also opaque. The always on top flag is currently set by a new "Private2" API. Bypassing WebKit makes animations faster. This is a re-land of the previous patch with a trivial compilation fix. This also adds a clip rect to the GetBitmap... function so we can properly handle plugins in nested iframes with proper clipping. BUG=none TEST=none Original review URL: http://codereview.chromium.org/3421030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60426 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Add some optimizations to plugin painting."maruel@chromium.org2010-09-231-22/+5
| | | | | | | | | | | | This reverts commit 60329. TBR=brettw BUG= TEST= Review URL: http://codereview.chromium.org/3442013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60331 0039d316-1c4b-4281-b951-d872f2087c98
* Add some optimizations to plugin painting.brettw@chromium.org2010-09-231-5/+22
| | | | | | | | | | | | | | | The simplest one is to disable blending when the plugin is opaque. The more complicated one is to bypass webkit painting the background of plugins when we know the plugin to be always on top and also opaque. The always on top flag is currently set by a new "Private2" API. Bypassing WebKit makes animations faster. BUG=none TEST=none Review URL: http://codereview.chromium.org/3421030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60329 0039d316-1c4b-4281-b951-d872f2087c98
* Fix tabs updated in background won't be rendered properlyvangelis@chromium.org2010-09-161-1/+1
| | | | | | | | | | | | Remove incorrect check for needs_repainting in OnWasRestored. This check, when in place, causes us to drop the needs_repainting_on_restore_ repaints. Patch submitted by: nduca@chromium.org BUG=55515 TEST= Review URL: http://codereview.chromium.org/3411007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59591 0039d316-1c4b-4281-b951-d872f2087c98
* Accelerated Compositing: screen garbage when scrolling darin@chromium.org2010-09-131-42/+84
| | | | | | | | | | | | | | | | | | | | | Re-work the way the compositor handles invalidations, scrolling and repaint requests. Previously, compositor piggy-backed on the software rendering path for handling of these events. This CL, paired with webkit bug 45092 allows the compositor to track and manage invalidations, scrolling and repainting independently, allowing us to fix a number of accelerated rendering bugs stemming from interaction with the software renderer. Patch by Nat Duca (nduca@chromium.org) R=darin BUG=52519 TEST=none Originally reviewed at http://codereview.chromium.org/3350006 Review URL: http://codereview.chromium.org/3368016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59293 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a class to track when a node in a page gets clicked.jcivelli@chromium.org2010-09-051-1/+4
| | | | | | | | | | | | This is going to be used by the password/form autofill to trigger the suggestion popup, as part of the effort in moving that code out of WebKit. BUG=None TEST=Run unit-tests. Review URL: http://codereview.chromium.org/3090007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58597 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move individual XXXMsg_Params structs to a new file.erg@google.com2010-08-241-0/+1
| | | | | | | | | | | | | | | | The new file, render_messages_params.h, is included in 57 files, while render_messages.h is included in 176 files. Moving the Params structs to their own file allow pruning the included headers. (Part 2 of this cleanup will be sorting the individual structs into themes to further minimize header inclusion.) BUG=51411 TEST=compiles Review URL: http://codereview.chromium.org/3119035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57229 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding a previous CL (I fixed the ChromeOS build):jcivelli@chromium.org2010-08-231-2/+0
| | | | | | | | | | | | | | | Making window.focus()/blur() work only when there is a user gesture. Also making window.focus() select tab if it is not visible. The RenderViewHost now calls ActivateContent and the new DeactivateContent (instead of using the recently added TabContentsDelegate::Activate/Deactivate methods which have been removed). TBR=darin,sky BUG=29643,52346 TEST=Create a page with buttons that call window.focus()/blur() directly and with a timeout. When called directly, the calls should succeed (the browser should be activated/deactivated). When called with a timeout, nothing should happen. Also test that a popup calling window.opener.focus() cause the opening tab to become selected when it is not the current tab. Review URL: http://codereview.chromium.org/3174030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57124 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 57094 - Making window.focus()/blur() work only when there is a user ↵jcivelli@chromium.org2010-08-231-0/+2
| | | | | | | | | | | | | | | | | gesture. Also making window.focus() select tab if it is not visible. The RenderViewHost now calls ActivateContent and the new DeactivateContent (instead of using the recently added TabContentsDelegate::Activate/Deactivate methods which have been removed). BUG=29643,52346 TEST=Create a page with buttons that call window.focus()/blur() directly and with a timeout. When called directly, the calls should succeed (the browser should be activated/deactivated). When called with a timeout, nothing should happen. Also test that a popup calling window.opener.focus() cause the opening tab to become selected when it is not the current tab. Review URL: http://codereview.chromium.org/3156016 TBR=jcivelli@chromium.org Review URL: http://codereview.chromium.org/3201008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57105 0039d316-1c4b-4281-b951-d872f2087c98
* Making window.focus()/blur() work only when there is a user gesture.jcivelli@chromium.org2010-08-231-2/+0
| | | | | | | | | | | | Also making window.focus() select tab if it is not visible. The RenderViewHost now calls ActivateContent and the new DeactivateContent (instead of using the recently added TabContentsDelegate::Activate/Deactivate methods which have been removed). BUG=29643,52346 TEST=Create a page with buttons that call window.focus()/blur() directly and with a timeout. When called directly, the calls should succeed (the browser should be activated/deactivated). When called with a timeout, nothing should happen. Also test that a popup calling window.opener.focus() cause the opening tab to become selected when it is not the current tab. Review URL: http://codereview.chromium.org/3156016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57094 0039d316-1c4b-4281-b951-d872f2087c98
* Use RenderWidget(Host) for full screenboliu@chromium.org2010-08-191-4/+29
| | | | | | | | | | | | | | | | | | | Add RenderWidgetFullscreen(Host) subclasses, InitAsFullscreen method to RenderWidgetHostView, and add two new ipc messages for creating and showing full screen. Add createFullscreenWindow to RenderView that creates RenderWidgetFullscreen and sends message to browser which eventually creates RenderWidgetFullscreenHost. The show method on RenderWidgetFullscreen sends message to parent RenderViewHost in browser, which calls InitAsFullscreen on the view. BUG=16735 TEST=RenderViewHostTest.CreateFullscreenWidget Review URL: http://codereview.chromium.org/3055009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56690 0039d316-1c4b-4281-b951-d872f2087c98
* Reapplies all the IPC system work (reverts the revert r56272).erg@google.com2010-08-171-0/+2
| | | | | | | | | | | That patch wasn't what caused the regression in the page cycler. BUG=51411,52103 TEST=still compiles Review URL: http://codereview.chromium.org/3106018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56390 0039d316-1c4b-4281-b951-d872f2087c98
* Completely revert all my IPC work to see if this was what regressed the page ↵erg@google.com2010-08-171-2/+0
| | | | | | | | | | | cycler. BUG=51411,52103 TEST=page cycler Review URL: http://codereview.chromium.org/3170020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56272 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove all the easy headers from *_messages.h.erg@google.com2010-08-121-0/+2
| | | | | | | | | BUG=51411 TEST=compiles Review URL: http://codereview.chromium.org/3174002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55902 0039d316-1c4b-4281-b951-d872f2087c98
* Making window.focus() work in Chrome.jcivelli@chromium.org2010-08-111-7/+1
| | | | | | | | | | | | | | | | A patch on the WebKit side https://bugs.webkit.org/show_bug.cgi?id=43542 ensures we get the correct notification when window.focus()/blur() is called. This CL makes the browser active/unactive in response to the focus/blur message. BUG=29643 TEST=Visit gmail. Open an IM conversation window and pop-it out. Focus the browser (so the IM window is in the back). Click on the person name in the IM section of gmail. The conversation window should be brought back to the front. Repeat but this time minimize the conversation window. Review URL: http://codereview.chromium.org/3060045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55678 0039d316-1c4b-4281-b951-d872f2087c98
* Let PaintAtAck send an int tag instead of the TransportDIB handle.thakis@chromium.org2010-07-191-4/+3
| | | | | | | | | | | TransportDIB handles are file descriptors on mac, which are duped when sent over IPC. Hence, they change their value, and the handle that comes back over IPC is not the same that was originally sent -- so they can't be used as map keys. BUG=none TEST=none Review URL: http://codereview.chromium.org/3037006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52925 0039d316-1c4b-4281-b951-d872f2087c98
* Revert some changes I accidentally checked in in revision 50597. This was anbrettw@chromium.org2010-07-011-7/+1
| | | | | | | | | | | experiment to see how much time was spent doing background painting. This resulted in incorrect opacity for Pepper plugins repainting themselves. TEST=none BUG=none Review URL: http://codereview.chromium.org/2830034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51420 0039d316-1c4b-4281-b951-d872f2087c98
* Improve input method support.suzhe@chromium.org2010-06-231-100/+58
| | | | | | | | | | | | | | | This CL fixes following issues: BUG=23219 IME should be disabled in password box. BUG=41876 Chinese IME is still active when current focus is not a text input control BUG=44529 Clause segmentation information of composition text is not honored when using CJK input methods. BUG=46326 Clicking during a composition cancels it TEST=See individual bug report. This CL is blocked on webkit bug: https://bugs.webkit.org/show_bug.cgi?id=40608 Review URL: http://codereview.chromium.org/2824015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50622 0039d316-1c4b-4281-b951-d872f2087c98
* Replace wstring with string16 in history. The only time wstring is used now ↵brettw@chromium.org2010-06-231-1/+7
| | | | | | | | | | | | in history is for bookmark-related stuff (the bookmarks system is still wstring-based). The substantial change here is in RTL to make a string16 variant of the functions and in changing the WordIterator to use string16 (this cleaned up some weird utf-32 code). TEST=none BUG=none Review URL: http://codereview.chromium.org/2808017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50597 0039d316-1c4b-4281-b951-d872f2087c98
* Cleaning up the node focus notification.jcivelli@google.com2010-06-011-6/+0
| | | | | | | | | | | | | The notification that the focus changed in the page now uses webkit::WebViewClient::focusedNodeChanged() implemented by RenderView. It was previously relying on the more general webkit::WebWidgetClient::didFocus() implemented in RenderWidget. (that should ideally only be fired when the frame gets focused, not everytime the focus in the frame changes). BUG=None TEST=Interactive UI tests should still pass (especially BrowserFocus*) Review URL: http://codereview.chromium.org/2301001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48638 0039d316-1c4b-4281-b951-d872f2087c98
* This tunes up some of the snapshot creation code.gspencer@chromium.org2010-05-281-15/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Includes: - Makes it so that the PaintAtSize message does what it should do: render the page at the size given and then scale (in the render process) the result to the desired size. - Changed some of the timeouts for updating snapshots to help with performance - Reduced the number of cases where we refresh snapshots in response to tabs changing. - Removed the need to force updates whenever we switch to overview mode, which makes it faster, and avoids the "shuffling" effect. - Started listening to TAB_CONTENTS_CONNECTED in order to detect new browsers, instead of BROWSER_WINDOW_READY, because there were still times when the tab contents didn't have any dimensions by the time BROWSER_WINDOW_READY was sent. This helps fix the bug referenced below. - Stopped updating snapshots in active mode. Now we just invalidate the snapshots and render them when we enter overview mode. - Added a parameter to indicate whether we prefer using the backing store or not when asking for snapshots from the thumbnail generator. - Added tracking of a timestamp for events from the window manager so we can avoid racing. TEST=ran in chromeos under WM and verified snapshot contents BUG=chromium-os:3142, 3136 Review URL: http://codereview.chromium.org/2098006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48544 0039d316-1c4b-4281-b951-d872f2087c98
* Enabled mousewheel coalescing to work better for ChromeOS.davemoore@chromium.org2010-05-281-1/+8
| | | | | | | | | | | | | This was important because the browser process couldn't keep up with the input stream, resulting in poor 2 finger scroll behavior. It's now tuned to the settings in cros. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/2239001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48541 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up calls like "gfx::Rect(0, 0, size().width(), size().height()".erg@chromium.org2010-05-261-4/+4
| | | | | | | | | | | | The caller can use the much shorter "gfx::Rect(size())", since gfx::Rect has a constructor that just takes a Size. BUG=none TEST=none Review URL: http://codereview.chromium.org/2204001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48283 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a regression where we send too many IME_CANCEL_COMPOSITIONtony@chromium.org2010-05-261-3/+5
| | | | | | | | | | | | | | events back to the browser. This isn't a problem on OSX because we clear the compositon before sending WebCompositionCommandDiscard (hbono even asked about this during the OSX review). BUG=45003 Review URL: http://codereview.chromium.org/2247003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48251 0039d316-1c4b-4281-b951-d872f2087c98
* Stop the browser from scrolling the View contents when gpu accelerated ↵vangelis@chromium.org2010-05-141-2/+9
| | | | | | | | | | compositing is enabled. BUG=44044 Review URL: http://codereview.chromium.org/2053008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47224 0039d316-1c4b-4281-b951-d872f2087c98
* Do right-alignment of popups when WebKit indicates to do so.avi@chromium.org2010-05-131-0/+1
| | | | | | | | | BUG=http://crbug.com/23106 TEST=as in bug Review URL: http://codereview.chromium.org/1992006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47204 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a new IPC message to notify the browser process when a render widget ↵vangelis@chromium.org2010-05-071-1/+17
| | | | | | | | | | | | | is using the gpu process for painting its contents so that the browser will stop rendering from its own backing surface. This will currently only trigger if a page uses the accelerated compositing path. This patch can only land _after_ https://bugs.webkit.org/show_bug.cgi?id=38220 BUG=42677 TEST=NONE Review URL: http://codereview.chromium.org/1696014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46697 0039d316-1c4b-4281-b951-d872f2087c98