Permalink
Browse files

Upgrade to ckeditor 3.6.4

  • Loading branch information...
1 parent 2a53e2e commit f0d91235f13e86ce851a2d60ee806697d836e76a @stefanogualdi committed Sep 21, 2012
Showing with 2,930 additions and 1,051 deletions.
  1. +45 −0 web-app/js/ckeditor/CHANGES.html
  2. +4 −4 web-app/js/ckeditor/_source/core/ckeditor_base.js
  3. +5 −5 web-app/js/ckeditor/_source/core/config.js
  4. +15 −5 web-app/js/ckeditor/_source/core/dom/element.js
  5. +43 −24 web-app/js/ckeditor/_source/core/dom/range.js
  6. +10 −4 web-app/js/ckeditor/_source/core/dom/walker.js
  7. +12 −0 web-app/js/ckeditor/_source/core/eventInfo.js
  8. +15 −17 web-app/js/ckeditor/_source/core/htmlparser/element.js
  9. +1 −1 web-app/js/ckeditor/_source/core/htmlparser/fragment.js
  10. +1 −1 web-app/js/ckeditor/_source/core/loader.js
  11. +61 −60 web-app/js/ckeditor/_source/lang/_translationstatus.txt
  12. +2 −1 web-app/js/ckeditor/_source/lang/af.js
  13. +2 −1 web-app/js/ckeditor/_source/lang/ar.js
  14. +4 −3 web-app/js/ckeditor/_source/lang/bg.js
  15. +2 −1 web-app/js/ckeditor/_source/lang/bn.js
  16. +2 −1 web-app/js/ckeditor/_source/lang/bs.js
  17. +2 −1 web-app/js/ckeditor/_source/lang/ca.js
  18. +43 −42 web-app/js/ckeditor/_source/lang/cs.js
  19. +2 −1 web-app/js/ckeditor/_source/lang/cy.js
  20. +30 −29 web-app/js/ckeditor/_source/lang/da.js
  21. +2 −1 web-app/js/ckeditor/_source/lang/de.js
  22. +64 −63 web-app/js/ckeditor/_source/lang/el.js
  23. +2 −1 web-app/js/ckeditor/_source/lang/en-au.js
  24. +2 −1 web-app/js/ckeditor/_source/lang/en-ca.js
  25. +2 −1 web-app/js/ckeditor/_source/lang/en-gb.js
  26. +2 −1 web-app/js/ckeditor/_source/lang/en.js
  27. +2 −1 web-app/js/ckeditor/_source/lang/eo.js
  28. +2 −1 web-app/js/ckeditor/_source/lang/es.js
  29. +2 −1 web-app/js/ckeditor/_source/lang/et.js
  30. +2 −1 web-app/js/ckeditor/_source/lang/eu.js
  31. +2 −1 web-app/js/ckeditor/_source/lang/fa.js
  32. +2 −1 web-app/js/ckeditor/_source/lang/fi.js
  33. +2 −1 web-app/js/ckeditor/_source/lang/fo.js
  34. +2 −1 web-app/js/ckeditor/_source/lang/fr-ca.js
  35. +2 −1 web-app/js/ckeditor/_source/lang/fr.js
  36. +2 −1 web-app/js/ckeditor/_source/lang/gl.js
  37. +2 −1 web-app/js/ckeditor/_source/lang/gu.js
  38. +2 −1 web-app/js/ckeditor/_source/lang/he.js
  39. +2 −1 web-app/js/ckeditor/_source/lang/hi.js
  40. +2 −1 web-app/js/ckeditor/_source/lang/hr.js
  41. +2 −1 web-app/js/ckeditor/_source/lang/hu.js
  42. +815 −0 web-app/js/ckeditor/_source/lang/id.js
  43. +2 −1 web-app/js/ckeditor/_source/lang/is.js
  44. +2 −1 web-app/js/ckeditor/_source/lang/it.js
  45. +2 −1 web-app/js/ckeditor/_source/lang/ja.js
  46. +2 −1 web-app/js/ckeditor/_source/lang/ka.js
  47. +2 −1 web-app/js/ckeditor/_source/lang/km.js
  48. +2 −1 web-app/js/ckeditor/_source/lang/ko.js
  49. +2 −1 web-app/js/ckeditor/_source/lang/lt.js
  50. +2 −1 web-app/js/ckeditor/_source/lang/lv.js
  51. +2 −1 web-app/js/ckeditor/_source/lang/mk.js
  52. +2 −1 web-app/js/ckeditor/_source/lang/mn.js
  53. +2 −1 web-app/js/ckeditor/_source/lang/ms.js
  54. +2 −1 web-app/js/ckeditor/_source/lang/nb.js
  55. +2 −1 web-app/js/ckeditor/_source/lang/nl.js
  56. +2 −1 web-app/js/ckeditor/_source/lang/no.js
  57. +2 −1 web-app/js/ckeditor/_source/lang/pl.js
  58. +2 −1 web-app/js/ckeditor/_source/lang/pt-br.js
  59. +2 −1 web-app/js/ckeditor/_source/lang/pt.js
  60. +139 −138 web-app/js/ckeditor/_source/lang/ro.js
  61. +2 −1 web-app/js/ckeditor/_source/lang/ru.js
  62. +2 −1 web-app/js/ckeditor/_source/lang/sk.js
  63. +2 −1 web-app/js/ckeditor/_source/lang/sl.js
  64. +2 −1 web-app/js/ckeditor/_source/lang/sr-latn.js
  65. +2 −1 web-app/js/ckeditor/_source/lang/sr.js
  66. +2 −1 web-app/js/ckeditor/_source/lang/sv.js
  67. +2 −1 web-app/js/ckeditor/_source/lang/th.js
  68. +2 −1 web-app/js/ckeditor/_source/lang/tr.js
  69. +2 −1 web-app/js/ckeditor/_source/lang/ug.js
  70. +2 −1 web-app/js/ckeditor/_source/lang/uk.js
  71. +6 −5 web-app/js/ckeditor/_source/lang/vi.js
  72. +2 −1 web-app/js/ckeditor/_source/lang/zh-cn.js
  73. +2 −1 web-app/js/ckeditor/_source/lang/zh.js
  74. +4 −2 web-app/js/ckeditor/_source/plugins/a11yhelp/lang/_translationstatus.txt
  75. +1 −1 web-app/js/ckeditor/_source/plugins/a11yhelp/lang/da.js
  76. +2 −2 web-app/js/ckeditor/_source/plugins/a11yhelp/lang/el.js
  77. +89 −0 web-app/js/ckeditor/_source/plugins/a11yhelp/lang/pt-br.js
  78. +89 −0 web-app/js/ckeditor/_source/plugins/a11yhelp/lang/ro.js
  79. +3 −1 web-app/js/ckeditor/_source/plugins/a11yhelp/plugin.js
  80. +51 −21 web-app/js/ckeditor/_source/plugins/clipboard/plugin.js
  81. +1 −0 web-app/js/ckeditor/_source/plugins/colordialog/plugin.js
  82. +1 −0 web-app/js/ckeditor/_source/plugins/devtools/lang/_translationstatus.txt
  83. +16 −0 web-app/js/ckeditor/_source/plugins/devtools/lang/pt-br.js
  84. +1 −1 web-app/js/ckeditor/_source/plugins/devtools/plugin.js
  85. +51 −48 web-app/js/ckeditor/_source/plugins/dialog/plugin.js
  86. +9 −26 web-app/js/ckeditor/_source/plugins/dialogui/plugin.js
  87. +1 −1 web-app/js/ckeditor/_source/plugins/div/plugin.js
  88. +8 −2 web-app/js/ckeditor/_source/plugins/fakeobjects/plugin.js
  89. +10 −3 web-app/js/ckeditor/_source/plugins/find/dialogs/find.js
  90. +1 −0 web-app/js/ckeditor/_source/plugins/find/plugin.js
  91. +0 −9 web-app/js/ckeditor/_source/plugins/flash/dialogs/flash.js
  92. +1 −1 web-app/js/ckeditor/_source/plugins/font/plugin.js
  93. +1 −0 web-app/js/ckeditor/_source/plugins/forms/plugin.js
  94. +1 −12 web-app/js/ckeditor/_source/plugins/horizontalrule/plugin.js
  95. +2 −0 web-app/js/ckeditor/_source/plugins/image/plugin.js
  96. +5 −21 web-app/js/ckeditor/_source/plugins/indent/plugin.js
  97. +1 −1 web-app/js/ckeditor/_source/plugins/link/dialogs/anchor.js
  98. +2 −3 web-app/js/ckeditor/_source/plugins/link/plugin.js
  99. +141 −70 web-app/js/ckeditor/_source/plugins/list/plugin.js
  100. +1 −1 web-app/js/ckeditor/_source/plugins/newpage/plugin.js
  101. +2 −1 web-app/js/ckeditor/_source/plugins/placeholder/lang/_translationstatus.txt
  102. +1 −1 web-app/js/ckeditor/_source/plugins/placeholder/lang/da.js
  103. +16 −0 web-app/js/ckeditor/_source/plugins/placeholder/lang/pt-br.js
  104. +1 −1 web-app/js/ckeditor/_source/plugins/placeholder/lang/vi.js
  105. +1 −1 web-app/js/ckeditor/_source/plugins/placeholder/plugin.js
  106. +2 −2 web-app/js/ckeditor/_source/plugins/popup/plugin.js
  107. +13 −1 web-app/js/ckeditor/_source/plugins/preview/plugin.js
  108. +10 −0 web-app/js/ckeditor/_source/plugins/preview/preview.html
  109. +23 −9 web-app/js/ckeditor/_source/plugins/selection/plugin.js
  110. +3 −0 web-app/js/ckeditor/_source/plugins/specialchar/lang/_translationstatus.txt
  111. +126 −0 web-app/js/ckeditor/_source/plugins/specialchar/lang/el.js
  112. +126 −0 web-app/js/ckeditor/_source/plugins/specialchar/lang/he.js
  113. +126 −0 web-app/js/ckeditor/_source/plugins/specialchar/lang/pt-br.js
  114. +3 −1 web-app/js/ckeditor/_source/plugins/specialchar/plugin.js
  115. +16 −4 web-app/js/ckeditor/_source/plugins/styles/plugin.js
  116. +1 −0 web-app/js/ckeditor/_source/plugins/table/plugin.js
  117. +1 −1 web-app/js/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js
  118. +2 −0 web-app/js/ckeditor/_source/plugins/tabletools/plugin.js
  119. +1 −0 web-app/js/ckeditor/_source/plugins/toolbar/plugin.js
  120. +1 −0 web-app/js/ckeditor/_source/plugins/uicolor/lang/_translationstatus.txt
  121. +15 −0 web-app/js/ckeditor/_source/plugins/uicolor/lang/pt-br.js
  122. +1 −1 web-app/js/ckeditor/_source/plugins/uicolor/plugin.js
  123. +106 −49 web-app/js/ckeditor/_source/plugins/wysiwygarea/plugin.js
  124. +21 −10 web-app/js/ckeditor/_source/skins/kama/dialog.css
  125. +23 −6 web-app/js/ckeditor/_source/skins/office2003/dialog.css
  126. +23 −6 web-app/js/ckeditor/_source/skins/v2/dialog.css
  127. +122 −121 web-app/js/ckeditor/ckeditor.js
  128. +1 −1 web-app/js/ckeditor/ckeditor_basic.js
  129. +1 −1 web-app/js/ckeditor/ckeditor_basic_source.js
  130. +1 −1 web-app/js/ckeditor/ckeditor_source.js
  131. +61 −60 web-app/js/ckeditor/lang/_translationstatus.txt
  132. +1 −1 web-app/js/ckeditor/lang/af.js
  133. +1 −1 web-app/js/ckeditor/lang/ar.js
  134. +1 −1 web-app/js/ckeditor/lang/bg.js
  135. +1 −1 web-app/js/ckeditor/lang/bn.js
  136. +1 −1 web-app/js/ckeditor/lang/bs.js
  137. +1 −1 web-app/js/ckeditor/lang/ca.js
  138. +1 −1 web-app/js/ckeditor/lang/cs.js
  139. +1 −1 web-app/js/ckeditor/lang/cy.js
  140. +1 −1 web-app/js/ckeditor/lang/da.js
  141. +1 −1 web-app/js/ckeditor/lang/de.js
  142. +1 −1 web-app/js/ckeditor/lang/el.js
  143. +1 −1 web-app/js/ckeditor/lang/en-au.js
  144. +1 −1 web-app/js/ckeditor/lang/en-ca.js
  145. +1 −1 web-app/js/ckeditor/lang/en-gb.js
  146. +1 −1 web-app/js/ckeditor/lang/en.js
  147. +1 −1 web-app/js/ckeditor/lang/eo.js
  148. +1 −1 web-app/js/ckeditor/lang/es.js
  149. +1 −1 web-app/js/ckeditor/lang/et.js
  150. +1 −1 web-app/js/ckeditor/lang/eu.js
  151. +1 −1 web-app/js/ckeditor/lang/fa.js
  152. +1 −1 web-app/js/ckeditor/lang/fi.js
  153. +1 −1 web-app/js/ckeditor/lang/fo.js
  154. +1 −1 web-app/js/ckeditor/lang/fr-ca.js
  155. +1 −1 web-app/js/ckeditor/lang/fr.js
  156. +1 −1 web-app/js/ckeditor/lang/gl.js
  157. +1 −1 web-app/js/ckeditor/lang/gu.js
  158. +1 −1 web-app/js/ckeditor/lang/he.js
  159. +1 −1 web-app/js/ckeditor/lang/hi.js
  160. +1 −1 web-app/js/ckeditor/lang/hr.js
  161. +1 −1 web-app/js/ckeditor/lang/hu.js
  162. +6 −0 web-app/js/ckeditor/lang/id.js
  163. +1 −1 web-app/js/ckeditor/lang/is.js
  164. +1 −1 web-app/js/ckeditor/lang/it.js
  165. +1 −1 web-app/js/ckeditor/lang/ja.js
  166. +1 −1 web-app/js/ckeditor/lang/ka.js
  167. +1 −1 web-app/js/ckeditor/lang/km.js
  168. +1 −1 web-app/js/ckeditor/lang/ko.js
  169. +1 −1 web-app/js/ckeditor/lang/lt.js
  170. +1 −1 web-app/js/ckeditor/lang/lv.js
  171. +1 −1 web-app/js/ckeditor/lang/mk.js
  172. +1 −1 web-app/js/ckeditor/lang/mn.js
  173. +1 −1 web-app/js/ckeditor/lang/ms.js
  174. +1 −1 web-app/js/ckeditor/lang/nb.js
  175. +1 −1 web-app/js/ckeditor/lang/nl.js
  176. +1 −1 web-app/js/ckeditor/lang/no.js
  177. +1 −1 web-app/js/ckeditor/lang/pl.js
  178. +1 −1 web-app/js/ckeditor/lang/pt-br.js
  179. +1 −1 web-app/js/ckeditor/lang/pt.js
  180. +1 −1 web-app/js/ckeditor/lang/ro.js
  181. +1 −1 web-app/js/ckeditor/lang/ru.js
  182. +1 −1 web-app/js/ckeditor/lang/sk.js
  183. +1 −1 web-app/js/ckeditor/lang/sl.js
  184. +1 −1 web-app/js/ckeditor/lang/sr-latn.js
  185. +1 −1 web-app/js/ckeditor/lang/sr.js
  186. +1 −1 web-app/js/ckeditor/lang/sv.js
  187. +1 −1 web-app/js/ckeditor/lang/th.js
  188. +1 −1 web-app/js/ckeditor/lang/tr.js
  189. +1 −1 web-app/js/ckeditor/lang/ug.js
  190. +1 −1 web-app/js/ckeditor/lang/uk.js
  191. +1 −1 web-app/js/ckeditor/lang/vi.js
  192. +1 −1 web-app/js/ckeditor/lang/zh-cn.js
  193. +1 −1 web-app/js/ckeditor/lang/zh.js
  194. +4 −2 web-app/js/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt
  195. +1 −1 web-app/js/ckeditor/plugins/a11yhelp/lang/da.js
  196. +1 −1 web-app/js/ckeditor/plugins/a11yhelp/lang/el.js
  197. +6 −0 web-app/js/ckeditor/plugins/a11yhelp/lang/pt-br.js
  198. +6 −0 web-app/js/ckeditor/plugins/a11yhelp/lang/ro.js
  199. +1 −0 web-app/js/ckeditor/plugins/devtools/lang/_translationstatus.txt
  200. +6 −0 web-app/js/ckeditor/plugins/devtools/lang/pt-br.js
  201. +1 −1 web-app/js/ckeditor/plugins/devtools/plugin.js
  202. +2 −2 web-app/js/ckeditor/plugins/find/dialogs/find.js
  203. +3 −3 web-app/js/ckeditor/plugins/flash/dialogs/flash.js
  204. +1 −1 web-app/js/ckeditor/plugins/link/dialogs/anchor.js
  205. +2 −1 web-app/js/ckeditor/plugins/placeholder/lang/_translationstatus.txt
  206. +1 −1 web-app/js/ckeditor/plugins/placeholder/lang/da.js
  207. +6 −0 web-app/js/ckeditor/plugins/placeholder/lang/pt-br.js
  208. +1 −1 web-app/js/ckeditor/plugins/placeholder/lang/vi.js
  209. +1 −1 web-app/js/ckeditor/plugins/placeholder/plugin.js
  210. +10 −0 web-app/js/ckeditor/plugins/preview/preview.html
  211. +3 −0 web-app/js/ckeditor/plugins/specialchar/lang/_translationstatus.txt
  212. +6 −0 web-app/js/ckeditor/plugins/specialchar/lang/el.js
  213. +6 −0 web-app/js/ckeditor/plugins/specialchar/lang/he.js
  214. +6 −0 web-app/js/ckeditor/plugins/specialchar/lang/pt-br.js
  215. +1 −1 web-app/js/ckeditor/plugins/tabletools/dialogs/tableCell.js
  216. +1 −0 web-app/js/ckeditor/plugins/uicolor/lang/_translationstatus.txt
  217. +6 −0 web-app/js/ckeditor/plugins/uicolor/lang/pt-br.js
  218. +1 −1 web-app/js/ckeditor/plugins/uicolor/plugin.js
  219. +5 −5 web-app/js/ckeditor/skins/kama/dialog.css
  220. +5 −4 web-app/js/ckeditor/skins/office2003/dialog.css
  221. +4 −4 web-app/js/ckeditor/skins/v2/dialog.css
