From 6975ede00e60abc2379c4f69dfc639fa0bb28ede Mon Sep 17 00:00:00 2001 From: Randy Edmunds Date: Wed, 17 Apr 2013 13:58:50 -0700 Subject: [PATCH 1/3] server provider is not automatically updated when switching projects --- src/LiveDevelopment/LiveDevelopment.js | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/LiveDevelopment/LiveDevelopment.js b/src/LiveDevelopment/LiveDevelopment.js index 90e6319081f..66492500b8a 100644 --- a/src/LiveDevelopment/LiveDevelopment.js +++ b/src/LiveDevelopment/LiveDevelopment.js @@ -843,6 +843,24 @@ define(function LiveDevelopment(require, exports, module) { .done(onInterstitialPageLoad); } + // ServerProvider is not automatically updated when switching projects + function serverProviderMatchesProject(docFullPath) { + + // null server provider uses file:// url, so it's ok + if (!_serverProvider || !_serverProvider.root) { + return true; + } + + // Server provider root should be the path to the document. + // Note that this can cause a false positive for nested projects, + // but this is caught with subsequent check for server url + if (docFullPath.indexOf(_serverProvider.root) !== 0) { + return false; + } + + return true; + } + /** Triggered by a document change from the DocumentManager */ function _onDocumentChange() { var doc = _getCurrentDocument(), @@ -855,10 +873,12 @@ define(function LiveDevelopment(require, exports, module) { if (Inspector.connected()) { hideHighlight(); - if (agents.network && agents.network.wasURLRequested(doc.url)) { + + if (serverProviderMatchesProject(doc.file.fullPath) && + agents.network && agents.network.wasURLRequested(doc.url)) { _openDocument(doc, EditorManager.getCurrentFullEditor()); - promise = _getRelatedDocuments(); + } else { if (exports.config.experimental || _isHtmlFileExt(doc.extension)) { promise = close().done(open); @@ -944,6 +964,7 @@ define(function LiveDevelopment(require, exports, module) { * @return {jQuery.Promise} Promise that is already resolved */ UserServerProvider.prototype.readyToServe = function () { + this.root = ProjectManager.getProjectRoot().fullPath; return $.Deferred().resolve().promise(); }; From f6454e7713bf64441c89a7661468dc3b052f661a Mon Sep 17 00:00:00 2001 From: Randy Edmunds Date: Wed, 17 Apr 2013 19:04:35 -0700 Subject: [PATCH 2/3] backout previous commit; close LiveDev on project change instead --- src/LiveDevelopment/LiveDevelopment.js | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/src/LiveDevelopment/LiveDevelopment.js b/src/LiveDevelopment/LiveDevelopment.js index 66492500b8a..8344beaa94f 100644 --- a/src/LiveDevelopment/LiveDevelopment.js +++ b/src/LiveDevelopment/LiveDevelopment.js @@ -843,24 +843,6 @@ define(function LiveDevelopment(require, exports, module) { .done(onInterstitialPageLoad); } - // ServerProvider is not automatically updated when switching projects - function serverProviderMatchesProject(docFullPath) { - - // null server provider uses file:// url, so it's ok - if (!_serverProvider || !_serverProvider.root) { - return true; - } - - // Server provider root should be the path to the document. - // Note that this can cause a false positive for nested projects, - // but this is caught with subsequent check for server url - if (docFullPath.indexOf(_serverProvider.root) !== 0) { - return false; - } - - return true; - } - /** Triggered by a document change from the DocumentManager */ function _onDocumentChange() { var doc = _getCurrentDocument(), @@ -874,11 +856,10 @@ define(function LiveDevelopment(require, exports, module) { if (Inspector.connected()) { hideHighlight(); - if (serverProviderMatchesProject(doc.file.fullPath) && - agents.network && agents.network.wasURLRequested(doc.url)) { + if (agents.network && agents.network.wasURLRequested(doc.url)) { _openDocument(doc, EditorManager.getCurrentFullEditor()); - promise = _getRelatedDocuments(); + promise = _getRelatedDocuments(); } else { if (exports.config.experimental || _isHtmlFileExt(doc.extension)) { promise = close().done(open); @@ -964,7 +945,6 @@ define(function LiveDevelopment(require, exports, module) { * @return {jQuery.Promise} Promise that is already resolved */ UserServerProvider.prototype.readyToServe = function () { - this.root = ProjectManager.getProjectRoot().fullPath; return $.Deferred().resolve().promise(); }; @@ -977,6 +957,7 @@ define(function LiveDevelopment(require, exports, module) { $(DocumentManager).on("currentDocumentChange", _onDocumentChange) .on("documentSaved", _onDocumentSaved) .on("dirtyFlagChange", _onDirtyFlagChange); + $(ProjectManager).on("beforeProjectClose beforeAppClose", close); // Register user defined server provider var userServerProvider = new UserServerProvider(); From f5cbfc7bbe01c289a9c73585b119b4d7677422b3 Mon Sep 17 00:00:00 2001 From: Randy Edmunds Date: Wed, 17 Apr 2013 19:07:52 -0700 Subject: [PATCH 3/3] restore formatting --- src/LiveDevelopment/LiveDevelopment.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/LiveDevelopment/LiveDevelopment.js b/src/LiveDevelopment/LiveDevelopment.js index 8344beaa94f..56e274d6fa8 100644 --- a/src/LiveDevelopment/LiveDevelopment.js +++ b/src/LiveDevelopment/LiveDevelopment.js @@ -855,10 +855,9 @@ define(function LiveDevelopment(require, exports, module) { if (Inspector.connected()) { hideHighlight(); - if (agents.network && agents.network.wasURLRequested(doc.url)) { _openDocument(doc, EditorManager.getCurrentFullEditor()); - + promise = _getRelatedDocuments(); } else { if (exports.config.experimental || _isHtmlFileExt(doc.extension)) {