Index: chrome_frame/chrome_frame_npapi_entrypoints.cc |
=================================================================== |
--- chrome_frame/chrome_frame_npapi_entrypoints.cc (revision 37418) |
+++ chrome_frame/chrome_frame_npapi_entrypoints.cc (working copy) |
@@ -119,27 +119,23 @@ |
NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream* stream, |
NPBool seekable, uint16* stream_type) { |
- NPAPIUrlRequest* url_request = ChromeFrameNPAPI::ValidateRequest( |
- instance, stream->notifyData); |
- if (url_request) { |
- if (!url_request->OnStreamCreated(type, stream)) |
- return NPERR_GENERIC_ERROR; |
+ ChromeFrameNPAPI* plugin_instance = |
+ ChromeFrameNPAPI::ChromeFrameInstanceFromPluginInstance(instance); |
+ if (plugin_instance == NULL) { |
+ return NPERR_INVALID_INSTANCE_ERROR; |
} |
- // We need to return the requested stream mode if we are returning a success |
- // code. If we don't do this it causes Opera to blow up. |
- *stream_type = NP_NORMAL; |
- return NPERR_NO_ERROR; |
+ return plugin_instance->NewStream(type, stream, seekable, stream_type); |
} |
NPError NPP_DestroyStream(NPP instance, NPStream* stream, NPReason reason) { |
- NPAPIUrlRequest* url_request = ChromeFrameNPAPI::ValidateRequest( |
- instance, stream->notifyData); |
- if (url_request) { |
- url_request->OnStreamDestroyed(reason); |
+ ChromeFrameNPAPI* plugin_instance = |
+ ChromeFrameNPAPI::ChromeFrameInstanceFromPluginInstance(instance); |
+ if (plugin_instance == NULL) { |
+ return NPERR_INVALID_INSTANCE_ERROR; |
} |
- return NPERR_NO_ERROR; |
+ return plugin_instance->DestroyStream(stream, reason); |
} |
NPError NPP_GetValue(NPP instance, NPPVariable variable, void* value) { |
@@ -163,24 +159,25 @@ |
int32 NPP_WriteReady(NPP instance, NPStream* stream) { |
static const int kMaxBytesForPluginConsumption = 0x7FFFFFFF; |
- NPAPIUrlRequest* url_request = ChromeFrameNPAPI::ValidateRequest( |
- instance, stream->notifyData); |
- if (url_request) { |
- return url_request->OnWriteReady(); |
+ ChromeFrameNPAPI* plugin_instance = |
+ ChromeFrameNPAPI::ChromeFrameInstanceFromPluginInstance(instance); |
+ |
+ if (plugin_instance == NULL) { |
+ return kMaxBytesForPluginConsumption; |
} |
- return kMaxBytesForPluginConsumption; |
+ return plugin_instance->WriteReady(stream); |
} |
int32 NPP_Write(NPP instance, NPStream* stream, int32 offset, int32 len, |
void* buffer) { |
- NPAPIUrlRequest* url_request = ChromeFrameNPAPI::ValidateRequest( |
- instance, stream->notifyData); |
- if (url_request) { |
- return url_request->OnWrite(buffer, len); |
- } |
+ ChromeFrameNPAPI* plugin_instance = |
+ ChromeFrameNPAPI::ChromeFrameInstanceFromPluginInstance(instance); |
- return len; |
+ if (plugin_instance == NULL) |
+ return len; |
+ |
+ return plugin_instance->Write(stream, offset, len, buffer); |
} |
void NPP_URLNotify(NPP instance, const char* url, NPReason reason, |