summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/renderer_glue.cc
Commit message (Collapse)AuthorAgeFilesLines
* Retrofit the pre-existing appache message dispatching with the new WebKit ↵michaeln@google.com2009-08-211-2/+2
| | | | | | | | | | | | | APIs and concrete classes defined in our new appcache library, and get rid of the old files. There are many files in the CL, mostly to pickup constant values now defined in our new appcache library, and to reflect a terminilogy change (from 'context' to 'host'). TEST=some existing unit tests apply BUG=none Review URL: http://codereview.chromium.org/170003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24022 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure we don't load plugins on the IO thread.jam@chromium.org2009-08-151-3/+2
| | | | | | | | | | I had to move the locks from PluginService to PluginList, so that a lock (which can block other threads) isn't held while loading the plugins. BUG=17938 TEST=added asserts which crash if plugins loaded on IO thread, current UI tests exercise them Review URL: http://codereview.chromium.org/164305 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23501 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 23420. It caused a reliability regression.maruel@chromium.org2009-08-141-2/+3
| | | | | | | | | TBR=jam BUG=none TEST=reliability Review URL: http://codereview.chromium.org/165532 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23437 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure we don't load plugins on the IO thread.jam@chromium.org2009-08-141-3/+2
| | | | | | | | | | I had to move the locks from PluginService to PluginList, so that a lock (which can block other threads) isn't held while loading the plugins. BUG=17938 TEST=added asserts which crash if plugins loaded on IO thread, current UI tests exercise them Review URL: http://codereview.chromium.org/164305 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23420 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to WebFrame from the WebKit API.darin@chromium.org2009-08-101-2/+0
| | | | | | | | | | | | | | | I tried to avoid unnecessary changes in this CL to help make it easier to review. As part of this CL, glue/webtextinput* are folded into WebFrame / WebFrameImpl. R=dglazkov BUG=10034 TEST=none Review URL: http://codereview.chromium.org/164225 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22896 0039d316-1c4b-4281-b951-d872f2087c98
* Make XHR work in Workers. Creates a 'shadow page' in a worker process to ↵dimich@google.com2009-06-161-2/+2
| | | | | | | | | | proxy the loading requests through. BUG=4361 TEST=none Review URL: http://codereview.chromium.org/126070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18465 0039d316-1c4b-4281-b951-d872f2087c98
* Add an extension to expose some primitives to JS for doing mbelshe@google.com2009-06-051-0/+7
| | | | | | | | | | | | | | | | | benchmarking from within Chrome. Because the JS resides in the renderer and the HTTP logic resides in the browser, this required creation of two new, control messages which can be sent from the renderer to the browser. These are controlled under a new commandline option "--enable-benchmarking" BUG=6754 TEST=none Review URL: http://codereview.chromium.org/119191 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17722 0039d316-1c4b-4281-b951-d872f2087c98
* Rename |policy_url| to |first_party_for_cookies|. This now matches the ↵abarth@chromium.org2009-05-231-2/+2
| | | | | | | | | | | | WebKit name for this piece of data. R=jackson BUG=None TEST=No behavior change Review URL: http://codereview.chromium.org/115743 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16843 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Skia includes to use the whole path name.brettw@chromium.org2009-05-191-1/+1
| | | | | | Review URL: http://codereview.chromium.org/115412 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16374 0039d316-1c4b-4281-b951-d872f2087c98
* Move WebMediaPlayerClientImpl files to WebKit API src location.darin@chromium.org2009-05-181-12/+0
| | | | | | | | | | | This involves adding a temporary glue function, which will be removed once WebFrame / WebView are part of the WebKit API. R=hclam Review URL: http://codereview.chromium.org/115482 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16336 0039d316-1c4b-4281-b951-d872f2087c98
* Move WebKit API to src/webkit/api.darin@chromium.org2009-05-101-3/+3
| | | | | | | | R=dglazkov Review URL: http://codereview.chromium.org/113186 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15739 0039d316-1c4b-4281-b951-d872f2087c98
* Add an extra colon to make inspector work again.dglazkov@chromium.org2009-05-061-1/+1
| | | | | | | | | | | | | This was broken by http://codereview.chromium.org/101026. R=glen BUG=11532 TESt=open inspector. Inspector shouldn't show a blank page. Review URL: http://codereview.chromium.org/113034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15423 0039d316-1c4b-4281-b951-d872f2087c98
* Change chrome-ui to chrome. I didn't go too far in converting existing ↵glen@chromium.org2009-05-061-2/+4
| | | | | | | | | | | | | | strings to using the url_constant (shipshipship). Users (such as those on Beta and Dev using session restore) attempting to load the old pages will see a blank white screen. BUG=11272 TEST=Verify that the inspector, debugger, history, downloads and newtab pages load with chrome:// URLS. Verify that replacing the chrome:// with chrome-ui:// does not work. Review URL: http://codereview.chromium.org/101026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15378 0039d316-1c4b-4281-b951-d872f2087c98
* Adds toplevel app/ directory and moves ResourceBundle into it.ben@chromium.org2009-05-051-1/+1
| | | | | | | | | | | No changes to resource bundle yet, just the move to keep this CL as compact as possible. Adds new vcproj and gyp file for app dir. http://crbug.com/11387 Review URL: http://codereview.chromium.org/100354 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15264 0039d316-1c4b-4281-b951-d872f2087c98
* Allow Flash (and other plugins) to be installed without restarting the ↵jam@chromium.org2009-04-231-2/+4
| | | | | | | | | | | browser. This works by monitoring the MozillaPlugins registry key and reloading the plugin list afterwards. Note: I'll commit the WebKit change separately, but putting it in this change right now so everything can be reviewed together. BUG=10574 Review URL: http://codereview.chromium.org/88020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14377 0039d316-1c4b-4281-b951-d872f2087c98
* 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