1 2009-12-07 Rolf Bjarne Kvinge <RKvinge@novell.com>
3 * plugin.cpp: Put the "Reinstall media pack" into an DEBUG #ifdef.
4 It causes us to crash if we've already loaded the codecs into the
7 2009-12-03 Larry Ewing <lewing@novell.com>
9 * moonlight.h: bump up the version of 3.0 we claim to support.
11 2009-11-27 Rolf Bjarne Kvinge <RKvinge@novell.com>
13 * plugin-class.cpp: GetSurface doesn't exist anymore - use IsAttached
16 2009-11-26 Chris Toshok <toshok@ximian.com>
18 * plugin.cpp (PluginInstance::StreamAsFile): remove the source
19 setting from here because it has to happen both with xaps and xaml
21 (PluginInstance::UpdateSource): it needs to happen here. in the
22 case where we aren't calling SetPageUrl, we need to need to worry
23 about relative/absolute urls. lots of comments added. should fix
24 the three different problematic splash scenarios I've found (2
25 telerik demos and the sl3 toolkit demo), and their relative url
28 2009-11-26 Chris Toshok <toshok@ximian.com>
30 * plugin.cpp (PluginInstance::StreamAsFile): set the source
31 location to the xaml file when parsing the splash screen so that
32 urls are resolved correctly for images/etc during the loading
33 process. Set it back again afterward.
34 (PluginInstance::LoadSplash): when loading the splash we need to
35 allow separators at the end of the urls so that relative urls are
38 2009-11-19 Rolf Bjarne Kvinge <RKvinge@novell.com>
40 * plugin.mdp: Updated with new files.
42 2009-11-18 Rolf Bjarne Kvinge <RKvinge@novell.com>
44 * cbinding.h: Regenerated.
46 * plugin-class.h.in: Add changes to the .in file too so that the
47 changes survive the generator.
49 2009-11-18 Rolf Bjarne Kvinge <RKvinge@novell.com>
51 * plugin-class.cpp|h: Name change from MarkerReachedEventArgs ->
52 TimelineMarkerRoutedEventArgs (to better match managed code).
54 * cbinding.h: Regenerated.
56 2009-11-17 Rolf Bjarne Kvinge <RKvinge@novell.com>
58 * cbinding.h: Regenerated.
60 2009-11-17 Rolf Bjarne Kvinge <RKvinge@novell.com>
62 * plugin.cpp: When requesting a codec download, indicate that the user
63 initiated the download.
65 2009-11-12 Jeffrey Stedfast <fejj@novell.com>
67 * plugin.cpp (UrlNotify): Don't spam the console with printf's if
68 the download was successful.
70 2009-11-11 Rolf Bjarne Kvinge <RKvinge@novell.com>
74 * plugin-class.cpp: Update according to Type / Value API changes.
76 2009-11-06 Chris Toshok <toshok@ximian.com>
78 * plugin.cpp (PluginInstance::FlushSplash): WalkTreeForLoaded ->
79 WalkTreeForLoadedHandlers, and explicitly emit Loaded
82 2009-11-05 Alan McGovern <amcgovern@novell.com>
84 * cbinding.h: regen. r: toshok
86 2009-11-05 Rolf Bjarne Kvinge <RKvinge@novell.com>
88 * plugin-class.cpp: Don't try to throw js exceptions when returning
91 * plugin-class.h: Remove THROW_JS_EXCEPTION2, not used anymore.
95 2009-11-03 Rolf Bjarne Kvinge <RKvinge@novell.com>
97 * plugin.cpp|h: Don't create the window if the splash failed to load -
98 this fixes a crash with MS DRT #352 where the splash error handler
99 shuts down the browser, causing us to crash later on when we try to
104 2009-11-03 Rolf Bjarne Kvinge <RKvinge@novell.com>
106 * plugin.cpp|h: Remove all code which handles downloading of assemblies
107 which aren't in the xap, since that can't happen. Some of this code was
108 already commented out.
112 2009-11-02 Alan McGovern <amcgovern@novell.com>
114 * cbinding.h: regen. r: rolf
116 2009-10-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
118 * plugin.cpp: Add missing Deployment::SetCurrent.
122 2009-10-23 Rolf Bjarne Kvinge <RKvinge@novell.com>
124 * plugin.cpp: Always show the codec download entry in the right click
125 menu - this allows easy redownload for whatever reason, instead of
126 requiring the user to manually locate and delete the codecs if they're
131 2009-10-20 Jeffrey Stedfast <fejj@novell.com>
133 * plugin.cpp (same_site_of_origin): If either of the urls is null,
134 return true. Fixes drt #329.
138 2009-10-20 Chris Toshok <toshok@ximian.com>
140 * plugin-class.cpp (MoonlightObject::ClearEventProxies): fix
141 ancient sles-10 build.
145 2009-10-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
147 * plugin-glue.cpp: We might need the current plugin (NPP->pdata) during
148 plugin shutdown (to report errors to js in case of any errors).
150 * plugin-class.cpp|h|in.h:
151 Added MoonlightScriptControlObject::[Pre|Post]SwitchPlugin methods: stores
152 the data (event handlers) we need to copy over from one plugin instance to
153 the next when the source changes. Also make sure to delete all current
154 event handlers / proxies, since the root npobjects are not recreated.
155 EventListenerProxy: added GetCallback and IsFunc accessors.
156 MoonlightObject: Add a SetPlugin method that allows moving MoonlightObjects
157 from one PluginInstance to another.
160 Added a PluginInstance::Recreate method that recreates the PluginInstance
161 when the source changes. Remove unused parameter to PluginInstance ctor.
162 Keep track whether the window has been created or not (used to not recreate
163 the window, since it moves from one PluginInstance to another).
167 2009-10-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
169 * plugin-class.h.in: Update with recent changes to plugin-class.h.
173 2009-10-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
175 * plugin-class.[g.]cpp|h: Store a reference to the PluginInstance on
176 all MoonlightObjects instead of the NPP instance, since we'll soon
177 have more than one PluginInstance per NPP instance.
181 2009-10-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
184 * plugin-class.h: Use the proper type for the content and settings
189 2009-10-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
191 * windowless.cpp: Don't access the deployment field, use the
192 new SetCurrentDeployment method.
196 2009-10-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
198 * plugin.cpp|h: Move all managed code handling to Deployment.
202 2009-10-19 Rolf Bjarne Kvinge <RKvinge@novell.com>
204 * plugin-downloader.cpp: We should never allow downloading with another
205 plugin than the correct one.
209 2009-10-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
211 * plugin.cpp|h: Remove two obsolete and unused methods.
215 2009-10-15 Rolf Bjarne Kvinge <RKvinge@novell.com>
217 * cbinding.h: Regenerated.
221 2009-10-08 Chris Toshok <toshok@ximian.com>
223 * plugin.cpp (PluginInstance::StreamAsFile): Add another cross
224 domain check after loading the splash (and emitting loaded
226 (PluginInstance::LoadSplash): substantially bulk up this code to
227 check for all the XDomain splash possibilities defined in drt
230 * plugin-class.cpp (EventListenerProxy::proxy_listener_to_javascript):
231 comment out a line of spew that's really really spewing in xdomain
236 2009-10-07 Rolf Bjarne Kvinge <RKvinge@novell.com>
238 * plugin.cpp|h: Make PluginInstance work with async shutdown by using
239 refcounting to only delete the PluginInstance when nobody needs it
240 anymore. Add two flags, HasShutdown and IsShuttingDown informing about
241 the current shutdown status. Destructor: rename to Shutdown and make
242 sure we zero/null out all the fields. Finalize: removed, not used.
243 Also ensure that the PluginInstance is not deleted until the managed
244 appdomain has been unloaded, since managed code has references to it.
245 Maintain a counter of the number of instances alive so that we can detect
246 when they are all deleted.
248 * plugin-class.cpp: Make html_release_object thread-safe by marshalling
249 any calls to the main thread. Also detect if the plugin has shut down
250 when trying to retain or release a npobject, in which case do nothing
251 at all, since firefox has already freed it.
253 * plugin-glue.cpp: Don't delete the plugin instance, call Shutdown
254 instead and unref it. Only shutdown moonlight if all the plugin instances
255 and all the deployments have been destroyed.
259 2009-09-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
261 * plugin.cpp: Remove unused variable (fixes compiler warning).
265 2009-09-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
267 * cbinding.h: Regenerated.
271 2009-09-25 Sebastien Pouliot <sebastien@ximian.com>
273 * plugin-class.cpp|h|h.in: Change html_object_invoke[_self] to
274 return the boolean representing the invokation result.
278 2009-09-24 Rolf Bjarne Kvinge <RKvinge@novell.com>
280 * plugin-debug.cpp: Remove unused variable (fixes compiler warning).
284 2009-09-23 Chris Toshok <toshok@ximian.com>
286 * plugin-class.cpp (EventObjectCreateWrapper): return
287 dependency_object_classes [MOUSE_EVENT_ARGS_CLASS]; for both
288 MOUSEBUTTONEVENTARGS and MOUSEWHEELEVENTARGS.
290 fixes DRT #50 regression.
294 2009-09-23 Chris Toshok <toshok@ximian.com>
300 2009-09-23 Chris Toshok <toshok@ximian.com>
302 * plugin-accessibility.h (class Accessibility):
303 @ManagedEvents=Manual
309 2009-09-18 Jackson Harper <jackson@ximian.com>
312 * plugin.cpp: Remove the import_default_xmlns stuff, this is
313 handled by flags now.
316 2009-09-16 Jeffrey Stedfast <fejj@novell.com>
318 * plugin.cpp (Properties): Display the RuntimeVersion attribute.
322 2009-09-14 Chris Toshok <toshok@ximian.com>
324 * plugin-class.cpp (MoonlightErrorEventArgs::GetProperty): use
325 ErrorEventArgs accessors.
327 * plugin.cpp (PluginInstance::network_error_tickcall): pass a
328 MoonError to the ErrorEventArgs ctor.
329 (PluginInstance::splashscreen_error_tickcall): same.
330 (PluginXamlLoader::TryLoad): same, use accessor.
331 (PluginInstance::ManagedExceptionToErrorEventArgs): same.
333 2009-09-14 Jackson Harper <jackson@ximian.com>
335 * plugin-debug.cpp: Use foreach instead of gtkiter
337 2009-09-11 Sebastien Pouliot <sebastien@ximian.com>
339 * plugin.cpp: Fix regression/crash on DRT455 since
340 splashscreensource is now freed. Add missing g_free on
345 2009-09-11 Rolf Bjarne Kvinge <RKvinge@novell.com>
347 * cbinding.h: Regenerated.
351 2009-09-10 Jackson Harper <jackson@ximian.com>
353 * plugin.cpp: Add some namescope info to the debugging tree
357 2009-09-10 Jackson Harper <jackson@ximian.com>
359 * plugin.cpp|h: Update signature on SetProperty
361 2009-09-09 Chris Toshok <toshok@ximian.com>
363 * plugin.cpp (PluginInstance::PluginInstance): init
364 culture/uiculture to null.
365 (PluginInstance::~PluginInstance): free culture/uiculture, and
366 also plug a leak by freeing onSourceDownloadProgressChanged,
367 onSourceDownloadComplete, and splashscreensource.
368 (PluginInstance::Initialize): parse culture/uiculture <param>
370 (PluginInstance::InitializePluginAppDomain): track change to
371 InitializeDeployment argcount
372 (PluginInstance::ManagedInitializeDeployment): add
373 culture/uiculture args when calling the managed methods.
377 2009-09-03 Stephane Delcroix <sdelcroix@novell.com>
379 * plugin-class.cpp|.g.cpp.in|.h.in: no longer auto generate bindings
380 for MSI, copy paste the autogenerated from .g.cpp to .cpp. add a
381 SetProperty method and use to set the UriSource of the DZITS instead
382 of creating a new DZITS everytime.
384 * plugin-class.h|g.cpp: regen
386 2009-09-03 Alan McGovern <amcgovern@novell.com>
388 * plugin.cpp: It's possible that window will be null, so check
389 it exists before using it. r: toshok
391 2009-08-27 Chris Toshok <toshok@ximian.com>
393 * plugin.cpp (PluginInstance::NewStream): set the current deployment here.
397 2009-08-26 Jackson Harper <jackson@ximian.com>
399 * plugin.cpp: check for the zip file magic instead of using file
402 2009-08-26 Alan McGovern <amcgovern@novell.com>
404 * cbinding.h: regen r: shana
406 2009-08-26 Jackson Harper <jackson@ximian.com>
408 * plugin.cpp: Use the xaml function for parsing bools so things
409 like enablehtmlaccess=1 are handled properly.
413 2009-08-24 Sebastien Pouliot <sebastien@ximian.com>
415 * plugin-class.cpp: Free NPVariant array leaks
419 2009-08-16 Chris Toshok <toshok@ximian.com>
421 * plugin.cpp (plugin_menu_about): we aren't doing previews
422 anymore, we're doing betas.
426 2009-08-12 Alan McGovern <amcgovern@novell.com>
428 * cbinding.h: regen r: toshok
430 2009-07-30 Rolf Bjarne Kvinge <RKvinge@novell.com>
432 * plugin.mdp: Connect the Build command in
433 MonoDevelop with 'make install'.
435 2009-07-27 Rolf Bjarne Kvinge <RKvinge@novell.com>
437 * plugin.mdp: Use Makefile integration.
439 2009-07-23 Sebastien Pouliot <sebastien at ximian.com>
441 * plugin.cpp: Make sure 'source_original' is set even when scripting
442 is used to initialize source. Remove xdomain warnings from mstv.cz
444 2009-07-22 Rolf Bjarne Kvinge <RKvinge@novell.com>
447 * plugin-class.h.in: Added html_object_retain.
449 * plugin-class.h: Regenerated.
451 2009-07-22 Rolf Bjarne Kvinge <RKvinge@novell.com>
453 * plugin.mdp: Updated.
455 2009-07-22 Sebastien Pouliot <sebastien at ximian.com>
457 * plugin-class.cpp: Fix DEBUG_WARN_NOTIMPLEMENTED macro to output
458 all related information on the same line. Use NULL_TO_NPVARIANT
459 with MoonId_MethodName (since this is a string).
460 * windowless.cpp: Initialize GdkEventKey correctly (valgrind) and
461 provide a Window pointer so we avoid a SEGSIGV when TextBox calls
462 gtk_im_context_xim_filter_keypress (webide)
464 2009-07-22 Rolf Bjarne Kvinge <RKvinge@novell.com>
466 * plugin-class.cpp: Incorporate significant advances in debugging
469 2009-07-20 Chris Toshok <toshok@ximian.com>
471 * plugin-class.cpp (MoonlightContentObject::Invoke): pass null for
473 (MoonlightContentObject::Invoke): same.
475 * plugin.h|cpp: add resource base parameters to all the XamlLoader
476 calls, and pass stream->url for that value when we have it.
480 2009-07-20 Chris Toshok <toshok@ximian.com>
482 * plugin-class.cpp (MoonlightDependencyObjectObject::Invoke): add
483 the fallback findName lookup here, since we removed it from
484 DependencyObject::FindName.
486 2009-07-18 Jackson Harper <jackson@ximian.com>
489 * plugin.h|cpp: Add a flag to import the default xmlns. Basically
490 nothing sets this to true except for the JS CreateFromXaml
493 2009-07-17 Larry Ewing <lewing@novell.com>
495 * plugin.cpp: get agressive about flushing loaded events to the
496 plugin from splash elements. Fixes 285,445.
498 2009-07-16 Larry Ewing <lewing@novell.com>
500 * plugin.cpp, plugin.h: rework the splash logic to handle document
501 fragment references and get closer to emitting the correct events
502 in the correct order.
504 * plugin-class.cpp: use PluginInstance::IsLoaded instead of poking
507 2009-07-17 Rolf Bjarne Kvinge <RKvinge@novell.com>
509 * cbinding.h: Regenerated.
511 2009-07-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
513 * plugin.cpp: PluginInstance::UpdateSourceByReference: add a
514 Deployment::SetCurrent.
516 2009-07-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
518 * plugin-entry.cpp: Push/Pop the current deployment on every
519 transition to the browser. Makes MS DRT #2003 not spew a lot
520 of deployment mismatch warnings.
522 2009-07-15 Larry Ewing <lewing@novell.com>
524 * plugin.cpp: reconnect onload in LoadXAML and LoadXAP so that
525 source changes reset the oneshot call. Fixes DRT#21.
527 2009-07-13 Sebastien Pouliot <sebastien at ximian.com>
529 * plugin.cpp: Check for NULL *and* Empty inside UpdateSource.
530 Gives a bit of progress for DRT#354
532 2009-07-13 Rolf Bjarne Kvinge <RKvinge@novell.com>
534 * cbinding.h: Regenerated.
536 2009-07-13 Alan McGovern <amcgovern@novell.com>
538 * plugin-class.h.in: Var should be named
539 'OnSourceDownloadComplete' not 'OnSourceDownloadCompleted'
541 2009-07-13 Alan McGovern <amcgovern@novell.com>
543 * cbinding.h: Commit the initial implementation of the
544 TabNavigationWalker. Supports the three tabbing modes and
545 also forward/backward tabbing. Passes drt 323 except for a
546 default focusing issue.
548 2009-07-10 Sebastien Pouliot <sebastien at ximian.com>
550 * plugin.cpp: Only call EmitSourceDownloadComplete is we needed
551 to download the splashscreen (versus embedded using #)
553 2009-07-10 Sebastien Pouliot <sebastien at ximian.com>
555 * plugin.cpp|h, plugin-class.cpp|h: Rename
556 SourceDownloadCompletedEvent to SourceDownloadCompleteEvent
558 2009-07-09 Sebastien Pouliot <sebastien at ximian.com>
560 * plugin.cpp: Check for redirection each time a new stream
561 is created (i.e. before downloading) using the current URI (not
562 the original one) so we can detect redirection correctly.
564 2009-07-07 Rolf Bjarne Kvinge <RKvinge@novell.com>
566 * plugin-class.cpp: EventObjectCreateWrapper: return null as the
567 wrapper for a null object.
569 2009-07-02 Rolf Bjarne Kvinge <RKvinge@novell.com>
571 * plugin-downloader.h: Add response getter.
573 * plugin-downloader.cpp: Regenerated.
575 * cbinding.h: Regenerated.
577 2009-07-01 Rolf Bjarne Kvinge <RKvinge@novell.com>
579 * plugin-downloader.cpp: When calling Send, reset the finished
580 field, so that we abort it properly upon destruction if the
581 PluginDownloader has been reused.
583 2009-07-01 Chris Toshok <toshok@ximian.com>
585 * plugin-proxy.cpp (load): check the return value of
586 dlopen(libmono.so) before we make use of mono_config_parse_memory.
588 * plugin-entry.cpp: remove the moz-sdk includes, since they get
589 pulled in from moonlight.h
591 * plugin-class.h|cpp (MoonlightContentObject::GetProperty): add
592 Accessibility support.
593 (MoonlightContentObject::SetProperty): same.
594 (MoonlightContentObject::~MoonlightContentObject): unref the
595 accessibility object.
597 * moonlight.h: add the moz-sdk/ prefix for the np* headers here.
599 * Makefile.am (libmoonplugin_la_SOURCES): add
600 plugin-accessibility.
601 (INCLUDES): remove the moz-sdk include, and add it the #includes
602 so things work when files are included from the src/ directory.
604 * plugin-accessibility.h|cpp: new DependencyObject subclass to
605 represent the plugin's content.accessibility object.
607 * cbinding.h, plugin-class.h: regen.
609 2009-06-30 Jackson Harper <jackson@ximian.com>
611 * plugin-class.cpp: Update function signature, add the validate
615 2009-06-30 Alan McGovern <amcgovern@novell.com>
617 * plugin-class.cpp: Use SetValueWithError instead of SetValue
618 and propagate the exception back to javascript. Fixes drt
621 2009-06-29 Sebastien Pouliot <sebastien@ximian.com>
623 * plugin.cpp: Initialize enable_html_access to true since the value
624 can be queried before anything is loaded (e.g. scripting). Remove
625 failure message from DRT #21 bitmap.
627 2009-06-26 Chris Toshok <toshok@ximian.com>
629 * plugin-class.h.in|cpp: add support for GridLengths.
631 * plugin-class.h: regen.
633 2009-06-26 Larry Ewing <lewing@novell.com>
635 * plugin-class.h.in: add MoonlightCornerRadius and MoonIds.
637 * plugin-class.cpp: implement cornerradius foo.
639 2009-06-25 Chris Toshok <toshok@ximian.com>
641 * plugin-class.cpp (thickness_mapping): fix the mapping of "top"
642 to MoonId_Top, not MoonId_Right. Fixes drt test 421.
644 2009-06-25 Chris Toshok <toshok@ximian.com>
646 * plugin.cpp (PluginXamlLoader::SetProperty): track change to
647 xaml_is_valid_event_name.
649 2009-06-25 Chris Toshok <toshok@ximian.com>
651 * plugin-class.cpp (_set_dependency_property_value): add a
652 MoonError parameter so we can communicate it back to our callers.
653 (MoonlightTextBoxObject::Invoke): use textbox->SelectWithError and
654 throw the exception if it failed.
655 (MoonlightPasswordBoxObject::Invoke): same.
657 2009-06-25 Chris Toshok <toshok@ximian.com>
659 * plugin-class.cpp (MoonlightCollectionObject::Invoke): add
660 "remove(string)" support for resource dictionaries.
661 2009-06-25 Chris Toshok <toshok@ximian.com>
663 * plugin-class.cpp (value_to_variant): add support for
664 FontWeight/Style/Stretch here. Fixes DRT test 94.
666 2009-06-25 Rolf Bjarne Kvinge <RKvinge@novell.com>
668 * cbinding.h: Regenerated.
670 2009-06-25 Sebastien Pouliot <sebastien@ximian.com>
672 * plugin-class.cpp: Return "" not NULL for empty files (DRT #180)
674 2009-06-25 Rolf Bjarne Kvinge <RKvinge@novell.com>
676 * plugin-class.cpp: proxy_listener_to_javascript: we need to restore
677 the current deployment after returning from javascript, if the
678 javascript did anything which caused firefox to process events,
679 we may have entered any other deployment while processing those
682 2009-06-24 Chris Toshok <toshok@ximian.com>
686 2009-06-22 Chris Toshok <toshok@ximian.com>
688 * plugin-class.h.in|cpp: MediaElements and Images need to subclass
689 from UIElement here instead of DependencyObject, or else we can't
690 call UIElement methods on them. gets fixture #282 further than
691 the stupid .js error.
693 * plugin-class.h: regen
695 2009-06-19 Rolf Bjarne Kvinge <RKvinge@novell.com>
697 * plugin-class.cpp: Add support for MultiScaleImage methods.
699 * plugin-class.g.cpp.in: Added required header.
701 * plugin-class.g.cpp:
703 * cbinding.h: Regenerated.
705 2009-06-19 Rolf Bjarne Kvinge <RKvinge@novell.com>
707 * plugin.mdp: Updated with new files.
709 2009-06-18 Jeffrey Stedfast <fejj@novell.com>
711 * plugin-class.cpp (value_to_variant): Handle Type::CHAR by
712 converting to an NPVariant string.
714 2009-06-18 Sebastien Pouliot <sebastien@ximian.com>
716 * cbinding.cpp|h: regen
717 * plugin.cpp|h: Keep the original location and source (before any
718 redirection can happen) and use them in the check for cross-domain
719 applications. Fixing DRT 955-958
721 2009-06-17 Chris Toshok <toshok@ximian.com>
723 * plugin-class.h.in, plugin-class.cpp: add textbox and passwordbox
724 types (select and selectAll methods.)
726 * plugin-class.g.*, cbinding.h: regen.
728 2009-06-17 Alan McGovern <amcgovern@novell.com>
730 * plugin-class.g.cpp.in: We need to include textbox.h
732 2009-06-17 Rolf Bjarne Kvinge <RKvinge@novell.com>
734 * plugin.cpp: SetXapLocation must be set before
735 ManagedInitializeDeployment is called, since
736 ManagedInitializeDeployment ends up executing managed code, which
737 may need SetXapLocation to be set (for downloading files).
738 MS DRT #483 is an example.
740 2009-06-16 Sebastien Pouliot <sebastien@ximian.com>
742 * plugin.cpp: Set default cross_domain_app to false since using
743 embedded XAML is valid (and not cross domain) and won't trigger
744 a load (to update the value). Should fix XAML #401 test
746 2009-06-15 Sebastien Pouliot <sebastien@ximian.com>
748 * plugin.cpp|h: Move cross-domain application check to it's own
749 method. Call it once we download the source (it could be later
750 than anticipated). This fix sites using custom scripts like
751 ASP.NET <asp:Silverlight>
752 * plugin-class.cpp: Don't emit javascript events for cross
755 2009-06-15 Rolf Bjarne Kvinge <RKvinge@novell.com>
757 * plugin.cpp: same_site_of_origin: add nre protection. Makes
758 moonlight test #408 not crash.
760 2009-06-15 Rolf Bjarne Kvinge <RKvinge@novell.com>
762 * plugin-class.cpp: Update after MediaElementState -> MediaState
765 2009-06-13 Sebastien Pouliot <sebastien@ximian.com>
767 * plugin.cpp|h: Move cross-domain application check earlier to
768 not register the events (e.g. onLoad, onError...) for cross-domain
769 applications. Complete fix for DRT 361, 362, 364, 365 and 370
771 2009-06-12 Sebastien Pouliot <sebastien@ximian.com>
773 * plugin.cpp|h: Fix 'enableHtmlAccess' to have a different
774 default value when used for the same 'site of origin' (true)
775 wrt to be used for 'cross-domain' applications (false).
776 * plugin-class.cpp: Add restrictions on cross-domain applications
777 based on the manifest ExternalCallersFromCrossDomain value.
779 2009-06-11 Rolf Bjarne Kvinge <RKvinge@novell.com>
781 * plugin.cpp: Disable the spinner for now, it's breaking a lot of
784 2009-06-10 Larry Ewing <lewing@novell.com>
786 * plugin.cpp (CreateWindow): add a simple spinner if nothing is
789 * plugin-spinner.h: new simple spinner.
791 2009-06-08 Chris Toshok <toshok@ximian.com>
793 * plugin.cpp (class PluginClosure): new class to wrap
795 (PluginInstance::network_error_tickcall): use PluginClosure.
796 (PluginInstance::splashscreen_error_tickcall): use PluginClosure,
797 also don't UpdateSource if the surface is zombified (since the
798 plugin is likely already gone.)
799 (PluginInstance::UrlNotify): use PluginClosure's and add the tick
800 calls directly via the timemanager so we can specify both method
803 * plugin.h (class PluginInstance): make network_error_tickcall and
804 splashscreen_error_tickcall static methods on PluginInstance.
806 2009-06-08 Jackson Harper <jackson@ximian.com>
808 * plugin.cpp|h: Update signature for SetProperty
810 2009-06-05 Chris Toshok <toshok@ximian.com>
812 * plugin.cpp (PluginInstance::UrlNotify): only emit the 2104 error
813 if the network failure was on the XAP itself. move the
814 Deployment::SetCurrent call a little earlier, and make the splash
815 screen download error async as well.
817 2009-06-04 Chris Toshok <toshok@ximian.com>
819 * plugin.cpp (PluginInstance::MonoGetPropertyFromName): new
820 method, look up the property on a type and print a nice warning if
822 (surface_network_error_tickcall): we can't emit the network error
823 from inside UrlNotify, since the handler can remove the plugin at
824 that point, and firefox takes a shit all over itself in that case.
825 (PluginInstance::UrlNotify): if there was a network error
826 downloading the xap, add the tick call to emit the proper error.
827 (PluginInstance::InitializePluginAppDomain): look up the
828 MoonException type and some properties to use when accessing it.
829 (PluginInstance::ManagedExceptionToErrorEventArgs): convert from a
830 managed exception to an ErrorEventArgs which we'll then emit
831 through the surface's ErrorEvent.
832 (PluginInstance::ManagedCreateXamlLoader): check for an exception,
833 and if there was one, emit the error on the surface.
834 (PluginInstance::ManagedInitializeDeployment): same.
835 (PluginInstance::ManagedDestroyApplication): same.
837 * plugin-class.cpp (EventListenerProxy::proxy_listener_to_javascript):
838 set the current deployment earlier. definitely needs to be set
839 before we call the callback :)
841 2009-06-02 Geoff Norton <gnorton@novell.com>
843 * plugin.cpp: Ensure we dont start downloading the source until we have
844 the splash. If the splash 404's we need to emit a 2108.
846 2009-06-02 Rolf Bjarne Kvinge <RKvinge@novell.com>
848 * cbinding.h: Regenerated
850 2009-06-01 Chris Toshok <toshok@ximian.com>
852 * plugin-class.cpp (MoonlightContentObject::Invoke): for
853 createFromXaml make sure we call LoadVM on the XamlLoader so we
854 can access managed types (like StackPanel).
856 2009-06-01 Chris Toshok <toshok@ximian.com>
858 * plugin-class.cpp|h: add MoonlightThickness* and add
859 Type::THICKNESS to value_to_variant. this fixes a few instances
860 in the tests where they're accessing margins from javascript.
862 2009-05-28 Jeffrey Stedfast <fejj@novell.com>
864 * plugin-utils.cpp: New source file which has utility functions
865 such as check_arg_list().
867 * plugin-class.h.in: Removed static impl of check_arg_list() -
868 this was causing compile warnings about unused functions and also
869 bloating up the binary ;-)
871 2009-05-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
873 * plugin.cpp: Sprinkle SetCurrentDeployment.
875 2009-05-27 Geoff Norton <gnorton@novell.com>
877 * plugin.cpp|h: Ensure we only emit the source progress/completed events
878 on the source, and not on the source splash ourself. Also, we need to make
879 sure we have a toplevel before emitting otherwise sender is null going to the
882 2009-05-27 Geoff Norton <gnorton@novell.com>
885 * plugin-class.cpp|h|h.in: Support the splash screen progress/completed events
888 2009-05-27 Geoff Norton <gnorton@novell.com>
890 * plugin.cpp: Avoid a double-delete of the splash xaml_loader
892 2009-05-27 Geoff Norton <gnorton@novell.com>
894 * plugin.cpp|h: Support splash screen.
896 2009-05-27 Geoff Norton <gnorton@novell.com>
898 * plugin.cpp|h: Ensure we spin up a default application for the xaml
899 case as well since <Canvas><StackPanel /></Canvas> works.
901 2009-05-27 Rolf Bjarne Kvinge <RKvinge@novell.com>
903 * plugin-downloader.h:
904 * plugin-downloader.cpp: Add support for retrieving response headers
907 * cbinding.h: Regenerated.
909 * browser-bridge.h: Updated according to downloader API changes.
911 * plugin.mdp: Updated.
913 2009-05-27 Rolf Bjarne Kvinge <RKvinge@novell.com>
915 * plugin-downloader.cpp: Don't hard code the verb.
917 2009-05-25 Chris Toshok <toshok@ximian.com>
919 * plugin-class.cpp (value_to_variant): robustify this and support
920 NULL Value*'s. Fixes crash in DRT #485.
922 2009-05-23 Chris Toshok <toshok@ximian.com>
924 * plugin-class.cpp, plugin-class.h: add a Control plugin class,
925 which exposes "focus". Should get DRT #250 a little further (and
926 keep it from timing out.)
928 2009-05-21 Rusty Howell <rhowell@novell.com>
930 * Makefile.am: Changed install dir to DIST_SUBDIRS for make dist
932 2009-05-21 Andreia Gaita <avidigal@novell.com>
934 * plugin-class.cpp: disable throwing js exceptions on html_object_invoke
935 and html_object_get_property, the exceptions get stuck on firefox and
936 any subsequent eval call will fail
938 2009-05-21 Rolf Bjarne Kvinge <RKvinge@novell.com>
940 * npstream-request.cpp: Fix typo.
942 2009-05-20 Rusty Howell <rhowell@novell.com>
944 * Makefile.am: Added install dir to SUBDIRS for 'make dist'
946 2009-05-20 Larry Ewing <lewing@novell.com>
948 * plugin.cpp (TryLoad): update the error string for 2021 to match
951 2009-05-19 Rolf Bjarne Kvinge <RKvinge@novell.com>
953 * cbinding.cpp|h: Regenerated.
955 2009-05-18 Rolf Bjarne Kvinge <RKvinge@novell.com>
957 * cbinding.cpp|h: Regenerated.
959 2009-05-18 Rolf Bjarne Kvinge <RKvinge@novell.com>
961 * cbinding.cpp|h: Regenerated.
963 2009-05-18 Rolf Bjarne Kvinge <RKvinge@novell.com>
965 * cbinding.cpp|h: Regenerated.
967 2009-05-18 Rolf Bjarne Kvinge <RKvinge@novell.com>
969 * plugin.h: Add a GetBrowserHost which returns a void* to avoid
970 putting NPObject/mozilla headers in the c bindings.
972 * cbinding.cpp|cbinding.h: Regenerated.
974 2009-05-17 Andreia Gaita <avidigal@novell.com>
976 * plugin-class.cpp: If a managed method called from js returns
977 void, create a valid NPVariant_Void return object
979 2009-05-15 Chris Toshok <toshok@ximian.com>
981 * plugin-class.cpp (MoonlightCollectionObject::Invoke): for
982 getItem on a resource dictionary, a string parameter (the key)
985 2009-05-13 Jackson Harper <jackson@ximian.com>
987 * plugin.cpp|h: Update params for SetProperty.
989 2009-05-12 Larry Ewing <lewing@novell.com>
991 * plugin-debug.cpp (reflect_value): add output for point.
993 2009-05-11 Larry Ewing <lewing@novell.com>
995 * plugin-class.cpp: remove UpdateLayout now that it is
998 2009-05-09 Andreia Gaita <avidigal@novell.com>
1000 * plugin-class.h.in, plugin-class.g.cpp.in: Added, used to
1001 generate Moonlight* classes and MoonId types, for automatic
1002 js binding with the GenerateJSBinding annotation.
1003 plugin-class.cpp has the bulk of the code, plugin-class.g.cpp
1004 has the autogenerated implementations.
1006 * plugin-class.[h|g.cpp]: regen.
1008 * plugin-class.cpp: moved some definitions to the header file,
1009 so .g.cpp can use them too. Added uielement class support, which
1010 is autogenerated on plugin-class.g.cpp. Removed CaptureMouse and
1011 ReleaseMouseCapture, it's handled on uielement on .g.cpp now.
1013 * Makefile.am: Added plugin-class.g.cpp
1015 2009-05-03 Chris Toshok <toshok@ximian.com>
1017 * plugin-class.h|.cpp (MoonlightDependencyObjectObject::Invoke):
1018 add UpdateLayout() as a JS callable function. fixable a JS error
1021 2009-05-02 Chris Toshok <toshok@ximian.com>
1023 * plugin-proxy.cpp (load): add RTLD_GLOBAL to real_plugin,
1024 otherwise we can't call mono_config_parse_memory from the plugin
1025 loader (since it doesn't link to libmono directly).
1027 2009-05-02 Rusty Howell <rhowell@novell.com>
1029 * plugin-proxy.cpp: Detect which libmoonloader we are (xpi or sys)
1030 and dlopen accordingly
1031 * moonlight.h: Remove PLUGIN_INSTALL
1032 * plugin-proxy-xpi.cpp: removed from svn
1033 * Makefile.am: Added check in user-plugin target.
1034 Changed source of libmoonloader back to plugin-proxy.cpp
1036 2009-04-22 Chris Toshok <toshok@ximian.com>
1038 * moonlight.h: moon the #include <glib.h> here from windowless so
1039 we can guarantee glibconfig.h has been included before we check
1042 * windowless.h: drop the include glib.h from here.
1044 2009-04-22 Rusty Howell <rhowell@novell.com>
1046 * make builds separate binaries for xpi
1047 libmoonloaderxpi, libmoonpluginxpi
1049 2009-04-20 Chris Toshok <toshok@ximian.com>
1051 * plugin.cpp (plugin_menu_about): use a preview link for preview
1054 2009-04-18 Chris Toshok <toshok@ximian.com>
1056 * plugin-class.cpp (value_to_variant): add support for FontFamily.
1058 2009-04-18 Chris Toshok <toshok@ximian.com>
1060 * plugin-class.cpp (MoonlightStoryboardObject::Invoke): track
1063 2009-04-17 Chris Toshok <toshok@ximian.com>
1065 * plugin.h|.cpp: remove loaded_xap field, and use
1066 GetDeployment()->IsLoadedFromXap(). Also, switch from
1067 Surface::SetXapLocation to Deployment::SetXapLocation.
1069 2009-04-16 Jeffrey Stedfast <fejj@novell.com>
1071 * plugin-debug.cpp (reflect_value): Hush formatter warnings.
1073 2009-04-16 Geoff Norton <gnorton@novell.com>
1075 * plugin-debug.cpp: Avoid having a null deployment in remove_destroyed.
1077 2009-04-16 Geoff Norton <gnorton@novell.com>
1079 * plugin-debug.cpp: Avoid having a null deployment in selection_changed.
1081 2009-04-15 Rolf Bjarne Kvinge <RKvinge@novell.com>
1085 * plugin-class.cpp: Implement some missing js properties.
1086 Almost completely fixes MS DRT #21.
1088 2009-04-15 Stephane Delcroix <sdelcroix@novell.com>
1090 * plugin.cpp (PluginInstance::LoadXAP): set the surface xap_location
1092 2009-04-14 Rolf Bjarne Kvinge <RKvinge@novell.com>
1096 * plugin-class.h: Added @GeneratePInvoke to all methods used
1097 in managed code. For C++ methods also generate the
1098 corresponding C method.
1101 * cbinding.cpp: Regenerated.
1103 2009-04-10 Jackson Harper <jackson@ximian.com>
1105 * plugin-class.cpp: Instead of unreffing just delete the value.
1107 2009-04-09 Jackson Harper <jackson@ximian.com>
1109 * plugin.cpp: Updated method names.
1110 * plugin-class.cpp: Update now that we are getting Value*s from
1113 2009-04-08 Geoff Norton <gnorton@novell.com>
1115 * plugin-debug.cpp: Ensure we set the Deployment here too to avoid
1116 crashes in the XAML window.
1118 2009-04-08 Jeffrey Stedfast <fejj@novell.com>
1120 * plugin*.cpp|h: Use glib integer types rather than stdint.h types
1121 especially see as how we aren't including stdint.h anywhere.
1123 * plugin-class.cpp: Updated for slight Downloader API changes.
1125 2009-04-07 Larry Ewing <lewing@novell.com>
1127 * plugin-debug.cpp (reflect_value): Fix the markup for GRIDLENGTH
1130 2009-04-06 Geoff Norton <gnorton@novell.com>
1132 * plugin-debug.cpp: Ensure we set our deployment before poking in
1135 2009-04-03 Sebastien Pouliot <sebastien@ximian.com>
1137 * plugin.cpp|h: Parse enablehtmlaccess and allowhtmlpopupwindow
1138 from the plugin properties. Add missing properties and C bindings.
1140 2009-04-01 Stephane Delcroix <sdelcroix@novell.com>
1142 * plugin-class.cpp: use Uri::ToString instead of originalstring.
1143 BitmapImage::GetUriSource never returns a NULL
1145 2009-04-01 Andreia Gaita <avidigal@novell.com>
1147 * plugin-class.[cpp|h]: move some declarations to the header
1148 so that the bridge code can use it too.
1150 2009-03-31 Jb Evain <jbevain@novell.com>
1152 * plugin-class.h: add key_code and char_code parameters
1153 to callback_dom_event.
1155 2009-03-30 Chris Toshok <toshok@ximian.com>
1157 * plugin.cpp: #include timemanager.h
1159 2009-03-29 Geoff Norton <gnorton@novell.com>
1161 * plugin-class.cpp: Ensure that the ImageSource we get is a BitmapImage
1162 before treating it as such.
1164 2009-03-29 Geoff Norton <gnorton@novell.com>
1166 * plugin-class.cpp: Image.Source is always a BitmapImage
1168 2009-03-28 Sebastien Pouliot <sebastien@ximian.com>
1170 * plugin.cpp|h: Export a new function (get_plugin_dir) that returns
1171 the location of the plugin.
1172 * plugin-glue.cpp: Initialize the runtime using the plugin location.
1174 2009-03-27 Andreia Gaita <avidigal@novell.com>
1176 * plugin.cpp: Don't release return from Eval if they're npobj,
1177 client code might reference it later
1179 2009-03-25 Chris Toshok <toshok@ximian.com>
1181 * plugin.cpp (PluginInstance::StreamAsFile): use uri accessors.
1183 * plugin-class.cpp (MoonlightImageBrushObject::GetProperty): same.
1184 (MoonlightImageObject::GetProperty): same.
1186 * plugin-debug.cpp (get_common_prefix_len): same.
1187 (save_callback): same.
1189 2009-03-25 Jeffrey Stedfast <fejj@novell.com>
1191 * plugin-class.cpp (MoonlightObjectType::LookupName): No longer
1192 takes an include_sl2 argument.
1194 * plugin.cpp (PluginInstance::StreamAsFile): We no longer have
1195 IsSilverlight2() so check the filename extension (fixed to not be
1196 a gross hack). Also got rid of #if PLUGIN_2_0 confusion, we are no
1197 longer supporting a 1.0-only build.
1198 (PluginInstance::CreateWindow): Surface.ctor() no longer takes a
1199 silverlight2 argument.
1201 * plugin-debug.cpp (reflect_value): Don't crash when the
1202 DependencyObject is null.
1204 2009-03-25 Rolf Bjarne Kvinge <RKvinge@novell.com>
1206 * plugin-class.cpp: Move IsVersionSupported implementation to
1209 2009-03-25 Rolf Bjarne Kvinge <RKvinge@novell.com>
1214 * cbinding.cpp: Include generated files in the build.
1216 2009-03-23 Chris Toshok <toshok@ximian.com>
1218 * plugin-class.cpp (value_to_variant): getting a Uri in the plugin
1221 2009-03-21 Andreia Gaita <avidigal@novell.com>
1223 * plugin-class.[h|cpp]: Add html_object_invoke_self
1224 (same as _invoke but with no name arg), that uses
1225 NPN_InvokeDefault instead.
1227 2009-03-21 Chris Toshok <toshok@ximian.com>
1229 * plugin-class.cpp (MoonlightImageObject::GetProperty):
1230 source->GetUriSource() returns a Uri, not a string.
1231 (MoonlightImageBrushObject::GetProperty): same.
1233 2009-03-13 Rolf Bjarne Kvinge <RKvinge@novell.com>
1235 * plugin-downloader.h:
1236 * plugin-downloader.cpp: PluginDownloader: follow refcounting
1237 laws and ref/unref the response.This fixes a crash where
1238 firefox would unref FFxDownloaderResponse causing its
1239 destruction, and then PluginDownloader would attempt to use
1240 (abort) that response later on.
1242 2009-03-10 Chris Toshok <toshok@ximian.com>
1244 * plugin-class.cpp (MoonlightDependencyObjectObject::Invoke): for
1245 DumpNameScope, s/LogicalParent/Parent.
1246 (MoonlightDependencyObjectObject::Invoke): for GetParent, make
1247 sure the dob is a frameworkelement subclass, and call
1248 GetLogicalParent on it.
1250 2009-03-10 Jackson Harper <jackson@ximian.com>
1252 * plugin-debug.cpp: COnsistentify method name.
1254 2009-03-03 Jackson Harper <jackson@ximian.com>
1256 * plugin.cpp|h: Update signature of SetProperty.
1258 2009-03-02 Rolf Bjarne Kvinge <RKvinge@novell.com>
1260 * plugin.cpp: Add informational printf.
1262 2009-02-23 Chris Toshok <toshok@ximian.com>
1264 * plugin-class.cpp (MoonlightContentObject::Invoke): add better
1265 error messages on createFromXaml.
1267 2009-02-23 Andreia Gaita <avidigal@novell.com>
1269 * plugin-class.[cpp|h]: Add html_object_has_property so managed code
1270 can check for properties before trying to get them. Free scriptable
1273 2009-02-22 Larry Ewing <lewing@novell.com>
1276 * plugin.cpp, plugin.h: add extra padding to our NPBool values so
1277 that buggy browsers don't smash the stack.
1279 2009-02-19 Andreia Gaita <avidigal@novell.com>
1281 * plugin-class.[cpp|h]: On [Get|Set]Property for scriptable objects,
1282 use the property name instead of the handle to call back to the
1283 property. This way we can reuse the virtual functions on
1284 ScriptObject, and it's one less GCHandle walking around.
1285 Fix exception define to have a block.
1287 2009-02-19 Andreia Gaita <avidigal@novell.com>
1289 * plugin-class.cpp: Fix casing lookup
1291 2009-02-19 Andreia Gaita <avidigal@novell.com>
1293 * plugin.cpp: Implement returning values from Evaluate
1294 * plugin-class.[cpp|h]: Expose variant_to_value so Evaluate can
1295 use it to convert values from js
1297 2009-02-17 Jeffrey Stedfast <fejj@novell.com>
1299 * plugin-debug.cpp: Pass true as the only_changed argument to
1300 DO::GetProperties().
1302 2009-02-17 Rolf Bjarne Kvinge <RKvinge@novell.com>
1304 * plugin-class.cpp: Remove case for MediaErrorEventArgs.
1306 2009-02-17 Rolf Bjarne Kvinge <RKvinge@novell.com>
1308 * plugin-class.cpp: EventListenerProxy: set our object type
1311 2009-02-16 Andreia Gaita <avidigal@novell.com>
1313 * plugin-class.cpp: Check return value on GetProperty and throw a js
1314 exception if it wasn't found. Don't lowercase names, scriptable objects
1317 2009-02-16 Geoff Norton <gnorton@novell.com>
1319 * plugin-class.cpp|h: Image(Brush).(Image)Source is the UriSource of the
1320 underlying ImageSource in the javascript API.
1322 2009-02-14 Jeffrey Stedfast <fejj@novell.com>
1324 * plugin-debug.cpp (reflect_dependency_object_in_tree): Updated to
1325 use DO::GetProperties() instead so that we could get attached
1328 2009-02-14 Jeffrey Stedfast <fejj@novell.com>
1330 * plugin-debug.cpp (reflect_dependency_object_in_tree): Fixed up
1331 to use Type::GetProperties().
1333 2009-02-11 Andreia Gaita <avidigal@novell.com>
1335 * plugin-class.cpp: lowercase all method, property and event name
1336 references, they're all added in lowercase
1338 2009-02-11 Andreia Gaita <avidigal@novell.com>
1340 * plugin-class.cpp (html_object_invoke): Check method invoke return
1341 value and throw an exception if it fails. Add an alternate "static"
1342 version of the js exception throwing macro.
1344 2009-02-11 Rolf Bjarne Kvinge <RKvinge@novell.com>
1346 * plugin-class.cpp: Change our static DependencyProperty
1347 backing fields to store an integer id instead of an
1348 instance to a DependencyProperty. This way we can have true
1349 per-deployment dependency properties.
1351 2009-02-10 Jackson Harper <jackson@ximian.com>
1353 * plugin.cpp|h: Added a param to the SetProperty callback, plugin
1354 doesn't need to use it for anything.
1356 2009-02-05 Geoff Norton <gnorton@novell.com>
1358 * plugin.cpp: We cannot safely null the deployment here as NPN_GetURLNotify
1359 can sync invoke NPN_URLNotify in the same tick, and we might need the deployment
1362 2009-02-05 Jeffrey Stedfast <fejj@novell.com>
1364 * plugin-class.cpp (MoonlightDependencyObjectObject::GetProperty):
1365 Updated for ReadLocalValue method rename.
1367 * plugin-downloader.cpp (plugin_downloader_create_webrequest):
1368 Don't crash if we don't have a browser bridge.
1370 2009-02-04 Jackson Harper <jackson@ximian.com>
1372 * plugin.cpp|h: Updated xaml signatures.
1374 2009-02-04 Andreia Gaita <avidigal@novell.com>
1376 * plugin-class.[cpp|h]: Change Invoke call to take a name parameter,
1377 so that methods can be called by name as well.
1379 2009-02-03 Rolf Bjarne Kvinge <RKvinge@novell.com>
1381 * plugin.cpp: PluginInstance::UrlNotify: We need to set the
1382 current deployment here.
1384 * plugin-glue.cpp: NPP_Destroy: We need to set the current
1387 2009-02-03 Rolf Bjarne Kvinge <RKvinge@novell.com>
1389 * plugin-class.cpp: Use Type::GetName () instead of accessing
1392 2009-02-03 Fernando Herrera <fherrera@novell.com>
1394 * plugin.cpp: moonlight_flags is 64bits now.
1396 2009-01-30 Rolf Bjarne Kvinge <RKvinge@novell.com>
1398 * plugin-class.cpp: proxy_listener_to_javascript: we need to set the
1399 current deployment after emitting an event to javascript.
1401 2009-01-29 Geoff Norton <gnorton@novell.com>
1404 * plugin-class.cpp: Ensure that we set the correct context when dtoring our
1405 plugin and its js-object instances.
1407 2009-01-29 Geoff Norton <gnorton@novell.com>
1409 * plugin.cpp: When there are 2 plugins on a page, StreamAsFile can be called
1410 after the deployment has been changed away from this instance. Ensure we
1411 set our deployment properly in this case.
1413 2009-01-29 Geoff Norton <gnorton@novell.com>
1415 * windowless.cpp: Store our creation deployment so we can emit events
1416 in the right deployment.
1418 2009-01-29 Geoff Norton <gnorton@novell.com>
1420 * plugin.cpp: Register the surface with the Deployment. Start cleaning
1421 up all the places we pass this around too. (More to come)
1423 2009-01-29 Geoff Norton <gnorton@novell.com>
1425 * plugin.cpp: Ensure that we create our Surface and SystemTimeSource
1426 in the correct deployment.
1428 2009-01-29 Larry Ewing <lewing@novell.com>
1430 * plugin-debug.cpp (reflect_dependency_object_in_tree): restrict
1431 the VisualChild expansion away from Panel and border to keep from
1432 slowing down the tree that Badly.
1434 2009-01-29 Sebastien Pouliot <sebastien@ximian.com>
1436 * plugin-class.cpp: Only call NPN_ReleaseObject on callback
1437 if the object is *not* a string.
1440 2009-01-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
1442 * plugin.cpp: ~PluginInstance: Call Dispose on the deployment and the
1443 surface. PluginXamlLoader::TryLoad: ref any error arguments we emit
1446 2009-01-28 Larry Ewing <lewing@novell.com>
1448 * plugin-debug.cpp: show VisualChild on all FEs so that we can
1449 navigate into ContentPresenter.
1451 2009-01-28 Larry Ewing <lewing@novell.com>
1453 * plugin-debug.cpp (reflect_value): add more value types.
1455 2009-01-28 Sebastien Pouliot <sebastien@ximian.com>
1457 * plugin-class.cpp: MediaElementState is used as a string inside
1458 Javascript applications but it's an enum (in the managed world).
1460 2009-01-28 Chris Toshok <toshok@ximian.com>
1462 * plugin-debug.cpp (selection_changed): fix crash.
1463 (reflect_dependency_object_in_tree): add Control handling - put a
1464 "Visual Child" under it that gives the subtree.
1466 * plugin-class.cpp (value_to_variant): not sure what to do here
1467 for UINT32's, since NPVariants only have INT32...
1469 2009-01-27 Rolf Bjarne Kvinge <RKvinge@novell.com>
1471 * plugin.cpp: Call Deployment::Initialize in runtime_init.
1473 2009-01-27 Geoff Norton <gnorton@novell.com>
1475 * plugin.cpp: Use the static overload here.
1477 2009-01-26 Geoff Norton <gnorton@novell.com>
1479 * plugin.cpp: Ensure we're in the right deployment/domain before we
1480 start poking around in managed land.
1482 2009-01-26 Geoff Norton <gnorton@novell.com>
1484 * plugin.cpp|h: Clean this stuff up now that our book-keeper is
1485 Deployment* not internally on MonoDomain*.
1486 * plugin-class.cpp: Ensure that we set the tls slot in Deployment
1487 to the Deployment* this plugin owns before transitioning into libmoon
1489 2009-01-26 Jackson Harper <jackson@ximian.com>
1491 * plugin.cpp|h: SourceLocation for Sl2 xaps is the .xap url.
1493 2009-01-26 Geoff Norton <gnorton@novell.com>
1495 * plugin.cpp|h: We now go thru Deployment to warm up the application.
1497 2009-01-25 Geoff Norton <gnorton@novell.com>
1499 * plugin.cpp: We initialize a Deployment for every plugin regardless
1500 of wether its 1.0 or 2.0 context now.
1502 2009-01-25 Chris Toshok <toshok@ximian.com>
1504 * plugin.cpp (PluginInstance::CreatePluginAppDomain): create/set
1505 the deployment for this plugin before we return, so it's set
1506 before Application.CreateFromXap is called.
1508 2009-01-23 Geoff Norton <gnorton@novell.com>
1510 * plugin.cpp: Force keep-delegates on in SVN (only if a custom
1511 MONO_DEBUG doesn't already exist in the environment)
1513 2009-01-23 Rolf Bjarne Kvinge <RKvinge@novell.com>
1515 * plugin-debug.cpp: Integrate munxap into our debugging experience.
1517 2009-01-21 Jb Evain <jbevain@novell.com>
1519 * plugin.cpp|h: remove PluginInstance::GetBrowserInformation
1520 and ::EvaluateToVariant as well as
1521 plugin_instance_get_browser_information which is now implemented
1522 in the managed code.
1524 2009-01-21 Andreia Gaita <avidigal@novell.com>
1526 * plugin-class.[h|cpp]: Add support for registering objects as a
1527 tree. fix casing on lookups.
1529 2009-01-21 Sebastien Pouliot <sebastien@ximian.com>
1531 * plugin-class.cpp: Process the difference between SL1/2 default
1532 values on a case-by-case basis. Right now this (re-fix) UIElement::
1533 RenderTransformProperty (wrt null) and FrameworkElement::[Height|
1534 Width]Property (wrt NaN).
1536 2009-01-20 Geoff Norton <gnorton@novell.com>
1538 * plugin-class.cpp: Ensure that we convert doubles in the ASCII
1539 locale, as we attempt to parse in this locale.
1543 2009-01-20 Sebastien Pouliot <sebastien@ximian.com>
1545 * plugin-class.cpp: Call GetLocalValue on DO so we don't provide the
1546 default values used in SL2 to SL1 applications. This fix Fox
1547 http://www.silverlight.net/fox/ while allowing to use the (non-null)
1548 default value for UIElement::RenderTransformProperty
1550 2009-01-19 Rolf Bjarne Kvinge <RKvinge@novell.com>
1552 * plugin.mdp: Updated.
1554 2009-01-18 Geoff Norton <gnorton@novell.com>
1556 * plugin-downloader.cpp: Avoid crashing when the bridge isn't available
1558 2009-01-18 Larry Ewing <lewing@novell.com>
1560 * plugin-debug.cpp (reflect_foreach_current_value): don't crash if
1561 we can't lookup the owning type.
1563 2009-01-16 Jb Evain <jbevain@novell.com>
1565 * plugin-class.cpp: move STRDUP_FROM_VARIANT and
1566 STRLEN_FROM_VARIANT to plugin.h
1567 * plugin.h: also define PluginInstance::EvaluateToVariant
1568 * plugin.cpp: implement PluginInstance::GetBrowserInformation
1569 and PluginInstance::EvaluateToVariant.
1571 2009-01-16 Jb Evain <jbevain@novell.com>
1573 * plugin.cpp|h: remove PluginInstance::LoadUrl.
1575 2009-01-15 Jackson Harper <jackson@ximian.com>
1577 * plugin.cpp|h: Updated signature for the xaml callbacks.
1579 2009-01-13 Geoff Norton <gnorton@novell.com>
1581 * plugin.cpp: Fix our MonoDomain cleanup (hopefully) once and for all.
1583 2009-01-13 Geoff Norton <gnorton@novell.com>
1585 * plugin.cpp: Don't free domain's until we fix the problems on the
1586 mono side associated with that.
1588 2009-01-13 Geoff Norton <gnorton@novell.com>
1590 * plugin.cpp: Ensure we finalize the domain before freeing it.
1592 2009-01-13 Jackson Harper <jackson@ximian.com>
1594 * plugin.cpp|h: Updated xaml callback sig.
1596 2009-01-13 Jb Evain <jbevain@novell.com>
1598 * plugin.cpp: specify System.Windows's fullname when loading it,
1599 to avoid loading a different version, such as the desktop one.
1601 2009-01-13 Geoff Norton <gnorton@novell.com>
1603 * plugin.cpp: Update to build appdomains properly isolated for each
1604 PluginInstance. Also change the location resolution of System.Windows
1607 2009-01-13 Geoff Noton <gnorton@novell.com>
1609 * plugin.cpp: Find System.Windows.dll a slightly different way
1610 so that we can search in MONO_PATH for it and not just the installed
1611 prefix. Fixes test runs on the buildbots.
1613 2009-01-12 Jb Evain <jbevain@novell.com>
1615 * plugin.h, plugin.cpp: remove the need for a moonlight.exe
1616 launcher by calling directly methods in System.Windows. We're
1617 getting the System.Windows relative to the moonlight mscorlib.dll.
1618 * Makefile.am: remove references to moonlight.cs and moonlight.exe.
1619 * moonlight.cs: delete.
1621 2009-01-12 Geoff Norton <gnorton@novell.com>
1623 * plugin.cpp: Update to reflect changes in the mono embedding API.
1625 2009-01-12 Rolf Bjarne Kvinge <RKvinge@novell.com>
1627 * plugin.cpp: Unconfuse a bit: initParams is a char*, so use a boolean
1628 value to initialize it.
1630 2009-01-10 Jeffrey Stedfast <fejj@novell.com>
1632 * plugin.cpp (moonlight_authors): Updated.
1634 2009-01-08 Jeffrey Stedfast <fejj@novell.com>
1636 * plugin-class.cpp (MoonlightKeyEventArgsObject::GetProperty):
1637 Updated for method name changes.
1639 2008-12-19 Rolf Bjarne Kvinge <RKvinge@novell.com>
1641 * plugin.mdp: Updated.
1643 2008-12-18 Chris Toshok <toshok@ximian.com>
1645 * plugin.h, plugin.cpp: rework the app domain stuff slightly. we
1646 now only call mono_jit_init_version once (and don't attempt to
1647 unload that room AppDomain), and then call mono_domain_create from
1648 each plugin instance (and we *do* free that AppDomain).
1650 2008-12-17 Chris Toshok <toshok@ximian.com>
1652 * plugin.cpp (PluginInstance::MonoInit): turns out this wasn't the
1653 domain name, but the version. it needs to be "moonlight".
1655 * moonlight.cs: remove reference to Helper, as this was only used
1656 to print out the Mono.Moonlight.dll fully qualified name.
1658 * Makefile.am: remove references to Mono.Moonlight.dll.
1660 2008-12-17 Chris Toshok <toshok@ximian.com>
1662 * plugin.cpp (PluginInstance::MonoInit): supply a function pointer
1663 that actually exists to dladdr when PLUGIN_INSTALL is defined.
1664 Also, use a similar app domain name ("moonlight-%p" where %p is
1665 the PluginInstance*).
1667 2008-12-17 Geoff Norton <gnorton@novell.com>
1669 * plugin.cpp: gtk_plug_new takes a GdkNativeWindow which has
1670 differing precision on amd64 and i586.
1672 2008-12-16 Chris Toshok <toshok@ximian.com>
1674 * plugin.h, plugin.cpp: move all the stuff from mono.cpp (and
1675 moon-mono.h) here. Remove all global variables and make them
1676 instance variables on PluginInstance (of particular importance is
1677 the AppDomain). This means every PluginInstance gets their own
1678 app domain, their own boot assembly, etc, and we can drop all the
1679 AppDomain stuff from moonlight.cs.
1681 * mono.cpp, moon-mono.h: nuke.
1683 * plugin-glue.cpp: remove include of moon-mono.h
1685 * moonlight.cs: remove all the AppDomain specific stuff here - the
1686 unload handler is gone (replaced by a mono_domain_free call in
1687 plugin.cpp), the Helper calls to create instances and unwrap them
1688 has been replaced with type lookups + Activator.CreateInstance.
1690 2008-12-12 Rolf Bjarne Kvinge <RKvinge@novell.com>
1692 * plugin.cpp: SetSource: in case we already have a surface, detach
1693 downloaders from it right away, this should fix the random failures
1696 2008-12-03 Larry Ewing <lewing@novell.com>
1698 * plugin.cpp: clean up source setting so that the property is
1699 always set and we don't accidentally schedule more than one idle
1702 2008-12-03 Rolf Bjarne Kvinge <RKvinge@novell.com>
1704 * browser-bridge.h, plugin-class.cpp, plugin-class.h: Rework event
1705 attaching/detaching a bit: html_object_attach_event now takes a
1706 context argument, which is passed to the event callback.
1707 ff2/3-dom.cpp: After removing the event listener we delete the
1710 2008-12-02 Chris Toshok <toshok@ximian.com>
1712 * plugin-class.cpp (MoonlightScriptControlObject::Invoke): fix
1713 isVersionSupported - i don't like knocking off 2.0 except when
1714 PLUGIN_SL_2_0 is enabled, but it seems like if people are checking
1715 2.0, they'll assume managed code.
1717 2008-11-26 Jackson Harper <jackson@ximian.com>
1719 * plugin.cpp|h: The parser no longer requires assemblies to be
1720 downloaded, so the mapping stuff is commented out.
1721 - The parser now treats events as properties, so we use
1722 SetProperty instead of HookupEvent.
1724 2008-11-22 Geoff Norton <gnorton@novell.com>
1726 * windowless.cpp: Revert
1727 * windowless.h: Include glib.h and moonlight.h so that GDK_NATIVE_WINDOW_POINTER
1728 is defined and GdkNativeWindow gets its correct width of 8 bytes to prevent
1731 2008-11-21 Alp Toker <alp@nuanti.com>
1733 * plugin-class.cpp: Fix 'DownloadProgressCanged' typo in DOM event
1734 names leading to dropped events.
1736 2008-11-21 Rolf Bjarne Kvinge <RKvinge@novell.com>
1738 * plugin-class.cpp: Implement variant<->value conversion for NPObjects.
1739 * plugin.h, plugin.cpp: Added plugin_instance_get_id and
1740 plugin_instance_get_host.
1742 2008-11-10 Jeffrey Stedfast <fejj@novell.com>
1746 * plugin-debug.cpp (plugin_debug): Connect to surface
1747 DestroyedEvent to close the debug window so that it won't crash
1748 when trying to use it once the site has been navigated away from.
1750 2008-11-06 Stephane Delcroix <sdelcroix@novell.com>
1753 * plugin-downloader.h|cpp:
1754 * firefox/browser-http.inc: pass the uri with the finished handler
1755 for further validation. r:gnorton
1757 2008-10-31 Chris Toshok <toshok@ximian.com>
1759 * plugin.cpp (PluginInstance::CreateWindow): call SetTransparent
1760 on moon_window instead of the surface.
1762 * windowless.cpp (MoonWindowless::HandleEvent): pass
1763 GetTransparent() to Surface::PaintToDrawable here.
1765 2008-10-23 Rolf Bjarne Kvinge <RKvinge@novell.com>
1767 * plugin.cpp: Implement EnableRedrawRegions by linking them to
1768 RUNTIME_INIT_SHOW_EXPOSE.
1770 2008-10-22 Rolf Bjarne Kvinge <RKvinge@novell.com>
1772 * plugin.cpp: Add a row to the Properties dialog informing about the
1775 2008-10-21 Chris Toshok <toshok@ximian.com>
1777 * plugin-class.cpp, plugin-class.h: event listener leak fix v3.0
1779 2008-10-21 Chris Toshok <toshok@ximian.com>
1781 * plugin-class.cpp, plugin-class.h: since I removed the value_dtor
1782 from xaml_proxies, we need to iterate over it and destroy the
1783 proxies manually now. Also, disavow ownership of proxies when we
1786 2008-10-20 Chris Toshok <toshok@ximian.com>
1788 * plugin-class.cpp (MoonlightObject::ClearXamlEventProxy): this
1789 method cannot call RemoveHandler on the proxy. instead, we return
1790 the proxy and our callers can do it
1791 (MoonlightScriptControlObject::SetProperty): here
1792 (MoonlightContentObject::SetProperty): here
1793 (MoonlightDependencyObjectObject::SetProperty): and here
1795 (EventListenerProxy::~EventListenerProxy): here we need to clear
1796 out the xaml/non-xaml proxy regardless of of whether or not it's a
1797 function. and make sure to call the right method depending on our
1800 2008-10-20 Chris Toshok <toshok@ximian.com>
1802 * plugin-class.cpp, plugin-class.h: Rather complicated lifecycle
1803 sorting out dealing with EventListenerProxies - there was a reason
1804 I was avoiding this :) - fixes bug 436060.
1806 1) if the target (the object on which the proxy calls AddHandler)
1807 is destroyed, the proxy should go away.
1809 2) if the owner (the MoonlightObject which created the proxy) is
1810 invalidated, the proxy should also be invalidated.
1812 3) if the owner is destroyed, the proxy should call RemoveHandler
1813 on the target. Note that we shouldn't destroy the proxy here -
1814 it'll be destroyed by virtue of the data_dtor stuff in
1817 * windowless.h, windowless.cpp: add support for experimental
1818 extension (see mozilla.org bug #430451) for windowless cursors.
1820 2008-10-20 Chris Toshok <toshok@ximian.com>
1822 * plugin-entry.cpp: get rid of all those CallNPP_* macro uses.
1823 just invoke the damn function.
1825 * plugin-proxy.cpp, moonlight.h: include npfunctions.h instead of npupp.h
1827 * plugin-glue.cpp, plugin.h: fix types.
1829 * moz-sdk/*: rev to a newer version of the moz-sdk files.
1831 2008-10-17 Rolf Bjarne Kvinge <RKvinge@novell.com>
1833 * plugin-class.cpp: proxy_listener_to_javascript: if calldata is null,
1834 only pass 1 argument to javascript. Fixes #426440 partially (mp3s
1835 are now downloaded).
1837 2008-10-16 Jb Evain <jbevain@novell.com>
1839 * moonlight.h: update SL2 mime type and runtime version.
1841 2008-10-14 Chris Toshok <toshok@ximian.com>
1843 * windowless.cpp (MoonWindowless::GetGdkWindow): get the
1844 netscapeWindow from our plugin id and return a new GdkWindow for
1847 2008-10-14 Stephane Delcroix <sdelcroix@novell.com>
1849 * windowless.h|.cpp: implements GetGdkWindow ()
1851 2008-10-08 Rolf Bjarne Kvinge <RKvinge@novell.com>
1853 * plugin-class.cpp: Fix statement order.
1855 2008-10-08 Rolf Bjarne Kvinge <RKvinge@novell.com>
1857 * plugin.cpp, plugin-class.cpp: Add some null checks, found while using
1858 firebug during plugin initialization.
1860 2008-10-07 Larry Ewing <lewing@novell.com>
1862 * windowless.cpp (MoonWindowless::HandleEvent): set the crossing
1863 mode of our synthetic events to normal.
1865 Fixes missing mouse leave events for InputHitTst.html (143)
1867 2008-10-07 Larry Ewing <lewing@novell.com>
1869 * plugin.cpp: remove a redundant call to SetSurface after creating
1870 a surface, it is handled in the ctor.
1872 Fixes the double render_cb registration problem we were seeing
1873 that caused high framerates and starvation problems.
1875 2008-10-03 Stephane Delcroix <sdelcroix@novell.com>
1877 * plugin.cpp: call SetPageURL even for embedded xaml. Makes fixture
1878 145 break, as expected.
1880 2008-09-30 Chris Toshok <toshok@ximian.com>
1882 * plugin-debug.cpp: more debug window work - it's sorted by name
1883 now, and add support for colors, timespans, and a few other types.
1885 2008-09-30 Chris Toshok <toshok@ximian.com>
1887 * plugin-debug.cpp: rework the Debug window entirely. no we don't
1888 just show children, but all property values.
1890 2008-09-28 Chris Toshok <toshok@ximian.com>
1893 plugin-class.cpp (MoonlightDependencyObjectObject::Invoke): add
1894 support for dumpNameScope.
1896 2008-09-26 Fernando Herrera <fherrera@novell.com>
1898 * mono.cpp: Fix compilation when configured with --with-debug=no
1900 2008-09-25 Jeffrey Stedfast <fejj@novell.com>
1902 * plugin.cpp (PluginInstance::PluginInstance): Initialize
1903 source_location to NULL - probably the source of the random
1904 crashes we were seeing on the buildbot earlier.
1906 2008-09-25 Stephane Delcroix <sdelcroix@novell.com>
1908 * plugin.cpp: update the Surface::source_location while setting
1909 the source_location.
1911 2008-09-25 Rolf Bjarne Kvinge <RKvinge@novell.com>
1913 * plugin.cpp: Show a item in the right-click menu allowing the ms
1914 codecs to be installed manually.
1916 2008-09-23 Chris Toshok <toshok@ximian.com>
1918 * plugin.cpp (PluginInstance::CreateWindow): plug some memory
1921 2008-09-19 Jeffrey Stedfast <fejj@novell.com>
1923 * plugin-class.cpp (MoonlightDependencyObjectObject::Invoke): For
1924 RemoveEventListener(), we don't need to look up the event_id more
1927 * plugin.cpp (PluginXamlLoader::HookupEvent): Call
1928 event_object_add_xaml_listener() instead of
1929 event_object_add_javascript_handler() since this is happening as a
1930 result of a listener being set in the XAML (which means it has to
1931 have a token value of 0).
1933 * plugin-class.cpp (EventListenerProxy::AddXamlHandler): New method.
1934 (event_object_add_xaml_listener): New.
1936 2008-09-19 Stephane Delcroix <sdelcroix@gnome.org>
1938 * plugin-class.cpp: use the nex dl->Open interface
1940 2008-09-16 Fernando Herrera <fherrera@novell.com>
1942 * Makefile.am: Add asf include dir
1944 2008-09-06 Chris Toshok <toshok@ximian.com>
1946 * plugin-class.cpp (MoonlightDependencyObjectObject::Invoke): look
1947 up the event here, the DO api is gone.
1948 (EventListenerProxy::~EventListenerProxy): use the DestroyedEvent
1949 id instead of "destroyed".
1951 2008-09-03 Larry Ewing <lewing@novell.com>
1953 * plugin-class.cpp, plugin-class.h: remove all the ControObject
1954 wrapper foo, Control has the properties we need and this looks
1957 2008-08-28 Chris Toshok <toshok@ximian.com>
1959 * plugin.cpp, plugin-class.cpp: track move from C-binding to C++
1960 for the xaml_create/hydrate_from* methods.
1962 2008-08-28 Larry Ewing <lewing@novell.com>
1964 Make a little progress in getting opera to load the plugin
1965 correctly in windowless mode. Opera is still only minimally
1966 functional but the plugin should come up now.
1968 * plugin.cpp, plugin.h: don't get the source url via GetProperty
1969 that causes operapluginwrapper to reenter and breaks everything.
1970 Handle a few other operapluginwrapper quirks and pass resizing
1971 through the window not the surface (so that UpdateWindowInfo will
1974 * plugin-glue.cpp: slightly rework the initialization, don't fixup
1975 errors just try to fail early.
1977 * windowless.cpp (MoonWindowless::UpdateWindowInfo): new function
1978 to copy the needed members of NPWindow that opera is prematurely
1981 2008-08-25 Chris Toshok <toshok@ximian.com>
1983 * plugin-class.cpp, windowless.cpp: track rect change.
1985 2008-08-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
1987 * plugin.cpp: Fix build.
1989 2008-08-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
1991 * plugin-downloader.cpp: Drastically enhance the debugging experience
1994 2008-08-18 Larry Ewing <lewing@novell.com>
1996 * plugin-class.cpp (MoonlightStrokeCollectionObject::Invoke):
1997 unref the collection we've created.
1999 2008-08-18 Geoff Norton <gnorton@novell.com>
2001 * plugin-class.cpp: Its possible that we dont have a surface in the
2002 OnError case at this point, guard against this.
2004 2008-08-18 Geoff Norton <gnorton@novell.com>
2006 * plugin.cpp: Ensure we dont set object.Source to a data mime-type value.
2008 2008-08-18 Geoff Norton <gnorton@novell.com>
2010 * windowless.cpp: Null the GdkEventKey.string value.
2011 * plugin-class.cpp|h: Rename KeyboardEventArgs->KeyEventArgs,
2012 but support returning "KeyboardEventArgs" to javacsript toString()
2015 2008-08-17 Geoff Norton <gnorton@novell.com>
2017 * plugin.cpp|h: Add a C binding for GetSourceLocation ()
2019 2008-08-17 Chris Toshok <toshok@ximian.com>
2021 * plugin.cpp, plugin-class.cpp, mono.cpp, plugin-proxy.cpp,
2022 plugin.h, moonlight.h, moon-mono.h: SL_2_0 -> SL_PLUGIN_2_0.
2024 2008-08-17 Chris Toshok <toshok@ximian.com>
2026 * Makefile.am: INCLUDE_MONO_RUNTIME ->
2027 INCLUDE_BROWSER_MANAGED_CODE.
2029 2008-08-15 Jeffrey Stedfast <fejj@novell.com>
2031 * plugin-class.cpp (MoonlightStylusInfoObject::GetProperty): Use
2032 the c++ property accessors for the stylus classes.
2034 2008-08-14 Jackson Harper <jackson@ximian.com>
2036 * plugin.cpp|h: We now get a 'dest' pointer for hooking up events,
2037 this is basically ignored by the javascript event hookup since
2038 everything is in a global space.
2040 2008-08-14 Rolf Bjarne Kvinge <RKvinge@novell.com>
2042 * plugin.h: Don't use base_unref, call unref on the instance.
2044 2008-08-14 Geoff Norton <gnorton@novell.com>
2046 * plugin.cpp|h: The timeout C bindings are no longer used.
2048 2008-08-14 Rolf Bjarne Kvinge <RKvinge@novell.com>
2050 * plugin-class.cpp: Remove spew.
2051 * moonlight.cs: Don't initialize Helper.Agclr here, it's not in the
2054 2008-08-13 Geoff Norton <gnorton@novell.com>
2056 * plugin.cpp|h: Reuse the old html_timer infrastructure for the
2057 intial DispatcherTimer implementation.
2059 2008-08-13 Rolf Bjarne Kvinge <RKvinge@novell.com>
2061 * moonlight.cs: Set Helper.Agclr upon startup.
2063 2008-08-11 Larry Ewing <lewing@novell.com>
2065 * plugin.cpp (PluginInstance::StreamAsFile): horrible but
2066 temporary hack to load application/x-silverlight objects as sl2
2067 files when .xap is present in the filename.
2069 2008-08-11 Geoff Norton <gnorton@novell.com>
2071 * moonlight.h: Some sites are doing an exact string comparison
2072 in Javascript of this value. Unfortunately we need to drop
2073 out compatability string.
2075 2008-08-08 Chris Toshok <toshok@ximian.com>
2077 * plugin-class.cpp: add sl2 arguments to the various parser/enum
2078 functions that need them.
2080 2008-08-06 Rolf Bjarne Kvinge <RKvinge@novell.com>
2082 * plugin.mdp: Make src and plugin projects build.
2084 2008-08-05 Rolf Bjarne Kvinge <RKvinge@novell.com>
2086 * plugin-debug.cpp: Deleted Visual (moved content into UIElement), and
2087 renamed VisualCollection to UIElementCollection.
2089 2008-08-02 Rolf Bjarne Kvinge <RKvinge@novell.com>
2091 * plugin-class.cpp: Use C++ bindings instead of C bindings.
2093 2008-08-01 Rolf Bjarne Kvinge <RKvinge@novell.com>
2095 * plugin.cpp, plugin.h: Implement PluginInstance::Evaluate.
2097 2008-07-26 Chris Toshok <toshok@ximian.com>
2099 * plugin-class.h, plugin-class.cpp: add MoonlightRoutedEventArgs
2100 stuff between EventArgs and KeyboardEventArgs/MouseEventArgs.
2101 RoutedEventArgs exposes a 2.0-only property ("source"), and both
2102 Keyboard/MouseEventArgs expose a 2.0-only property as
2105 2008-07-25 Chris Toshok <toshok@ximian.com>
2107 * plugin-class.h, plugin-class.cpp: add a flags field to the
2108 mapping, so we can start to differentiate the 1.0 and 2.0 JS apis.
2110 * plugin.cpp (PluginInstance::CreateWindow): pass silverlight2 to
2113 2008-07-24 Jeffrey Stedfast <fejj@novell.com>
2115 * plugin-class.cpp (MoonlightCollectionObject::GetProperty): Use
2116 collection->GetCount() instead of poking at the internal
2117 representation of the data.
2118 (MoonlightCollectionObject::Invoke): Need to add/remove/insert/etc
2119 items as Values now.
2121 2008-07-23 Chris Toshok <toshok@ximian.com>
2123 * plugin-class.cpp: track DependencyProperty changes.
2125 2008-07-18 Chris Toshok <toshok@ximian.com>
2127 * windowless.h, windowless.cpp: switch this from being a surface
2128 subclass to being a MoonWindow subclass, which fixes the need for
2129 us to worry about whether we have a widget (for fullscreen) in
2132 2008-07-18 Jb Evain <jbevain@novell.com>
2134 * moonlight.cs (UnloadDomain): actually call the plugin unload callback.
2136 2008-07-18 Jackson Harper <jackson@ximian.com>
2138 * plugin-debug.cpp: Use new method for getting content element.
2140 2008-07-17 Jackson Harper <jackson@ximian.com>
2142 * plugin-debug.cpp: Add the contents of UserControls to the tree too.
2144 2008-07-11 Rolf Bjarne Kvinge <RKvinge@novell.com>
2146 * npstream-request.cpp, plugin-entry.cpp: Add missing #include
2149 2008-07-10 Andrew Jorgensen <ajorgensen@novell.com>
2151 * plugin-proxy.cpp: Include config.h (which got un-included
2154 2008-07-10 Chris Toshok <toshok@ximian.com>
2156 * plugin.cpp (PluginInstance::UpdateSourceByReference): rework
2157 this so that it uses the NPN api instead of the bridge-requiring
2158 html_get_element_text.
2160 2008-07-10 Rolf Bjarne Kvinge <RKvinge@novell.com>
2162 * plugin.mdp: Updated.
2164 2008-07-09 Geoff Norton <gnorton@novell.com>
2166 * plugin.cpp: UrlNotify now calls dl->NotifyFinished() and
2167 StreamAsFile calls SetFilename
2168 * plugin-downloader.cpp: Update for the Downloader changes
2169 to NotifyFinished / SetFilename
2171 2008-07-09 Larry Ewing <lewing@novell.com>
2173 * windowless.cpp: make sure we proxy events to the fullscreen
2174 widget when we are in fullscreen mode.
2176 Fixes silverlight.net/fox in fullscreen mode.
2178 2008-07-08 Sebastien Pouliot <sebastien@ximian.com>
2180 * plugin-class.cpp: Make sure we free (or nullify) before calling
2183 2008-07-07 Jeffrey Stedfast <fejj@novell.com>
2185 * mono.cpp: Fixed includes.
2187 2008-07-06 Chris Toshok <toshok@ximian.com>
2189 * windowless.cpp (WindowlessSurface::HandleEvent):
2190 plugin_button_press_callback takes the plugin for user_data, not
2193 2008-07-06 Chris Toshok <toshok@ximian.com>
2195 * plugin.cpp (PluginInstance::Initialize): add a way to override
2196 the windowless setting. set the MOONLIGHT_NO_WINDOWLESS
2197 environment variable, and plugins will be created windowed,
2198 regardless of the JS.
2200 2008-07-02 Chris Toshok <toshok@ximian.com>
2202 * Makefile.am (INCLUDES): add src/zip
2204 * plugin.cpp (PluginInstance::StreamAsFile): in the case where the
2205 1.0 version of the plugin is fed a .xap file, show something to
2206 the user saying it's not going to be able to render it.
2208 2008-07-02 Chris Toshok <toshok@ximian.com>
2210 * plugin.h, plugin.cpp: more clean up in the class decl.
2212 * plugin-class.cpp, plugin-debug.cpp, plugin-glue.cpp: fallout
2213 from the above change.
2215 2008-07-02 Jeffrey Stedfast <fejj@novell.com>
2217 * plugin.cpp (PluginInstance::Properties): Added a "Show text
2220 2008-07-02 Chris Toshok <toshok@ximian.com>
2222 * plugin.h, plugin.cpp: reorder PluginInstance's class decl so
2223 that public: comes before private:, and make "timers" private,
2224 forcing the addition of TimeoutAdd and TimeoutStop instance
2225 methods so that the C binding can call them. put comments all
2226 over them saying they're obsolete in b2.
2228 2008-07-02 Chris Toshok <toshok@ximian.com>
2230 * plugin-class.h, plugin-class.cpp (string_to_npvariant): make
2233 2008-07-02 Chris Toshok <toshok@ximian.com>
2235 * windowless.h, windowless.cpp (WindowlessSurface::HandleEvent):
2236 move the windowless event handling here so it's not cluttering up
2239 * plugin.h, plugin.cpp: add GetWindow() to return the NPWindow,
2240 make plugin_button_press_callback a public static method so
2241 WindowlessSurface can call it, and remove the entire EventHandle
2242 method body (so it can be moved to WindowlessSurface).
2244 2008-07-02 Chris Toshok <toshok@ximian.com>
2246 * plugin.h, plugin.cpp: remove the old static methods for doing
2247 windowless things, and instead just instantiate a
2248 WindowlessSurface in CreateWindow when windowless == true.
2250 * Makefile.am (libmoonplugin_la_SOURCES): add windowless.{cpp,h}
2252 * windowless.h, windowless.cpp: new WindowlessSurface subclass
2253 which proxies things over to mozilla.
2255 2008-07-02 Chris Toshok <toshok@ximian.com>
2257 * plugin.cpp (NPN_strdup): just set 1 byte to 0 instead of all of
2259 (PluginInstance::SetSurfaceCursor): ifdefed out implementation of
2260 a proposed method for setting the cursor in windowless plugins.
2261 (PluginInstance::CreateWindow): hook up SetSurfaceCursor.
2263 2008-06-28 Geoff Norton <gnorton@novell.com>
2265 * plugin-downloader.(ccp|h): The finished event raises a success condition now
2266 so that we can notify failure on unsuccessful downloads.
2268 2008-06-27 Stephane Delcroix <sdelcroix@novell.com>
2271 * firefox/browser-http.inc:
2272 * firefox/ff2/ff2-bridge.h:
2273 * firefox/ff2/ff2-http.cpp:
2274 * firefox/ff3/ff3-bridge.h:
2275 * firefox/ff3/ff3-http.cpp:
2276 * npstream-request.cpp:
2277 * npstream-request.h:
2278 * plugin-downloader.cpp:
2279 * plugin-downloader.h: move browserrequest/response from the plugin
2280 as downloaderrequest/response.
2282 2008-06-26 Michael Dominic K. <mdk@mdk.am>
2285 * plugin-class.h: Adding ways/wrapper to access the KeyTime property of
2286 the KeyFrame. Fixes #402370 and #402035.
2288 2008-06-19 Chris Toshok <toshok@ximian.com>
2290 * plugin.h: add GetHost(), and rename all the "get"/"set" methods
2291 to "Get"/"Set" to match everything else.
2293 * plugin.cpp: fix up the renaming, and abstract out the code used
2294 in a couple of places (getting the NPNVPluginElementNPObject) into
2297 * npstream-request.cpp (NPStreamRequest::GetResponse): track
2300 * plugin-class.cpp: track renaming.
2301 (MoonlightDependencyObjectObject::Invoke): use GetHost().
2303 2008-06-19 Chris Toshok <toshok@ximian.com>
2305 * plugin-class.cpp (MoonlightScriptControlObject::Invoke): comment
2306 out the version requested spew.
2308 * plugin.cpp (PluginInstance::Initialize): comment some bridge
2309 spew, and make sure to use "else if" for the useragent tests so we
2310 don't end up possibly loading 2 bridges.
2312 2008-06-17 Geoff Norton <gnorton@novell.com>
2314 * plugin-downloader.cpp: When we are Aborted NULL our request
2315 and response objects so that we dont do a double abort from our
2316 dtor. Fully fixes the Downloader::Write issue (i hope).
2318 2008-06-17 Geoff Norton <gnorton@novell.com>
2320 * plugin-downloader.cpp: Set the finished state regardless of
2321 wether we have a downloader or not.
2323 2008-06-17 Geoff Norton <gnorton@novell.com>
2325 * plugin-downloader.cpp: If we destroy ourselves, ensure that we
2326 abort our request/response so that firefox doesn't call back
2327 into a destroyed object.
2329 2008-06-17 Geoff Norton <gnorton@novell.com>
2331 * plugin-downloader.cpp, plugin-downloader.h: Ensure that we dont
2332 attempt to abort a finished stream, as it may have dissappeared from
2335 2008-06-16 Jeffrey Stedfast <fejj@novell.com>
2337 * plugin-class.cpp (_set_dependency_property_value): Don't
2338 g_assert() here, it's not necessary plus we want to get rid of
2339 them anyway for bug #335413.
2341 2008-06-10 Chris Toshok <toshok@ximian.com>
2343 * plugin.cpp, plugin.h: wrap everything 2.0 related with
2344 INCLUDE_MONO_RUNTIME.
2346 2008-06-10 Geoff Norton <gnorton@novell.com>
2348 * plugin-downloader.cpp, plugin-downloader.h: Aborted guarding
2349 is handled in the bridge now, as plugin-downloader's might be
2350 reused. Also add a null check for Downloader in the Read callback
2352 2008-06-10 Geoff Norton <gnorton@novell.com>
2354 * npstream-request.cpp: Return the status of GetResponse.
2356 2008-06-11 Geoff Norton <gnorton@novell.com>
2358 * plugin-downloader.cpp: Only call into the downloader to Write
2359 if we have a downloader set. Fixes a crash when navigating away from
2362 2008-06-10 Rolf Bjarne Kvinge <RKvinge@novell.com>
2364 * plugin-class.h: Replace g_assert with g_warning.
2366 2008-06-09 Geoff Norton <gnorton@novell.com>
2368 * npstream-request.cpp: Change the g_asserts to g_warning.
2370 2008-06-06 Rolf Bjarne Kvinge <RKvinge@novell.com>
2372 * plugin.mdp: Updated.
2374 2008-06-05 Jeffrey Stedfast <fejj@novell.com>
2376 * plugin-debug.cpp (save_callback): Modified to save mirror in the
2377 same directory layout as the website.
2379 2008-06-05 Geoff Norton <gnorton@novell.com>
2381 * plugin-class.cpp: Update to reflect API changes on the downloader
2384 2008-06-05 Geoff Norton <gnorton@novell.com>
2386 * plugin-downloader.cpp: Update the debugging outputs.
2388 2008-06-05 Geoff Norton <gnorton@novell.com>
2390 * http-downloader.cpp, http-downloader.h, mms-downloader.cpp,
2391 mms-downloader.h: Drop from the build in preparation to move
2392 mms logic into libmoon.
2393 * plugin-downloader.cpp, plugin-downloader.h,
2394 browser-bridge.h: Remove the browser downloader and encapsulate
2395 all the logic in a BrowserRequest.
2396 * npstream-request.cpp, npstream-request.h: New BrowserRequest
2397 based NPStream implementation.
2398 * plugin-downloader.cpp: Fix some debugging output. Add a few
2400 * plugin.cpp: Utilize the new npstream-request class.
2402 2008-06-04 Geoff Norton <gnorton@novell.com>
2404 * plugin-class.cpp: Fix the argument check for MouseEventArgs
2405 GetPosition regression introduced with check_arg_list changes.
2407 2008-06-04 Geoff Norton <gnorton@novell.com>
2409 * plugin-class.cpp: Fix the argument check for hitTest
2410 regression introduced with check_arg_list changes.
2412 2008-06-04 Geoff Norton <gnorton@novell.com>
2414 * plugin-class.cpp: Fix the argument check for setFontSource
2415 regression introduced with check_arg_list changes.
2417 2008-06-04 Jeffrey Stedfast <fejj@novell.com>
2419 * plugin-class.cpp: Added argument sanity checking in all the
2420 Invoke() methods I could find (may have missed some).
2421 (check_arg_list): New function to sanity-check an NPVariant
2422 argument vector for the correct types and the correct number of
2423 arguments (supports optional args as well).
2425 2008-06-04 Jeffrey Stedfast <fejj@novell.com>
2427 * plugin-class.cpp (MoonlightDownloaderObject::Invoke): Check the
2428 arg-types for ::Open(). Fixes bug #394943.
2430 2008-05-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
2432 * plugin-downloader.cpp: Don't delete BrowserDownloaders, it causes
2433 crashes for the moment.
2435 2008-05-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
2437 * mms-downloader.cpp: MmsDownloader::Read: only delete the ASFParser
2438 after we've finished with the data it contains.
2439 MmsDownloader::ProcessMetadataPacket: fix parsing quoted strings.
2440 * mms-downloader.h, npstream-downloader.h: Make dtor virtual.
2441 * plugin-downloader.cpp, plugin-downloader.h: Move ctors and dtors into
2442 cpp file, and delete the BrowserDownloader in PluginDownloader's
2445 2008-05-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
2447 * plugin.mdp: Updated.
2449 2008-05-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
2451 * mms-downloader.cpp: Call Downloader::NotifyFailed when we encounter
2452 an invalid mms source. Parse metadata packets, and set
2453 HttpStreamingFeatures correctly on the downloader.
2454 * plugin-downloader.cpp: Handle rtsp urls.
2456 2008-05-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
2458 * plugin.cpp: Add some debugging foo.
2460 2008-05-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
2462 * npstream-downloader.cpp: If NPN_GetURLNotify fails, notify the
2465 2008-05-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
2467 * mms-downloader.cpp, mms-downloader.h: For the broadcast case keep a
2468 count of the number of packets received, and write new packets at
2469 the end of the previous packet. Don't print warnings for MMS_END
2470 and MMS_STREAM_C packets.
2472 2008-05-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
2474 * plugin-downloader.cpp: Return something from
2475 PluginDownloader::GetPlugin.
2477 2008-05-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
2479 * plugin-downloader.cpp: Spaces->Tabs.
2481 2008-05-27 Rolf Bjarne Kvinge <RKvinge@novell.com>
2483 * mms-downloader.h, mms-downloader.cpp: Move ctor/dtor into cpp file,
2484 add some logging and null out response in Finished, otherwise we
2485 might crash if Abort is called later on.
2487 2008-05-27 Rolf Bjarne Kvinge <RKvinge@novell.com>
2489 * http-downloader.cpp: Return something from HttpDownloader::Read.
2491 2008-05-23 Rolf Bjarne Kvinge <RKvinge@novell.com>
2493 * plugin.mdp: Updated.
2495 2008-05-23 Geoff Norton <gnorton@novell.com>
2497 * browser-bridge.h: Get/SetUri is no longer needed on the BrowserResponse
2500 2008-05-23 Geoff Norton <gnorton@novell.com>
2502 * *-downlodaer.cpp: Add the files to SVN
2504 2008-05-23 Geoff Norton <gnorton@novell.com>
2506 * browser-bridge.cpp: Refactor to move all the stream processing logic outside
2507 the bridge into the plugin in a generic way.
2508 * plugin.cpp: Cache the source_location. Needed for http-downlodaer to resolve
2510 * mmsh-state.*: Merged into mms-downlodaer.cpp
2511 * mms-downloader.cpp: Rewritten to not leak all memory when streaming from a mms
2512 server, plus a lot of readability fixes.
2513 * npstream-downloader.cpp: Hide NPStream related specifics here instead of in
2514 * plugin-downloader.cpp: Direct requests to the BrowserDownloader implementation
2517 2008-05-21 Chris Toshok <toshok@ximian.com>
2519 * plugin.cpp (plugin_button_press_callback): rename
2520 plugin_event_callback to this, and remove all the non-button event
2522 (PluginInstance::CreateWindow): connect to just
2523 "button-press-event", not the more generic "event". track
2525 (PluginInstance::EventHandle): track renaming.
2527 2008-05-19 Larry Ewing <lewing@novell.com>
2529 * plugin.cpp (PluginInstance::SetPageURL): drop the reference we
2530 were holding to NPNVWindowNPObject.
2532 2008-05-19 Larry Ewing <lewing@novell.com>
2534 * plugin.cpp (PluginInstance::EventHandle): discard any events
2535 that happen before SetWindow has been called.
2537 Fix for a crash in Silverlight Pad.
2539 2008-05-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
2541 * plugin-class.cpp: Throw an exception if the downloader doesn't have a
2542 surface when we call Downloader::Send.
2544 2008-05-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
2546 * mmsh-state.h: Surround file with ifdefs, and forward declare
2548 * plugin-downloader.h: Include mmsh-state.h and properly declare
2549 PluginDownloader::state as MmshState.
2551 2008-05-15 Rolf Bjarne Kvinge <RKvinge@novell.com>
2553 * plugin.mdp: Updated.
2555 2008-05-15 Larry Ewing <lewing@novell.com>
2557 * plugin.cpp (PluginInstance::EventHandle): send focus in/out to
2560 * plugin-class.cpp, plugin.cpp, plugin.h: capture id parameter and
2563 2008-05-14 Sebastien Pouliot <sebastien@ximian.com>
2565 * moonlight.h: Start plugin description with Silverlight plugin
2566 version. The new detection script for sharethelove requires this.
2568 2008-05-13 Larry Ewing <lewing@novell.com>
2570 * plugin.cpp, plugin-class.cpp: copy all npvariant strings so that
2571 we can null terminate them. WebKit and Opera don't null terminate
2574 2008-05-13 Larry Ewing <lewing@novell.com>
2576 * plugin-glue.cpp (NPP_Initialize): opera needs to have threads
2577 initialized even in the gtk2 case.
2579 * plugin.cpp (PluginInstance::SetWindow): disable this check since
2580 it currently fails on opera 9.5b2.
2582 These changes get the plugin loading in opera 9.5b2 we need to
2583 discuss some of this with them more.
2585 2008-05-13 Chris Toshok <toshok@ximian.com>
2587 * plugin.cpp (PluginInstance::Initialize): add an opera case (just
2588 like the webkit case) which references a (for now) nonexistant
2591 2008-05-13 Rolf Bjarne Kvinge <RKvinge@novell.com>
2593 * plugin.cpp: TryLoad: Before parsing any xaml, we need to clear the
2594 current surface, otherwise the xaml we'll be parsing might add tick
2595 callbacks to the timemanager of the previous surface.
2597 2008-05-13 Rolf Bjarne Kvinge <RKvinge@novell.com>
2599 * plugin.mdp: Updated.
2601 2008-05-12 Andrew Jorgensen <ajorgensen@novell.com>
2603 * Makefile.am: Moved the plugin installer code to a subdir (install)
2604 because the firefox bridges must build after the plugin but before the
2607 2008-05-09 Geoff Norton <gnorton@novell.com>
2609 * Makefile.am: Add mmsh-state.* to the build.
2610 * plugin-downloader.*: When connecting to a mms server we cannot
2611 immediately start streaming. We must first query its capabilities
2612 with a Describe request, then select the appropriate streams we
2613 wish to have available.
2615 2008-05-09 Geoff Norton <gnorton@novell.com>
2617 * mmsh-state.cpp, mmsh-state.h: New class to keep stream state
2618 for selecting which streams to fetch from a mms:// server.
2620 2008-05-09 Chris Toshok <toshok@ximian.com>
2622 * ff3/Makefile.am (libmoonplugin_ff3bridge_la_LIBADD): add
2625 2008-05-09 Chris Toshok <toshok@ximian.com>
2627 * ff2/Makefile.am (EXTRA_DIST): dist firefox-browsermmsh.inc
2629 2008-05-08 Chris Toshok <toshok@ximian.com>
2631 * install.rdf.in: track MINVERSION/MAXVERSION ->
2632 MIN_FIREFOX_VERSION/MAX_FIREFOX_VERSION change.
2634 * plugin.cpp (NPN_strdup): make the arg const char* to quiet gcc.
2635 (PluginInstance::PluginInstance): initialize bridge to NULL.
2636 (PluginInstance): delete the bridge.
2637 (PluginInstance::Initialize): try loading a browser specific
2638 bridge using the useragent string (gross, fragile, i know...)
2639 (PluginInstance::TryLoadBridge): new method, dlopen the bridge.
2641 * browser-http.h, browser-http.cpp: nuke. the C implementation
2642 lives in browser-bridge.cpp, and browser-bridge.h defines
2643 the (purely abstract) base classes that the bridge implementations
2644 subclass from for browser-specific functionality.
2646 * plugin-proxy.cpp: clean up more XP_UNIX stuff - it's always
2647 defined (in moonlight.h) so we don't need ifdefs for it. Also, it
2648 needs to be defined *before* including npapi/npupp so that
2649 structures we need are defined.
2651 * plugin-class.cpp: remove all HtmlObject implementation code from
2652 here. it lives in the browser bridge now. Also, remove all
2653 internal mozilla #includes.
2655 * moonlight.h (XP_UNIX): always define it if it isn't already
2658 * browser-bridge.h: add NPNetscapeFuncs* arg to
2659 CreateBrowserBridge.
2661 * plugin-entry.cpp (NPN_PostURLNotify): correct arg type.
2662 (NPN_MemAlloc): same.
2663 (NPN_MemFlush): same.
2664 (NPN_PostURL): same.
2665 (NP_Initialize): remove the stupid #if XP_UNIX stuff from here.
2666 we're only building on unix, so let's simplify things. Also,
2667 don't use PR_TRUE/PR_FALSE. NPBool uses TRUE/FALSE.
2669 * plugin-glue.cpp (NPP_WriteReady): change type to int32 instead
2670 of int32_t so that it matches the prototype.
2673 * moz-sdk/npapi.h, moz-sdk/npupp.h: unfuck our npapi headers so
2674 they can be used for either ff2 and ff3 (and without pulling in
2677 2008-05-08 Larry Ewing <lewing@novell.com>
2679 * plugin.cpp (PluginInstance::SetWindow): don't crash if we
2680 weren't able to create a surface.
2682 2008-05-08 Chris Toshok <toshok@ximian.com>
2684 * ff2/ff2-bridge.cpp: in order to keep from needing to load
2685 libmoonplugin.so with RTLD_GLOBAL (which breaks other plugins), we
2686 need to pass the NPNetscapeFuncs vtable to the bridge, and provide
2687 implementations of all the NPN_ methods here. That was making
2688 this file a bit busy, so break out the dom and http stuff to
2691 * ff2/ff2-dom.cpp: move the dom stuff here.
2693 * ff2/ff2-http.cpp: move the browserhttp stuff herre.
2695 * ff2/Makefile.am (EXTRA_DIST): make sure we dist
2696 firefox-browserhttp.inc
2698 * ff3/ff3-http.cpp, ff3/ff3-dom.cpp, ff3/ff3-bridge.cpp: same
2699 changes to the ff3 bridge.
2701 2008-05-07 Geoff Norton <gnorton@novell.com>
2703 * plugin.cpp, plugin.h: Add NPN_strdup
2704 * plugin-class.cpp: Use NPN_strdup
2705 * plugin-entry.cpp: Dont abort if XEmbed/Gtkv2 aren't found as
2706 some browsers wont lets us NPN_GetValue on a NULL instance.
2708 2008-05-07 Andrew Jorgensen <ajorgensen@novell.com>
2710 * Makefile.am: Move mono_*dir stuff into Makefile
2712 2008-05-07 Larry Ewing <lewing@novell.com>
2714 * plugin.cpp (PluginInstance::SetWindow): if SetWindow is called
2715 with the same window this is due to a resize, propogate that
2716 resize to the surface code.
2718 Fixes the plugin side of windowless resizing. See
2719 http://my.liveatedu.com/ for test case.
2721 2008-05-07 Sebastien Pouliot <sebastien@ximian.com>
2723 * moonlight.h: Could not find (nor google) the real meaning for SCR,
2724 I suspect "script", nor does it affect any apps I've seen but having
2725 xaml in it's place is probably not a good idea.
2728 2008-05-06 Jeffrey Stedfast <fejj@novell.com>
2730 * plugin.h (PluginInstance::getNPP): Removed, this just duplicated
2731 the getInstance() method.
2733 2008-05-06 Andrew Jorgensen <ajorgensen@novell.com>
2735 * install.rdf.in: Use values from configure for min and max versions
2737 2008-05-06 Rolf Bjarne Kvinge <RKvinge@novell.com>
2739 * plugin-glue.cpp: shutdown_moonlight: we have to check again if there
2740 are plugins alive, this method is called async, and it's possible
2741 that another plugin has been initialized between adding the timeout
2744 2008-05-05 Rolf Bjarne Kvinge <RKvinge@novell.com>
2746 * plugin-class.cpp: Add a missing initialization.
2748 2008-05-04 Miguel de Icaza <miguel@novell.com>
2750 * moonlight.cs: Add support for XAP file loading.
2752 * mono.cpp: New methods to create applications based on XAP files,
2755 * plugin.cpp (PluginInstance::StreamAsFile): If Silverlight2 the
2756 request was for a XAP file, load a XAP file. This could break
2757 if people embed a Silverlight2 plugin, but pass a XAML file, must
2760 * plugin.cpp: Some refactoring to keep the Mono-depending features
2761 together, without having ifdefs inside of functions.
2763 XAP maintenance: Keep track of whether a XAP application has been
2764 loaded, destroy XAP applications on shutdown.
2767 2008-05-04 Chris Toshok <toshok@ximian.com>
2769 * plugin.h, plugin.cpp, plugin-class.cpp, plugin-class.h: revert
2770 most of r102288 to move back to the separate Loaded/Load events.
2771 Leave the OneShot behavior for EventListenerProxy's, though, as
2772 that still is useful.
2774 2008-05-01 Larry Ewing <lewing@novell.com>
2776 * plugin.cpp (plugin_event_callback): fix windowless button
2777 presses so that only button 3 is swallowed by the menu logic.
2780 http://www.designwithsilverlight.com/tutorials/photoGallery/gallery.html
2781 2008-05-02 Andrew Jorgensen <ajorgensen@novell.com>
2783 * Makefile.am: strip all .sos in XPI (not just ffmpeg)
2784 If we need un un-stripped XPI we'll build one.
2786 2008-05-02 Geoff Norton <gnorton@novell.com>
2788 * plugin.cpp: reinterpret_cast doesn't work on 64-bit as it
2791 2008-05-01 Chris Toshok <toshok@ximian.com>
2793 * plugin-class.h, plugin-class.cpp: make EventListenerProxy's
2794 one-shottable (if they're one-shot, they remove themselves
2795 automatically after being invoked.) Use this with the plugin
2796 onLoad proxy. The script control object adds it to the surface's
2797 toplevel object's LoadedEvent.
2799 * plugin.h, plugin.cpp: when we create the surface, add a handler
2800 for AttachingEvent so we can notify our
2801 MoonlightScriptControlObject that it should add the onLoad handler
2802 to the toplevel element's LoadedEvent.
2804 2008-04-30 Fernando Herrera <fherrera@novell.com>
2806 * browser-mmsh.cpp: Abort and NotifyFailed on invalid mms streams,
2807 probably they are plain http file downloads.
2809 2008-04-30 Fernando Herrera <fherrera@novell.com>
2811 * plugin-debug.cpp: Added utils.h and uri.h.
2813 2008-04-30 Jeffrey Stedfast <fejj@novell.com>
2815 * moonlight.h: Don't need to include glib.h and gtk.h, gtk.h will
2818 2008-04-29 Jeffrey Stedfast <fejj@novell.com>
2820 * plugin-debug.cpp (foreach_func): Save the files with their
2821 original filenames using the URI's path.
2823 2008-04-28 Sebastien Pouliot <sebastien@ximian.com>
2825 * moonlight.h: Fix [Moon|Silver]'L'ight capitalization. Add
2826 Moonlight URL (as HTML) in about:plugins. This enables "Visit
2827 Home Page" in Firefox 3 "Tools | Add-ons | Plugins".
2829 2008-04-25 Chris Toshok <toshok@ximian.com>
2831 * plugin-class.cpp (enum PluginPropertyId): add MoonId_OnLoad.
2832 (map_moon_id_to_event_name): handle MoonId_OnLoad.
2833 (MoonlightObjectType::MoonlightObjectType): zero out construct,
2835 (scriptable_control_mapping): move onerror here, and add onload.
2836 (MoonlightScriptControlObject): null out both settings and content
2838 (MoonlightScriptControlObject::GetProperty): fix IsLoaded to check
2839 the surface, and add support for OnError/OnLoad here.
2840 (MoonlightScriptControlObject::SetProperty): add support for
2841 OnError/OnLoad here.
2842 (moonlight_content_mapping): remove onerror.
2843 (MoonlightContentObject::GetProperty): remove support for OnError.
2844 (MoonlightContentObject::SetProperty): same.
2846 * plugin.cpp (PluginInstance::CreateWindow): initialize the
2847 onResize/onLoad events in the same way as onError.
2848 (PluginInstance::Initialize): parse the onResize arg.
2849 (PluginInstance::JsRunOnload): nuke. rejoice.
2850 (PluginInstance::TryLoad): remove the call to JsRunOnload. The
2851 surface's LoadEvent is responsible for this now.
2853 2008-04-25 Sebastien Pouliot <sebastien@ximian.com>
2855 * plugin-debug.cpp: Better fix against my previous crash fix (as
2856 we can get an invalid pointer to the plugin).
2858 2008-04-25 Rolf Bjarne Kvinge <RKvinge@novell.com>
2860 * plugin-downloader.cpp: Added logging.
2862 2008-04-25 Fernando Herrera <fherrera@novell.com>
2864 * browser-mmsh.cpp: Conditional logging.
2865 * plugin-downloader.cpp: proper error handling at
2866 p_downloader_mmsh_send.
2868 2008-04-24 Andrew Jorgensen <ajorgensen@novell.com>
2870 * Makefile.am: Add the locally built assemblies to the XPI
2872 2008-04-24 Rolf Bjarne Kvinge <RKvinge@novell.com>
2874 * plugin-debug.cpp: Don't crash if we don't have any sources.
2876 2008-04-24 Fernando Herrera <fherrera@novell.com>
2878 * Makefile.am: Fix "make -jN" build.
2880 2008-04-23 Sebastien Pouliot <sebastien@ximian.com>
2882 * plugin-debug.cpp: Don't crash if try to save stuff after changing
2885 2008-04-23 Rolf Bjarne Kvinge <RKvinge@novell.com>
2887 * browser-mmsh.cpp: Parse http streaming metadata/features.
2888 * browser-mmsh.h: AsyncBrowserMmshResponse: Type the context as a
2889 PluginDownloader instead of a generic gpointer.
2891 2008-04-22 Larry Ewing <lewing@novell.com>
2893 * moonlight.h: use HAVE_LIBXUL_UNSTABLE to determine which symbols
2896 * browser-http.h, browser-mmsh.h: use HAVE_LIBXUL_UNSTABLE to
2897 determine the include path.
2900 2008-04-22 Chris Toshok <toshok@ximian.com>
2902 * plugin.h, plugin.cpp: Add the notion of "cleanup pointers".
2903 It's a horrible name for the following hack. You register a local
2904 variable pointer with the plugin before making a call during which
2905 you might be destroyed. If the plugin instance is destroyed, all
2906 cleanup pointers are nulled.. When the all returns, you can't
2907 rely on "this" being valid, but you can rely on your local stack
2908 frame, so you look at the registered pointer. if it's null,
2911 * plugin.cpp (PluginInstance::PluginInstance): pass the pluginType
2912 instead of the boolean flag. C apis should be thin wrappers
2914 (PluginInstance::~PluginInstance): zombify the surface and then
2915 unref_delayed it, to allow everything to unwind before actually
2916 freeing that memory.
2917 (PluginInstance::Initialize): use "else" and remove all those damn
2919 (PluginInstance::TryLoad): use the cleanup pointer hack to check
2920 if we're still alive after the xaml_loader->TryLoad method.
2922 * plugin-class.cpp (EventListenerProxy::proxy_listener_to_javascript):
2923 use cleanup pointers to make sure we don't try to free plugin
2924 objects that have been destroyed by virtue of the plugin going
2925 away while we were in JS.
2927 * plugin-glue.cpp: since we're only destroying surfaces from the
2928 idle loop, we need to delay the shutting down of the moonlight
2929 engine until all surfaces have been destroyed. Also, take care
2930 not to do it from the DestroyEvent handler, as that is invoked
2931 *before* the object is destroyed (and destruction requires the
2932 engine to be initialized).
2934 2008-04-22 Michael Dominic K. <mdk@mdk.am>
2936 * plugin-class.cpp: Throw js exception if Storyboard failed to start
2939 2008-04-21 Jeffrey Stedfast <fejj@novell.com>
2941 * mono.cpp (vm_init): Don't leak memory in the plugin case. Also
2942 use d() around debug printfs.
2944 * plugin.cpp: Wrap debug printfs with d()
2946 2008-04-20 Miguel de Icaza <miguel@roxanne.site>
2948 * plugin.h: Add methods to flag Silverlight2, add field Xap that
2949 if not-NULL contains a pointer to the XAP file downloaded.
2951 * plugin-instance.c: If we are dealing with a Silverlight 2
2952 application, use Xap to unpack it. Does not load the result yet.
2954 * moonlight.h: Add support for SL2 mime type, clear up VERSION
2956 * plugin-glue.cpp: Tell PluginInstance whether this is an SL1 or
2959 2008-04-16 Chris Toshok <toshok@ximian.com>
2961 * plugin.cpp (PluginInstance::StreamAsFile): use "else if" here,
2962 otherwise the notifydata might be gone.
2964 2008-04-16 Jeffrey Stedfast <fejj@novell.com>
2966 * plugin-class.cpp (MoonlightDependencyObjectObject::GetProperty):
2967 Just because enums_int_to_str() returns NULL does not mean that
2968 the value was invalid, it could also mean that the property is
2969 simply an Int32 type.
2971 2008-04-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
2973 * plugin-class.cpp, plugin-class.h: Comparing a Kind value to another to
2974 determine type hierarchy isn't supported anymore, use Value::Is or
2975 Type::IsSubclassOf, which are doing the right thing.
2977 2008-04-15 Larry Ewing <lewing@novell.com>
2979 * plugin.cpp (PluginXamlLoader::TryLoad): emit an error if the
2980 root visual type is incorrect. Fixes one more of the ParserError
2981 tests until we can unfiy js exceptions and parser errors.
2983 2008-04-15 Larry Ewing <lewing@novell.com>
2985 * plugin-class.cpp (MoonlightDependencyObjectObject::Invoke):
2986 based on RuntimeErrors and
2987 http://msdn2.microsoft.com/en-us/library/bb979718.aspx getParent
2988 only applies to uielement subclasses.
2990 Fixes test that was failing in RuntimeErrors.htm.
2992 2008-04-15 Larry Ewing <lewing@novell.com>
2994 * plugin-class.cpp: throw an exception for invalid string values.
2996 2008-04-14 Jeffrey Stedfast <fejj@novell.com>
2998 * plugin.cpp: Got rid of unnecessary uses of keyword 'this'.
2999 (PluginInstance::CreateWindow): Fixed setting of background color.
3001 2008-04-13 Jb Evain <jbevain@novell.com>
3003 * moonlight.cs: use reflection to initialize the XamlLoader
3004 until we get moonlight.exe to be friend with Mono.Moonlight.
3005 Merged from the Moonlight 2 branch.
3007 2008-04-11 Larry Ewing <lewing@novell.com>
3009 * plugin.h (class PluginInstance): make setBackground return a
3010 boolean success value.
3012 * plugin-class.cpp (MoonlightSettingsObject::SetProperty): check
3013 the return value of setBackground and throw an exception if it
3016 * plugin.cpp (PluginInstance::CreateWindow): handle NULL return
3017 values from color_from_string.
3019 Handle the new case where color_from_string might return null.
3021 2008-04-11 Jeffrey Stedfast <fejj@novell.com>
3023 * plugin-class.cpp (MoonlightTextBlockObject::Invoke):
3024 SetFontSource() now takes a Downloader argument rather than a DOB.
3026 2008-04-11 Andrew Jorgensen <ajorgensen@novell.com>
3028 * plugin-proxy.cpp: Allow the user to override the location of
3029 libmoonplugin by setting MOON_PLUGIN_DIR so that the test harness
3030 can run without installing first.
3032 2008-04-11 Larry Ewing <lewing@novell.com>
3034 * plugin.cpp (PluginXamlLoader::TryLoad): Allow controls to be
3035 toplevel elments, drop all surface contents on errors.
3037 Allows Kit 3d to start rendering something in the texture map
3040 2008-04-11 Michael Dominic K. <mdk@mdk.am>
3042 * plugin-class.cpp: Small debug hint also here when enums invalid.
3044 2008-04-10 Chris Toshok <toshok@ximian.com>
3046 * plugin-class.cpp (npvariant_is_dependency_object): no reason to
3047 duplicate the logic here - call npobject_is_dependency_object.
3049 2008-04-10 Jeffrey Stedfast <fejj@novell.com>
3051 * plugin-class.cpp: Cast DOB's to Downloaders when passing to
3054 2008-04-10 Chris Toshok <toshok@ximian.com>
3056 * plugin-class.cpp, plugin-class.h: use the same "Invalidate
3057 NULL's things out, while the dtor checks for NULL before calling
3058 NPN_ReleaseObject" pattern with event listener proxies.
3060 2008-04-09 Chris Toshok <toshok@ximian.com>
3062 * plugin.cpp, plugin.h: make PluginInstance::SetSource behave
3063 asynchronously for both #ref and normal url cases. Fixes bug
3066 2008-04-08 Jeffrey Stedfast <fejj@novell.com>
3068 * plugin.cpp (PluginXamlLoader::TryLoad): Print a little more
3069 useful info on error.
3071 2008-04-04 Jeffrey Stedfast <fejj@novell.com>
3073 * plugin-class.h (EventListenerProxy.dtor): Made virtual... not
3074 sure if this matters or not, but might as well be consistent.
3075 (MoonlightTimeSpan.dtor): Same.
3077 2008-04-04 Chris Toshok <toshok@ximian.com>
3079 * plugin-class.cpp, plugin-class.h: change our use of
3080 NPType->invalidate. Firefox docs say this is *only* called when
3081 the browser is shutting down the plugin instance. So, we
3082 shouldn't access fields that point to other NPObjects here. Just
3083 break links. All freeing should be done in the dtor instead,
3084 which most of the various ::Dispose methods have been renamed to.
3085 Also, don't call Dispose in the MoonlightObject dtor. Lastly,
3086 rename Dispose to Invalidate so we don't again mistake what it
3089 2008-04-03 Larry Ewing <lewing@novell.com>
3091 (PluginXamlLoader::TryLoad): if the parser has an unknown error
3092 code try the managed loader.
3094 2008-04-03 Larry Ewing <lewing@novell.com>
3096 * plugin.cpp (PluginXamlLoader::TryLoad): if we get a parser while
3097 loading set attach to a NULL toplevel.
3099 2008-04-02 Larry Ewing <lewing@novell.com>
3101 * plugin-class.cpp: check number of arguments on getHost throw the
3102 appropriate exception if there are arguments.
3104 2008-04-02 Larry Ewing <lewing@novell.com>
3106 * plugin-class.cpp: make sure the event name is valid when adding
3107 or removing, throw an exception if not.
3109 2008-04-02 Larry Ewing <lewing@novell.com>
3111 * plugin-class.cpp: start making the exceptions match the ms
3112 exceptions. Work around the id string until more is known about
3113 how we should deal with it.
3115 2008-04-02 Jeffrey Stedfast <fejj@novell.com>
3117 Fixes bug #375277 and maybe other crashers.
3119 * plugin-class.h (MoonlightScriptControlObject::.ctor): Initialize
3120 settings->control and content->control to 'this'.
3121 (MoonlightSettingsObject): Now has a pointer to its owning
3122 MoonlightScriptControlObject so we can protect against Firefox's
3123 aggressive destruction of still-referenced objects when you
3124 navigate away from a Moonlight page and/or close the browser when
3125 a scriptable object is still referenced. Yay Firefox!
3126 (MoonlightContentObject): Same.
3128 * plugin-class.cpp (MoonlightScriptControlObject::Dispose): Set
3129 settings->control to NULL before unreffing the settings
3130 NPObject. Same with content->control.
3131 (MoonlightContentObject::Dispose): If we have a pointer to our
3132 parent control, set control->content to NULL here.
3133 (MoonlightSettingsObject::Dispose): Same as
3134 MoonlightContentObject::Dispose().
3135 (MoonlightEventObjectObject::SetEventObject): Removed, just to be
3136 sure we never reuse these objects.
3137 (EventObjectCreateWrapper): Implement the equivalent of
3138 SetEventObject() here instead, since this is the only place that
3139 should EVER be calling it. Also makes it a lot simpler.
3141 2008-04-02 Larry Ewing <lewing@novell.com>
3143 * plugin-class.cpp: charposition not charnumber.
3145 2008-04-01 Chris Toshok <toshok@ximian.com>
3147 * plugin-class.cpp (MoonlightContentObject::Invoke): back out my
3148 SetSurface() stuff from here.
3150 2008-04-01 Jeffrey Stedfast <fejj@novell.com>
3152 * plugin-class.cpp: Implemented better type-checking. Fixes the
3153 crash mentioned in bug #375921.
3155 2008-04-01 Chris Toshok <toshok@ximian.com>
3157 * plugin-class.cpp (MoonlightContentObject::Invoke): in
3158 createFromXaml/createFromXamlDownloader, call dep->SetSurface()
3159 after we parse to make sure the thing knows what surface it
3162 2008-04-01 Jeffrey Stedfast <fejj@novell.com>
3164 * plugin-class.cpp (MoonlightContentObject::Invoke): Properly
3165 nul-terminate the text value.
3166 (MoonlightDownloaderObject::Invoke): Properly nul-terminate the
3167 text value returned here too.
3169 2008-04-01 Rolf Bjarne Kvinge <RKvinge@novell.com>
3171 * plugin-class.cpp: Remove Type::NPOBJ, it's not needed.
3173 2008-03-31 Jeffrey Stedfast <fejj@novell.com>
3175 * plugin-class.cpp (moonlight_downloader_mapping): Got rid of
3176 second ResponseText item.
3177 (MoonlightDownloaderObject::GetProperty): nul-terminate the value
3178 gotten from downloader->GetResponseText() as javascript will use
3179 this string expecting that it is nul-terminated.
3181 2008-04-01 Fernando Herrera <fherrera@novell.com>
3184 * plugin-downloader.h: Support for live streams (not seekable).
3186 2008-03-31 Rolf Bjarne Kvinge <RKvinge@novell.com>
3188 * browser-mmsh.cpp: asf_header_parse: Use ASFParser::GetPacketSize instead
3189 of looking in internal fields. Delete parser and unref the source when
3192 2008-03-28 Fernando Herrera <fherrera@novell.com>
3196 * plugin-downloader.cpp:
3197 * plugin-downloader.h: Implement server seeking on the mms://
3200 2008-03-26 Andrew Jorgensen <ajorgensen@novell.com>
3202 * mono.cpp: Get correct path for moonlight.exe as well when
3203 enable-user-plugin=yes
3205 2008-03-26 Chris Toshok <toshok@ximian.com>
3207 * plugin-class.cpp (MoonlightDependencyObjectObject::Invoke):
3208 implement removeEventListener for named callbacks using the new
3209 EventObject::RemoveMatchingHandlers method, and a helper
3210 class (NamedProxyPredicate).
3212 * plugin-class.h: we need to make
3213 EventListenerProxy::proxy_listener_to_javascript public so
3214 NamedProxyPredicate can access it.
3216 2008-03-26 Rolf Bjarne Kvinge <RKvinge@novell.com>
3218 * browser-mmsh.cpp: Updated according to API changes.
3220 2008-03-25 Andrew Jorgensen <ajorgensen@novell.com>
3222 * plugin-proxy.cpp: Load libraries relative to the location of
3223 libmoonloader.so if enable-user-plugin=yes
3224 * install.rdf.in: Basic install.rdf for plugin installation
3225 * Makefile.am: Create directory structure for RDF install method
3226 rather than XPInstall JS method
3228 2008-03-20 Jeffrey Stedfast <fejj@novell.com>
3230 * plugin-class.cpp (MoonlightContentObject::Invoke): Same.
3232 * plugin-downloader.cpp (p_downloader_mmsh_finished): Updated for
3233 Downloader API changes.
3235 2008-03-18 Andrew Jorgensen <ajorgensen@novell.com>
3237 * plugin-proxy.cpp: Push conditional swscale into user plugin code
3238 and remove avformat dependency
3239 * Makefile.am: Conditionally include swscale and don't include avformat
3240 in user plugin installer
3242 2008-03-17 Larry Ewing <lewing@novell.com>
3244 * plugin-class.cpp: more rough argument sanity checks.
3246 2008-03-17 Larry Ewing <lewing@novell.com>
3248 * plugin.cpp (PluginXamlLoader::TryLoad): add a quick check to
3249 avoid a crash. Better error handling on the way.
3251 * plugin-class.cpp (MoonlightCollectionObject::Invoke): do some
3252 very basic argument type checking.
3254 2008-03-16 Larry Ewing <lewing@novell.com>
3256 * plugin-class.cpp: make objects chain up to their parent class
3257 rather than simply returning false directly to make the logic
3258 clearer and to allow toplevel handling of tostring.
3260 2008-03-14 Larry Ewing <lewing@novell.com>
3262 * plugin-class.h, plugin-class.cpp: wrap all EventArg subclasses
3263 as dependencyobjects.
3265 * plugin.cpp: connect to the plugin onerror event.
3267 2008-03-14 Chris Toshok <toshok@ximian.com>
3269 * plugin-class.h, plugin-class.cpp: wrapped TimeSpan and Duration
3270 objects aren't actually values. they're references to the
3271 particular DependencyObject/Property we got them from, so doing
3274 var foo = storyboard.Duration; foo.seconds=5;
3276 updates the original storyboard's Duration property, not just the
3277 duration contained in the "foo" variable.
3279 2008-03-13 Chris Toshok <toshok@ximian.com>
3281 * plugin-class.cpp, plugin-class.h: fix up our toString support.
3283 Thu Mar 13 23:13:59 CET 2008 Paolo Molaro <lupus@ximian.com>
3285 * Makefile.am: don't overwrite binary files when installing the
3286 plugin (avoids crashes in the running browser).
3288 2008-03-13 Chris Toshok <toshok@ximian.com>
3290 * plugin-entry.cpp: fix backward compatibility of the plugin api.
3291 also, use the NPVERS_ defines for feature tests instead of our own
3292 set. Also, add NPN_Enumerate.
3294 2008-03-13 Andrew Jorgensen <ajorgensen@novell.com>
3296 * install.js.in: Change the install path so that the plugin
3297 should work in debian (iceweasel)
3299 2008-03-13 Chris Toshok <toshok@ximian.com>
3301 * moz-sdk/*: import the trunk firefox plugin headers.
3303 * plugin.cpp (PluginInstance::Initialize): fix the hack I needed
3304 due to xulrunner-1.8.10 headers not having NPNVSupportsWindowless.
3306 * plugin-class.h, plugin-class.cpp (MoonlightObjectType): add
3307 Enumerate, which just iterates over the mapping filling in the
3310 * Makefile.am: add dist-hook to copy the moz-sdk headers.
3312 * mono.cpp (vm_init): missed this STACK_DEBUG -> DEBUG change.
3314 2008-03-12 Sebastien Pouliot <sebastien@ximian.com>
3316 * plugin-downloader.cpp: Fix duplicate g_strdup on pd->uri.
3318 2008-03-12 Michael Dominic K. <mdk@mdk.am>
3320 * plugin-downloader.cpp: Adding an extra NULL check. Fixes the
3321 flowers-for-you.com.my website.
3323 2008-03-12 Miguel de Icaza <miguel@novell.com>
3325 * browser-mmsh.cpp (AsyncBrowserMmshResponse::MmsMetadataParse):
3326 Rewrote this routine to have a regular parser instead of splitting
3327 strings with g_strsplit, copes with commas inside metadata.
3329 Fernando mentioned that most of this code is no longer useful,
3330 except for a few flags.
3332 2008-03-11 Fernando Herrera <fherrera@novell.com>
3336 * plugin-downloader.cpp: Parse MMS Metadata packet. Get file size and
3337 asf_packet_size from the ASF header.
3339 2008-03-10 Michael Dominic K. <mdk@mdk.am>
3341 * plugin-class.cpp: Don't scream about the unsupported type when
3342 setting a property to NULL. Instead, pass NULL and let the
3343 SetValue do it's thing (ie. nullable handling). This fixes the
3344 Animation_CornerCases.htm.
3346 2008-03-08 Geoff Norton <gnorton@novell.com>
3348 * plugin.cpp: I suppose I'm one of these for real now.
3350 2008-03-08 Fernando Herrera <fherrera@novell.com>
3354 * plugin-downloader.cpp: Stop properly the mms download.
3356 2008-03-06 Chris Toshok <toshok@ximian.com>
3358 * plugin.cpp (PluginInstance::Initialize): make sure we look for
3359 the right framerate property name. the JS is specified using
3360 "framerate", but the plugin has to recognize "maxFramerate"
3362 (PluginInstance::CreateWindow): use the surface's timemanager.
3363 (PluginInstance::setMaxFrameRate): same.
3365 2008-03-06 Rolf Bjarne Kvinge <RKvinge@novell.com>
3367 * plugin-class.cpp, plugin-class.h: Make our Moonlight*EventArgs mirror the
3368 runtime *EventArgs Updated runtime event handling to receive an
3369 EventArgs* calldata instead of a gpointer. This allows us to create the
3370 correct Moonlight*EventArgs based on the actual type of the runtime
3371 *EventArgs, instead of making a decision based on the event name,
3372 obsoleting all the *_event_wrapper functions.
3373 * plugin-glue.cpp: Set the pdata field of the instance to NULL before
3374 deleting the plugin, this allows us to detect plugin usage during plugin
3375 destruction (we might cause destruction of EventObjects -> events are
3376 raised -> plugin tries to send those events to js -> crash)
3378 2008-03-05 Michael Dominic K. <mdk@mdk.am>
3380 * plugin-class.cpp: Making the plugin class use the new enum<->str code
3383 2008-03-03 Chris Toshok <toshok@ximian.com>
3385 * plugin.cpp (PluginInstance::EventHandle): add
3386 KeyPress/KeyRelease handling. there are some XXX's involing the
3387 call to gdk_keymap_translate_keyboard_state, but I have no test
3388 case at present to test this stuff against. Use at your own risk.
3390 2008-02-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
3392 * plugin-downloader.cpp: Don't call dl->NotifySize with the partial size of
3393 the file, should only be called with the final size of the file.
3395 2008-02-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
3397 * plugin.mdp: Updated.
3399 2008-02-28 Jeffrey Stedfast <fejj@novell.com>
3401 * browser-mmsh.cpp (AsyncBrowserMmshResponse::OnDataAvailable):
3402 'size' needs to be a uint32 so that the comparison is between 2
3403 uint32's rather than a uint32 and an int32.
3405 * browser-mmsh.h (class AsyncBrowserMmshResponse): Fixed a
3408 2008-02-28 Michael Dominic K. <mdk@mdk.am>
3410 * plugin/plugin-class.cpp: When getting property value try to resolve it
3411 to string if it's an enum. This way from js we ie. get:
3413 Arc.SweepDirection == "Counterclockwise"
3417 Arc.SweepDirection == 0 (enum int value).
3419 Fixes finally the OM_RemoveClearRemoveAt.htm test (with other collection
3422 2008-02-28 Fernando Herrera <fherrera@novell.com>
3427 * plugin-downloader.cpp:
3428 * plugin-downloader.h: Add initial mms over http support.
3430 2008-02-26 Chris Toshok <toshok@ximian.com>
3432 * plugin.cpp (PluginInstance::EventHandle): fix some x64 build
3434 (PluginInstance::InvalidateSurface): same.
3436 2008-02-26 Chris Toshok <toshok@ximian.com>
3438 * plugin-proxy.cpp: use RTLD_LAZY, not RTLD_NOW.
3440 * moonlight.h: more #include hackery to get the right members to
3441 be there for NPSetWindowCallbackStruct on X.
3443 * plugin.h (class PluginInstance): add our
3444 RenderSurface/InvalidateSurface methods.
3446 * plugin.cpp (PluginInstance::Initialize): initialize the
3447 windowless stuff if we need it and the browser supports it.
3448 (PluginInstance::RenderSurface): our render method - call
3450 (PluginInstance::InvalidateSurface): our invalidate method - call
3452 (PluginInstance::CreateWindow): set our invalidate/render funcs
3453 accordingly, and SetTrans on the surface (err, why?) if we're
3454 windowless, and only do the widget stuff if we aren't windowless.
3455 (PluginInstance::EventHandle): kind of gross, but fill in enough
3456 of the gdk events to fool the surface machinery. Currently
3457 missing are all key events, GdkDevice support for mouse events,
3458 and Expose event aggregation.
3460 2008-02-26 Michael Dominic K. <mdk@mdk.am>
3462 * plugin/plugin-class.cpp: Throw js exception when object passed to
3463 Collection.Remove is NULL (instead of returning false). Fixes mostly
3464 OM_RemoveClearRemoveAt but still fails because of ArcSweep problem.
3466 2008-02-26 Michael Dominic K. <mdk@mdk.am>
3468 * plugin/plugin-class.cpp: Throw js exception when Collection.Insert
3471 2008-02-26 Michael Dominic K. <mdk@mdk.am>
3473 * plugin/plugin-class.cpp: Throw js exception when Collection.Add returns
3476 2008-02-26 Michael Dominic K. <mdk@mdk.am>
3478 * plugin/plugin-class.cpp: Properly return int instead of void for
3481 2008-02-25 Chris Toshok <toshok@ximian.com>
3483 * plugin.cpp (PluginInstance::CreateWindow): use GetWidget instead
3486 2008-02-25 Chris Toshok <toshok@ximian.com>
3488 * plugin.cpp: add windowless creation stuff. move some code
3489 around, and put some in (!windowless) blocks.
3491 * plugin-entry.cpp (NP_Initialize): set handleEvent.
3493 * plugin-glue.cpp (NPP_GetValue): don't handle NeedsXEmbed here -
3494 let PluginInstance::GetValue do it.
3496 2008-02-22 Jackson Harper <jackson@ximian.com>
3498 * plugin-debug.cpp: mkdir and friends needs sys/stat.h on some
3501 2008-02-22 Michael Dominic K. <mdk@mdk.am>
3503 * plugin/plugin.cpp:
3504 * plugin/plugin.h: Add support for the cache-size reporting interface. The
3505 UI now reports cache size when running with
3506 MOONLIGHT_OVERRIDES="cache=show".
3508 2008-02-22 Rolf Bjarne Kvinge <RKvinge@novell.com>
3510 * plugin-class.cpp: Add a null check.
3511 * plugin-debug.cpp: Add a Save button to the Sources list, which will save
3512 every source file to a directory in /tmp.
3514 2008-02-21 Michael Dominic K. <mdk@mdk.am>
3516 * plugin/plugin.cpp: Small fix for table ("Properties") formatting so that
3517 it doesn't expand like crazy because of long URL's in sources.
3519 2008-02-20 Jeffrey Stedfast <fejj@novell.com>
3521 * plugin-class.cpp (MoonlightTextBlockObject::Invoke): The
3522 downloader argument is allowed to be null.
3524 2008-02-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
3526 * plugin.cpp, plugin.h, plugin-debug.cpp, plugin-debug.h: Add a 'Sources'
3527 entry to the plugin context menu, shows a list of all the files the
3528 plugin has loaded, with the ability to open the files.
3530 2008-02-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
3532 * plugin.mdp: Updated.
3534 2008-02-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
3536 * plugin-class.cpp: Fix IsVersionSupported according to tests.
3538 2008-02-19 Rolf Bjarne Kvinge <RKvinge@novell.com>
3540 * plugin.cpp, plugin-class.cpp, plugin.h: Add MaxFrameRate to the properties
3541 page, and parse windowless and framerate properties during
3542 initialization and store the values on the plugin instance, so that the
3543 property page can show the correct values.
3545 2008-02-15 Chris Toshok <toshok@ximian.com>
3547 * plugin-class.cpp (MoonlightStoryboardObject::Invoke): the seek
3548 method can take either an integer or a string representing a
3549 timespan. Fixes the JS errors I mentioned in bug #362380.
3551 2008-02-06 Jackson Harper <jackson@ximian.com>
3553 * plugin-class.cpp|h: Store all MoonlightDependencyObject classes
3554 in an array so that we can easily check if a type passed in from
3555 JS is actually a DO.
3556 - Add one check to verify that an object is a DO, I am sure we
3557 will need many more.
3559 2008-02-06 Fernando Herrera <fherrera@novell.com>
3561 * plugin-debug.cpp: set default size and scroll bars policy in the
3564 2008-02-05 Chris Toshok <toshok@ximian.com>
3566 * plugin.h, plugin.cpp: add a label to the properties dialog that
3567 shows the fps message.
3569 * plugin-debug.cpp (selection_changed): invalidate a large enough
3570 rectangle so that the selection disappears.
3572 2008-02-05 Chris Toshok <toshok@ximian.com>
3574 * Makefile.am (libmoonplugin_la_SOURCES): add plugin-debug.h/cpp
3576 * plugin-debug.h, plugin.cpp: for now, just a gtk treeview with a
3577 snapshot of the xaml hierarchy. selecting an item in the tree
3578 puts a rectangle around the element in the plugin.
3580 * plugin.cpp (plugin_show_menu): if debug is enabled, add the
3583 2008-02-05 Chris Toshok <toshok@ximian.com>
3585 * moonlight.h: don't #define DEBUG here. it's a config.h deal.
3587 2008-02-04 Jackson Harper <jackson@ximian.com>
3589 * plugin-class.cpp: Fix some of the parameter checking to match
3592 2008-01-31 Rolf Bjarne Kvinge <RKvinge@novell.com>
3594 * plugin-class.cpp, plugin-class.h: Implement toString method on
3595 MarkerReachedEventArgsObject.
3597 2008-01-30 Rolf Bjarne Kvinge <RKvinge@novell.com>
3599 * plugin-class.cpp: Handle the case where js sets Timespan seconds using an
3602 2008-01-28 Andrew Jorgensen <ajorgensen@novell.com>
3604 * Makefile.am: added plugin-downloader.h to dist
3606 2008-01-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
3608 * downloader.cpp, plugin-downloader.cpp, plugin-downloader.h: Renamed
3609 downloader.cpp to plugin-downloader.cpp and added a header file for it.
3610 Set downloader_shutdown to false upon initialization, makes aborting
3611 actually work. Save the PluginDownloader in the stream, so that we can
3612 inform the PluginDownloader when the stream is destroyed.
3613 * plugin.mdp, Makefile.am: Updated.
3614 * plugin.cpp: Include plugin-downloader.h and remove unnecessary method
3615 declarations. Inform the PluginDownloader when a stream is destroyed.
3616 * plugin-glue.cpp: Include plugin-downloader.h and remove unnecessary method
3619 2008-01-23 Chris Toshok <toshok@ximian.com>
3621 * plugin-class.cpp (EventListenerProxy::AddHandler): use the event
3622 id instead of the name for the destroyed event, and also don't try
3623 to add an event that doesn't exist for a given type.
3625 2008-10-11 Andrew Jorgensen <ajorgensen@novell.com>
3627 * plugin-proxy.cpp: Add conditionals for ffmpeg inclusion
3628 * Makefile.am: Respect ffmpeg inclusion in xpi install
3630 2008-01-10 Rolf Bjarne Kvinge <RKvinge@novell.com>
3632 * plugin.mdp: Added.
3634 2008-01-09 Chris Toshok <toshok@ximian.com>
3636 * plugin-class.h, plugin-class.cpp: add two new wrapper types -
3637 one for StrokeCollection and the other for Stroke, so that both of
3638 them can implement their GetBounds and HitTest methods.
3640 2008-01-09 Chris Toshok <toshok@ximian.com>
3642 * plugin-class.h, plugin-class.cpp: a few changes with the
3643 MoonlightMouseEventArgsObject. It now wraps a MouseEventArgs*.
3644 Translate all the property accesses and method calls into
3645 accesses/calls on the actual MouseEventArgs, instead of having the
3646 code live here. Also, add STYLUSINFO handling to the
3647 EventObjectWrapper method.
3649 2008-01-09 Jeffrey Stedfast <fejj@novell.com>
3651 * plugin.cpp (Initialize): Use g_ascii_strcasecmp() so that we are
3652 not locale dependent.
3654 2008-01-04 Jeffrey Stedfast <fejj@novell.com>
3658 * plugin-class.cpp (EventListenerProxy::AddHandler): Add a handler
3659 for the destroyed event too so that we can clear our target_object
3661 (EventListenerProxy::on_target_object_destroyed): New callback to
3662 clear the target_object pointer when it gets destroyed.
3663 (EventListenerProxy::get_wrapper_for_event_name): Use
3664 g_ascii_strcasecmp() instead of g_strcasecmp().
3665 (EventListenerProxy::~EventProxyListener): Disconnect from the
3666 destroyed event and the other event if still hooked up.
3668 2008-01-03 Jeffrey Stedfast <fejj@novell.com>
3670 * plugin-class.cpp (_set_dependency_property_value): For
3671 non-object variants, we can easily get away with using a static
3672 string buffer rather than using dynamically allocated strings to
3673 hold our temp values.
3675 2007-12-26 Rolf Bjarne Kvinge <RKvinge@novell.com>
3677 * plugin.cpp: PluginInstance::SetSource: don't check if we're setting the
3678 same source. Fixes #349592.
3680 2007-12-26 Rolf Bjarne Kvinge <RKvinge@novell.com>
3682 * plugin-class.cpp: Don't crash if surface->GetTopLevel returns null. Fixes
3685 2007-12-20 Sebastien Pouliot <sebastien@ximian.com>
3687 * plugin-class.cpp|h: Add support for StylusPointCollection since
3688 it's a special case where a new method, AddStylusPoints, is
3689 introduced. Fix unit tests for StylusPointCollection but doesn't
3690 solve bugs #349596 and 349598 because we don't capture the mouse
3693 2007-12-20 Jb Evain <jbevain@novell.com>
3695 * plugin-class.cpp (MoonId_GetStylusPoints): return an
3696 empty StylusPointCollection instead of doing non-sense.
3698 2007-12-20 Jb Evain <jbevain@novell.com>
3700 * plugin-class.cpp: throw if createObject is called
3701 for something else than Downloader.
3703 2007-12-18 Sebastien Pouliot <sebastien@ximian.com>
3705 * plugin-class.cpp: The plugin handle Color as an integer (see js
3708 2007-12-18 Rolf Bjarne Kvinge <RKvinge@novell.com>
3710 * plugin-class.cpp: The part parameter of MediaElement::SetSource is the
3711 second parameter, fixes a crash when js calls SetSource. Also removed
3714 2007-12-17 Jb Evain <jbevain@novell.com>
3716 * plugin-class.cpp: return null instead of undefined
3717 on GetValue is the value is NULL. Fixes a lot of tests
3720 2007-12-14 Jeffrey Stedfast <fejj@novell.com>
3722 * plugin.cpp (PluginInstance::CreateWindow): Set the FPS report
3724 (PluginInstance::Properties): Added FPS enable/disable properties.
3725 (PluginInstance::ReportFPS): Report the FPS via the browser's
3728 2007-12-14 Jeffrey Stedfast <fejj@novell.com>
3730 * downloader.cpp (p_downloader_abort): Set pd->stream to NULL
3731 after destroying it.
3733 * plugin.cpp (PluginInstance::TryLoad): Added a comment that we
3734 should check for errors returned by NPN_GetURLNotify().
3735 (PluginInstance::UpdateSource): Same.
3736 (PluginInstance::UrlNotify): Removed a printf.
3738 2007-12-12 Jeffrey Stedfast <fejj@novell.com>
3740 Fixes toward bug #341853
3742 * downloader.cpp (p_downloader_send): Check the return code from
3743 NPN_GetURLNotify() as it will give us an error if the file doesn't
3746 * plugin.cpp (UrlNotify): Call Downloader::NotifyFailed() on
3749 2007-12-10 Chris Toshok <toshok@ximian.com>
3751 * plugin-class.h, plugin-class.cpp: more event changes. return
3752 the integer token for adding a handler, and change
3753 removeEventListener to accept either a string (unsupported at the
3754 moment) or integer second argument. This allows things like
3755 removeEventListener (..., 0) for removing the event handler that's
3758 Also, remove MoonlightEventListener{Type,Object} since we don't
3759 need to return a wrapped object from addEventListener any longer.
3761 2007-12-07 Rolf Bjarne Kvinge <RKvinge@novell.com>
3763 * plugin-class.cpp: Plug more leaks.
3765 2007-12-06 Jeffrey Stedfast <fejj@novell.com>
3767 * plugin-class.cpp (MoonlightCollectionObject::Invoke):
3768 Implemented GetItemByName for MediaAttributeCollections.
3770 2007-12-06 Chris Toshok <toshok@ximian.com>
3772 * plugin-class.h, plugin-class.cpp: a few changes. abstract out
3773 all the event-as-property code, so we just add events to objects
3774 as additional properties in their mapping, and the MoonlightObject
3775 code handles it all for us.
3777 2007-12-05 Chris Toshok <toshok@ximian.com>
3779 * plugin-class.cpp (MoonlightDependencyObjectObject::Invoke):
3782 2007-12-05 Rolf Bjarne Kvinge <RKvinge@novell.com>
3784 * plugin-class.cpp: Rename DependencyObject::parent/SetParent/GetParent
3786 to logical_parent/SetLogicalParent/GetLogicalParent.
3788 2007-12-04 Jb Evain <jbevain@novell.com>
3790 * plugin-class.h: add the definitions of MoonlightStylusInfoType
3791 and MoonlightStylusInfoObject.
3793 * plugin-class.cpp: implement MoonlightStylusInfoType and
3794 MoonlightStylusInfoObject. Add getStylusInfo() and getStylusPoints()
3795 methods on MouseEventArgs.
3797 2007-12-04 Jackson Harper <jackson@ximian.com>
3799 * plugin-class.cpp: Map in IsLoaded, so HasProperty will return
3802 2007-12-03 Jeffrey Stedfast <fejj@novell.com>
3804 * plugin.cpp (Properties): Added more runtime debug options.
3806 2007-11-29 Jeffrey Stedfast <fejj@novell.com>
3808 * plugin.cpp (PluginInstance::Properties): Added runtime ability
3809 to enable show-expose regions.
3811 2007-11-20 Jb Evain <jbevain@novell.com>
3813 * plugin-class.cpp: rename INVOKE_EXCEPTION to
3814 THROW_JS_EXCEPTION. Throw more exceptions where needed.
3816 2007-11-20 Jb Evain <jbevain@novell.com>
3818 * plugin-class.cpp: throw JS exceptions where SL does.
3820 2007-11-20 Jb Evain <jbevain@novell.com>
3822 * plugin-class.cpp( MoonlightContentObject::Invoke):
3823 return null instead of undefined, like SL 1.0 does.
3825 2007-11-20 Jb Evain <jbevain@novell.com>
3827 * plugin-class.h (html_get_element_text): add a function
3828 to get the `innerText` of an html element from its id.
3829 * plugin-class.cpp (html_get_element_text): implement it.
3830 * plugin.cpp (PluginInstance::UpdateSourceByReference):
3831 use html_get_element_text to get the inline xaml.
3834 2007-11-16 Chris Toshok <toshok@ximian.com>
3836 * plugin-class.cpp, plugin-class.h: switch
3837 hasProperty,getProperty,setProperty,hasMethod,invoke to object
3838 methods instead of vtable entries on the type. Also, put the
3839 name->id mapping in MoonlightObject's vtable entries, before the
3840 call to the virtual object methods (so now we only do name lookups
3841 there instead of all over the place) Also, aggregate mappings for
3842 all classes up to the root in the hierarchy when we initialize the
3843 type. This means only 1 bsearch per LookupName, instead of 1 per
3846 2007-11-15 Jeffrey Stedfast <fejj@novell.com>
3848 * plugin-class.cpp: Alphabetize all of the mapping tables so that
3849 bsearch works properly.
3851 2007-11-14 Chris Toshok <toshok@ximian.com>
3853 * plugin-class.h, plugin-class.cpp: substantially rework the way
3854 names are looked up. remove 90% of the has_method/has_property
3855 code, and move all the invoke/get_property/set_property to using
3856 id's for their work instead of string comparisons. also make the
3857 string lookups case insensitive. I don't much like the way
3858 chaining is done (check out MoonlightObjectType::SetBase and
3859 MoonlightObjectType::LookupName), but it's working for now, and
3860 should be substantially faster (and easier to maintain) this way
3861 than the naive conversion to case insensitivity.
3863 2007-11-14 Jeffrey Stedfast <fejj@novell.com>
3865 Fixes for the Matrix demo.
3867 * plugin-class.cpp (EventListenerProxy): Don't leak the NPObject.
3868 (proxy_listener_to_javascript): Updated printf debugging.
3869 (moonlight_content_invoke): Use the second argument
3870 (create_namescope) and pass that along to xaml_create_from_str().
3872 2007-11-14 Andrew Jorgensen <ajorgensen@novell.com>
3874 * Makefile.am: strip the ffmpeg libs for the user plugin but do not
3875 strip libmoon and libmono, will either add an option to strip those libs
3876 later or just make that part of the release process.
3877 * install.js.in: Cleaned up error handling and added a call to
3878 refreshPlugins(), should make it so nobody has to restart firefox
3880 2007-11-13 Andrew Jorgensen <ajorgensen@novell.com>
3882 * Makefile.am: Use the mono_ddldir rather than assuming /usr/lib and
3883 pick up any dlls in the gac that are for the 2.1 profile so that we
3884 don't miss any that should have been symlinked in /usr/lib/mono/2.1 but
3885 for some reason were not.
3887 2007-11-12 Andrew Jorgensen <ajorgensen@novell.com>
3889 * Makefile.am: Add moon.config to EXTRA_DIST
3891 2007-11-12 Andrew Jorgensen <ajorgensen@novell.com>
3893 * install.js.in: Just add moonlight directory, not individual files.
3894 * mono.cpp: Get moonlight.exe from home dir plugin path.
3895 * plugin-proxy.cpp: dlopen libmono and set it's dirs.
3896 * Makefile.am: Build out the full directory structure for the user
3897 plugin and zip that.
3898 * moon.config: Installed as $sysconfdir/mono/config to tell mono to
3899 use the already dlopened libmoon.so.
3901 2007-11-09 Sebastien Pouliot <sebastien@ximian.com>
3903 * plugin.cpp: Fix Moonlight URL (#339929) since it didn't work.
3905 2007-11-09 Jb Evain <jbevain@novell.com>
3907 * browser-http.cpp|h: make browser_http_request_get_async_response
3911 2007-11-08 Miguel de Icaza <miguel@novell.com>
3913 * plugin.cpp (PluginInstance::Properties): Spice this bad boy up.
3914 We now can get some info about a XAML surface.
3916 2007-11-08 Jeffrey Stedfast <fejj@novell.com>
3918 * plugin.cpp (plugin_instance_get_surface): New function needed by
3920 (TryLoad): Removed an unnecessary g_assert() (the code handles the
3921 error case properly).
3923 2007-11-07 Jb Evain <jbevain@novell.com>
3925 * browser-http.cpp|h: implement a GetStatus method for
3926 BrowserHttpResponse.
3928 2007-11-06 Miguel de Icaza <miguel@novell.com>
3930 * plugin.cpp (string_to_js): rename from escape_quotes, this helps
3931 because some error messages being thrown from managed code contain
3932 newlines (Sudoku, see #325336).
3934 2007-11-05 Chris Toshok <toshok@ximian.com>
3936 * plugin-class.cpp (moonlight_content_invoke): don't crash if the
3937 surface hasn't been attached (if we haven't finished loading the
3940 2007-11-01 Andrew Jorgensen <ajorgensen@novell.com>
3942 * plugin.cpp: Replace PLUGIN_OURVERSION with VERSION (from config.h)
3943 * moonlight.h: Put the version in the description string for the sake
3946 2007-11-01 Andrew Jorgensen <ajorgensen@novell.com>
3948 * install.js.in: Get the version and the target CPU from configure and
3949 do some error checking, including checking that the platform matches
3951 2007-11-01 Andrew Jorgensen <ajorgensen@novell.com>
3953 * Makefile.am: Apparently $(builddir) is a newer autotools feature not
3954 available on SuSE 10.1 so we'll just not use it.
3956 2007-11-01 Rolf Bjarne Kvinge <RKvinge@novell.com>
3958 * downloader.cpp: Don't keep a ref to the Downloader, it causes a circular
3961 2007-10-31 Andrew Jorgensen <ajorgensen@novell.com>
3963 * Makefile.am: Don't link in cairo, pixman, or anything else that we
3964 don't need to libmoonplugin
3966 2007-10-29 Andrew Jorgensen <ajorgensen@novell.com>
3968 * install.js, plugin-proxy.cpp, Makefile.am: Changes to include ffmpeg
3969 libs in the XPI package
3971 2007-10-27 Jackson Harper <jackson@ximian.com>
3973 * plugin-class.cpp: Make onError work.
3975 2007-10-26 Rolf Bjarne Kvinge <RKvinge@novell.com>
3977 * plugin-class.cpp, plugin-class.h: Implement emission of MarkerReached
3980 2007-10-26 Rolf Bjarne Kvinge <RKvinge@novell.com>
3982 * mono.cpp: Enable vm stacktraces after mono has been loaded.
3984 2007-10-26 Rolf Bjarne Kvinge <RKvinge@novell.com>
3986 * downloader.cpp: Ref/unref the downloader.
3988 2007-10-26 Rolf Bjarne Kvinge <RKvinge@novell.com>
3990 * plugin-class.h: NULL-initialize a variable, fixing a crash.
3992 2007-10-25 Jackson Harper <jackson@ximian.com>
3995 * plugin-class.cpp: Add the onError event to the content object.
3997 2007-10-25 Jackson Harper <jackson@ximian.com>
3999 * plugin-class.cpp: Fix function name.
4001 2007-10-24 Rolf Bjarne Kvinge <RKvinge@novell.com>
4003 * plugin-class.cpp: Unref the event object even though the plugin is
4006 2007-10-24 Jb Evain <jbevain@novell.com>
4008 * browser-http.cpp|h: work on asynchronous requests.
4010 2007-10-23 Andrew Jorgensen <ajorgensen@novell.com>
4012 * install.js: Install the libraries under ~/.mozilla/plugins/moonlight
4013 so that they are not loaded by mozilla
4014 * moonlight.h: Don't define PLUGIN_INSTALL unless it is not defined
4015 * plugin-proxy.cpp: dlopen libmoon.so from the user's
4016 plugins/moonlight directory if we are building the user plugin
4017 * Makefile.am: Use the PLUGIN_INSTALL flag to control building of the
4020 2007-10-23 Jb Evain <jbevain@novell.com>
4022 * browser-http.cpp|h: Add support for Abort and SetBody.
4024 2007-10-22 Jb Evain <jbevain@novell.com>
4026 * browser-http.cpp: add browser_http_response_destroy and
4027 browser_http_sync_response_read.
4029 2007-10-22 Jb Evain <jbevain@novell.com>
4031 * browser-http.cpp|h (SyncBrowserHttpRequest::Read):
4032 do read the entire input stream even if it's a buffered
4035 2007-10-22 Rolf Bjarne Kvinge <RKvinge@novell.com>
4037 * plugin-class.cpp: If we're leaking NPObjects make sure we don't crash in
4038 invalidate, since FF will call invalidate long after shutting down
4041 2007-10-21 Jb Evain <jbevain@novell.com>
4043 * browser-http.cpp|h: add the files where the unmanaged
4044 implementation of BrowserHttpRequest will live.
4046 * Makefile.am: add them to the build.
4048 2007-10-18 Chris Toshok <toshok@ximian.com>
4050 * plugin-class.cpp (moonlight_dependency_object_invoke): make the
4051 debug "printf" method its own method, instead of a hack on
4053 (MoonlightEventObjectObject::Dispose): remove the wrapped object
4055 (MoonlightEventObjectObject::SetEventObject): update the cache.
4056 (EventObjectCreateWrapper): check the cache before creating a new
4059 * debug.js: convert from
4060 printf_proxy.setValue ("printf", message);
4062 printf_proxy.printf (message);
4064 * plugin.cpp, plugin.h: add {Add,Remove,Lookup}WrappedObject
4065 methods to cache the JS objects we use for a given EventObject*.
4067 2007-10-17 Chris Toshok <toshok@ximian.com>
4069 * plugin.cpp (PluginXamlLoader::TryLoad): use ->Attach instead of
4070 surface_attach, and add a comment about element->unref().
4072 2007-10-16 Jb Evain <jbevain@novell.com>
4074 * plugin.cpp: add plugin_instance_get_browser_runtime_settings.
4076 2007-10-16 Jb Evain <jbevain@novell.com>
4078 * moonlight.cs: Keep track of all plugin unload callbacks.
4079 Don't use Hashtable and refactor some code.
4081 2007-10-11 Rolf Bjarne Kvinge <RKvinge@novell.com>
4083 * plugin.cpp, plugin-proxy.cpp: Remove some const char/char mismatch
4085 * plugin-glue.cpp: Fix some const char/char mismatch warnings.
4087 2007-10-10 Chris Toshok <toshok@ximian.com>
4089 * plugin-class.cpp (EventListenerProxy::~EventListenerProxy):
4090 don't NPN_ReleaseObject the callback. the browser does this for
4093 2007-10-10 Rolf Bjarne Kvinge <RKvinge@novell.com>
4095 * plugin.cpp: Fix e-mail.
4097 2007-10-09 Andrew Jorgensen <ajorgensen@novell.com>
4099 * Makefile.am: Can't use the -MM (fail if patterns not matched) because it
4102 2007-10-09 Andrew Jorgensen <ajorgensen@novell.com>
4104 * Makefile.am: Make zip fail if one of the files is not found
4106 2007-10-09 Andrew Jorgensen <ajorgensen@novell.com>
4108 * Makefile.am: Build the firefox xpi plugin installer (unsigned)
4109 * install.js: First draft install script for xpi
4111 2007-10-09 Rolf Bjarne Kvinge <RKvinge@novell.com>
4113 * TODO: Update, fullScreen is now implemented.
4115 2007-10-08 Rolf Bjarne Kvinge <RKvinge@novell.com>
4117 * plugin.cpp: Set the downloader context of the surface.
4118 * downloader.cpp: Ref/unref the downloader we store. Get the context stored
4119 in the downloader if possible, and use it to get the plugin instance.
4120 * plugin-class.cpp: Use the brand new PluginInstance::CreateDownloader, and
4121 provide xaml loaders for the xaml_create_from* methods.
4122 * plugin.h: Add a CreateDownloader method.
4124 2007-10-04 Zoltan Varga <vargaz@gmail.com>
4126 * plugin.cpp (LoadUrl): New method to download stuff synchronously using the browser.
4127 (plugin_instance_load_url): C wrapper for the above.
4128 (ReportException): Fix a leak.
4130 2007-10-03 Chris Toshok <toshok@ximian.com>
4132 * moonlight.h: need to wrap the renamed symbols in an extern "C"
4135 2007-10-03 Chris Toshok <toshok@ximian.com>
4137 * moonlight.h, plugin-entry.cpp, plugin-proxy.cpp: if we're using
4138 libmoonloader.so, we need to rename the 4 symbols we proxy in
4139 plugin-entry.cpp, and load them up via our mangled names in
4140 plugin-proxy.cpp. This is so mozilla doesn't try to load
4141 libmoonplugin.so as a plugin itself. It should only load
4142 libmoonloader.so. Also, add code in plugin-proxy.cpp to handle
4143 the case where the .so lives in ~/.mozilla/plugins. This requires
4144 #define PLUGIN_INSTALL 1 to be used, so we should figure out how
4145 to build with that when building the XPI.
4147 2007-10-01 Rolf Bjarne Kvinge <RKvinge@novell.com>
4149 * plugin.cpp, plugin.h: Added SetPageURL, updates the Surface' source
4150 location to the url of the current page.
4152 2007-09-30 Zoltan Varga <vargaz@gmail.com>
4154 * plugin.cpp (ReportException): Handle multiple calls correctly.
4156 2007-09-28 Chris Toshok <toshok@ximian.com>
4158 * Makefile.am: wrap moonlight.exe stuff in "if
4159 INCLUDE_MONO_RUNTIME" where necessary.
4161 2007-09-28 Chris Toshok <toshok@ximian.com>
4163 * moonlight.h (INCLUDE_MONO_RUNTIME): remove #define from here.
4164 it's now a configure arg (and the define lives in config.h).
4166 2007-09-28 Zoltan Varga <vargaz@gmail.com>
4168 * plugin.cpp (UrlNotify): Add some debug messages here.
4170 * plugin.cpp (ReportException): New helper function to display exception details
4171 using dynamic html above the plugin frame.
4173 2007-09-27 Jeffrey Stedfast <fejj@novell.com>
4175 * plugin-glue.cpp (NPP_Initialize): Call runtime_init() with
4176 RUNTIME_INIT_BROWSER.
4178 2007-09-27 Rolf Bjarne Kvinge <RKvinge@novell.com>
4180 * plugin.cpp: Properly release a MoonlightObject.
4182 2007-09-26 Rolf Bjarne Kvinge <RKvinge@novell.com>
4184 * plugin.cpp: PluginInstance::UrlNotify: delete the StreamNotify when we're
4185 done with it. Added plugin_xaml_loader_from_str.
4186 * plugin-class.cpp: moonlight_scriptable_control_invoke: unref the
4187 Downloader we create once the object wrapper has it. Move implementation
4188 of MoonlightEventObjectObject::SetEventObject here.
4189 * plugin.h: StreamNotify: ref the DependencyObject we get, and unref on
4190 destruction. Added plugin_xaml_loader_from_str.
4191 * plugin-class.h: Move implementation of
4192 MoonlightEventObjectObject::SetEventObject to the cpp file.
4194 2007-09-23 Jb Evain <jbevain@novell.com>
4196 * plugin.cpp: Pride sin, add my name to the contributors.
4198 2007-09-22 Rolf Bjarne Kvinge <RKvinge@novell.com>
4200 * plugin.cpp, plugin.h: Add a plugin_unload_callback to PluginInstance, and
4201 call it in the dtor.
4202 * moonlight.cs: Added UnloadDomain: unloads the domain that was loaded for a
4203 specific plugin, and set the corresponding native callback. Keep a hash
4204 table of all created domains so that we know which domain to unload,
4205 Delete some dead code (DisposeXamlLoader, ~Loader, Dispose)
4207 2007-09-21 Rolf Bjarne Kvinge <RKvinge@novell.com>
4209 * plugin.cpp: If an assembly already has been downloaded once, don't try to
4210 reload the xaml (otherwise might cause a loop if loading the xaml failed
4211 due to a reason other than that the assembly wasn't already downloaded).
4212 Added PluginXamlLoader::LoadVM. PluginXamlLoader::TryLoad: don't call
4213 into the vm here, since it might not be loaded yet. Move implementation
4214 of InsertMapping, CreateElement and SetAttribute to XamlLoader.
4215 InitializeLoader: don't create a managed loader if the vm hasn't been
4217 * plugin.h: Move implementation of InsertMapping, CreateElement and
4218 SetAttribute to XamlLoader.
4219 * plugin-class.h: Remove unused function declaration.
4220 * mono.cpp, moon-mono.h: Remove all managed methods except moon_load_xaml,
4221 which sets the methods as callbacks on the xaml loader with delegates
4222 now. Guard against loading the vm twice.
4223 * moonlight.cs: Moved code to agclr, just kept a simple stub here that
4224 creates the new AppDomain.
4225 * plugin-glue.cpp: Don't initialize the vm when the plugin is initialized,
4226 it's initialized on demand.
4228 2007-09-19 Zoltan Varga <vargaz@gmail.com>
4230 * plugin.cpp (plugin_menu_about): Make the close button work on some gtk versions.
4232 2007-09-19 Rolf Bjarne Kvinge <RKvinge@novell.com>
4234 * plugin.cpp: Remove a printf.
4235 * plugin-class.cpp, plugin-class.h: Apparently invalidate isn't always
4236 called for our MoonlightObjects (though deallocate is). Create a Dispose
4237 method that does what invalidate did (and call it from Invalidate), and
4238 keep track if it has been called or not (allows deallocate to call it if
4239 invalidate wasn't called by mozilla). Make Dispose virtual so that the
4240 base deallocator can call it for all derived classes (which also means
4241 that we only need the base invalidate method), and add a virtual
4242 destructor so that the base deallocator can also delete the object (and
4243 remove all other *_deallocator methods). proxy_listener_to_javascript:
4244 release objects at the end of the method.
4246 2007-09-17 Rolf Bjarne Kvinge <RKvinge@novell.com>
4248 * plugin.cpp, plugin.h, moonlight.cs: Move callbacks from PluginXamlLoader
4251 2007-09-17 Rolf Bjarne Kvinge <RKvinge@novell.com>
4253 * downloader.cpp: Removed warning.
4254 * plugin.cpp: Delete the current xaml_loader if we create a new one.
4256 2007-09-17 Rolf Bjarne Kvinge <RKvinge@novell.com>
4260 2007-09-17 Rolf Bjarne Kvinge <RKvinge@novell.com>
4262 [Removed mono dependency for 1.0 moonlight applications.
4263 We now have a native [Plugin]XamlLoader that is the native counterpart of the
4264 managed Loader object, the native loader handles xaml loading when the
4265 mono runtime isn't loaded.]
4267 * plugin.cpp, plugin.h: Added PluginXamlLoader that can forward calls into
4268 the managed loader if the mono runtime is loaded.
4269 * plugin-class.cpp: isVersionSupported: if built without mono runtime
4270 support, we only support 1.0 applications. Update according to API
4272 * moonlight.h, mono.cpp, moon-mono.h: Update according to API change.
4273 * moonlight.cs: Update according to API change. Added Hosting.base_unref and
4274 unref a few objects.
4275 * plugin-glue.cpp: Don't initialize the mono runtime for 1.0 applications.
4277 2007-09-09 Chris Toshok <toshok@ximian.com>
4279 * plugin-class.cpp (moonlight_content_invoke): implement
4280 content.createFromXamlDownloader.
4282 Thu Sep 6 16:19:58 CEST 2007 Paolo Molaro <lupus@ximian.com>
4284 * mono.cpp, moon-mono.h, plugin.cpp, plugin.h: correct use of mono
4285 objects: they can't be stored in unmanaged memory.
4287 Thu Sep 6 15:22:20 CEST 2007 Paolo Molaro <lupus@ximian.com>
4289 * mono.cpp, moon-mono.h: cleanup of some code and localized the mono
4292 2007-09-04 Rolf Bjarne Kvinge <RKvinge@novell.com>
4294 * plugin-class.cpp: Added some special debug code, enabling basic printf
4295 functionality from javascript code. No need to synchronize console
4296 output with firebug output anymore.
4297 * debug.js: Added, a printf function for javascript, specially crafted for
4300 2007-08-31 Rolf Bjarne Kvinge <RKvinge@novell.com>
4302 * plugin.cpp: Get the actual size from the surface.
4304 2007-08-31 Michael Hutchinson <m.j.hutchinson@gmail.com>
4306 * plugin.cpp: Fix pointer cast for 64-bit arch.
4308 2007-08-30 Rolf Bjarne Kvinge <RKvinge@novell.com>
4310 * downloader.cpp: Added downloader_destroy.
4311 * plugin-class.cpp, plugin-class.h: Add plugin_destroy_classes, and remove a
4312 duplicate creation of MoonlightPointClass.
4313 * plugin-glue.cpp: Try shutting down everything correctly, if it can be
4314 shutdown, if not, don't initialize twice (vm and gtk).
4316 2007-08-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
4318 * plugin-class.cpp: Javascript expects the sender of a FullScreenChange
4319 event to be the toplevel canvas, so when the Surface emits this event,
4320 change the sender to the toplevel canvas.
4322 2007-08-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
4324 * plugin.cpp: Don't delete the surface, unref it.
4325 * plugin-class.cpp, plugin-class.h: Create a MoonlightEventObject* and make
4326 MoonlightDependencyObject* inherit from it. Change all event usage to
4327 the new class, enables events for objects that aren't DependencyObjects
4328 (but are EventObjects, such as Surface). Implement FullScreen support in
4329 the plugin. Remove the dob field from MoonlightDependencyObject, the
4330 MoonlightEventObject has an eo field that fits the purpose, and
4331 implement a MoonlightDependencyObject.GetDependencyObject () that does
4332 what dob did earlier (and change all usages).
4334 2007-08-24 Jackson Harper <jackson@ximian.com>
4336 * plugin-class.cpp|h: Add a new EventListenerObject that we can
4337 return from addEventListener.
4338 - Implement removeEventListener.
4340 2007-08-24 Jackson Harper <jackson@ximian.com>
4342 * plugin-class.cpp|h: Now that getPosition works as intended, we
4343 don't need to store the position as an NPObject on the
4345 - Eliminate the variant_to_value so that we don't need to do a
4346 bunch of extra casting.
4348 2007-08-24 Rolf Bjarne Kvinge <RKvinge@novell.com>
4350 * plugin-class.cpp: mouse_event_invoke (getPosition):
4351 use the argument to calculate the position if provided.
4353 2007-08-23 Jackson Harper <jackson@ximian.com>
4355 * plugin-class.cpp: We can now hookup to the resize event.
4357 2007-08-23 Jb Evain <jbevain@novell.com>
4359 * mono.cpp (vm_init): properly initialize the new debugging
4362 2007-08-23 Rolf Bjarne Kvinge <RKvinge@novell.com>
4364 * plugin-class.cpp|h: Duration and TimeSpan's seconds property
4365 is a double, so treat is as such. Add moonlight type information
4366 to MoonlightObject (and derived classes), so that the marshalling
4367 knows how to treat them when they come back from js land.
4368 _set_dependency_property_value: handle values coming from js land
4369 correctly, according to their moonlight type.
4371 2007-08-23 Jb Evain <jbevain@novell.com>
4373 * mono.cpp (vm_init): use new method name to initialize
4376 2007-08-23 Jb Evain <jbevain@novell.com>
4378 * Makefile.am: use -pkg:agmonosilver to reference agmono.dll
4380 2007-08-17 Chris Toshok <toshok@ximian.com>
4382 * plugin-class.cpp|h: add a TimeSpan wrapper object.
4384 2007-08-17 Jb Evain <jbevain@novell.com>
4386 * mono.cpp (vm_init): small refactoring to get MonoMethods.
4388 2007-08-17 Chris Toshok <toshok@ximian.com>
4390 * plugin-class.cpp (moonlight_content_has/get/set_property): stub
4391 the onFullScreenChange property, to just warn us about the
4392 unimplemented functionality.
4394 2007-08-17 Jackson Harper <jackson@ximian.com>
4396 * plugin-class.cpp|h: Add a duration object that is exposed to the
4398 - Fix the value_to_variant to handle durations, rects and points.
4400 2007-08-17 Chris Toshok <toshok@ximian.com>
4402 * plugin-class.cpp (moonlight_dependency_object_invoke): add
4403 toString method for DependencyObjects, which just returns the type
4406 2007-08-17 Jackson Harper <jackson@ximian.com>
4408 * plugin-class.cpp: Properties are allowed to be null, so we still
4409 return true if the value is null.
4411 2007-08-17 Jackson Harper <jackson@ximian.com>
4413 * plugin-class.cpp: Add the Root property to the content
4414 object. This just returns the top element.
4416 2007-08-17 Jb Evain <jbevain@novell.com>
4418 * Makefile.am: use smcs to compile moonlight.exe
4419 * mono.cpp (vm_init): force the use of the moonlight profile
4422 2007-08-16 Jackson Harper <jackson@ximian.com>
4425 * downloader.cpp: Remove my downloader event code, these are
4426 raised elsewhere (they were hidden behind another bug yesterday).
4428 2007-08-16 Jackson Harper <jackson@ximian.com>
4430 * plugin-class.cpp: Fix cut&paste error that was preventing
4431 GetValue from working (get value only needs one arg).
4433 2007-08-16 Jackson Harper <jackson@ximian.com>
4435 * plugin-class.cpp: Add removeAt method to collections.
4437 2007-08-15 Jackson Harper <jackson@ximian.com>
4439 * plugin-class.cpp: Implement ctrl/shift for mouse and keyboard
4440 events. I didn't use a shared base class, because the
4441 duplicated code is significantly less than the boilerplate code
4444 2007-08-15 Jackson Harper <jackson@ximian.com>
4446 * plugin-class.h|cpp: Add support for keyboard arguments in the
4447 keyup/keydown events. TODO: Still need to implement shift and
4448 control, ideally, in a base class for mouse and keyboard events.
4450 2007-08-15 Jackson Harper <jackson@ximian.com>
4453 * downloader.cpp: Raise downloading events.
4455 2007-08-13 Jackson Harper <jackson@ximian.com>
4457 * plugin-class.cpp: findName should only look in the dependency
4460 2007-08-13 Jackson Harper <jackson@ximian.com>
4462 * plugin-class.cpp: For dependency object strings don't return
4463 null, just return an empty string.
4465 2007-08-11 Miguel de Icaza <miguel@novell.com>
4467 * moonlight.cs: Use the new Appdomain helper methods too.
4469 Use Ansi here because we only run on Linux not on
4470 Windows and the Auto API is gone from 2.1
4472 * moonligth.cs: Use the new helper method from agmono instead of
4473 duplicating code here.
4475 2007-08-07 Jackson Harper <jackson@ximian.com>
4477 * moonlight.cs: Add another system library to the do-not-download
4480 2007-08-06 Jackson Harper <jackson@ximian.com>
4482 * plugin-class.cpp: We don't need to explicitly free the value
4483 because the dtor will for us.
4485 2007-08-06 Jackson Harper <jackson@ximian.com>
4487 * plugin-class.cpp|h: Add functionality for detaching events and
4488 for releasing object references.
4489 - When looking up on the window object, do not release it. It
4490 doesn't need to be released because it is never retained.
4491 - Add a new function for creating a browser alert message.
4493 2007-08-03 Chris Toshok <toshok@ximian.com>
4495 * plugin-class.cpp (moonlight_downloader_*): add
4496 has_property/get_property methods, for the "responseText"
4497 property. not sure if getResponseText() is still around, but the
4498 property definitely is in use by silverlight pad.
4500 2007-08-03 Jackson Harper <jackson@ximian.com>
4502 * plugin-class.h|cpp: Add support for mouse events, pass all the
4503 info needed by HtmlEventArgs back in the callback.
4504 - Don't return null or void objects from invoke or get property.
4506 2007-08-03 Jackson Harper <jackson@ximian.com>
4508 * moonlight.cs: Dont download all the system libraries.
4510 2007-08-03 Jackson Harper <jackson@ximian.com>
4512 * plugin-class.h|cpp: Add support for attaching properties.
4514 2007-08-02 Chris Toshok <toshok@ximian.com>
4516 * plugin-class.cpp (moonlight_content_invoke): createFromXaml
4517 doesn't create a control object - it parses the xaml you pass in
4518 and returns the root element, so it can be used for any xaml
4521 * plugin.h, plugin.cpp: add plugin_instance_get_init_params for
4522 use in WebApplication.StartupArgs.
4524 2007-07-29 Chris Toshok <toshok@ximian.com>
4526 * moonlight.h: track the 1.1 refresh changes.
4528 2007-07-25 Chris Toshok <toshok@ximian.com>
4530 * plugin-class.cpp (moonlight_dependency_object_invoke): implement
4531 "getParent" correctly - it can return NULL.
4533 2007-07-25 Chris Toshok <toshok@ximian.com>
4535 * plugin-class.h: implement scriptable events (adding and emitting
4538 2007-07-24 Jackson Harper <jackson@ximian.com>
4540 * plugin-class.cpp|h: Add function to invoke methods on
4541 htmlobjects from unmanaged code.
4543 2007-07-24 Chris Toshok <toshok@ximian.com>
4545 * plugin.cpp (PluginInstance::setBackground): implement.
4546 (PluginInstance::CreateWindow): if our args contained a background
4547 color, set the surface's background.
4549 2007-07-24 Jackson Harper <jackson@ximian.com>
4551 * plugin-class.cpp: Move the window release up, prevents random
4552 crashing in firefox.
4554 2007-07-24 Chris Toshok <toshok@ximian.com>
4556 * plugin-class.h, plugin-class.cpp: add wrapper classes for
4557 TextBlocks and ImageBrushes.
4559 2007-07-24 Jackson Harper <jackson@ximian.com>
4561 * plugin-class.cpp: Implement variants to value on objects. TODO,
4562 add a method to release those objects.
4564 2007-07-24 Chris Toshok <toshok@ximian.com>
4566 * plugin-class.h, plugin-class.cpp: add a wrapper class for
4567 Images, which implements SetSource. also add SetSource handling
4568 for the MediaElement wrapper.
4570 * moonlight.cs: rework event hookup so that if we fail to hookup
4571 with C#, we assume it's a JS event. hook it up via the
4572 EventListenerProxy stuff.
4574 * plugin.h, plugin.cpp: MoonlightControl -> MoonlightScriptable
4576 * plugin-class.h, plugin-class.cpp:
4578 1. rename MoonlightControl* to MoonlightScriptableControl* to
4579 distinguish it from the new MoonlightControl, which is a wrapper
4580 for our Control class. factor out the _set_dependency_property_value
4582 2. add "getParent", "setValue", and "getValue" methods to the
4583 dependencyobject wrapper.
4585 3. Add a ctor for EventListenerProxy which just takes the callback
4586 name for use in hooking up js events from the parser.
4588 2007-07-24 Jackson Harper <jackson@ximian.com>
4590 * plugin.h|cpp: Add a getter for the plugin instance
4591 * plugin-class.h|cpp: Property get/setters for html objects.
4593 2007-07-23 Chris Toshok <toshok@ximian.com>
4595 * plugin-class.h, plugin-class.cpp: include error.h, and start out
4596 some error event args wrapping stuff.
4598 2007-07-23 Miguel de Icaza <miguel@novell.com>
4600 * plugin.cpp (PluginInstance): track the timers on a linked list
4603 (~PluginInstance): Remove all the timers for this plugin on
4606 (plugin_html_timer_timeout_add, plugin_html_timer_timeout_stop):
4607 Move these routines here and track all the timers created.
4609 * moonlight.cs: Use the type from agmono instead of agclr
4611 2007-07-21 Chris Toshok <toshok@ximian.com>
4613 * plugin-class.cpp (variant_to_value): fix this such that it
4614 doesn't crash due to c++'s not using a copy ctor when you do "foo
4615 = Value()". the first of the changes are fallout from this.
4617 2007-07-20 Miguel de Icaza <miguel@novell.com>
4619 * Fix a memory leak.
4621 2007-07-19 Chris Toshok <toshok@ximian.com>
4623 * plugin-class.h, plugin-class.cpp: factor out the
4624 EventListenerProxy stuff into a separate class.
4626 2007-07-19 Chris Toshok <toshok@ximian.com>
4628 * plugin-class.cpp (moonlight_control_get_property): Retain the
4629 settings/content objects before returning them. fixes crash in
4632 2007-07-19 Chris Toshok <toshok@ximian.com>
4634 * plugin.h, plugin.cpp: add getBrowserInformation call, useful for
4635 populating the managed BrowserInformation object. need to flesh
4636 out how to get the other info. userAgent is easy.
4638 also, in plugin.cpp, only invoke is onLoad handler if
4639 vm_loader_try doesn't return a missing file. This fixes the
4640 ordering problem in the silverlight chess demo (where we were
4641 accessing JScriptPlayer before it was created).
4643 2007-07-19 Chris Toshok <toshok@ximian.com>
4645 * plugin-class.h: add some scriptable object event stuff.
4647 * plugin-class.cpp: a couple of things.
4649 1) fix the _invalidate and _deallocate methods. _invalidate
4650 shouldn't release objects. and _deallocate can now call delete
4651 again, so we don't leak all our wrapper objects.
4653 2) add some initial scriptable object event methods (add/remove),
4654 but they don't actually do much yet.
4656 * plugin.cpp: fix the refcounting of the rootobject, and remove
4657 some RUNTIME ifdefs.
4659 * plugin-glue.cpp (NPP_Initialize): remove the RUNTIME ifdefs.
4661 * moonlight.h: remove some of the unused ifdefs. also, we're not
4662 going to ever build this with RUNTIME or SCRIPTING not defined, so
4665 2007-07-18 Jackson Harper <jackson@ximian.com>
4667 * plugin-class.cpp: Build fix.
4669 2007-07-17 Chris Toshok <toshok@ximian.com>
4671 * plugin-class.cpp (moonlight_scriptable_object_invoke): deal with
4674 * plugin-class.h: change the type of InvokeDelegate - we pass an
4675 array, not an array of pointers.
4677 * plugin.cpp (JsRunOnload): remove redundant call to
4678 surface->GetToplevel().
4680 2007-07-16 Chris Toshok <toshok@ximian.com>
4682 * moonlight.cs: AppDomain.SetData the plugin instance so
4683 WebApplication can get at it.
4685 * plugin-class.cpp (variant_to_value): pseudo-inverse of
4686 value_to_variant. used by the scriptable object stuff.
4688 Also, add the first pass at the scriptable object code. it's
4689 really, really rough at this point.
4691 * plugin.cpp (PluginInstance::GetValue): switch this to calling
4693 (PluginInstance::getRootObject): put the old GetValue (create or
4696 2007-07-12 Chris Toshok <toshok@ximian.com>
4698 * plugin-class.cpp: implement support for using a string as the
4699 second arg in addEventListener. now you can register callbacks
4702 object.addEventListener ("EventName", method);
4706 object.addEventListener ("EventName", "methodName");
4708 fixes SilverlightChess crashing (since we were trying to
4709 InvokeDefault a string. oops. :)
4711 2007-07-12 Chris Toshok <toshok@ximian.com>
4713 * plugin-class.cpp (moonlight_dependency_object_invoke): implement
4714 captureMouse/releaseMouseCapture. going to move these to a
4715 UIElement specific wrapper next.
4717 2007-07-12 Chris Toshok <toshok@ximian.com>
4719 * plugin-class.cpp, plugin-class.h: a few things:
4721 refactor the listener proxying stuff to share code. when creating
4722 a proxy you create the event arg wrapper function, which at
4723 present only the mouse event stuff uses.
4725 wrap Downloader. events are properly emitted, we should move the
4726 Downloader to using EventHandler's instead of its custom list of
4729 when looking up an attached property both (or one, or neither!) of
4730 the names can be capitalized. like: foo['canvas.top'],
4731 foo['Canvas.Top'], and foo['canvas.Top']. handle all of them.
4733 in value_to_variant, when setting a property to an object value,
4734 we assume (perhaps incorrectly) that it will be a
4735 MoonlightDependencyObjectObject, and handle it that way. it seems
4736 to work for the demos at least. Also in that same method, stop
4737 allocating a 20 byte buffer in the hope that it's enough. just
4738 use g_strdup/g_strdup_printf.
4740 add control.createObject support for creating wrapped
4741 downloaders. also, start on the implementation for
4742 control.onResize, but we need to shift the surface's resize
4743 callback to use an EventHandler.
4745 2007-07-11 Chris Toshok <toshok@ximian.com>
4747 * plugin-class.cpp, plugin-class.h: fix up the point and rect
4748 wrappings, and implement mouse event proxying.
4750 2007-07-11 Chris Toshok <toshok@ximian.com>
4752 * plugin-class.cpp, plugin-class.h: wrap the MediaElement enough
4753 to provide the start/stop/pause methods.
4755 2007-07-11 Chris Toshok <toshok@ximian.com>
4757 * plugin-class.cpp, plugin-class.h, plugin-glue.cpp, plugin.h,
4758 plugin.cpp: I know this looks like a scary change, but 90% of the
4759 code is the same. I just took advantage of the fact that we
4760 already have structs with all the function pointers in them.
4761 there's no reason to proxy from a function pointer in the struct
4762 to an instance method on a singleton class - just use the function
4765 Also, add a binding for Points, which we'll need to wrap mouse
4768 2007-07-11 Chris Toshok <toshok@ximian.com>
4770 * moonlight.h (DEBUG_WARN_NOTIMPLEMENTED): add this macro so we
4771 can get spew to the console when we hit unimplemented bits.
4773 * plugin-class.cpp: a couple of changes:
4775 1. the case of property names is lax too, it seems. 'Children'
4776 can be used in the js, as well as 'Children'. so we need to allow
4779 2. Fix a memory corruption issue with value_to_variant - we need
4780 to duplicate the string we give to mozilla, since it'll free it in
4781 NPN_ReleaseVariantValue.
4783 3. Implement proxies between our event handlers and JS event
4784 listeners. We leak like a sieve here, btw. need to figure out
4785 the best way to free up these proxies. This works for any event
4786 that has been Register'ed by an EventObject and which is Emit'ed
4789 4. Implement collection.getItem().
4791 2007-07-11 Chris Toshok <toshok@ximian.com>
4793 * plugin.h, plugin.cpp: add getRootObject to return the
4794 MoonlightControlObject.
4796 * plugin-class.cpp (MoonlightDependencyObjectClass::Invoke):
4797 implement "getHost" by returning PluginInstance->getRootObject().
4799 2007-07-11 Chris Toshok <toshok@ximian.com>
4801 * plugin-class.h, plugin-class.cpp: substantially rework this
4802 stuff. Rename everything Moonlight*Class and Moonlight*Object
4803 instead of Plugin*Class/Object, to make it a little clearer that
4804 these are (almost entirely) wrappers for moonlight objects.
4806 Also clean up the distinction between "Class" and "Object". for
4807 instance, MoonlightDependencyObjectClass shouldn't have the
4808 DependencyObject*, that should live in the instance -
4809 MoonlightDependencyObjectObject (bad name i know..)
4811 our Objects also need a little bit more inheritance action.
4812 MoonlightObject isn't enough for all cases. Augment this with
4813 other classes, and override AllocateObject to allocate the right
4814 kind per class. Also, we need to override InvalidateObject to
4815 clear fields in the MoonlightObject subclasses before it's
4818 Also make all the Class's singletons. We never need more than one
4821 * plugin.h, plugin.cpp: we don't need a generate JsExecute method.
4822 besides, it's dangerous to NPN_Evaluate strings we get from the
4823 HTML anyway. Replace JsExecute with JsRunOnload, which uses
4824 NPN_Invoke to call the specified method. we also need to pass the
4825 surface's toplevel control as an argument to it.
4827 2007-07-11 Miguel de Icaza <miguel@novell.com>
4829 * moonlight.cs: Add support for downloading assembly
4832 2007-07-10 Chris Toshok <toshok@ximian.com>
4834 * moonlight.cs: add some helpful debug spew.
4836 * plugin.cpp (StreamAsFile): the mapping needs to point to the
4837 filename on disk, not the full uri. or else we try loading
4838 "http://" off the filesystem, which doesn't really work. Just to
4839 be thorough, add a mapping from the stream's url to the fname as
4842 2007-07-09 Miguel de Icaza <miguel@novell.com>
4844 * Makefile.am: install debugging symbols.
4846 * moonlight.cs: try/catch wrappers to prevent exceptions to be
4847 propagated to native code.
4849 2007-07-09 Chris Toshok <toshok@ximian.com>
4851 * moonlight.cs: copy over the System.Reflection implementation of
4852 set_attribute from XamlReader. also, track the change to the
4853 xaml_* apis - don't pass the callbacks to the individual methods.
4854 instead register them in a static ctor.
4856 2007-07-09 Miguel de Icaza <miguel@novell.com>
4858 * moonligh.cs: Invoke the Lookup(Kind, IntPtr) overload, just like
4859 we do in XamlReader.
4861 2007-07-06 Miguel de Icaza <miguel@novell.com>
4863 * downloader.cpp: Update to the get-response-text downloader API.
4865 2007-07-03 Miguel de Icaza <miguel@novell.com>
4867 * plugin.cpp (NewStream): Request that DOWNLOADER downloads be
4868 downloaded as NP_ASFILE, this means: notify us of the progres and
4869 the resulting filename.
4871 2007-06-26 Marek Habersack <mhabersack@novell.com>
4873 * moonlight.h (GDK_NATIVE_WINDOW_POINTER): define this macro if
4874 we're on a 64-bit platform. Otherwise plugin.cpp will fail to
4875 compile (attempting to convert guint32 to 64-bit pointer).
4877 2007-06-24 Larry Ewing <lewing@novell.com>
4879 * moonlight.h: include xaml.h so that things build.
4881 2007-06-24 Atsushi Enomoto <atsushi@ximian.com>
4883 * Makefile.am : we need libmoonplugin.so installed too.
4885 2007-06-23 Miguel de Icaza <miguel@novell.com>
4887 * plugin-proxy.cpp: This is the new entry point for the plugin
4888 which can be loaded and unloaded as many times as desired, and
4889 will keep the real plugin in $pkgdir/libmoonplugin.so loaded as
4892 This prevents the bugs where the code is unloaded, but we still
4893 have a few places where we are triggering screen updates when the
4894 objects have gone, those must be tracked down.
4896 2007-06-23 Chris Toshok <toshok@ximian.com>
4898 * Makefile.am: distcheck work.
4900 2007-06-22 Chris Toshok <toshok@ximian.com>
4902 * README: barebones README to tell people what to do with the
4905 2007-06-21 Jackson Harper <jackson@ximian.com>
4907 * moonlight.cs: Do what I was trying to do with the last commit.
4908 Attach the surface so that events are registed.
4910 2007-06-21 Jackson Harper <jackson@ximian.com>
4912 * moonlight.cs: Init the surface so that the mouse events are
4915 2007-06-20 Jeffrey Stedfast <fejj@gnome.org>
4917 * plugin.cpp (plugin_show_menu): Free the menu name after setting
4920 * mono.cpp (vm_init): Don't need top prefix with "/".
4922 2007-06-20 Everaldo Canuto <ecanuto@novell.com>
4924 * plugin.cpp: Add new params to xaml_create_from_file and
4925 xaml_create_from_str calls to fix compilations problems.
4927 2007-06-20 Chris Toshok <toshok@ximian.com>
4929 * plugin.cpp (StreamAsFile): don't try to execute onLoad if there
4932 2007-06-20 Everaldo Canuto <ecanuto@novell.com>
4934 * plugin.cpp, plugin.h: Implement JsExecute method and use it to call onload
4935 event specified in control creation. onLoad and onError field is also
4938 2007-06-20 Jackson Harper <jackson@ximian.com>
4940 * moonlight.cs: Tie into events.
4942 2007-06-20 Everaldo Canuto <ecanuto@novell.com>
4944 * plugin-class.cpp: Update DependencyObject setter to work with strings
4945 and some other data types, using xaml_set_property_from_str. Also remove
4946 some debug messages, we have too much.
4948 2007-06-20 Everaldo Canuto <ecanuto@novell.com>
4950 * plugin.cpp: Uncomment container detroy lines in Finalize method.
4952 2007-06-20 Sebastien Pouliot <sebastien@ximian.com>
4954 * plugin-class.cpp: Alloc one byte to set it to NULL so we don't
4955 write to unallocated memory.
4957 2007-06-20 Chris Toshok <toshok@ximian.com>
4959 * plugin.cpp (PluginInstance::Write): it turns out the "offset"
4960 parameter that is passed to us is the offset without the *stream*,
4961 not the buffer. Always pass 0 for the offset to downloader_write.
4962 This fixes image downloads for images larger than the mozilla
4963 buffer size (those requiring more than 1 write) of 16384.
4965 2007-06-19 Chris Toshok <toshok@ximian.com>
4967 * plugin-glue.cpp (NPP_Initialize): if we're going to Shutdown()
4968 the TimeManager in NPP_Shutdown, we need to restart it in
4971 2007-06-19 Chris Toshok <toshok@ximian.com>
4973 * plugin-class.cpp: check in the variant_to_value/value_to_variant
4974 methods, and make GetProperty/SetProperty use them.
4976 * plugin.cpp (UpdateSourceByReference): use g_strlcpy/g_strlcat
4977 instead of strcpy/strcat (which was actually walking off the end
4978 of the string). also, create the char array of the right size.
4980 2007-06-19 Atsushi Enomoto <atsushi@ximian.com>
4982 * Makefile.am : we need uninstall-plugin to avoid
4983 possible browser shutdown on browsing sl-enabled sites.
4985 2007-06-19 Everaldo Canuto <ecanuto@novell.com>
4987 * plugin-class.cpp, plugin-class.h: Implement DependencyObject properties
4990 2007-06-19 Everaldo Canuto <ecanuto@novell.com>
4992 * plugin.cpp: Eliminate remaining canvas field.
4994 2007-06-19 Miguel de Icaza <miguel@novell.com>
4996 * plugin.h: Eliminate the field canvas, as the managed code can
4997 replace the toplevel and we wont be able to track it. Access the
4998 field directly from the surface instead.
5000 2007-06-18 Miguel de Icaza <miguel@novell.com>
5002 * moonlight.cs: Create appdomains to keep applications separate
5003 and to keep the IntPtr to the plugin.
5005 The handle to the plugin is stored in agclr in the BrowserHost
5008 2007-06-18 Everaldo Canuto <ecanuto@novell.com>
5010 * plugin-class.cpp: Implement maxFrameRate property.
5012 2007-06-18 Everaldo Canuto <ecanuto@novell.com>
5014 * moonlight.h: Just a high value for MAX_STREAM_SIZE.
5016 2007-06-18 Everaldo Canuto <ecanuto@novell.com>
5018 * plugin.cpp, plugin.h: Implement Write and WriteReady to interact with
5019 Downloader functions. It looks to be right but image still dont appears,
5020 mayeb something in download manager functions. STREAM_NOTIFY macro added to
5023 2007-06-18 Everaldo Canuto <ecanuto@novell.com>
5025 * downloader.cpp: Fix stream notify data, must be Downloader not
5028 2007-06-18 Everaldo Canuto <ecanuto@novell.com>
5030 * plugin-glue.cpp: Remove stream destruction from Write and WriteReady, it
5031 was preventing browser to call our write function.
5033 * moonlight.h: MAX_STREAM_SIZE constant added.
5035 2007-06-17 Everaldo Canuto <ecanuto@novell.com>
5037 * plugin.cpp, plugin.h: Add a new StreamNotifyFlags REQUEST, it is used by
5038 files requested by Mono runtime, the use of notify bring us a more clean
5039 code to controls requested files.
5041 * downloader.cpp: Use StreamNotify and check for existense of instance.
5043 007-06-17 Jackson Harper <jackson@ximian.com>
5045 * moonlight.cs: Parse type names out of xmns strings. x:Class uses
5046 this slightly different format.
5048 2007-06-17 Everaldo Canuto <ecanuto@novell.com>
5050 * plugin.cpp, plugin.h: Add support for "#" (references) in source urls, it
5051 make possible use embedded xaml files. Also every source updates go to the
5052 UpdateSource and UpdateSourceByReference methods.
5054 * moonlight.cs: Xaml file loader splited in two methods CreateXamlFileLoader
5055 and CreateXamlStrLoader to support embedded files.
5057 * mono.cpp: Wrapper funtions also splited in file loader and str loader.
5059 2007-06-17 Everaldo Canuto <ecanuto@novell.com>
5061 * plugin.cpp: Use setSource to define source in Initialize, it give us only
5062 one place to check set source code. Also prevent setSource to segfault when
5063 source field is null.
5065 2007-06-17 Everaldo Canuto <ecanuto@novell.com>
5067 Fixes browser segfaults related to timemanager when goto another page or
5070 * plugin-glue.cpp: Call runtime_init every time that browser initialize
5071 plugin, when plugin shutdown just shutdown timemanager since we have
5072 problems to runtime_shutdown. Some comment added to this implementation
5073 and we must back here when runtime_shutdown is fixed.
5075 2007-06-17 Everaldo Canuto <ecanuto@novell.com>
5077 * plugin.cpp, plugin.h: Create StreamNotify class to use as notifydata
5078 parameter in NPN_GetURLNotify function, it gives us better control about
5079 what is downloading. Fixes errors when you try change control source
5082 2007-06-17 Miguel de Icaza <miguel@novell.com>
5084 * downloader.cpp (p_downloader_send): Some tidbits for the plugin
5085 download, not complete.
5087 2007-06-16 Jackson Harper <jackson@ximian.com>
5089 * moonlight.cs: Set custom attributes on xaml elements.
5091 2007-06-16 Everaldo Canuto <ecanuto@novell.com>
5093 * moonlight.h: Include config.h since moonlight.h is included by all files.
5094 Fixes compilation problems.
5096 2007-06-16 Everaldo Canuto <ecanuto@novell.com>
5098 * plugin.cpp, plugin.h: Remove sourceUrl and use NPN_GetURLNotify notifyData
5099 param to inform when download is source.
5101 2007-06-16 Everaldo Canuto <ecanuto@novell.com>
5103 * mono.cpp: Remove debug message cr.
5105 * plugin.cpp, plugin.h, plugin-class.cpp: Windowless property added.
5107 2007-06-16 Jackson Harper <jackson@ximian.com>
5109 * moonlight.cs: Quick implementation of miguels beautiful new xaml
5110 loading mechanism. We now properly download the assembly and
5111 create the element. The custom.xaml test does work, however you
5112 need to invalidate the canvas to see the red canvas background
5115 2007-06-16 Miguel de Icaza <miguel@novell.com>
5117 New mechanism for loading XAML files.
5119 Since XAML files can contain references to external assemblies and
5120 these have to be downloaded using the browser, we have now changed
5121 our previous setup that just called the xaml parser with a setup
5122 that is able to download dependencies.
5124 The system works by attempting repeatedly to parse the XAML file.
5125 The XAML parser needs to return an error condition that includes
5126 the missing dependency.
5128 For all missing dependencies, we request the file from the
5129 browser, and we re-try the parsing until it works (or it fails due
5132 * moonlight.cs: Instead of exposing a CreateFromXaml method, we
5133 now expose a Loader object.
5135 The Loader object can keep track of downloaded assembly
5136 dependencies and calls the parser.
5138 * plugin.cpp (NewStream): Use a primitive state machine
5139 (vm_missing_url == vm_missing_file) to detect when we have just
5140 requested that a file be downloaded. This probably is too
5143 (TryLoad): New method.
5145 Tries to load the XAML file, the parsing might fail because a
5146 required dependency is not available, so we need to queue the
5147 request to fetch the data.
5149 (LoadFromXaml): Use vm_xaml_loader_new and TryLoad now.
5151 * mono.cpp (vm_init): We now use a handful of more methods from
5154 (vm_loader_try, vm_insert_mapping): helper functions to call into
5155 the managed wrapper for XAML file loading.
5157 2007-06-16 Everaldo Canuto <ecanuto@novell.com>
5161 * plugin-class.cpp: Implement enableFramerateCounter, enableRedrawRegions
5162 and enableHtmlAccess properties.
5164 2007-06-15 Everaldo Canuto <ecanuto@novell.com>
5166 * plugin.cpp, plugin.h, plugin-class.cpp: Background property added.
5168 2007-06-15 Everaldo Canuto <ecanuto@novell.com>
5170 * plugin.cpp: Let LoadFromXaml just call load xaml routines.
5172 2007-06-15 Everaldo Canuto <ecanuto@novell.com>
5174 * moonlight.cs: Fix surface attachment.
5176 2007-06-15 Everaldo Canuto <ecanuto@novell.com>
5178 * plugin-glue.cpp: Prevent multiple runtime and mono vm initialization.
5180 2007-06-15 Everaldo Canuto <ecanuto@novell.com>
5182 * plugin.cpp, plugin.h: LoadFromXaml added to host canvas creation.
5184 2007-06-15 Everaldo Canuto <ecanuto@novell.com>
5186 * moonlight.h: Turns mono runtime enabled by default.
5188 * mono.cpp: Use of DEBUGMSG macro for debug message.
5190 * moonlight.cs: Fix Canvas kind number.
5192 2007-06-15 Everaldo Canuto <ecanuto@novell.com>
5194 * plugin.cpp, plugin.h, plugin-class.cpp: Fix setter for source property.
5196 2007-06-15 Everaldo Canuto <ecanuto@novell.com>
5198 * plugin.cpp, plugin.h: Add sourceUrl to get information about base source
5199 url. New Stream also check if request is for source file, if not return
5200 NP_NORMAL to be used later by downloader functions.
5202 2007-06-15 Everaldo Canuto <ecanuto@novell.com>
5204 * plugin-class.cpp, plugin-class.h: Remove macro STRING_TO_NPVARIANT, create
5205 method StringToNPVariant and change all reverences from macro to method.
5206 StringToNPVariant also take care about NULL strings.
5208 2007-06-15 Everaldo Canuto <ecanuto@novell.com>
5210 * plugin.cpp, plugin.h, plugin-class.cpp: Implement initParams property.
5212 2007-06-15 Everaldo Canuto <ecanuto@novell.com>
5214 * plugin-class.cpp: Implement setters for enableFramerateCounter,
5215 enableHtmlAccess and windowless. This fields cant be set after
5216 initialization so just do nothing and return true.
5218 2007-06-14 Everaldo Canuto <ecanuto@novell.com>
5220 * plugin-glue.cpp: After PluginObject changes we can back to release objects
5221 and it fix segfault when browser closes.
5223 2007-06-14 Everaldo Canuto <ecanuto@novell.com>
5227 * plugin-class.h: Remove unneeded instance fields, and contructor, after
5228 implementation of PluginObject we have a better way to get instance
5231 2007-06-14 Everaldo Canuto <ecanuto@novell.com>
5233 * plugin-class.cpp: Change all PluginRootClass properties to use new object
5236 2007-06-14 Everaldo Canuto <ecanuto@novell.com>
5239 * plugin-class.h: Rename NPObject references to PluginObject, PluginObject
5240 class theres more useful information like instance and plugin.
5242 2007-06-14 Everaldo Canuto <ecanuto@novell.com>
5246 * Makefile.am: Downloader functions added.
5248 * plugin-glue.cpp: On NPP_Initialize call downloader_initialize.
5250 2007-06-14 Everaldo Canuto <ecanuto@novell.com>
5252 * plugin-class.cpp: In PluginDependencyObject:: ClassGetProperty return
5253 false instead of null because funtion is of type boolean. It fix message
5256 2007-06-14 Everaldo Canuto <ecanuto@novell.com>
5258 * plugin.cpp: Move rootclass declaration to plugin-class.
5260 * plugin.h: Remove inclusion of plugin-class.h.
5262 * plugin-class.h: Introduces PluginObject class inherited from NPObject and
5263 add rootclass declaration.
5265 * plugin-class.cpp: Uses PluginObject instead of NPObject, also make use of
5266 object in 'source' property getter.
5268 2007-06-14 Everaldo Canuto <ecanuto@novell.com>
5270 * plugin.cpp, plugin.h: Add a new member finalize that must be calling
5271 instead of delete, we must later found a way to fix reload problems.
5273 * plugin-glue.cpp: Call finalize instead of delete.
5275 * TODO: Some notes about this bad implementation.
5277 2007-06-14 Everaldo Canuto <ecanuto@novell.com>
5279 * plugin-class.cpp: Add setter for control.source property.
5281 2007-06-13 Everaldo Canuto <ecanuto@novell.com>
5283 * plugin.cpp, plugin.h: isLoaded property added.
5285 * plugin-class.cpp: Implement control.isLoaded wrapper.
5287 2007-06-13 Everaldo Canuto <ecanuto@novell.com>
5290 - Take some notes on properties that cant be set after initialization.
5291 - Create macho STRING_TO_NPVARIANT to standardize the way how strings are
5292 returned to jscript calls.
5295 - Implement control.source using STRING_TO_NPVARIANT macro.
5296 - Uses STRING_TO_NPVARIANT macho in control.settings.version.
5298 * plugin.h: Add source property.
5300 * plugin.cpp: Set source on initialization.
5302 2007-06-13 Everaldo Canuto <ecanuto@novell.com>
5304 * plugin.cpp, plugin.h:
5305 - Move static rootobject to class field to get working pages with more than
5306 one moonlight control.
5307 - Implement param source for html object elements, this is default way to
5308 tell plugin which xaml it must load.
5310 2007-06-13 Everaldo Canuto <ecanuto@novell.com>
5312 * plugin-class.cpp, plugin-class.h:
5313 - Move instance field from PluginRootClass to PluginClass because most
5314 classes can make use of this field, class constructor is also changed to
5315 receive instance as parameter.
5316 - Remove host field from PluginDependencyObject, host can be accessed using
5319 2007-06-13 Everaldo Canuto <ecanuto@novell.com>
5321 * plugin-class.cpp: Implement "control.content" proeprties.
5323 2007-06-13 Everaldo Canuto <ecanuto@novell.com>
5325 * TODO: Added to include information about features that we know that is
5326 not current supported. Can be use for now to take some notes to be read
5329 2007-06-13 Everaldo Canuto <ecanuto@novell.com>
5331 * plugin-class.h: Add comments about read write/read only on properties.
5333 2007-06-13 Everaldo Canuto <ecanuto@novell.com>
5335 * plugin-class.cpp, plugin-class.h: Add SetProperty to PLUGIN_PROPERTIES
5336 and implement it for all classes.
5338 2007-06-13 Everaldo Canuto <ecanuto@novell.com>
5340 * plugin-class.cpp, plugin-class.h:
5341 - Fix IndexOf method.
5342 - Create and uses macros PLUGIN_PROPERTIES and PLUGIN_METHODS to define
5343 properties and methods.
5344 - Uses arrays to define properties and methods.
5345 - Use NPID macro to get string identifier.
5347 2007-06-12 Everaldo Canuto <ecanuto@novell.com>
5349 * plugin-class.cpp: Fix dependency of PLUGINROOTCLASS_PCOUNT in property
5350 array initialization.
5352 2007-06-12 Everaldo Canuto <ecanuto@novell.com>
5354 * plugin-class.cpp, plugin-class.h:
5355 - Implement IndexOf method that uses and array.
5356 - implement properties array.
5357 - ClassHasProperty now uses IndexOf.
5359 2007-06-12 Everaldo Canuto <ecanuto@novell.com>
5361 * Makefile.am: Fix LIBADD to include MOON_LIBS instead of two times
5364 2007-06-12 Everaldo Canuto <ecanuto@novell.com>
5366 * plugin-class.cpp, plugin-class.h: Get content and settings as a plugin
5369 2007-06-12 Everaldo Canuto <ecanuto@novell.com>
5371 * plugin.cpp, plugin.h: PluginContent class added.
5373 2007-06-11 Everaldo Canuto <ecanuto@novell.com>
5375 * plugin.cpp, plugin.h: Remove unused CreateDemoControls method.
5377 2007-06-11 Everaldo Canuto <ecanuto@novell.com>
5379 * plugin.cpp: Remove unused code and fix function names.
5381 * moonlight.h: Remove ";" on end of PLUGIN_DESCRIPTION define.
5383 2007-06-11 Atsushi Enomoto <atsushi@ximian.com>
5385 * Makefile.am : build fix. without -f rm fails.
5387 2007-06-11 Everaldo Canuto <ecanuto@novell.com>
5389 * plugin-class.cpp, plugin-class.h: Remove unused method ClassAllocate
5390 and fix all debug messages.
5392 2007-06-11 Everaldo Canuto <ecanuto@novell.com>
5394 * plugin.cpp: Fix object creation using NPN_RetainObject to increment
5395 reference count as described in Mozilla documentation.
5397 * plugin-class.cpp: On ClassDeallocate uses NPN_ReleaseObject that
5398 checks for references and release object when reference count is equal
5399 zero. It see to be solve all remaining segfault when browser closes.
5401 2007-06-11 Everaldo Canuto <ecanuto@novell.com>
5403 [Refactory jscript runtime code]
5405 * plugin-class.cpp, plugin-class.h: Create new class PluginRootClass,
5406 to be a proxy for javascript runtime calls, old code on plugin instance
5407 was moved here and all segfault related to script stuff was gone.
5409 * plugin.cpp, plugin.h: Remove jscript runtime related code and use
5412 2007-06-11 Everaldo Canuto <ecanuto@novell.com>
5416 * plugin.h: Fix remaining config.h -> moonlight.h.
5418 2007-06-11 Everaldo Canuto <ecanuto@novell.com>
5420 * moonlight.h: Define RUNTIME to enable/disable mono runtime
5421 integration. Its because right now it fails when open a page with
5422 script so we can comment /#define RUNTIME to get plugin working in
5425 * plugin.cpp: Dont call vm_load_xaml when RUNTIME is not defined.
5427 * plugin-glue.cpp: Dont call vm_init when RUNTIME is not defined.
5429 2007-06-11 Everaldo Canuto <ecanuto@novell.com>
5431 * moon-plugin.cpp: Renamed to plugin.cpp.
5432 * moon-plugin.h: Renaned to plugin.h.
5433 * config.h: Renaned to moonlight.h.
5435 * plugin-class.h, plugin-glue.cpp: Update includes.
5437 2007-06-11 Miguel de Icaza <miguel@novell.com>
5439 * Makefile.am: Delete the ~/.mozilla/plugins/libmoon.so in case it
5440 was around, that was the painful bug.
5442 * moon-plugin.cpp (CreateWindow): Do not create a canvas, nor
5443 attach it, let Mono do that.
5444 (StreamAsFile): Request that the VM loads the file, this will
5445 change to something else later when we use the Silverlight object
5448 * moonlight.cs: Implement some bits, it currently only loads the
5449 XAML file, it needs to create a new appdomain.
5451 2007-06-11 Everaldo Canuto <ecanuto@novell.com>
5455 * mono.cpp: Rename moon.cpp to moon-mono.cpp.
5457 * moon-mono.h: Add header information.
5460 * config.h: Add constant MOON_1_0 and MOON_1_1, when 1.1 is define
5461 compile also mono runtime, it is disabled by default since mono runtime
5462 give us some crashes right now.
5464 2007-06-10 Everaldo Canuto <ecanuto@novell.com>
5466 * Makefile.am: config.h added.
5474 * moon-plugin.h: Include config.h and remove unneeded includes.
5476 2007-06-10 Everaldo Canuto <ecanuto@novell.com>
5478 * moon-plugin.cpp: Remove DEMO mode and set SCRIPTING mode by default.
5480 2007-06-10 Miguel de Icaza <miguel@novell.com>
5482 * moonlight.cs: the startup code, will contain the helper classes
5483 to create new AppDomains for each instance create.
5485 * mono.cpp: New file, embeds the Mono VM.
5487 2007-06-10 Everaldo Canuto <ecanuto@novell.com>
5489 * plugin-glue.cpp: Call plugin instance destructor, now it dont causes
5490 error when you reload page.
5492 * moon-plugin.cpp: Only destroy container widget, if you dont destroy it
5493 when you start with page plugin, go to another page and close browser,
5494 a segfault is emited before browser exits. Now navigating for some time in
5495 silverlight pages looks to dont emit segfault if scripting is disabled.
5497 * plugin-class.cpp: Remove debug message from class constructor.
5499 2007-06-09 Everaldo Canuto <ecanuto@novell.com>
5504 - Read xaml file from src tag and display contents.
5505 - Disable demo box, now we have a better demo under xaml file.
5507 2007-06-09 Everaldo Canuto <ecanuto@novell.com>
5509 * Makefile.am: test added to subdirs.
5511 2007-06-09 Everaldo Canuto <ecanuto@novell.com>
5515 * moon-plugin.h: Rename DEBUG to DEBUGMSG.
5517 2007-06-08 Everaldo Canuto <ecanuto@novell.com>
5520 * moon-plugin.cpp: Change demo code to class method CreateDemoControls.
5522 2007-06-08 Everaldo Canuto <ecanuto@novell.com>
5524 * moon-plugin.cpp: Add canvas, connect it to surface and get demo working
5527 2007-06-08 Everaldo Canuto <ecanuto@novell.com>
5530 * moon-plugin.cpp: Rename CreateControls to CreateWindow.
5532 2007-06-08 Everaldo Canuto <ecanuto@novell.com>
5534 * Makefile.am: Add $(MOON_LIBS) to linker options.
5536 2007-06-08 Everaldo Canuto <ecanuto@novell.com>
5538 * plugin-glue.cpp: Dont delete plugin object since right now it causes some
5539 segfault when change to another page.
5541 * moon-plugin.cpp: Got scripting mode enabled by default.
5543 2007-06-08 Everaldo Canuto <ecanuto@novell.com>
5545 * plugin-glue.cpp: Fix plugin destruction.
5546 * moon-plugin.cpp: Change button to gtk label with plugin name and version.
5548 2007-06-07 Everaldo Canuto <ecanuto@novell.com>
5550 * plugin-glue.cpp: Set instance data to NULL to prevent error when browser
5554 - Disabled demo mode.
5555 - Enabled Scripting mode.
5556 - Fix runtime object creation, dont user NPN_RetainObject anymore.
5557 - Fix also object properties creation (settings).
5558 - Release object on class destructor.
5560 2007-06-07 Everaldo Canuto <ecanuto@novell.com>
5562 * moon-plugin.cpp: Simplify controls creation and add a button when you are
5563 not in demo mode. It is just for now to made some tests.
5565 2007-06-07 Everaldo Canuto <ecanuto@novell.com>
5567 * moon-plugin.cpp: Remove runtime initialization because it is wrong place.
5568 * plugin-glue.cpp: Add gtk and runtime initialization to NPP_Initialize.
5570 2007-06-07 Everaldo Canuto <ecanuto@novell.com>
5572 * moon-plugin.cpp: Add some initialization code to prevent some segmentation
5575 2007-06-07 Everaldo Canuto <ecanuto@novell.com>
5577 * moon-plugin.cpp: Add SCRIPTING and DEMO macros to make available only
5578 tested features, it mean that developers must uncomment this MACRO lines
5579 before work on scripting and libmoon stuff.
5581 2007-06-07 Everaldo Canuto <ecanuto@novell.com>
5583 * moon-plugin.cpp: Fix gtkplug creation fro 64bit systems.
5585 * Makefile.am: Add -lavformat to link options.
5587 Thanks Grendel for this patches.
5589 2007-06-07 Everaldo Canuto <ecanuto@novell.com>
5591 * moon-plugin.h: Change version number 0.99.0, SilverLight scripts searchs
5592 for version > 0.95.1.
5594 * test/index.html: Small fixes in test page.
5596 2007-06-07 Everaldo Canuto <ecanuto@novell.com>
5598 * test/index.html: Add javascript settings test.
5601 * moon-plugin.h: Implementing Settings class.
5603 2007-06-07 Everaldo Canuto <ecanuto@novell.com>
5606 * moon-plugin.h: Implement runtime properties structure and 'version'
5609 2007-06-07 Everaldo Canuto <ecanuto@novell.com>
5611 [PluginClass added to handle script objects]
5615 * Makefile.am: PluginClass added.
5618 * moon-plugin.h: PluginInstance now inherit from PluginClass, also
5619 scriptclass was removed and "this" is used in NPN_CreateObject. For
5620 NPN_CreateObject we can now always use classes inherited by PluginClass.
5622 2007-06-07 Everaldo Canuto <ecanuto@novell.com>
5624 * Makefile.am: Remove idl related code, new object system dont need idl or
5626 * nsIScriptableMoonPlugin.h: deleted.
5627 * nsIScriptableMoonPlugin.idl: deleted.
5629 2007-06-07 Everaldo Canuto <ecanuto@novell.com>
5631 * plugin-glue.cpp: Fix the instance initialization problems, the object
5632 instance was empty after creation.
5634 2007-06-07 Everaldo Canuto <ecanuto@novell.com>
5638 * plugin-glue.cpp: Fix SetValue declaration.
5640 * plugin-entry.cpp: Fix a lot of declarations, support for win and mac,
5641 support for runtime version checking and some other minor fixes.
5643 2007-06-06 Everaldo Canuto <ecanuto@novell.com>
5645 * moon-plugin.cpp: Comment container destructor to prevent segfault.
5647 2007-06-06 Everaldo Canuto <ecanuto@novell.com>
5649 * moon-plugin.cpp: Fix API change for Canvas.
5651 2007-06-06 Sebastien Pouliot <sebastien@ximian.com>
5653 * moon-plugin.cpp: Fix API change for SolidColorBrush.
5655 2007-06-05 Everaldo Canuto <ecanuto@novell.com>
5657 * moon-plugin.h: Add PLUGIN_OURNAME and PLUGIN_OURVERSION constants to
5658 specify our internal name and version that differs from plugin version
5659 detected by browser. SilverLight javascripts checks for WPF plugin and
5662 * moon-plugin.cpp: Change runtime initialization to CreateControls, before
5665 * plugin-glue.cpp: Fix memory allocation problems in NPP_New.
5667 2007-06-05 Everaldo Canuto <ecanuto@novell.com>
5671 * moon-plugin.h: Add initialization and remove demo transformation.
5673 2007-06-05 Everaldo Canuto <ecanuto@novell.com>
5675 [Remove ScriptablePeer code]
5677 * nsScriptablePeer.h, nsScriptablePeer.cpp: Removed.
5679 * plugin-glue.cpp: Fix debugger messages.
5683 * moon-plugin.h: Remove ScriptablePeer code since now Mozilla use
5686 2007-06-05 Sebastien Pouliot <sebastien@ximian.com>
5688 * moon-plugin.cpp: Fix API change for Rectangle.
5690 2007-06-05 Everaldo Canuto <ecanuto@novell.com>
5692 * moon-plugin-glue.cpp: Splited in plugin-glue.cpp and plugin-entry.cpp.
5693 * plugin-glue.cpp: Fix 'undefined symbol' creating NPP_SetValueX.
5695 2007-06-05 Everaldo Canuto <ecanuto@novell.com>
5697 * Makefile.am: Add some linker flags, it prevents crash on Epiphany.
5699 2007-06-05 Everaldo Canuto <ecanuto@novell.com>
5701 * test/index.html: Add script to demo html page.
5703 2007-06-05 Everaldo Canuto <ecanuto@novell.com>
5705 * moon-plugin.cpp: Add runtime init to demo code.
5707 2007-06-04 Everaldo Canuto <ecanuto@novell.com>
5709 * plugin/Makefile.am: Generate and install .xpt for install-plugin target.
5711 2007-06-04 Everaldo Canuto <ecanuto@novell.com>
5713 [Implement scriptable to plugin]
5715 * plugin/test/index.html: Sample jscript included.
5717 * plugin/Makefile.am: Generates .h from idl file use xpidl.
5719 * plugin/moon-plugin.h,
5720 * plugin/moon-plugin.cpp,
5721 * plugin/moon-plugin-glue.cpp: Implement scriptable and some clean up.
5723 * plugin/nsIScriptableMoonPlugin.h,
5724 * plugin/nsIScriptableMoonPlugin.idl,
5725 * plugin/nsScriptablePeer.cpp,
5726 * plugin/nsScriptablePeer.h: New scriptable classes.
5728 2007-06-03 Everaldo Canuto <ecanuto@novell.com>
5730 * moon-plugin-glue.cpp,
5732 * moon-plugin.cpp: Fix GetValue and implement SetValue.
5734 2007-06-03 Everaldo Canuto <ecanuto@novell.com>
5736 * moon-plugin.h: Change plugin name, version and description to mimic
5737 SilverLight and can be recognize as a valid plugin.
5739 2007-06-03 Everaldo Canuto <ecanuto@novell.com>
5741 * moon-plugin.c: Destroy objects on class destructor to prevent browser
5744 2007-06-03 Everaldo Canuto <ecanuto@novell.com>
5746 [Clean up demo and make some class fields private ]
5748 * moon-plugin-glue.c,
5750 * moon-plugin.c: Now just a surface control is added to plugn container,
5751 some field is now private demo was refactored.
5753 2007-06-03 Everaldo Canuto <ecanuto@novell.com>
5755 * Makefile.am: Compile if needed for install-plugin target.
5757 2007-06-03 Everaldo Canuto <ecanuto@novell.com>
5759 [Move to c++ based classes ]
5761 * moon-plugin-glue.c: Fix getvalue to return error when no instance
5765 * moon-plugin.c: Change all function to class methods, also move wrapper
5766 functions to moon-plugin-glue.
5768 2007-06-03 Everaldo Canuto <ecanuto@novell.com>
5772 * moon-plugin-glue.c: Remove moon_plugin_initialize and moon_plugin_shutdown
5773 since whe alread have NP_Initialize and NP_Shutdown. Also change
5774 PluginInstance structure to class (complete class suppont comming soon).
5776 2007-06-03 Everaldo Canuto <ecanuto@novell.com>
5778 * moon-plugin-glue.c: Some comments and stetic changes.
5780 2007-06-03 Everaldo Canuto <ecanuto@novell.com>
5782 * moon-plugin.h: Mime type description chage to 'WPFe Plug-In' to handle
5783 SilverLight objects.
5785 2007-06-03 Everaldo Canuto <ecanuto@novell.com>
5788 * moon-plugin.h: Remove unused members to provide a clean code.
5790 2007-06-03 Everaldo Canuto <ecanuto@novell.com>
5792 * Makefile.am: Fix link options.
5794 2007-06-03 Everaldo Canuto <ecanuto@novell.com>
5796 * moon-plugin-glue.c:
5798 * moon-plugin.h: Rename initialise to initialize.
5800 * Makefile.am: Add libmoon to link and install it on plugin dir.
5802 2007-06-02 Everaldo Canuto <ecanuto@novell.com>
5804 * moon-plugin-glue.c: Renamed to moon-plugin-glue.cpp.
5805 * moon-plugin.c: Renamed to moon-plugin.cpp.
5806 * Changelog: Create a separated change log for plugin.
5807 * Makefile.am: Renamed to moon-plugin.cpp.
5808 * moon-plugin.h: Renamed to moon-plugin.cpp.
5810 [Also add a sample to show libmoon features in browser]