Magyar Opera

Címkék » forráskód


Ez lesz az Opera 15-ben?

A most következő leírás teljes mértékben dqdb érdeme, aki napok óta bújja az Opera 15 különböző fájljait és az ezekből kinyerhető információkat most megosztotta velünk. Innentől őt idézném.

Teljesen szubjektív és találgatásszintű információk következnek. Nem vagyok sem az Opera fejlesztője, sem az Operához közeli hírforrás, egyszerűen a fájlok tartalma alapján spekulálok, hogy mi várható és mi nem. Remélem pozitív irányban sokszor megcáfol az Opera ASA, negatív irányban pedig egyszer sem.

Elöljáróban annyit, hogy az Opera 15 veszettül gyors, nagyon stabil, és sajnos nagyon buta.

Az elmúlt két napban az Opera 15 állományait vizsgálgatva megpróbáltam kideríteni, milyen feature várható valószínűleg, melyiknek nem találni nyomát, és melyik létezik már, csak még el van rejtve. A nézelődés során pár hülyeséget is sikerült leírnom, ezért most a korábbi hibákat kijavítva összefoglalnám a gondolataimat (tegnap csak az Opera fájljainak estem neki ahelyett, hogy a Chromiumot is párhuzamosan vizsgáltam volna).

Félig tévesen írtam korábban, hogy az Opera szépen profilozgatja az oldallátogatásokat és felhasználói statisztikát gyűjt a háttérben. Ez igaz is annyi kiegészítéssel, hogy Chromium örökség, nem az ő sajátjuk.

Az egyik fő információforrást az opera.exe-ben található szövegek képezték (kinyeréshez információ itt). Rengeteg szöveg, rengeteg zaj, de van rengeteg hasznos tartalom is, amiből lehet következtetni: parancssori paraméterek, a billentyűkombinációkhoz tartozó parancsok, C++ osztálynevek, hibaüzenetek, fájlnevek, SQL lekérdezések.

A másik nagy adathalmazt az opera.pak fájl (és a vele a Chromiumban párhuzamosan vizsgált resources.pak) dekódolt tartalma adta (szétbontási infó itt). 20000 alatt a két böngésző közös részei vannak. 20000-30000 között a Web Inspector, 38000 felett az Opera saját fájljai. Pár érdekesség: 38273 (billentyűkiosztás), 39010 (home), 39000 (about), 39008 (beállítások), 38268 (támogatott extension API-k). Mókás volt látni, hogy a beállításoknál még Chrome OS-t kezelő részek is szerepelnek a fájlban.

Az angol nyelvi fájlt (en.pak) hasonlóan lehet szétbontani, és az azonosítók terén ugyanez a szabály él.

Az Opera profiljában található SQLite és JSON fájlok is fontos információforrások voltak. Itt külön kiemelném, hogy azok a fájlok, amelyek neve szóközzel elválasztott nagy kezdőbetűs szavakból áll kiterjesztés nélkül, a Chromiumból jöttek. Azok a fájlok, amelyek neve csupa kisbetű, nincsen space és .db a kiterjesztésük, az Opera saját fejlesztései.

Akkor jöjjenek a tények (kevés) és találgatások (sok)!

Billentyűzetkiosztás
Átdefiniálható már most is akár (opera.pak:38273). Ez a fájl amúgy bőséges információforrás, sok funkcióra tartalmaz utalást. Jó hír, hogy a profilbeli Preferences fájl módosításával már most át lehet alakítani a működését.

A megoldás butább, mint az Opera 12-ben. Összetett makrókat nem lehet létrehozni, és nem érhető el parancs az összes funkcióhoz. Az valószínűleg csak bug, hogy jelenleg a Ctrl+Alt+valami kombinációk nem működnek.

Egérmozdulatok
Testreszabásnak nyoma sincsen, csak a beállításokban is megtalálható ki-bekapcsolást találtam. Abból kiindulva, hogy a billentyűkombinációk módosíthatóak, abban reménykedem, hogy itt is ez lesz.

