sproutcore 1.10.3.1 → 1.11.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (380) hide show
  1. checksums.yaml +8 -8
  2. data/CHANGELOG +4 -8
  3. data/VERSION.yml +2 -2
  4. data/lib/frameworks/sproutcore/Buildfile +5 -4
  5. data/lib/frameworks/sproutcore/CHANGELOG.md +274 -40
  6. data/lib/frameworks/sproutcore/CONTRIBUTORS.md +133 -0
  7. data/lib/frameworks/sproutcore/README.md +31 -144
  8. data/lib/frameworks/sproutcore/apps/showcase/controllers/source_tree_controller.js +9 -4
  9. data/lib/frameworks/sproutcore/apps/showcase/resources/stylesheet.css +5 -0
  10. data/lib/frameworks/sproutcore/apps/showcase/system/views_item_content.js +1 -1
  11. data/lib/frameworks/sproutcore/apps/showcase/views/split_views.js +15 -2
  12. data/lib/frameworks/sproutcore/apps/showcase/views/stacked_views.js +1 -1
  13. data/lib/frameworks/sproutcore/apps/tests/english.lproj/main_page.js +11 -1
  14. data/lib/frameworks/sproutcore/frameworks/ajax/mixins/websocket_delegate.js +90 -0
  15. data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +81 -5
  16. data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +23 -4
  17. data/lib/frameworks/sproutcore/frameworks/ajax/system/websocket.js +475 -0
  18. data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +149 -26
  19. data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/websocket.js +197 -0
  20. data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/xhr_response_test.js +65 -0
  21. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +4 -0
  22. data/lib/frameworks/sproutcore/frameworks/core_foundation/child_view_layouts/horizontal_stack_layout.js +232 -52
  23. data/lib/frameworks/sproutcore/frameworks/core_foundation/child_view_layouts/vertical_stack_layout.js +235 -49
  24. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +23 -13
  25. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/object.js +3 -1
  26. data/lib/frameworks/sproutcore/frameworks/core_foundation/core.js +81 -1
  27. data/lib/frameworks/sproutcore/frameworks/core_foundation/english.lproj/ordinal.js +17 -0
  28. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/string.js +7 -0
  29. data/lib/frameworks/sproutcore/frameworks/{desktop/tests/views/disclosure/methods.js → core_foundation/french.lproj/ordinal.js} +7 -4
  30. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/layout.js +2 -6
  31. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/main.js +1 -1
  32. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +104 -69
  33. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane_statechart.js +6 -1
  34. data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/child_view_layout_protocol.js +59 -0
  35. data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/view_transition_protocol.js +18 -1
  36. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/application.js +192 -0
  37. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/bezier_curves.js +52 -0
  38. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/color.js +384 -64
  39. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/core_query.js +6 -14
  40. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/device.js +21 -35
  41. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +72 -36
  42. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js +90 -34
  43. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +55 -7
  44. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +20 -15
  45. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/req_anim_frame.js +9 -10
  46. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +763 -542
  47. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/selection_set.js +4 -3
  48. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +1 -7
  49. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +14 -0
  50. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/touch.js +538 -0
  51. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/utils/rect.js +56 -1
  52. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +99 -4
  53. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/single_case.js +25 -19
  54. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/core_tests.js +75 -0
  55. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/ext/number_test.js +81 -0
  56. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/action_support.js +4 -4
  57. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/responder_context.js +4 -4
  58. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/string.js +19 -1
  59. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/color.js +36 -20
  60. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/design_modes_test.js +83 -0
  61. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/makeMainPane.js +7 -3
  62. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/mouse_events.js +338 -0
  63. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/root_responder.js +14 -89
  64. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/touch.js +106 -0
  65. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/sparse_array.js +2 -2
  66. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/touch.js +136 -0
  67. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/utils/rect.js +42 -1
  68. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/append_remove.js +11 -0
  69. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/child_view.js +5 -5
  70. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/design_mode_test.js +457 -0
  71. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/sendEvent.js +36 -10
  72. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/background_color.js +44 -0
  73. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/border_frame_test.js +51 -24
  74. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/childViewLayout_test.js +176 -1
  75. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/clippingFrame.js +46 -16
  76. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/convertFrames.js +69 -15
  77. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/didAppendToDocument.js +2 -2
  78. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layout.js +7 -1
  79. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutDidChange.js +30 -10
  80. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutStyle.js +376 -71
  81. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/static_layout.js +0 -10
  82. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/viewDidResize.js +117 -34
  83. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/view_states_test.js +52 -2
  84. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +656 -42
  85. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +159 -38
  86. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/cursor.js +0 -7
  87. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/design_mode.js +206 -0
  88. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/enabled.js +0 -28
  89. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/keyboard.js +21 -6
  90. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +372 -450
  91. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +28 -13
  92. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +22 -51
  93. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/statechart.js +59 -30
  94. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/theming.js +0 -29
  95. data/lib/frameworks/sproutcore/frameworks/datastore/mixins/relationship_support.js +22 -10
  96. data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +42 -36
  97. data/lib/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +54 -3
  98. data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +178 -59
  99. data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +2 -2
  100. data/lib/frameworks/sproutcore/frameworks/datastore/system/child_array.js +206 -132
  101. data/lib/frameworks/sproutcore/frameworks/datastore/system/many_array.js +214 -118
  102. data/lib/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +96 -13
  103. data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +14 -4
  104. data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +82 -42
  105. data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +272 -177
  106. data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/store_interaction_test.js +54 -0
  107. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/datetime_recordattribute.js +24 -16
  108. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +6 -3
  109. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/data_store.js +267 -35
  110. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +57 -46
  111. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +150 -53
  112. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +57 -17
  113. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +13 -9
  114. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/polymorphism → datastore}/tests/models/polymorphism/many.js +2 -2
  115. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/polymorphism → datastore}/tests/models/polymorphism/simple.js +0 -0
  116. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/polymorphism → datastore}/tests/models/polymorphism/single.js +12 -2
  117. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/writeAttribute.js +20 -15
  118. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +9 -2
  119. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/many_array/core_methods.js +80 -14
  120. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/autonomous_dataSourceCallbacks.js +280 -0
  121. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/autonomous_pushChanges.js +232 -0
  122. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/chain.js +31 -5
  123. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/parse.js +16 -2
  124. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/core_methods.js +60 -40
  125. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/materializeRecord.js +78 -0
  126. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +13 -1
  127. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/tests/system/datetime.js +20 -0
  128. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/{resources → english.lproj}/strings.js +0 -0
  129. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/french.lproj/strings.js +45 -0
  130. data/lib/frameworks/sproutcore/frameworks/designer/designers/object_designer.js +7 -3
  131. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +125 -44
  132. data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +139 -48
  133. data/lib/frameworks/sproutcore/frameworks/desktop/panes/draggable.js +202 -0
  134. data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +59 -56
  135. data/lib/frameworks/sproutcore/frameworks/desktop/panes/palette.js +13 -49
  136. data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +466 -305
  137. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_source.js +49 -12
  138. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +79 -21
  139. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/split.js +12 -2
  140. data/lib/frameworks/sproutcore/frameworks/desktop/resources/menu_item_view.css +8 -0
  141. data/lib/frameworks/sproutcore/frameworks/desktop/resources/overlay-scroller.css +187 -0
  142. data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +94 -30
  143. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +163 -3
  144. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +97 -78
  145. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +61 -1
  146. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/methods.js +7 -3
  147. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/ui.js +47 -22
  148. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/methods.js +66 -9
  149. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +21 -11
  150. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/ui.js +12 -18
  151. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/methods.js +17 -14
  152. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +2 -1
  153. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +9 -6
  154. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/collection_fast_path.js +54 -21
  155. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/content.js +52 -20
  156. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/itemViewForContentIndex.js +94 -4
  157. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/keyboard.js +177 -0
  158. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/layerIdFor.js +13 -1
  159. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/length.js +9 -9
  160. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +18 -0
  161. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/methods.js +104 -0
  162. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/ui.js +48 -49
  163. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/drag_and_drop.js +22 -18
  164. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/methods.js +17 -5
  165. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/link_view_test.js +136 -0
  166. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/contentIndexesInRect.js +77 -0
  167. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/drag_and_drop.js +53 -16
  168. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/layoutForContentIndex.js +41 -0
  169. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +25 -25
  170. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowOffsetForContentIndex.js +102 -27
  171. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/{rowHeightForContentIndex.js → rowSizeForContentIndex.js} +7 -6
  172. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_outline.js +2 -0
  173. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +70 -75
  174. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +29 -30
  175. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +57 -0
  176. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/menu_scroll_view/menu_scroll_view_test.js +206 -0
  177. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +15 -0
  178. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +15 -7
  179. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/integration.js +16 -11
  180. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/methods.js +164 -12
  181. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/scale.js +387 -0
  182. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/touch.js +549 -0
  183. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/ui.js +214 -45
  184. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroller.js +5 -5
  185. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +73 -22
  186. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +88 -3
  187. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/methods.js +8 -0
  188. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/slider/methods.js +16 -1
  189. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/slider/ui.js +54 -0
  190. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/dividers.js +21 -2
  191. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/static_content.js +31 -25
  192. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +109 -29
  193. data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +10 -1
  194. data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +3 -0
  195. data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +779 -603
  196. data/lib/frameworks/sproutcore/frameworks/desktop/views/date_field.js +106 -7
  197. data/lib/frameworks/sproutcore/frameworks/desktop/views/link_view.js +406 -0
  198. data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +437 -245
  199. data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +13 -0
  200. data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +124 -62
  201. data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +176 -597
  202. data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroller_view.js +206 -0
  203. data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +3 -0
  204. data/lib/frameworks/sproutcore/frameworks/desktop/views/progress.js +5 -4
  205. data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +3 -0
  206. data/lib/frameworks/sproutcore/frameworks/desktop/views/scene.js +56 -158
  207. data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll_view.js +2560 -0
  208. data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +458 -242
  209. data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +117 -54
  210. data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +18 -12
  211. data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +162 -34
  212. data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +30 -15
  213. data/lib/frameworks/sproutcore/frameworks/desktop/views/split_divider.js +33 -7
  214. data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +22 -2
  215. data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +47 -22
  216. data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +0 -6
  217. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/views/form.js +2 -1
  218. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/views/form_row.js +21 -21
  219. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu.js +14 -3
  220. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/mixins/select_view_menu.js +24 -10
  221. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/ext/menu_resizing.js +1 -1
  222. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/mixins/select_view_menu/bindings.js +7 -4
  223. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/mixins/select_view_menu/check_selected.js +7 -9
  224. data/lib/frameworks/sproutcore/frameworks/{desktop/tests/panes/select_button/methods.js → experimental/frameworks/select_view/tests/views/select/method.js} +54 -76
  225. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/views/select/selected_item.js +35 -0
  226. data/lib/frameworks/sproutcore/frameworks/{desktop/tests/panes/select_button → experimental/frameworks/select_view/tests/views/select}/ui.js +107 -36
  227. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/select.js +225 -66
  228. data/lib/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +39 -38
  229. data/lib/frameworks/sproutcore/frameworks/foundation/core.js +5 -18
  230. data/lib/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +12 -0
  231. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/inflections.js +84 -0
  232. data/lib/frameworks/sproutcore/frameworks/foundation/french.lproj/inflections.js +41 -0
  233. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_mixin.js +1 -0
  234. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +7 -0
  235. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_display.js +3 -4
  236. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +6 -2
  237. data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +408 -239
  238. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/canvas_image.js +1 -1
  239. data/lib/frameworks/sproutcore/frameworks/foundation/resources/text_field.css +2 -1
  240. data/lib/frameworks/sproutcore/frameworks/foundation/spanish.lproj/inflections.js +38 -0
  241. data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +104 -76
  242. data/lib/frameworks/sproutcore/frameworks/foundation/system/string.js +20 -94
  243. data/lib/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +33 -22
  244. data/lib/frameworks/sproutcore/frameworks/foundation/system/undo_manager.js +475 -0
  245. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/auto_resize_test.js +163 -1
  246. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/flowed_layout/tests.js +41 -0
  247. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +2 -5
  248. data/lib/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/methods.js +268 -0
  249. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/undo_manager.js +231 -0
  250. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +16 -0
  251. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +27 -0
  252. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +24 -0
  253. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +135 -6
  254. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/fade_transition.js +6 -0
  255. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/pop_transition.js +7 -0
  256. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/scale_transition.js +6 -0
  257. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/slide_transition.js +4 -0
  258. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/swap_dissolve_transition.js +3 -1
  259. data/lib/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +21 -21
  260. data/lib/frameworks/sproutcore/frameworks/foundation/views/container.js +65 -15
  261. data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +4 -1
  262. data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +1 -1
  263. data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +193 -213
  264. data/lib/frameworks/sproutcore/frameworks/jquery/{jquery-1.8.3-patched.js → jquery-1.11.1.js} +7507 -6684
  265. data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +28 -11
  266. data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +26 -0
  267. data/lib/frameworks/sproutcore/frameworks/runtime/core.js +54 -25
  268. data/lib/frameworks/sproutcore/frameworks/runtime/ext/array.js +0 -6
  269. data/lib/frameworks/sproutcore/frameworks/runtime/ext/number.js +36 -0
  270. data/lib/frameworks/sproutcore/frameworks/runtime/ext/window.js +25 -0
  271. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +3 -3
  272. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +1 -1
  273. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +156 -66
  274. data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +2 -2
  275. data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +150 -65
  276. data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +57 -11
  277. data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +68 -49
  278. data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +14 -6
  279. data/lib/frameworks/sproutcore/frameworks/runtime/system/string.js +23 -23
  280. data/lib/frameworks/sproutcore/frameworks/runtime/tests/ext/number_test.js +44 -0
  281. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/array.js +0 -10
  282. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable/enumerable.js +340 -285
  283. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +104 -3
  284. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/observer_set.js +14 -1
  285. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/string.js +15 -2
  286. data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +21 -18
  287. data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +52 -19
  288. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/pane.js +27 -24
  289. data/lib/frameworks/sproutcore/frameworks/template_view/controls/button.js +30 -0
  290. data/lib/frameworks/sproutcore/frameworks/template_view/ext/handlebars/bind.js +1 -1
  291. data/lib/frameworks/sproutcore/frameworks/template_view/ext/handlebars/collection.js +2 -0
  292. data/lib/frameworks/sproutcore/frameworks/template_view/ext/handlebars/view.js +1 -0
  293. data/lib/frameworks/sproutcore/frameworks/template_view/tests/mixins/template_helpers/checkbox_support.js +2 -2
  294. data/lib/frameworks/sproutcore/frameworks/template_view/tests/views/template/handlebars.js +4 -2
  295. data/lib/frameworks/sproutcore/frameworks/template_view/views/bindable_span.js +1 -1
  296. data/lib/frameworks/sproutcore/frameworks/template_view/views/template_collection.js +16 -14
  297. data/lib/frameworks/sproutcore/frameworks/testing/core.js +5 -3
  298. data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +13 -0
  299. data/lib/frameworks/sproutcore/lib/index.rhtml +2 -2
  300. data/lib/frameworks/sproutcore/phantomjs/test_runner.js +28 -7
  301. data/lib/frameworks/sproutcore/scripts/run_sc_server_master.sh +1 -1
  302. data/lib/frameworks/sproutcore/themes/ace/resources/_variables.css +2 -0
  303. data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure.css +1 -0
  304. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.css +3 -4
  305. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/horizontal.css +15 -15
  306. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/horizontal_overlay.css +74 -0
  307. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/vertical.css +11 -13
  308. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/vertical_overlay.css +74 -0
  309. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/jumbo/knob-active.png +0 -0
  310. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/jumbo/knob-active@2x.png +0 -0
  311. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/jumbo/knob.png +0 -0
  312. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/jumbo/knob@2x.png +0 -0
  313. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/{22px → jumbo}/slider.css +9 -4
  314. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/jumbo/track.png +0 -0
  315. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/jumbo/track@2x.png +0 -0
  316. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/knob-active.png +0 -0
  317. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/knob-active@2x.png +0 -0
  318. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/knob.png +0 -0
  319. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/knob@2x.png +0 -0
  320. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/slider.css +32 -0
  321. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/track.png +0 -0
  322. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/track@2x.png +0 -0
  323. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/slider.css +13 -0
  324. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/knob-active.png +0 -0
  325. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/knob-active@2x.png +0 -0
  326. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/knob.png +0 -0
  327. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/knob@2x.png +0 -0
  328. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/slider.css +32 -0
  329. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/track.png +0 -0
  330. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/track@2x.png +0 -0
  331. data/lib/frameworks/sproutcore/themes/ace/resources/split/split.css +2 -3
  332. data/lib/sproutcore/builders/chance_file.rb +3 -3
  333. data/lib/sproutcore/helpers/minifier.rb +1 -0
  334. data/vendor/chance/lib/chance/instance.rb +34 -34
  335. data/vendor/chance/lib/chance/instance/spriting.rb +21 -16
  336. metadata +81 -58
  337. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/visibility.js +0 -17
  338. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +0 -710
  339. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +0 -267
  340. data/lib/frameworks/sproutcore/frameworks/desktop/resources/touch-scroller.css +0 -196
  341. data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +0 -224
  342. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/methods.js +0 -163
  343. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +0 -177
  344. data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +0 -2053
  345. data/lib/frameworks/sproutcore/frameworks/desktop/views/select_button.js +0 -1024
  346. data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +0 -404
  347. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/render_delegates/menu_scroller.js +0 -28
  348. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/tests/menu/scroll.js +0 -235
  349. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/views/menu/scroll.js +0 -363
  350. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/views/menu/scroller.js +0 -250
  351. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md +0 -47
  352. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/models/record.js +0 -134
  353. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/desktop_scroller.js +0 -92
  354. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/native_scroll.js +0 -25
  355. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/scroll.js +0 -33
  356. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/touch_scroller.js +0 -76
  357. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/tests/scroll/integration.js +0 -25
  358. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/tests/scroll/methods.js +0 -143
  359. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/tests/scroll/ui.js +0 -256
  360. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/core_scroll.js +0 -1164
  361. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/core_scroller.js +0 -332
  362. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/desktop/scroll.js +0 -236
  363. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/desktop/scroller.js +0 -347
  364. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/scroll.js +0 -15
  365. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/scroller.js +0 -10
  366. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/touch/scroll.js +0 -804
  367. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/touch/scroller.js +0 -133
  368. data/lib/frameworks/sproutcore/frameworks/foundation/tasks/preload_bundle.js +0 -41
  369. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/horizontal_touch.css +0 -91
  370. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/vertical_touch.css +0 -92
  371. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/knob.png +0 -0
  372. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/knob_active.png +0 -0
  373. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/slider.css +0 -27
  374. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/knob.png +0 -0
  375. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/knob_active.png +0 -0
  376. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/slider.css +0 -27
  377. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/knob.png +0 -0
  378. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/knob_active.png +0 -0
  379. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/track.png +0 -0
  380. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/track.png +0 -0
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- N2VkZDQ3ZWNjMGJhZjA3ZmQ1MTFjMmM1ZjAzM2JjYThiZTQyODY1OA==
4
+ YWNkNmQyY2I1Zjk5MDE3ZDA2NDYxMmZhNjdlNDhhYzRhODFmMjdmYw==
5
5
  data.tar.gz: !binary |-
