summaryrefslogtreecommitdiffstats
path: root/app/gfx
Commit message (Collapse)AuthorAgeFilesLines
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-269-0/+9
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Added --use-gl command line flag to select GL implementation.apatrick@chromium.org2010-07-1413-333/+700
| | | | | | | | | | | | - Options are desktop, egl and osmesa. - Also added support for bliting an OSMesa bask buffer to a GDK window. TEST=trybots, manual verification that WebGL and Pepper 3D work BUG=45898 Review URL: http://codereview.chromium.org/2825005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52388 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: add GLES/EGL support on linuxpiman@chromium.org2010-06-216-32/+196
| | | | | | Review URL: http://codereview.chromium.org/2829007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50397 0039d316-1c4b-4281-b951-d872f2087c98
* Committing on behalf of p155off@gmail.com .kbr@google.com2010-06-152-1/+2
| | | | | | | | | | | | | Remove duplicated code in AcceleratedSurface using PbufferGLContext instead. This also fixes a crash caused by the OpenGL bindings not being initialized. BUG=46286 TEST=flash plugin 10.1 works again in both mac 10.5 and 10.6 Review URL: http://codereview.chromium.org/2782006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49836 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting checkin in rev 48521 as creating a child window for GL rendering ↵vangelis@chromium.org2010-06-101-63/+5
| | | | | | | | | | | | | creates more problems than it solves. Hopefully either we'll find a more elegant solution or the problem will go away with the introduction of ANGLE. This patch is identical to: http://codereview.chromium.org/2644001/show which was checked in and reverted due to a build failure (which I believe was unrelated) Review URL: http://codereview.chromium.org/2721001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49441 0039d316-1c4b-4281-b951-d872f2087c98
* Added EGL based GLContext.apatrick@chromium.org2010-06-0919-351/+2413
| | | | | | | | | | | | | | Python script to generate code to dynamically bind to GL functions (native GL, OSMesa, EGL or mock GL for unit tests). This replaces GLEW because GLEW doesn't bind to the GLES dialect of GL. Moved the mock GL code into app/gfx/gl. Updated the GPU code and AcceleratedSurface to use the new GL bindings. TEST=trybots BUG=none Review URL: http://codereview.chromium.org/2134006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49332 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 49066 - Reverting checkin in rev 48521 as creating a child window for ↵erg@chromium.org2010-06-071-5/+63
| | | | | | | | | | | | GL rendering creates more problems than it solves. Hopefully either we'll find a more elegant solution or the problem will go away with the introduction of ANGLE. Review URL: http://codereview.chromium.org/2644001 TBR=vangelis@chromium.org Review URL: http://codereview.chromium.org/2645007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49067 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting checkin in rev 48521 as creating a child window for GL rendering ↵vangelis@chromium.org2010-06-071-63/+5
| | | | | | | | | creates more problems than it solves. Hopefully either we'll find a more elegant solution or the problem will go away with the introduction of ANGLE. Review URL: http://codereview.chromium.org/2644001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49066 0039d316-1c4b-4281-b951-d872f2087c98
* Added warning if GLX version is less than 1.3. Pbuffers need GLX 1.3 and the ↵apatrick@chromium.org2010-05-281-0/+10
| | | | | | | | | | | pixmap fallback for 1.2 does not work on all systems. TEST=try BUG=none Review URL: http://codereview.chromium.org/2382002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48538 0039d316-1c4b-4281-b951-d872f2087c98
* Get the GPU process to create an additional window for the GL context in ordervangelis@chromium.org2010-05-281-7/+65
| | | | | | | | | to get window resizing to work. The new content window is a sibling of the hosting window but its position is set such that it renders on top of the host. BUG=44518 Review URL: http://codereview.chromium.org/2102009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48521 0039d316-1c4b-4281-b951-d872f2087c98
* Changed DLOG to LOG in gl_context_linux.cc to get informative errorkbr@google.com2010-05-241-19/+19
| | | | | | | | | | | messages even in release builds when WebGL initialization fails. BUG=44226 TEST=none Review URL: http://codereview.chromium.org/2110012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48045 0039d316-1c4b-4281-b951-d872f2087c98
* linux: fallback to GLX Pixmaps when pbuffers aren't availablepiman@chromium.org2010-05-181-3/+159
| | | | | | Review URL: http://codereview.chromium.org/2129007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47484 0039d316-1c4b-4281-b951-d872f2087c98
* Fix NULL vs 0 problems which break the build with -Werror using GCC 4.5evan@chromium.org2010-05-061-2/+2
| | | | | | | | | | | BUG=none TEST=try to compile with gcc 4.5 Patch by Benjamin Jemlich <pcgod99@gmail.com>. Review URL: http://codereview.chromium.org/2007003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46601 0039d316-1c4b-4281-b951-d872f2087c98
* OSMesa was not being correctly initialized when used with WebGL.apatrick@chromium.org2010-04-293-33/+21
| | | | | | | | | | | GLEW was not being initialized and the back buffer was not being cleared. Back buffer was not being deallocated in OSMesaGLContext::Destroy. TEST=trybots BUG=none Review URL: http://codereview.chromium.org/1792008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45958 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper3D plugin tests enabled for Windows.apatrick@chromium.org2010-04-221-0/+4
| | | | | | | | | | | OSMesa (offscreen 3D renderer) allows us to now run these on the bots. Once OSMesa is working on linux and max, we can enable the tests for those platforms too. TEST=trybots, checked they fail when OSMesa is not built and pass when OSMesa is built BUG=none Review URL: http://codereview.chromium.org/1752006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45353 0039d316-1c4b-4281-b951-d872f2087c98
* Landing 45240 again.apatrick@chromium.org2010-04-227-0/+1526
| | | | | | | | | | | | | | GLContext implementations were dependent on some stuff in app/. Moved GLContext class to app/gfx/gl. Now it can be used by code outside of the gpu project, for example AcceleratedSurface. TEST=trybots, checkdeps BUG=none Review URL: http://codereview.chromium.org/1689006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45335 0039d316-1c4b-4281-b951-d872f2087c98
* Move app/gfx/canvas and app/gfx/font to gfx/.ben@chromium.org2010-03-2313-2276/+1
| | | | | | | | | | TBR=darin BUG=none TEST=none Review URL: http://codereview.chromium.org/1132006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42312 0039d316-1c4b-4281-b951-d872f2087c98
* Clamp the max size of fonts used by skia/chrome canvas.tony@chromium.org2010-03-233-24/+33
| | | | | | | | | | | | This forces us to ignore dpi sizes > 96., like we do in other places. It does allow smaller DPIs to work since that mostly just makes fonts smaller. BUG=26354 Review URL: http://codereview.chromium.org/1095004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42311 0039d316-1c4b-4281-b951-d872f2087c98
* Disable test until I move this file later this evening.ben@chromium.org2010-03-221-2/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42278 0039d316-1c4b-4281-b951-d872f2087c98
* Make gfx::Font use callbacks to perform locale-dependent font adjustments. ↵ben@chromium.org2010-03-224-9/+23
| | | | | | | | | | | Also cleans up some of the last remaining l10n_util usages within app/gfx in preparation for moving these files to toplevel gfx. BUG=none TEST=none Review URL: http://codereview.chromium.org/1110008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42262 0039d316-1c4b-4281-b951-d872f2087c98
* Move RTL related functions from app/l10n_util to base/i18n/rtlben@chromium.org2010-03-203-6/+23
| | | | | | | | | | TBR=darin BUG=none TEST=none Review URL: http://codereview.chromium.org/1073005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42182 0039d316-1c4b-4281-b951-d872f2087c98
* Move text_elider from app/gfx to app/ben@chromium.org2010-03-193-779/+0
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42090 0039d316-1c4b-4281-b951-d872f2087c98
* Move more files to toplevel gfx.ben@chromium.org2010-03-1916-2539/+0
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42071 0039d316-1c4b-4281-b951-d872f2087c98
* Move image codec stuff to toplevel gfx.ben@chromium.org2010-03-187-1841/+0
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41911 0039d316-1c4b-4281-b951-d872f2087c98
* Move some more files to toplevel gfx dir.ben@chromium.org2010-03-1717-1102/+0
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41812 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/gfx contents to gfx/ben@chromium.org2010-03-1413-15/+16
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41559 0039d316-1c4b-4281-b951-d872f2087c98
* Create a toplevel gfx/ dir and seed it with icon_util.ben@chromium.org2010-03-133-945/+0
| | | | | | | | | | TBR=darin BUG=none TEST=none Review URL: http://codereview.chromium.org/915002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41528 0039d316-1c4b-4281-b951-d872f2087c98
* Don't allocate temporary buffer during PNG encoding.erg@google.com2010-03-122-29/+105
| | | | | | | | | | | | | | | | | | PNGCodec::EncodeBGRASkBitmap() was originally designed for dealing with 16x16 pixel favicons. It allocated a temporary buffer to unpremultiply the rgb pixels in the incoming skia image. These days, it's used for any PNG<->SkBitmap task, including the theme system. In one case, I saw multiple 10 megabyte temporary buffers allocated and deallocated here. Instead, juggle the code a little to only allocate one row worth of pixels and to reuse that buffer. BUG=none TEST=Existing PNGCodec.* tests, plus PNGCodec.EncodeBGRASkBitmapDiscardTransparency Review URL: http://codereview.chromium.org/851006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41493 0039d316-1c4b-4281-b951-d872f2087c98
* GTK: more browser action toolbar functionality. estade@chromium.org2010-03-121-0/+4
| | | | | | | | | | | | | | | | - Resize smartly after dragging (animate to the "right" size) - Add the overflow menu (it is clickable, but you can't drag to/from it) - Resize appropriately after adding/removing buttons still TODO: - persist the #icons that are visible BUG=32101 TEST=manual Review URL: http://codereview.chromium.org/897001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41372 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some issues with text size calculation and message boxes.pkasting@chromium.org2010-03-111-40/+54
| | | | | | | | | | | | | | First, size calculations for multi-line, character-breaking strings with no prespecified width were returning useless values, and when given pathological input, could take extremely long time. Second, the flag calculations for text layout were a bit odd. For example, we wouldn't add an ending ellipsis on elided text if it was multi-line, and we wouldn't add an ellipsis on a clipped word if character breaking was off. Fixed these and reordered the calculations to match the order in which the header declares the flags. Third, message boxes shouldn't need to trim their inputs, or add an ellipsis character, as both of these should now be handled safely by the underlying code. BUG=34721 TEST=alert("AAAAA") for strings of As that are, say, 4000 characters long should not cause the UI to hang up for noticeable lengths of time Review URL: http://codereview.chromium.org/810003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41343 0039d316-1c4b-4281-b951-d872f2087c98
* svn prop fixes. Applied to all files not in third_party.pkasting@chromium.org2010-03-092-0/+0
| | | | | | | | | | | | * Removed eol-style, executable and mergeinfo from BMP/GIF/ICO/JPEG files, and set correct mime-type. * Removed executable and mergeinfo from .c/.cc/.cpp/.h/.m/.mm and .gyp files, and set eol-style to LF. TBR=evanm BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40991 0039d316-1c4b-4281-b951-d872f2087c98
* app: string_util.h -> utf_string_conversions.h fix.jhawkins@chromium.org2010-03-064-10/+16
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/668226 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40853 0039d316-1c4b-4281-b951-d872f2087c98
* Workaround for Pango integer overflow on really long strings.mmoss@google.com2010-03-011-0/+12
| | | | | | | | | This fixes TextEliderTest.ElideTextLongStrings breakage on "Linux Tests (dbg-shlib)(1)" (Karmic). http://chrome-buildbot.corp.google.com:8016/builders/Linux%20Tests%20(dbg-shlib)(1)/builds/1367/steps/app_unittests/logs/stdio Review URL: http://codereview.chromium.org/661244 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40297 0039d316-1c4b-4281-b951-d872f2087c98
* Move skia_utils_gtk.cc/.h to app/gfx/. Original patch by Thiago Farina (see ↵pkasting@chromium.org2010-02-262-0/+54
| | | | | | | | | http://codereview.chromium.org/660063 ), r=me. BUG=22853 TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40083 0039d316-1c4b-4281-b951-d872f2087c98
* Remove ampersands from menu item titles. See http://crosbug.com/1273avayvod@chromium.org2010-02-131-8/+19
| | | | | | | | | | BUG=None TEST=Right click bookmark bar. See no & in Cut,Copy,Paste and Bookmark Manager. Review URL: http://codereview.chromium.org/593074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38987 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TODOs or add bug numbers to TODOspinkerton@chromium.org2010-02-121-1/+1
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/606016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38892 0039d316-1c4b-4281-b951-d872f2087c98
* Make clicking on side tabs to select them work. ben@chromium.org2010-02-114-0/+86
| | | | | | | | | | | | Use a simple round rect for the visual treatment. Add some rect conversion utils. http://crbug.com/34509 TEST=none Review URL: http://codereview.chromium.org/597012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38856 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 38828 - Make clicking on side tabs to select them work.ben@chromium.org2010-02-114-87/+0
| | | | | | | | | | | | | | Use a simple round rect for the visual treatment. Add some rect conversion utils. http://crbug.com/34509 TEST=none Review URL: http://codereview.chromium.org/597012 TBR=ben@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38834 0039d316-1c4b-4281-b951-d872f2087c98
* Make clicking on side tabs to select them work.ben@chromium.org2010-02-114-0/+87
| | | | | | | | | | | | Use a simple round rect for the visual treatment. Add some rect conversion utils. http://crbug.com/34509 TEST=none Review URL: http://codereview.chromium.org/597012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38828 0039d316-1c4b-4281-b951-d872f2087c98
* Remove redundant casts in g_signal_connect() throughout all gtk code we have.erg@chromium.org2010-02-101-3/+1
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/600033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38629 0039d316-1c4b-4281-b951-d872f2087c98
* Tweak some things to be compatible with libpng 1.4.craig.schlenter@chromium.org2010-02-051-9/+4
| | | | | | | | | | | libpng 1.2 should still work too. BUG=32805 TEST=compiles on tryservers and locally against libpng 1.4 Review URL: http://codereview.chromium.org/569009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38188 0039d316-1c4b-4281-b951-d872f2087c98
* [GPU] Get GPU process running on the mackbr@google.com2010-02-031-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial port of GPU process / plugin to Mac OS X. Uses new IOSurface APIs and therefore currently runs only on 10.6. Alternate strategy will need to be devised for 10.5. Slight UI issues remain such as GPU plugins initially showing up in the wrong place on the page. These will be fixed in follow-on bugs. Minimal changes made to command buffer code to get it to compile on Mac OS X. Commented out use of nested anonymous namespaces in gles2_cmd_decoder.cc which were causing the linker to crash with a seg fault. Refactored gyp files so the OS test enabling the GPU plugin is in one place, common.gypi, and other files test only the variable enable_gpu. Slight change to gles2_demo_cc.cc to add some simple animation to verify that updates from the GPU plugin are reaching the screen. Changed Pepper test plugin to use 3D view by default and commented out use of audio context because of recent issues. TEST=none (ran Pepper Test Plugin with 3D view enabled) BUG=http://crbug.com/25988 Review URL: http://codereview.chromium.org/558035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37934 0039d316-1c4b-4281-b951-d872f2087c98
* WebKit roll 54045:54059pfeldman@chromium.org2010-01-291-2/+1
| | | | | | Review URL: http://codereview.chromium.org/553147 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37513 0039d316-1c4b-4281-b951-d872f2087c98
* WebKit roll 54016:54045.pfeldman@chromium.org2010-01-291-1/+2
| | | | | | Review URL: http://codereview.chromium.org/551202 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37503 0039d316-1c4b-4281-b951-d872f2087c98
* OpenBSD/FreeBSD ifdefs and GYP changes for app/ directorypvalchev@google.com2010-01-234-14/+12
| | | | | | | | | | | - Use OS_POSIX && !OS_MACOSX defines to capture Linux/*BSD as they have many similarities, use other defines instead of OS_LINUX where sensible. Based on original work by Sprewell and Ben Laurie on FreeBSD port Review URL: http://codereview.chromium.org/548126 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36931 0039d316-1c4b-4281-b951-d872f2087c98
* Fix bad tooltip wrapping.davemoore@chromium.org2010-01-221-1/+15
| | | | | | | | | | Bug=32857 Test=Create a document with a long title. Open it. Hover over the tab title. Even if the text is elided it should be only 1 line tall. Review URL: http://codereview.chromium.org/543166 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36869 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt to fix text not being clipped. This only seems to happen insky@chromium.org2010-01-111-0/+3
| | | | | | | | | | | | certain configurations. I'm guessing the problem is because a width/height <= 0 is not honored and clipping doesn't happen. BUG=26483 TEST=none Review URL: http://codereview.chromium.org/542011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35909 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt to fix crash in issue 31082xiyuan@chromium.org2010-01-071-0/+4
| | | | | | | | | | | | | Crash in issue 31082 is inside Windows ICM (Image Color Management) code. I suspect it is caused by invalid bV5Intent value in the BITMAPV5HEADER we passed in. BUG=31082 TEST=Crashes in issue 31082 should be gone. Review URL: http://codereview.chromium.org/519081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35734 0039d316-1c4b-4281-b951-d872f2087c98
* Workaround bug in Pango that was resulted in incorrect wrapping.sky@chromium.org2010-01-041-0/+17
| | | | | | | | | BUG=30361 TEST=see bug Review URL: http://codereview.chromium.org/512002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35490 0039d316-1c4b-4281-b951-d872f2087c98
* linux: reduce header interdependenciesevan@chromium.org2009-12-291-1/+1
| | | | | | | | | | | | By analyzing gcc -H output, I found some of our worst offenders for headers bringing in other headers. native_web_keyboard_event.h was responsible for just under 60,000 extra includes! This change will in theory make the build faster. Review URL: http://codereview.chromium.org/524004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35326 0039d316-1c4b-4281-b951-d872f2087c98