summaryrefslogtreecommitdiffstats
path: root/chrome/browser/render_view_host.cc
Commit message (Collapse)AuthorAgeFilesLines
* Add "Enable spell check for this field" menu option in sub context menu for ↵sidchat@google.com2008-12-151-0/+4
| | | | | | | | context menu over text box, and deploy its functionality accordingly across the code. This patch also allows manual switch-on of spell check in single line text box fields. Review URL: http://codereview.chromium.org/13731 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7000 0039d316-1c4b-4281-b951-d872f2087c98
* The onbeforeunload event could be sent more than once to a page.jcampan@chromium.org2008-12-031-5/+11
| | | | | | | | | | This would happen if you closed a tab more than once and if you closed the browser several times (while it is waiting for unloads to execute). BUG=5029 TEST=See bug Review URL: http://codereview.chromium.org/13078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6297 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the URL and title from the state getting functions and IPC messages.brettw@google.com2008-12-021-7/+1
| | | | | | | If the title or URL changes, we'll be updated in other ways, so this extra processing is wasted. Review URL: http://codereview.chromium.org/12859 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6225 0039d316-1c4b-4281-b951-d872f2087c98
* Fix window.open()/window.close() regression by disabling window.close() ↵erg@google.com2008-12-011-0/+4
| | | | | | | | | | | until a message comes back from the Browser thread saying that it's OK to allow javascript close calls. ISSUE=http://crbug.com/4007 Review URL: http://codereview.chromium.org/12691 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6165 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some Windows-specific stuff from RenderProcessHost by having callers ↵brettw@google.com2008-11-111-1/+1
| | | | | | | | get the process handle and PID directly from the corresponding Process object. Review URL: http://codereview.chromium.org/10608 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5219 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/10005petersont@google.com2008-11-111-30/+8
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5151 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/10237petersont@google.com2008-11-081-8/+30
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5059 0039d316-1c4b-4281-b951-d872f2087c98
* Entries in a form get recorded when the user submits the form. Database and ↵petersont@google.com2008-11-081-30/+8
| | | | | | | | pop-up menu talk to each other. Pop-up menu appears containing suggestions. Review URL: http://codereview.chromium.org/9462 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5058 0039d316-1c4b-4281-b951-d872f2087c98
* Landing this again as I cannot reproduce the perf regression locally.jcampan@chromium.org2008-11-071-2/+42
| | | | | | | | | | | 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
* Continue with crosssite navigations if alerts are suppressedojan@google.com2008-11-071-3/+11
| | | | | | | in an unload handler (i.e. we have an infinite-ish alert loop). Review URL: http://codereview.chromium.org/9477 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4935 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting the autofill popu CL as it creates perf regression.jcampan@chromium.org2008-11-061-42/+2
| | | | | | | | 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
* Bandaid patch so that we continue with crosssite navigations instead of ↵ojan@google.com2008-11-061-18/+15
| | | | | | | | | | | | | | | closing the tab if the beforeunload /unload handler hangs. This patch does the right user-visible behavior, but I'm not a huge fan of the plumbing necessary to make it work. Totally open to cleanup suggestions. There's also currently one bug that I haven't been able to pinpoint in the UI test. It only treats the first UI test of the four that I run as a cross-site navigation. No matter which test I run first. I wonder if there is some state I should be setting/clearing before/after each test run? Also there's a DHECK that we hit that the UI test exposed. I 'm not sure it's a case that a user could actually hit though and it's not new with this code, so I added a TODO. Can I get help from a mac person on adding the UI test to the xcode project? BUG=3198 Review URL: http://codereview.chromium.org/8920 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4855 0039d316-1c4b-4281-b951-d872f2087c98
* Added functions to WebDatabase and WebDataService for recording frequent ↵petersont@google.com2008-11-051-0/+7
| | | | | | | | entries in text input elements in forms. Also added the class AutofillManager which gets instantiated once per WebContents and provides an API from which the database can be easily accessed to provide a list of possible desired values to be entered in a text field given what the user has already typed there. Review URL: http://codereview.chromium.org/8845 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4809 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds the autofill UI in forms.jcampan@chromium.org2008-11-051-2/+42
| | | | | | | | | | | | 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
* This fixes the VerifyHistoryLength ui test flakiness. The test initiates ↵ananta@chromium.org2008-10-311-2/+0
| | | | | | | | | | | | | | page navigations in timers and reads the history length to validate it. When we receive a request to initiate a navigation in the browser, we send out the request to the renderer and then immediately read the history length and send it out in an update history length request. This causes the test to fail at times as it reads a stale history length. When we receive the DidAddHistoryItem notification in the renderer, we should not update the history length for the start page navigation. This results in the test failure at times as it reads an incorrect history length. R=jam Review URL: http://codereview.chromium.org/8898 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4344 0039d316-1c4b-4281-b951-d872f2087c98
* Roll deps to pull in new third_party/WebKitojan@google.com2008-10-301-1/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4226 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb the referrer throughout the OpenURL APIs.ericroman@google.com2008-10-271-1/+3
| | | | | | | | | | | | | http://code.google.com/p/chromium/issues/detail?id=3224 Caveats: * Did not update TabNavigation yet. Hence session restore will continue to load the tabs with empty referrer. * Did not plumb referrer into incognito url open. (Not sure what the right thing to do is here with respect to privacy vs compatibility.) * Did not plumb referrer throughout the automation controller. No functional impact here, but it makes the code inconsistent with the non-automation version. Review URL: http://codereview.chromium.org/8186 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4036 0039d316-1c4b-4281-b951-d872f2087c98
* Move Time, TimeDelta and TimeTicks into namespace base.dsh@google.com2008-10-271-0/+2
| | | | | | Review URL: http://codereview.chromium.org/7995 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4022 0039d316-1c4b-4281-b951-d872f2087c98
* Remove WebKeyboardEvent::key_data because we don't actually use ittc@google.com2008-10-211-1/+1
| | | | | | | | anymore. This makes WebKeyboardEvent easier to port to other platforms. Review URL: http://codereview.chromium.org/8026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3692 0039d316-1c4b-4281-b951-d872f2087c98
* Factor find in page out of WebContents and into the view, since it is almostbrettw@google.com2008-10-211-5/+4
| | | | | | | | | | | | | | | all view specific. Rename find in page controller to be "FindBarWin", and find in page view to be "findBarView" (since this is not Windows specific, but "Views" specific). I did lots of simplification and moving around of the find in page API. I coalesced several of the show functions into one master function on the view. I removed some other sizing and window updating code from WebContents and moved it to the view. Review URL: http://codereview.chromium.org/7667 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3654 0039d316-1c4b-4281-b951-d872f2087c98
* Move more platform-specific stuff from WebContents to the view.brettw@google.com2008-10-181-8/+25
| | | | | | | | | | | I refactored the way title setting is done since there were two parts that duplicated the logic and did so slightly differently. I removed some old code in RendererGone whose premise is no longer valid and had the effect of creating a bug with no benefit. I moved the sad tab view from WebContents to the view. Amusingly, the view was the only one using this, but it would go poke inside of the WebContents to get it. Review URL: http://codereview.chromium.org/7650 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3601 0039d316-1c4b-4281-b951-d872f2087c98
* Remove throttling code from the Browser process and implement throttling in ↵erg@google.com2008-10-171-1/+4
| | | | | | | | | | | | | the Renderer. The previous way of doing throttling was just calling CloseContents() on a window to reject it. But since the Browser is notified about a window opening asynchronously, by the time the CloseContents() sends a message back to the Renderer, a bunch more windows have been opened, leading to memory exhaustion. Instead, make all RenderViews created from a parent RenderView share a counter and start refusing to create RenderViews if too many RV have been created. Every RenderView (except for the first one) is assumed to be an unrequested popup, until notified by the Browser process by either a ViewMsg_DisassociateFromPopupCount message (this RenderView is a new top level page) or a ViewMsg_DisassociatePopup message (this RenderView is a requested popup and therefore shouldn't count against the count.) BUG=3382, 2632 Review URL: http://codereview.chromium.org/7388 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3568 0039d316-1c4b-4281-b951-d872f2087c98
* Adds the anti-carpet bombing dialog. More specifically a newsky@google.com2008-10-171-0/+8
| | | | | | | | | | | | | | | | | EventHandler now exists between the buffered event handler and download event handler. This new event handler asks the DownloadRequestManager whether the download is allowed. This may prompt the user and then the download continues or is canceled. The DownloadRequestManager receives the request on the IO thread, forwards to the UI thread, makes the decision, then notifies back on the IO thread. BUG=3422 TEST=make sure you don't see any problems downloading content. Review URL: http://codereview.chromium.org/7479 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3543 0039d316-1c4b-4281-b951-d872f2087c98
* Separate out most view creation from WebContents. This adds a new ↵brettw@google.com2008-10-171-6/+15
| | | | | | | | sub-delegate to RenderViewHostDelegate which is implemented by WebContentsView. I did a lot of plumbing and moving around as a result. Review URL: http://codereview.chromium.org/6608 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3527 0039d316-1c4b-4281-b951-d872f2087c98
* Rename various text zoom related stuff to be more generic, since we now canbrettw@google.com2008-10-141-2/+2
| | | | | | | | | | optionally zoom the page. I added an easy way in render_view to toggle between text zoom and full page zoom, and allowed the embedder to specify this in the glue layer. This allows me to fix the text zoom layout test, which specifically asks that the text be zoomed. Review URL: http://codereview.chromium.org/7320 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3377 0039d316-1c4b-4281-b951-d872f2087c98
* Adds MSAA/IAccessible exposure of web content.klink@chromium.org2008-09-301-3/+3
| | | | | | Review URL: http://codereview.chromium.org/4057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2738 0039d316-1c4b-4281-b951-d872f2087c98
* Move a bunch of stuff out of WebContents. I removed a bunch of render view ↵brettw@google.com2008-09-251-23/+11
| | | | | | | | | host pass-throughs and just made the callers call the render view host directly. I don't think we're trying to isolate the layers to this degree, and WebContents is so big these just added noise. I removed the RenderViewHost->WebContents->SavePackage pass-through by using a delegate that the SavePackage implements (like we already do for find in page). I also noticed some file upload stuff wasn't used at all and removed it. Review URL: http://codereview.chromium.org/4088 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2612 0039d316-1c4b-4281-b951-d872f2087c98
* Stop spamming delayed tasks on each input event.darin@chromium.org2008-09-251-4/+4
| | | | | | | | | R=mbelshe BUG=2693 Review URL: http://codereview.chromium.org/4262 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2609 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for "Add to dictionary" in the context menu.sidchat@google.com2008-09-171-0/+4
| | | | | | Review URL: http://codereview.chromium.org/2446 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2322 0039d316-1c4b-4281-b951-d872f2087c98
* Revert the change that fixed the encoding when viewing source in subframes.brettw@google.com2008-09-121-2/+2
| | | | | | | | | This makes view source for some pages (for example Google Reader) not work properly. I speculate that telling WebKit to change the encoding (which causes a reload) right after starting the real load makes it confused. Review URL: http://codereview.chromium.org/3022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2143 0039d316-1c4b-4281-b951-d872f2087c98
* Made changes to the JavaScript debugger in preparing for an upcomingsgjesse@google.com2008-08-291-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | change in V8 where the implicit breaks currently issued when receiving a command while running will be removed. To get in contact with the V8 debugging interface and send messages V8 needs to be in the break state. Getting V8 into the break state will be the responsebility of the debugger using the V8 debugging interface. Changed the messages between the renderer and the debugger. There are now explicit messages for break and detach. Alse renamed the SendToDebugger message to DebugCommand. There is now messages DebugAttach, DebugBreak, DebugCommand and DebugDetach. The message DebugBreak has a force flag to indicate whether the renderer should issue some JavaScript to help the break along or whether it should just schedule a break to happen whenever JavaScript executes. Removed the artificial attach JSON response send by the renderer and replaced that with an on debug attach call to the debugger shell. This call is reouted to the on_attach function in the debugger JavScript code. Changed the debugger to issue break requests whenever a suitable command, e.g. setting a break point, is issued. In this case a flag is used to track whether execution should be automatically resumed after the command have been send to the V8 debugger interface. Changed the handling of the plain break event to not force a break by executing additional JavaScript. Thereby a plain break does not break JavaScript execution until code on the tab beeing debugged is actually executed. Set the command name explicitly on all commands. Removed parseSimpleCommand as it was just used for the the continue command for which an explicit parseContinueCommand has been added. Removed the last_command field from DebugShell as it was not used. Updated the debugger protocol test to reflect the removed attach event. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1526 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup navigation_entry.h. I made the accessors consistent and in Google ↵brettw@google.com2008-08-271-4/+4
| | | | | | style, and organized and commented all the entries. Hopefully it will be much easier to find things and deal with this class. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1449 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build break caused by some functions not ifdef CHROME_PERSONALIZATION'd out.ericcheng@google.com2008-08-261-2/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1360 0039d316-1c4b-4281-b951-d872f2087c98
* Some more glue code for the personalization module.ericcheng@google.com2008-08-261-1/+8
| | | | | | | | Added ability to invoke a method on an NPObject wrapped in a CppVariant. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1359 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
* Code review changes. Incorporated all the suggestions from previous review. joshia@google.com2008-08-211-8/+13
| | | | | | | | | | | | | One item not changed yet is to rename 'receiver' in ForwardMessageToExternalHost. The idea is to invoke receiver("message") at the other end. So for example if the args to ForwardMessageToExternalHost("hello", "world") then we will invoke a script hello("world") on the other side. 'receiver' doesn't really describe the first argument here so if there is a better suggestion, I would be happy to change it :) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1176 0039d316-1c4b-4281-b951-d872f2087c98
* As Brett pointed it out, We normally use 8-bit for encoding names since ↵jnd@google.com2008-08-211-2/+2
| | | | | | they're always ASCII. Plus, wstrings will also be 32-bit characters on Linux and Mac, which is expensive. So I make this CL by using std::string instead of std::wstring every time you have an encoding name. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1144 0039d316-1c4b-4281-b951-d872f2087c98
* Added support for PostMessage from the automation framework toiyengar@google.com2008-08-151-0/+4
| | | | | | | the renderer. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@964 0039d316-1c4b-4281-b951-d872f2087c98
* Code to facilitate sending message to external host.joshia@google.com2008-08-151-0/+8
| | | | | | | | | | Note that at this time the parameters to the message are still tentative. The call goes as a sync call from renderer to the browser. From then onwards it happens async and no return value is available yet. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@957 0039d316-1c4b-4281-b951-d872f2087c98
* Copy from http://chrome-reviews.prom.corp.google.com/1237 (new gcl ↵timsteele@google.com2008-08-151-0/+19
| | | | | | | | | | | | | | | | | | | changelist model). Description was: Conditionally include personalization/ code by surrounding the hooks into this module with #ifdef CHROME_PERSONALIZATION in various .h/.cc files. Building with the module requires adding this macro as a preprocessor definition in build/internal/essential.vsprops, and adding it to the VCResourceCompiler tool's command line (using /d). We will try and make this easier in the future. TBR=darin git-svn-id: svn://svn.chromium.org/chrome/trunk/src@955 0039d316-1c4b-4281-b951-d872f2087c98
* Make theme change notifications for the renderer originate from the ↵beng@google.com2008-08-151-4/+0
| | | | | | | | | RenderWidgetHostHWND, not the frame. B=1326392 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@918 0039d316-1c4b-4281-b951-d872f2087c98
* Make the FindInPageController implement its own delegate interface forbrettw@google.com2008-08-141-7/+14
| | | | | | | | | | | | | RenderViewHost so that we can get rid of the pass-throughs in WebContents. I removed some redundant checks in WebContents when calling view() for render_view_host() since that internally checks the null-ness of render_view_host(). BUG=1323267 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@881 0039d316-1c4b-4281-b951-d872f2087c98
* Use %ls instead of %s in wprintf format strings for wchar_t fields.mmentovai@google.com2008-08-141-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@846 0039d316-1c4b-4281-b951-d872f2087c98
* Remove an invalid DCHECK. If we are closing the browser andojan@google.com2008-08-121-1/+0
| | | | | | | the beforeunload handler hangs, then is_waiting_for_unload_ack will be true here. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@719 0039d316-1c4b-4281-b951-d872f2087c98
* Don't terminate the process when a tab becomes unresponsive during ojan@google.com2008-08-111-5/+5
| | | | | | | | | | | | | unload/beforeunload. Instead, just call close on it. If two tabs are in the same process, then terminating the process is totally wrong. This also avoids the bugs where we show sad tab, or don't remove the tab from the tabstrip. Also, remove a couple of bogus DCHECKS. BUG=1314995,1301757 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@685 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-1/+1
| | | | | | | | | | | | | | | | 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
* A bunch of cleanups to beforeunload/unload handling.ojan@google.com2008-08-021-37/+12
| | | | | | | | 1. Remove all the is_closing_browser plumbing. WebContents/TabContents/RenderViewHost/etc really shouldn't (and don't!) need to know anything about whether we're closing the browser or not. 2. Refactor the handling of beforeunload/unload state in browser.cc. I think this makes it considerably easier to reason about the correctness of it. 3. Added a couple TODOs for future cleanups that would have made this change a bit too large. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273 0039d316-1c4b-4281-b951-d872f2087c98
* Move more net classes into the net namespace. Also remove the net_util ↵darin@google.com2008-07-311-1/+1
| | | | | | | | namespace in favor of the net namespace. This is a purely mechanical change. There should be no logic changes. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192 0039d316-1c4b-4281-b951-d872f2087c98
* Adds exitcodes for the TerminateProcess calls on hung renderers. There are ↵ojan@google.com2008-07-311-1/+2
| | | | | | still plenty of TerminateProcess(..., 0) calls, but these are the ones I know. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152 0039d316-1c4b-4281-b951-d872f2087c98
* Fix hang detection when closing a tab to not fire when a modal dialog is open.ojan@google.com2008-07-291-0/+9
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82 0039d316-1c4b-4281-b951-d872f2087c98