Disk Cache
Módosítható a helye és elvileg a mérete is, de ez utóbbi még valószínűleg hibás.

Smooth scrolling
Már van most is, de alapértelmezetten le van tiltva, nálam még enyhén akadozik. Az opera.exe-t (vagy hordozható telepítésnél a launcher.exe-t) --enable-smooth-scrolling paraméterrel kell elindítani.

Fülek
Most ugyebár nincsen tab stacking, de van rá utaló jel: --enable-stacked-tab-strip parancssori paraméter az opera.exe-ben (nem működik).

A legutolsó bezárt fül újranyitható a Ctrl+Shift+T billentyűvel. A kuka gomb nem létezik, de az általa megjelenített menü az Opera menü alatt megtalálható.

A régi Ctrl+Tab/Ctrl+Shift+Tab működés visszahozható a billentyűzetkiosztás módosításával (ezt a 4 sort kell lecserélni):

"CycleBackwardInActivationList": [ "Ctrl+Shift+Tab" ],
"CycleForwardInActivationList": [ "Ctrl+Tab" ],
"SelectTabToTheLeft": [ "1" ],
"SelectTabToTheRight": [ "2" ],

Fit To Witdth
Most nincsen még, de a Ctrl+F11 már most is létező billentyűkombináció rá, szóval előbb-utóbb várható a megjelenése.

Spatial Navigation
Most nincsen még, de két ráutaló jel is van: léteznek a billentyűkombinációk és van --enable-spatial-navigation programparaméter is (kipróbáltam, egyik sem működik).

Fast Forward
Most nincsen még, de a Shift+X már most is létező billentyűkombináció rá, szóval előbb-utóbb várható a megjelenése.

Migrálás Opera 12-ről
Foglalkoznak vele, sztringek alapján készül hozzá a funkció (fájlnevek, mezőnevek, hibaüzenetek, osztálynevek láthatóak az opera.exe-ben), valószínűleg még nincsen készen, ezért inaktív. A fellelhető információk alapján következőket fogja átemelni teljes pompájában: jelszavak (mesterjelszó is), sütik, history, tanúsítványok, keresők, sessionök, speed dial, local+web storage, könyvjelzők, jegyzetek.

Egyedi menük
Sem az importálásnak (ennek mondjuk értelme sem lenne), sem a funkciónak nem találtam nyomát. Valószínűleg kód állítja jelenleg össze a menüket, így még találgatni sem találgatnék, hogy van-e rájuk esély.

Opera Link
Lesz, ezt a fejlesztők is megerősítették. A jelenleg három füles kezdőlap (speed dial, stash, discovery) valójában négy füles, a negyedik, jelenleg nem látható fülön a szinkronizálás kap helyet. Ennek tartalmát illetően nem tudok nyilatkozni, nem találtam sem HTML részletet, sem olyan JS kódot, ami ennek a képernyőnek a felépítésével foglalkozna.

Jelszókezelés
12.xx-ből importálás valószínűleg lesz, de a mostani megoldás a felületen és a profilban (Login Data fájl) 100%-ig a Chromium megoldása, Wandnak nyoma sincsen. Az egyetlen reménykedésre utaló nyom, hogy a beállításokon belüli PasswordManager osztályhoz egy komment alapján az Opera hozzányúlt, de gyakorlatilag karakterre pontosan megegyezik a Chromium változatával. Viszont a billentyűparancsok között található "PastePassword": ["Enter+Ctrl"], billentyűparancs reménykedésre adhat okot. Szóval esély van, még ha kicsi is, reménykedem, hogy a mostani jelszókezelőt időhiányból kaptuk, és lesz helyette később Wand.