@@ -35,6 +35,51 @@
CKEditor Changelog
</h1>
<h3>
+ CKEditor 3.6.4</h3>
+ <p>
+ Fixed issues:</p>
+ <ul>
+ <li><a href="http://dev.ckeditor.com/ticket/8887">#8887</a> : Ugly hover effect for buttons in dialog windows due to slightly wrong background position.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8783">#8783</a> : <code>getAttribute( 'contenteditable' )</code> returns 'inherited' on IE7 and IE6 for elements created from code.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8463">#8463</a> : WebKit: <em>Cut/Copy</em> buttons didn't go on "enabled" state after selecting text in the editor.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9043">#9043</a> : Command newpage didn't return its name when <code>afterCommandExec</code> event was fired.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9015">#9015</a> : Applied ARIA label on dialog file input element.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9016">#9016</a> : Applied the "presentation" role on the iframe element in dialog file field markup.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8949">#8949</a> : Image Properties does not show in context menu when the image is wrapped in a div with the width set.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9008">#9008</a> : Fixed list items order reversed when merging two lists.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9042">#9042</a> : [Safari] Fixed pasting left garbage html at the end of document.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/7745">#7745</a> : The list of frames on JAWS will not any more show the <em>"ALT+0 for help"</em> text for the editor entry.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8979">#8979</a> : Overriding matches will not any more interfere on the Font size combo.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/5447">#5447</a> : Anchor names created by the Link dialog are now trimmed to protect against unwanted spaces.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8997">#8997</a> : Styles are lost on sub-lists when converting list type.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8971">#8971</a> : [IE7] Dialog size are stretched when long text field value is received.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8945">#8945</a> : Fake elements now show alternative text on High Contrast mode.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8985">#8985</a> : Better handling of <em>Enter</em> key events on dialogs.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8925">#8925</a> : [Firefox] Unexpected page scroll on large floating block when editor is re-focused.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8978">#8978</a> : [IE] Saved editor text selection is lost after close menu.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9022">#9022</a> : [IE7] Fixed wrong selection introduced in empty editor document when click to the bottom-right of the document.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9034">#9034</a> : [IE7] Fixed JavaScript error caused by drag-to-select at the bottom of the document.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9057">#9057</a> : Unexpected block established when decreasing indent of a styled list item.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9063">#9063</a> : Styles on sub-list are lost when decreasing indent of the parent list.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9047">#9047</a> : [Firefox] Anchors in the preview window will now work properly.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8941">#8941</a> : [Webkit] Content region disappeared when resizing the browser.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8968">#8968</a> : [Firefox] The <code><a href="http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html#.forcePasteAsPlainText">forcePasteAsPlainText</a></code> configuration is not working when using <em>Ctrl/Cmd-V</em>.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/6217">#6217</a> : Handled <em>Del/Backspace</em> key at the boundary of table to unify the cursor position.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8950">#8950</a> : Changed the cursor position after calling <code>editor::insertElement</code> on block element.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9080">#9080</a> : Fixed <em>Backspace</em> key in front of the list item to join with previous line.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/3592">#3592</a> : Removed the "title" field from flash dialog advanced tab.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9084">#9084</a> : [IE] Dragging absolute positioned elements is now enabled by default.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8879">#8879</a> : Corrected styling of labels used in dialog windows.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/8921">#8921</a> : [Chrome] Paste on a newly created CKEditor instance does not work on Chrome.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9036">#9036</a> : Find feature cannot locate certain words while <em>Match Whole Word</em> is enabled.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/9069">#9069</a> : [Chrome] Issue with popups not opening properly on Chrome 20 makes it impossible to view the file browser window.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/5811">#5811</a> : Code for Image dialog is missing dialog dependency.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/5810">#5810</a> : Code for Div Container is missing dialog dependency.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/5809">#5809</a> : Dialog a11yhelp is missing dialog dependency.</li>
+ <li><a href="http://dev.ckeditor.com/ticket/4045">#4045</a> : "Field Name" Column in <code>sample_posteddata.php</code> is to narrow.</li>
+ <li>Updated the following language files as submitted to the <a href="https://www.transifex.net/projects/p/ckeditor/">CKEditor UI Translation Center</a>: Bulgarian, Chinese, Czech, Danish, Esperanto, Estonian, Greek, Italian, Norwegian, Portuguese, Romanian, Vietnamese.</li>
+ </ul>
+ <h3>
CKEditor 3.6.3</h3>
<p>
New features:</p>
@@ -12,7 +12,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
// Must be updated on changes in the script as well as updated in the
// ckeditor_source.js and ckeditor_basic_source.js files.
-// if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.6.3',revision:'7474',rnd:Math.floor(Math.random()*900)+100,_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf(':/')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;if(!d)throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return d;})(),getUrl:function(d){if(d.indexOf(':/')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/'&&!/[&?]t=/.test(d))d+=(d.indexOf('?')>=0?'&':'?')+'t='+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();
+// if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.6.4',revision:'7575',rnd:Math.floor(Math.random()*900)+100,_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf(':/')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;if(!d)throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return d;})(),getUrl:function(d){if(d.indexOf(':/')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/'&&!/[&?]t=/.test(d))d+=(d.indexOf('?')>=0?'&':'?')+'t='+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();
// #### Raw code
// ATTENTION: read the above "Compressed Code" notes when changing this code.
@@ -51,15 +51,15 @@ if ( !window.CKEDITOR )
// The production implementation contains a fixed timestamp, unique
// for each release and generated by the releaser.
// (Base 36 value of each component of YYMMDDHH - 4 chars total - e.g. 87bm == 08071122)
- timestamp : 'C3HA5RM',
+ timestamp : 'C6HH5UF',
/**
* Contains the CKEditor version number.
* @type String
* @example
* alert( CKEDITOR.version ); // e.g. 'CKEditor 3.4.1'
*/
- version : '3.6.3',
+ version : '3.6.4',
/**
* Contains the CKEditor revision number.
@@ -69,7 +69,7 @@ if ( !window.CKEDITOR )
* @example
* alert( CKEDITOR.revision ); // e.g. '3975'
*/
- revision : '7474',
+ revision : '7575',
/**
* A 3-digit random integer, valid for the entire life of the CKEDITOR object.
@@ -323,20 +323,20 @@ CKEDITOR.config =
'resize,' +
'save,' +
'scayt,' +
- 'smiley,' +
'showblocks,' +
'showborders,' +
+ 'smiley,' +
'sourcearea,' +
+ 'specialchar,' +
'stylescombo,' +
+ 'tab,' +
'table,' +
'tabletools,' +
- 'specialchar,' +
- 'tab,' +
'templates,' +
'toolbar,' +
'undo,' +
- 'wysiwygarea,' +
- 'wsc',
+ 'wsc,' +
+ 'wysiwygarea',
/**
* A list of additional plugins to be loaded. This setting makes it easier
@@ -466,6 +466,11 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
case 'style':
// IE does not return inline styles via getAttribute(). See #2947.
return this.$.style.cssText;
+
+ case 'contenteditable':
+ case 'contentEditable':
+ return this.$.attributes.getNamedItem( 'contentEditable' ).specified ?
+ this.$.getAttribute( 'contentEditable' ) : null;
}
return standard.call( this, name );
@@ -731,7 +736,8 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
|| this.getComputedStyle( 'display' ) == 'none'
|| this.getComputedStyle( 'visibility' ) == 'hidden'
|| this.is( 'a' ) && this.data( 'cke-saved-name' ) && !this.getChildCount()
- || CKEDITOR.dtd.$nonEditable[ name ] )
+ || CKEDITOR.dtd.$nonEditable[ name ]
+ || CKEDITOR.dtd.$empty[ name ] )
{
return false;
}
@@ -1069,6 +1075,8 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
this.$.tabIndex = value;
else if ( name == 'checked' )
this.$.checked = value;
+ else if ( name == 'contenteditable' )
+ standard.call( this, 'contentEditable', value );
else
standard.apply( this, arguments );
return this;
@@ -1143,6 +1151,8 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
name = 'className';
else if ( name == 'tabindex' )
name = 'tabIndex';
+ else if ( name == 'contenteditable' )
+ name = 'contentEditable';
standard.call( this, name );
};
}
@@ -1174,9 +1184,9 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
*/
removeStyle : function( name )
{
- this.setStyle( name, '' );
- if ( this.$.style.removeAttribute )
- this.$.style.removeAttribute( CKEDITOR.tools.cssStyleToDomStyle( name ) );
+ // Removes the specified property from the current style object.
+ var $ = this.$.style;
+ $.removeProperty ? $.removeProperty( name ) : $.removeAttribute( CKEDITOR.tools.cssStyleToDomStyle( name ) );
if ( !this.$.style.cssText )
this.removeAttribute( 'style' );
@@ -1227,7 +1237,7 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
*/
setOpacity : function( opacity )
{
- if ( CKEDITOR.env.ie )
+ if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 )
{
opacity = Math.round( opacity * 100 );
this.setStyle( 'filter', opacity >= 100 ? '' : 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ')' );
@@ -349,7 +349,10 @@ CKEDITOR.dom.range = function( document )
// check(Start|End)OfBlock.
function getCheckStartEndBlockEvalFunction( isStart )
{
- var hadBr = false, bookmarkEvaluator = CKEDITOR.dom.walker.bookmark( true );
+ var skipBogus = false,
+ bookmarkEvaluator = CKEDITOR.dom.walker.bookmark( true ),
+ nbspRegExp = /^[\t\r\n ]*(?:&nbsp;|\xa0)$/;
+
return function( node )
{
// First ignore bookmark nodes.
@@ -358,8 +361,16 @@ CKEDITOR.dom.range = function( document )
if ( node.type == CKEDITOR.NODE_TEXT )
{
+ // Skip the block filler NBSP.
+ if ( CKEDITOR.env.ie &&
+ nbspRegExp.test( node.getText() ) &&
+ !skipBogus &&
+ !( isStart && node.getNext() ) )
+ {
+ skipBogus = true;
+ }
// If there's any visible text, then we're not at the start.
- if ( node.hasAscendant( 'pre' ) || CKEDITOR.tools.trim( node.getText() ).length )
+ else if ( node.hasAscendant( 'pre' ) || CKEDITOR.tools.trim( node.getText() ).length )
return false;
}
else if ( node.type == CKEDITOR.NODE_ELEMENT )
@@ -368,10 +379,14 @@ CKEDITOR.dom.range = function( document )
// at the start.
if ( !inlineChildReqElements[ node.getName() ] )
{
- // If we're working at the end-of-block, forgive the first <br /> in non-IE
- // browsers.
- if ( !isStart && !CKEDITOR.env.ie && node.getName() == 'br' && !hadBr )
- hadBr = true;
+ // Skip the padding block br.
+ if ( !CKEDITOR.env.ie &&
+ node.is( 'br' ) &&
+ !skipBogus &&
+ !( isStart && node.getNext() ) )
+ {
+ skipBogus = true;
+ }
else
return false;
}
@@ -513,7 +528,7 @@ CKEDITOR.dom.range = function( document )
if ( serializable )
{
baseId = 'cke_bm_' + CKEDITOR.tools.getNextNumber();
- startNode.setAttribute( 'id', baseId + 'S' );
+ startNode.setAttribute( 'id', baseId + ( collapsed ? 'C' : 'S' ) );
}
// If collapsed, the endNode will not be created.
@@ -544,7 +559,7 @@ CKEDITOR.dom.range = function( document )
this.moveToPosition( startNode, CKEDITOR.POSITION_AFTER_END );
return {
- startNode : serializable ? baseId + 'S' : startNode,
+ startNode : serializable ? baseId + ( collapsed ? 'C' : 'S' ) : startNode,
endNode : serializable ? baseId + 'E' : endNode,
serializable : serializable,
collapsed : collapsed
@@ -1828,11 +1843,6 @@ CKEDITOR.dom.range = function( document )
return false;
}
- // Antecipate the trim() call here, so the walker will not make
- // changes to the DOM, which would not get reflected into this
- // range otherwise.
- this.trim();
-
// We need to grab the block element holding the start boundary, so
// let's use an element path for it.
var path = new CKEDITOR.dom.elementPath( this.startContainer );
@@ -1862,11 +1872,6 @@ CKEDITOR.dom.range = function( document )
return false;
}
- // Antecipate the trim() call here, so the walker will not make
- // changes to the DOM, which would not get reflected into this
- // range otherwise.
- this.trim();
-
// We need to grab the block element holding the start boundary, so
// let's use an element path for it.
var path = new CKEDITOR.dom.elementPath( this.endContainer );
@@ -1934,31 +1939,42 @@ CKEDITOR.dom.range = function( document )
*/
moveToElementEditablePosition : function( el, isMoveToEnd )
{
+ var nbspRegExp = /^[\t\r\n ]*(?:&nbsp;|\xa0)$/;
+
function nextDFS( node, childOnly )
{
var next;
- if ( node.type == CKEDITOR.NODE_ELEMENT
- && node.isEditable( false )
- && !CKEDITOR.dtd.$nonEditable[ node.getName() ] )
- {
+ if ( node.type == CKEDITOR.NODE_ELEMENT && node.isEditable( false ) )
next = node[ isMoveToEnd ? 'getLast' : 'getFirst' ]( nonWhitespaceOrBookmarkEval );
- }
if ( !childOnly && !next )
next = node[ isMoveToEnd ? 'getPrevious' : 'getNext' ]( nonWhitespaceOrBookmarkEval );
return next;
}
+ // Handle non-editable element e.g. HR.
+ if ( el.type == CKEDITOR.NODE_ELEMENT && !el.isEditable( false ) )
+ {
+ this.moveToPosition( el, isMoveToEnd ?
+ CKEDITOR.POSITION_AFTER_END :
+ CKEDITOR.POSITION_BEFORE_START );
+ return true;
+ }
+
var found = 0;
while ( el )
{
// Stop immediately if we've found a text node.
if ( el.type == CKEDITOR.NODE_TEXT )
{
- this.moveToPosition( el, isMoveToEnd ?
+ // Put cursor before block filler.
+ if ( isMoveToEnd && this.checkEndOfBlock() && nbspRegExp.test( el.getText() ) )
+ this.moveToPosition( el, CKEDITOR.POSITION_BEFORE_START );
+ else
+ this.moveToPosition( el, isMoveToEnd ?
CKEDITOR.POSITION_AFTER_END :
CKEDITOR.POSITION_BEFORE_START );
found = 1;
@@ -1975,6 +1991,9 @@ CKEDITOR.dom.range = function( document )
CKEDITOR.POSITION_AFTER_START );
found = 1;
}
+ // Put cursor before padding block br.
+ else if ( isMoveToEnd && el.is( 'br' ) && this.checkEndOfBlock() )
+ this.moveToPosition( el, CKEDITOR.POSITION_BEFORE_START );
}
el = nextDFS( el, found );
@@ -446,7 +446,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
};
};
- CKEDITOR.dom.walker.bogus = function( type, isReject )
+ CKEDITOR.dom.walker.bogus = function( isReject )
{
function nonEmpty( node )
{
@@ -455,11 +455,17 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
return function( node )
{
- var parent = node.getParent(),
- isBogus = !CKEDITOR.env.ie ? node.is && node.is( 'br' ) :
+ var isBogus = !CKEDITOR.env.ie ? node.is && node.is( 'br' ) :
node.getText && tailNbspRegex.test( node.getText() );
- isBogus = isBogus && parent.isBlockBoundary() && !!parent.getLast( nonEmpty );
+ if ( isBogus )
+ {
+ var parent = node.getParent(), next = node.getNext( nonEmpty );
+ isBogus = parent.isBlockBoundary() &&
+ ( !next ||
+ next.type == CKEDITOR.NODE_ELEMENT &&
+ next.isBlockBoundary() );
+ }
return !! ( isReject ^ isBogus );
};
@@ -118,3 +118,15 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
* });
* alert( someObject.fire( 'someEvent' ) ); // "true"
*/
+
+/**
+ * Removes the current listener.
+ * @name CKEDITOR.eventInfo.prototype.removeListener
+ * @function
+ * @example
+ * someObject.on( 'someEvent', function( event )
+ * {
+ * <b>event.removeListener()</b>;
+ * // Now this function won't be called again by 'someEvent'
+ * });
+ */
Oops, something went wrong.

0 comments on commit f0d9123

Please sign in to comment.