Wednesday, May 27, 2009

Got the plugin working on Firefox... now Chrome

The plugin worked on Firefox!

But under Chrome it kept crashing....

The problems seem to be down to:
1. A whole load of test and demo code in CPlugin::CPlugin - in plugin.cpp - couldn't be bothered to find out which bit of it caused the crash - it was all just demo code from the sample - so I cut it all out!
2. Problems with the way the sample code used malloc and strdup to allocate memory... these need to be replaced with NPN_MemAlloc for Chrome (and really for Firefox too!)

This page seems to help a bit...

But really it is hard work to debug!

Monday, May 25, 2009

Starting out on Firefox plugins

I've been working on a new Firefox plugin.

stage one... was to get the code I wanted to working as an ActiveX control inside Internet Explorer.

stage two... was to then start on getting the mozilla code working - this guide for Visual Studio building is a little out of date - but still seemed to basically work:

The main things that didn't work were:
- problems with changes in function names
- problems with int32_t types which seem to have been removed!

Thursday, May 21, 2009

Eeeeek - back in C++ land

Spent a long time today trying to get a project to link :)

Eventually worked it out - but it took some decoding of name mangling - - it eventually became "obvious" that the library I was linking against was built using VC++ 6.0 - before w_char as a type was introduced - so one of my names didn't match one of the mangled names...

I'm really finding it hard to work in C++ after 3 years of mostly C# though!

Monday, May 18, 2009

If you encounter ASP Validators not working in Chrome

This solution seemed to work rather well for me:

<script type="text/javascript">
    evt = ""; // Defeat the Chrome bug

Monday, May 11, 2009

Making an AJAX TabPanel really invisible

If you want to make a TabPanel invisible using the ASP.NET AJAX
TOOLKIT then it seems you have to make the header text invisible too.
I did this using:

if (!viewedPreferences.ShowHealthInProfile)
TabPanelHealth.Visible = viewedPreferences.ShowHealthInProfile;
TabPanelHealth.HeaderText = string.Empty;