summaryrefslogtreecommitdiffstats
path: root/app/gfx
Commit message (Collapse)AuthorAgeFilesLines
* Re-enable TextEliderTest.ElideTextLongStrings.estade@chromium.org2009-11-202-3/+9
| | | | | | | | | | Pango returns 0 for absurdly long strings. Cut the text in half and try again if this occurs. BUG=15435 Review URL: http://codereview.chromium.org/414013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32572 0039d316-1c4b-4281-b951-d872f2087c98
* Simplify some code that loops over all pixels of a bitmap.pkasting@chromium.org2009-11-191-32/+17
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/404033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32444 0039d316-1c4b-4281-b951-d872f2087c98
* Fix lint errors in app/ and turn on presubmit check.erg@google.com2009-11-173-6/+6
| | | | | | Review URL: http://codereview.chromium.org/400016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32222 0039d316-1c4b-4281-b951-d872f2087c98
* Added a flag to the Canvas class which allows forcing an RTL directionalityidana@chromium.org2009-11-112-5/+19
| | | | | | | | | | | | | on text drawn using Canvas::DrawStringInt(). Using this flag, it is possible to render RTL text correctly on platforms where LRE/PDF chars are not supported (e.g. Windows XP with no RTL fonts installed). BUG=23425 TEST=Run chrome and enter Hebrew text into the omnibox (see bug description). Make sure suggestions are formatted correctly. Verify in both RTL and LTR UIs. Review URL: http://codereview.chromium.org/384018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31619 0039d316-1c4b-4281-b951-d872f2087c98
* Unrevert 31478 Add UI for turning on/off network devices.mpcomplete@chromium.org2009-11-103-0/+106
| | | | | | | | | | | BUG=26636 TEST=run skbitmap_operations_unittest Review URL: http://codereview.chromium.org/353028 TBR=chocobo@google.com Review URL: http://codereview.chromium.org/384017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31598 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 31478 - Add UI for turning on/off network devices.mpcomplete@chromium.org2009-11-103-106/+0
| | | | | | | | | | | BUG=26636 TEST=run skbitmap_operations_unittest Review URL: http://codereview.chromium.org/353028 TBR=chocobo@google.com Review URL: http://codereview.chromium.org/384014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31589 0039d316-1c4b-4281-b951-d872f2087c98
* Add UI for turning on/off network devices.chocobo@google.com2009-11-093-0/+106
| | | | | | | | BUG=26636 TEST=run skbitmap_operations_unittest Review URL: http://codereview.chromium.org/353028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31478 0039d316-1c4b-4281-b951-d872f2087c98
* Fix various problems with inline autocomplete and URLs that change length ↵pkasting@chromium.org2009-11-071-5/+5
| | | | | | | | | | | | | | | | | | | | during fixup: * URLs with http auth info, which gets stripped * URLs with IDN hosts * URLs with escaped values that get unescaped In cases like these, we'd inline autocomplete from the wrong locations, highlight the wrong portions of the URL as matches, and sometimes DCHECK() in debug mode. The fix is to track how fixup affects the offsets into the URL we care about. Plumbing this required an enormous number of additions :( There is also a fix here to the URL Fixer Upper, which was obviously modified at some point in the past to use the Parsed components, but without updating the comments or some of the functionality to match. Since this isn't supposed to "fix up" things that aren't simple typos, I removed some code to "fix" bogus ports, which was causing bizarre effects when typing HTTP auth URLs ("http://foo:bar" would be fixed to "http://foo" and then matched for inline autocompletion, which was clearly wrong). This is tested incidentally by one of the new History URL Provider tests (which is how I discovered it). BUG=4010 TEST=Covered by unittests Review URL: http://codereview.chromium.org/372017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31352 0039d316-1c4b-4281-b951-d872f2087c98
* First patch in making destructors of refcounted objects private.jam@chromium.org2009-11-051-1/+4
| | | | | | | BUG=26749 Review URL: http://codereview.chromium.org/360042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31136 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt 2 at:sky@chromium.org2009-11-045-17/+93
| | | | | | | | | | | | | | | Gets find bar animation/clipping to work on views/gtk. The only difference between this and the first version is fixing an include in extension_host that was triggering mac to build views, as well as an extraneous SetSlideDuration I had used for testing. BUG=none TEST=none TBR=ben Review URL: http://codereview.chromium.org/342116 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30942 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 30903 - Gets find bar animation/clipping to work on views/gtk.sky@chromium.org2009-11-045-93/+17
| | | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/340077 TBR=sky@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30913 0039d316-1c4b-4281-b951-d872f2087c98
* Gets find bar animation/clipping to work on views/gtk.sky@chromium.org2009-11-045-17/+93
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/340077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30903 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed font height on OS X. Also added some unittests.akalin@chromium.org2009-11-033-6/+12
| | | | | | | | | BUG=none TEST=trybots Review URL: http://codereview.chromium.org/351024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30891 0039d316-1c4b-4281-b951-d872f2087c98
* Fix up extension badge text drawing.estade@chromium.org2009-10-304-7/+11
| | | | | | | | | | | | | | | Fall abck to the system default font if the preferred font isn't available. Also, only create the SkPaint struct once, not on every paint. Also, make some more things const. BUG=25693 TEST=badge still looks good, that crash goes away Review URL: http://codereview.chromium.org/341045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30631 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented most of HtmlDialogWindowController, which is a Cocoa portakalin@chromium.org2009-10-301-0/+3
| | | | | | | | | | | | | | | | | | | | of HtmlDialogView. Added TODO to fix inaccurate font height metric for OS X font class (and maybe width). Added the BrowserCommandExecutor protocol so that not just a BrowserWindowController can be the window controller for a ChromeEventProcessingWindow. Added unittests. Also tested manually with the bookmark sync setup wizard dialog. BUG=23073 TEST=added unittests, trybot, and manual testing Review URL: http://codereview.chromium.org/344008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30619 0039d316-1c4b-4281-b951-d872f2087c98
* Problem clipping gtk text.davemoore@chromium.org2009-10-301-1/+1
| | | | | | | | | BUG=26266i TEST=NONE Review URL: http://codereview.chromium.org/342060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30604 0039d316-1c4b-4281-b951-d872f2087c98
* Got the about panel to have its text lined up correctly.davemoore@chromium.org2009-10-273-19/+101
| | | | | | | | Also added underline capability to linux fonts. Review URL: http://codereview.chromium.org/338029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30276 0039d316-1c4b-4281-b951-d872f2087c98
* Get the About panel to align its links correctly,davemoore@chromium.org2009-10-232-9/+2
| | | | | | | | but undo a previous change to the way we measure strings in pango. Review URL: http://codereview.chromium.org/338001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29943 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure the RootView is sized to the correct bounds when the opaque frame ↵ben@chromium.org2009-10-231-0/+3
| | | | | | | | is maximized.It seems that now, when an opaque frame is maximized we also need to add the SM_CXSIZEFRAME to the top of the client rect. I don't know why, it's just is.I reworked the way Widget allows subclasses to handle sizing of the RootView... I delegate responsibility for determining the RootView's bounds to a helper virtual function which BrowserFrameWin overrides. This seems cleaner to me. I make sure this handling only occurs when the window is not maximized.http://crbug.com/25227TEST=use to a theme or switch off glass on vista or use Xp. Maximize the browser window. The tabs should be entirely visible. Review URL: http://codereview.chromium.org/304007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29882 0039d316-1c4b-4281-b951-d872f2087c98
* Make PNGCodec::Decode(...) not make an intermediary copy of the decoded data;erg@google.com2009-10-223-60/+156
| | | | | | | | | | | instead have it write directly to the returned SkBitmap. BUG=http://crbug.com/24493 TEST=Perf should get better. On the perf trybot, tab_complex_theme_cold got an average of ~40ms better. Review URL: http://codereview.chromium.org/305001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29780 0039d316-1c4b-4281-b951-d872f2087c98
* Implement dragging icon for dragging bookmarks in views/gtk.skrul@google.com2009-10-212-2/+2
| | | | | | Review URL: http://codereview.chromium.org/270068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29692 0039d316-1c4b-4281-b951-d872f2087c98
* GTK: Display explanatory message on sad tab page.estade@chromium.org2009-10-211-4/+3
| | | | | | | | | | | Also fix canvas text drawing bugs for certain vertical alignments. BUG=25267 TEST=about:crash Review URL: http://codereview.chromium.org/307015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29673 0039d316-1c4b-4281-b951-d872f2087c98
* Plug a font leak.davemoore@chromium.org2009-10-191-1/+3
| | | | | | Review URL: http://codereview.chromium.org/293011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29462 0039d316-1c4b-4281-b951-d872f2087c98
* Do work necessary to make Views About panel work on Chrome OS. This is to be ↵davemoore@chromium.org2009-10-193-24/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | used for forcing Chrome OS updates. There were many things that needed to be fixed for this to work. Make skia's canvas return height of font for size of strings, instead of the actual height of the characters to bring it in line with Windows. Make average character widths use pango metrics and windows dialog units. Make this lazy, to avoid most calls. Fix bug in About panel that failed to adjust the embedded links to allow for the padding that Link adds so they can be focused. Support gtk about panel in regular build, views in chrome os only. Fix WindowGtk to call WindowClosing() Fix canvas_linux::SetupPangoLayout() to wrap correctly, if passed a width Fix Label::ComputeMultiLineFlags() to turn off eliding. With eliding the pango routines always return 1 line. Enable focus manager in dialogs. Version loader crashed in debug. Review URL: http://codereview.chromium.org/282002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29414 0039d316-1c4b-4281-b951-d872f2087c98
* Made sync code build and pass unit tests on OS X.akalin@chromium.org2009-10-162-0/+68
| | | | | | | | | | | | | | | | | | | | Major changes: - Moved sync_setup_{flow,wizard} to sync directory. - Made browser_with_test_window_test compile on non-Windows platform. - Moved localized contents font util functions to app/. BUG=23073 TEST=trybot Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=29253 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=29255 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=29258 Review URL: http://codereview.chromium.org/279004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29263 0039d316-1c4b-4281-b951-d872f2087c98
* Reverted 29258.akalin@chromium.org2009-10-162-68/+0
| | | | | | TBR: nick@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29259 0039d316-1c4b-4281-b951-d872f2087c98
* Made sync code build and pass unit tests on OS X.akalin@chromium.org2009-10-162-0/+68
| | | | | | | | | | | | | | | | | | Major changes: - Moved sync_setup_{flow,wizard} to sync directory. - Made browser_with_test_window_test compile on non-Windows platform. - Moved localized contents font util functions to app/. BUG=23073 TEST=trybot Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=29253 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=29255 Review URL: http://codereview.chromium.org/279004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29258 0039d316-1c4b-4281-b951-d872f2087c98
* Reverted 29255.akalin@chromium.org2009-10-162-68/+0
| | | | | | TBR: nick@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29256 0039d316-1c4b-4281-b951-d872f2087c98
* Made sync code build and pass unit tests on OS X.akalin@chromium.org2009-10-162-0/+68
| | | | | | | | | | | | | | | | Major changes: - Moved sync_setup_{flow,wizard} to sync directory. - Made browser_with_test_window_test compile on non-Windows platform. - Moved localized contents font util functions to app/. BUG=23073 TEST=trybot Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=29253 Review URL: http://codereview.chromium.org/279004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29255 0039d316-1c4b-4281-b951-d872f2087c98
* Reverted 29253.akalin@chromium.org2009-10-162-68/+0
| | | | | | TBR: nick@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29254 0039d316-1c4b-4281-b951-d872f2087c98
* Made sync code build and pass unit tests on OS X.akalin@chromium.org2009-10-162-0/+68
| | | | | | | | | | | | | | Major changes: - Moved sync_setup_{flow,wizard} to sync directory. - Made browser_with_test_window_test compile on non-Windows platform. - Moved localized contents font util functions to app/. BUG=23073 TEST=trybot Review URL: http://codereview.chromium.org/279004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29253 0039d316-1c4b-4281-b951-d872f2087c98
* TBR: nick@chromium.orgakalin@chromium.org2009-10-162-68/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29240 0039d316-1c4b-4281-b951-d872f2087c98
* Made sync code build and pass unit tests on OS X.akalin@chromium.org2009-10-162-0/+68
| | | | | | | | | | | | | | Major changes: - Moved sync_setup_{flow,wizard} to sync directory. - Made browser_with_test_window_test compile on non-Windows platform. - Moved localized contents font util functions to app/. BUG=23073 TEST=trybot Review URL: http://codereview.chromium.org/279004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29239 0039d316-1c4b-4281-b951-d872f2087c98
* Turn NULL used as int to 0.phajdan.jr@chromium.org2009-10-131-0/+3
| | | | | | | | | | | | | (Excluding chrome/browser/...) Landing patch for Jacob Mandelson. Original review: http://codereview.chromium.org/195067 BUG=none TEST=base_unittests & app_unittests Review URL: http://codereview.chromium.org/267076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28810 0039d316-1c4b-4281-b951-d872f2087c98
* Move native_widget_types and gtk_native_view_id_manager from base/gfx tobrettw@chromium.org2009-10-115-1/+396
| | | | | | | | | | | | app/gfx in preparation for removing the base_gfx project. This also moves base/window_impl.cc to app/win/window_impl because this file shouldn't be in base. TEST=none BUG=none Review URL: http://codereview.chromium.org/273017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28691 0039d316-1c4b-4281-b951-d872f2087c98
* Move classes depending on Skia out of base/gfx and into app/gfx. Renamebrettw@chromium.org2009-10-079-0/+1433
| | | | | | | | | | native_theme to native_theme_win since its Windows-specific. BUG=none TEST=none Review URL: http://codereview.chromium.org/259047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28300 0039d316-1c4b-4281-b951-d872f2087c98
* Move the JPEG and PNG codecs from base/gfx to app/gfx/codec. Move the classesbrettw@chromium.org2009-10-037-0/+1674
| | | | | | | | | | | | | | | into the gfx namespace. Combine the PNGEncoder and PNGDecoder. There were separate when we had different executables for the browser and renderer, and linked the encoder only in one of them (which saved us some space used by libpng). This hasn't been the case for years, so combining them (again) makes sense. TEST=none BUG=none Review URL: http://codereview.chromium.org/243076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27930 0039d316-1c4b-4281-b951-d872f2087c98
* Landing font change again. I don't believe early flakiness was thesky@chromium.org2009-10-012-16/+28
| | | | | | | | | | | | result of my change. test_shell doesn't use font at all. This is exactly the same change as was earlier landed. BUG=22791 TEST=see bug TBR=agl Review URL: http://codereview.chromium.org/242111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27790 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting recent font change, it seems to be causing problems withsky@chromium.org2009-10-012-28/+16
| | | | | | | | | | | test_shell and valgrind ui. BUG=22791 TEST=none TBR=agl Review URL: http://codereview.chromium.org/251059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27742 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt 4 at fixing font size on linux. I think I finally gotsky@chromium.org2009-10-012-16/+28
| | | | | | | | | | | | | it. Pango scales all font sizes by a factor. Scaling the font size, then asking skia for the metrics gives us exactly the same sizes as Pango. WAHOO! BUG=22791 TEST=see bug Review URL: http://codereview.chromium.org/251054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27725 0039d316-1c4b-4281-b951-d872f2087c98
* Comment out the condition (b == vmax), since it will always be true at this ↵jhawkins@chromium.org2009-09-281-1/+3
| | | | | | | | | | point in the code. BUG=none TEST=none Review URL: http://codereview.chromium.org/243004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27374 0039d316-1c4b-4281-b951-d872f2087c98
* Simplify life for people trying to pick a "readable" foreground color by not ↵pkasting@chromium.org2009-09-242-15/+28
| | | | | | | | | | requiring them to provide two choices. This also speeds the call up a tiny bit by not calculating the background luminance twice. BUG=none TEST=none Review URL: http://codereview.chromium.org/220029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27138 0039d316-1c4b-4281-b951-d872f2087c98
* Move functions from skia/ext to app/gfx where possible: most of skia_utils.* ↵pkasting@chromium.org2009-09-246-0/+910
| | | | | | | | | | | | | and image_operations.* can be moved because they are not used by WebKit code. This also fixes the spelling of "Convolusion" to "Convolution" and updates some copyrights. This is a re-do of r26975, this time with WebKit update and some fixes to compile on Mac and Linux. BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27031 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 26975.pkasting@chromium.org2009-09-236-910/+0
| | | | | | Review URL: http://codereview.chromium.org/222011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26979 0039d316-1c4b-4281-b951-d872f2087c98
* Move functions from skia/ext to app/gfx where possible: most of skia_utils.* ↵pkasting@chromium.org2009-09-236-0/+910
| | | | | | | | | | | | and image_operations.* can be moved because they are not used by WebKit code. This also fixes the spelling of "Convolusion" to "Convolution" and updates some copyrights. BUG=none TEST=none Review URL: http://codereview.chromium.org/207059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26975 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate a bunch of color conversions. I was going to try and clean up the ↵pkasting@chromium.org2009-09-222-197/+13
| | | | | | | | | | | | code for these but discovered to my surprise that no one actually uses them. Also clean up a few other things, like my AlphaBlend() function using hex alpha values where everyone else uses decimal, or unnecessary global qualifiers, or needlessly long code. I avoided changing postincrement to preincrement :D BUG=none TEST=none Review URL: http://codereview.chromium.org/214054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26856 0039d316-1c4b-4281-b951-d872f2087c98
* Reorder the color_utils functions in preparation for adding more:pkasting@chromium.org2009-09-222-109/+114
| | | | | | | | | | | * Put helper functions in a block at the top of the file (which we can then use an anonymous namespace around) * Make main function order a little more consistent BUG=none TEST=none Review URL: http://codereview.chromium.org/215049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26827 0039d316-1c4b-4281-b951-d872f2087c98
* Workaround for Issue 15949: cannot use the "WenQuanYi Bitmap Song" (chinese ↵yusukes@google.com2009-09-191-4/+23
| | | | | | | | | | | | | | | | Fonts) as the system fonts with chrome - Adding a font fallback code to Font::CreateFont() in font_skia.cc so that Chromium can startup even when a non-scalable font is selected as an application font. If the application font is non-scalable, Font::CreateFont() loads a _scalable_ "sans" font as a fallback. (Note: The function still never load non-scalable fonts.) - Removed a comment for issue 12530 since the issue has been fixed. BUG=12530 BUG=15949 TEST=Download the snap.pcf font from http://artwizaleczapka.sourceforge.net/ and put it to ~/.fonts/. Remove temporarily /etc/fonts/conf.d/70-no-bitmaps.conf and run "fc-cache -f". Start /ust/bin/gnome-appearance-properties and select "snap" as your application font. Then start chromium and verify that it does not crash (by the CHECK failure) on startup. Review URL: http://codereview.chromium.org/207009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26652 0039d316-1c4b-4281-b951-d872f2087c98
* Changes font_skia to use font bounding box rather thansky@chromium.org2009-09-171-5/+12
| | | | | | | | | | | | | ascent/descent. This gets us closer to sizes used by pango. It's not ideal, but as we can't switch to pango (startup hit), this is the best I can do. BUG=20823 TEST=see bug Review URL: http://codereview.chromium.org/211003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26509 0039d316-1c4b-4281-b951-d872f2087c98
* This CL fixes issue 10860 - RTL: Hebrew file names should have forced LTRxji@chromium.org2009-09-163-9/+26
| | | | | | | | | | | | | | | | | | | directionality in download shelf. File names in download shelf are forced to be LTR in DownloadItemView and through ElideFileName(). BUG=http://crbug.com/10860 TEST=1. Open chrome with Hebrew UI. 2. Right click a link and chose Save As... (4th item from the top for non-Hebrew speakers) 3. In the save as dialog name the file קובץ.html 4. In the download shelf the filename should display as קובץ.html (not html.קובץ) Review URL: http://codereview.chromium.org/131001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26359 0039d316-1c4b-4281-b951-d872f2087c98