adding console helper to wp8 lib project
Project: http://git-wip-us.apache.org/repos/asf/cordova-wp8/repo Commit: http://git-wip-us.apache.org/repos/asf/cordova-wp8/commit/c7d47ac3 Tree: http://git-wip-us.apache.org/repos/asf/cordova-wp8/tree/c7d47ac3 Diff: http://git-wip-us.apache.org/repos/asf/cordova-wp8/diff/c7d47ac3 Branch: refs/heads/master Commit: c7d47ac3fe5856b2452e7e85e048767e7a6ba433 Parents: 0985efa Author: Jesse MacFadyen <[email protected]> Authored: Wed Jul 10 00:52:01 2013 -0700 Committer: Jesse MacFadyen <[email protected]> Committed: Wed Jul 10 11:09:28 2013 -0700 ---------------------------------------------------------------------- wp8/framework/WPCordovaClassLib.csproj | 3 ++ wp8/template/cordovalib/ConsoleHelper.cs | 37 ++++++++++++++++++++++++ wp8/template/cordovalib/CordovaView.xaml.cs | 4 +++ 3 files changed, 44 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/c7d47ac3/wp8/framework/WPCordovaClassLib.csproj ---------------------------------------------------------------------- diff --git a/wp8/framework/WPCordovaClassLib.csproj b/wp8/framework/WPCordovaClassLib.csproj index 7df678a..2c0442b 100644 --- a/wp8/framework/WPCordovaClassLib.csproj +++ b/wp8/framework/WPCordovaClassLib.csproj @@ -209,6 +209,9 @@ <Compile Include="..\template\cordovalib\ConfigHandler.cs"> <Link>CordovaLib\ConfigHandler.cs</Link> </Compile> + <Compile Include="..\template\cordovalib\ConsoleHelper.cs"> + <Link>CordovaLib\ConsoleHelper.cs</Link> + </Compile> <Compile Include="..\template\cordovalib\CordovaCommandCall.cs"> <Link>CordovaLib\CordovaCommandCall.cs</Link> </Compile> http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/c7d47ac3/wp8/template/cordovalib/ConsoleHelper.cs ---------------------------------------------------------------------- diff --git a/wp8/template/cordovalib/ConsoleHelper.cs b/wp8/template/cordovalib/ConsoleHelper.cs new file mode 100644 index 0000000..c7bc8df --- /dev/null +++ b/wp8/template/cordovalib/ConsoleHelper.cs @@ -0,0 +1,37 @@ +using Microsoft.Phone.Controls; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; + +namespace WPCordovaClassLib.CordovaLib +{ + class ConsoleHelper : IBrowserDecorator + { + + public WebBrowser Browser { get; set; } + + public void InjectScript() + { + string script = @"(function(win) { + function exec(msg) { window.external.Notify('ConsoleLog/' + msg); } + var cons = win.console = win.console || {}; + cons.log = exec; + cons.debug = cons.debug || cons.log; + cons.info = cons.info || function(msg) { exec('INFO:' + msg ); }; + cons.warn = cons.warn || function(msg) { exec('WARN:' + msg ); }; + cons.error = cons.error || function(msg) { exec('ERROR:' + msg ); }; + })(window);"; + + Browser.InvokeScript("execScript", new string[] { script }); + } + + public bool HandleCommand(string commandStr) + { + Debug.WriteLine(commandStr.Substring("ConsoleLog/".Length)); + return true; + } + + } +} http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/c7d47ac3/wp8/template/cordovalib/CordovaView.xaml.cs ---------------------------------------------------------------------- diff --git a/wp8/template/cordovalib/CordovaView.xaml.cs b/wp8/template/cordovalib/CordovaView.xaml.cs index 49e6816..16e9aff 100644 --- a/wp8/template/cordovalib/CordovaView.xaml.cs +++ b/wp8/template/cordovalib/CordovaView.xaml.cs @@ -201,6 +201,10 @@ namespace WPCordovaClassLib orientHelper.Browser = CordovaBrowser; browserDecorators.Add("Orientation", orientHelper); + ConsoleHelper console = new ConsoleHelper(); + console.Browser = CordovaBrowser; + browserDecorators.Add("ConsoleLog", console); + } void AppClosing(object sender, ClosingEventArgs e)
