Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
How do I build an installer for my plugin?
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  8 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
edburns  
View profile  
 More options Sep 12 2008, 9:50 am
Newsgroups: mozilla.dev.tech.plugins
From: edburns <edbu...@gmail.com>
Date: Fri, 12 Sep 2008 06:50:16 -0700 (PDT)
Local: Fri, Sep 12 2008 9:50 am
Subject: How do I build an installer for my plugin?
Hello, I have a native .dll plugin for Win32 that works with Firefox 2
[1].  For someone to use this plugin, they currently have to go
through a lot of nonsense including configuring a .properties file and
running a "build" command from inside of NetBeans.

I want the experience to be much easier.  Ideally I'd like to use the
addon manager to do this.  Can someone please help direct me?

Requirements

* The installer must put at least three binary files in the plugins
directory that is a sibling of the firefox.exe

  nppluglet.dll
  jmfplayer.jar
  SimplePluglet.jar

* The installer must append some content to the "prefs.js" file for
the currently active profile.  This content is:

  user_pref("plugin.allow_alien_star_handler", true);
  user_pref("plugin.default_plugin_disabled", false);
  user_pref("plugin.override_internal_types", true);

* The installer must require the user to restart firefox.

Any help is greatly apprecaited.

Sincerely,

Ed Burns

[1] http://www.mozilla.org/projects/blackwood/java-plugins/


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
edburns  
View profile  
 More options Sep 13 2008, 9:07 pm
Newsgroups: mozilla.dev.tech.plugins
From: edburns <edbu...@gmail.com>
Date: Sat, 13 Sep 2008 18:07:34 -0700 (PDT)
Local: Sat, Sep 13 2008 9:07 pm
Subject: Re: How do I build an installer for my plugin?

> Any help is greatly apprecaited.

Mook, from ##developers shared these links:

Mook> edburns: http://developer.mozilla.org/En/Bundles should help
Mook> edburns: yep, see http://developer.mozilla.org/en/Building_an_Extension#Defaults_Files

Thanks Mook, Timelyx, and WeirdAl.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "xpi with npapi plugin *and* XPCOM component (was: Re: How do I build an installer for my plugin?)" by edburns
edburns  
View profile  
 More options Oct 6 2008, 9:12 am
Newsgroups: mozilla.dev.tech.plugins
From: edburns <edbu...@gmail.com>
Date: Mon, 6 Oct 2008 06:12:22 -0700 (PDT)
Local: Mon, Oct 6 2008 9:12 am
Subject: xpi with npapi plugin *and* XPCOM component (was: Re: How do I build an installer for my plugin?)
Hello,

I'm building an xpi called pluglet.xpi.  Here is the structure of
pluglet.xpi

$ zip -r ../pluglet.xpi *
  adding: components/pluglet.xpt (deflated 34%)
  adding: install.rdf (deflated 48%)
  adding: platform/WINNT_x86-msvc/components/pluglet.dll (deflated
77%)
  adding: platform/WINNT_x86-msvc/plugins/nppluglet.dll (deflated 86%)

In my nppluglet.dll, I want to do a do_GetService() on a contract id
declared in pluglet.xpt.

The pluglet.xpt is built with this line:

/cygdrive/f/Projects/mozilla/FIREFOX_2_0_0_3_RELEASE_A/mozilla/firefox-
win32_d.obj/../build/cygwin-wrapper ../../../dist/bin/xpt_link.exe
_xpidlgen/pluglet.xpt _xpidlgen/nsIPluglet.xpt _xpidlgen/
iPlugletEngine.xpt _xpidlgen/iPlugletManager.xpt

The iPlugletEngine.xpt is built from iPlugletEngine.idl, which
declares the contractID:

%{C++
#ifndef JNI_H
#include "jni.h"
#endif

#define  PLUGLETENGINE_CID  \
{ /* C1E694F3-9BE1-11d3-837C-0004AC56C49E */ \
  0xc1e694f3,                                \
  0x9be1,                                    \
  0x11d3,                                    \
  { 0x83, 0x7c, 0x0, 0x4, 0xac, 0x56, 0xc4, 0x9e } \

}

#define PLUGLETENGINE_ContractID \
 "@mozilla.org/blackwood/pluglet-engine;1"

%}

When I install the xpt and view a page calling for nppluglet.dll, this
code gets executed:

  nsCOMPtr<nsISupports> plugletEngine = nsnull;
  nsresult rv;

  plugletEngine = do_GetService(PLUGLETENGINE_ContractID, &rv);
  if (NS_SUCCEEDED(rv)) {
    // success code here
  }