6
- YmI0NTE1M2U0NTRlM2I5ZDE2YWJiNGJhODMyYzg1NzFlYWJkYjA0Zg==
6
+ MmYzZjBiYjExZDkyNzQ2OTVlNjk4MzljMmI5ZTUxNTkwODhjMzY2ZA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ODJhNTc0NWNkOTM2NmYwNDVjMWQ1YTZmNjljMjFiNzdjZGVhNGQyMzg0OWM1
10
- MWRkMDBkZTRiZjg4MDViNjkyODE1NjE3MjgzYTc4MDM1ODU3NDhiMjdjMDRk
11
- NTM0ZDNiODE5MjFkYzc0MzI1YzJjY2JhNGFmMGIyODcyMmYzZWM=
9
+ OWU0OTljNTEyNDc3YWNiNzA0NzNlYWYzNWIyZTZiYTcyZWI0YjU1NmVkOGI0
10
+ MGJkNjhlYzgzMGNkMTkxNDM4MDkxNDAyMGQ2YjBkYzcwNDE2NTYzN2I2MmVj
11
+ MzY4YjM0YTE2ZTBkZTU4NWYwNDBjMGQ4ZTczMjM1Y2RmMmE2MzE=
12
12
  data.tar.gz: !binary |-
13
- YmZlNWFlYzIyNWM2NjE3ODVjMDRiOTg3MmY0YWRiYWIwMWYyNWY2OTA5MmEw
14
- MzQwMWQyOGExMTUzMWVkMDY2OGQ3YTFjNTM5MGE0ODAzYzExZjNmOWNjZjEz
15
- OWIyZTU5MDk0NzgzZGI0ZTI1M2EwODQ2MDg4NWMzNjBhODlhZjk=
13
+ NWI0ZmFlYjYxM2VjMmIxZDI0ZmQwZTU1OTIzZWE5NzdkZjhjMTdlNTM3MzBi
14
+ NTA4NmRiMzUyNzVhZDZjODAyYWNlOWI0MjVmODZkOTRlYWMzY2RmYjlhOTJh
15
+ ZGUwM2IwZDJhNjE5MTcxZjkzODg0YjM0ODRiODdhZmMwYzA3MmI=
data/CHANGELOG CHANGED
@@ -1,19 +1,15 @@
1
- SproutCore 1.10.3
1
+ SproutCore 1.11.0.rc1
2
2
  -----------------
