From d5285e2d93c1ac602294b6e0eaaa838fde89dbc1 Mon Sep 17 00:00:00 2001
From: Nicolas Terray <nicolas.terray@gmail.com>
Date: Fri, 5 Jul 2013 23:22:52 +0200
Subject: [PATCH] Add :title as attribute for basic_topic

When we update the <title> after editing a topic, we should use the raw
`topic.title` as `topic.fancy_title` may contains some htmlentities and
will be displayed as is in the browser tab.

This fix the following issue:

> Incorrect HTML title after editing title/category of topic
> http://meta.discourse.org/t/incorrect-html-title-after-editing-title-category-of-topic/8136
---
 .../javascripts/discourse/controllers/topic_controller.js    | 5 +++--
 app/serializers/basic_topic_serializer.rb                    | 2 +-
 app/serializers/listable_topic_serializer.rb                 | 1 -
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/app/assets/javascripts/discourse/controllers/topic_controller.js b/app/assets/javascripts/discourse/controllers/topic_controller.js
index ceef655d6..00ee4c590 100644
--- a/app/assets/javascripts/discourse/controllers/topic_controller.js
+++ b/app/assets/javascripts/discourse/controllers/topic_controller.js
@@ -149,10 +149,11 @@ Discourse.TopicController = Discourse.ObjectController.extend(Discourse.Selected
       // save the modifications
       topic.save().then(function(result){
         // update the title if it has been changed (cleaned up) server-side
-        var title = result.basic_topic.fancy_title;
+        var title       = result.basic_topic.title;
+        var fancy_title = result.basic_topic.fancy_title;
         topic.setProperties({
           title: title,
-          fancy_title: title
+          fancy_title: fancy_title
         });
 
       }, function(error) {
diff --git a/app/serializers/basic_topic_serializer.rb b/app/serializers/basic_topic_serializer.rb
index 9a7cfb0ba..5e2cf2c23 100644
--- a/app/serializers/basic_topic_serializer.rb
+++ b/app/serializers/basic_topic_serializer.rb
@@ -1,4 +1,4 @@
 # The most basic attributes of a topic that we need to create a link for it.
 class BasicTopicSerializer < ApplicationSerializer
-  attributes :id, :fancy_title, :slug, :posts_count
+  attributes :id, :title, :fancy_title, :slug, :posts_count
 end
diff --git a/app/serializers/listable_topic_serializer.rb b/app/serializers/listable_topic_serializer.rb
index c5718b31d..3e5317a68 100644
--- a/app/serializers/listable_topic_serializer.rb
+++ b/app/serializers/listable_topic_serializer.rb
@@ -13,7 +13,6 @@ class ListableTopicSerializer < BasicTopicSerializer
              :last_read_post_number,
              :unread,
              :new_posts,
-             :title,
              :pinned,
              :excerpt,
              :visible,