Package: iceweasel Version: 3.5.12-2 Severity: normal Tags: patch Upscaled images looks ugly. Here is what is written about it in /iceweasel-3.5.12/gfx/src/thebes/nsThebesImage.cpp line 672:
// See bug 324698. This is a workaround for EXTEND_PAD not being // implemented correctly on linux in the X server. // // Set the filter to CAIRO_FILTER_FAST --- otherwise, // pixman's sampling will sample transparency for the outside edges // and we'll // get blurry edges. CAIRO_EXTEND_PAD would also work here, if // available // // But don't do this for simple downscales because it's horrible. // Downscaling means that device-space coordinates are // scaled *up* to find the image pixel coordinates. // // deviceToImage is slightly stale because up above we may // have adjusted the pattern's matrix ... but the adjustment // is only a translation so the scale factors in deviceToImage // are still valid. This workaround makes upscaled images look really bad, but it is not needed anymore! For quite long time everything works fine without it, i.e. X server was fixed I guess. I've been patching (disabling this workaround) and building iceweasel myself for quite sometime, and images look way better. So please include this patch! Just got tired building iceweasel myself. Many users like me with high resolution of the screen need to scale web-pages, but then in the current version of iceweasel/firefox images looks really ugly. -- Package-specific info: -- Extensions information Name: Adblock Plus Location: ${PROFILE_EXTENSIONS}/{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d} Status: enabled Name: CheckPlaces Location: ${PROFILE_EXTENSIONS}/checkpla...@andyhalford.com Status: enabled Name: Default Location: /usr/lib/iceweasel/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} Package: iceweasel Status: enabled Name: Download Statusbar Location: ${PROFILE_EXTENSIONS}/{D4DD63FA-01E4-46a7-B6B1-EDAB7D6AD389} Status: enabled Name: Export Cookies Location: ${PROFILE_EXTENSIONS}/exportcook...@aag Status: app-disabled Name: Fast Dial Location: ${PROFILE_EXTENSIONS}/fastd...@telega.phpnet.us Status: enabled Name: FireGestures Location: ${PROFILE_EXTENSIONS}/firegestu...@xuldev.org Status: enabled Name: Flashblock Location: ${PROFILE_EXTENSIONS}/{3d7eb24f-2740-49df-8937-200b1cc08f8a} Status: enabled Name: Greasemonkey Location: ${PROFILE_EXTENSIONS}/{e4a8a97b-f2ed-450b-b12d-ee082ba24781} Status: enabled Name: Novell Moonlight Location: ${PROFILE_EXTENSIONS}/moonli...@novell.com Status: enabled Name: SQLite Manager Location: ${PROFILE_EXTENSIONS}/sqlitemana...@mrinalkant.blogspot.com Status: enabled Name: Sage Location: ${PROFILE_EXTENSIONS}/{a6ca9b3b-5e52-4f47-85d8-cca35bb57596} Status: enabled Name: Tab Mix Plus Location: ${PROFILE_EXTENSIONS}/{dc572301-7619-498c-a57d-39143191b318} Status: enabled Name: Xmarks Location: ${PROFILE_EXTENSIONS}/foxma...@kei.com Status: enabled Name: Zotero Location: ${PROFILE_EXTENSIONS}/zot...@chnm.gmu.edu Status: user-disabled -- Plugins information Name: DivX Browser Plug-In Location: /usr/lib/mozilla/plugins/mplayerplug-in-dvx.so Package: mozilla-mplayer Status: enabled Name: DivX Browser Plug-In Location: /usr/lib/mozilla/plugins/mplayerplug-in-dvx.so Package: mozilla-mplayer Status: enabled Name: DivX® Web Player Location: /usr/lib/mozilla/plugins/libtotem-mully-plugin.so Package: totem-mozilla Status: disabled Name: Google Talk Plugin Location: /opt/google/talkplugin/libnpgoogletalk64.so Package: google-talkplugin Status: enabled Name: Google Talk Plugin Video Accelerator Location: /opt/google/talkplugin/libnpgtpo3dautoplugin.so Package: google-talkplugin Status: enabled Name: Java(TM) Plug-in 1.6.0_21 Location: /usr/lib/jvm/java-6-sun-1.6.0.21/jre/lib/amd64/libnpjp2.so Package: sun-java6-bin Status: enabled Name: QuickTime Plug-in 7.4.5 Location: /usr/lib/mozilla/plugins/mplayerplug-in-qt.so Package: mozilla-mplayer Status: enabled Name: QuickTime Plug-in 7.4.5 Location: /usr/lib/mozilla/plugins/mplayerplug-in-qt.so Package: mozilla-mplayer Status: enabled Name: QuickTime Plug-in 7.6.6 Location: /usr/lib/mozilla/plugins/libtotem-narrowspace-plugin.so Package: totem-mozilla Status: disabled Name: RealPlayer 9 Location: /usr/lib/mozilla/plugins/mplayerplug-in-rm.so Package: mozilla-mplayer Status: enabled Name: RealPlayer 9 Location: /usr/lib/mozilla/plugins/mplayerplug-in-rm.so Package: mozilla-mplayer Status: enabled Name: Shockwave Flash Location: /usr/lib/nspluginwrapper/plugins/npwrapper.libflashplayer.so Status: enabled Name: Silverlight Plug-In Location: /media/cm_p/evgeny/.mozilla/firefox/s7nfdi77.default/extensions/moonli...@novell.com/plugins/libmoonloaderxpi.so Status: enabled Name: VLC Multimedia Plugin (compatible Totem 2.30.2) Location: /usr/lib/mozilla/plugins/libtotem-cone-plugin.so Package: totem-mozilla Status: disabled Name: Windows Media Player Plug-in Location: /usr/lib/mozilla/plugins/mplayerplug-in-wmp.so Package: mozilla-mplayer Status: enabled Name: Windows Media Player Plug-in Location: /usr/lib/mozilla/plugins/mplayerplug-in-wmp.so Package: mozilla-mplayer Status: enabled Name: Windows Media Player Plug-in 10 (compatible; Totem) Location: /usr/lib/mozilla/plugins/libtotem-gmp-plugin.so Package: totem-mozilla Status: disabled Name: mplayerplug-in 3.55 Location: /usr/lib/mozilla/plugins/mplayerplug-in.so Package: mozilla-mplayer Status: enabled Name: mplayerplug-in 3.55 Location: /usr/lib/mozilla/plugins/mplayerplug-in.so Package: mozilla-mplayer Status: enabled -- Addons package information ii google-talkplu 1.5.1.0-1 Google Talk Plugin ii iceweasel 3.5.12-2 Web browser based on Firefox ii mozilla-mplaye 1:3.55-0.0 MPlayer-Plugin for Mozilla ii sun-java6-bin 6.21-1 Sun Java(TM) Runtime Environment (JRE) 6 (ar ii totem-mozilla 2.30.2-2+b1 Totem Mozilla plugin -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (750, 'unstable'), (700, 'testing-proposed-updates'), (660, 'proposed-updates'), (650, 'testing'), (600, 'experimental'), (550, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages iceweasel depends on: ii debianutils 3.4 Miscellaneous utilities specific t ii fontconfig 2.8.0-2.1 generic font configuration library ii libc6 2.11.2-5 Embedded GNU C Library: Shared lib ii libglib2.0-0 2.24.2-1 The GLib library of C routines ii libgtk2.0-0 2.20.1-1+b1 The GTK+ graphical user interface ii libnspr4-0d 4.8.6-1 NetScape Portable Runtime Library ii libstdc++6 4.4.4-14 The GNU Standard C++ Library v3 ii procps 1:3.2.8-9 /proc file system utilities ii xulrunner-1.9.1 1.9.1.12-2 XUL + XPCOM application runner iceweasel recommends no packages. Versions of packages iceweasel suggests: ii libgssapi-krb5-2 1.8.3+dfsg~beta1-1 MIT Kerberos runtime libraries - k pn mozplugger <none> (no description available) pn ttf-lyx | latex-xft-f <none> (no description available) pn ttf-mathematica4.1 <none> (no description available) pn xfonts-mathml <none> (no description available) pn xprint <none> (no description available) Versions of packages xulrunner-1.9.1 depends on: ii libasound2 1.0.23-1 shared library for ALSA applicatio ii libatk1.0-0 1.30.0-1 The ATK accessibility toolkit ii libbz2-1.0 1.0.5-5 high-quality block-sorting file co ii libc6 2.11.2-5 Embedded GNU C Library: Shared lib ii libcairo2 1.8.10-6 The Cairo 2D vector graphics libra ii libdbus-1-3 1.2.24-3 simple interprocess messaging syst ii libfontconfig1 2.8.0-2.1 generic font configuration library ii libfreetype6 2.4.2-2 FreeType 2 font engine, shared lib ii libgcc1 1:4.4.4-14 GCC support library ii libglib2.0-0 2.24.2-1 The GLib library of C routines ii libgtk2.0-0 2.20.1-1+b1 The GTK+ graphical user interface ii libhunspell-1.2-0 1.2.11-1 spell checker and morphological an ii libjpeg62 6b1-1 The Independent JPEG Group's JPEG ii libmozjs2d 1.9.1.12-2 The Mozilla SpiderMonkey JavaScrip ii libnspr4-0d 4.8.6-1 NetScape Portable Runtime Library ii libnss3-1d 3.12.7-1 Network Security Service libraries ii libpango1.0-0 1.28.1-1 Layout and rendering of internatio ii libpng12-0 1.2.44-1 PNG library - runtime ii libreadline6 6.1-3 GNU readline and history libraries ii libsqlite3-0 3.7.2-1 SQLite 3 shared library ii libstartup-notification 0.10-1 library for program launch feedbac ii libstdc++6 4.4.4-14 The GNU Standard C++ Library v3 ii libx11-6 2:1.3.3-3 X11 client-side library ii libxrender1 1:0.9.6-1 X Rendering Extension client libra ii libxt6 1:1.0.7-1 X11 toolkit intrinsics library ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime -- no debconf information
*** a/gfx/src/thebes/nsThebesImage.cpp --- b/gfx/src/thebes/nsThebesImage.cpp *************** *** 689,695 **** deviceToImage.xx >= 1.0 && deviceToImage.yy >= 1.0 && deviceToImage.xy == 0.0 && deviceToImage.yx == 0.0; if (!isDownscale) { ! pattern->SetFilter(0); } break; } --- 689,695 ---- deviceToImage.xx >= 1.0 && deviceToImage.yy >= 1.0 && deviceToImage.xy == 0.0 && deviceToImage.yx == 0.0; if (!isDownscale) { ! pattern->SetExtend(gfxPattern::EXTEND_PAD); } break; }