3
3
 
4
- * Makes logging each individual path a debug level mode and moves the build path message to info level.
5
- * Adds a bit of default messaging to the build process.
6
- * Bumps the listen gem minimum requirement as earlier versions seem to result in not being able to kill sc-server.
7
- * Updates YUICompressor to version 2.4.8.
8
- * Moves some unneeded code into the polling listener block and adds all matched .git directories as an ignored path. This prevents excessive CPU usage when dealing with submodules and frameworks checked out within a project.
9
-
4
+ * Fixes abbot issue #109 - YUI compressor now uses relatives paths
5
+ * Removes workaround for old version of em-http-request.
6
+ * Improves the Chance spriting warning to be more descriptive, including which file has a lot of wasted space and the current way to improve efficiency. Ideally, Chance would use the wasted space itself, but that is a difficult problem to solve.
10
7
 
11
8
  SproutCore 1.10.2
12
9
  -----------------
13
10
 
14
11
  * Uses a file system change listener rather than polling.
15
12
 
16
-
17
13
  SproutCore 1.10.0
18
14
  -----------------
19
15
 
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 1
3
- :minor: 10
4
- :patch: 3.1
3
+ :minor: 11
4
+ :patch: 0.rc1
@@ -30,10 +30,10 @@ config :bootstrap, :required => [], :use_modules => false
30
30
  config :jquery, :required => [], :test_required => [], :debug_required => []
31
31
  config :yuireset, :required => [], :test_required => [], :debug_required => []
32
32
  config :template_view, :required => [:core_foundation], :test_required => [:core_foundation]
33
- config :runtime, :required => [:jquery]
33
+ config :runtime, :required => []
34
34
  config :'datetime/core', :required => [:runtime]
35
35
  config :datetime, :required => [:'datetime/core']
36
- config :core_foundation, :required => [:runtime, :yuireset]
36
+ config :core_foundation, :required => [:jquery, :runtime, :yuireset]
37
37
  config :'datetime/localized', :required => ["datetime/core", :core_foundation]
38
38
  config :routing, :required => [:core_foundation]
39
39
  config :foundation, :required => [:routing, :core_foundation, :datetime, :'datetime/localized', :ajax]
@@ -42,9 +42,10 @@ config :formatters, :required => [:runtime, :foundation]
42
42
  config :desktop, :required => [:foundation]
43
43
  config :media, :required => [:desktop]
44
44
  config :statechart, :required => [:core_foundation], :test_required => [:core_foundation, :desktop, :routing]
45
- config :ajax, :required => [:runtime, :core_foundation]
46
- config :designer, :required => [:runtime, :foundation, :desktop, :template_view]
45
+ config :ajax, :required => [:core_foundation]
46
+ config :designer, :required => [:desktop, :template_view]
47
47
 
48
+ config :"experimental/select_view", :test_required => [:desktop]
48
49
  config :"experimental/split_view", :test_required => [:desktop]
49
50
 
50
51
  # WRAPPER FRAMEWORKS
@@ -4,47 +4,286 @@ CHANGE LOG
4
4
  1.11.0
5
5
  -----------
6
6
 