Keresők
Erről Opera fejlesztői kijelentették, hogy lesz. Ami most van, az pár országfüggően előredefiniált kereső a default_partner_content.json fájlban (valamiféle hash-sel védett, nem módosítható). Emellett a Chromium megoldásával fel lehet venni már most is akár keresőket (amikor rájöttem, még nem tudtam, hogy ez a Chromium fájlja, csak utólag esett le :) ), de az alapértelmezetteket nem lehet törölni. Beállítási lehetőség nincsen, az ehhez szükséges felületeket a megfelelő fájlban kommentek alapján egy Opera alkalmazott kiszedte. Mivel az alapértelmezett keresőknél a JSON fájlban van post típusú keresési lehetőség, de ezt a Chromium megoldása nem támogatja már a táblaszerkezetben sem (a keywords tábla található a profilbeli Web Data adatbázisban), valamint a tábla tartalmával az alapértelmezett keresők bővültek, és nem lecserélődtek, így én arra tippelek, hogy fejlettebb megoldást kapunk hamarosan.

Notes
Importálás van, találtam egy megjelenítőfelületet (opera.pak:39020). Szerkesztésre utaló nyomra nem akadtam.

Panelek
Erre utaló nyomot nem találtam.

Egyfolyamatos működés
Ez már most is létezik és működik is. Az opera.exe-t (vagy hordozható telepítésnél a launcher.exe-t) --single-process paraméterrel kell elindítani.

Bookmarkok
Az importálásnak számos nyoma van (a nyelvi fájl Opera-specifikus részében kizárólag az importálással kapcsolatos szövegek vannak a bookmarkat illetően), az biztosan lesz, említették is. A Chromiumból maradt szövegrészleteken kívül van Opera-specifikus nyoma (billentyűkombinációknál AddToBookmarks és Bookmarks), hogy lesznek könyvjelzők is, de véleményem szerint nem mostanában, ugyanis az importáláson kívül könyvjelzők kezelésére nem igazán találtam felületet.

Az Opera a profiljában három fájlt használ a könyvjelzőkhöz hasonló tartalmak kezelésére: stash.db, favorites.db (ez a speed dial) és bookmarks.db. Az utóbbi fájlban a common tábla formátuma teljesen megegyezik a mostani könyvjelzők tudásával (azaz rengeteg metainfo, egyedi név), szóval van némi remény (feltéve, ha nem csak migráláskor használják ezt a fájlt). Természetesen megpróbálkoztam a fájlt feltöltve valami könyvjelzőfélét kicsiholni az Operából, de nem jött össze).

RSS
Ennek semmi nyoma sincsen. Nem találtam olyan sztringeket, amelyekből következne, hogy RSS 2.0 vagy Atom formátumú hírcsatornát parse-olna az Opera.

M2
Semmi nyoma bármiféle beépített levelezőnek. Ha valamikor visszahozzák, akkor az szerintem csak a távoli jövő lesz.

Autofill
Na tegnap hülyeség volt azt írni, hogy lesz, mert inkább az az igazság, hogy passz :) Ha gyorsan lesz is, akkor a Chromium megoldását veszik át, de most nem léteznek a hozzá szükséges táblák a profilbeli Web Data fájlban, és a beállítások ablakban is kommentben van a része.

Tanúsítványok
Itt még van mit fejleszteniük, rém buta a felület egy HTTPS oldalra tévedve, még tanúsítványt sem lehet megnézni. Érdekes módon, amíg Chromiumban létezik beállítás a szervertanúsítványok ellenőrzésére (ott alapból ki van kapcsolva), addig itt nem (ugyebár a 12.xx vonalon az utóbbi időkben nem kevés OCSP-vel kapcsolatos gondot okozott az Operában egy ilyen beállítás). Remélem visszakerül, mert a sok probléma ellenére én jogosnak éreztem az akkori döntésüket.

Pozitívum, hogy a Chromium alapokra áttérés jóvoltából az Opera Windows alatt támogatni fogja a CSP alapú megoldásokat (Linuxon PKCS11 alapokra tippelnék), vagyis képes lesz chipkártyán tárolt tanúsítványok használatára (ez az én szememben egy nagyon régi adósságuk volt).