I find that the do_GetService fails.

If I replace PLUGLETENGINE_ContractID with, say,
NS_IOSERVICE_CONTRACTID, I find the do_GetService() succeeds.

This leads me to believe that my pluglet.xpt is not getting inspected
for its contents.

Can someone please tell me how to test this assertion?

Thanks,

Ed


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
edburns  
View profile  
 More options Oct 6 2008, 9:39 am
Newsgroups: mozilla.dev.tech.plugins
From: edburns <edbu...@gmail.com>
Date: Mon, 6 Oct 2008 06:39:33 -0700 (PDT)
Local: Mon, Oct 6 2008 9:39 am
Subject: Re: xpi with npapi plugin *and* XPCOM component (was: Re: How do I build an installer for my plugin?)

> Can someone please tell me how to test this assertion?

I should add that the xpcom component I'm trying to call from my npapi
plugin uses this apporach to register itself:

NS_GENERIC_FACTORY_CONSTRUCTOR(PlugletEngine)

static const nsModuleComponentInfo components[] =
{
    { "PlugletEngine",
      PLUGLETENGINE_CID,
      PLUGLETENGINE_ContractID,
      PlugletEngineConstructor,
      PlugletEngineRegistration,
      PlugletEngineUnregistration
    }

};

NS_IMPL_NSGETMODULE(PlugletEngineModule, components)

Where PlugletEngineRegistration contains:

    rv = catman->AddCategoryEntry("xpcom-startup",
                                  "PlugletEngine",
                                  PLUGLETENGINE_ContractID,
                                  PR_TRUE,
                                  PR_TRUE,
                                  &previous);

Perhaps the xpcom-startup trick doesn't work for xpcom components in
an extension?

Ed


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "xpi with npapi plugin *and* XPCOM component" by Mook
Mook  
View profile  
 More options Oct 6 2008, 10:08 am
Newsgroups: mozilla.dev.tech.plugins
From: Mook <mook.moz+nntp.news.mozilla....@gmail.com.please-avoid-direct-mail>
Date: Mon, 06 Oct 2008 07:08:01 -0700
Local: Mon, Oct 6 2008 10:08 am
Subject: Re: xpi with npapi plugin *and* XPCOM component
edburns wrote:
>   plugletEngine = do_GetService(PLUGLETENGINE_ContractID, &rv);
>   if (NS_SUCCEEDED(rv)) {
>     // success code here
>   }

> I find that the do_GetService fails.

Does
http://developer.mozilla.org/En/Troubleshooting_XPCOM_components_regi...
  help?  Check that the component is registered (by trying to get it
from JS, even if it does nothing useful).

I don't know enough to be able to tell if you need to manually get the
service manager instead of using do_GetService.  (To make sure you're
using the right XPCOM component manager - I expect you are...)
http://mxr.mozilla.org/mozilla/source/modules/plugin/tools/sdk/sample...

--
Mook


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
edburns  
View profile  
 More options Oct 8 2008, 11:19 am
Newsgroups: mozilla.dev.tech.plugins
From: edburns <edbu...@gmail.com>
Date: Wed, 8 Oct 2008 08:19:19 -0700 (PDT)
Local: Wed, Oct 8 2008 11:19 am
Subject: Re: xpi with npapi plugin *and* XPCOM component

> I don't know enough to be able to tell if you need to manually get the
> service manager instead of using do_GetService.  (To make sure you're
> using the right XPCOM component manager - I expect you are...)http://mxr.mozilla.org/mozilla/source/modules/plugin/tools/sdk/sample...

Thanks Mook, turns out I had a linker problem.  My XPCOM component was
packaged in a DLL.  This DLL was created with a link line that
included jvm.lib, an import library from the JDK.  When firefox tried
to load my DLL, and the OS could not load the jvm.dll on which my DLL
depends (through its inclusion of jvm.lib): due to the directory
containing jvm.dll not being in the PATH, the XPCOM component DLL
failed to load, but there was no error message to that effect.

On #developers, biesi helped me eliminate my link time dependency on
jvm.lib by using GetProcAddress.  Now I have the following challenges:

From the function that uses GetProcAddress to load the functions from
jvm.dll, call some code that:

1. Sets the following preferences in a way that they will take effect
on
the currently running browser instance:

user_pref("plugin.allow_alien_star_handler", true);
user_pref("plugin.default_plugin_disabled", false);
user_pref("plugin.override_internal_types", true);

2. Sets the following environment variables:

