Полезная информация

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

Разработка » XPCOM & xulrunner » 15-11-2010 03:37:06

Всем привет.

Прошу помощи со следующей ситуацией, у меня проблемы с xulrunner-ом.
Если в методе идёт объявление переменную типа nsString или nsCString то во рантайме при выходе из метода происходит ошибка "Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted."

Выделить код

Код:

NS_IMETHODIMP Demo::Func1(PRInt32 inP,PRInt32 *outP,PRInt32 *_retval) {
    nsString a;
return NS_OK;
}

Проблема именно с xulrunner-ом. Если использовать "старый" СДК то всё ок.
Пробовал собирать проект под 2005 студией, 2008, експрессе.
Пробовал под разными версиями фаерфокса 2, 3, 3.5
Данный метод взят из мозиловского примера, который xpcom-test https://developer.mozilla.org/samples/x … m-test.zip.

Сами не местные помогите кто чем сможет Ж) Ибо уже не знаю что и делать. Пример компилится и линкуется на ура, но блин в рантайме. Как только уберу объявление стринга всё ок.

Заранее спасибо.

Разработка » Работа с XPCOM из javascript-а » 21-10-2010 05:21:09

Всем привет.

На руках имеется XPCOM компонент который модифицирует DOM. XPCOM модифицирует DOM а также добавляет javascript посредством создания тега script и установки src.
Скрипт загружен. Далее по некому событию необходимо обратиться к моему XPCOM компоненте и дёрнуть метод.
Так как скрипты загружены с веба то секурити не даст создать экземпляр компоненты.
EnablePrivilege("UniversalXPConnect") не поможет. Надо ручками включить signed.applets.codebase_principal_support(кажется) что конечно же не вариант.

Существует ли путь при котором можно как-то вызвать XPCOM компоненту?

Может быть исходя из того что XPCOM может модифицировать DOM то можно было бы что-то создать, например ивент, который можно было бы дёрнуть на стороне жабаскрипта?
Вроде как есть возможность подписать скрипт загруженный с сервера но не уверен что это может помочь. Хотя...
Вообщем прощу помощи Ж) Подскажите куда копнуть.

Разработка » Создание обработчика событий браузера в VC++ » 03-03-2010 18:29:09

помимо WeakRefernce надо зарегистрироваться в xpcom-startup
типа такого. собственно говоря подобный код есть в примерах веблока
[code]
static NS_METHOD UrlCatcherFFRegistration(
    nsIComponentManager *aCompMgr,
    nsIFile *aPath,
    const char *registryLocation,
    const char *componentType,
    const nsModuleComponentInfo *info)
{
    nsresult rv;

    nsCOMPtr<nsIServiceManager> servman = do_QueryInterface((nsISupports*)aCompMgr, &rv);
    if (NS_FAILED(rv))
        return rv;

    nsCOMPtr<nsICategoryManager> catman;
    rv = servman->GetServiceByContractID(
        NS_CATEGORYMANAGER_CONTRACTID,
        NS_GET_IID(nsICategoryManager),
        getter_AddRefs(catman));
   
    if (NS_FAILED(rv))
        return rv;
   
    char* previous = nsnull;
    rv = catman->AddCategoryEntry(
        NS_XPCOM_STARTUP_CATEGORY,
        URLCATCHERFF_CLASSNAME,
        URLCATCHERFF_CONTRACTID,
        PR_TRUE,
        PR_TRUE,
        &previous);
   
    if (previous)
        nsMemory::Free

Разработка » Gecko 1.8. Доступ к innerHTML из XPCOM » 02-03-2010 13:56:39

Да, видел такой. Но к сожалению данного интерфейса нету в версии 1.8

PS Вообще задача не просто прочитать HTML, а ещё и модифицировать...
В ИЕ в этом смысле проще, взял и дёрнул get_body/put_body у IHTMLElement-а.

Разработка » Gecko 1.8. Доступ к innerHTML из XPCOM » 01-03-2010 13:04:23

Всем привет,

Как в версии 1.8 получить доступ к innerHTML-ю?
У меня на руках в обработчике OnStateChange есть aWebProgress, от туда я могу добраться к nsIDOMHTMLDocument. А дальше?

Спасибо.

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]