summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_view.cc
Commit message (Collapse)AuthorAgeFilesLines
* Reverting 10080.jam@chromium.org2009-02-201-8/+9
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10082 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor code from RenderThread and PluginThread and move it to ChildThread. ↵jam@chromium.org2009-02-201-9/+8
| | | | | | | | | ChildProcess now owns the ChildThread, which removes duplicate code and simplifies things. Clean up ChildProcess, there really was no need for all the templates and statics in it and its subclasses. Review URL: http://codereview.chromium.org/21502 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10080 0039d316-1c4b-4281-b951-d872f2087c98
* Audio related IPC messages and handlers from browser tohclam@chromium.org2009-02-201-0/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | renderer 1. Added 4 IPC messages and corresponding handlers for audio: - RequestAudioPacket(int stream_id) Browser process is hungry for audio packet, notify renderer process to provide more. - NotifyAudioStreamCreated(int stream_id, SharedMemoryHandler buffer, int len) Notify stream created event and provide buffer for filling in the future. - NotifyAudioStreamStateChanged(int stream_id, enum state, nt info) The internal state of the audio stream has chagned, notify renderer process of the change. int info provides additional information of the change, e.g. platform specific error code. - NotifyAudioStreamVolume(int stream_id, double left, double right) Notify the current volume for the audio stream. 2. Added methods to RenderView for creating audio streams and delegate audio related requests to browser process with IPC. Now the registration and bookkeeping of AudioRendererImpl happens in RenderView (see audio_renderers_). The reason being that the code is almost just an base::IDMap that doesn't worth creating a new class. Review URL: http://codereview.chromium.org/20410 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10078 0039d316-1c4b-4281-b951-d872f2087c98
* Send over the HTTP status code in the ViewHostMsg_FrameNavigate message ↵ananta@chromium.org2009-02-191-0/+1
| | | | | | | | | | | | | | | | | coming in from the renderer. A failed HTTP navigation like a 404 response to a request is followed by two responses. The first one which is associated with the failed response. This does not send over any information about the failure to the browser and thus appears as a normal navigation.The second response is for the actual 404 page being loaded. For network errors the browser does get notified via RenderView::DidFailProvisionalLoadWithError. However due to a prototype mismatch the corresponding function in WebContents is never invoked. Added a new automation message AutomationMsg_NavigationFailed, which carries information about failed navigations to automation clients.The changes to the navigation controller include sending over the http status code and the URL to observers. The ExternalTabContainer also subscribes to the FAIL_PROVISIONAL_LOAD_WITH_ERROR notification, so it can inform clients about errors. We also ignore the next NAV_ENTRY_COMMITTED notification after an error due to the reasons mentioned above. Review URL: http://codereview.chromium.org/21495 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10023 0039d316-1c4b-4281-b951-d872f2087c98
* Prepare some files for porting:estade@chromium.org2009-02-181-2/+2
| | | | | | | | | - Trade in some old wstrings for FilePaths. - Remove some unnecessary headers. Review URL: http://codereview.chromium.org/21466 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9986 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 9944.yurys@google.com2009-02-181-29/+0
| | | | | | | This change broke ui, interactive and Vista Perf tests. I felt like reverting. Review URL: http://codereview.chromium.org/24020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9947 0039d316-1c4b-4281-b951-d872f2087c98
* Create communication channel between developer tools UI implemented in JS ↵yurys@google.com2009-02-181-0/+29
| | | | | | | | | | | | | and residing in a process different from inspected page renderer process. There is no direct IPC channel between the two processes so all messages are routed through browser process. On the side of inspected page there is ToolsAgent existing in all renderers so that we can start inspecting the page at any moment by talking to this object. On the side of developer tools renderer there is ToolsClient which is created only for RenderView that host developer tools UI. This change is a slightly modified version of http://codereview.chromium.org/20221/show Review URL: http://codereview.chromium.org/20430 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9944 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 9855.maruel@chromium.org2009-02-161-29/+0
| | | | | | | This change didn't have any description and it broke the tree Review URL: http://codereview.chromium.org/21393 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9856 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/20405yurys@google.com2009-02-161-0/+29
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9855 0039d316-1c4b-4281-b951-d872f2087c98
* Add early-injection capability to user scripts.aa@chromium.org2009-02-141-9/+9
| | | | | | Review URL: http://codereview.chromium.org/19624 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9822 0039d316-1c4b-4281-b951-d872f2087c98
* Port remaining .rc data resource files to grd. This includestc@google.com2009-02-131-1/+1
| | | | | | | | debugger_resources.rc, common_resources.rc, and renderer_resources.rc. Review URL: http://codereview.chromium.org/21307 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9784 0039d316-1c4b-4281-b951-d872f2087c98
* The WebFrame interface currently supports reference counting, but no one uses.darin@chromium.org2009-02-131-3/+1
| | | | | | | | | | | | | | | | Internally, WebFrameImpl needs reference counting, so we still define it there. Same goes for WebView and WebWidget. While making this change, I noticed that WebInspectorClient was casting WebView pointers to WebViewImpl pointers too much. By just starting with WebViewImpl pointers, things could be cleaned up considerably. R=brettw Review URL: http://codereview.chromium.org/21342 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9745 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing the buildhclam@chromium.org2009-02-131-1/+1
| | | | | | | | I commited a patch with typo, this patch should fix it. Review URL: http://codereview.chromium.org/21339 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9742 0039d316-1c4b-4281-b951-d872f2087c98
* Some consumers in the renderer process need access to an IO message loop, ↵hclam@chromium.org2009-02-131-0/+8
| | | | | | | | | | RenderThread which holds WebKit runs on a message loop with type TYPE_DEFAULT, so we need to expose the owner loop of RenderThread which has type TYPE_IO. That particular message loop is used for handling all IPC messages, so we need to be cautious about using this message loop and don't block on it. Review URL: http://codereview.chromium.org/21318 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9741 0039d316-1c4b-4281-b951-d872f2087c98
* Lots of small nits to help to split off webkit.dll.maruel@chromium.org2009-02-121-4/+4
| | | | | | | | | - Stop directly referencing WebPluginDelegateImpl. - Make the password manager to not allocation the data on heap. - Remove some unneeded includes. Review URL: http://codereview.chromium.org/20208 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9692 0039d316-1c4b-4281-b951-d872f2087c98
* Change url wstrings to GURLSestade@chromium.org2009-02-121-1/+1
| | | | | | Review URL: http://codereview.chromium.org/20273 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9635 0039d316-1c4b-4281-b951-d872f2087c98
* janitorial: browser_render_process_host header/lint cleanup. (try 2)thestig@chromium.org2009-02-111-0/+2
| | | | | | Review URL: http://codereview.chromium.org/21272 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9624 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 9594.thestig@chromium.org2009-02-111-2/+0
| | | | | | Review URL: http://codereview.chromium.org/20276 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9599 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some plugin-related NOTIMPLEMENTED()s in gtk Chrome.evan@chromium.org2009-02-111-19/+4
| | | | | | | | | | | | | | We can sneak around not removing the NOTIMPLEMENTED()s completely by implementing a function halfway -- if a page ends up needing a plugin we'll get the NOTIMPLEMENTED() again. With this change I no longer get repeated NOTIMPLEMENTED spew while running. Review URL: http://codereview.chromium.org/20264 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9595 0039d316-1c4b-4281-b951-d872f2087c98
* janitorial: clean up unnecessary includes in src/chrome/renderer.thestig@chromium.org2009-02-111-0/+2
| | | | | | Review URL: http://codereview.chromium.org/20266 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9594 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up unnecessary includes in render_view.ccbrettw@chromium.org2009-02-061-2/+0
| | | | | | Review URL: http://codereview.chromium.org/24005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9347 0039d316-1c4b-4281-b951-d872f2087c98
* Reference and create a RenderView when needed.jrg@chromium.org2009-02-061-4/+16
| | | | | | | | | This initiates the landslide of linker hell in Chromium.app, bringing in webkit, v8, and the kitchen sink. Review URL: http://codereview.chromium.org/21123 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9335 0039d316-1c4b-4281-b951-d872f2087c98
* Finish taking out render_messages.h includes from headers.jam@chromium.org2009-02-051-3/+4
| | | | | | Review URL: http://codereview.chromium.org/20072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9209 0039d316-1c4b-4281-b951-d872f2087c98
* Commiting the changes from my previous cl that are specific to not including ↵jam@chromium.org2009-02-041-6/+1
| | | | | | | | | | render_messages.h/plugin_message.h unless necessary. TBR=mpcomplete Review URL: http://codereview.chromium.org/20059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9189 0039d316-1c4b-4281-b951-d872f2087c98
* Revert my change to get the tree green. Not sure why the tests became ↵jam@chromium.org2009-02-041-1/+6
| | | | | | | | | | flaky. I'll try to check them in again but in smaller chunks tomorrow. TBR=mpcomplete Review URL: http://codereview.chromium.org/21039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9132 0039d316-1c4b-4281-b951-d872f2087c98
* Make it easier/less work/less error-prone to create new IPC channel types ↵jam@chromium.org2009-02-041-6/+1
| | | | | | | | (i.e. renderer/plugin).Instead of having each message file include the internal one several times with different ifdefs, move that logic to ipc_message_macros.h. Also make the message class starting IDs come from an enum to ensure we don't use a value twice. I simplified the logging code a bit so we don't need X_messages.cc files.Clean up places that we were doing manual packing/unpacking. Most of this was in the automation code. I added a few new template functions to make it convenient to read the parameters from a message, and updated the code to use them.I also removed unnecessary includes of render/plugin_messages.h from headers to speed up compiling.I moved the traits of IPC structs beside the struct definition to make it more apparent what's going on, so we avoid people modifying the struct and forgetting to update the traits.Amit: please look at chrome/test/automation/tab_proxy.ccMarc-Antoine: chrome/browser/printing/*Matt: the rest Review URL: http://codereview.chromium.org/20015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9123 0039d316-1c4b-4281-b951-d872f2087c98
* Merged with latest media pipeline and cleaned up some style stuff.hclam@chromium.org2009-02-031-1/+1
| | | | | | | | Changed WebMediaPlayerDelegateImpl to contains a PipelineImpl object rather keeping a pointer to Pipeline interface. Also added code for task coordination between pipeline thread and main thread. Review URL: http://codereview.chromium.org/19481 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9069 0039d316-1c4b-4281-b951-d872f2087c98
* Change chrome:// to chrome-ui://, fix up one chrome-resource:// reference.glen@chromium.org2009-01-291-1/+1
| | | | | | Review URL: http://codereview.chromium.org/18175 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8896 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land revision 8821 with the ui test fixed.maruel@chromium.org2009-01-291-25/+4
| | | | | | | | | | Disconnect the "browser controlled printing" and always delegate the control flow to the renderer. Simplify the tests by not using a message loop anymore. Followup changes will remove more parts that are not needed anymore. Review URL: http://codereview.chromium.org/19460 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8886 0039d316-1c4b-4281-b951-d872f2087c98
* Roll back r8821mark@chromium.org2009-01-281-4/+25
| | | | | | Review URL: http://codereview.chromium.org/19453 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8834 0039d316-1c4b-4281-b951-d872f2087c98
* Disconnect the "browser controlled printing" and always delegate the control ↵maruel@chromium.org2009-01-281-25/+4
| | | | | | | | | flow to the renderer. Followup changes will remove more parts that are not needed anymore. Review URL: http://codereview.chromium.org/18860 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8821 0039d316-1c4b-4281-b951-d872f2087c98
* Context menus for text selections in editable boxes and links should include ↵pkasting@chromium.org2009-01-281-2/+2
| | | | | | | | the Search menu item. Original patch by Brian Duff (see http://codereview.chromium.org/16510 ), r=me. BUG=1925 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8815 0039d316-1c4b-4281-b951-d872f2087c98
* Remove extraneous uses of the --enable-user-scriptaa@chromium.org2009-01-281-11/+6
| | | | | | | | | | switch. It's better to check this at one chokepoint (initialization) and let the rest of the code work the same, but end up as no-ops. Review URL: http://codereview.chromium.org/18401 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8800 0039d316-1c4b-4281-b951-d872f2087c98
* Rolback r8793: Remove extraneous uses of the --enable-user-scriptmal@chromium.org2009-01-281-6/+11
| | | | | | | | | | | | | switch. It's better to check this at one chokepoint (initialization) and let the rest of the code work the same, but end up as no-ops. This seems to break ui_tests. Review URL: http://codereview.chromium.org/19418 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8794 0039d316-1c4b-4281-b951-d872f2087c98
* Remove extraneous uses of the --enable-user-scriptaa@chromium.org2009-01-281-11/+6
| | | | | | | | | | switch. It's better to check this at one chokepoint (initialization) and let the rest of the code work the same, but end up as no-ops. Review URL: http://codereview.chromium.org/18401 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8793 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: gfx::NativeViewId and CrossProcessEventagl@chromium.org2009-01-271-22/+8
| | | | | | | | | | | | | | | | | | | 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
* Revert "Make render_view_host compile on Mac & Linux, add to the build."agl@chromium.org2009-01-261-4/+3
| | | | | | | Review URL: http://codereview.chromium.org/18796 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8683 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the build.brettw@chromium.org2009-01-261-3/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8681 0039d316-1c4b-4281-b951-d872f2087c98
* Link Doctor is expecting the query param connectionfailure, nottc@google.com2009-01-261-1/+1
| | | | | | | | | | | connectionerror. BUG=1599954 Review URL: http://codereview.chromium.org/18811 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8659 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: Porting renderer/render_view.cc, low hanging fruitagl@chromium.org2009-01-221-20/+146
| | | | | | | Review URL: http://codereview.chromium.org/18468 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8440 0039d316-1c4b-4281-b951-d872f2087c98
* Make CommandLine into a normal object, with some statics for getting at the ↵evan@chromium.org2009-01-211-3/+3
| | | | | | | | | | | current process's command line. One explicit goal of this change is to *not* deal with the string/wstring issues at the API on POSIX; the functions are the same as before, which means they remain as broken as before. (I did try to fix the internals, though, so migrating the callers is now possible by adding platform-appropriate hooks.) Review URL: http://codereview.chromium.org/18248 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8347 0039d316-1c4b-4281-b951-d872f2087c98
* First pass as implementing the greasemonkey API. This patchaa@chromium.org2009-01-171-1/+3
| | | | | | | | | | | | | | | | | | | includes a javascript file with stubbed versions of all the greasemoney API methods as well as changes to the Greasemonkey slave to inject this javascript file along with other user scripts into the page.I also have a userscript I'm using for the unit testing of the API methods. I don't think there is a good place for it in the chrome tree (if there is I'd like to know), but you can view it here: http://skrul.com/greasemonkey/test.user.js Right now all the tests fail except for testLog and testUnsafeWindow. Review URL: http://codereview.chromium.org/18183 Patch from Steve Krulewitz <skrulx@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8247 0039d316-1c4b-4281-b951-d872f2087c98
* WaitableEvent is the replacement for Windows events. Previously in the code, ↵agl@chromium.org2009-01-151-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | a HANDLE from CreateEvent was used for signaling, both within a process and across processes. WaitableEvent is the cross platform replacement for this. To convert: * HANDLE -> base::WaitableEvent* * ScopedHandle -> scoped_ptr<base::WaitableEvent> * CreateEvent -> new base::WaitableEvent * SetEvent -> base::WaitableEvent::Signal * ResetEvent -> base::WaitableEvent::Reset * ObjectWatcher -> base::WaitableEventWatcher * WaitForMultipleObjects -> static base::WaitableEvent::WaitMany ObjectWatcher remains for Windows specific code. WaitableEventWatcher has an identical interface save, * It uses WaitableEvents, not HANDLEs * It returns void from StartWatching and StopWatcher, rather than errors. System internal errors are fatal to the address space IMPORTANT: There are semantic differences between the different platforms. WaitableEvents on Windows are implemented on top of events. Windows events work across process and this is used mostly for modal dialog support. Windows events can be duplicated with DuplicateHandle. On other platforms, WaitableEvent works only within a single process. In the future we shall have to replace the current uses of cross-process events with IPCs. BEWARE: HANDLE, on Windows, is a void *. Since any pointer type coerces to void *, you can pass a WaitableEvent * where a HANDLE is expected without any build-time errors. Review URL: http://codereview.chromium.org/16554 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8126 0039d316-1c4b-4281-b951-d872f2087c98
* Updating so that Gears can spawn file selectors when running in the renderer ↵zork@google.com2009-01-131-4/+9
| | | | | | | | process Review URL: http://codereview.chromium.org/14907 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7986 0039d316-1c4b-4281-b951-d872f2087c98
* This is a rename of the term 'Greasemonkey' to 'user script' in Chromium.aa@chromium.org2009-01-091-8/+8
| | | | | | | | | | | I'm doing this to avoid confusion with the Firefox version of Greasemonkey and also because 'user script' is really the correct generic term. At the same time, I also moved user_script_master* into extensions/ because I want these two pieces to get closer and closer such that standalone user scripts are just a very small extension. Also extensions will be relying on most of the user script code. Review URL: http://codereview.chromium.org/17281 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7827 0039d316-1c4b-4281-b951-d872f2087c98
* The popup for autofill is now never activated, even when clicked.jcampan@chromium.org2009-01-091-2/+2
| | | | | | | | | | | | | 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
* Move plugins to FilePaths, some cleanupavi@google.com2009-01-061-4/+5
| | | | | | Review URL: http://codereview.chromium.org/16456 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7588 0039d316-1c4b-4281-b951-d872f2087c98
* Fix an uninitialized memory read that purify exposed.brettw@chromium.org2009-01-051-6/+7
| | | | | | Review URL: http://codereview.chromium.org/16520 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7568 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the render widget unittest so it can be reused to create a render viewbrettw@chromium.org2009-01-051-40/+46
| | | | | | | | | | | | | | | | | unit test. Change the mock render thread to save all IPC messages it is asked to send so that tests can verify that the correct ones were sent. There are some new functions that support this checking. Plumb the form state change notification through the render view so that we will correctly update the form state to the browser. Write two RenderView unit tests. One arbitrarily tests OnLoadAlternateHTMLText which I used as a testcase for my testing framework. The other tests the above form state change notification. I had to expose the timeout of this message through the RenderView API so that the test can change it. Review URL: http://codereview.chromium.org/16482 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7549 0039d316-1c4b-4281-b951-d872f2087c98
* Make the global render thread object a regular global object rather than abrettw@google.com2008-12-181-8/+8
| | | | | | | | | | | special TLS value. This is slightly faster for this commonly-used function, and we don't ever have more than one (it's like this because we were originally planning on having more than one RenderThread). BUG=5635 Review URL: http://codereview.chromium.org/15052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7272 0039d316-1c4b-4281-b951-d872f2087c98