SET PATH=C:\PROGRA~1\Java\jdk1.6.0\jre\bin\client
SET Path=C:\PROGRA~1\Java\jdk1.6.0\jre\bin\client
SET path=C:\PROGRA~1\Java\jdk1.6.0\jre\bin\client
SET CLASSPATH=F:\Projects\chaff\PLUGLET_DIST\pluglet_workarea\lib
\pluglet-1_1_a2.jar;C:\JMF2.1.1e\lib\jmf.jar;F:\Projects\chaff
\PLUGLET_DIST\pluglet_workarea\netbeans\build\classes

This should take me a long way to having an XPI install of pluglet.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Call to do_GetService(NS_PROFILE_CONTR ACTID) fails from within Plugin" by edburns
edburns  
View profile  
 More options Oct 10 2008, 8:55 pm
Newsgroups: mozilla.dev.tech.plugins
From: edburns <edbu...@gmail.com>
Date: Fri, 10 Oct 2008 17:55:42 -0700 (PDT)
Local: Fri, Oct 10 2008 8:55 pm
Subject: Call to do_GetService(NS_PROFILE_CONTRACTID) fails from within Plugin
Why would this call

    nsCOMPtr<nsIProfileInternal> profileMgr
        (do_GetService(NS_PROFILE_CONTRACTID, &rv));

return rv == 2147746132 (NS_ERROR_FACTORY_NOT_REGISTERED)

When invoked at the top of this callstack:

