summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/renderer_glue.cc
Commit message (Collapse)AuthorAgeFilesLines
* Revert 12739, 12740, and 12741 because we're going to fix Issue 7448 purely ↵abarth@chromium.org2009-04-081-3/+1
| | | | | | in WebKit. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13343 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to using WebDragData in WebView and WebViewDelegate.darin@chromium.org2009-04-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | I also cleaned up some of the WebView and WebViewDelegate methods to pass WebPoint instead of pairs of ints or gfx::Point. With this change, I am keeping webkit/glue/webdropdata.{h,cc}, which is what Chrome uses to pass around the equivalent data. Now, it is possible to construct a WebDropData from a WebKit::WebDragData and to also get a WebKit::WebDragData from a WebDropData. Hence, the conversion between WebDropData and ChromiumDataObject (see clipboard_conversion.{h,cc}) is now removed in favor of conversion between WebDropData and WebKit::WebDragData. Conversion between WebKit::WebDragData and WebCore::ChromiumDataObject is very cheap (just reference counting). Finally, this change also brings in WebData, which is now used by the return value of WebKitClient::loadResource. As a companion to that change, I also changed webkit_glue::GetDataResource to return StringPiece instead of std::string. That also saves on an unnecessary buffer copy. R=dglazkov Review URL: http://codereview.chromium.org/63084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13305 0039d316-1c4b-4281-b951-d872f2087c98
* Adds new messages and widens some existing messages between the renderer and ↵michaeln@google.com2009-04-071-1/+3
| | | | | | | | browser processes to support an implementation of the HTML5AppCache spec with most of the logic running in the browser process. The gist of most of the changes are to indicate which frame each resource request is coming from, and to indicate which appcache each response was retrieved from (if any).See https://docs.google.com/a/google.com/Doc?docid=agv6ghfsqr_15f749cgt3&hl=en Review URL: http://codereview.chromium.org/9712 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13258 0039d316-1c4b-4281-b951-d872f2087c98
* Replace webkit/glue/screen_info.h with WebKit/chromium/public/WebScreenInfo.hdarin@chromium.org2009-04-011-7/+0
| | | | | | | | | | | | | This also eliminates webkit_glue::GetScreenInfo and webkit_glue::GetScreenInfoHelper. As part of this CL, I also extracted all of the ParamTraits for WebKit API types into chrome/common/webkit_param_traits.h. R=dglazkov Review URL: http://codereview.chromium.org/58008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12993 0039d316-1c4b-4281-b951-d872f2087c98
* Add the ability to specify a default MIME type when loading a resource. ↵abarth@chromium.org2009-03-281-2/+3
| | | | | | | | | | | | | We'll need this to correctly load stylesheets that lack a Content-Type header in standards mode. We're waiting on https://bugs.webkit.org/show_bug.cgi?id=24904 upstream before this works fully. This change, as it stands, is a no-op. R=wtc BUG=7448 Review URL: http://codereview.chromium.org/55049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12739 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome-side of moving webkit/glue/cache_manager.{h,cc} to the WebKit API layer.darin@chromium.org2009-03-191-7/+6
| | | | | | | | | | | | | | This also includes a change to not have third_party/WebKit/WebKit/chromium/public in the global include path. Most of the code changes pertain to this. I also took this opportunity to do some renaming: browser/cache_manager_host -> browser/renderer_host/web_cache_manager R=brettw Review URL: http://codereview.chromium.org/42194 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12085 0039d316-1c4b-4281-b951-d872f2087c98
* Check return value of SharedMemory::Createagl@chromium.org2009-03-181-3/+3
| | | | | | | | | (found by Coverity) Review URL: http://codereview.chromium.org/42367 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12027 0039d316-1c4b-4281-b951-d872f2087c98
* SSLPolicy Fix: Step 3.abarth@chromium.org2009-03-171-3/+5
| | | | | | | | | | | Plumbing the security origin of the frame making the request to SSL land. R=wtc BUG=8706 Review URL: http://codereview.chromium.org/48038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11851 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of stashing a frame pointer with ResourceRequest and just store the ↵jam@chromium.org2009-03-161-18/+3
| | | | | | | | routing id directly. This simplifies the renderer code and also allow this code to be used in worker processes, where we don't have a frame. Review URL: http://codereview.chromium.org/46026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11763 0039d316-1c4b-4281-b951-d872f2087c98
* Temp fix for reliablity crashes.jam@chromium.org2009-03-131-0/+3
| | | | | | Review URL: http://codereview.chromium.org/46017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11599 0039d316-1c4b-4281-b951-d872f2087c98
* Implement WebSandboxSupport.darin@chromium.org2009-03-121-8/+0
| | | | | | | | R=dglazkov Review URL: http://codereview.chromium.org/42146 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11588 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to using one ResourceDispatcher per render process, and move it to ↵jam@chromium.org2009-03-121-21/+7
| | | | | | | | ChildThread so that the same code is used by the plugin process (and soon, workers). Review URL: http://codereview.chromium.org/42108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11581 0039d316-1c4b-4281-b951-d872f2087c98
* This changes the base clipboard class, as accomplishing paste requires that ↵avi@chromium.org2009-03-101-11/+1
| | | | | | | | Clipboard::FormatType be IPC-able. The lowest-common denominator of unsigned int, NSString*, and GdkAtom is string, so string it is. (Linux changes by estade.) Review URL: http://codereview.chromium.org/41012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11383 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r11118.darin@chromium.org2009-03-061-14/+0
| | | | | | | | TBR=dglazkov Review URL: http://codereview.chromium.org/40240 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11137 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r11118 :(darin@chromium.org2009-03-061-0/+14
| | | | | | | | TBR=dglazkov Review URL: http://codereview.chromium.org/39267 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11125 0039d316-1c4b-4281-b951-d872f2087c98
* More WebKit API action (chromium side)darin@chromium.org2009-03-061-14/+0
| | | | | | | | R=dglazkov Review URL: http://codereview.chromium.org/39240 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11118 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r10974 since it didn't change performance on the page cyclers.darin@chromium.org2009-03-051-11/+0
| | | | | | | | TBR=dglazkov Review URL: http://codereview.chromium.org/39197 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10996 0039d316-1c4b-4281-b951-d872f2087c98
* Temporarily disable cookie codepaths that use WebKitClient to analyzedarin@chromium.org2009-03-051-0/+11
| | | | | | | | | | performance impact. TBR=dglazkov Review URL: http://codereview.chromium.org/39177 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10974 0039d316-1c4b-4281-b951-d872f2087c98
* Update clipboard classes to use string16 and FilePath instead of wstring.estade@chromium.org2009-03-041-2/+2
| | | | | | | | | | Update callers as well. This patch builds on a patch by mark.a.lindner@gmail.com which can be found at http://codereview.chromium.org/28294 Review URL: http://codereview.chromium.org/27370 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10860 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome side to pick up new WebKit API changes.darin@chromium.org2009-02-281-19/+10
| | | | | | | | | | | | | | | | | | | | | WebKit API now provides: - layoutTestMode - support for registering extra local URL schemes - access to the current WebKitClient WebKitClient was extended to include: - access to the default locale - access to the current time - methods to start/stop the shared timer - method to get work scheduled on the main thread - methods to access cookies - method to prefetch hostnames R=dglazkov Review URL: http://codereview.chromium.org/27276 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10665 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome side to implement WebMimeRegistry.darin@chromium.org2009-02-261-41/+0
| | | | | | | | R=dglazkov Review URL: http://codereview.chromium.org/27222 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10532 0039d316-1c4b-4281-b951-d872f2087c98
* Chromium changes to use new WebKit, WebKitClient, and WebClipboard interfaces.darin@chromium.org2009-02-261-8/+7
| | | | | | | | | | | | | | | | | | | A new WebKitClientImpl class is added to webkit/glue that consumers can use to help implement WebKitClient. In the future, consumers will likely subclass WebKitClientImpl. For now, that is not necessary. Since a WebImage may not hold a SkBitmap, I needed to modify ScopedClipboardWriterGlue to not deal in SkBitmaps. So, I just added a WriteBitmapFromPixels method in place of the WriteBitmap method. That method is actually named the same as the one from the base class, which is perhaps kind of nice since the purpose of ScopedClipboardWriterGlue is to override the default way of sending an image to the clipboard! R=dglazkov Review URL: http://codereview.chromium.org/28119 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10416 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor code from RenderThread and PluginThread and move it to ChildThread. ↵jam@chromium.org2009-02-211-29/+19
| | | | | | | | | | | 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. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=10080 Review URL: http://codereview.chromium.org/21502 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10144 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 10080.jam@chromium.org2009-02-201-19/+29
| | | | 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-29/+19
| | | | | | | | | 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
* Bitmap transportagl@chromium.org2009-02-201-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch reworks bitmap transport on all platforms. Linux and Mac are switched from serialising bitmaps over the IPC channel to using shared memory. All platforms gain a shared memory mapping cache on the host side. The concept of a TransportDIB (device independent bitmap) is added to encapsulate most of the platform specifics. On Linux, we use SysV shared memory. This is because X shared pixmaps, which predate POSIX SHM, can only use SysV. By using SysV between renderer and browser, we open up the possibility to map the shared memory directly from the renderer to the X server. On Mac, we use POSIX shared memory. However, since this needs filesystem access and the Mac renderer is sandboxed from the filesystem, we add two new messages from renderer -> browser: The first, AllocTransportDIB, synchronously creates a transport DIB in the browser and passes a handle back to the renderer. The second, FreeTransportDIB, asynchronously, notifies the browser that it may close its handle to the shared memory region. On Mac, the shared memory regions are identified by their inode numbers on the wire. This means that the browser must keep handles open to all the allocated shared memory regions (since an inode number is insufficient to map the region). The alternative design is that the renderer passes the file descriptor with each paint operation. Since passing file descriptors is special case in the code, I felt that it would be best to minimise their use. Creating and freeing transport DIBs are relatively rare operations relative to paints and scrolls. On Windows, most of the code remains the same, except that Windows now uses the mapping cache added in this patch. This allows the browser to maintain a shared memory mapping for a transport DIB over several paints. Previously it mapped and unmapped for every operation, causing lots of TLB and VM churn. Review URL: http://codereview.chromium.org/21485 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10071 0039d316-1c4b-4281-b951-d872f2087c98
* Change mime type utils to operate on platform-specific string types for ↵estade@chromium.org2009-02-141-3/+3
| | | | | | | | filenames/file extensions. Review URL: http://codereview.chromium.org/21327 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9809 0039d316-1c4b-4281-b951-d872f2087c98
* Remove VisitedLink NOTIMPLEMENTED() now that history is fixed.evan@chromium.org2009-02-121-10/+0
| | | | | | | Review URL: http://codereview.chromium.org/20291 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9638 0039d316-1c4b-4281-b951-d872f2087c98
* janitorial: browser_render_process_host header/lint cleanup. (try 2)thestig@chromium.org2009-02-111-3/+4
| | | | | | 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-4/+3
| | | | | | Review URL: http://codereview.chromium.org/20276 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9599 0039d316-1c4b-4281-b951-d872f2087c98
* janitorial: clean up unnecessary includes in src/chrome/renderer.thestig@chromium.org2009-02-111-3/+4
| | | | | | Review URL: http://codereview.chromium.org/20266 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9594 0039d316-1c4b-4281-b951-d872f2087c98
* Media player availability now determined by SetMediaPlayerAvailable.scherkus@chromium.org2009-02-111-2/+9
| | | | | | | | Instead of relying on the command line, RenderProcess will attempt to load and enable the media player if possible. This is the first in a few changes where I'll be adding in hooks to load media DLLs at runtime if present. Review URL: http://codereview.chromium.org/20253 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9584 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: add missing NOTIMPLEMENTEDagl@chromium.org2009-02-101-0/+1
| | | | | | | | | When I stubbed out IsLinkVisitied, I didn't add a NOTIMPLEMENTED. Review URL: http://codereview.chromium.org/21224 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9523 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: fix renderer crashagl@chromium.org2009-02-101-0/+9
| | | | | | | | | | | Currently we don't have a HistoryService. This stops the VisitiedLinkMaster from sucessfully calling Init(). In that case, no message is ever sent to the renderer with the VisitiedLink shared memory region and we end up crashing with SIGFPE as we try to hash by taking a fingerprint mod 0. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9474 0039d316-1c4b-4281-b951-d872f2087c98
* Finish taking out render_messages.h includes from headers.jam@chromium.org2009-02-051-0/+1
| | | | | | Review URL: http://codereview.chromium.org/20072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9209 0039d316-1c4b-4281-b951-d872f2087c98
* Add a linux stub implementation for resource_bundle.tc@google.com2009-02-041-7/+1
| | | | | | | | | | | | | This should work except for the Load calls that should load .pak files. We don't generate .pak files yet so I left that code blank for now. Mac doesn't compile this yet and is still figuring out how they want to handle resources. Review URL: http://codereview.chromium.org/21020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9151 0039d316-1c4b-4281-b951-d872f2087c98
* Move proxy resolve requests out of plugin/renderer process, and into the ↵ericroman@google.com2009-01-311-0/+10
| | | | | | | | browser. Review URL: http://codereview.chromium.org/14142 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9006 0039d316-1c4b-4281-b951-d872f2087c98
* Add a stub IsPluginProcess so there are less #if defined(OS_WIN) in the code.tc@google.com2009-01-301-15/+0
| | | | | | | Review URL: http://codereview.chromium.org/19692 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8942 0039d316-1c4b-4281-b951-d872f2087c98
* Fix our link madness on linux. We now properly linktc@google.com2009-01-291-5/+37
| | | | | | | | | | | | | | | webkit into unit_tests. There was also a problem with simple_clipboard_impl.cc which should only be compiled into test_shell. I can't remove mock_webkit_glue.cc until I verify that the mac build doesn't need it anymore. Review URL: http://codereview.chromium.org/19474 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8910 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
* POSIX: gfx::NativeViewId and CrossProcessEventagl@chromium.org2009-01-271-6/+1
| | | | | | | | | | | | | | | | | | | 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
* POSIX: get bits of renderer_glue compilingagl@chromium.org2009-01-231-20/+35
| | | | | | | Review URL: http://codereview.chromium.org/16817 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8541 0039d316-1c4b-4281-b951-d872f2087c98
* Make CommandLine into a normal object, with some statics for getting at the ↵evan@chromium.org2009-01-211-1/+1
| | | | | | | | | | | 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
* Make the global render thread object a regular global object rather than abrettw@google.com2008-12-181-20/+18
| | | | | | | | | | | 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
* Bridge out media player from MediaPlayerPrivate.hclam@chromium.org2008-12-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove MediaPlayerPrivateChromium.cpp and move it to webkit/glue/media_player_private_impl.cc - Added the following classes: WebMediaPlayer WebMediaPlayerImpl WebMediaPlayerDelegate WebMediaPlayerDelegateImpl TestWebMediaPlayerDelegate VideoStackMediaPlayer (Just a forward declaration) - One include fix for webkit/glue/webframe.h - Overview of what each class is doing: WebMediaPlayer and WebMediaPlayerImpl Wrapper over the MediaPlayerPrivate, it provides methods like Repaint(), NotifyNetworkStateChange(), etc to VideoStackMediaPlayer. It also creates the ResourceHandle for VideoStackMediaPlayer for resource loading, or maybe VideoStackMediaPlayer can simply use webkit_glue::ResourceDispatcher? WebMediaPlayerDelegate, WebMediaPlayerDelegateImpl Delegate calls from webkit to the internal media player. MediaPlayerPrivate Forward calls to WebMidiaPlayerDelegate, creates WebMediaPlayerDelegate and WebMediaPlayer in the constructor. Expose some public methods to WebMediaPlayer so we can actually do repaint and notification of changes. Review URL: http://codereview.chromium.org/13762 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7256 0039d316-1c4b-4281-b951-d872f2087c98
* Implement visited link coloring.brettw@google.com2008-12-131-0/+9
| | | | | | Review URL: http://codereview.chromium.org/12928 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6970 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ViewHandle to NativeView et al.agl@chromium.org2008-12-111-1/+1
| | | | | | | | | | | ViewHandle is a very unfortunate name when we actually start dealing with views, so we are renaming the cross-platform typedefs to make it clear that they refer to platform specific native UI elements. Review URL: http://codereview.chromium.org/13754 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6826 0039d316-1c4b-4281-b951-d872f2087c98
* Reupload of 12418glen@chromium.org2008-12-071-2/+2
| | | | | | Review URL: http://codereview.chromium.org/13183 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6497 0039d316-1c4b-4281-b951-d872f2087c98
* Add Terminate() to the Process object, have RenderProcessHost use this to ↵brettw@google.com2008-11-141-2/+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
* * Copy webkit_glue font functions into ChromiumBridge.erikkay@google.com2008-11-131-4/+0
| | | | | | | | | * removed a few unneeded headers from MIMETypeRegistry * removed all uses of IMLangFontLang2 Review URL: http://codereview.chromium.org/10661 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5369 0039d316-1c4b-4281-b951-d872f2087c98