cordova-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kam...@apache.org
Subject [39/53] [abbrv] Split out cordova-lib: move cordova-plugman files
Date Thu, 01 May 2014 18:32:24 GMT
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/android/DummyPlugin.java
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/android/DummyPlugin.java b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/android/DummyPlugin.java
new file mode 100644
index 0000000..5263b0c
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/android/DummyPlugin.java
@@ -0,0 +1,19 @@
+/*
+ *
+ * Copyright 2013 Anis Kadri
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/android/TestLib.jar
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/android/TestLib.jar b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/android/TestLib.jar
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/blackberry10/index.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/blackberry10/index.js b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/blackberry10/index.js
new file mode 100644
index 0000000..5263b0c
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/blackberry10/index.js
@@ -0,0 +1,19 @@
+/*
+ *
+ * Copyright 2013 Anis Kadri
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/Custom.framework/someFheader.h
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/Custom.framework/someFheader.h b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/Custom.framework/someFheader.h
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/Custom.framework/somebinlib
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/Custom.framework/somebinlib b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/Custom.framework/somebinlib
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/DummyPlugin.bundle
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/DummyPlugin.bundle b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/DummyPlugin.bundle
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/DummyPluginCommand.h
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/DummyPluginCommand.h b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/DummyPluginCommand.h
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/DummyPluginCommand.m
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/DummyPluginCommand.m b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/DummyPluginCommand.m
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/SourceWithFramework.m
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/SourceWithFramework.m b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/SourceWithFramework.m
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/TargetDirTest.h
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/TargetDirTest.h b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/TargetDirTest.h
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/TargetDirTest.m
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/TargetDirTest.m b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/TargetDirTest.m
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/libsqlite3.dylib
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/libsqlite3.dylib b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/ios/libsqlite3.dylib
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/tizen/dummer.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/tizen/dummer.js b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/tizen/dummer.js
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/windows8/dummer.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/windows8/dummer.js b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/windows8/dummer.js
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/wp7/DummyPlugin.cs
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/wp7/DummyPlugin.cs b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/wp7/DummyPlugin.cs
new file mode 100644
index 0000000..273dc3b
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/wp7/DummyPlugin.cs
@@ -0,0 +1,19 @@
+/*
+ *
+ * Copyright 2013 Benn Mapes
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/src/wp8/DummyPlugin.cs
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/src/wp8/DummyPlugin.cs b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/wp8/DummyPlugin.cs
new file mode 100644
index 0000000..273dc3b
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/DummyPlugin/src/wp8/DummyPlugin.cs
@@ -0,0 +1,19 @@
+/*
+ *
+ * Copyright 2013 Benn Mapes
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/www/dummyplugin.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/www/dummyplugin.js b/cordova-lib/spec-plugman/plugins/DummyPlugin/www/dummyplugin.js
new file mode 100644
index 0000000..5263b0c
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/DummyPlugin/www/dummyplugin.js
@@ -0,0 +1,19 @@
+/*
+ *
+ * Copyright 2013 Anis Kadri
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/DummyPlugin/www/dummyplugin/image.jpg
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/DummyPlugin/www/dummyplugin/image.jpg b/cordova-lib/spec-plugman/plugins/DummyPlugin/www/dummyplugin/image.jpg
new file mode 100644
index 0000000..257cc56
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/DummyPlugin/www/dummyplugin/image.jpg
@@ -0,0 +1 @@
+foo

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/EnginePlugin/megaBoringVersion
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/EnginePlugin/megaBoringVersion b/cordova-lib/spec-plugman/plugins/EnginePlugin/megaBoringVersion
new file mode 100755
index 0000000..cbf7911
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/EnginePlugin/megaBoringVersion
@@ -0,0 +1,23 @@
+#! /bin/sh
+
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+# http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+echo 4.0.0
+exit 0
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/EnginePlugin/megaFunVersion
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/EnginePlugin/megaFunVersion b/cordova-lib/spec-plugman/plugins/EnginePlugin/megaFunVersion
new file mode 100755
index 0000000..1e4c706
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/EnginePlugin/megaFunVersion
@@ -0,0 +1,23 @@
+#! /bin/sh
+
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+# http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+echo 1.0.0
+exit 0
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/EnginePlugin/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/EnginePlugin/plugin.xml b/cordova-lib/spec-plugman/plugins/EnginePlugin/plugin.xml
new file mode 100644
index 0000000..a58f19e
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/EnginePlugin/plugin.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
+    xmlns="http://www.phonegap.com/ns/plugins/1.0"
+    id="com.cordova.engine"
+    version="1.0.0">
+
+    <name>Engine Choo Choo</name>
+
+    <engines>
+        <engine name="cordova" version=">=2.3.0"/>
+        <engine name="cordova-plugman" version=">=0.10.0" />
+        <engine name="mega-fun-plugin" version=">=1.0.0" scriptSrc="megaFunVersion" platform="*" />
+        <engine name="mega-boring-plugin" version=">=3.0.0" scriptSrc="megaBoringVersion" platform="ios|android" />
+    </engines>
+    
+</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/EnginePluginAndroid/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/EnginePluginAndroid/plugin.xml b/cordova-lib/spec-plugman/plugins/EnginePluginAndroid/plugin.xml
new file mode 100644
index 0000000..fe2bce2
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/EnginePluginAndroid/plugin.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
+    xmlns="http://www.phonegap.com/ns/plugins/1.0"
+    id="com.cordova.engine"
+    version="1.0.0">
+
+    <name>Engine Choo Choo</name>
+
+    <engines>
+        <engine name="cordova" version=">=3.0.0"/>
+        <engine name="cordova-android" version=">=3.1.0"/>
+        <engine name="android-sdk" version=">=18"/>
+    </engines>
+    
+</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/EnginePluginiOS/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/EnginePluginiOS/plugin.xml b/cordova-lib/spec-plugman/plugins/EnginePluginiOS/plugin.xml
new file mode 100644
index 0000000..d7a9a8e
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/EnginePluginiOS/plugin.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
+    xmlns="http://www.phonegap.com/ns/plugins/1.0"
+    id="com.cordova.engine"
+    version="1.0.0">
+
+    <name>Engine Choo Choo</name>
+
+    <engines>
+        <engine name="cordova" version=">=3.0.0"/>
+        <engine name="cordova-android" version=">=3.1.0"/>
+        <engine name="apple-ios" version="6.1"/>
+        <engine name="apple-osx" version=">10.0"/>
+        <engine name="apple-xcode" version=">=4.6.3"/>
+    </engines>
+    
+</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/FaultyPlugin/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/FaultyPlugin/plugin.xml b/cordova-lib/spec-plugman/plugins/FaultyPlugin/plugin.xml
new file mode 100644
index 0000000..22564e7
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/FaultyPlugin/plugin.xml
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright 2013 Anis Kadri
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<plugin xmlns="http://cordova.apache.org/ns/plugins/1.0"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    id="com.phonegap.plugins.faultyplugin"
+    version="0.6.0">
+
+    <name>Faulty Plugin</name>
+
+    <access origin="build.phonegap.com" />
+    <access origin="s3.amazonaws.com" />
+    <!-- file doesn't exist -->
+
+    <config-file target="config.xml" parent="/widget">
+        <asset src="www/main.js" target="faultyplugin/main.js" />
+        <asset src="www/index.js" target="faultyplugin/index.js" />
+    </config-file>
+
+    <!-- android -->
+    <platform name="android">
+        <config-file target="AndroidManifest.xml" parent="/manifest/application">
+            <activity android:name="com.phonegap.plugins.faultyplugin.FaultyPlugin"
+                      android:label="@string/app_name">
+                <intent-filter>
+                </intent-filter>
+            </activity>
+        </config-file>
+
+        <!-- CDV < 2.0 -->
+        <config-file target="res/xml/plugins.xml" parent="/plugins">
+            <plugin name="FaultyPlugin"
+                value="com.phonegap.plugins.faultyplugin.FaultyPlugin"/>
+        </config-file>
+
+        <!-- CDV 2.0+ (for now) -->
+        <config-file target="res/xml/config.xml" parent="/cordova/plugins">
+            <plugin name="FaultyPlugin"
+                value="com.phonegap.plugins.faultyplugin.FaultyPlugin"/>
+        </config-file>
+
+        <!-- this file doesn't exist -->
+        <source-file src="src/android/NotHere.java"
+                target-dir="src/com/phonegap/plugins/faultyplugin" />
+    </platform>
+    
+    <!-- android -->
+    <platform name="amazon-fireos">
+        <config-file target="AndroidManifest.xml" parent="/manifest/application">
+            <activity android:name="com.phonegap.plugins.faultyplugin.FaultyPlugin"
+                      android:label="@string/app_name">
+                <intent-filter>
+                </intent-filter>
+            </activity>
+        </config-file>
+
+        <!-- CDV < 2.0 -->
+        <config-file target="res/xml/plugins.xml" parent="/plugins">
+            <plugin name="FaultyPlugin"
+                value="com.phonegap.plugins.faultyplugin.FaultyPlugin"/>
+        </config-file>
+
+        <!-- CDV 2.0+ (for now) -->
+        <config-file target="res/xml/config.xml" parent="/cordova/plugins">
+            <plugin name="FaultyPlugin"
+                value="com.phonegap.plugins.faultyplugin.FaultyPlugin"/>
+        </config-file>
+
+        <!-- this file doesn't exist -->
+        <source-file src="src/android/NotHere.java"
+                target-dir="src/com/phonegap/plugins/faultyplugin" />
+    </platform>
+
+    <!-- ios -->
+    <platform name="ios">
+        <!-- /cordova/plugins no longer exists, it is now /widget/plugins -->
+        <!-- this should fail to install on ios -->
+        <config-file target="config.xml" parent="/cordova/plugins">
+            <plugin name="FaultyPlugin"
+                value="FaultyPlugin"/>
+        </config-file>
+
+        <header-file src="src/ios/FaultyPlugin.h" />
+        <source-file src="src/ios/FaultyPlugin.m" />
+        <!-- these files don't exist -->
+        <header-file src="src/ios/FaultyPluginCommand.h" />
+        <source-file src="src/ios/FaultyPluginCommand.m" />
+        <resource-file src="src/ios/IDontExist.bundle" />
+        <framework src="src/ios/Nopers.lib" />
+        <framework src="src/ios/NonExistantCustomFramework.framework" custom="true" />
+    </platform>
+    <platform name="blackberry10">
+        <config-file target="config.xml" parent="/widget">
+            <feature id="cordova.echo" required="true" version="1.0.0.0"/>
+        </config-file>
+
+        <source-file src="src/blackberry10/index.js" target-dir="ext-qnx/cordova.echo" />
+        <!-- these dont exist -->
+        <lib-file src="src/blackberry10/device/echoJnext.so" target-dir="ext-qnx/cordova.echo/device" />
+        <lib-file src="src/blackberry10/simulator/echoJnext.so" target-dir="ext-qnx/cordova.echo/simulator" />
+    </platform>
+
+    <!-- wp7 -->
+    <platform name="wp7">
+        <config-file target="config.xml" parent="/*">
+            <feature name="FaultyPlugin">
+                <param name="wp-package" value="FaultyPlugin"/>
+            </feature>
+        </config-file>
+
+        <source-file src="src/wp7/FaultyPlugin.cs" />
+
+        <!-- this doesn't exist -->
+        <source-file src="src/wp7/NotHere.cs" />
+    </platform>
+
+    <!-- wp8 -->
+    <platform name="wp8">
+        <config-file target="config.xml" parent="/*">
+            <feature name="FaultyPlugin">
+                <param name="wp-package" value="FaultyPlugin"/>
+            </feature>
+        </config-file>
+
+        <source-file src="src/wp8/FaultyPlugin.cs" />
+
+        <!-- this doesn't exist -->
+        <source-file src="src/wp8/NotHere.cs" />
+    </platform>
+
+    <!-- wp8 -->
+    <platform name="windows8">
+        <config-file target="config.xml" parent="/*">
+            <feature name="FaultyPlugin">
+                <param name="windows8-package" value="FaultyPlugin"/>
+            </feature>
+        </config-file>
+
+        <source-file src="src/windows8/faultyPlugin.js" />
+
+        <!-- does not exist -->
+        <source-file src="src/windows8/NotHere.js" />
+    </platform>
+</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/android/FaultyPlugin.java
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/android/FaultyPlugin.java b/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/android/FaultyPlugin.java
new file mode 100644
index 0000000..5263b0c
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/android/FaultyPlugin.java
@@ -0,0 +1,19 @@
+/*
+ *
+ * Copyright 2013 Anis Kadri
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/blackberry10/client.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/blackberry10/client.js b/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/blackberry10/client.js
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/ios/FaultyPlugin.h
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/ios/FaultyPlugin.h b/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/ios/FaultyPlugin.h
new file mode 100644
index 0000000..6a23ab6
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/ios/FaultyPlugin.h
@@ -0,0 +1,49 @@
+/*
+ *
+ * Copyright 2013 Anis Kadri
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+//
+//  PhoneGap ! ChildBrowserCommand
+//
+//
+//  Created by Jesse MacFadyen on 10-05-29.
+//  Copyright 2010 Nitobi. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#ifdef PHONEGAP_FRAMEWORK
+	#import <PhoneGap/PGPlugin.h>
+#else
+	#import "PGPlugin.h"
+#endif
+#import "ChildBrowserViewController.h"
+
+
+
+@interface ChildBrowserCommand : PGPlugin <ChildBrowserDelegate>  {
+
+	ChildBrowserViewController* childBrowser;
+}
+
+@property (nonatomic, retain) ChildBrowserViewController *childBrowser;
+
+
+- (void) showWebPage:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;
+-(void) onChildLocationChange:(NSString*)newLoc;
+
+@end

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/ios/FaultyPlugin.m
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/ios/FaultyPlugin.m b/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/ios/FaultyPlugin.m
new file mode 100644
index 0000000..38aaf64
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/ios/FaultyPlugin.m
@@ -0,0 +1,86 @@
+//
+
+// 
+//
+//  Created by Jesse MacFadyen on 10-05-29.
+//  Copyright 2010 Nitobi. All rights reserved.
+//  Copyright (c) 2011, IBM Corporation
+//  Copyright 2011, Randy McMillan
+//
+
+#import "ChildBrowserCommand.h"
+
+#ifdef PHONEGAP_FRAMEWORK
+	#import <PhoneGap/PhoneGapViewController.h>
+#else
+	#import "PhoneGapViewController.h"
+#endif
+
+
+@implementation ChildBrowserCommand
+
+@synthesize childBrowser;
+
+- (void) showWebPage:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url
+{	
+	
+    if(childBrowser == NULL)
+	{
+		childBrowser = [[ ChildBrowserViewController alloc ] initWithScale:FALSE ];
+		childBrowser.delegate = self;
+	}
+	
+/* // TODO: Work in progress
+	NSString* strOrientations = [ options objectForKey:@"supportedOrientations"];
+	NSArray* supportedOrientations = [strOrientations componentsSeparatedByString:@","];
+*/
+    PhoneGapViewController* cont = (PhoneGapViewController*)[ super appViewController ];
+    childBrowser.supportedOrientations = cont.supportedOrientations;
+    
+    if ([cont respondsToSelector:@selector(presentViewController)]) {
+        //Reference UIViewController.h Line:179 for update to iOS 5 difference - @RandyMcMillan
+        [cont presentViewController:childBrowser animated:YES completion:nil];        
+    } else {
+        [ cont presentModalViewController:childBrowser animated:YES ];
+    }                 
+        
+    NSString *url = (NSString*) [arguments objectAtIndex:0];
+        
+    [childBrowser loadURL:url  ];
+        
+}
+
+-(void) close:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url
+{
+    [ childBrowser closeBrowser];
+	
+}
+
+-(void) onClose
+{
+	NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onClose();",@""];
+	[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
+}
+
+-(void) onOpenInSafari
+{
+	NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onOpenExternal();",@""];
+	[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
+}
+
+
+-(void) onChildLocationChange:(NSString*)newLoc
+{
+	
+	NSString* tempLoc = [NSString stringWithFormat:@"%@",newLoc];
+	NSString* encUrl = [tempLoc stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+	 
+	NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onLocationChange('%@');",encUrl];
+	[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
+
+}
+
+
+
+
+@end

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/windows8/faultyPlugin.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/windows8/faultyPlugin.js b/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/windows8/faultyPlugin.js
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/wp7/FaultyPlugin.cs
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/wp7/FaultyPlugin.cs b/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/wp7/FaultyPlugin.cs
new file mode 100644
index 0000000..5263b0c
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/wp7/FaultyPlugin.cs
@@ -0,0 +1,19 @@
+/*
+ *
+ * Copyright 2013 Anis Kadri
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/wp8/FaultyPlugin.cs
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/wp8/FaultyPlugin.cs b/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/wp8/FaultyPlugin.cs
new file mode 100644
index 0000000..5263b0c
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/FaultyPlugin/src/wp8/FaultyPlugin.cs
@@ -0,0 +1,19 @@
+/*
+ *
+ * Copyright 2013 Anis Kadri
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/PluginsPlistOnly/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/PluginsPlistOnly/plugin.xml b/cordova-lib/spec-plugman/plugins/PluginsPlistOnly/plugin.xml
new file mode 100644
index 0000000..0e00504
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/PluginsPlistOnly/plugin.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright 2013 Anis Kadri
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<plugin xmlns="http://cordova.apache.org/ns/plugins/1.0"
+    id="com.phonegap.plugins.oldskewl"
+    version="0.0.1">
+
+    <name>Old Skewl Plugin using Plists</name>
+
+    <!-- ios -->
+    <platform name="ios">
+        <plugins-plist key="OldSkewl" string="OldSkewlCommand" />
+    </platform>
+</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/VariablePlugin/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/VariablePlugin/plugin.xml b/cordova-lib/spec-plugman/plugins/VariablePlugin/plugin.xml
new file mode 100644
index 0000000..9eff729
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/VariablePlugin/plugin.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright 2013 Anis Kadri
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<plugin xmlns="http://cordova.apache.org/ns/plugins/1.0"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    id="com.adobe.vars"
+    version="3.0.0">
+
+    <name>Use Variables</name>
+
+    <preference name="API_KEY" />
+
+    <info>Remember that your api key is $API_KEY!</info>
+    <!-- android -->
+    <platform name="android">
+		<config-file target="AndroidManifest.xml" parent="/manifest">
+            <poop name="GoogleMapsApiKey" value="$API_KEY" />
+            <package>$PACKAGE_NAME</package>
+		</config-file>
+		
+    </platform>
+    
+    <!-- amazon fireos -->
+    <platform name="amazon-fireos">
+		<config-file target="AndroidManifest.xml" parent="/manifest">
+            <poop name="GoogleMapsApiKey" value="$API_KEY" />
+            <package>$PACKAGE_NAME</package>
+		</config-file>
+		
+    </platform>
+
+    <!-- ios -->
+    <platform name="ios">
+        <config-file target="config.xml" parent="/widget">
+            <awesome value="$API_KEY" />
+            <cfbundleid>$PACKAGE_NAME</cfbundleid>
+        </config-file>
+        <config-file target="*-Info.plist" parent="APluginNode">
+            <string></string>
+        </config-file>
+    </platform>
+</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WebNotifications/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WebNotifications/plugin.xml b/cordova-lib/spec-plugman/plugins/WebNotifications/plugin.xml
new file mode 100644
index 0000000..b9026f1
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/WebNotifications/plugin.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright 2013 Anis Kadri
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<plugin xmlns="http://cordova.apache.org/ns/plugins/1.0"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    id="com.phonegap.plugins.webnotifications"
+    version="0.0.1">
+
+    <name>Web Notifications</name>
+
+    <asset src="www/webnotifications.js" target="webnotifications.js" />
+
+    <config-file target="config.xml" parent="/*">
+        <access origin="build.phonegap.com" />
+        <access origin="s3.amazonaws.com" />
+    </config-file>
+	
+    <!-- ios -->
+    <platform name="ios">
+        <config-file target="config.xml" parent="/*/plugins">
+            <plugin name="WebNotifications"
+                value="WebNotifications"/>
+        </config-file>
+
+        <header-file src="src/ios/WebNotifications.h" />
+
+        <source-file src="src/ios/WebNotifications.m" />
+
+    </platform>
+</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WebNotifications/src/ios/AppDelegate.m.diff
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WebNotifications/src/ios/AppDelegate.m.diff b/cordova-lib/spec-plugman/plugins/WebNotifications/src/ios/AppDelegate.m.diff
new file mode 100644
index 0000000..754d079
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/WebNotifications/src/ios/AppDelegate.m.diff
@@ -0,0 +1,18 @@
+- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
+{
+    // Note: if app wasn't running, you can still get a LN and then it doesn't call this function,
+    // I think it calls app start but notifies you that LN caused the app start or something like that.
+    
+    //UIApplicationState state = [application applicationState];
+    //BOOL wasForeground = (state == UIApplicationStateActive);
+    
+    //NSString *title = [notification.userInfo objectForKey:@"title"];
+    //NSString *body = [notification.userInfo objectForKey:@"body"];
+    NSString *tag = [notification.userInfo objectForKey:@"tag"];
+    
+    [(WebNotifications*)[self.viewController getCommandInstance:@"WebNotifications"] clickNotification:tag];
+    
+    application.applicationIconBadgeNumber = 0;
+    application.scheduledLocalNotifications = [NSArray arrayWithArray:application.scheduledLocalNotifications]; // "hack" to clear seen notifications
+}
+

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WebNotifications/src/ios/WebNotifications.h
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WebNotifications/src/ios/WebNotifications.h b/cordova-lib/spec-plugman/plugins/WebNotifications/src/ios/WebNotifications.h
new file mode 100644
index 0000000..1702f40
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/WebNotifications/src/ios/WebNotifications.h
@@ -0,0 +1,35 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ */
+
+#import <Foundation/Foundation.h>
+#import <Cordova/CDVPlugin.h>
+
+@interface WebNotifications : CDVPlugin {
+}
+
+@property (nonatomic, strong) NSMutableArray* activeNotifications;
+
+- (CDVPlugin*)initWithWebView:(UIWebView*)theWebView;
+
+- (void)createNotification:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;
+- (void)closeNotification:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;
+
+- (void)clickNotification:(NSString*)tag;
+
+@end

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WebNotifications/src/ios/WebNotifications.m
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WebNotifications/src/ios/WebNotifications.m b/cordova-lib/spec-plugman/plugins/WebNotifications/src/ios/WebNotifications.m
new file mode 100644
index 0000000..6f0c11f
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/WebNotifications/src/ios/WebNotifications.m
@@ -0,0 +1,124 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ */
+
+#define Log(fmt, ...) NSLog((@"%d: %s " fmt), __LINE__, __PRETTY_FUNCTION__, ##__VA_ARGS__);
+
+#import "WebNotifications.h"
+#import "MainViewController.h"
+
+@implementation WebNotifications
+
+@synthesize activeNotifications;
+
+- (CDVPlugin*)initWithWebView:(UIWebView*)theWebView
+{
+    self = [super init];
+    if (self) {
+        self.activeNotifications = [NSMutableArray array];
+    }
+    return self;
+}
+
+- (void)createNotification:(CDVInvokedUrlCommand*)command
+{
+    NSDictionary* options = [command.arguments objectAtIndex:0];
+
+    // w3c options:
+	NSString *title = [options objectForKey:@"title"];
+	NSString *body = [options objectForKey:@"body"];
+	NSString *tag = [options objectForKey:@"tag"];
+    //NSString *iconUrl = [options objectForKey:@"iconUrl"]; // Not supported
+    
+    // cordova option extensions:
+    NSUInteger delay = [[options objectForKey:@"delay"] unsignedIntegerValue];
+    NSString *soundUrl = [options objectForKey:@"soundUrl"];
+    NSInteger badgeNumber = [[options objectForKey:@"badgeNumber"] intValue];
+    
+    Log(@"addNotification title: %@  body: %@  tag: %@  delay: %u  badge: %u", title, body, tag, delay, badgeNumber);
+    
+    //NSString *action = [options objectForKey:@"action"];
+    //bool hasAction = ([[options objectForKey:@"hasAction"] intValue] == 1) ? YES : NO;
+    //alertAction
+    
+	UILocalNotification *notif = [[UILocalNotification alloc] init];
+	notif.alertBody = [NSString stringWithFormat:@"[%@] %@: %@", tag, title, body];
+    notif.timeZone = [NSTimeZone defaultTimeZone];
+    
+    notif.soundName = soundUrl;
+    notif.applicationIconBadgeNumber = badgeNumber;
+	
+	NSDictionary *userDict = [NSDictionary dictionaryWithObjectsAndKeys:title,@"title",body,@"body",tag,@"tag",nil];
+    notif.userInfo = userDict;
+	
+    if (delay != 0) {
+        notif.fireDate = [[NSDate date] addTimeInterval:delay];
+        //notif.repeatInterval = [[repeatDict objectForKey: repeat] intValue];
+        
+        [[UIApplication sharedApplication] scheduleLocalNotification:notif];
+    } else {
+        [[UIApplication sharedApplication] presentLocalNotificationNow:notif];
+    }
+    
+    [self.activeNotifications addObject:notif];
+}
+
+- (void)closeNotification:(CDVInvokedUrlCommand*)command
+{
+//    command.callbackId;
+    NSDictionary* options = [command.arguments objectAtIndex:0];
+    NSString *tag = [options objectForKey:@"tag"];
+
+    NSArray *notifications = [[UIApplication sharedApplication] scheduledLocalNotifications];
+    for (UILocalNotification *notification in notifications) {
+        if ([[notification.userInfo objectForKey:@"tag"] isEqualToString:tag]) {
+            Log(@"Cancelling notification with tag: %@", tag);
+            [[UIApplication sharedApplication] cancelLocalNotification:notification];
+            [self.activeNotifications removeObject:notification];
+            [self.commandDelegate sendPluginResult:[CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsInt:0] callbackId:command.callbackId];
+        }
+    }
+    [self.commandDelegate sendPluginResult:[CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsInt:0] callbackId:command.callbackId];
+}
+
+- (void)clickNotification:(NSString*)tag {
+    NSString *jsCallBack;
+    
+    jsCallBack = [NSString stringWithFormat:@"window.Notification.callOnclickByTag('%@')", tag];
+    [((CDVViewController*)self.viewController).webView stringByEvaluatingJavaScriptFromString:jsCallBack];
+    
+    NSArray *scheduledNotifications = [[UIApplication sharedApplication] scheduledLocalNotifications];
+    NSMutableArray *toDiscard = [NSMutableArray array];
+    for (UILocalNotification *notification in self.activeNotifications) {
+        if (![scheduledNotifications containsObject:notification]) {
+            // This notification is active, but no longer scheduled, so it must be displayed
+            jsCallBack = [NSString stringWithFormat:@"window.Notification.callOncloseByTag('%@')", [notification.userInfo objectForKey:@"tag"]];
+            [((CDVViewController*)self.viewController).webView stringByEvaluatingJavaScriptFromString:jsCallBack];
+            [toDiscard addObject:notification];
+        }
+    }
+    [self.activeNotifications removeObjectsInArray:toDiscard];
+}
+
+/*
+- (void)cancelAllNotifications:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options {
+	[[UIApplication sharedApplication] cancelAllLocalNotifications];
+}
+*/
+
+@end

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WebNotifications/www/webnotifications.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WebNotifications/www/webnotifications.js b/cordova-lib/spec-plugman/plugins/WebNotifications/www/webnotifications.js
new file mode 100644
index 0000000..6597337
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/WebNotifications/www/webnotifications.js
@@ -0,0 +1,123 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ */
+
+/*
+ * The W3C window.Notification API: http://www.w3.org/TR/notifications/
+ */
+if (typeof window.Notification == 'undefined') {
+
+    /**
+     * Creates and shows a new notification.
+     * @param title
+     * @param options
+     */
+    window.Notification = function(title, options) {
+        options = options || {};
+
+        this.title = title || 'defaultTitle';
+
+        // w3c options:
+        this.body = options.body || '';
+        this.tag = options.tag || 'defaultTag';
+        this.iconUrl = options.iconUrl || '';
+        // titleDir, bodyDir are not supported
+
+        // cordova option extensions:
+        this.delay = options.delay || 0;
+        this.soundUrl = options.soundUrl || '';
+        this.badgeNumber = options.badgeNumber || 0;
+
+        // there must be one unique notification per tag, so close any existing outstanding notifications
+        if (window.Notification.active[this.tag])
+            window.Notification.active[this.tag].close();
+        window.Notification.active[this.tag] = this;
+
+        // Spec claims these must be defined
+        this.onclick = options.onclick;
+        this.onerror = options.onerror;
+        this.onclose = options.onclose;
+        this.onshow = options.onshow;
+        if (this.onshow) {
+            console.log("Warning, WebNotifications plugin will never call onshow"); // this may change on other platforms
+        }
+
+        var self = this;
+        cordova.exec(null, function(error) {
+            if (self.onerror) {
+                self.onerror(error);
+            }
+        }, 'WebNotifications', 'createNotification', [{
+            tag: this.tag,
+            title: this.title,
+            body: this.body,
+            delay: this.delay,
+        }]);
+    };
+
+    // TODO: change name to something internal looking?
+    window.Notification.permission = 'granted';
+
+    window.Notification.requestPermission = function(callback) {
+        setTimeout(function() {
+            callback(window.Notification.permission);
+        }, 0);
+    };
+
+    // Not part of the W3C API. Used by the native side to call onclick handlers.
+    // TODO: change name to something internal looking?
+    window.Notification.callOnclickByTag = function(tag) {
+        var notification = window.Notification.active[tag];
+        if (notification && notification.onclick && typeof notification.onclick == 'function') {
+            notification.onclick(tag);
+        }
+        delete window.Notification.active[tag];
+    };
+
+    window.Notification.callOncloseByTag = function(tag) {
+        var notification = window.Notification.active[tag];
+        if (notification && notification.onclose && typeof notification.onclose == 'function') {
+            notification.onclose(tag);
+        }
+        delete window.Notification.active[tag];
+    };
+
+    // A global map of notifications by tag, so their onclick callbacks can be called.
+    // TODO: change name to something internal looking?
+    window.Notification.active = {};
+
+    /**
+     * Dismiss a notification.
+     */
+    window.Notification.prototype.close = function() {
+        var self = this;
+        cordova.exec(function() {
+            if (self.onclose) {
+                self.onclose();
+            }
+            delete window.Notification[self.tag];
+        }, function(error) {
+            if (self.onerror) {
+                self.onerror(error);
+            }
+            delete window.Notification[self.tag];
+        }, 'WebNotifications', 'closeNotification', [{
+            tag: this.tag,
+        }]);
+    };
+}

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/plugin.xml b/cordova-lib/spec-plugman/plugins/WeblessPlugin/plugin.xml
new file mode 100644
index 0000000..5522d22
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/WeblessPlugin/plugin.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright 2013 Anis Kadri
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<plugin xmlns="http://cordova.apache.org/ns/plugins/1.0"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    id="com.phonegap.plugins.weblessplugin"
+    version="0.6.0">
+
+    <name>Webless Plugin</name>
+
+    <config-file target="config.xml" parent="/*">
+        <access origin="build.phonegap.com" />
+        <access origin="s3.amazonaws.com" />
+    </config-file>
+	
+    <!-- android -->
+    <platform name="android">
+        <config-file target="AndroidManifest.xml" parent="/manifest/application">
+            <activity android:name="com.phonegap.plugins.weblessplugin.WeblessPlugin"
+                      android:label="@string/app_name">
+                <intent-filter>
+                </intent-filter>
+            </activity>
+        </config-file>
+
+        <!-- CDV < 2.0 -->
+        <config-file target="res/xml/plugins.xml" parent="/plugins">
+            <plugin name="WeblessPlugin"
+                value="com.phonegap.plugins.weblessplugin.WeblessPlugin"/>
+        </config-file>
+
+        <!-- CDV 2.0+ (for now) -->
+        <config-file target="res/xml/config.xml" parent="/cordova/plugins">
+            <plugin name="WeblessPlugin"
+                value="com.phonegap.plugins.weblessplugin.WeblessPlugin"/>
+        </config-file>
+
+        <source-file src="src/android/WeblessPlugin.java"
+                target-dir="src/com/phonegap/plugins/weblessplugin" />
+    </platform>
+
+    <!-- ios -->
+    <platform name="ios">
+        <!-- CDV < 2.4 -->
+        <plugins-plist key="com.phonegap.plugins.weblessplugin"
+            string="WeblessPluginCommand" />
+        <!-- CDV 2.4 had a /cordova/plugins instead of /widget/plugins so ignored! -->
+        <!-- CDV 2.5+ -->
+        <config-file target="config.xml" parent="/widget/plugins">
+            <plugin name="WeblessPlugin"
+                value="WeblessPluginCommand"/>
+        </config-file>
+
+        <resource-file src="src/ios/WeblessPlugin.bundle" />
+        <resource-file src="src/ios/WeblessPluginViewController.xib" />
+
+        <header-file src="src/ios/WeblessPluginCommand.h" />
+        <header-file src="src/ios/WeblessPluginViewController.h" />
+
+        <source-file src="src/ios/WeblessPluginCommand.m" />
+        <source-file src="src/ios/WeblessPluginViewController.m" />
+
+        <!-- framework for testing (not actual dependency of WeblessPlugin -->
+        <framework src="libsqlite3.dylib" />
+    </platform>
+</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/android/WeblessPlugin.java
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/android/WeblessPlugin.java b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/android/WeblessPlugin.java
new file mode 100644
index 0000000..5263b0c
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/android/WeblessPlugin.java
@@ -0,0 +1,19 @@
+/*
+ *
+ * Copyright 2013 Anis Kadri
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_left.png
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_left.png b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_left.png
new file mode 100644
index 0000000..530e12b
Binary files /dev/null and b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_left.png differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_left@2x.png
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_left@2x.png b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_left@2x.png
new file mode 100644
index 0000000..530e12b
Binary files /dev/null and b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_left@2x.png differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_right.png
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_right.png b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_right.png
new file mode 100644
index 0000000..8b3d855
Binary files /dev/null and b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_right.png differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_right@2x.png
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_right@2x.png b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_right@2x.png
new file mode 100644
index 0000000..8b3d855
Binary files /dev/null and b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/arrow_right@2x.png differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/but_refresh.png
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/but_refresh.png b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/but_refresh.png
new file mode 100644
index 0000000..309b6bd
Binary files /dev/null and b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/but_refresh.png differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/but_refresh@2x.png
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/but_refresh@2x.png b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/but_refresh@2x.png
new file mode 100644
index 0000000..309b6bd
Binary files /dev/null and b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/but_refresh@2x.png differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/compass.png
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/compass.png b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/compass.png
new file mode 100644
index 0000000..46a8901
Binary files /dev/null and b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/compass.png differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/compass@2x.png
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/compass@2x.png b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/compass@2x.png
new file mode 100644
index 0000000..46a8901
Binary files /dev/null and b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPlugin.bundle/compass@2x.png differ

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginCommand.h
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginCommand.h b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginCommand.h
new file mode 100644
index 0000000..6a23ab6
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginCommand.h
@@ -0,0 +1,49 @@
+/*
+ *
+ * Copyright 2013 Anis Kadri
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+//
+//  PhoneGap ! ChildBrowserCommand
+//
+//
+//  Created by Jesse MacFadyen on 10-05-29.
+//  Copyright 2010 Nitobi. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#ifdef PHONEGAP_FRAMEWORK
+	#import <PhoneGap/PGPlugin.h>
+#else
+	#import "PGPlugin.h"
+#endif
+#import "ChildBrowserViewController.h"
+
+
+
+@interface ChildBrowserCommand : PGPlugin <ChildBrowserDelegate>  {
+
+	ChildBrowserViewController* childBrowser;
+}
+
+@property (nonatomic, retain) ChildBrowserViewController *childBrowser;
+
+
+- (void) showWebPage:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;
+-(void) onChildLocationChange:(NSString*)newLoc;
+
+@end

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginCommand.m
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginCommand.m b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginCommand.m
new file mode 100644
index 0000000..38aaf64
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginCommand.m
@@ -0,0 +1,86 @@
+//
+
+// 
+//
+//  Created by Jesse MacFadyen on 10-05-29.
+//  Copyright 2010 Nitobi. All rights reserved.
+//  Copyright (c) 2011, IBM Corporation
+//  Copyright 2011, Randy McMillan
+//
+
+#import "ChildBrowserCommand.h"
+
+#ifdef PHONEGAP_FRAMEWORK
+	#import <PhoneGap/PhoneGapViewController.h>
+#else
+	#import "PhoneGapViewController.h"
+#endif
+
+
+@implementation ChildBrowserCommand
+
+@synthesize childBrowser;
+
+- (void) showWebPage:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url
+{	
+	
+    if(childBrowser == NULL)
+	{
+		childBrowser = [[ ChildBrowserViewController alloc ] initWithScale:FALSE ];
+		childBrowser.delegate = self;
+	}
+	
+/* // TODO: Work in progress
+	NSString* strOrientations = [ options objectForKey:@"supportedOrientations"];
+	NSArray* supportedOrientations = [strOrientations componentsSeparatedByString:@","];
+*/
+    PhoneGapViewController* cont = (PhoneGapViewController*)[ super appViewController ];
+    childBrowser.supportedOrientations = cont.supportedOrientations;
+    
+    if ([cont respondsToSelector:@selector(presentViewController)]) {
+        //Reference UIViewController.h Line:179 for update to iOS 5 difference - @RandyMcMillan
+        [cont presentViewController:childBrowser animated:YES completion:nil];        
+    } else {
+        [ cont presentModalViewController:childBrowser animated:YES ];
+    }                 
+        
+    NSString *url = (NSString*) [arguments objectAtIndex:0];
+        
+    [childBrowser loadURL:url  ];
+        
+}
+
+-(void) close:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url
+{
+    [ childBrowser closeBrowser];
+	
+}
+
+-(void) onClose
+{
+	NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onClose();",@""];
+	[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
+}
+
+-(void) onOpenInSafari
+{
+	NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onOpenExternal();",@""];
+	[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
+}
+
+
+-(void) onChildLocationChange:(NSString*)newLoc
+{
+	
+	NSString* tempLoc = [NSString stringWithFormat:@"%@",newLoc];
+	NSString* encUrl = [tempLoc stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+	 
+	NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onLocationChange('%@');",encUrl];
+	[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
+
+}
+
+
+
+
+@end

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginViewController.h
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginViewController.h b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginViewController.h
new file mode 100644
index 0000000..d6fc139
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginViewController.h
@@ -0,0 +1,73 @@
+/*
+ *
+ * Copyright 2013 Anis Kadri
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+//
+//  ChildBrowserViewController.h
+//
+//  Created by Jesse MacFadyen on 21/07/09.
+//  Copyright 2009 Nitobi. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@protocol ChildBrowserDelegate<NSObject>
+
+
+
+/*
+ *  onChildLocationChanging:newLoc
+ *  
+ *  Discussion:
+ *    Invoked when a new page has loaded
+ */
+-(void) onChildLocationChange:(NSString*)newLoc;
+-(void) onOpenInSafari;
+-(void) onClose;
+@end
+
+
+@interface ChildBrowserViewController : UIViewController < UIWebViewDelegate > {
+	IBOutlet UIWebView* webView;
+	IBOutlet UIBarButtonItem* closeBtn;
+	IBOutlet UIBarButtonItem* refreshBtn;
+	IBOutlet UILabel* addressLabel;
+	IBOutlet UIBarButtonItem* backBtn;
+	IBOutlet UIBarButtonItem* fwdBtn;
+	IBOutlet UIBarButtonItem* safariBtn;
+	IBOutlet UIActivityIndicatorView* spinner;
+	BOOL scaleEnabled;
+	BOOL isImage;
+	NSString* imageURL;
+	NSArray* supportedOrientations;
+	id <ChildBrowserDelegate> delegate;
+}
+
+@property (nonatomic, retain)id <ChildBrowserDelegate> delegate;
+@property (nonatomic, retain) 	NSArray* supportedOrientations;
+@property(retain) NSString* imageURL;
+@property(assign) BOOL isImage;
+
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation; 
+- (ChildBrowserViewController*)initWithScale:(BOOL)enabled;
+- (IBAction)onDoneButtonPress:(id)sender;
+- (IBAction)onSafariButtonPress:(id)sender;
+- (void)loadURL:(NSString*)url;
+-(void)closeBrowser;
+
+@end

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0318d8cd/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginViewController.m
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginViewController.m b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginViewController.m
new file mode 100644
index 0000000..167ef98
--- /dev/null
+++ b/cordova-lib/spec-plugman/plugins/WeblessPlugin/src/ios/WeblessPluginViewController.m
@@ -0,0 +1,239 @@
+//
+//  ChildBrowserViewController.m
+//
+//  Created by Jesse MacFadyen on 21/07/09.
+//  Copyright 2009 Nitobi. All rights reserved.
+//  Copyright (c) 2011, IBM Corporation
+//  Copyright 2011, Randy McMillan
+//
+
+#import "ChildBrowserViewController.h"
+
+
+@implementation ChildBrowserViewController
+
+@synthesize imageURL;
+@synthesize supportedOrientations;
+@synthesize isImage;
+@synthesize delegate;
+
+/*
+ // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
+    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
+        // Custom initialization
+    }
+    return self;
+}
+*/
+
++ (NSString*) resolveImageResource:(NSString*)resource
+{
+	NSString* systemVersion = [[UIDevice currentDevice] systemVersion];
+	BOOL isLessThaniOS4 = ([systemVersion compare:@"4.0" options:NSNumericSearch] == NSOrderedAscending);
+	
+	// the iPad image (nor retina) differentiation code was not in 3.x, and we have to explicitly set the path
+	if (isLessThaniOS4)
+	{
+        return [NSString stringWithFormat:@"%@.png", resource];
+	}
+	
+	return resource;
+}
+
+
+- (ChildBrowserViewController*)initWithScale:(BOOL)enabled
+{
+    self = [super init];
+	
+	
+	scaleEnabled = enabled;
+	
+	return self;	
+}
+
+// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    
+	refreshBtn.image = [UIImage imageNamed:[[self class] resolveImageResource:@"ChildBrowser.bundle/but_refresh"]];
+	backBtn.image = [UIImage imageNamed:[[self class] resolveImageResource:@"ChildBrowser.bundle/arrow_left"]];
+	fwdBtn.image = [UIImage imageNamed:[[self class] resolveImageResource:@"ChildBrowser.bundle/arrow_right"]];
+	safariBtn.image = [UIImage imageNamed:[[self class] resolveImageResource:@"ChildBrowser.bundle/compass"]];
+
+	webView.delegate = self;
+	webView.scalesPageToFit = TRUE;
+	webView.backgroundColor = [UIColor whiteColor];
+	NSLog(@"View did load");
+}
+
+
+
+
+
+- (void)didReceiveMemoryWarning {
+	// Releases the view if it doesn't have a superview.
+    [super didReceiveMemoryWarning];
+	
+	// Release any cached data, images, etc that aren't in use.
+}
+
+- (void)viewDidUnload {
+	// Release any retained subviews of the main view.
+	// e.g. self.myOutlet = nil;
+	NSLog(@"View did UN-load");
+}
+
+
+- (void)dealloc {
+
+	webView.delegate = nil;
+	
+	[webView release];
+	[closeBtn release];
+	[refreshBtn release];
+	[addressLabel release];
+	[backBtn release];
+	[fwdBtn release];
+	[safariBtn release];
+	[spinner release];
+	[ supportedOrientations release];
+	[super dealloc];
+}
+
+-(void)closeBrowser
+{
+	
+	if(delegate != NULL)
+	{
+		[delegate onClose];		
+	}
+    if ([self respondsToSelector:@selector(presentingViewController)]) { 
+        //Reference UIViewController.h Line:179 for update to iOS 5 difference - @RandyMcMillan
+        [[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
+    } else {
+        [[self parentViewController] dismissModalViewControllerAnimated:YES];
+    }
+}
+
+-(IBAction) onDoneButtonPress:(id)sender
+{
+	[ self closeBrowser];
+
+    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]];
+    [webView loadRequest:request];
+}
+
+
+-(IBAction) onSafariButtonPress:(id)sender
+{
+	
+	if(delegate != NULL)
+	{
+		[delegate onOpenInSafari];		
+	}
+	
+	if(isImage)
+	{
+		NSURL* pURL = [[ [NSURL alloc] initWithString:imageURL ] autorelease];
+		[ [ UIApplication sharedApplication ] openURL:pURL  ];
+	}
+	else
+	{
+		NSURLRequest *request = webView.request;
+		[[UIApplication sharedApplication] openURL:request.URL];
+	}
+
+	 
+}
+
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation 
+{
+	BOOL autoRotate = [self.supportedOrientations count] > 1; // autorotate if only more than 1 orientation supported
+	if (autoRotate)
+	{
+		if ([self.supportedOrientations containsObject:
+			 [NSNumber numberWithInt:interfaceOrientation]]) {
+			return YES;
+		}
+    }
+	
+	return NO;
+}
+
+
+
+
+- (void)loadURL:(NSString*)url
+{
+	NSLog(@"Opening Url : %@",url);
+	 
+	if( [url hasSuffix:@".png" ]  || 
+	    [url hasSuffix:@".jpg" ]  || 
+		[url hasSuffix:@".jpeg" ] || 
+		[url hasSuffix:@".bmp" ]  || 
+		[url hasSuffix:@".gif" ]  )
+	{
+		[ imageURL release ];
+		imageURL = [url copy];
+		isImage = YES;
+		NSString* htmlText = @"<html><body style='background-color:#333;margin:0px;padding:0px;'><img style='min-height:200px;margin:0px;padding:0px;width:100%;height:auto;' alt='' src='IMGSRC'/></body></html>";
+		htmlText = [ htmlText stringByReplacingOccurrencesOfString:@"IMGSRC" withString:url ];
+
+		[webView loadHTMLString:htmlText baseURL:[NSURL URLWithString:@""]];
+		
+	}
+	else
+	{
+		imageURL = @"";
+		isImage = NO;
+		NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
+		[webView loadRequest:request];
+	}
+	webView.hidden = NO;
+}
+
+
+- (void)webViewDidStartLoad:(UIWebView *)sender {
+	addressLabel.text = @"Loading...";
+	backBtn.enabled = webView.canGoBack;
+	fwdBtn.enabled = webView.canGoForward;
+	
+	[ spinner startAnimating ];
+	
+}
+
+- (void)webViewDidFinishLoad:(UIWebView *)sender 
+{
+	NSURLRequest *request = webView.request;
+	NSLog(@"New Address is : %@",request.URL.absoluteString);
+	addressLabel.text = request.URL.absoluteString;
+	backBtn.enabled = webView.canGoBack;
+	fwdBtn.enabled = webView.canGoForward;
+	[ spinner stopAnimating ];
+	
+	if(delegate != NULL)
+	{
+		[delegate onChildLocationChange:request.URL.absoluteString];		
+	}
+
+}
+
+- (void)webView:(UIWebView *)wv didFailLoadWithError:(NSError *)error {
+    NSLog (@"webView:didFailLoadWithError");
+    [spinner stopAnimating];
+    addressLabel.text = @"Failed";
+    if (error != NULL) {
+        UIAlertView *errorAlert = [[UIAlertView alloc]
+                                   initWithTitle: [error localizedDescription]
+                                   message: [error localizedFailureReason]
+                                   delegate:nil
+                                   cancelButtonTitle:@"OK"
+                                   otherButtonTitles:nil];
+        [errorAlert show];
+        [errorAlert release];
+    }
+}
+
+
+@end


Mime
View raw message