PlugletEngine::PopulateClasspath() line 138
PlugletEngine::SatisfyJavaPreconditions() line 150
PlugletEngine::StartJVM() line 281
PlugletEngine::GetJNIEnv(PlugletEngine * const 0x00bf166c, JNIEnv_ * *
0x00125ea4) line 361
PlugletLoader::Initialize() line 62 + 27 bytes
NS_PluginInitialize() line 152
NP_Initialize(_NPNetscapeFuncs * 0x075a1c10 struct _NPNetscapeFuncs
ns4xPlugin::CALLBACKS) line 164
ns4xPlugin::CreatePlugin(nsIServiceManagerObsolete * 0x003fd1d4, const
char * 0x03711570, const char * 0x00000000, PRLibrary * 0x0459fda0,
nsIPlugin * * 0x0371146c) line 780 + 8 bytes
nsPluginHostImpl::GetPluginFactory(nsPluginHostImpl * const
0x0360346c, const char * 0x0759a364, nsIPlugin * * 0x001260b4) line
4674 + 40 bytes
nsPluginHostImpl::SetUpDefaultPluginInstance(const char * 0x045378e8,
nsIURI * 0x03848378, nsIPluginInstanceOwner * 0x036688e8) line 4014 +
65 bytes
nsPluginHostImpl::InstantiateEmbeddedPlugin(nsPluginHostImpl * const
0x0360346c, const char * 0x045378e8, nsIURI * 0x03848378,
nsIPluginInstanceOwner * 0x036688e8) line 3482 + 23 bytes
nsObjectFrame::InstantiatePlugin(nsPresContext * 0x0377ed40,
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
nsIPluginHost * 0x0360346c, const char * 0x045378e8, nsIURI *
0x03848378) line 1366 + 27 bytes
nsObjectFrame::Reflow(nsObjectFrame * const 0x0385d5d8, nsPresContext
* 0x0377ed40, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState &
{...}, unsigned int & 0) line 1239 + 51 bytes
nsLineLayout::ReflowFrame(nsIFrame * 0x0385d5d8, unsigned int & 0,

[Rest of callstack included below]

I tried having nsIProfile be the nsCOMPtr type and got the same
result.

Any ideas?

nsHTMLReflowMetrics * 0x00000000, int & 0) line 995 + 43 bytes
nsBlockFrame::ReflowInlineFrame(nsBlockReflowState & {...},
nsLineLayout & {...}, nsLineList_iterator {...}, nsIFrame *
0x0385d5d8, unsigned char * 0x00126aeb) line 4058 + 22 bytes
nsBlockFrame::DoReflowInlineFrames(nsBlockReflowState & {...},
nsLineLayout & {...}, nsLineList_iterator {...}, int * 0x00126eb0,
unsigned char * 0x00126bf3, int 0, int 0, int 1) line 3897 + 32 bytes
nsBlockFrame::ReflowInlineFrames(nsBlockReflowState & {...},
nsLineList_iterator {...}, int 1, int * 0x00126eb0, int 0, int 0) line
3778 + 50 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...},
nsLineList_iterator {...}, int 1, int * 0x00126eb0, int 0) line 2771 +
37 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}, int 1) line
2301 + 35 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x0385d480, nsPresContext *
0x0377ed40, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState &
{...}, unsigned int & 0) line 903 + 17 bytes
nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 1,
nsCollapsingMargin & {...}, int 0, int 0, nsMargin & {...},
nsHTMLReflowState & {...}, unsigned int & 0) line 605 + 42 bytes
nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...},
nsLineList_iterator {...}, int * 0x00127b18) line 3492 + 66 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...},
nsLineList_iterator {...}, int 1, int * 0x00127b18, int 0) line 2651 +
27 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}, int 1) line
2301 + 35 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x0385d050, nsPresContext *
0x0377ed40, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState &
{...}, unsigned int & 0) line 903 + 17 bytes
nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 1,
nsCollapsingMargin & {...}, int 0, int 0, nsMargin & {...},
nsHTMLReflowState & {...}, unsigned int & 0) line 605 + 42 bytes
nsBlockFrame::ReflowFloat(nsBlockReflowState & {...},
nsPlaceholderFrame * 0x0385d0a4, nsFloatCache * 0x03668850, unsigned
int & 0) line 6029 + 54 bytes
nsBlockReflowState::FlowAndPlaceFloat(nsFloatCache * 0x03668850, int *
0x001285f4, unsigned int & 0, int 0) line 853
nsBlockReflowState::AddFloat(nsLineLayout & {...}, nsPlaceholderFrame
* 0x0385d0a4, int 0, unsigned int & 0) line 634 + 24 bytes
nsLineLayout::AddFloat(nsPlaceholderFrame * 0x0385d0a4, unsigned int &
0) line 261
nsLineLayout::ReflowFrame(nsIFrame * 0x0385d0a4, unsigned int & 0,
nsHTMLReflowMetrics * 0x00000000, int & 0) line 1017 + 22 bytes
nsBlockFrame::ReflowInlineFrame(nsBlockReflowState & {...},
nsLineLayout & {...}, nsLineList_iterator {...}, nsIFrame *
0x0385d0a4, unsigned char * 0x0012889f) line 4058 + 22 bytes
nsBlockFrame::DoReflowInlineFrames(nsBlockReflowState & {...},
nsLineLayout & {...}, nsLineList_iterator {...}, int * 0x00128c64,
unsigned char * 0x001289a7, int 0, int 0, int 1) line 3897 + 32 bytes
nsBlockFrame::ReflowInlineFrames(nsBlockReflowState & {...},
nsLineList_iterator {...}, int 1, int * 0x00128c64, int 0, int 0) line
3778 + 50 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...},
nsLineList_iterator {...}, int 1, int * 0x00128c64, int 0) line 2771 +
37 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}, int 1) line
2301 + 35 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x044bea88, nsPresContext *
0x0377ed40, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState &
{...}, unsigned int & 0) line 903 + 17 bytes
nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 1,
nsCollapsingMargin & {...}, int 0, int 0, nsMargin & {...},
nsHTMLReflowState & {...}, unsigned int & 0) line 605 + 42 bytes
nsBlockFrame::ReflowFloat(nsBlockReflowState & {...},
nsPlaceholderFrame * 0x044beadc, nsFloatCache * 0x036687b8, unsigned
int & 0) line 6029 + 54 bytes
nsBlockReflowState::FlowAndPlaceFloat(nsFloatCache * 0x036687b8, int *
0x00129740, unsigned int & 0, int 0) line 853
nsBlockReflowState::AddFloat(nsLineLayout & {...}, nsPlaceholderFrame
* 0x044beadc, int 0, unsigned int & 0) line 634 + 24 bytes
nsLineLayout::AddFloat(nsPlaceholderFrame * 0x044beadc, unsigned int &
0) line 261
nsLineLayout::ReflowFrame(nsIFrame * 0x044beadc, unsigned int & 0,
nsHTMLReflowMetrics * 0x00000000, int & 0) line 1017 + 22 bytes
nsBlockFrame::ReflowInlineFrame(nsBlockReflowState & {...},
nsLineLayout & {...}, nsLineList_iterator {...}, nsIFrame *
0x044beadc, unsigned char * 0x001299eb) line 4058 + 22 bytes
nsBlockFrame::DoReflowInlineFrames(nsBlockReflowState & {...},
nsLineLayout & {...}, nsLineList_iterator {...}, int * 0x00129db0,
unsigned char * 0x00129af3, int 0, int 0, int 1) line 3897 + 32 bytes
nsBlockFrame::ReflowInlineFrames(nsBlockReflowState & {...},
nsLineList_iterator {...}, int 1, int * 0x00129db0, int 0, int 0) line
3778 + 50 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...},
nsLineList_iterator {...}, int 1, int * 0x00129db0, int 0) line 2771 +
37 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}, int 1) line
2301 + 35 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x044be2a0, nsPresContext *
0x0377ed40, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState &
{...}, unsigned int & 0) line 903 + 17 bytes
nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 1,
nsCollapsingMargin & {...}, int 0, int 0, nsMargin & {...},
nsHTMLReflowState & {...}, unsigned int & 0) line 605 + 42 bytes
nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...},
nsLineList_iterator {...}, int * 0x0012aa18) line 3492 + 66 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...},
nsLineList_iterator {...}, int 1, int * 0x0012aa18, int 0) line 2651 +
27 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}, int 1) line
2301 + 35 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x036ae214, nsPresContext *
0x0377ed40, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState &
{...}, unsigned int & 0) line 903 + 17 bytes
nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 1,
nsCollapsingMargin & {...}, int 0, int 1, nsMargin & {...},
nsHTMLReflowState & {...}, unsigned int & 0) line 605 + 42 bytes
nsBlockFrame::ReflowFloat(nsBlockReflowState & {...},
nsPlaceholderFrame * 0x036ae268, nsFloatCache * 0x037bc5d8, unsigned
int & 0) line 6029 + 54 bytes
nsBlockReflowState::FlowAndPlaceFloat(nsFloatCache * 0x037bc5d8, int *
0x0012b4f4, unsigned int & 0, int 0) line 853
nsBlockReflowState::AddFloat(nsLineLayout & {...}, nsPlaceholderFrame
* 0x036ae268, int 0, unsigned int & 0) line 634 + 24 bytes
nsLineLayout::AddFloat(nsPlaceholderFrame * 0x036ae268, unsigned int &
0) line 261
nsLineLayout::ReflowFrame(nsIFrame * 0x036ae268, unsigned int & 0,
nsHTMLReflowMetrics * 0x00000000, int & 0) line 1017 + 22 bytes
nsBlockFrame::ReflowInlineFrame(nsBlockReflowState & {...},
nsLineLayout & {...}, nsLineList_iterator {...}, nsIFrame *
0x036ae268, unsigned char * 0x0012b79f) line 4058 + 22 bytes
nsBlockFrame::DoReflowInlineFrames(nsBlockReflowState & {...},
nsLineLayout & {...}, nsLineList_iterator {...}, int * 0x0012bb64,
unsigned char * 0x0012b8a7, int 0, int 1, int 1) line 3897 + 32 bytes
nsBlockFrame::ReflowInlineFrames(nsBlockReflowState & {...},
nsLineList_iterator {...}, int 1, int * 0x0012bb64, int 1, int 0) line
3778 + 50 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...},
nsLineList_iterator {...}, int 1, int * 0x0012bb64, int 1) line 2771 +
37 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}, int 1) line
2301 + 35 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x036ad454, nsPresContext *
0x0377ed40, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState &
{...}, unsigned int & 0) line 903 + 17 bytes
nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 1,
nsCollapsingMargin & {...}, int 0, int 1, nsMargin & {...},
nsHTMLReflowState & {...}, unsigned int & 0) line 605 + 42 bytes
nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...},
nsLineList_iterator {...}, int * 0x0012c7cc) line 3492 + 66 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...},
nsLineList_iterator {...}, int 1, int * 0x0012c7cc, int 1) line 2651 +
27 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState &
...

read more »


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Benjamin Smedberg  
View profile  
 More options Oct 20 2008, 8:46 am
Newsgroups: mozilla.dev.tech.plugins
From: Benjamin Smedberg <benja...@smedbergs.us>
Date: Mon, 20 Oct 2008 08:46:21 -0400
Local: Mon, Oct 20 2008 8:46 am
Subject: Re: Call to do_GetService(NS_PROFILE_CONTRACTID) fails from within Plugin

edburns wrote:
> Why would this call

>     nsCOMPtr<nsIProfileInternal> profileMgr
>         (do_GetService(NS_PROFILE_CONTRACTID, &rv));

> return rv == 2147746132 (NS_ERROR_FACTORY_NOT_REGISTERED)

> When invoked at the top of this callstack:

Because nsIProfile/nsIProfileInternal are not implemented in Firefox (and
are in fact removed from the codebase). They haven't worked since well
before Firefox 1.0

--BDS


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google