summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/nine_box.cc
Commit message (Collapse)AuthorAgeFilesLines
* Make find bar BIDI.estade@chromium.org2009-07-291-6/+30
| | | | | | | | | BUG=17475 TEST=obvious Review URL: http://codereview.chromium.org/159570 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21936 0039d316-1c4b-4281-b951-d872f2087c98
* Work on RTL / BiDi Omnibox.deanm@chromium.org2009-07-161-1/+2
| | | | | | | | | Based on work from Evan Stade. Review URL: http://codereview.chromium.org/155567 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20862 0039d316-1c4b-4281-b951-d872f2087c98
* Don't try to set transparency on pixbufs that don't have any transparency ↵estade@chromium.org2009-07-151-2/+12
| | | | | | | | | | | | | | | channel. Also add DCHECK to make sure the assumption rowstride >= width * 4 is true. The reason this didn't cause any crashes or graphical corruption is because the non-transparent images don't have any white in them (luckily we are not making a browser for an ipod). BUG=16749 TEST=valgrind the browser, open find bar Review URL: http://codereview.chromium.org/155547 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20701 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash that happens when changing themes.tc@google.com2009-06-261-19/+35
| | | | | | | | | | | | | | | | | | We were holding references to images that got deleted when themes changed. These all happen to be in a NineBox, so have NineBox reload images when the theme change notification is sent. Also fix an expose bug that wasn't noticeable in the original theme. We need to always place the image at 0, 0 for the background and paint it all the way across the window (should get clipped by cairo). BUG=15366 Review URL: http://codereview.chromium.org/149102 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19426 0039d316-1c4b-4281-b951-d872f2087c98
* More BIDI support:estade@chromium.org2009-06-261-0/+5
| | | | | | | | | | | | | - mirror nine boxes - mirror menu positioning - mirror download item show/hide logic http://crbug.com/15406 is relevant, although I'm not sure this 100% fixes it. TEST=use download shelf in Hebrew chrome. Things should be mirrored. Use it in English and nothing should be borked. Review URL: http://codereview.chromium.org/147176 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19333 0039d316-1c4b-4281-b951-d872f2087c98
* If widget is too small to render a nine box, just return (don't DCHECK).estade@chromium.org2009-06-111-9/+10
| | | | | | | | | | | When I initially added that DCHECK, we did not have any animations, so it was always a mistake to have a widget that was too small. Now that we do have animations, this is no longer true. Instead of having to work around this DCHECK with minimum size hacks, get rid of the hack and paint nothing. TEST=download a safe thing and an unsafe thing. Open and close the bookmark bar and findbar a lot. Everything looks ok and doesn't crash. http://crbug.com/13343 Review URL: http://codereview.chromium.org/118393 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18135 0039d316-1c4b-4281-b951-d872f2087c98
* Merge app/gfx/gtk_util into base/gfx/gtk_util.thestig@google.com2009-06-031-1/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/118174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17535 0039d316-1c4b-4281-b951-d872f2087c98
* Add GetPixbufNamed to ThemeProvider. GetPixbufNamed converts a loaded theme ↵jhawkins@chromium.org2009-05-201-23/+11
| | | | | | | | bitmap to a GdkPixbuf and caches the image so ThemeProvider users don't need to release them ala ResourceBundle::GetPixbufNamed. Review URL: http://codereview.chromium.org/113626 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16520 0039d316-1c4b-4281-b951-d872f2087c98
* Fix memory leak in nine_box.thestig@chromium.org2009-05-191-2/+10
| | | | | | Review URL: http://codereview.chromium.org/112040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16432 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Just enough toolbar theming to make everything look normal again.estade@chromium.org2009-05-181-0/+29
| | | | | | | | http://crbug.com/11679 Review URL: http://codereview.chromium.org/115438 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16339 0039d316-1c4b-4281-b951-d872f2087c98
* Gtk: fix find bar rendering following NineBox improvements.estade@chromium.org2009-05-161-2/+7
| | | | | | Review URL: http://codereview.chromium.org/113496 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16221 0039d316-1c4b-4281-b951-d872f2087c98
* Reimplement NineBox using Cairo.deanm@chromium.org2009-05-111-100/+47
| | | | | | | | | | | | - Fixes a bug we've had for a long time drawing the wrench button. We would over-tile the center portion, and draw the right images on top of it. - Move away from x1 .. x2 parameters to more clear width and height. - Makes the code significantly more straightforward and efficient. Review URL: http://codereview.chromium.org/115181 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15755 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
* GTK: give the findbox curvy edges.estade@chromium.org2009-04-301-4/+53
| | | | | | | | | | Most of the new code concerns shaping the widget to be non-rectangular. Also, sprinkle some "const" qualifiers on NineBox functions. Review URL: http://codereview.chromium.org/100224 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15014 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid DCHECK in nine box during download shelf animation.estade@chromium.org2009-04-221-2/+2
| | | | | | | | | That DCHECK might be a little overzealous, but is probably useful for most situations, so I'm leaving it. TBR=tony Review URL: http://codereview.chromium.org/92036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14237 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor NineBox to take 9 image ids instead of having to createtc@google.com2009-04-171-2/+13
| | | | | | | | | | | | | | the GdkPixbuf array and passing it into the constructor. This allows us to remove some resource_bundle.h includes. Clean up the style in gtk_chrome_button.cc. There was some C style and moved the globals to just static pointers. I verified with a debugger that we call gtk_chrome_button_class_init only once. Review URL: http://codereview.chromium.org/69025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13941 0039d316-1c4b-4281-b951-d872f2087c98
* Have ResourceBundle own GdkPixbufs.tc@google.com2009-04-161-4/+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
* linux: offset toolbar graphic so tabs merge in properly.evan@chromium.org2009-04-091-4/+4
| | | | | | Review URL: http://codereview.chromium.org/63148 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13401 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ninebox rendering.estade@chromium.org2009-03-311-23/+15
| | | | | | | | | | | - Correct some wrong x/y coords. - Get rid of FillWidget. We can't paint the widget with a debugging color because some of our images are partially translucent, so the debug color will shine through. TEST=CustomContainerButton hover-over should now appear properly. Download items in the shelf should appear properly. Review URL: http://codereview.chromium.org/56091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12898 0039d316-1c4b-4281-b951-d872f2087c98
* Change NineBox to render into a GtkWidget. This offers a minor speedup and ↵jhawkins@chromium.org2009-03-261-29/+50
| | | | | | | | simplification of code because we get rid of the pixbuf middleman. Review URL: http://codereview.chromium.org/42620 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12620 0039d316-1c4b-4281-b951-d872f2087c98
* Linux download shelf:estade@chromium.org2009-03-261-1/+1
| | | | | | | | | - Show status text. - Pack new items on the left. Review URL: http://codereview.chromium.org/53084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12582 0039d316-1c4b-4281-b951-d872f2087c98
* Put the dropdown menu button on the linux download shelf.estade@chromium.org2009-03-051-16/+29
| | | | | | | | | | Also set the background color. Also extend NineBox a little bit. Review URL: http://codereview.chromium.org/40139 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10969 0039d316-1c4b-4281-b951-d872f2087c98
* Add download items to the download shelf in linux.estade@chromium.org2009-03-041-2/+4
| | | | | | Review URL: http://codereview.chromium.org/40136 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10935 0039d316-1c4b-4281-b951-d872f2087c98
* Draw custom menu buttons properly.evan@chromium.org2009-02-201-25/+48
| | | | | | | | | | This is an iterative process towards code to be proud of; the previous code of mine was horrible, this is less bad, and my next attempt at it will be pretty, I promise. Review URL: http://codereview.chromium.org/28001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10111 0039d316-1c4b-4281-b951-d872f2087c98
* Make the toolbar background themed on Linux.evan@chromium.org2009-02-171-0/+90
Add a class for managing images for scalable themed widgets, and then implement the toolbar on top of this. Review URL: http://codereview.chromium.org/21390 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9898 0039d316-1c4b-4281-b951-d872f2087c98