[C++] Mozilla editten om knop te activeren? *

Pagina: 1
Acties:

  • MahRain
  • Registratie: Januari 2001
  • Laatst online: 13-11-2025
Het gaat om het volgende:
http://bugzilla.mozilla.org/show_bug.cgi?id=91969

er is dus een knopje "Launch File" wegens beveiligingsredenen uitgeschakeld, als je exe files download.

Tegen het eind van de pagina stelt iemand een patch voor:
http://bugzilla.mozilla.org/showattachment.cgi?attach_id=72241

met verwijzingen richting:
http://lxr.mozilla.org/seamonkey/source/embedding/components/ui/helperAppDlg/nsHelperAppDlg.js#189

en misschien ook
http://lxr.mozilla.org/seamonkey/source/xpfe/components/ucth/resources/helperAppDldProgress.js#427
(maar dat scheen niet te werken in Win32)

Heeft iemand met enige java kennis enig idee hoe ik Mozilla kan hacken zodat die knop werkt? :?



(hier een linkje naar mozilla voor als iemand het zelf wil proberen:)
http://ftp.mozilla.org/pub/mozilla/releases/mozilla1.0rc2/mozilla-win32-1.0rc2-installer.exe


P.S. Mijn programmeerkennis is de beginselen van QBasic en een klein beetje VB 3.0 dus echt snappen doe ik het ook niet :'(

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

mozilla wordt geschreven in C++ en niet in Java ;)

Als je de source hebt moet dit niet al te moeilijk zijn. Heb alleen geen C++ compiler hier.

  • MahRain
  • Registratie: Januari 2001
  • Laatst online: 13-11-2025
Op maandag 20 mei 2002 19:20 schreef wasigh het volgende:
mozilla wordt geschreven in C++ en niet in Java ;)

Als je de source hebt moet dit niet al te moeilijk zijn. Heb alleen geen C++ compiler hier.
Sorry wasigh, maar het gaat om een .js bestand waarin bepaalde "preferences" worden opgeslagen. Dat moet bewerkt worden om die "beveiliging" tegen het direct openen van exe files tegen te gaan.

Dus toch java? Anders kijk je zelf even naar zo'n linkje van mij. (Ik weet het niet hoor :?, misschien heb je dat al gedaan ofzow)

  • Zpottr
  • Registratie: Mei 2000
  • Niet online

Zpottr

Henk

Hoi Conq (Konq? ;) )

Prefs.js is geen java, maar javascript. Gewoon te editten met een standaard editor (notepad of luxer).

Als je dat doet zul je zien dat het gewoon de preferences zijn die je ook via de gui kunt instellen; je kunt er echter zelf prefs aan toevoegen die niet via de gui benaderbaar zijn. Let echter op met het editten van je prefs op deze manier :-)

Voorbeeldje: het toevoegen van
code:
1
user_pref("capability.policy.default.Window.close", "noAccess");

zorgt ervoor dat een javascript window.close niet je mozilla-venster met daarin al je tabs (!!) sluit :)

Helaas lijkt het probleem bij wat jij wil dat je inderdaad source moet patchen, Moz moet compileren en vervolgens via een pref aangeven welk gedrag je wilt hebben. Ik heb zelf mozilla nooit gepatched dus precies weet ik het niet.

Zoef


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Ik de links bekeken en er wordt heel duidelijk aangegeven welke source file je moet editen en op welke manier om het probleem op te lossen.

Als je de source en de juist compiler hebt is dit zo gepiept..

  • MahRain
  • Registratie: Januari 2001
  • Laatst online: 13-11-2025
Op maandag 20 mei 2002 21:37 schreef wasigh het volgende:
Ik de links bekeken en er wordt heel duidelijk aangegeven welke source file je moet editen en op welke manier om het probleem op te lossen.

Als je de source en de juist compiler hebt is dit zo gepiept..
Ik kom er dus niet uit. En je moet voor zover ik weet die files ook niet compileren, want ze staan gewoon zo, edit-baar, op je pc in de map:
c:\Program Files\mozilla.org\Mozilla\components

Maar hoe kan ik het dan volgens jou oplossen?

  • MahRain
  • Registratie: Januari 2001
  • Laatst online: 13-11-2025
*ik wil het toch wel graag weten eigenlijk*

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 23:31
Conquistador:
En je moet voor zover ik weet die files ook niet compileren, want ze staan gewoon zo, edit-baar, op je pc in de map:
c:\Program Files\mozilla.org\Mozilla\components
Dat je het kan editten, betekent niet dat je dan niet opnieuw moet compilen :).

  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

Volgens mij wordt de config file (in JavaScript vorm) ingelezen bij het starten van Mozilla, dus er is geen tussenkomst van een compiler nodig.

1) Zoek op je HD het bestand helperAppDldProgress.js.
2) Zoek daarin regel 496 op.
3) Zet slashes (//) voor de if constructie. Het ziet er dan als het goed is zo uit (alleen dan zonder regelnummers uiteraard):
code:
1
2
3
4
496   //if ( !targetFile.isExecutable() )
497   //{
498     openButton.removeAttribute("disabled");
499   //}

Meer info hier en hier.

This can no longer be ignored.


  • MahRain
  • Registratie: Januari 2001
  • Laatst online: 13-11-2025
Op dinsdag 21 mei 2002 19:09 schreef Erik Jan het volgende:
Volgens mij wordt de config file (in JavaScript vorm) ingelezen bij het starten van Mozilla, dus er is geen tussenkomst van een compiler nodig.

1) Zoek op je HD het bestand helperAppDldProgress.js.
2) Zoek daarin regel 496 op.
3) Zet slashes (//) voor de if constructie. Het ziet er dan als het goed is zo uit (alleen dan zonder regelnummers uiteraard):
code:
1
2
3
4
496   //if ( !targetFile.isExecutable() )
497   //{
498     openButton.removeAttribute("disabled");
499   //}

Meer info hier en hier.
Okee, op mijn harde schijf is alleen geen bestand met die naam te vinden. In andere .js bestanden die daarop leken komt het woord "executable" ook niet voor.

Waar staat dat bestand bij jou op je harde schijf? (is dat windows of linux)

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 04-08 07:59

chem

Reist de wereld rond

move P&W > I&T

Klaar voor een nieuwe uitdaging.


  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

Conquistador:
In dat geval denk ik dat je de boel toch moet gaan compilen. Zelf draai ik geen Mozilla dus daarmee kan ik je ook niet verder helpen. Hier vind je hoe je dat moet doen. Vergeet niet de sourcehack te doen voordat je de boel compiled :)

Een andere mogelijkheid is mailen naar een van die mensen uit dat bugreport, om te vragen of zij h'm ff voor je compilen.

This can no longer be ignored.


  • MahRain
  • Registratie: Januari 2001
  • Laatst online: 13-11-2025
Dames en heren, de oplossing:

-= Mozilla .EXE Launch Patch for WINDOWS builds =-

1. Open (path_to_mozilla)\components\nsProgressDialog.js in Notepad.
2. Edit->Find (Ctrl+F)
3. Type "if ( this.target && !this.target.isExecutable() ) {" (w/o quotes)
4. Comment it out (add // before it)
5. Go to the end of the line, hit enter
6. type "if ( this.target ) {" (w/o quotes) in the new line.
7. Save and restart mozilla (is this necessary?)

NOTE: The reason I made a directions file instead of a DIFF file is that I couldn't find a good version of DIFF for windows.
Pagina: 1