Sticky post
By Hallvord R. M. Steenhallvors. Friday, January 8, 2010 2:04:03 PM
Welcome to the site patching blog. We'll cover Opera's site patching and how we make difficult and broken sites work with tools like
browser.js and automated ID spoofing.
Some background reading:
Opera's site patching -
how you can help -
choose Opera blog -
Open the WebCheck your browser.js status at
the browser.js page - or review the latest browser.js file
on github, where we also welcome pull requests

.
Read more...
By Ola P. Kleivenolak. Monday, February 13, 2012 4:20:00 PM
Added patches
PATCH-586, web.de: hide browser "upgrade" message.
PATCH-585, 4chan: add bottom margin to blockquote for better readability. A quirk IE and Opera have causes vertical margins to collapse. Re-introduce them.
PATCH-582, GMail: override workaround for old font-size bug in Opera. We fixed a bug in 11.60 and now the GMail compose font is too small because they coded for our old behavior. Patch while we wait.
Changed patches
PATCH-517, docs.google: make document names visible. Now even when toggling selection.
PATCH-372, Work around Facebook's attachEvent usage in all.js. Moved code to separate event listener to be able to version it better according to recent attachEvent core changes.
Removed patches
PATCH-551, Keep document.domain in sync inside IFRAME and main document on eBay. Site changed.
PATCH-516, infojobs.com.br: unwrap input elements. Site changed.
PATCH-422, Miscalculated IFRAME height prevents booking on rede-expressos. Site changed.
352969, Make Opera's built-in WF2 validation ignore required attributes on ingdirect.com.au Site changed after other browsers implemented "required" attribute too.
Changes to 12.00 file only
removed PATCH-536, renren.com - Unicode space like characters should not be converted in document.title. Core fix.
removed PATCH-506, YouTube: avoid Silverlight uploader. As of Presto/2.10.246 Opera supports XHR2 upload attribute and progress events which should make native uploader available on Google, voiding the need to avoid Silverlight.
removed PATCH-497, Avoid focus problems using IME on empty content-editable elements on qq.com. Core fix.
removed PATCH-464, Make it possible to type in TomTom route planner. Core fix.
added PATCH-571, live.com: make file names visible. A Core bug fix removed a quirk that unfortunately live.com depends on.
By Ola P. Kleivenolak. Thursday, February 9, 2012 3:11:27 PM
We don't have a file for you this time, but want to highlight the latest 11.62 snapshot over at
Desktopteam blogThis build has backported two recent Core changes of some compatibility impact, namely CORE-10115 and CORE-24242.
HidingCORE-10115 performs the same trick we (and other browsers) have had in place for document.all for quite some time, hide it from detection, on window.event and {window,Node}.{attach,detach}Event
These properties were implemented in Opera for IE compat many years ago and have been a pain ever since, as many script do things like
if(window.attachEvent){
isIE=true
}
We tried simply removing the support as a compat experiment
a while ago but then we broke some scripts that first sniffed for Opera, then applied these.
The compromise is to hide them from detection, so that
if(element.attachEvent){
//this will NOT run
}else if(element.addEventListener){
//this will run
}
but
element.attachEvent('click',function(){//this will still work});
onreadystatechangeCORE-24242 aligns onreadystatechange behavior with
HTML5. Until now, Opera fired these events various places (like script, img elements) for IE compatibility. Again this causes pain and we have been patching issues through browser.js for a long time.
So try this out and look for breakage.
By Ola P. Kleivenolak. Monday, January 30, 2012 6:05:35 PM
Added patches
PATCH-577, Unexpected script loading order breaks video player ready check on nbc.com. Core bug.
PATCH-576, Avoid extra history entries with Facebook like button. Again they assume that attachEvent support means browser is IE. Affects _a lot_ of sites. Slightly risky so watch out for regressions.
PATCH-574, nova.edu: work around browser sniffing.
Changed patches
PATCH-559, Browser sniffing on Raku Bus.
PATCH-526, G+: avoid tall narrow posts due to word-wrap in table. Apply new classname.
194334, Y!Mail remove selectSingleNode and selectNodes. To support old AT&T version.
331093, Work around Opera bug where second BR tag overwrites newly inserted IMG (ameba.jp, site changed)
By Hallvord R. M. Steenhallvors. Monday, January 23, 2012 8:10:09 AM
browserjs update, facebook
Today's Facebook update caused some issues for Opera, some of their changed CSS made Opera work a lot harder while Facebook is updating itself. The main impact of this was that typing became very slow. Ouch.
Removing this CSS makes it work:
.uiButtonGroupOverlay > :first-child .uiButton{border-top-left-radius:3px;border-bottom-left-radius:3px}
.uiButtonGroupOverlay > :last-child .uiButton{border-top-right-radius:3px;border-bottom-right-radius:3px}
It's not the selectors, so it seems we have some extra-slow-redraw-everything-in-sight path in our border-radius implementation. While we optimise this, we'll push out a stopgap update that prevents Facebook from applying border-radius styles. You can now start updating your statuses again

Removed patches
CORE-4083 chase.com field refocus from onkeypress-problem (site changed)
PATCH-392 Fix bestbuy menus (site changed)
PATCH-448 / OTW-6887 klm.com: Fix broken resizing of iframes (site somewhat less broken, though there is some browser sniffing left and experience isn't as good as it should be. Patch no longer has any effect, so dropped pending rewrite if OTW doesn't succeed.)
Added patches
PATCH-572 / CORE-7401 smn.gov.ar: reduce search input width to avoid wrapping
PATCH-573 / CORE-43961 Facebook's border-radius triggers hyperactive reflow bug, performance suffers
By Hallvord R. M. Steenhallvors. Thursday, January 19, 2012 9:45:09 AM
github
Ola has set up a
browser.js repository on GitHub which we'll push future updates to. If you are interested in our site patching work (or just like reading obscure JavaScript hacks

), go ahead and watch it!
By Ola P. Kleivenolak. Monday, January 9, 2012 2:07:58 PM
Added patches
PATCH-567, Improve scrolling performance on cnet. Opera's scrolling performance sucks when using box-shadow in combination with fixed position elements. This patch is ugly and basically kills box-shadow on cnet. Sorry about that, but it makes the site possible to use at least.
PATCH-566, Improve scrolling performance on GMail. Vaguely related to the above - GMail has a workaround for an old Opera bug (since fixed) that involves fixed position elements. With their new design this hurts performance. This patch improves performance somewhat, still not great though. We're working on it in Core, but is it not an easy fix.
PATCH-565, ebay: make sign in buttons accessible with spatial navigation. Core bug where negative margin + positive padding causes the focus to never reach the button.
PATCH-563, aol.fr: give Opera better styling. Browser sniffing.
Changed patches
TinyMCE patch to avoid iframe error message
PATCH-6 - Maconomy, make sure all subframes get unload event when removing parent frameset.
Removed patches
PATCH-533, Add jQuery to Amazon At A Glance page (we're now masking)
PATCH-489, Add jQuery to Amazon product page (we're now masking)
PATCH-483, Add jQuery to Amazon Shopping Basket page (we're now masking)
PATCH-481, Add jQuery to Amazon offer-listing pages (we're now masking)
PATCH-294, Hide extra button text on weather.com (site changed)
By Ola P. Kleivenolak. Wednesday, December 21, 2011 9:19:37 PM
Added patches
PATCH-562, G+: work around broken image viewer by letting parts of the script think Opera is WebKit. Sigh. Tell us if this causes other brokenness.
As discussed below, Google upgraded again shortly after, this patch causing a conflict, so we took it out.
Removed patches
PATCH-485, Add jQuery to Amazon Prime page. Site changed. The observant reader may also have noticed that we now "Mask as Firefox" on Amazon via override_downloaded.ini. A big step, but it seems hard to get any traction for fixing things or their side. Again, tell us if this causes other types of brokenness.
PATCH-389, Calendar.live.com: Events are shown in squished box because table cells are containers for positioned descendants. Site changed.
PATCH-242, Login.live.com: Prevent readystatechange events on SCRIPT, causes double banners. Site changed, and breaks beta version.
By Ola P. Kleivenolak. Wednesday, December 14, 2011 6:16:32 PM
Added patches
PATCH-559, Browser sniffing on Raku Bus.
PATCH-558, Facebook avoid chat/contact list scroll when setting styles on overflow element with generated content before/after.
PATCH-556, 2caipiao.com: fix iframe resize browser sniff.
PATCH-555, Analytix: add missing end quote in code for non-IE browsers.
Removed patches
DSK-176321, Fileplanet.com sniffing blocks Opera. Not anymore.
By Ola P. Kleivenolak. Tuesday, December 6, 2011 12:45:00 PM
Edit: as Darko Pantić points out below, there was a bug in this patch. Thus a new file has been released with a fix for this.Added PATCH-554: The jQuery
jsonp plugin contains a workaround for Opera's historic lack of script.onerror support. Unfortunately the workaround relies on Opera's old script execution order as well - something that changed with the new HTML5-compatible parser. As a result a lot of content around the web breaks in Presto/2.9.220 onwards. This includes IMDB search suggestions, Hootsuite Twitter search, some Slideshare presentations etc. Even when the plugin is fixed, the propagation will take a while, so we add this generic patch to browser.js.
Removed PATCH-532: Google docs document list jumps back to top on scroll. Managed a last minute Core fix for this regression.