summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser.scons
diff options
context:
space:
mode:
authorthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-03 02:11:48 +0000
committerthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-03 02:11:48 +0000
commit661eb9d1aa5468b984a92e66937432d881f70427 (patch)
tree81bf2b132ac6c7b05b04598e875552819222bb73 /chrome/browser/browser.scons
parent99aa2dbf4962fb1a4a52a3eae9bb51ad3113b7be (diff)
downloadchromium_src-661eb9d1aa5468b984a92e66937432d881f70427.zip
chromium_src-661eb9d1aa5468b984a92e66937432d881f70427.tar.gz
chromium_src-661eb9d1aa5468b984a92e66937432d881f70427.tar.bz2
From agl. Cleaned up version of issue 19046.
POSIX: bitmap data on the wire On Windows, when drawing a given rect in the renderer, we allocate memory for the bitmap, render and send a shared memory handle across IPC. In the browser, we bitblit the shared memory to the backing store and draw it to the screen. In the long term, on Linux, we want the backingstore to be shared with both X and the renderer. The renderer then draws directly to that store, sends an IPC to the browser and the browser sends a message to X to bitblit to the display. Since only cache a few backing stores we'll need messages from the browser to tell the renderer to attach and detatch from shared memory regions as they get created and evicted. In the short term, however, to get something that works, we make a BitmapWireData typedef. This will be a shared memory region on Windows, as before, and on POSIX we'll be sending the bitmap data over the wire. Obviously this'll be pretty slow but it'll work sooner. Review URL: http://codereview.chromium.org/19491 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9065 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser.scons')
-rw-r--r--chrome/browser/browser.scons23
1 files changed, 17 insertions, 6 deletions
diff --git a/chrome/browser/browser.scons b/chrome/browser/browser.scons
index 14b33e9..9d5cc5c 100644
--- a/chrome/browser/browser.scons
+++ b/chrome/browser/browser.scons
@@ -37,6 +37,7 @@ if env.Bit('windows'):
],
)
+# input_files initialized to common files + Windows specific ones.
input_files = ChromeFileList([
# TODO(sgk): violate standard indentation so we don't have to
# reindent too much when we remove the explicit MSVSFilter() calls
@@ -514,6 +515,9 @@ input_files = ChromeFileList([
MSVSFilter('Renderer Host', [
'renderer_host/async_resource_handler.cc',
'renderer_host/async_resource_handler.h',
+ 'renderer_host/backing_store.h',
+ 'renderer_host/backing_store.cc',
+ 'renderer_host/backing_store_win.cc',
'renderer_host/browser_render_process_host.cc',
'renderer_host/browser_render_process_host.h',
'renderer_host/buffered_resource_handler.cc',
@@ -656,11 +660,6 @@ input_files = ChromeFileList([
'toolbar_model.h',
])
-if env.Bit('mac'):
- input_files.Remove(
- 'spellchecker.cc',
- )
-
if not env.Bit('windows'):
# TODO: Port these.
input_files.Remove(
@@ -760,7 +759,6 @@ if not env.Bit('windows'):
'printing/win_printing_context.cc',
'renderer_host/render_view_host.cc',
'renderer_host/render_widget_helper.cc',
- 'renderer_host/render_widget_host.cc',
'renderer_host/cross_site_resource_handler.cc',
'renderer_host/resource_dispatcher_host.cc',
'repost_form_warning_dialog.cc',
@@ -808,6 +806,7 @@ if not env.Bit('windows'):
'window_sizer.cc',
)
+ # Remove Windows-specific files on other platforms.
input_files.Remove(
'browser_main_win.cc',
'history/history_publisher_win.cc',
@@ -815,6 +814,7 @@ if not env.Bit('windows'):
'js_before_unload_handler_win.cc',
'jsmessage_box_handler_win.cc',
'password_manager/password_form_manager_win.cc',
+ 'renderer_host/backing_store_win.cc',
'renderer_host/render_widget_host_view_win.cc',
'tab_contents/web_contents_view_win.cc',
'webdata/web_data_service_win.cc',
@@ -823,11 +823,22 @@ if not env.Bit('windows'):
'../tools/build/win/precompiled_wtl.h',
)
+ # Add files shared across non-Windows platforms.
+ input_files.Append(
+ 'renderer_host/backing_store_posix.cc',
+ )
+
+
if env.Bit('linux'):
input_files.Extend([
'browser_main_gtk.cc',
])
+if env.Bit('mac'):
+ input_files.Remove(
+ 'spellchecker.cc',
+ )
+
if env.Bit('windows'):
env.TypeLibrary('history/history_indexer.idl')