aboutsummaryrefslogtreecommitdiffstats
path: root/src/ng/location.js
diff options
context:
space:
mode:
authorquazzie2013-03-22 10:35:50 +0100
committerPete Bacon Darwin2013-05-01 14:42:10 +0100
commitdc9a580617a838b63cbf5feae362b6f9cf5ed986 (patch)
tree5ccc531294e2039425acd9627d28ef09c4ff59d1 /src/ng/location.js
parent660605bdb834bbbb31529b86f5b870c5861ff497 (diff)
downloadangular.js-dc9a580617a838b63cbf5feae362b6f9cf5ed986.tar.bz2
fix($location): back-button should fire $locationChangeStart
Before $locationChangeStart event is not broadcast when pressing the back-button on the browser. Closes #2109
Diffstat (limited to 'src/ng/location.js')
-rw-r--r--src/ng/location.js4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ng/location.js b/src/ng/location.js
index 9a5a68ba..b6d14e1a 100644
--- a/src/ng/location.js
+++ b/src/ng/location.js
@@ -546,6 +546,10 @@ function $LocationProvider(){
// update $location when $browser url changes
$browser.onUrlChange(function(newUrl) {
if ($location.absUrl() != newUrl) {
+ if ($rootScope.$broadcast('$locationChangeStart', newUrl, $location.absUrl()).defaultPrevented) {
+ $browser.url($location.absUrl());
+ return;
+ }
$rootScope.$evalAsync(function() {
var oldUrl = $location.absUrl();