You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ka...@apache.org on 2014/05/02 20:29:57 UTC

[22/70] Split out cordova-lib: move cordova-plugman files

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/0318d8cd/spec/platforms/ios.spec.js
----------------------------------------------------------------------
diff --git a/spec/platforms/ios.spec.js b/spec/platforms/ios.spec.js
deleted file mode 100644
index e2589e0..0000000
--- a/spec/platforms/ios.spec.js
+++ /dev/null
@@ -1,390 +0,0 @@
-var ios = require('../../src/platforms/ios'),
-    install = require('../../src/install'),
-    path = require('path'),
-    fs = require('fs'),
-    et = require('elementtree'),
-    shell = require('shelljs'),
-    os = require('osenv'),
-    common = require('../../src/platforms/common'),
-    xcode = require('xcode'),
-    plist = require('plist-with-patches'),
-    bplist = require('bplist-parser'),
-    temp = path.join(os.tmpdir(), 'plugman'),
-    plugins_dir = path.join(temp, 'cordova', 'plugins'),
-    ios_config_xml_project = path.join(__dirname, '..', 'projects', 'ios-config-xml', '*'),
-    ios_plist_project = path.join(__dirname, '..', 'projects', 'ios-plist', '*'),
-    ios_project = path.join(ios_config_xml_project, '..'),
-    xml_helpers = require('../../src/util/xml-helpers'),
-    variableplugin = path.join(__dirname, '..', 'plugins', 'VariablePlugin'),
-    faultyplugin = path.join(__dirname, '..', 'plugins', 'FaultyPlugin'),
-    plistplugin = path.join(__dirname, '..', 'plugins', 'PluginsPlistOnly'),
-    dummyplugin = path.join(__dirname, '..', 'plugins', 'DummyPlugin');
-
-var xml_path = path.join(dummyplugin, 'plugin.xml'),
-    xml_test = fs.readFileSync(xml_path, 'utf-8'),
-    plugin_et = new et.ElementTree(et.XML(xml_test));
-
-var platformTag = plugin_et.find('./platform[@name="ios"]');
-var dummy_id = plugin_et._root.attrib['id'];
-var valid_source = platformTag.findall('./source-file'),
-    valid_assets = plugin_et.findall('./asset'),
-    valid_headers = platformTag.findall('./header-file'),
-    valid_resources = platformTag.findall('./resource-file'),
-    valid_custom_frameworks = platformTag.findall('./framework[@custom="true"]'),
-    valid_frameworks = platformTag.findall('./framework'),
-    plist_els = platformTag.findall('./plugins-plist'),
-    dummy_configs = platformTag.findall('./config-file');
-
-xml_path = path.join(variableplugin, 'plugin.xml');
-xml_test = fs.readFileSync(xml_path, 'utf-8');
-plugin_et = new et.ElementTree(et.XML(xml_test));
-platformTag = plugin_et.find('./platform[@name="ios"]');
-
-var variable_id = plugin_et._root.attrib['id'];
-var variable_configs = platformTag.findall('./config-file');
-
-xml_path = path.join(faultyplugin, 'plugin.xml');
-xml_test = fs.readFileSync(xml_path, 'utf-8');
-plugin_et = new et.ElementTree(et.XML(xml_test));
-platformTag = plugin_et.find('./platform[@name="ios"]');
-
-var faulty_id = plugin_et._root.attrib['id'];
-var invalid_assets = plugin_et.findall('./asset');
-var invalid_source = platformTag.findall('./source-file');
-var invalid_headers = platformTag.findall('./header-file');
-var invalid_resources = platformTag.findall('./resource-file');
-var invalid_custom_frameworks = platformTag.findall('./framework[@custom="true"]');
-var invalid_frameworks = platformTag.findall('./framework');
-
-xml_path = path.join(plistplugin, 'plugin.xml');
-xml_test = fs.readFileSync(xml_path, 'utf-8');
-plugin_et = new et.ElementTree(et.XML(xml_test));
-platformTag = plugin_et.find('./platform[@name="ios"]');
-
-var plist_id = plugin_et._root.attrib['id'];
-var plist_only_els = platformTag.findall('./plugins-plist');
-
-shell.mkdir('-p', temp);
-shell.cp('-rf', ios_config_xml_project, temp);
-var proj_files = ios.parseProjectFile(temp);
-shell.rm('-rf', temp);
-ios.purgeProjectFileCache(temp);
-
-function copyArray(arr) {
-    return Array.prototype.slice.call(arr, 0);
-}
-
-describe('ios project handler', function() {
-    beforeEach(function() {
-        shell.mkdir('-p', temp);
-        shell.mkdir('-p', plugins_dir);
-    });
-    afterEach(function() {
-        shell.rm('-rf', temp);
-        ios.purgeProjectFileCache(temp);
-    });
-
-    describe('www_dir method', function() {
-        it('should return cordova-ios project www location using www_dir', function() {
-            expect(ios.www_dir(path.sep)).toEqual(path.sep + 'www');
-        });
-    });
-
-    describe('package_name method', function() {
-        it('should return the CFBundleIdentifier from the project\'s Info.plist file', function() {
-            expect(ios.package_name(ios_project)).toEqual('com.example.friendstring');
-        });
-    });
-
-    describe('parseProjectFile method', function () {
-        it('should throw if project is not an xcode project', function() {
-            expect(function() {
-                ios.parseProjectFile(temp);
-            }).toThrow('does not appear to be an xcode project (no xcode project file)');
-        });
-        it('should throw if project does not contain an appropriate PhoneGap/Cordova.plist file or config.xml file', function() {
-            shell.cp('-rf', ios_config_xml_project, temp);
-            shell.rm(path.join(temp, 'SampleApp', 'config.xml'));
-
-            expect(function() {
-                ios.parseProjectFile(temp);
-            }).toThrow('could not find PhoneGap/Cordova plist file, or config.xml file.');
-        });
-    });
-
-    describe('installation', function() {
-        describe('of <source-file> elements', function() {
-            beforeEach(function() {
-                shell.cp('-rf', ios_config_xml_project, temp);
-            });
-
-            it('should throw if source-file src cannot be found', function() {
-                var source = copyArray(invalid_source);
-                expect(function() {
-                    ios['source-file'].install(source[1], faultyplugin, temp, faulty_id, proj_files);
-                }).toThrow('cannot find "' + path.resolve(faultyplugin, 'src/ios/FaultyPluginCommand.m') + '" ios <source-file>');
-            });
-            it('should throw if source-file target already exists', function() {
-                var source = copyArray(valid_source);
-                var target = path.join(temp, 'SampleApp', 'Plugins', dummy_id, 'DummyPluginCommand.m');
-                shell.mkdir('-p', path.dirname(target));
-                fs.writeFileSync(target, 'some bs', 'utf-8');
-                expect(function() {
-                    ios['source-file'].install(source[0], dummyplugin, temp, dummy_id, proj_files);
-                }).toThrow('target destination "' + target + '" already exists');
-            });
-            it('should call into xcodeproj\'s addSourceFile appropriately when element has no target-dir', function() {
-                var source = copyArray(valid_source).filter(function(s) { return s.attrib['target-dir'] == undefined});
-                var spy = spyOn(proj_files.xcode, 'addSourceFile');
-                ios['source-file'].install(source[0], dummyplugin, temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join('Plugins', dummy_id, 'DummyPluginCommand.m'), {});
-            });
-            it('should call into xcodeproj\'s addSourceFile appropriately when element has a target-dir', function() {
-                var source = copyArray(valid_source).filter(function(s) { return s.attrib['target-dir'] != undefined});
-                var spy = spyOn(proj_files.xcode, 'addSourceFile');
-                ios['source-file'].install(source[0], dummyplugin, temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join('Plugins', dummy_id, 'targetDir', 'TargetDirTest.m'), {});
-            });
-            it('should cp the file to the right target location when element has no target-dir', function() {
-                var source = copyArray(valid_source).filter(function(s) { return s.attrib['target-dir'] == undefined});
-                var spy = spyOn(shell, 'cp');
-                ios['source-file'].install(source[0], dummyplugin, temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join(dummyplugin, 'src', 'ios', 'DummyPluginCommand.m'), path.join(temp, 'SampleApp', 'Plugins', dummy_id, 'DummyPluginCommand.m'));
-            });
-            it('should cp the file to the right target location when element has a target-dir', function() {
-                var source = copyArray(valid_source).filter(function(s) { return s.attrib['target-dir'] != undefined});
-                var spy = spyOn(shell, 'cp');
-                ios['source-file'].install(source[0], dummyplugin, temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join(dummyplugin, 'src', 'ios', 'TargetDirTest.m'), path.join(temp, 'SampleApp', 'Plugins', dummy_id, 'targetDir', 'TargetDirTest.m'));
-            });
-            it('should call into xcodeproj\'s addFramework appropriately when element has framework=true set', function() {
-                var source = copyArray(valid_source).filter(function(s) { return s.attrib['framework'] == "true"});
-                spyOn(proj_files.xcode, 'addSourceFile');
-                var spy = spyOn(proj_files.xcode, 'addFramework');
-                ios['source-file'].install(source[0], dummyplugin, temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join('SampleApp', 'Plugins', dummy_id, 'SourceWithFramework.m'), {weak:false});
-            });
-        });
-
-        describe('of <header-file> elements', function() {
-            beforeEach(function() {
-                shell.cp('-rf', ios_config_xml_project, temp);
-            });
-
-            it('should throw if header-file src cannot be found', function() {
-                var headers = copyArray(invalid_headers);
-                expect(function() {
-                    ios['header-file'].install(headers[1], faultyplugin, temp, faulty_id, proj_files);
-                }).toThrow('cannot find "' + path.resolve(faultyplugin, 'src/ios/FaultyPluginCommand.h') + '" ios <header-file>');
-            });
-            it('should throw if header-file target already exists', function() {
-                var headers = copyArray(valid_headers);
-                var target = path.join(temp, 'SampleApp', 'Plugins', dummy_id, 'DummyPluginCommand.h');
-                shell.mkdir('-p', path.dirname(target));
-                fs.writeFileSync(target, 'some bs', 'utf-8');
-                expect(function() {
-                    ios['header-file'].install(headers[0], dummyplugin, temp, dummy_id, proj_files);
-                }).toThrow('target destination "' + target + '" already exists');
-            });
-            it('should call into xcodeproj\'s addHeaderFile appropriately when element has no target-dir', function() {
-                var headers = copyArray(valid_headers).filter(function(s) { return s.attrib['target-dir'] == undefined});
-                var spy = spyOn(proj_files.xcode, 'addHeaderFile');
-                ios['header-file'].install(headers[0], dummyplugin, temp, dummy_id,  proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join('Plugins', dummy_id, 'DummyPluginCommand.h'));
-            });
-            it('should call into xcodeproj\'s addHeaderFile appropriately when element a target-dir', function() {
-                var headers = copyArray(valid_headers).filter(function(s) { return s.attrib['target-dir'] != undefined});
-                var spy = spyOn(proj_files.xcode, 'addHeaderFile');
-                ios['header-file'].install(headers[0], dummyplugin, temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join('Plugins', dummy_id, 'targetDir', 'TargetDirTest.h'));
-            });
-            it('should cp the file to the right target location when element has no target-dir', function() {
-                var headers = copyArray(valid_headers).filter(function(s) { return s.attrib['target-dir'] == undefined});
-                var spy = spyOn(shell, 'cp');
-                ios['header-file'].install(headers[0], dummyplugin, temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join(dummyplugin, 'src', 'ios', 'DummyPluginCommand.h'), path.join(temp, 'SampleApp', 'Plugins', dummy_id, 'DummyPluginCommand.h'));
-            });
-            it('should cp the file to the right target location when element has a target-dir', function() {
-                var headers = copyArray(valid_headers).filter(function(s) { return s.attrib['target-dir'] != undefined});
-                var spy = spyOn(shell, 'cp');
-                ios['header-file'].install(headers[0], dummyplugin, temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join(dummyplugin, 'src', 'ios', 'TargetDirTest.h'), path.join(temp, 'SampleApp', 'Plugins', dummy_id, 'targetDir', 'TargetDirTest.h'));
-            });
-        });
-
-        describe('of <resource-file> elements', function() {
-            beforeEach(function() {
-                shell.cp('-rf', ios_config_xml_project, temp);
-            });
-            it('should throw if resource-file src cannot be found', function() {
-                var resources = copyArray(invalid_resources);
-                expect(function() {
-                    ios['resource-file'].install(resources[0], faultyplugin, temp, "pluginid", proj_files);
-                }).toThrow('cannot find "' + path.resolve(faultyplugin, 'src/ios/IDontExist.bundle') + '" ios <resource-file>');
-            });
-            it('should throw if resource-file target already exists', function() {
-                var resources = copyArray(valid_resources);
-                var target = path.join(temp, 'SampleApp', 'Resources', 'DummyPlugin.bundle');
-                shell.mkdir('-p', path.dirname(target));
-                fs.writeFileSync(target, 'some bs', 'utf-8');
-                expect(function() {
-                    ios['resource-file'].install(resources[0], dummyplugin, temp, "pluginid",proj_files);
-                }).toThrow('target destination "' + target + '" already exists');
-            });
-            it('should call into xcodeproj\'s addResourceFile', function() {
-                var resources = copyArray(valid_resources);
-                var spy = spyOn(proj_files.xcode, 'addResourceFile');
-                ios['resource-file'].install(resources[0], dummyplugin, temp, "pluginid", proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join('Resources', 'DummyPlugin.bundle'));
-            });
-            it('should cp the file to the right target location', function() {
-                var resources = copyArray(valid_resources);
-                var spy = spyOn(shell, 'cp');
-                ios['resource-file'].install(resources[0], dummyplugin, temp, "pluginid", proj_files);
-                expect(spy).toHaveBeenCalledWith('-R', path.join(dummyplugin, 'src', 'ios', 'DummyPlugin.bundle'), path.join(temp, 'SampleApp', 'Resources'));
-            });
-        });
-        describe('of <framework custom="true"> elements', function() {
-            beforeEach(function() {
-                shell.cp('-rf', ios_config_xml_project, temp);
-            });
-            it('should throw if framework src cannot be found', function() {
-                var frameworks = copyArray(invalid_custom_frameworks);
-                expect(function() {
-                    ios['framework'].install(frameworks[0], faultyplugin, temp, dummy_id, proj_files);
-                }).toThrow('cannot find "' + path.resolve(faultyplugin, 'src/ios/NonExistantCustomFramework.framework') + '" ios <framework>');
-            });
-            it('should throw if framework target already exists', function() {
-                var frameworks = copyArray(valid_custom_frameworks);
-                var target = path.join(temp, 'SampleApp/Plugins/com.phonegap.plugins.dummyplugin/Custom.framework');
-                shell.mkdir('-p', target);
-                expect(function() {
-                    ios['framework'].install(frameworks[0], dummyplugin, temp, dummy_id, proj_files);
-                }).toThrow('target destination "' + target + '" already exists');
-            });
-            it('should call into xcodeproj\'s addFramework', function() {
-                var frameworks = copyArray(valid_custom_frameworks);
-                var spy = spyOn(proj_files.xcode, 'addFramework');
-                ios['framework'].install(frameworks[0], dummyplugin, temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.normalize('SampleApp/Plugins/com.phonegap.plugins.dummyplugin/Custom.framework'), {customFramework:true});
-            });
-            it('should cp the file to the right target location', function() {
-                var frameworks = copyArray(valid_custom_frameworks);
-                var spy = spyOn(shell, 'cp');
-                ios['framework'].install(frameworks[0], dummyplugin, temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith('-R', path.join(dummyplugin, 'src', 'ios', 'Custom.framework'),
-                                                 path.join(temp, 'SampleApp/Plugins/com.phonegap.plugins.dummyplugin'));
-            });
-        });
-    });
-
-    describe('uninstallation', function() {
-        describe('of <source-file> elements', function() {
-            it('should call into xcodeproj\'s removeSourceFile appropriately when element has no target-dir', function(){
-                var source = copyArray(valid_source).filter(function(s) { return s.attrib['target-dir'] == undefined});
-                shell.cp('-rf', ios_config_xml_project, temp);
-                var spy = spyOn(proj_files.xcode, 'removeSourceFile');
-                ios['source-file'].uninstall(source[0], temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join('Plugins', dummy_id, 'DummyPluginCommand.m'));
-            });
-            it('should call into xcodeproj\'s removeSourceFile appropriately when element a target-dir', function(){
-                var source = copyArray(valid_source).filter(function(s) { return s.attrib['target-dir'] != undefined});
-                shell.cp('-rf', ios_config_xml_project, temp);
-                var spy = spyOn(proj_files.xcode, 'removeSourceFile');
-                ios['source-file'].uninstall(source[0], temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join('Plugins', dummy_id, 'targetDir', 'TargetDirTest.m'));
-            });
-            it('should rm the file from the right target location when element has no target-dir', function(){
-                var source = copyArray(valid_source).filter(function(s) { return s.attrib['target-dir'] == undefined});
-                shell.cp('-rf', ios_config_xml_project, temp);
-
-                var spy = spyOn(shell, 'rm');
-                ios['source-file'].uninstall(source[0], temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith('-rf', path.join(temp, 'SampleApp', 'Plugins', dummy_id, 'DummyPluginCommand.m'));
-            });
-            it('should rm the file from the right target location when element has a target-dir', function(){
-                var source = copyArray(valid_source).filter(function(s) { return s.attrib['target-dir'] != undefined});
-                shell.cp('-rf', ios_config_xml_project, temp);
-                var spy = spyOn(shell, 'rm');
-
-                ios['source-file'].uninstall(source[0], temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith('-rf', path.join(temp, 'SampleApp', 'Plugins', dummy_id, 'targetDir', 'TargetDirTest.m'));
-            });
-            it('should call into xcodeproj\'s removeFramework appropriately when element framework=true set', function(){
-                var source = copyArray(valid_source).filter(function(s) { return s.attrib['framework'] == "true"});
-                shell.cp('-rf', ios_config_xml_project, temp);
-                var spy = spyOn(proj_files.xcode, 'removeFramework');
-
-                ios['source-file'].uninstall(source[0], temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join('SampleApp', 'Plugins', dummy_id, 'SourceWithFramework.m'));
-            });
-        });
-
-        describe('of <header-file> elements', function() {
-            beforeEach(function() {
-                shell.cp('-rf', ios_config_xml_project, temp);
-            });
-            it('should call into xcodeproj\'s removeHeaderFile appropriately when element has no target-dir', function(){
-                var headers = copyArray(valid_headers).filter(function(s) { return s.attrib['target-dir'] == undefined});
-                var spy = spyOn(proj_files.xcode, 'removeHeaderFile');
-
-                ios['header-file'].uninstall(headers[0], temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join('Plugins', dummy_id, 'DummyPluginCommand.h'));
-            });
-            it('should call into xcodeproj\'s removeHeaderFile appropriately when element a target-dir', function(){
-                var headers = copyArray(valid_headers).filter(function(s) { return s.attrib['target-dir'] != undefined});
-
-                var spy = spyOn(proj_files.xcode, 'removeHeaderFile');
-
-                ios['header-file'].uninstall(headers[0], temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join('Plugins', dummy_id, 'targetDir', 'TargetDirTest.h'));
-            });
-            it('should rm the file from the right target location', function(){
-                var headers = copyArray(valid_headers).filter(function(s) { return s.attrib['target-dir'] != undefined});
-                var spy = spyOn(shell, 'rm');
-
-                ios['header-file'].uninstall(headers[0], temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith('-rf', path.join(temp, 'SampleApp', 'Plugins', dummy_id, 'targetDir', 'TargetDirTest.h'));
-            });
-        });
-
-        describe('of <resource-file> elements', function() {
-            beforeEach(function() {
-                shell.cp('-rf', ios_config_xml_project, temp);
-            });
-            it('should call into xcodeproj\'s removeResourceFile', function(){
-                var resources = copyArray(valid_resources);
-                var spy = spyOn(proj_files.xcode, 'removeResourceFile');
-
-                ios['resource-file'].uninstall(resources[0], temp, "pluginid", proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join('Resources', 'DummyPlugin.bundle'));
-            });
-            it('should rm the file from the right target location', function(){
-                var resources = copyArray(valid_resources);
-                var spy = spyOn(shell, 'rm');
-
-                ios['resource-file'].uninstall(resources[0], temp, "pluginid", proj_files);
-                expect(spy).toHaveBeenCalledWith('-rf', path.join(temp, 'SampleApp', 'Resources', 'DummyPlugin.bundle'));
-            });
-        });
-        describe('of <framework custom="true"> elements', function() {
-            beforeEach(function() {
-                shell.cp('-rf', ios_config_xml_project, temp);
-            });
-            it('should call into xcodeproj\'s removeFramework', function(){
-                var frameworks = copyArray(valid_custom_frameworks);
-                var spy = spyOn(proj_files.xcode, 'removeFramework');
-
-                ios['framework'].uninstall(frameworks[0], temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith(path.join(temp, 'SampleApp/Plugins/com.phonegap.plugins.dummyplugin/Custom.framework'), {customFramework:true});
-            });
-            it('should rm the file from the right target location', function(){
-                var frameworks = copyArray(valid_custom_frameworks);
-                var spy = spyOn(shell, 'rm');
-
-                ios['framework'].uninstall(frameworks[0], temp, dummy_id, proj_files);
-                expect(spy).toHaveBeenCalledWith('-rf', path.join(temp, 'SampleApp/Plugins/com.phonegap.plugins.dummyplugin/Custom.framework'));
-            });
-        });
-    });
-});

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/0318d8cd/spec/platforms/tizen.spec.js
----------------------------------------------------------------------
diff --git a/spec/platforms/tizen.spec.js b/spec/platforms/tizen.spec.js
deleted file mode 100644
index 372e4d3..0000000
--- a/spec/platforms/tizen.spec.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- *
- *
- * 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.
- *
-*/
-var tizen = require('../../src/platforms/tizen'),
-	common = require('../../src/platforms/common'),
-	temp = require('temp'),
-	os = require('osenv'),
-	fs = require('fs'),
-	et = require('elementtree'),
-	path = require('path'),
-	tizen_project = path.join(__dirname, '..', 'projects', 'tizen'),
-	destination = temp.path(),
-	shell = require('shelljs'),
-	dummyPluginPath = path.join(__dirname, '..', 'plugins', 'DummyPlugin'),
-	dummyPlugin = et.XML(fs.readFileSync(
-		path.join(dummyPluginPath, 'plugin.xml'), {encoding: "utf-8"})),
-	dummySources = dummyPlugin
-		.find('./platform[@name="tizen"]')
-		.findall('./source-file');
-
-describe('Tizen project handler', function() {
-	describe('www_dir method', function() {
-		it('should append www to the directory passed in', function() {
-			expect(tizen.www_dir(path.sep)).toEqual(path.join(path.sep, 'www'));
-		});
-	});
-	describe('Manipulating project files', function() {
-		beforeEach(function() {
-			shell.cp('-rf', path.join(tizen_project, '*'), destination);
-		});
-		afterEach(function() {
-			shell.rm('-rf', destination);
-		});
-		describe('package_name method', function() {
-			it('should return the id of the config.xml root element', function() {
-				expect(tizen.package_name(destination)).toEqual("TizenTestPackage");
-			});
-		});
-	});
-});

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/0318d8cd/spec/platforms/windows8.spec.js
----------------------------------------------------------------------
diff --git a/spec/platforms/windows8.spec.js b/spec/platforms/windows8.spec.js
deleted file mode 100644
index 99a5cb7..0000000
--- a/spec/platforms/windows8.spec.js
+++ /dev/null
@@ -1,135 +0,0 @@
-var windows8 = require('../../src/platforms/windows8'),
-    common  = require('../../src/platforms/common'),
-    install = require('../../src/install'),
-    path    = require('path'),
-    fs      = require('fs'),
-    shell   = require('shelljs'),
-    et      = require('elementtree'),
-    os      = require('osenv'),
-    temp    = path.join(os.tmpdir(), 'plugman'),
-    plugins_dir = path.join(temp, 'cordova', 'plugins'),
-    xml_helpers = require('../../src/util/xml-helpers'),
-    plugins_module = require('../../src/util/plugins'),
-    dummyplugin = path.join(__dirname, '..', 'plugins', 'DummyPlugin'),
-    faultyplugin = path.join(__dirname, '..', 'plugins', 'FaultyPlugin'),
-    windows8_project = path.join(__dirname, '..', 'projects', 'windows8');
-
-var xml_path     = path.join(dummyplugin, 'plugin.xml')
-  , xml_text     = fs.readFileSync(xml_path, 'utf-8')
-  , plugin_et    = new et.ElementTree(et.XML(xml_text));
-
-var platformTag = plugin_et.find('./platform[@name="windows8"]');
-var dummy_id = plugin_et._root.attrib['id'];
-
-var valid_source = platformTag.findall('./source-file');
-var assets = plugin_et.findall('./asset');
-
-var configChanges = platformTag.findall('./config-file');
-
-xml_path  = path.join(faultyplugin, 'plugin.xml')
-xml_text  = fs.readFileSync(xml_path, 'utf-8');
-
-plugin_et = new et.ElementTree(et.XML(xml_text));
-
-platformTag = plugin_et.find('./platform[@name="windows8"]');
-
-var invalid_source = platformTag.findall('./source-file');
-
-var faulty_id = plugin_et._root.attrib['id'];
-
-shell.mkdir('-p', temp);
-shell.cp('-rf', path.join(windows8_project, '*'), temp);
-var proj_files = windows8.parseProjectFile(temp);
-shell.rm('-rf', temp);
-
-function copyArray(arr) {
-    return Array.prototype.slice.call(arr, 0);
-}
-
-describe('windows8 project handler', function() {
-
-    beforeEach(function() {
-        shell.mkdir('-p', temp);
-        shell.mkdir('-p', plugins_dir);
-    });
-    afterEach(function() {
-        shell.rm('-rf', temp);
-    });
-
-    describe('www_dir method', function() {
-        it('should return cordova-windows8 project www location using www_dir', function() {
-            expect(windows8.www_dir(path.sep)).toEqual(path.sep + 'www');
-        });
-    });
-    describe('package_name method', function() {
-        it('should return a windows8 project\'s proper package name', function() {
-            expect(windows8.package_name(windows8_project)).toEqual("CordovaApp");
-        });
-    });
-
-    describe('parseProjectFile method', function() {
-        it('should throw if project is not an windows8 project', function() {
-            expect(function() {
-                windows8.parseProjectFile(temp);
-            }).toThrow(windows8.InvalidProjectPathError);
-        });
-    });
-
-    describe('installation', function() {
-        beforeEach(function() {
-            shell.mkdir('-p', temp);
-        });
-        afterEach(function() {
-            shell.rm('-rf', temp);
-        });
-        describe('of <source-file> elements', function() {
-            beforeEach(function() {
-                shell.cp('-rf', path.join(windows8_project, '*'), temp);
-            });
-            it('should copy stuff from one location to another by calling common.copyFile', function() {
-                var source = copyArray(valid_source);
-                var s = spyOn(common, 'copyFile');
-                windows8['source-file'].install(source[0], dummyplugin, temp, dummy_id, proj_files);
-                expect(s).toHaveBeenCalledWith(dummyplugin, 'src/windows8/dummer.js', temp, path.join('www', 'plugins', 'com.phonegap.plugins.dummyplugin', 'dummer.js'));
-            });
-            it('should throw if source-file src cannot be found', function() {
-                var source = copyArray(invalid_source);
-                expect(function() {
-                    windows8['source-file'].install(source[1], faultyplugin, temp, faulty_id, proj_files);
-                }).toThrow('"' + path.resolve(faultyplugin, 'src/windows8/NotHere.js') + '" not found!');
-            });
-            it('should throw if source-file target already exists', function() {
-                var source = copyArray(valid_source);
-                var target = path.join(temp, 'www', 'plugins', dummy_id, 'dummer.js');
-                shell.mkdir('-p', path.dirname(target));
-                fs.writeFileSync(target, 'some bs', 'utf-8');
-                expect(function() {
-                    windows8['source-file'].install(source[0], dummyplugin, temp, dummy_id, proj_files);
-                }).toThrow('"' + target + '" already exists!');
-            });
-        });
-    });
-
-    describe('uninstallation', function() {
-        beforeEach(function() {
-            shell.mkdir('-p', temp);
-            shell.mkdir('-p', plugins_dir);
-            shell.cp('-rf', path.join(windows8_project, '*'), temp);
-        });
-        afterEach(function() {
-            shell.rm('-rf', temp);
-        });
-        describe('of <source-file> elements', function() {
-            it('should remove stuff by calling common.removeFile', function(done) {
-                var s = spyOn(common, 'removeFile');
-                install('windows8', temp, dummyplugin, plugins_dir, {})
-                .then(function() {
-                    var source = copyArray(valid_source);
-                    windows8['source-file'].uninstall(source[0], temp, dummy_id, proj_files);
-                    expect(s).toHaveBeenCalledWith(temp, path.join('www', 'plugins',  'com.phonegap.plugins.dummyplugin', 'dummer.js'));
-                    done();
-                });
-            });
-        });
-    });
-});

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/0318d8cd/spec/platforms/wp7.spec.js
----------------------------------------------------------------------
diff --git a/spec/platforms/wp7.spec.js b/spec/platforms/wp7.spec.js
deleted file mode 100644
index 262e851..0000000
--- a/spec/platforms/wp7.spec.js
+++ /dev/null
@@ -1,129 +0,0 @@
-var wp7 = require('../../src/platforms/wp7'),
-    common  = require('../../src/platforms/common'),
-    install = require('../../src/install'),
-    path    = require('path'),
-    fs      = require('fs'),
-    shell   = require('shelljs'),
-    et      = require('elementtree'),
-    os      = require('osenv'),
-    temp    = path.join(os.tmpdir(), 'plugman'),
-    plugins_dir = path.join(temp, 'cordova', 'plugins'),
-    xml_helpers = require('../../src/util/xml-helpers'),
-    plugins_module = require('../../src/util/plugins'),
-    dummyplugin = path.join(__dirname, '..', 'plugins', 'DummyPlugin'),
-    faultyplugin = path.join(__dirname, '..', 'plugins', 'FaultyPlugin'),
-    wp7_project = path.join(__dirname, '..', 'projects', 'wp7');
-
-var xml_path     = path.join(dummyplugin, 'plugin.xml')
-  , xml_text     = fs.readFileSync(xml_path, 'utf-8')
-  , plugin_et    = new et.ElementTree(et.XML(xml_text));
-
-var platformTag = plugin_et.find('./platform[@name="wp7"]');
-var dummy_id = plugin_et._root.attrib['id'];
-var valid_source = platformTag.findall('./source-file'),
-    assets = plugin_et.findall('./asset'),
-    configChanges = platformTag.findall('./config-file');
-xml_path  = path.join(faultyplugin, 'plugin.xml')
-xml_text  = fs.readFileSync(xml_path, 'utf-8')
-plugin_et = new et.ElementTree(et.XML(xml_text));
-
-platformTag = plugin_et.find('./platform[@name="wp7"]');
-var invalid_source = platformTag.findall('./source-file');
-var faulty_id = plugin_et._root.attrib['id'];
-
-shell.mkdir('-p', temp);
-shell.cp('-rf', path.join(wp7_project, '*'), temp);
-var proj_files = wp7.parseProjectFile(temp);
-shell.rm('-rf', temp);
-
-function copyArray(arr) {
-    return Array.prototype.slice.call(arr, 0);
-}
-
-describe('wp7 project handler', function() {
-
-    beforeEach(function() {
-        shell.mkdir('-p', temp);
-        shell.mkdir('-p', plugins_dir);
-    });
-    afterEach(function() {
-        shell.rm('-rf', temp);
-    });
-
-    describe('www_dir method', function() {
-        it('should return cordova-wp7 project www location using www_dir', function() {
-            expect(wp7.www_dir(path.sep)).toEqual(path.sep + 'www');
-        });
-    });
-    describe('package_name method', function() {
-        it('should return a wp7 project\'s proper package name', function() {
-            expect(wp7.package_name(wp7_project)).toEqual("{5FC10D78-8779-4EDB-9B61-1D04F0A755D4}");
-        });
-    });
-
-    describe('parseProjectFile method', function() {
-        it('should throw if project is not an wp7 project', function() {
-            expect(function() {
-                wp7.parseProjectFile(temp);
-            }).toThrow('does not appear to be a Windows Phone project (no .csproj file)');
-        });
-    });
-
-    describe('installation', function() {
-        beforeEach(function() {
-            shell.mkdir('-p', temp);
-        });
-        afterEach(function() {
-            shell.rm('-rf', temp);
-        });
-        describe('of <source-file> elements', function() {
-            beforeEach(function() {
-                shell.cp('-rf', path.join(wp7_project, '*'), temp);
-            });
-            it('should copy stuff from one location to another by calling common.copyFile', function() {
-                var source = copyArray(valid_source);
-                var s = spyOn(common, 'copyFile');
-                wp7['source-file'].install(source[0], dummyplugin, temp, dummy_id, proj_files);
-                expect(s).toHaveBeenCalledWith(dummyplugin, 'src/wp7/DummyPlugin.cs', temp, path.join('Plugins', 'com.phonegap.plugins.dummyplugin', 'DummyPlugin.cs'));
-            });
-            it('should throw if source-file src cannot be found', function() {
-                var source = copyArray(invalid_source);
-                expect(function() {
-                    wp7['source-file'].install(source[1], faultyplugin, temp, faulty_id, proj_files);
-                }).toThrow('"' + path.resolve(faultyplugin, 'src/wp7/NotHere.cs') + '" not found!');
-            });
-            it('should throw if source-file target already exists', function() {
-                var source = copyArray(valid_source);
-                var target = path.join(temp, 'Plugins', dummy_id, 'DummyPlugin.cs');
-                shell.mkdir('-p', path.dirname(target));
-                fs.writeFileSync(target, 'some bs', 'utf-8');
-                expect(function() {
-                    wp7['source-file'].install(source[0], dummyplugin, temp, dummy_id, proj_files);
-                }).toThrow('"' + target + '" already exists!');
-            });
-        });
-    });
-
-    describe('uninstallation', function() {
-        beforeEach(function() {
-            shell.mkdir('-p', temp);
-            shell.mkdir('-p', plugins_dir);
-            shell.cp('-rf', path.join(wp7_project, '*'), temp);
-        });
-        afterEach(function() {
-            shell.rm('-rf', temp);
-        });
-        describe('of <source-file> elements', function() {
-            it('should remove stuff by calling common.removeFile', function(done) {
-                var s = spyOn(common, 'removeFile');
-                install('wp7', temp, dummyplugin, plugins_dir, {})
-                .then(function() {
-                    var source = copyArray(valid_source);
-                    wp7['source-file'].uninstall(source[0], temp, dummy_id, proj_files);
-                    expect(s).toHaveBeenCalledWith(temp, path.join('Plugins', 'com.phonegap.plugins.dummyplugin', 'DummyPlugin.cs'));
-                    done();
-                });
-            });
-        });
-    });
-});

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/0318d8cd/spec/platforms/wp8.spec.js
----------------------------------------------------------------------
diff --git a/spec/platforms/wp8.spec.js b/spec/platforms/wp8.spec.js
deleted file mode 100644
index ba9cdb4..0000000
--- a/spec/platforms/wp8.spec.js
+++ /dev/null
@@ -1,150 +0,0 @@
-var wp8 = require('../../src/platforms/wp8'),
-    common  = require('../../src/platforms/common'),
-    install = require('../../src/install'),
-    path    = require('path'),
-    fs      = require('fs'),
-    shell   = require('shelljs'),
-    et      = require('elementtree'),
-    os      = require('osenv'),
-    temp    = path.join(os.tmpdir(), 'plugman'),
-    plugins_dir = path.join(temp, 'cordova', 'plugins'),
-    xml_helpers = require('../../src/util/xml-helpers'),
-    plugins_module = require('../../src/util/plugins'),
-    dummyplugin = path.join(__dirname, '..', 'plugins', 'DummyPlugin'),
-    faultyplugin = path.join(__dirname, '..', 'plugins', 'FaultyPlugin'),
-    wp8_project = path.join(__dirname, '..', 'projects', 'wp8');
-
-var xml_path     = path.join(dummyplugin, 'plugin.xml')
-  , xml_text     = fs.readFileSync(xml_path, 'utf-8')
-  , plugin_et    = new et.ElementTree(et.XML(xml_text));
-
-var platformTag = plugin_et.find('./platform[@name="wp8"]');
-var dummy_id = plugin_et._root.attrib['id'];
-var valid_source = platformTag.findall('./source-file'),
-    assets = plugin_et.findall('./asset'),
-    configChanges = platformTag.findall('./config-file');
-xml_path  = path.join(faultyplugin, 'plugin.xml')
-xml_text  = fs.readFileSync(xml_path, 'utf-8')
-plugin_et = new et.ElementTree(et.XML(xml_text));
-
-platformTag = plugin_et.find('./platform[@name="wp8"]');
-var invalid_source = platformTag.findall('./source-file');
-var faulty_id = plugin_et._root.attrib['id'];
-
-shell.mkdir('-p', temp);
-shell.cp('-rf', path.join(wp8_project, '*'), temp);
-var proj_files = wp8.parseProjectFile(temp);
-shell.rm('-rf', temp);
-
-function copyArray(arr) {
-    return Array.prototype.slice.call(arr, 0);
-}
-
-describe('wp8 project handler', function() {
-
-    beforeEach(function() {
-        shell.mkdir('-p', temp);
-        shell.mkdir('-p', plugins_dir);
-    });
-    afterEach(function() {
-        shell.rm('-rf', temp);
-    });
-
-    describe('www_dir method', function() {
-        it('should return cordova-wp8 project www location using www_dir', function() {
-            expect(wp8.www_dir(path.sep)).toEqual(path.sep + 'www');
-        });
-    });
-    describe('package_name method', function() {
-        it('should return a wp8 project\'s proper package name', function() {
-            expect(wp8.package_name(wp8_project)).toEqual("{F3A8197B-6B16-456D-B5F4-DD4F04AC0BEC}");
-        });
-    });
-
-    describe('parseProjectFile method', function() {
-        it('should throw if project is not an wp8 project', function() {
-            expect(function() {
-                wp8.parseProjectFile(temp);
-            }).toThrow('does not appear to be a Windows Phone project (no .csproj file)');
-        });
-    });
-
-    describe('installation', function() {
-        var done;
-        function installPromise(f) {
-            done = false;
-            f.then(function() { done = true; }, function(err) { done = err; });
-        }
-        beforeEach(function() {
-            shell.mkdir('-p', temp);
-        });
-        afterEach(function() {
-            shell.rm('-rf', temp);
-        });
-        describe('of <source-file> elements', function() {
-            beforeEach(function() {
-                shell.cp('-rf', path.join(wp8_project, '*'), temp);
-            });
-            it('should copy stuff from one location to another by calling common.copyFile', function() {
-                var source = copyArray(valid_source);
-                var s = spyOn(common, 'copyFile');
-                wp8['source-file'].install(source[0], dummyplugin, temp, dummy_id, proj_files);
-                expect(s).toHaveBeenCalledWith(dummyplugin, 'src/wp8/DummyPlugin.cs', temp, path.join('Plugins', 'com.phonegap.plugins.dummyplugin', 'DummyPlugin.cs'));
-            });
-            it('should throw if source-file src cannot be found', function() {
-                var source = copyArray(invalid_source);
-                expect(function() {
-                    wp8['source-file'].install(source[1], faultyplugin, temp, faulty_id, proj_files);
-                }).toThrow('"' + path.resolve(faultyplugin, 'src/wp8/NotHere.cs') + '" not found!');
-            });
-            it('should throw if source-file target already exists', function() {
-                var source = copyArray(valid_source);
-                var target = path.join(temp, 'Plugins', dummy_id, 'DummyPlugin.cs');
-                shell.mkdir('-p', path.dirname(target));
-                fs.writeFileSync(target, 'some bs', 'utf-8');
-                expect(function() {
-                    wp8['source-file'].install(source[0], dummyplugin, temp, dummy_id, proj_files);
-                }).toThrow('"' + target + '" already exists!');
-            });
-        });
-        describe('of <config-changes> elements', function() {
-            beforeEach(function() {
-                shell.cp('-rf', path.join(wp8_project, '*'), temp);
-            });
-            it('should process and pass the after parameter to graftXML', function () {
-                var graftXML = spyOn(xml_helpers, 'graftXML').andCallThrough();
-
-                runs(function () { installPromise(install('wp8', temp, dummyplugin, plugins_dir, {})); });
-                waitsFor(function () { return done; }, 'install promise never resolved', 500);
-                runs(function () {
-                    expect(graftXML).toHaveBeenCalledWith(jasmine.any(Object), jasmine.any(Array), "/Deployment/App", "Tokens");
-                    expect(graftXML).toHaveBeenCalledWith(jasmine.any(Object), jasmine.any(Array), "/Deployment/App/Extensions", "Extension");
-                    expect(graftXML).toHaveBeenCalledWith(jasmine.any(Object), jasmine.any(Array), "/Deployment/App/Extensions", "FileTypeAssociation;Extension");
-                });
-            });
-        });
-    });
-
-    describe('uninstallation', function() {
-        beforeEach(function() {
-            shell.mkdir('-p', temp);
-            shell.mkdir('-p', plugins_dir);
-            shell.cp('-rf', path.join(wp8_project, '*'), temp);
-        });
-        afterEach(function() {
-            shell.rm('-rf', temp);
-        });
-        describe('of <source-file> elements', function() {
-            it('should remove stuff by calling common.removeFile', function(done) {
-                var s = spyOn(common, 'removeFile');
-                install('wp8', temp, dummyplugin, plugins_dir, {})
-                .then(function() {
-                    var source = copyArray(valid_source);
-                    wp8['source-file'].uninstall(source[0], temp, dummy_id, proj_files);
-                    expect(s).toHaveBeenCalledWith(temp, path.join('Plugins', 'com.phonegap.plugins.dummyplugin', 'DummyPlugin.cs'));
-                    done();
-                });
-            });
-        });
-    });
-});

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/0318d8cd/spec/plugins/.gitkeep
----------------------------------------------------------------------
diff --git a/spec/plugins/.gitkeep b/spec/plugins/.gitkeep
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/0318d8cd/spec/plugins/AndroidJS/plugin.xml
----------------------------------------------------------------------
diff --git a/spec/plugins/AndroidJS/plugin.xml b/spec/plugins/AndroidJS/plugin.xml
deleted file mode 100644
index 1a68749..0000000
--- a/spec/plugins/AndroidJS/plugin.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?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.androidonly"
-    version="3.0.0">
-
-    <name>JavaScript in yo droidz</name>
-
-    <!-- android -->
-    <platform name="android">
-        <js-module src="www/android.js" name="Android">
-            <clobbers target="android" />
-        </js-module>
-    </platform>
-</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/0318d8cd/spec/plugins/AndroidJS/www/android.js
----------------------------------------------------------------------
diff --git a/spec/plugins/AndroidJS/www/android.js b/spec/plugins/AndroidJS/www/android.js
deleted file mode 100644
index d268b7d..0000000
--- a/spec/plugins/AndroidJS/www/android.js
+++ /dev/null
@@ -1 +0,0 @@
-{};

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/0318d8cd/spec/plugins/ChildBrowser/plugin.xml
----------------------------------------------------------------------
diff --git a/spec/plugins/ChildBrowser/plugin.xml b/spec/plugins/ChildBrowser/plugin.xml
deleted file mode 100644
index 2dfd692..0000000
--- a/spec/plugins/ChildBrowser/plugin.xml
+++ /dev/null
@@ -1,143 +0,0 @@
-<?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.childbrowser"
-    version="0.6.0">
-
-    <name>Child Browser</name>
-
-    <asset src="www/childbrowser" target="childbrowser" />
-    <asset src="www/childbrowser_file.html" target="childbrowser_file.html" />
-
-    <js-module src="www/childbrowser.js" name="ChildBrowser">
-        <clobbers target="childbrowser" />
-    </js-module>
-
-    <config-file target="config.xml" parent="/*">
-        <access origin="build.phonegap.com" />
-        <access origin="s3.amazonaws.com" />
-    </config-file>
-    
-    <info>No matter what platform you are installing to, this notice is very important.</info>
-
-    <!-- android -->
-    <platform name="android">
-        <config-file target="AndroidManifest.xml" parent="/manifest/application">
-            <activity android:name="com.phonegap.plugins.childBrowser.ChildBrowser"
-                      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="ChildBrowser"
-                value="com.phonegap.plugins.childBrowser.ChildBrowser"/>
-        </config-file>
-
-        <!-- CDV 2.0+ (for now) -->
-        <config-file target="res/xml/config.xml" parent="/cordova/plugins">
-            <plugin name="ChildBrowser"
-                value="com.phonegap.plugins.childBrowser.ChildBrowser"/>
-        </config-file>
-
-        <source-file src="src/android/ChildBrowser.java"
-                target-dir="src/com/phonegap/plugins/childBrowser" />
-        <info>Please make sure you read this because it is very important to complete the installation of your plugin.</info>
-    </platform>
-
-    <!-- ios -->
-    <platform name="ios">
-        <plugins-plist key="com.phonegap.plugins.childbrowser"
-            string="ChildBrowserCommand" />
-
-        <config-file target="config.xml" parent="/widget/plugins">
-            <plugin name="ChildBrowser"
-                value="ChildBrowserCommand" />
-        </config-file>
-
-        <resource-file src="src/ios/ChildBrowser.bundle" />
-        <resource-file src="src/ios/ChildBrowserViewController.xib" />
-
-        <config-file target="*-Info.plist" parent="AppId">
-            <string>$APP_ID</string>
-        </config-file>
-        
-        <config-file target="*-Info.plist" parent="CFBundleURLTypes">
-            <array>
-              <dict>
-                <key>PackageName</key>
-                <string>$PACKAGE_NAME</string>
-              </dict>
-            </array>
-        </config-file>
-
-        <header-file src="src/ios/ChildBrowserCommand.h" />
-        <header-file src="src/ios/ChildBrowserViewController.h" />
-        <header-file src="src/ios/TargetDirTest.h" target-dir="targetDir"/>
-
-        <source-file src="src/ios/ChildBrowserCommand.m" />
-        <source-file src="src/ios/ChildBrowserViewController.m" />
-        <source-file src="src/ios/preserveDirs/PreserveDirsTest.m" preserve-dirs="true" />
-        <header-file src="src/ios/TargetDirTest.m" target-dir="targetDir"/>
-
-        <!-- framework for testing (not actual dependency of ChildBrowser -->
-        <framework src="libsqlite3.dylib" />
-        <framework src="social.framework" weak="true" />
-        <framework src="music.framework" weak="rabbit" />
-        <framework src="Custom.framework" custom="true" />
-    </platform>
-    <!-- wp7 -->
-    <platform name="wp7">
-        <resource-file src="src\wp7\Images\appbar.back.rest.png" />
-        <config-file target="config.xml" parent="/widget/plugins">
-            <plugin name="ChildBrowser"
-                value="ChildBrowser"/>
-        </config-file>
-
-        <source-file src="src\wp7\ChildBrowserCommand.cs"
-                     target-dir="Plugins\" />
-
-        <!-- modify the project file to include the added files -->
-        <config-file target=".csproj" parent=".">  
-        </config-file> 
-
-    </platform>
-
-    <!-- wp8 -->
-    <platform name="wp8">
-        <resource-file src="src\wp7\Images\appbar.back.rest.png" />
-        <config-file target="config.xml" parent="/widget/plugins">
-            <plugin name="ChildBrowser"
-                value="ChildBrowser"/>
-        </config-file>
-
-        <source-file src="src\wp7\ChildBrowserCommand.cs"
-                     target-dir="Plugins\" />
-
-        <!-- modify the project file to include the added files -->
-        <config-file target=".csproj" parent=".">  
-        </config-file> 
-
-    </platform>
-</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/0318d8cd/spec/plugins/ChildBrowser/src/android/ChildBrowser.java
----------------------------------------------------------------------
diff --git a/spec/plugins/ChildBrowser/src/android/ChildBrowser.java b/spec/plugins/ChildBrowser/src/android/ChildBrowser.java
deleted file mode 100644
index 5263b0c..0000000
--- a/spec/plugins/ChildBrowser/src/android/ChildBrowser.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- *
- * 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-plugman/blob/0318d8cd/spec/plugins/ChildBrowser/src/ios/ChildBrowser.bundle/arrow_left.png
----------------------------------------------------------------------
diff --git a/spec/plugins/ChildBrowser/src/ios/ChildBrowser.bundle/arrow_left.png b/spec/plugins/ChildBrowser/src/ios/ChildBrowser.bundle/arrow_left.png
deleted file mode 100644
index 530e12b..0000000
Binary files a/spec/plugins/ChildBrowser/src/ios/ChildBrowser.bundle/arrow_left.png and /dev/null differ

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

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

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

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

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

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

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

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/0318d8cd/spec/plugins/ChildBrowser/src/ios/ChildBrowserCommand.h
----------------------------------------------------------------------
diff --git a/spec/plugins/ChildBrowser/src/ios/ChildBrowserCommand.h b/spec/plugins/ChildBrowser/src/ios/ChildBrowserCommand.h
deleted file mode 100644
index 6a23ab6..0000000
--- a/spec/plugins/ChildBrowser/src/ios/ChildBrowserCommand.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *
- * 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-plugman/blob/0318d8cd/spec/plugins/ChildBrowser/src/ios/ChildBrowserCommand.m
----------------------------------------------------------------------
diff --git a/spec/plugins/ChildBrowser/src/ios/ChildBrowserCommand.m b/spec/plugins/ChildBrowser/src/ios/ChildBrowserCommand.m
deleted file mode 100644
index 38aaf64..0000000
--- a/spec/plugins/ChildBrowser/src/ios/ChildBrowserCommand.m
+++ /dev/null
@@ -1,86 +0,0 @@
-//
-
-// 
-//
-//  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-plugman/blob/0318d8cd/spec/plugins/ChildBrowser/src/ios/ChildBrowserViewController.h
----------------------------------------------------------------------
diff --git a/spec/plugins/ChildBrowser/src/ios/ChildBrowserViewController.h b/spec/plugins/ChildBrowser/src/ios/ChildBrowserViewController.h
deleted file mode 100644
index d6fc139..0000000
--- a/spec/plugins/ChildBrowser/src/ios/ChildBrowserViewController.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- *
- * 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-plugman/blob/0318d8cd/spec/plugins/ChildBrowser/src/ios/ChildBrowserViewController.m
----------------------------------------------------------------------
diff --git a/spec/plugins/ChildBrowser/src/ios/ChildBrowserViewController.m b/spec/plugins/ChildBrowser/src/ios/ChildBrowserViewController.m
deleted file mode 100644
index 167ef98..0000000
--- a/spec/plugins/ChildBrowser/src/ios/ChildBrowserViewController.m
+++ /dev/null
@@ -1,239 +0,0 @@
-//
-//  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