Closed Bug 532215 Opened 15 years ago Closed 10 years ago

Plugins: Add BROWSER/PLUGIN-object state to PPluginScriptableObject

Categories

(Core :: IPC, defect)

defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: cjones, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

PPluginInstance really represents browser->plugin proxy objects, and plugin->browser proxy objects. Understandably though, it's a single protocol to keep the NPRuntime methods synchronized. I'm going to codify these rules into a state machine; the basic idea is protocol Object { both: // all NPRuntime messages start state BROWSER_OBJECT: recv ...; // only take messages from the plugin recv __delete__; start state PLUGIN_OBJECT: send ...; // only send messages from the browser send __delete__; This protocol means that upon creating a PPluginInstance, C++ must choose whether it's a BROWSER_OBJECT or PLUGIN_OBJECT, and thereafter never the twain shall meet.
Oops, brain-dead typo.
Summary: Plugins: Add BROWSER/PLUGIN-object state to PPluginInstance → Plugins: Add BROWSER/PLUGIN-object state to PPluginScriptableObject
(In reply to comment #0) > protocol Object { > both: > // all NPRuntime messages > > start state BROWSER_OBJECT: > recv ...; // only take messages from the plugin > recv __delete__; > > start state PLUGIN_OBJECT: > send ...; // only send messages from the browser > send __delete__; This protocol is all wrong, because all messages *can* go both ways, except the destructor. Needs a little more thought.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.