summaryrefslogtreecommitdiffstats
path: root/base/gfx
Commit message (Collapse)AuthorAgeFilesLines
* More linux ifdef tweaks. This reverts my earlier change (13503).sky@chromium.org2009-04-272-7/+7
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/100046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14628 0039d316-1c4b-4281-b951-d872f2087c98
* Change Size::IsEmpty() to be consistent with Rect::IsEmpty()erikkay@google.com2009-04-265-23/+46
| | | | | | | | | | | Change Size to not accept negative dimensions to be consistent with Rect. BUG=10992 TEST=base_unittests.exe --gtest_filter=RectTest.IsEmpty Review URL: http://codereview.chromium.org/93131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14567 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: unit tests fix.agl@chromium.org2009-04-241-0/+4
| | | | | | | | The unit tests will try and create a RenderViewHost with a NULL widget. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14406 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: use opaque NativeViewIdsagl@chromium.org2009-04-244-10/+269
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently we are still passing GtkWidget* into the renderer and trusting the value on the way out. With this patch we switch to using opaque values. These opaque values are handled by a GtkNativeViewIdManger, a singleton object which maintains the list of currently valid ids and their current X window ids. We don't pass the X window ids directly to the renderer because they are a) guessable and b) possibly variable for a GtkWidget. From a patch size point of view, the X window isn't current created at the point where we need it so significant work would be needed to reorder operations to fix that as well. This patch also removes the GTK accesses from the BACKGROUND_X11 thread which were a temporary hack. http://codereview.chromium.org/92110 BUG=9014,9869,10787 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14405 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a leak when we fail to load a gdkpixbuf. I meant to do this intc@google.com2009-04-211-0/+24
| | | | | | | | | the last change, but forgot. Review URL: http://codereview.chromium.org/69042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14143 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate a circular dependency by making BGRAToRGBA() generic (no pulling ↵sgk@google.com2009-04-212-25/+0
| | | | | | | | in guchar from gtk.h) and moving it from base/gfx to base. Review URL: http://codereview.chromium.org/87016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14117 0039d316-1c4b-4281-b951-d872f2087c98
* Hide the Fullscreen exit bubble if the mouse goes idle. It took a ↵pkasting@chromium.org2009-04-202-0/+7
| | | | | | | | | | | depressing amount of time for me to think my way through this algorithm :( Along the way I added an operator=() to convert from POINT to gfx::Point() since doing explicit temp conversion for a case like this annoys me. BUG=10568 Review URL: http://codereview.chromium.org/67265 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14031 0039d316-1c4b-4281-b951-d872f2087c98
* Add missing include needed for malloc.thestig@chromium.org2009-04-161-0/+1
| | | | | | | | Patch by Craig Schlenter <craig.schlenter@gmail.com> Review URL: http://codereview.chromium.org/67228 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13864 0039d316-1c4b-4281-b951-d872f2087c98
* Recommit previous change with GYP files fixed.erg@google.com2009-04-162-68/+0
| | | | | | | | | | | | | Implement BookmarkContextMenuGtk and hook it up to most bookmark bar elements. Also: - Fixes window dispositions (shift-click works on bookmark bar items). - Reorganizes gtk_utils Original Review URL: http://codereview.chromium.org/76002 Review URL: http://codereview.chromium.org/67223 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13857 0039d316-1c4b-4281-b951-d872f2087c98
* Have ResourceBundle own GdkPixbufs.tc@google.com2009-04-161-2/+0
| | | | | | | | | | | | | | | | | This is the same as how ResourceBundle owns the SkBitmaps it loads. This should be faster than before because ResourceBundle will only load each bitmap once and cache the image. Also fix a memory leak in GdkPixbufFromSkBitmap. valgrind says we're not leaking here. BUG=9988 Review URL: http://codereview.chromium.org/67179 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13847 0039d316-1c4b-4281-b951-d872f2087c98
* Reverts the previous two commits. (r13812 and r13811).erg@google.com2009-04-152-0/+70
| | | | | | Review URL: http://codereview.chromium.org/75023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13813 0039d316-1c4b-4281-b951-d872f2087c98
* Implement BookmarkContextMenuGtk and hook it up to most bookmark bar elements.erg@google.com2009-04-152-70/+0
| | | | | | | | | | Also: - Fixes window dispositions (shift-click works on bookmark bar items). - Reorganizes gtk_utils Review URL: http://codereview.chromium.org/76002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13811 0039d316-1c4b-4281-b951-d872f2087c98
* Adds some ifdefs so that test_shell can be compiled on linuxsky@chromium.org2009-04-102-11/+9
| | | | | | | | | | | | | without GTK. I had to recreate this patch as my workspace for various resonds. UGH! BUG=none TEST=none Review URL: http://codereview.chromium.org/67024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13503 0039d316-1c4b-4281-b951-d872f2087c98
* Include correct header for uint8_t in gtk_util.hevan@chromium.org2009-04-071-0/+1
| | | | | | | Review URL: http://codereview.chromium.org/63065 Patch from Craig Schlenter <craig.schlenter@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13272 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: store clipboard image as bmp rather than converting to PNG.estade@chromium.org2009-04-072-13/+27
| | | | | | Review URL: http://codereview.chromium.org/63040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13218 0039d316-1c4b-4281-b951-d872f2087c98
* Basic infobars on linux.estade@chromium.org2009-04-062-0/+16
| | | | | | | | All infobars consist of nothing but a non-functioning close button. Review URL: http://codereview.chromium.org/62070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13206 0039d316-1c4b-4281-b951-d872f2087c98
* Put a border around the find bar text entry field.estade@chromium.org2009-04-032-1/+3
| | | | | | Review URL: http://codereview.chromium.org/56207 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13091 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the checked-in scons configuration files.sgk@google.com2009-04-011-15/+0
| | | | | | Review URL: http://codereview.chromium.org/53121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12982 0039d316-1c4b-4281-b951-d872f2087c98
* Linux UI theming:estade@chromium.org2009-03-252-2/+8
| | | | | | | | | - Improve appearance of menus by setting background to white (matching windows and fitting better with the overall appearance). - Disable user theming of native widgets: since our widgets are a hodge-podge of native and custom-drawn, there's no way we can support user theming. Eventually users will be able to choose a theme for chromium; until then make everything look like chrome. Review URL: http://codereview.chromium.org/49035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12516 0039d316-1c4b-4281-b951-d872f2087c98
* Chromium side of trackbar drawing. This is needed to support <input ↵pkasting@chromium.org2009-03-202-20/+126
| | | | | | | | | | | type="range">. This code will not be called until I land the upstream hooks to RenderThemeChromiumWin.cpp to use it. BUG=8931 Review URL: http://codereview.chromium.org/42451 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12231 0039d316-1c4b-4281-b951-d872f2087c98
* Reorder some stuff to be in alphabetical order in preparation for adding ↵pkasting@chromium.org2009-03-192-246/+246
| | | | | | | | more. No functional change. Review URL: http://codereview.chromium.org/42418 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12164 0039d316-1c4b-4281-b951-d872f2087c98
* Basic windowless plugins, try 2.evan@chromium.org2009-03-131-3/+2
| | | | | | | | | | | In response to Dean's comment on http://codereview.chromium.org/39105, I redid that patch to put the X munging into the plugin implementation. This won't work for multiproc, but it's near the correct place and many things will need to be changed for multiproc. Review URL: http://codereview.chromium.org/42056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11674 0039d316-1c4b-4281-b951-d872f2087c98
* Improve the look of the Linux omnibox.deanm@chromium.org2009-03-132-0/+22
| | | | | | | | | | | | | | | | - Paint a border around the input widget, which makes it fit better into the toolbar. A bordered widget is also very nice to have for debugging, so I abstracted a small helper for making a bordered bin. - Improve the results popup by painting with some Pango attributes. Sort of looks awful over NX, but I'm hoping it looks better on a real session. BUG=8236 Review URL: http://codereview.chromium.org/46035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11644 0039d316-1c4b-4281-b951-d872f2087c98
* Remove logging.h from cc files that don't use it.thestig@chromium.org2009-03-121-1/+0
| | | | | | Review URL: http://codereview.chromium.org/42155 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11593 0039d316-1c4b-4281-b951-d872f2087c98
* Add a GDK_COLOR_RGB macro for constructing GdkColors.deanm@chromium.org2009-03-121-0/+5
| | | | | | | | | This does the simple math of * 257 to map from a 1 byte component to the gint16 GdkColor values, and initializes the pixel field to 0. Review URL: http://codereview.chromium.org/43077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11526 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-1018-18/+0
| | | | | | | | | Normalize end of file newlines in base/. All files end in a single newline. Review URL: http://codereview.chromium.org/42011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11329 0039d316-1c4b-4281-b951-d872f2087c98
* Move GdkPixbufFromSkBitmap to gtk_util so it can easily be shared.deanm@chromium.org2009-03-102-0/+45
| | | | | | | Review URL: http://codereview.chromium.org/38009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11327 0039d316-1c4b-4281-b951-d872f2087c98
* Expose the iostream (logging) interfaces of some gfx:: classes.evan@chromium.org2009-03-043-17/+3
| | | | | | | | | This is useful when developing anyway, and the compiler ought to be able to eliminate any dead code if we don't use it. Review URL: http://codereview.chromium.org/39089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10926 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGE (except one global std::wstring changed to const wchar_t* ↵maruel@chromium.org2009-03-035-15/+26
| | | | | | | | | | | const per style compliance). Preliminary work to enforce new PRESUBMIT.py rules: - <=80 cols - no trailing whitespaces - svn:eol-style=LF git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10791 0039d316-1c4b-4281-b951-d872f2087c98
* Start stitching GYP-generated files into the Linux build:sgk@google.com2009-03-031-95/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add a GYP=1 command-line variable to use the gyp-generated files (which are generated side-by-side until everything's okay enough to cut over for real). * Rearrange existing *.scons files to match the layout of the gyp-generated ones, so the transition will be easier: * base.scons (the wrapping logic that calls the other *.scons files) => base_sln.scons * base_lib.scons (the library itself) => base.scons (matching the gyp target generation) * gfx/base_gfx.scons => base_gfx.scons (with necessary prepending of "gfx/" to path names) build/SConscript.main fixes: * Use an internal ${_GYP} infix variable to select the right flavor of *.scons file (multiple places) * When building with GYP=1, only load the one component *_sln_gyp.scons file, because gyp has already created it with knowledge of all the right dependent *_gyp.scons files to load. Linux gyp build fixes: * Add -32 to $ASFLAGS for generating a 32-bit libicudata.a from the now-checked in .s. * Add -Wno-unused and -Wno-unused-function to skia. Review URL: http://codereview.chromium.org/28207 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10759 0039d316-1c4b-4281-b951-d872f2087c98
* Allow inclusion of libpng in the deps file.brettw@chromium.org2009-02-251-1/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10349 0039d316-1c4b-4281-b951-d872f2087c98
* Fix include paths for libpng.brettw@chromium.org2009-02-254-11/+10
| | | | | | Review URL: http://codereview.chromium.org/27113 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10345 0039d316-1c4b-4281-b951-d872f2087c98
* Add a gtk_utils (like gdi_utils), with region rectangle subtraction.deanm@chromium.org2009-02-115-12/+59
| | | | | | | | | | | | | This will be used like the gdi functions, for constructing clipping regions. Add ToGdkRectangle() on gfx::Rect, similar to the win32 and CG methods. Make the scons file better reflect which files are platform specific. Review URL: http://codereview.chromium.org/20259 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9574 0039d316-1c4b-4281-b951-d872f2087c98
* Unittest gardening on MacOS X:shess@chromium.org2009-02-111-1/+1
| | | | | | | | | | | | | | | | | | | | - base/gfx/rect_unittest.cc had a typo - base/waitable_event_watcher_unittest.cc enabled - chrome/common/pref_member_unittest.cc enabled - chrome/common/json_value_serializer_unittest.cc had a Windows-only bit which currently works fine on Mac. - These worked once an anonymous namespace was cleared up: chrome/browser/history/query_parser_unittest.cc chrome/browser/history/url_database_unittest.cc chrome/common/json_value_serializer_unittest.cc Some required minor editting to remove anonymous namespaces for test classes. Review URL: http://codereview.chromium.org/20241 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9539 0039d316-1c4b-4281-b951-d872f2087c98
* Add native drawing context typedef so that we can cut down on some #ifdefsamanda@chromium.org2009-02-061-0/+4
| | | | | | Review URL: http://codereview.chromium.org/20093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9353 0039d316-1c4b-4281-b951-d872f2087c98
* Use gfx::NativeView instead of gfx::NativeWindow where appropriate. Switch ↵jhawkins@chromium.org2009-02-041-1/+2
| | | | | | to platform-specific types in the implementation files and change variable names to match the header. Based on cl 8783 by Evan Martin. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9171 0039d316-1c4b-4281-b951-d872f2087c98
* The new version of Inset() Ben added a while ago didn't work quite right for ↵pkasting@chromium.org2009-01-292-10/+4
| | | | | | | | rects whose origin wasn't (0,0). Fix this and reduce some redundancy. Review URL: http://codereview.chromium.org/19457 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8893 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: gfx::NativeViewId and CrossProcessEventagl@chromium.org2009-01-271-2/+42
| | | | | | | | | | | | | | | | | | | 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
* Fix mac build.estade@chromium.org2009-01-271-1/+1
| | | | | | Review URL: http://codereview.chromium.org/19008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8700 0039d316-1c4b-4281-b951-d872f2087c98
* Try2 of issue 18772. (move jpeg_codec* to base/gfx)estade@chromium.org2009-01-274-0/+732
| | | | | | Review URL: http://codereview.chromium.org/18838 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8699 0039d316-1c4b-4281-b951-d872f2087c98
* undo 8692 (fix build failure)estade@chromium.org2009-01-274-732/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8694 0039d316-1c4b-4281-b951-d872f2087c98
* Move jpeg_codec.* to base/gfxestade@chromium.org2009-01-274-0/+732
| | | | | | Review URL: http://codereview.chromium.org/18772 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8692 0039d316-1c4b-4281-b951-d872f2087c98
* Add a PNGEncoder helper function that takes an SkBitmap,nick@chromium.org2009-01-232-0/+22
| | | | | | | | | | | | which is how PNGEncode is used almost everywhere. This should be strictly no functional change, except for the ImageFilterPeer::DataReady case, where we now take an SkAutoLockPixels where previously we did not. Review URL: http://codereview.chromium.org/18347 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8561 0039d316-1c4b-4281-b951-d872f2087c98
* Generate all chrome .vcproj files:sgk@google.com2009-01-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Path name translation (/ to \) of various MSVSTool attributes. * Explicit keyword= arguments to MSVSProject. This will likely go away eventually in favor of uniform behavior. * Add a relative_path_substitutions array that can be used to substitute in Visual Studio variable like $(OutDir). * Add a local_directory_prefix that can be set to './' to only affect files in the current directory. * Additional Keyword ordering in Tool attributes to continue to match the default order Visual Studio generates. * Add a Derived() proxy class that can wrap a File node to tell the .vcproj generation that we want the derived file, not its source(s), in the file list. * In the individual *.scons files, add the necessary files (mostly .h files) to file lists, and update MSVSProject() calls with the additional necessary information. Result is identical .vcproj files modulo the following differences: * Four locales .vcproj files (da, en-US, he and zh-TW) with source file orders that don't match the other locale .vcproj files have re-ordered file lists to match the rest. * Cosmetic XML changes (white space, ending tags) in: chrome/app/chrome_dll.vcproj chrome/app/generated_resources.vcproj net/build/net_resources.vcproj * Removal or addition of ./ prefixes from various files that don't match the other file specifications within their individual .vcproj files: chrome/installer/util/util.vcproj net/build/net.vcproj net/build/net_unittests.vcproj * Add missing empty sections (<ToolFiles>, <References>, <Globals>) for consistency with other .vcproj files: chrome/tools/test/image_diff/image_diff.vcproj third_party/libpng/libpng.vcproj third_party/zlib/zlib.vcproj * Add missing RootNameSpace attribute: chrome/test/automation/automation.vcproj testing/gtest.vcproj * Use && instead of \r\n as a command separator, to sidestep XML-generation problems: chrome/app/chrome_exe.vcproj * Remove unnecessary (?) duplicate files in the file list: chrome/browser/views/browser_views.vcproj (event_utils.cc and event_utils.h were duplicated) Review URL: http://codereview.chromium.org/17603 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8253 0039d316-1c4b-4281-b951-d872f2087c98
* Updates to Visual Studio project generation to accomodatesgk@google.com2009-01-101-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | recent changes and get rid of cut-and-paste: * Add generation of the new net_resource.vcproj file. * Accomodate the net\net.vsprops file. * New base.vcproj dependency in activex_shim_dll.vcproj. * New tld_cleanup.vcproj dependency in net.vcproj. * New ondemand_updates.vcproj dependencies in gcapi_{dll,lib}.vcproj. * Re-order dump_cache.vcproj dependencies to match new checked-in solutions. * New input file directory layout in zlib (minizip folder) and testing\gtest (hierarchy). * Use a new dest= argument to ChromeMSVSSolution() and ChromeMSVSProject() to get rid of cut-and-pste installation code, and provide a central point for controlling when/whether we want to generate the files only under the build directory, or drop them in place for checking in. * Comment out an unnecessarily verbose warning if the buildtarget is executed with an action that we don't map to specific Visual Studio settings. Sometimes this is normal and okay, but the warning should get restored at some point when we work out the precise conditions under which it makes sense. Review URL: http://codereview.chromium.org/17602 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7856 0039d316-1c4b-4281-b951-d872f2087c98
* Mass convert ChromeStaticLibrary -> ChromeLibrary, including pulling the ↵evanm@google.com2008-12-261-1/+1
| | | | | | | | | | | updated ICU dep that uses it as well. Add a SHARED scons command-line flag to build shared libraries. Review URL: http://codereview.chromium.org/16477 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7479 0039d316-1c4b-4281-b951-d872f2087c98
* Initial subset of .vcproj file generation, covering generation of:sgk@google.com2008-12-241-10/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | base\build\base.vcproj base\build\base_gfx.vcproj base\build\base_unittests.vcproj base\build\debug_message.vcproj skia\skia.vcproj testing\gtest.vcproj third_party\icu38\icu.vcproj third_party\icu38\icudt.vcproj third_party\libpng\libpng.vcproj third_party\zlib\zlib.vcproj Supporting work in *.scons files: * Adds .h files to the input_files lists in the various *.scons files. * Add arguments to ChromeMSVSProject() to actually generate the .vcproj files. * Add MSVS.AddConfig() calls to the *.scons files to preserve the .vsprops inclusion in the generated .vcproj files. (These will go away eventually as we migrate away from .vsprops in favor of using the settings from the SCons configuration.) * Add MSVS.AddConfig() calls to preserve the .vsprops inclusion. * Move the special generation of dmg_fp/*.cc files ahead of the input file list so we can list the generated object files. * Change the 'solutions' Alias to 'msvs' so we don't mislead about what will actually be generated. Updates to the new _Node_MSVS.py module with latest from upstream prototype development: * Support configurability of: * buildtarget (used to generat project name) * RootNamespace * relative_path_prefix (to prepend './') * tools (to avoid repetition in the project configs) * Track the Visual Studio hierarchy in SCons Nodes, not DOM, so we can delay evaluation until after the complete configuration has been specified. * Add a FileList base class for the things that need, with a subclass hierarchy for the different concrete things in our tree, and a FileListWalk() function for traversing hierarchies. * Centralize turning strings into Nodes in the args2nodes() method and have AddFiles() just use it. Updates to chromium_builders.py to support all this * Add knowledge about stripping out noncompilable files (.h files) from input_files lists. * Return a Null() class if we're not generating MSVS files so we don't have to hide the other calls in if:-blocks. * Add custom ChromeFileList subclass of MSVS.FileList as a container for the file list manipulation we need to do. * Move the Chrome*() function definitions out to global space, and just use the generate() function for adding them to the passed-in environment as class methods. * Make a change to SCons (in Node/FS.py) to handle polymorphism in the new MSVS Node hierarchy. Review URL: http://codereview.chromium.org/16447 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7467 0039d316-1c4b-4281-b951-d872f2087c98
* Initial generation of native Visual Studio solution filessgk@google.com2008-12-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (project files still to come). To wit: * Solution file configuration is in *_sln.scons files (base\base_sln.scons, chrome\chrome_sln.scons). * Individual Project file configuration is in the the .scons file for the relevant target (base\base_unittests.scons, third_party\libxml\libxml.scons, etc.)--that is, where their file lists will live. * MSVSProject() calls are currently placeholders that establish the existence of Project Nodes (and Project dependencies) but don't yet have actual Project configuration information (file lists, .vsprops, etc.). * Configuraiton is very manual. In particular, the entries in the .sln file will be written out in exactly the order specified in the configuration(s). The current ordering is taken from our existing .sln files, so we can generate virtually the same configurations on output. * Generated solution files are nearly byte-for-byte identical with our existing .sln files, modulo: * net\dump_cache has a WebsiteProperties sections (making that configurable per project isn't important right now); * sandbox\sandbox.sln was missing a dependency of base.vcproj on on debug_message.vcproj (present in other .sln files) * webkit\webkit.sln was missing dependencies of WebCore.vcproj on libxml_config.vcproj and libxslt_config.vcproj (present in chrome.sln); * add a handful of other miscellaneous missing dependencies on various .vcproj definitions in chrome.sln (present in other .sln files). * remove stats_viewer.csproj from chrome.sln (sorry, mbelshe), which was complicating the solution configuration with unnecessary (for us) "Mixed Platform" types; * All MSVSFolder(), MSVSProject() and MSVSSolution() calls have hard-wired guid= values taken from our existing configuration, so we can: 1) verify generation of working configs; 2) minimize diffs when checking in generated .sln files. We can remove these in the future in favor of extracting them from existing .sln files if we wish. * Add ChromeMSVSFolder(), ChromeMSVSProject() and ChromeMSVSSolution() wrappers to chromium_builders.py, that gate the underlying call to the env.MSVS*() builders based on whether env.Bit('msvs') is set (i.e., we're in --mode=msvs). * Remove platform-specific gating of to-be-ported .scons files that we now need to load on any platform to generate coheren MSVS files. Move the env.Bit('windows') tests for actually building their executables into the individual .scons files. Review URL: http://codereview.chromium.org/14472 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7297 0039d316-1c4b-4281-b951-d872f2087c98
* Convert from using env['PLATFORM'] directly to using the more flexiblesgk@google.com2008-12-181-4/+4
| | | | | | | | | | | | | | | | | | and better-thought-out Hammer env.Bits() idioms: * env['PLATFORM'] == 'win32' => env.Bit('windows') * env['PLATFORM'] == 'posix' => env.Bit('linux') * env['PLATFORM'] == 'darwin' => env.Bit('mac') New idioms: * env.Bit('posix') => really does mean "any POSIX platform" * env.AnyBits('mac', 'linux') => specifically mac or linux, excluding other POSIX platforms Where we were using compound conditionals (e.g., "env['PLATFORM'] in ('posix', 'darwin')") I tried to take my best shot at translating the intent (i.e., "env.Bits('posix')" for something POSIX, "not env.Bits('mac')" for something not yet ported to Mac, etc.) Review URL: http://codereview.chromium.org/15051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7270 0039d316-1c4b-4281-b951-d872f2087c98
* Move the "platform" wrappers in skia/ext to the skia namespace.brettw@google.com2008-12-172-3/+6
| | | | | | Review URL: http://codereview.chromium.org/14110 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7182 0039d316-1c4b-4281-b951-d872f2087c98