summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_widget.cc
Commit message (Collapse)AuthorAgeFilesLines
* From agl. Cleaned up version of issue 19046.thestig@chromium.org2009-02-031-14/+52
| | | | | | | | | | | | | POSIX: bitmap data on the wire On Windows, when drawing a given rect in the renderer, we allocate memory for the bitmap, render and send a shared memory handle across IPC. In the browser, we bitblit the shared memory to the backing store and draw it to the screen. In the long term, on Linux, we want the backingstore to be shared with both X and the renderer. The renderer then draws directly to that store, sends an IPC to the browser and the browser sends a message to X to bitblit to the display. Since only cache a few backing stores we'll need messages from the browser to tell the renderer to attach and detatch from shared memory regions as they get created and evicted. In the short term, however, to get something that works, we make a BitmapWireData typedef. This will be a shared memory region on Windows, as before, and on POSIX we'll be sending the bitmap data over the wire. Obviously this'll be pretty slow but it'll work sooner. Review URL: http://codereview.chromium.org/19491 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9065 0039d316-1c4b-4281-b951-d872f2087c98
* Remove most header file dependencies on the notification type list. It isbrettw@chromium.org2009-02-011-2/+0
| | | | | | | | | | | really painful to add more types, since lots of headers include the notification service to derive from the notification observer. This splits that out, so much less of the project should end up including notification_types.h ---Paths modified but not in any changelist: Review URL: http://codereview.chromium.org/19744 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9020 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bunch of lint complaints in preparation to land issue 19046. Mostly ↵thestig@chromium.org2009-01-301-2/+3
| | | | | | | | formatting changes, i.e. CRLF, space at end of line. Review URL: http://codereview.chromium.org/19486 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8933 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: gfx::NativeViewId and CrossProcessEventagl@chromium.org2009-01-271-4/+3
| | | | | | | | | | | | | | | | | | | Create a couple new typedefs for porting work. Firstly, gfx::NativeViewId is a handle to a platform specific widget in the renderer process. For Windows, this is just a HWND as before. However, in other platforms the ids used in the renderer process will be something else. CrossProcessEvent is the type of a HANDLE to a Windows event object which is used across processes. Since we aren't going to support these sorts of events on non-Windows platforms, this will have to go away at some point. For now, however, this lets us build code without too many ifdefs all over the place. Review URL: http://codereview.chromium.org/18768 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8756 0039d316-1c4b-4281-b951-d872f2087c98
* The popup for autofill is now never activated, even when clicked.jcampan@chromium.org2009-01-091-6/+5
| | | | | | | | | | | | | This allows us to hide it when the page loses focus. (doing that previously would have caused the popup to be hidden before the click in the popup was sent to the renderer). Most of the file changes are just renaming focus_on_show to activatable. TEST=Open a form and make an autofill popup. Focus another window, the popup should disappear. Ensure the autofill still work properly, and the combo-box as well. BUG=3844,5830 Review URL: http://codereview.chromium.org/17455 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7823 0039d316-1c4b-4281-b951-d872f2087c98
* Adjusting the name of a function to make it more descriptive.avi@google.com2008-12-301-1/+1
| | | | | | Review URL: http://codereview.chromium.org/16489 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7504 0039d316-1c4b-4281-b951-d872f2087c98
* Move the "platform" wrappers in skia/ext to the skia namespace.brettw@google.com2008-12-171-1/+1
| | | | | | Review URL: http://codereview.chromium.org/14110 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7182 0039d316-1c4b-4281-b951-d872f2087c98
* Remove base versions of the graphics headers, which previously just ↵brettw@google.com2008-11-221-1/+1
| | | | | | | | forwarded to the skia ones. Review URL: http://codereview.chromium.org/11588 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5894 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb WebCore's windowResizerRect() through glue and renderer. Enables Mac ↵pinkerton@google.com2008-11-211-0/+5
| | | | | | | | scrollbars to not overlap the in-window resizer widget. Review URL: http://codereview.chromium.org/11353 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5831 0039d316-1c4b-4281-b951-d872f2087c98
* A workaround fix for Issue 343 "Chinese Sogou input method lose first ↵hbono@chromium.org2008-11-171-1/+7
| | | | | | | | | | | | | | initial letter". This issue is caused by our IME code that does not filter out focus events raised by an IME function of WebKit, WebCore::Editor::setComposition(). Its details are listed below: 1. WebKit sometimes creates a WebCore::EditingText instance and moves the input focus to the instance while updating a composition string in the Editor::setComposition() function; 2. Our IME code automatically finishes the ongoing composition everytime when WebKit moves the input focus to the WebCore::EditingText instance. As a wordaround for this issue, this change ignores focus events while a renderer process updates a composition string with the Editor::setComposition() function. Review URL: http://codereview.chromium.org/10827 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5556 0039d316-1c4b-4281-b951-d872f2087c98
* Add Terminate() to the Process object, have RenderProcessHost use this to ↵brettw@google.com2008-11-141-1/+2
| | | | | | | | | | avoid some more Windows specific code. Move Process and SharedMemory into the base namespace (most changes). Review URL: http://codereview.chromium.org/10895 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5446 0039d316-1c4b-4281-b951-d872f2087c98
* Landing this again as I cannot reproduce the perf regression locally.jcampan@chromium.org2008-11-071-5/+9
| | | | | | | | | | | Will investigate on the bot. TBR=nsylvain Review URL: http://codereview.chromium.org/9700 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5018 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting the autofill popu CL as it creates perf regression.jcampan@chromium.org2008-11-061-9/+5
| | | | | | | | TBR=nsylvain Review URL: http://codereview.chromium.org/9460 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4908 0039d316-1c4b-4281-b951-d872f2087c98
* Changes parameters used by IME code to fix several issues caused by Japanese ↵hbono@chromium.org2008-11-061-19/+23
| | | | | | | | | | | | | | IMEs. Recent Japanese IMEs (ATOK2008 and MSIME 2007) display a suggestion window (a window which contains suggestions) above a composition string. To fix this issue, we do not only send the lower-left corner of a composition string but also send its upper-left corner and its upper-right corner. So, this change changes IPC parameters used by IME from a tuple of integers to gfx::Rect. Also, this change fixes cursor positions for Japanese IMEs. BUG=2770 "IME: Candidate window of Japanese IME follows the end of composition" BUG=2771 "ATOK 2008 IME pop-ups are displayed below the main Chrome window." BUG=2775 "IME: Caret is always displayed at the last of IME composition." Review URL: http://codereview.chromium.org/7385 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4872 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds the autofill UI in forms.jcampan@chromium.org2008-11-051-5/+9
| | | | | | | | | | | | When the user types text in a text field in a form, the renderer queries the browser for suggestion based on the entered text and displays the suggestions in a popup. Listeners are set on the form text field in a similar fashion than for password save. The popup showing the suggestion uses the same mechanism as the select popup. Note that a difference between the select and the autofill popup is that the autofill should not take focus, so the page still has focus and the user can still type in while it shows. The creation of the render widget was modified for that purpose so we can specify the popup should not be focused when shown. Review URL: http://codereview.chromium.org/8885 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4804 0039d316-1c4b-4281-b951-d872f2087c98
* A fix for Issue 3234 in chromium "Input type password: IME is not disabled."hbono@chromium.org2008-10-311-7/+3
| | | | | | | | This issue is caused by my bonehead mistake that I forgot removing my legacy code, which raises a false event to Chrome. Sorry. This change also fixes a crash that happens in Google Sites. Review URL: http://codereview.chromium.org/8745 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4301 0039d316-1c4b-4281-b951-d872f2087c98
* Factor out a RenderThread interfacecpu@google.com2008-09-261-12/+20
| | | | | | | | | | | - RenderWidget was not unit testable as it was - Adding the first ever RederWidget unit tests It is possible to do more. Taking it step by step. Review URL: http://codereview.chromium.org/4271 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2649 0039d316-1c4b-4281-b951-d872f2087c98
* The GetWindowRect must return the rect of the container HWND; not the actual ↵erg@google.com2008-08-281-1/+4
| | | | | | | | | | window rect. The usage of GetWindowRect in the ChromeClientImpl::windowRect() function is erroneous, and my modification of GetWindowRect to return the HWND's root ancestor rect broke drop down combo boxes and other embeded controls. So instead, add a GetRootWindowRect which gets the root anncestor of the HWND's rect and use it in ChromeClientImpl::windowRect(). BUG=1344367,1186573,1334505 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1496 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ChromeClientImpl::windowRect() to return the currenterg@google.com2008-08-211-4/+2
| | | | | | | | | | window's rect. Previously, it was combining the window origin with the size of the renderer; not the size of the window. BUG=1186573 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1184 0039d316-1c4b-4281-b951-d872f2087c98
* git-svn-id: svn://svn.chromium.org/chrome/trunk/src@873 ↵awalker@google.com2008-08-141-2/+2
| | | | 0039d316-1c4b-4281-b951-d872f2087c98
* Removing the code which enables using the renderer dib in the browser backingiyengar@google.com2008-08-141-15/+6
| | | | | | | | | store as this hurts performance. Bug=1314407 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@858 0039d316-1c4b-4281-b951-d872f2087c98
* This fixes http://b/issue?id=1257424, which is a need to implement a global ↵iyengar@google.com2008-08-061-6/+24
| | | | | | | | | | | | | | | | backing store cache. The current backing store cache is only used for invisible tabs and every other RenderWidgetHost holds a reference to its backing store. This CB proposes a change where in we have a global backing store cache, whose size can be controlled based on strategies like available resources etc. At this point the strategy is not implemented and the size is left at 5. We no longer maintain a reference to the backing store in the RenderWidgetHost. Every host queries the global cache for its backing store. The cache provides methods to create the backing store and populate it with the required dib. The other change is to use the renderer dib when the size of the bitmap being painted is the same as the backing store size. This is an attempt to improve performance in operations like scrolling. Bug=1257424 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@422 0039d316-1c4b-4281-b951-d872f2087c98
* Add chrome to the repository.initial.commit2008-07-261-0/+769
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98