Updated Branches:
  refs/heads/master 8f98831c9 -> 29432294d

Added console polyfill from native IBrowserDecorator


Project: http://git-wip-us.apache.org/repos/asf/cordova-wp8/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-wp8/commit/0985efa9
Tree: http://git-wip-us.apache.org/repos/asf/cordova-wp8/tree/0985efa9
Diff: http://git-wip-us.apache.org/repos/asf/cordova-wp8/diff/0985efa9

Branch: refs/heads/master
Commit: 0985efa9b5d2b07586435470fe4225036a4f1333
Parents: 8f98831
Author: Jesse MacFadyen <[email protected]>
Authored: Wed Jul 10 00:18:42 2013 -0700
Committer: Jesse MacFadyen <[email protected]>
Committed: Wed Jul 10 11:09:26 2013 -0700

----------------------------------------------------------------------
 wp7/framework/WPCordovaClassLib.csproj      |  3 ++
 wp7/template/cordovalib/ConsoleHelper.cs    | 37 ++++++++++++++++++++++++
 wp7/template/cordovalib/CordovaView.xaml.cs | 12 ++++----
 3 files changed, 46 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/0985efa9/wp7/framework/WPCordovaClassLib.csproj
----------------------------------------------------------------------
diff --git a/wp7/framework/WPCordovaClassLib.csproj 
b/wp7/framework/WPCordovaClassLib.csproj
index 4c6ba8c..cd1e004 100644
--- a/wp7/framework/WPCordovaClassLib.csproj
+++ b/wp7/framework/WPCordovaClassLib.csproj
@@ -167,6 +167,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/0985efa9/wp7/template/cordovalib/ConsoleHelper.cs
----------------------------------------------------------------------
diff --git a/wp7/template/cordovalib/ConsoleHelper.cs 
b/wp7/template/cordovalib/ConsoleHelper.cs
new file mode 100644
index 0000000..c7bc8df
--- /dev/null
+++ b/wp7/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/0985efa9/wp7/template/cordovalib/CordovaView.xaml.cs
----------------------------------------------------------------------
diff --git a/wp7/template/cordovalib/CordovaView.xaml.cs 
b/wp7/template/cordovalib/CordovaView.xaml.cs
index 61f673b..3830634 100644
--- a/wp7/template/cordovalib/CordovaView.xaml.cs
+++ b/wp7/template/cordovalib/CordovaView.xaml.cs
@@ -192,6 +192,10 @@ namespace WPCordovaClassLib
             storageHelper.Browser = CordovaBrowser;
             browserDecorators.Add("DOMStorage", storageHelper);
 
+            ConsoleHelper console = new ConsoleHelper();
+            console.Browser = CordovaBrowser;
+            browserDecorators.Add("ConsoleLog", console);
+
         }
 
 
@@ -243,10 +247,6 @@ namespace WPCordovaClassLib
             // prevents refreshing web control to initial state during pages 
transitions
             if (this.IsBrowserInitialized) return;
 
-
-
-            
-
             try
             {
 
@@ -397,11 +397,11 @@ namespace WPCordovaClassLib
 
         void GapBrowser_LoadCompleted(object sender, 
System.Windows.Navigation.NavigationEventArgs e)
         {
-            string nativeReady = "(function(){ 
cordova.require('cordova/channel').onNativeReady.fire()})();";
+            string nativeReady = "(function(){ 
window.setTimeout(function(){cordova.require('cordova/channel').onNativeReady.fire()},0)
 })();";
 
             try
             {
-                CordovaBrowser.InvokeScript("eval", new string[] { nativeReady 
});
+                CordovaBrowser.InvokeScript("execScript", new string[] { 
nativeReady });
             }
             catch (Exception ex)
             {

Reply via email to