7
- ### CHANGES & FEATURES
8
-
9
- * Refactors SC.SceneView to support the new SC.ContainerView HW accelerate-able transitions.
10
- * Add ie10 class to body element when detected (legacy).
11
- * Improves the performance and code structure of SC.TreeItemObserver and SC.TreeController. Previously, the tree observer process was extremely inefficient. For one, the tree controller constantly destroyed and recreated item observer instances whenever its content changed. For another, the item observer observed all properties of its items so any property change (even those not associated with tree item content) would cause the item observer to check for changes to the item’s expanded state or children.
12
- * Adds new SC.WebSocket class.
7
+ ### NEW FEATURES
8
+
9
+ * Added polymorphic record support to SC.Record. This experimental framework has been in use in a few projects and has recently been vastly improved to fix bugs and improve its performance. Includes unit tests and examples
10
+ * Added new properties to SC.Request instances: allowCredentials (default true, which will indicate that credentials be included for cross-domain requests (e.g. xhr.withCredentials = true) and isSameDomain (readonly computed property, true if the protocol, domain and port match exactly).
11
+
12
+ These new properties can be used by an SC.Response subclass to include allowing credentials for cross domain requests.
13
+ * Added dragDidSucceed, dragDidCancel, source.dragSlideBackDidEnd callbacks to SC.Drag.
14
+ * `SC.View.VERTICAL_STACK` & `SC.View.HORIZONTAL_STACK` have been improved to allow child views in the stack to resize to fill available space. Previously, every child view needed to have a height or width specified with the exception of the last child view which could be resized to fit the remaining space of the parent view. This option was enabled by setting `resizeToFit` to `false` in the `childViewLayoutOptions` hash. In 1.11, we can now set `resizeToFit` to `false` and have all child views without an explicit width or height respectively, resize to fill the available space. By default the available space will be shared evenly by all of these child views, but a more specific per child view weighting can be applied by specifing a `fillRatio` on the child views. For instance, to split the available space between two flexible child views as 1/3 and 2/3, the first view would have a `fillRatio` of 1 and the second view would have a `fillRatio` of 2.
15
+ * Updates SC.SceneView to support the new SC.ContainerView hardware-accelerable transitions.
16
+ * Adds new SC.WebSocket wrapper class with proper run loop behavior.
17
+ * The last item view in a CollectionView now gets an isLast property.
18
+ * In the test runner app, adds links to individual test URLs for easier access.
19
+ * Adds SC.ListItemView's right icon as a click-action zone to accompany the existing left icon action support.
20
+ * Many developer warnings and errors that would previously appear in production have been restricted to dev-mode only.
21
+ * Binding helper methods SC.Binding.and & SC.Binding.or are now fully armed and operational, including supporting local properties.
22
+ * SC.TextFieldView now supports browser autocompletion via its boolean autoComplete property.
23
+ * SC.ContainerView transition plugins can now specify reversable transitions.
24
+ * The developer warnings that are logged when you try to bind to a non-bindable object (or forget a leadoff period on a local property) has been improved and clarified substantially.
25
+ * Statechart trace logs are now color-coded and much more readable with lots of concurrent substates.
26
+ * EXPERIMENTAL: Record toMany relationships now support new records (i.e. haven't yet gotten canonical IDs from the server). Gated behind supportNewRecords property on toMany attribute.
27
+ * Adds support for data-drag events (for example dragging text, an image or a file) to SC.View. See new SC.View events documentation for more.
28
+ * SC.PalettePane's draggability is now implemented in a mixin called SC.DraggablePaneSupport, allowing you to mix it into any of your favorite pane classes.
29
+ * Adds Design Modes, SproutCore's new efficient responsive design implementation. Specify different layouts and property values (including isVisible) for different window sizes.
30
+ * Numbers now expose an ordinal property; SC.DateTime#toFormattedString now takes '%o' formatter to specify the date's ordinal.
31
+ * SC.Drag#slideBack now works as advertised!
32
+ * SC.UndoManager has been refactored to allow easier undo action grouping; see documentation for details. SC.UndoManager#registerUndo has been replaced with the cleaner SC.UndoManager#registerUndoAction API, which provides support for the standard target/action pattern.
33
+ * SC.DateFieldView now supports freeform keyboard number entry.
34
+ * iOS-style Overlaid scroller bars now fade out when not in use.
35
+ * SC.Color#cssText is now read/write, allowing you to bind it to a user-enterable text field. SC.Color now implements SC.Error and enters an error state when given bad input.
36
+ * SC.MenuPane now has an escapeHTML property which it proxies to its items.
37
+ * SC.Request.manager has two new methods: isPending and isInFlight.
38
+ * Adds long-overdue SC.Binding.equalTo.
39
+ * Adds boolean shouldAutoResize property to SC.SegmentedView.
40
+ * Added documentation and constants will make SC.PickerPane positioning and customization much easier.
41
+ * Now includes "minimal-ui" viewport meta tag for awesomer Mobile Safari apps.
42
+ * Adds stackNextTouchResponder and stackCandidateTouchResponder methods to SC.Touch to make it easier to pass touch respondership between views.
43
+ * SC.ListView can now be horizontal as well as vertical with new layoutDirection property. Renames all rowHeight properties to rowSize.
44
+ * Adds new opt-in API (SC.Store#chainAutonomousStore) for nested stores which can interact with the data source. This allows you to commit nested store changes to the server before committing successful updates to the parent store with SC.NestedStore#commitSuccessfulChanges.
45
+ * Setting SC.ScrollView#delaysContentTouches will now give your content views full control over touch events in question. As a side effect, native touch handling is now possible inside scroll views.
46
+ * SC.ScrollView#scale now works as advertised!
47
+ * Scale is now a first-class layout function, correctly impacting frame and clippingFrame. As a result, scaled content within a CollectionView will now correctly calculate which item views should be currently visible.
48
+ * Adds official SC.Scalable protocol.
49
+ * SC.SliderView has a new markSteps property, which draws a mark element for each step. It also gains an updateOnScroll property, which allows you to prevent it from handling mouseWheel events (in a scroll view for example).
50
+ * The improved documentation for SC.Object's stupendously useful didChangeFor method will hopefully encourage its use.
51
+ * Use SC.ScrollView's horizontalAlign and verticalAlign properties to align fixed-width or -height content.
52
+ * Adds support for calculated properties to String.fmt.
53
+ * Adds toolTip to SC.MenuItemView, and the corresponding itemToolTipKey to SC.MenuView.
54
+
55
+ ### CHANGES & IMPROVEMENTS
56
+
57
+ * SC.ScrollView complete refactor:
58
+
59
+ ** Ensures that scaling the view maintains the visual center.
60
+ ** Improves touch support significantly. Including centered zooming for pinch gestures, smoother bounce-back overdrag past the boundaries.
61
+ ** Improves gesture animation performance and feel with requestAnimationFrame.
62
+ ** Supports flexible sized GPU accelerated content. When the content of the view has an undefined width or height, SC.ScrollView will fix the size of the content to fit the container so that it may be positioned using translateX & translateY.
63
+ ** Uses shared objects for adjusting the content & container views of SC.ScrollView. This prevents repeated memory allocs while scrolling, which must eventually be garbage collected (a painful occurrence in JavaScript).
64
+
65
+ * Improves SC.Touch documentation.
66
+ * Removes an extra Object instantiation in `SC.View.prototype.computeParentDimensions` (if frame wasn't given, an empty Object was instantiated for no real use). Also removes pre-obfuscation of variables.
67
+ * Speeds up and slims down the `SC.View.prototype.adjust` method. When a single key is passed to `adjust()` it no longer creates an Object just to iterate the single key. Likewise, the resulting call to `_checkForResize()` on layout changes is improved by removing the creation of two Objects used for testing and by removing the over achieving test (the test covered the case of concurrent effective border and size changes, which are very rare and not critical to fail the test).
68
+ * Cleaned up the SC.Pane unit tests (were leaving panes attached, missing run loops, etc.) and fixed the situation where calling destroy on a building out view would fail to remove the view's layer immediately.
69
+ * Improves the SC.View cancel animation method to work with centerX/centerY animations. Disabled the rotation decompositions on X & Y axes, since they don't work in all cases.
70
+ * Changed SC.GridView to provide its own height rather than minHeight. Note: We use height, because this allows the list view to be positioned with translateX, translateY.
71
+ * Refactored SC.MenuScrollView.
72
+
73
+ ** Reduced code by removing duplicate properties from its superclass SC.ScrollView.
74
+ ** Renamed verticalScrollerView & verticalScrollerView2 to topScrollerView & bottomScrollerView respectively to make it clearer which they are and to avoid confusion with the verticalScrollerView property of SC.ScrollView.
75
+ ** Removed four (!) extra observers (one which was totally useless on the non-existant horizontal scroller visibility).
76
+ ** Tidied up the createChildViews code to be more readable and not make excess calls to reposition the scrollers.
77
+ ** Improved the appearance/disappearance of the scrollers. It now shifts the content view at the same time that the container view adjusts to show/hide scrollers so that the content view never appears to jump, which also ensures that there is no extra space at the bottom of the container view.
78
+
79
+ * Pulled SC.MenuScrollerView into its own file and refactors it slightly.
80
+
81
+ ** Reduced the amount of code by removing duplicate properties from its superclass SC.ScrollerView.
82
+ ** Removed unused code (ownerScrollValueKey computed property & _sc_scroller_valueDidChange observer(!)).
83
+ ** Improved the readability of the _scrollMenu method.
84
+
85
+ * Refactored SC.MenuPane slightly:
86
+
87
+ ** Fixed a problem where the items array was not observed for content changes when it was set on create (includes unit test).
88
+ ** Removed an unnecessary layout change in createChildViews, which also meant that creating a menu pane as a singleton (i.e. with no run loop) would throw warnings.
89
+ ** Slightly simplified the code by removing duplicated properties from the superclass SC.PickerPane and reusing the items observer code for initialization.
90
+ * Changed the default maximum of SC.ScrollerView to be 0. It was 100 previously, which is arbitrary and incorrect.
91
+ * Removed an extra call to SC.RootResponder's computeWindowSize() each time that a pane is appended. This is unnecessary, since the root responder recomputes its window size property whenever the window actually resizes.
92
+ * Changed SC.MenuItemView's handling of submenus. Previously if the item's submenu was visible and the mouse exited back onto the menu item view, it tried to re-append the same submenu. Instead, it now checks to see if its submenu is already attached before attempting to enter it again.
93
+ * Allows for optimization of SC.RenderContext's setStyle method (Removes V8 "ForIn is not fast case" warning, see http://commondatastorage.googleapis.com/io-2013/presentations/223.pdf).
94
+ * Improved performance of core SC methods: SC.mixin, SC.supplement as well as SC.Function.enhance. SC.mixin and SC.supplement iterated the arguments object to insert a boolean flag to pass to a private function that then iterated its arguments in order to ignore the flag argument, which is totally unnecessary. Instead, SC.mixin and SC.supplement iterate the arguments once and pass the new Array to the private function as a second argument, removing the need for a second iteration.
95
+
96
+ As well, these three areas all accessed the arguments object to copy it, which requires the browser to instantiate it, which is costly. Instead, we now do a fast copy (similar to this: http://jsperf.com/closure-with-arguments) without instantiating the arguments object.
97
+
98
+ Finally, by doing a fast copy of arguments these functions are now optimizable by V8, whereas they weren't previously.
99
+
100
+ Benchmark: SC.mixin & SC.supplement ~ 58% faster
101
+ * Calls adjustLayout on initialization of SC.CollectionView.
102
+
103
+ Certain containing views, transitions and specialized layout engines need to know what type of layout their child views will have in order to make the proper adjustments. SC.CollectionView subclasses typically set a width or a height themselves, but when this happens late, the actual layout style of the collection is misunderstood at initialization to be something different.
104
+ * Improved the management of the content view for SC.ContainerView.
105
+ * Improved the default styling of overlay scroller views. Making them look more like natural overlay scrollers in OS X/iOS and making them visible on dark backgrounds.
106
+ * Prevents mousewheel events from jumping the slider while the mouse is pressed (i.e. for dragging). Certain mice have a very jittery wheel event (i.e. the Apple Magic Mouse) that results in wheel events firing while the user is trying to drag a slider.
107
+ * Un-deprecated rotate as a layout property (which is equal to rotateZ).
108
+ * Improved SC.State performance by removing expensive observers.
109
+
110
+ SC.State had two `observes` helper functions used to be notified when its `enteredSubstates` and `currentSubstates` arrays change. Since these arrays are modified by the owner statechart, the observers needed to be chained enumerable observers. However, this resulted in slower object initialization for each state object and excess observer firing as the entered and current substates change. Instead, we simply notify the target state directly each time that the statechart makes a change to its `enteredSubstates` and `currentSubstates`.
111
+ * Improved SC.ScrollView performance a tiny bit by removing the unnecessary chained binding back from the scrollers to their owner. Scrollers are created automatically by the SC.ScrollView and are not moved between different owners.
112
+ * Significantly improved performance of SC.PickerPanes attached to element's within an SC.ScrollView.
113
+
114
+ There were a couple of issues hampering performance for SC.PickerPanes within SC.ScrollViews. The first was that the scroll view observers were too greedy observing (the unfortunately noisy) horizontalScrollOffset and verticalScrollOffset of the scroll view for changes and repositioning on each change. What this meant was that an SC.PickerPane could reposition itself up to 6 times in a single run loop as the content of the scroll view changed even thought the scroll offsets may not have changed at all. Instead, the proper pattern for observing multiple properties (or noisy properties) is to filter the input through an invokeX (i.e. so even though 6 calls to the observer function occur, we only call positionPane once, via invokeOnce). Additionally, we no longer observe the offsets if the scroll view can't even scroll (in either direction). And finally, to ensure that the anchor element is in its new position before we re-position, we actually use invokeNext as our input filter.
115
+ * Fixed several inconsistencies in property referencing within SC.PickerPane. There were multiple places where '.' notation was used instead of get/set. Also tidies up some unclear code.
116
+ * Removed the enabling of run loop logging when SC.LOG_BINDINGS is set. The run loop logs are very noisy and make it harder to follow the binding changes. Also forced some of the logging code into debug builds only.
117
+ * Cancels active transitions of SC.ContainerView when transitionSwap is altered mid-transition. This includes a developer warning.
118
+ * Added retina version images for SC.SliderView in Ace.
119
+ * Removed several lines of debugging code from production builds of SC.Observable using @if(debug).
120
+ * Updates to jQuery 1.11.1. Notably, there was a serious memory leak in jQuery 1.8 where the tokenCache grew continuously (because keys in the cache have a " " appended to them and the code tried to delete keys without taking the " " into account).
121
+ * Fixed memory leaks in SC.ListView and SC.CollectionView. Since these views add observers to their related objects, they need to also properly remove those observers again when the views themselves are destroyed. Otherwise, when collection views are removed, the observers on the related objects become stranded.
122
+ * SC.Query's internal token tree is now a proper SC.Error when in an error state.
123
+ * Removed all uses of `enhance` within the SC.View `reopen`s in core_foundation. The `_enhance` function is inordinately slow in Firefox (version 31 on OS X). Benchmarks of creating 100 views in a loop takes ~1800ms with the enhance's and only ~38ms without any in Firefox on OS X. In Chrome and Safari on OS X, the difference is negligible.
124
+ * Removed an excess display property (i.e. an observer) in all instances using SC.ContentDisplay, since `content` is already observed for changes and `displayDidChange` is called within that function.
125
+ * Updated SC.RenderContext to use the value property of the DOM Attribute, as nodeValue is deprecated.
126
+ * Refactored commandCodes function of SC.Event to be easier to read and with more descriptive inline documentation.
127
+ * Use 24-hour clock notation for French times.
128
+ * Now allows duplicate items to appear in a collection and still be selected independently. Previously, all collection view selection was done per object, which would mean the first instance of the object in the content was always selected. Instead, selection is done by index only so that the same object can appear many times and each be selected separately.
129
+ * Replaced a couple of latent style.webkitTransform calls with experimentalStyleNameFor, which is forward compatible and
130
+ cross-platform compatible.
131
+ * Reimplemented itemValueKey support in SC.MenuPane.
132
+ * Improved the performance and code structure of SC.TreeItemObserver and SC.TreeController by optimizing overactive observers and object creation. Improved delegate and item handling, and documentation.
133
+ * Added ie10 class to body element when detected (legacy).
134
+ * Added standard touch support to SC.PopupButtonView.
135
+ * Added a visual cue to menu items with submenus.
136
+ * Added a Developer Error when attempting to add records without IDs to relationships.
137
+ * Zero-duration calls to animate will now adjust-and-callback on the next run loop, like any other animation.
138
+ * Improves SC.TextFieldView key handling.
139
+ * Controls will now use isEnabledInPane (which calculates based on a number of things) instead of isEnabled to determine whether they're enabled.
140
+ * Padding and margin will no longer be added to stacked child views when none are visible.
141
+ * Improves support and handling for canceling view transitions.
142
+ * View states now include an ATTACHED_SHOWN_ANIMATING to allow first-class animation handling.
143
+ * Dragging a file into a SproutCore application window will no longer cause the browser to leave the application and open the file.
144
+ * View transitions can now specify what layout properties they impact, allowing for better behavior when adjusting a non-transitioning property during the transition.
145
+ * Nested records should now behave much better in many situations.
146
+ * DateTime localizations are now available in French.
147
+ * Fixes up some bad overrides of interpretKeyEvents. Make sure to use, rather than override, this method in your own code.
148
+ * SC.TextFieldView now supports selection direction when the browser allows.
149
+ * Many webkit-specific properties under the hood – for example, transform CSS – have been replaced with correctly browser-detected versions.
150
+ * VERTICAL_STACK and HORIZONTAL_STACK child layout plugins now support the use of minHeight and minWidth.
151
+ * CoreTest, our QUnit like testing suite, now includes a "warn" method to explicitly create a warning.
152
+ * SC.MenuPane will ignore the first item if it is a separator.
153
+ * A number of improvements and backwards-compatibility fixes have been made to the SC.SelectView replacement class found in the experimental frameworks.
154
+ * You can now customize your SC.AlertPane's buttons' isDefault, isCancel, tooltips, layerId and localize properties.
155
+ * Adds developer warning when calling SC.PickerPane#append. You should use SC.PickerPane#popup instead.
156
+ * Adds a layout orientation class to SC.SplitDividerView.
157
+ * Adds SC.String#escapeCssIdForSelector method to handle '.' and ':' characters, which are valid in CSS IDs but which must be escaped for use in jQuery selectors.
158
+ * In development mode, SC.ChildArray (nested toMany attribute) now has a helpfully verbose toString method.
159
+ * runtime framework no longer requires jQuery. jQuery requirement moved to core_foundation.
160
+ * SC.ImageView#value bindings now default to oneWay.
161
+ * SC.TabView can now display local views analogously to SC.ContainerView.
162
+ * Subclasses can now override bindings without issue.
163
+ * SC.AutoResize can now be reliably used to resize height only.
164
+ * SC.IndexSet is now a bigger stickler about valid arguments, especially checking for NaN.
165
+ * SC.SelectView now allows a null itemTitleKey. itemTitleKey and itemValueKey are now null by default.
166
+ * arrayContentDidChange now calls enumerableContentDidChange. You no longer need to call both.
167
+ * Right-clicking on controls will no longer trigger them.
168
+ * Fixes a bug where SC setters weren't being used on child view parentView, owner and page properties, causing some calculated properties to not be correctly invalidated.
169
+ * Fixes a layout bug when adding new child views to a view with SC.FlowedLayout.
170
+ * Transforms were being hard-coded to include their experimental browser prefixes. These now use SC.browser.experimentalFooNameFor to correctly detect when browser prefixes aren't needed (or supported).
171
+ * A great deal of dev-mode-only validation of layout properties has been added.
172
+ * Separates SC.View#isFixedSize property into isFixedWidth and isFixedHeight, allowing for an even finer-grained optimization of child view resize notifications.
173
+ * Adds a Developer Error when setting up a nested record attribute with an inverse property (via toOne or toMany).
174
+ * SC.TextFieldView's maxLength property can now be updated live.
175
+ * SC.ContainerView can now take local property paths (e.g. '.localPage.view') as nowShowing.
13
176
 
14
177
  ### DEPRECATIONS & REMOVALS
15
178
 
16
- ### BUG FIXES
17
-
18
- * Some fixes for deprecated template view framework.
19
-
20
-
21
- 1.10.3
22
- -----------
23
-
24
- ### INTERNAL CHANGES
25
-
26
- * Adds a new state to the view statechart, SC.CoreView.ATTACHED_SHOWN_ANIMATING. This state is for views that are manually animated via a call to `animate` when in the ATTACHED_SHOWN state and is used to cancel manual animations if a view is hidden or removed, which would cause the animation callbacks to fail to trigger. Also prevents animate from running on views that are not visible in the window.
27
- * Removes double clone of observable members array. The `getMembers` function already does a slice of the array, so SC.clone (which just does another slice of the array) is unnecessary.
28
- * Prevents bindings that are disconnected at the moment of updating from continuing, which would throw an exception because the binding would try to resolve both sides of the connection and become connected to the window (which doesn’t support the KVC methods the binding uses).
29
-
30
- One scenario that this has been seen in is an observer that destroys an old binding and creates a new binding to a *store query based computed property*. As the binding is about to update, it first has to get the value of the query based computed property from the target, which results in the store flushing and indicating certain records did change which in turn triggers the original observer function where the binding is replaced. In the very next step, the old binding, which is now disconnected, tries to syncronize its value, which will fail.
179
+ * Removed the old experimental MenuScrollView, but kept the unit tests.
180
+ * Removed the SC.MenuPane.VERTICAL_OFFSET property. SC.PickerPane already has a provision for offsetting panes from the window's edges, windowPadding, and that is the property that is being used now.
181
+ * Deprecated calculatedHeight and calculatedWidth. SC.ScrollView has to observe the content's frame anyway and so it's better to have just the frame observer in the scroll view be intelligent about what triggers an update (size not position) and save two extra observers in scroll views.
182
+ * Deprecated the `view()` addition to SC.$ in favor of a new `SC.viewFor()` method. The SC.$.view() method was called excessively by SC.RootResponder to find the target SC.View instance for events, but was wasteful as it required creating an Array in jQuery only to ever use the first item. `SC.viewFor` method does the same thing about three times faster.
183
+ * Removed deprecated views SC.SelectFieldView and SC.SelectButtonView.
184
+ * Removed unused SC.PreloadBundleTask class.
185
+ * The SC.AutoMixins mixin, which mixes mixins into child views, has been deprecated and added permanently to SC.View.
186
+ * SC.UndoManager#registerUndo has been deprecated in favor of SC.UndoManager#registerUndoAction.
187
+ * Renamed SC.TouchScrollerView to SC.OverlayScrollerView.
188
+ * Removed SC.ListView's totalRowHeight property. This value is now calculated privately.
189
+ * Removed long-deprecated SC.SAFARI_FOCUS_BEHAVIOR in favor of SC.FOCUS_ALL_CONTROLS.
190
+ * Removed deprecated (experimental) SC.CollectionViewFastPath. Fast-path behavior became standard issue in v1.10.0.
191
+ * Removed long-deprecated SC.Scrollable mixin.
192
+ * Removed long-deprecated SC.TextFieldView's isPassword and continuouslyUpdatesValue properties.
193
+ * SC.Object's `superclass` instance method has been deprecated. Use `sc_super()` or arguments.callee.base.apply(this, arguments) instead.
31
194
 
32
195
  ### BUG FIXES
33
196
 
34
- * Fixes problems with SC.GridView when its width goes to 0 (which would calculate infinite items per row).
35
- * Fixes a bug where separator items gained the value of the previous item such that the separator item would appear selected in the menu when the previous item was actually selected.
36
- * Fixes regression that the icon of the selected item doesn’t update the view.
37
- Adds ability to set the value of the view and have the view’s title and icon update.
38
- * Fixes regression with transitionIn due to animate rejecting non-visible states.
39
- * Fixes double invokeNext call when runAnimationCallback is wrapped in an invokeNext.
40
- * Fixes direct duplicate call to commitEditing in SC.InlineTextField when using the tab or shift-tab keys, also cleans whitespace in SC.Editable.
41
- * Fixes cancellation of view transitions. If the transition is cancelled, the plugin should not fire the callback. Cancels show/hide transitions when the state changes before they complete.
42
- * Fixes bugs where logic bindings (and & or) defined on classes were being serviced by a shared underlying object, causing issues when two instances wanted different values or to be destroyed at different times.
43
- * Stacked child layout views: don't add padding or margins if none of the children are visible.
44
- * Fixes animations failing when browser tab not visible.
45
- * Takes a new approach to transition and animation callbacks. Instead of waiting for the exact right event name to be determined, we listen to all the possible combinations for the browser and then remove the unnecessary listeners when the test completes. This allows code to run that uses transitions and animations in the application’s main function and doesn’t require blocking the launch of the application for the tests to complete.
46
- * Fixes animations failing when tab loaded and not visible. Because animation callbacks are paused when some browsers’ tabs are not visible, we can’t apply animations based on the browser support for CSS transitions alone. We also need to set up our animation event listeners and so any animations that occur while the page is loading should simply apply directly.
47
- * Fixes the case that a layout observer calls adjust due to an animate layout being set. The observer would fire before the _animateLayout internal property would be cleared, leading a later adjust method to fail.
197
+ * Fixes a serious visual problem with translated and scaled views. The scale transform was being applied before the translation, which meant the translation became scaled. The result was content rendered in the wrong place by the browser.
198
+ * Fixed a regression in SC.TabView that failed to get nowShowing views from the page akin to SC.ContainerView. Also removed extra duplicate observer in SC.TabView and fixed unit test to properly clean up (was leaving panes attached).
199
+ * Fixed SC.MenuPane automatic resizing to fit within the window. The positioning code used in SC.PickerPane failed to apply adjustments to the width or height of the pane, which had been calculated to fit long menus within the window. Also improves the menu positioning code to respect the value of windowPadding (previously it used hard coded secret numbers within the code).
200
+ * Fixed SC.ContainerView's override of set so that it may be chainable.
201
+ * Fixed an accessibility issue with SC.SegmentedView when no renderDelegate exists and also fixes a bug in which a segmented view positioned at 0,0 and clicked on at 0,0 would trigger the middle item view.
202
+ * Made check for pending animations in SC.View's adjust() method safer (fixes error in IE 9).
203
+ * Fixed a critical bug in polymorphic record support while significantly improving performance and reducing memory consumption of polymorphic records.
204
+
205
+ The previous polymorphic record support took care to ensure that the same store key was returned for all polymorphic classes by duplicating the store key to id mapping on each related polymorphic class. But where it failed was in situations where the store manipulated the store keys hashes directly (ex. replaceIdFor()), which would result in different store key to id mappings between polymorphic classes. Also, duplicating the mapping on each class was very wasteful and slow due to recursion. Instead, now the mapping is stored only once on the root polymorphic record and all subclasses simply reference it directly. This removes the duplicate memory use and removes the need to recurse each time that a new polymorphic record is added to the store.
206
+ * Fixed SC.ObserverSet to pass the given context to the observer method. SC.ObserverSet.prototype.add() accepts a third argument, context, but it did not actually pass it along to the observer method.
207
+ * Fixed a noisy reposition of SC.PickerPane.
208
+
209
+ The pane listened to changes to its borderFrame in order to know whether to reposition itself or not. This means that changes to its size (width/height) allowed it to reposition to best fit, but because repositioning ends up changing the same borderFrame, it meant one (potentially dangerous) extra call through positionPane for no reason. Instead, we use viewDidResize, which only gets called on size (width/height) changes.
210
+ * Fixed a problem with excessive layout updates for certain types of views. If a view used `viewDidResize` to check for size changes and then make further adjustments to its position, because of a late cache update, the adjustments to its position would appear as further changes to its size. In particular, SC.PickerPane suffered from this, since it re-positions itself whenever its size changes.
211
+ * Fixed issues with unregistering nested records. There were a few issues with unregistering nested records:
212
+
213
+ 1) SC.ChildArray did not unregister nested records at all, so toMany relations with nested records did not work properly.
214
+ 2) When a child was unregistered from its parent, that did not propagate to children of the child, leading to problems when nesting was several levels deep.
215
+ 3) There were two additional caches that were not being cleared when the nested record was unregistered.
216
+
217
+ * When the online/offline value of window changes, ensure that a run loop runs when setting isOffline of SC.device.
218
+ * Fixed auto resize prepareLayerForStringMeasurement to take padding of a layer into account when setting the maxWidth on the layer.
219
+ * Ensures computeLayout in SC.GridView returns sane values when itemsPerRow is 0.
220
+ * Now ensures that views are notified that their pane has changed when an ancestor parent changes. Also ensures that views that are orphaned update their pane.
221
+ * The layout functions convertFrameFromView and convertFrameToView now consider the views' scale values.
222
+ * A number of fixes to the deprecated template view framework.
223
+ * Fixes a bug where array's removeObject method was doing squishy == comparisons instead of strict === comparisons. Could sometimes cause the wrong item to be removed.
224
+ * Fixes a bug where apps loading in background windows would fail to launch until they were foregrounded. This was caused by unnecessarily waiting for animation support sniffer callbacks to fire; many browsers defer animation events when a tab is out of sight.
225
+ * Fixes a regression in SC.CollectionView to properly re-render when inside nested scroll views.
226
+ * Fixes a bug where the wrong cursor (pointer instead of text) would show over text field hint elements.
227
+ * Removes most instances of calls to evt.returnValue, which Chrome has begun to complain about.
228
+ * Fixes bug where SC.TextFieldView hints would sometimes be positioned incorrectly.
229
+ * SC.TextFieldView's defaultTabbingEnabled property now functions as advertised.
230
+ * Fixes a bug where a view's own isEnabled property could sometimes improperly override being disabled by an ancestor.
231
+ * Fixes a bug where an initial isEnabled value of false would fail to propagate to children correctly.
232
+ * Fixes a couple of bugs where SC.SelectView would sometimes fail to correctly re-render itself. Improves performance.
233
+ * Fixes a bug where not all properties would be invalidated when "*" changes.
234
+ * Fixes keypress handling in IE8 and Opera.
235
+ * Fixes a bug where ImageViews with useCanvas: true (the default) would fail to apply CSS values.
236
+ * Fixes a number of edge case timing issues with animations and transitions.
237
+ * Fixes a bug where pooled SC.CollectionView item views would retain 'sc-group-item' class when turned from a group item to non-group item.
238
+ * Removes a duplicate call to commitEditing in SC.InlineTextField when handling tabs or backtabs.
239
+ * Fixes a bug where calls to SC.Pane#sendEvent without a (wholly unnecessary) second argument would throw an error.
240
+ * Fixes a bug where range invalidation on an ArrayControler with orderBy set would notify changes to the raw content range, rather than the sorted range.
241
+ * Null SC.Record.attr(SC.DateTime) values will now reliably remain null.
242
+ * A number of CollectionView operations were failing to respect allowMultipleSelection and allowEmptySelection flags.
243
+ * Fixes a bug where canvas elements in SC.Drag ghost views were not being cloned.
244
+ * Fixes a bug where dragging content onto an empty list view would throw an error.
245
+ * XHR progress event handling was previously webkit-only. Now uses the non-prefixed version for better cross-browser support.
246
+ * Fixes a bug where SC.PickerPane stored its anchor element inconsistently.
247
+ * Fixes the incorrect display of progress values when a minimum was used.
248
+ * Fixes a bug where setting the text selection on a hidden SC.TextFieldView would throw an error in Firefox and IE.
249
+ * Fixes a bug where convenience method SC.CollectionView#itemViewForContentObject would throw errors under certain circumstances.
250
+ * Removes a problematic touch browser optimization which was preventing SC.TextFieldView from becoming programmatically assigned first responder status.
251
+ * Fixes a very sneaky bug that was causing any self-observing record to be invisibly created twice, causing a whole slew of subtle, incredibly hard-to-debug problems.
252
+ * Fixes a bug where retrieving not-yet-loaded records from a nested store would lock them at EMPTY and fail to update them when they load into the master store.
253
+ * Fixes a bug where SC.SegmentedView would hoover up mouse events even if they were outside of any particular segment. For example, you can now drag a PalettePane around by the empty space on either side of a centered SegmentedView.
254
+ * Fixes an edge case which made it impossible to clear a dynamic backgroundColor.
255
+ * Fixes a bug where SC.Record#normalize would fail to recognize SC.RecordAttribute subclasses.
256
+ * Fixes a bug where arrayContentWillChange was not called when an enumerable was about to change.
257
+ * Fixes a longstanding SC.routes bug where HTML5 history states would consistently double up.
258
+ * Works around a bug where some browsers support ProgressEvent but don't support the loadend event.
259
+ * Fixes an annoyance where calling SC.AlertPane.show with more than three buttons would crash the app.
260
+ * Fixes a bug where SC.CollectionViews could not have a custom layerId set.
261
+ * Fixes a bug where SC.ScrollView's scrollToRect method preferred the bottom right of a larger-than-clippingFrame rect. The top left is now preferred, like you'd expect.
262
+ * Fixes a number of bugs with SC.SplitView's divider view CSS.
263
+ * SC.CollectionView item views with static layouts should now behave better.
264
+ * Nested records are now cleared from a store on SC.Store#reset.
265
+ * Makes a number of improvements to SC.ChildArray, including removing KVO property pollution from the underlying raw array.
266
+ * Fixes a bug where SC.DateField's format property was failing to update when formatDate, formatTime or formatDateTime changed.
267
+ * Fixes a bug where SC.CollectionView#itemViewForContentIndex would happily return an empty view for a bogus content index.
268
+ * Fixes a bug where hitting enter on an empty SC.CollectionView would throw an error while trying to edit nonexistent items.
269
+ * Fixes a race condition with the SC.ContainerView.DISSOLVE transition plugin.
270
+ * Fixes a bug where bound, transformed values would often not sync on initialization. For example, a binding which transformed undefined to "Empty" would fail to sync, as the value was being compared untransformed.
271
+ * Fixes a SC.ListView bug where rowSpacing was being ignored when calculating contentIndexesInRect, causing minor item blinkage.
272
+ * Fixes SC.ScrollerView's button and cap offsets. Looks much nicer now.
273
+ * Fixes a bug where children of ATTACHED_SHOWING (transitioning) views were incorrectly set to ATTACHED_HIDDEN_BY_PARENT until the transition completed.
274
+ * Fixes a bug where rotate layout property was being incorrectly proxied to rotateX. Now correctly proxies to layoutZ.
275
+ * Adds a workaround to age-old IE XHR bug where 204 statuses would be mangled to 1223 for no apparent reason.
276
+ * Removes KVO pollution on SC.ManyArray's underlying raw arrays.
277
+ * Fixes a number of bugs where setting various SC.SliderView properties to null would break everything.
278
+ * SC.TextFieldView's hint implementation is now much simpler and less bug-ridden.
279
+ * Fixes a bug where interpretKeyEvents would crash on the rare occasion that cmd.match returned null.
280
+ * Fixes a rare security vulnerability when a TextFieldView's hint property was set to user-supplied data.
281
+ * Removes an invalid condition that prevented key down validation in any browser that supported the touch event.
282
+ * Adds sanity check to SC.GridView layout computation.
283
+ * A number of SC.CollectionView actions now correctly honor allowsMultipleSelection.
284
+ * Fixes a bug where the legacy iPhone theme would hide popup pane workspace toolbars.
285
+ * Fixes a bug with specifying layerIds for SC.SegmentedView's overflow menu items. Fixes a crashing bug with SC.SegmentedView and out-of-sync cached elements.
286
+ * Fixes a bug where the root responder would throw an error trying to call mouseExited on a view that was destroyed with the mouse over it.
48
287
 
49
288
  1.10.2
50
289
  -----------
@@ -55,11 +294,6 @@ Adds ability to set the value of the view and have the view’s title and icon u
55
294
  * Added a debug-mode only developer error to prevent double calls to materializeRecord from within materializeRecord. The result is duplicated objects that appear to be the same record instance but are in fact not, which can be very time-consuming to debug. Hopefully this saves developers a lot of grief.
56
295
  * Added several *debug-mode only* `toString` methods for easy debugging.
57
296
  * Added a tiny bit of debug mode only developer support. If manually connecting/disconnecting bindings it's possible to accidentally try to bind to a missing object. The normal stack trace this would produce is hard to follow so we present a more traceable error message with the stack.
58
- * Fixed issue with property chain notifications.
59
-
60
- Property chains would by notified during teardownEnumerablePropertyChains, but this could result in computed properties trying to access the array before it was finished mutating. This was observed with SC.ChildArray's.
61
-
62
- Instead, wait until setupEnumerablePropertyChains to notify, and always notify with the assumption that changes were made.
63
297
 
64
298
  ### BUG FIXES
65
299
 
@@ -0,0 +1,133 @@
1
+ ## Contributors
2
+
3
+ SproutCore has been built thanks to the tireless efforts of many talented
4
+ developers. Special thanks to the following developers who contributed lots of
5
+ code and ideas:
6
+
7
+ - Alex Iskander
8
+ - Alex Johnson
9
+ - Andreas Cederström
10
+ - Andrew Dupont
11
+ - Asko Soukka
12
+ - Benedikt Böhm
13
+ - Brandon Blatnick
14
+ - Brandon Dimcheff
15
+ - Brian Cully
16
+ - Brian Mitchell
17
+ - Brian Moore
18
+ - Bruz Marzolf
19
+ - Charles Jolley
20
+ - Charlie Lai
21
+ - Cherif Yaya
22
+ - Chris Hyle
23
+ - Christopher M Pieper
24
+ - Christopher Swasey
25
+ - Chuck Edwall
26
+ - Colin Campbell
27
+ - Corey Burrows
28
+ - Cortland Klein
29
+ - Dave Porter
30
+ - Devin Torres
31
+ - Devon Govett
32
+ - Emrys Ingersoll
33
+ - Eric Kidd
34
+ - Erich Ocean
35
+ - Evin Grano
36
+ - Ganesh J
37
+ - Gareth Townsend
38
+ - Geoffrey Donaldson
39
+ - Gopal Sharma
40
+ - Gregory Moeck
41
+ - Hemanth Kumar
42
+ - James A. Rosen
43
+ - James Austin
44
+ - James Craig
45
+ - James F. Herdman
46
+ - James Ribar
47
+ - Jason Dooley
48
+ - Jason Ketterman
49
+ - Jeff Pittman
50
+ - Jim Benton
51
+ - Jiří Zajpt
52
+ - Joe Gaudet
53
+ - John Rogelstad
54
+ - Jonathan Lewis
55
+ - Joshua Dickens
56
+ - Joshua Holt
57
+ - Joubert Nel
58
+ - Juan Pinzon
59
+ - Julian Viereck
60
+ - Konstantin Bender
61
+ - Lauri Fjallstrom
62
+ - Lawrence Pit
63
+ - Levi McCallum
64
+ - Luke Burton
65
+ - Luke Melia
66
+ - Mahesh Mukundan
67
+ - Majd Taby
68
+ - Martin Häcker
69
+ - Martin Ottenwaelter
70
+ - Matt Smith
71
+ - Matthew Grantham
72
+ - Matthias Loitsch
73
+ - Maurits Lamers
74
+ - Michael Cohen
75
+ - Michael Gillogly
76
+ - Michael Harris
77
+ - Michael Krotscheck
78
+ - Michael Rykov
79
+ - Michal Kurgan
80
+ - Mike Ball
81
+ - Mike Subelsky
82
+ - Mitch Oliver
83
+ - Mitchell Rivera
84
+ - Mohammed Ashik
85
+ - Mohammed Taher
86
+ - Nathan Baxter
87
+ - Nicolas Badia
88
+ - Nirumal Thomas
89
+ - Nitin Gupta
90
+ - Onar Vikingstad
91
+ - Patrick Walton
92
+ - Paul Chavard
93
+ - Paul Lambert
94
+ - Peter Bergström
95
+ - Peter Wagenet
96
+ - Piotr Sarnacki
97
+ - Piotr Steininger
98
+ - Rajesh Segu
99
+ - Ray Bodenhorn
100
+ - Rich Harrison
101
+ - Richard Klancer
102
+ - Rick Russell
103
+ - Rob Linton
104
+ - Robert Buchholz
105
+ - Rodrigo Basa
106
+ - Ryan Mudryk
107
+ - Ryan Nielsen
108
+ - Santhakumar Murugaiyan
109
+ - Sean Eidemiller
110
+ - Sergey Ukustov
111
+ - Steven Tate
112
+ - Sudarshan Bhat
113
+ - Sunny Ripert
114
+ - Suvajit Gupta
115
+ - Tanner Donovan
116
+ - Teresa Tsui
117
+ - Thomas Balthazar
118
+ - Thomas Bartelmess
119
+ - Thomas Bradford
120
+ - Thomas Lang
121
+ - Tim Evans
122
+ - Tom Dale
123
+ - Tomasz Mazur
124
+ - Topher Fangio
125
+ - Trek Glowacki
126
+ - Tyler Keating
127
+ - Umberto Nicoletti
128
+ - Vibul Imtarnasa
129
+ - Vincent Fiano
130
+ - Wesley Workman
131
+ - William Kakes
132
+ - Yehuda Katz
133
+ - Yogesh Kumar