sproutcore 1.7.1.beta → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +44 -0
- data/README.rdoc +20 -20
- data/VERSION.yml +3 -3
- data/lib/Buildfile +1 -1
- data/lib/buildtasks/build.rake +5 -0
- data/lib/buildtasks/manifest.rake +19 -1
- data/lib/frameworks/sproutcore/Buildfile +19 -17
- data/lib/frameworks/sproutcore/CHANGELOG.md +163 -29
- data/lib/frameworks/sproutcore/README.md +29 -8
- data/lib/frameworks/sproutcore/apps/statechart_routing/Buildfile +12 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/login_controller.js +11 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/main_controller.js +7 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/statechart_controller.js +17 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/core.js +25 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/main.js +15 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/_theme.css +18 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/bar_page.js +14 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/foo_page.js +14 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/loading.rhtml +9 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/login_page.js +61 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/main_page.js +46 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/statechart.js +76 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/theme.js +27 -0
- data/lib/frameworks/sproutcore/apps/tests/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/no_targets.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_detail.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_empty.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_list.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +1 -1
- data/lib/frameworks/sproutcore/apps/welcome/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +14 -1
- data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +15 -15
- data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/animation/core.js +8 -5
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +302 -70
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +19 -14
- data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +471 -149
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/object.js +42 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/run_loop.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/string.js +7 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/action_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/delegate_support.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/responder_context.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/selection_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/body_overflow.js +63 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/keyboard.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/layout.js +37 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/main.js +28 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +10 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/sparse_array_delegate.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/browser.js +66 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/builder.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/cursor.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +58 -57
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js.orig +445 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +51 -31
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/ready.js +5 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +53 -69
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/responder.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +98 -72
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +37 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/timer.js +7 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +21 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/content_destroyed.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/string.js +23 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/browser.js +66 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/event.js +22 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/locale.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/end.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/escape_html.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_className.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_style.js +8 -8
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/update.js +17 -16
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/remove.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/build_children.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/class_name_bindings_test.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createChildViews.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +50 -30
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/acceleration.js +46 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +1 -43
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/keyboard.js +8 -34
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +10 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +6 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/theming.js +22 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/mixins/relationship_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +35 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +46 -19
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +23 -9
- data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +2 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/system/many_array.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +294 -302
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js.orig +1531 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +14 -11
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/many_array.js +63 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +50 -10
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/destroy.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/refresh.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +114 -67
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare.js +54 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +29 -9
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/parse.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/cancelRecord.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +37 -45
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/find.js +127 -127
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushRelationships.js +42 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +13 -7
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/tests/system/datetime.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/resources/strings.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/system/datetime.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/debug/core.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/core.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +1 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +19 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +30 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/palette.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +24 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +121 -28
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +15 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_data_source.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/button.js +39 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/collection.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/image_button.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/panel.js +14 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/popup_button.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segment.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segmented.js +1 -51
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +11 -16
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-error-48.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/slider.css +0 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +9 -9
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/content.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +107 -81
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +68 -60
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +57 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/integration.js +21 -19
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroller.js +5 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +32 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +0 -8
- data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +77 -132
- data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +5 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +16 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/views/date_field.js +52 -52
- data/lib/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/grid.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +147 -147
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +11 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +22 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +13 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scene.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +462 -441
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +48 -62
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segment.js +22 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +150 -32
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +104 -45
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select_button.js +42 -20
- data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +24 -24
- data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +148 -154
- data/lib/frameworks/sproutcore/frameworks/desktop/views/stacked.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +8 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +2 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/files.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/library.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/view_configs.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/mixins/drop_down.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/ready.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/plist_item.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/web.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_design.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style_sheet.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/object_designer.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/view_designer.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/snap_lines.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/designer_drop_target.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/drawing.js +21 -21
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/page_item_view.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/views/form.js +59 -53
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/views/menu/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/simple.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/core_scroll.js +6 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/desktop/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/touch/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu.js +14 -10
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu_item.js +17 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/popup_button.js +38 -14
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/select.js +5 -13
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_child.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_thumb.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/children.js +19 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/methods.js +20 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/split_thumb.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split.js +35 -12
- data/lib/frameworks/sproutcore/frameworks/formatters/README +6 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/english.lproj/strings.js +174 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/formatters/date_formatter.js +351 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/tests/date_formatter.js +517 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/core.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +345 -138
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_value_support.js +176 -42
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/editable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +137 -105
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/gestureable.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editable.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editor.js +16 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/validatable.js +47 -47
- data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/helpers/sizing.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +28 -6
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/render_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/benchmark.css +0 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/bootstrap.rhtml +34 -19
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/button_view.css +0 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/label.css +1 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/text_field.css +8 -9
- data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +179 -47
- data/lib/frameworks/sproutcore/frameworks/foundation/system/task_queue.js +34 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +26 -12
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/misc.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_measurement.js +12 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_metric_optimization.js +202 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/content_value_support/content.js +77 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/flowed_layout/tests.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/beginEditing.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/commitEditing.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/discardEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/beginEditing.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/commitEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/discardEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +0 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +163 -149
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/date.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/date_time.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/password.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/validator.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +16 -43
- data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +67 -54
- data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +49 -38
- data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +285 -242
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +13 -13
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffered.js +19 -22
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-sc.js +9 -3
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +231 -186
- data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +145 -143
- data/lib/frameworks/sproutcore/frameworks/media/views/video.js +156 -154
- data/lib/frameworks/sproutcore/frameworks/qunit/qunit/qunit.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js.orig +540 -0
- data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +15 -8
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/ext/function.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +98 -32
- data/lib/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +7 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +14 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +98 -13
- data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +8 -14
- data/lib/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/system/error.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +23 -6
- data/lib/frameworks/sproutcore/frameworks/runtime/system/logger.js +69 -18
- data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +57 -31
- data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +189 -14
- data/lib/frameworks/sproutcore/frameworks/runtime/system/string.js +82 -22
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/chained.js +20 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +125 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +37 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/logger.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +75 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/string.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/mixins/statechart_delegate.js +113 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/private/state_path_matcher.js +312 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/async.js +18 -22
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +508 -131
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state_route_handler_context.js +78 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +265 -44
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/basic/with_concurrent_states.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/responder_chain.js +11 -3
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/private/state_path_matcher.js +116 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/add_substate.js +108 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/find_first_relative_current_state/with_concurrent.js +179 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/find_first_relative_current_state/without_concurrent.js +74 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/get_state.js +141 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/get_substate.js +340 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/route_triggered.js +161 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/try_to_handle_event.js +288 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/standard/without_concurrent_states/context.js +5 -33
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/with_concurrent_states/basic.js +213 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/without_concurrent_states/basic.js +212 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/without_concurrent_states/core.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/{state/namespacing.js → statechart/methods/get_state.js} +3 -41
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/{invoke_state_method.js → methods/invoke_state_method.js} +1 -1
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/{event_handling/advanced → statechart}/respond_to_event.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/system/state_route_handler_context/methods/retry.js +64 -0
- data/lib/frameworks/sproutcore/frameworks/table/core.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/controls/button.js +0 -1
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars.js +29 -5
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/bind.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/collection.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/localization.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/view.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{handlebars → template_view}/handlebars.js +493 -357
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/mixins/template_helpers/checkbox_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/mixins/template_helpers/text_field_support.js +13 -2
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/panes/template.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/controls/button.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/mixins/template_helpers/checkbox_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/mixins/template_helpers/text_field_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/panes/template.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/collection.js +39 -14
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/core.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/handlebars.js +57 -6
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/bindable_span.js +21 -6
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/template.js +9 -3
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/template_collection.js +55 -26
- data/lib/frameworks/sproutcore/frameworks/testing/system/equiv.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +122 -122
- data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/testing/system/suite.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/base.css +1 -1
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/reset.css +0 -1
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/view.css +4 -4
- data/lib/frameworks/sproutcore/lib/index.rhtml +55 -32
- data/lib/frameworks/sproutcore/license.js +2 -4
- data/lib/frameworks/sproutcore/themes/ace/resources/body.css +5 -1
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/button.css +21 -13
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/button.css +17 -10
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +4 -3
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/button.css +20 -12
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/button.css +16 -8
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/jumbo/button.css +17 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/small/button.css +17 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/master-detail/master-detail.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.css +5 -3
- data/lib/frameworks/sproutcore/themes/iphone_theme/english.lproj/core.css +1 -1
- data/lib/frameworks/sproutcore/themes/legacy_theme/english.lproj/toolbar.css +1 -1
- data/lib/gen/app/USAGE +17 -4
- data/lib/gen/language/Buildfile +4 -4
- data/lib/gen/language/USAGE +4 -4
- data/lib/gen/page/templates/pages/@target_name@/Buildfile +7 -7
- data/lib/gen/{html_app → statechart_app}/Buildfile +0 -0
- data/lib/gen/{html_app → statechart_app}/README +0 -0
- data/lib/gen/statechart_app/USAGE +21 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/Buildfile +9 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/core.js +24 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/main.js +26 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/_theme.css +18 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/loading.rhtml +9 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/main_page.js +21 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/statechart.js +8 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/states/ready_state.js +12 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/theme.js +24 -0
- data/lib/sproutcore/builders.rb +1 -0
- data/lib/sproutcore/builders/base.rb +19 -1
- data/lib/sproutcore/builders/chance_file.rb +6 -1
- data/lib/sproutcore/builders/handlebars.rb +1 -9
- data/lib/sproutcore/builders/javascript.rb +1 -10
- data/lib/sproutcore/builders/json.rb +25 -0
- data/lib/sproutcore/builders/less.rb +1 -1
- data/lib/sproutcore/builders/sass.rb +1 -1
- data/lib/sproutcore/builders/stylesheet.rb +1 -9
- data/lib/sproutcore/helpers/html5_manifest.rb +1 -1
- data/lib/sproutcore/helpers/static_helper.rb +42 -0
- data/lib/sproutcore/rack/proxy.rb +21 -3
- data/lib/sproutcore/rack/service.rb +3 -2
- data/lib/sproutcore/tools.rb +18 -25
- data/lib/sproutcore/tools/gen.rb +10 -3
- data/lib/sproutcore/tools/init.rb +11 -10
- data/spec/buildtasks/manifest/prepare_build_tasks/json_spec.rb +62 -0
- data/spec/fixtures/builder_tests/apps/handlebars_test/Buildfile +1 -1
- data/spec/fixtures/builder_tests/apps/json_test/sc_static.json +2 -0
- data/spec/lib/builders/json_spec.rb +53 -0
- data/sproutcore.gemspec +2 -2
- data/vendor/chance/lib/chance/parser.rb +1 -1
- metadata +222 -177
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/datetime.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +0 -259
- data/lib/frameworks/sproutcore/frameworks/documentation/core.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/chance.js +0 -69
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/editable/ui.js +0 -44
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/ui.js +0 -64
- data/lib/frameworks/sproutcore/frameworks/mini/license.js +0 -30
- data/lib/gen/html_app/USAGE +0 -15
- data/lib/gen/html_app/templates/apps/@target_name@/@target_name@.js +0 -11
- data/lib/gen/html_app/templates/apps/@target_name@/resources/images/.gitkeep +0 -0
- data/lib/gen/html_app/templates/apps/@target_name@/resources/stylesheets/@target_name@.css +0 -6
- data/lib/gen/html_app/templates/apps/@target_name@/resources/templates/@target_name@.handlebars +0 -1
- data/lib/gen/html_project/Buildfile +0 -45
- data/lib/gen/html_project/INIT +0 -3
- data/lib/gen/html_project/README +0 -1
- data/lib/gen/html_project/USAGE +0 -2
- data/lib/gen/html_project/templates/@filename@/Buildfile +0 -5
- data/lib/gen/html_project/templates/@filename@/README +0 -4
|
@@ -9,125 +9,125 @@
|
|
|
9
9
|
sc_require('views/controls');
|
|
10
10
|
sc_require('views/mini_controls');
|
|
11
11
|
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
13
|
@class
|
|
14
|
-
|
|
15
|
-
Renders a videoView using different technologies like HTML5 video tag,
|
|
14
|
+
|
|
15
|
+
Renders a videoView using different technologies like HTML5 video tag,
|
|
16
16
|
quicktime and flash.
|
|
17
|
-
|
|
18
|
-
This view wraps the different technologies so you can use one standard and
|
|
17
|
+
|
|
18
|
+
This view wraps the different technologies so you can use one standard and
|
|
19
19
|
simple API to play videos.
|
|
20
|
-
|
|
21
|
-
You can specify and array with the order of how the technologies will
|
|
22
|
-
depending on availability. For example you can set degradeList to be
|
|
23
|
-
['html5', 'flash'] and it will load your video in a video tag if the
|
|
24
|
-
technology is available otherwise flash and if neither of the technologies
|
|
20
|
+
|
|
21
|
+
You can specify and array with the order of how the technologies will degrade
|
|
22
|
+
depending on availability. For example you can set degradeList to be
|
|
23
|
+
['html5', 'flash'] and it will load your video in a video tag if the
|
|
24
|
+
technology is available otherwise flash and if neither of the technologies
|
|
25
25
|
are available it will show a message saying that your machine needs to install
|
|
26
26
|
one of this technologies.
|
|
27
|
-
|
|
27
|
+
|
|
28
28
|
@extends SC.View
|
|
29
29
|
@since SproutCore 1.1
|
|
30
30
|
*/
|
|
31
31
|
SC.VideoView = SC.View.extend(
|
|
32
32
|
/** @scope SC.VideoView.prototype */{
|
|
33
33
|
|
|
34
|
-
/**
|
|
35
|
-
Video view className.
|
|
34
|
+
/**
|
|
35
|
+
Video view className.
|
|
36
36
|
@property {String}
|
|
37
37
|
*/
|
|
38
38
|
classNames: 'sc-video-view',
|
|
39
|
-
|
|
40
|
-
/**
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
41
|
Properties that trigger a re render of the view. If the value changes, it
|
|
42
42
|
means that the video url changed.
|
|
43
|
-
|
|
43
|
+
|
|
44
44
|
@property {Array}
|
|
45
45
|
*/
|
|
46
46
|
displayProperties: ['value', 'shouldAutoResize'],
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
Reference to the video object once is created.
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
Reference to the video object once is created.
|
|
50
50
|
@property {Object}
|
|
51
51
|
*/
|
|
52
|
-
|
|
52
|
+
|
|
53
53
|
videoObject:null,
|
|
54
|
-
|
|
55
|
-
/**
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
56
|
Array containing the technologies and the order to load them depending
|
|
57
57
|
availability
|
|
58
|
-
|
|
58
|
+
|
|
59
59
|
@property {Array}
|
|
60
60
|
*/
|
|
61
61
|
degradeList: ['html5','quicktime', 'flash'],
|
|
62
|
-
|
|
63
|
-
/**
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
64
|
Current time in secs
|
|
65
65
|
@property {Number}
|
|
66
66
|
*/
|
|
67
|
-
currentTime: 0,
|
|
68
|
-
|
|
69
|
-
/**
|
|
67
|
+
currentTime: 0,
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
70
|
Duration in secs
|
|
71
71
|
@property {Number}
|
|
72
72
|
*/
|
|
73
73
|
duration: 0, //video duration in secs
|
|
74
|
-
|
|
75
|
-
/**
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
76
|
Volume. The value should be between 0 and 1
|
|
77
77
|
@property {Number}
|
|
78
78
|
*/
|
|
79
79
|
volume:0, //volume value from 0 to 1
|
|
80
|
-
|
|
81
|
-
/**
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
82
|
Tells you if the video is paused or not.
|
|
83
83
|
@property {Boolean}
|
|
84
84
|
*/
|
|
85
85
|
paused: YES, //is the video paused
|
|
86
86
|
|
|
87
|
-
/**
|
|
87
|
+
/**
|
|
88
88
|
Tells you if the video is loaded.
|
|
89
89
|
@property {Boolean}
|
|
90
90
|
*/
|
|
91
91
|
|
|
92
92
|
loaded: NO, //has the video loaded
|
|
93
|
-
|
|
94
|
-
/**
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
95
|
Indicates if the video has reached the end
|
|
96
96
|
@property {Boolean}
|
|
97
97
|
*/
|
|
98
|
-
|
|
98
|
+
|
|
99
99
|
ended: NO, //did the video finished playing
|
|
100
|
-
|
|
101
|
-
/**
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
102
|
Indicates if the video is ready to be played.
|
|
103
103
|
@property {Boolean}
|
|
104
104
|
*/
|
|
105
|
-
|
|
105
|
+
|
|
106
106
|
canPlay: NO, //can the video be played
|
|
107
|
-
|
|
108
|
-
/**
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
109
|
Width of the video in pixels.
|
|
110
110
|
@property {Number}
|
|
111
111
|
*/
|
|
112
112
|
videoWidth:0,
|
|
113
|
-
|
|
114
|
-
/**
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
115
|
Width of the video in pixels.
|
|
116
116
|
@property {Number}
|
|
117
117
|
*/
|
|
118
118
|
videoHeight:0,
|
|
119
|
-
|
|
120
|
-
/**
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
121
|
Flag to enable captions if available.
|
|
122
122
|
@property {Boolean}
|
|
123
123
|
*/
|
|
124
124
|
captionsEnabled: NO,
|
|
125
|
-
|
|
125
|
+
|
|
126
126
|
loadedTimeRanges:[], //loaded bits
|
|
127
|
-
|
|
127
|
+
|
|
128
128
|
poster: null,
|
|
129
|
-
|
|
130
|
-
/**
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
131
|
Formatted currentTime. (00:00)
|
|
132
132
|
@property {String}
|
|
133
133
|
*/
|
|
@@ -137,10 +137,10 @@ SC.VideoView = SC.View.extend(
|
|
|
137
137
|
var formattedTime = this._addZeros(Math.floor(currentTime/60))+':'+this._addZeros(Math.floor(currentTime%60))+"/"+this._addZeros(Math.floor(totaltimeInSecs/60))+':'+this._addZeros(Math.floor(totaltimeInSecs%60));
|
|
138
138
|
return formattedTime;
|
|
139
139
|
}.property('currentTime', 'duration').cacheable(),
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
Renders the
|
|
143
|
-
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
Renders the appropriate HTML according for the technology to use.
|
|
143
|
+
|
|
144
144
|
@param {SC.RenderContext} context the render context
|
|
145
145
|
@param {Boolean} firstTime YES if this is creating a layer
|
|
146
146
|
@returns {void}
|
|
@@ -151,7 +151,8 @@ SC.VideoView = SC.View.extend(
|
|
|
151
151
|
for(i=0, listLen = this.degradeList.length; i<listLen; i++){
|
|
152
152
|
switch(this.degradeList[i]){
|
|
153
153
|
case "html5":
|
|
154
|
-
|
|
154
|
+
// TODO: this doesn't seem like the best way to determine what tags to use!
|
|
155
|
+
if(SC.browser.name === SC.BROWSER.safari){
|
|
155
156
|
context.push('<video src="'+this.get('value')+'"');
|
|
156
157
|
if(this.poster){
|
|
157
158
|
context.push(' poster="'+this.poster+'"');
|
|
@@ -165,14 +166,15 @@ SC.VideoView = SC.View.extend(
|
|
|
165
166
|
}
|
|
166
167
|
break;
|
|
167
168
|
case "quicktime":
|
|
168
|
-
|
|
169
|
+
// TODO: this doesn't seem like the best way to determine what tags to use!
|
|
170
|
+
if(SC.browser.name === SC.BROWSER.ie){
|
|
169
171
|
context.push('<object id="qt_event_source" '+
|
|
170
|
-
'classid="clsid:CB927D12-4FF7-4a9e-A169-56E4B8A75598" '+
|
|
172
|
+
'classid="clsid:CB927D12-4FF7-4a9e-A169-56E4B8A75598" '+
|
|
171
173
|
'codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=7,2,1,0"> '+
|
|
172
174
|
'</object> ');
|
|
173
175
|
}
|
|
174
176
|
context.push('<object width="100%" height="100%"');
|
|
175
|
-
if(SC.browser.
|
|
177
|
+
if(SC.browser.name === SC.BROWSER.ie){
|
|
176
178
|
context.push('style="position: absolute; top:0px; left:0px; behavior:url(#qt_event_source);"');
|
|
177
179
|
}
|
|
178
180
|
context.push('classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" '+
|
|
@@ -253,27 +255,27 @@ SC.VideoView = SC.View.extend(
|
|
|
253
255
|
}
|
|
254
256
|
}
|
|
255
257
|
},
|
|
256
|
-
|
|
258
|
+
|
|
257
259
|
valueObserver:function(){
|
|
258
|
-
this.set('currentTime', 0);
|
|
259
|
-
this.set('duration', 0);
|
|
260
|
-
this.set('volume', 0);
|
|
261
|
-
this.set('paused', YES);
|
|
262
|
-
this.set('loaded', NO);
|
|
263
|
-
this.set('ended', NO);
|
|
264
|
-
this.set('canPlay', NO);
|
|
265
|
-
this.set('loadedTimeRanges', []);
|
|
260
|
+
this.set('currentTime', 0);
|
|
261
|
+
this.set('duration', 0);
|
|
262
|
+
this.set('volume', 0);
|
|
263
|
+
this.set('paused', YES);
|
|
264
|
+
this.set('loaded', NO);
|
|
265
|
+
this.set('ended', NO);
|
|
266
|
+
this.set('canPlay', NO);
|
|
267
|
+
this.set('loadedTimeRanges', []);
|
|
266
268
|
this.replaceLayer();
|
|
267
269
|
}.observes('value'),
|
|
268
270
|
|
|
269
271
|
|
|
270
|
-
/**
|
|
271
|
-
This function is called everytime the frame changes. This is done to get
|
|
272
|
+
/**
|
|
273
|
+
This function is called everytime the frame changes. This is done to get
|
|
272
274
|
the right video dimensions for HTML5 video tag.
|
|
273
|
-
|
|
275
|
+
|
|
274
276
|
@returns {void}
|
|
275
277
|
*/
|
|
276
|
-
frameDidChange: function() {
|
|
278
|
+
frameDidChange: function() {
|
|
277
279
|
if(this.loaded==="html5"){
|
|
278
280
|
var fr= this.get('frame'),
|
|
279
281
|
elem = this.$('video');
|
|
@@ -281,10 +283,10 @@ SC.VideoView = SC.View.extend(
|
|
|
281
283
|
elem.attr('height', fr.height);
|
|
282
284
|
}
|
|
283
285
|
}.observes('frame'),
|
|
284
|
-
|
|
285
|
-
/**
|
|
286
|
+
|
|
287
|
+
/**
|
|
286
288
|
In didCreateLayer we add DOM events for video tag or quicktime.
|
|
287
|
-
|
|
289
|
+
|
|
288
290
|
@returns {void}
|
|
289
291
|
*/
|
|
290
292
|
didCreateLayer :function(){
|
|
@@ -296,16 +298,16 @@ SC.VideoView = SC.View.extend(
|
|
|
296
298
|
this.addQTDOMEvents();
|
|
297
299
|
}
|
|
298
300
|
},
|
|
299
|
-
|
|
301
|
+
|
|
300
302
|
didAppendToDocument :function(){
|
|
301
303
|
if(this.loaded==="quicktime"){
|
|
302
304
|
this.addQTDOMEvents();
|
|
303
305
|
}
|
|
304
306
|
},
|
|
305
|
-
|
|
306
|
-
/**
|
|
307
|
-
Adds all the
|
|
308
|
-
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
Adds all the necessary video DOM elements.
|
|
310
|
+
|
|
309
311
|
@returns {void}
|
|
310
312
|
*/
|
|
311
313
|
addVideoDOMEvents: function() {
|
|
@@ -327,31 +329,31 @@ SC.VideoView = SC.View.extend(
|
|
|
327
329
|
this.updateVideoElementLoadedTimeRanges(videoElem);
|
|
328
330
|
view.set('volume', videoElem.volume);
|
|
329
331
|
SC.RunLoop.end();
|
|
330
|
-
});
|
|
332
|
+
});
|
|
331
333
|
SC.Event.add(videoElem, 'play', this, function () {
|
|
332
334
|
SC.RunLoop.begin();
|
|
333
335
|
view.set('paused', NO);
|
|
334
336
|
SC.RunLoop.end();
|
|
335
|
-
});
|
|
337
|
+
});
|
|
336
338
|
SC.Event.add(videoElem, 'pause', this, function () {
|
|
337
339
|
SC.RunLoop.begin();
|
|
338
340
|
view.set('paused', YES);
|
|
339
341
|
SC.RunLoop.end();
|
|
340
|
-
});
|
|
342
|
+
});
|
|
341
343
|
SC.Event.add(videoElem, 'loadedmetadata', this, function () {
|
|
342
344
|
SC.RunLoop.begin();
|
|
343
345
|
view.set('videoWidth', videoElem.videoWidth);
|
|
344
346
|
view.set('videoHeight', videoElem.videoHeight);
|
|
345
347
|
SC.RunLoop.end();
|
|
346
|
-
});
|
|
347
|
-
|
|
348
|
+
});
|
|
349
|
+
|
|
348
350
|
SC.Event.add(videoElem, 'canplay', this, function () {
|
|
349
351
|
SC.RunLoop.begin();
|
|
350
352
|
this.updateVideoElementLoadedTimeRanges(videoElem);
|
|
351
353
|
view.set('canPlay', YES);
|
|
352
354
|
SC.RunLoop.end();
|
|
353
|
-
});
|
|
354
|
-
|
|
355
|
+
});
|
|
356
|
+
|
|
355
357
|
SC.Event.add(videoElem, 'ended', this, function () {
|
|
356
358
|
SC.RunLoop.begin();
|
|
357
359
|
view.set('ended', YES);
|
|
@@ -372,52 +374,52 @@ SC.VideoView = SC.View.extend(
|
|
|
372
374
|
//console.log('progress '+ev.loaded+","+ev.total );
|
|
373
375
|
SC.RunLoop.end();
|
|
374
376
|
});
|
|
375
|
-
|
|
377
|
+
|
|
376
378
|
// SC.Event.add(videoElem, 'suspend', this, function () {
|
|
377
379
|
// SC.RunLoop.begin();
|
|
378
380
|
// console.log('suspend');
|
|
379
381
|
// SC.RunLoop.end();
|
|
380
|
-
// });
|
|
382
|
+
// });
|
|
381
383
|
// SC.Event.add(videoElem, 'load', this, function () {
|
|
382
384
|
// SC.RunLoop.begin();
|
|
383
385
|
// console.log('load');
|
|
384
386
|
// SC.RunLoop.end();
|
|
385
|
-
// });
|
|
387
|
+
// });
|
|
386
388
|
// SC.Event.add(videoElem, 'abort', this, function () {
|
|
387
389
|
// SC.RunLoop.begin();
|
|
388
390
|
// console.log('abort');
|
|
389
391
|
// SC.RunLoop.end();
|
|
390
|
-
// });
|
|
392
|
+
// });
|
|
391
393
|
// SC.Event.add(videoElem, 'error', this, function () {
|
|
392
394
|
// SC.RunLoop.begin();
|
|
393
395
|
// console.log('error');
|
|
394
396
|
// SC.RunLoop.end();
|
|
395
|
-
// });
|
|
397
|
+
// });
|
|
396
398
|
// SC.Event.add(videoElem, 'loadend', this, function () {
|
|
397
399
|
// SC.RunLoop.begin();
|
|
398
400
|
// console.log('loadend');
|
|
399
401
|
// SC.RunLoop.end();
|
|
400
|
-
// });
|
|
402
|
+
// });
|
|
401
403
|
// SC.Event.add(videoElem, 'emptied', this, function () {
|
|
402
404
|
// SC.RunLoop.begin();
|
|
403
405
|
// console.log('emptied');
|
|
404
406
|
// SC.RunLoop.end();
|
|
405
|
-
// });
|
|
407
|
+
// });
|
|
406
408
|
// SC.Event.add(videoElem, 'stalled', this, function () {
|
|
407
409
|
// SC.RunLoop.begin();
|
|
408
410
|
// console.log('stalled');
|
|
409
411
|
// SC.RunLoop.end();
|
|
410
|
-
// });
|
|
412
|
+
// });
|
|
411
413
|
// SC.Event.add(videoElem, 'loadeddata', this, function () {
|
|
412
414
|
// SC.RunLoop.begin();
|
|
413
415
|
// console.log('loadeddata');
|
|
414
416
|
// SC.RunLoop.end();
|
|
415
|
-
// });
|
|
417
|
+
// });
|
|
416
418
|
// SC.Event.add(videoElem, 'waiting', this, function () {
|
|
417
419
|
// SC.RunLoop.begin();
|
|
418
420
|
// console.log('waiting');
|
|
419
421
|
// SC.RunLoop.end();
|
|
420
|
-
// });
|
|
422
|
+
// });
|
|
421
423
|
// SC.Event.add(videoElem, 'playing', this, function () {
|
|
422
424
|
// SC.RunLoop.begin();
|
|
423
425
|
// console.log('playing');
|
|
@@ -427,12 +429,12 @@ SC.VideoView = SC.View.extend(
|
|
|
427
429
|
// SC.RunLoop.begin();
|
|
428
430
|
// console.log('canplaythrough');
|
|
429
431
|
// SC.RunLoop.end();
|
|
430
|
-
// });
|
|
432
|
+
// });
|
|
431
433
|
// SC.Event.add(videoElem, 'seeking', this, function () {
|
|
432
434
|
// SC.RunLoop.begin();
|
|
433
435
|
// console.log('seeking');
|
|
434
436
|
// SC.RunLoop.end();
|
|
435
|
-
// });
|
|
437
|
+
// });
|
|
436
438
|
// SC.Event.add(videoElem, 'seeked', this, function () {
|
|
437
439
|
// SC.RunLoop.begin();
|
|
438
440
|
// console.log('seeked');
|
|
@@ -442,15 +444,15 @@ SC.VideoView = SC.View.extend(
|
|
|
442
444
|
// SC.RunLoop.begin();
|
|
443
445
|
// console.log('ratechange');
|
|
444
446
|
// SC.RunLoop.end();
|
|
445
|
-
// });
|
|
447
|
+
// });
|
|
446
448
|
// SC.Event.add(videoElem, 'volumechange', this, function () {
|
|
447
449
|
// SC.RunLoop.begin();
|
|
448
450
|
// console.log('volumechange');
|
|
449
451
|
// SC.RunLoop.end();
|
|
450
452
|
// });
|
|
451
|
-
|
|
453
|
+
|
|
452
454
|
},
|
|
453
|
-
|
|
455
|
+
|
|
454
456
|
updateVideoElementLoadedTimeRanges: function(videoElem) {
|
|
455
457
|
if(!videoElem) videoElem = this.$('video')[0];
|
|
456
458
|
if(!this.loadedTimeRanges) this.loadedTimeRanges=[];
|
|
@@ -458,13 +460,13 @@ SC.VideoView = SC.View.extend(
|
|
|
458
460
|
for (var j=0, jLen = videoElem.buffered.length; j<jLen; j++){
|
|
459
461
|
this.loadedTimeRanges.push(videoElem.buffered.start(j));
|
|
460
462
|
this.loadedTimeRanges.push(videoElem.buffered.end(j));
|
|
461
|
-
}
|
|
463
|
+
}
|
|
462
464
|
//console.log('handled loadedTimeRanges='+this.loadedTimeRanges.toString());
|
|
463
465
|
this.notifyPropertyChange('loadedTimeRanges');
|
|
464
466
|
},
|
|
465
|
-
|
|
466
|
-
/**
|
|
467
|
-
Adds all the
|
|
467
|
+
|
|
468
|
+
/**
|
|
469
|
+
Adds all the necessary quicktime DOM elements.
|
|
468
470
|
|
|
469
471
|
@returns {void}
|
|
470
472
|
*/
|
|
@@ -484,7 +486,7 @@ SC.VideoView = SC.View.extend(
|
|
|
484
486
|
this._setDurationFromQTVideoObject();
|
|
485
487
|
this.set('volume', vid.GetVolume()/256);
|
|
486
488
|
this._setDimensionsFromQTVideoObject();
|
|
487
|
-
|
|
489
|
+
|
|
488
490
|
SC.Event.add(videoElem, 'qt_durationchange', this, function () {
|
|
489
491
|
SC.RunLoop.begin();
|
|
490
492
|
this._setDurationFromQTVideoObject();
|
|
@@ -511,7 +513,7 @@ SC.VideoView = SC.View.extend(
|
|
|
511
513
|
view.set('canPlay', YES);
|
|
512
514
|
SC.RunLoop.end();
|
|
513
515
|
});
|
|
514
|
-
|
|
516
|
+
|
|
515
517
|
SC.Event.add(videoElem, 'qt_ended', this, function () {
|
|
516
518
|
view.set('ended', YES);
|
|
517
519
|
});
|
|
@@ -563,7 +565,7 @@ SC.VideoView = SC.View.extend(
|
|
|
563
565
|
// SC.RunLoop.end();
|
|
564
566
|
// });
|
|
565
567
|
},
|
|
566
|
-
|
|
568
|
+
|
|
567
569
|
updateQTVideoObjectLoadedTimeRanges: function(vid) {
|
|
568
570
|
vid = vid || this._getVideoObject();
|
|
569
571
|
if(!this.loadedTimeRanges) this.loadedTimeRanges=[];
|
|
@@ -572,13 +574,13 @@ SC.VideoView = SC.View.extend(
|
|
|
572
574
|
this.loadedTimeRanges.push(vid.GetMaxTimeLoaded()/vid.GetTimeScale());
|
|
573
575
|
this.notifyPropertyChange('loadedTimeRanges');
|
|
574
576
|
},
|
|
575
|
-
|
|
577
|
+
|
|
576
578
|
_setDurationFromQTVideoObject: function(vid) {
|
|
577
579
|
if(!vid) vid = this._getVideoObject();
|
|
578
580
|
try{ this.set('duration', vid.GetDuration()/vid.GetTimeScale()); }
|
|
579
581
|
catch(e) { this.invokeLater('_setDurationFromQTVideoObject',100); }
|
|
580
582
|
},
|
|
581
|
-
|
|
583
|
+
|
|
582
584
|
_setDimensionsFromQTVideoObject: function(vid) {
|
|
583
585
|
if(!vid) vid = this._getVideoObject();
|
|
584
586
|
try{
|
|
@@ -587,10 +589,10 @@ SC.VideoView = SC.View.extend(
|
|
|
587
589
|
this.set('videoHeight', dimensions[3]);
|
|
588
590
|
} catch(e) { this.invokeLater('_setDimensionsFromQTVideoObject',100); }
|
|
589
591
|
},
|
|
590
|
-
|
|
591
|
-
/**
|
|
592
|
+
|
|
593
|
+
/**
|
|
592
594
|
For Quicktime we need to simulated the timer as there is no data,
|
|
593
|
-
coming back from the plugin that reports back the currentTime of the
|
|
595
|
+
coming back from the plugin that reports back the currentTime of the
|
|
594
596
|
video.
|
|
595
597
|
|
|
596
598
|
@returns {void}
|
|
@@ -601,11 +603,11 @@ SC.VideoView = SC.View.extend(
|
|
|
601
603
|
this.invokeLater(this._qtTimer, 1000);
|
|
602
604
|
}
|
|
603
605
|
}.observes('paused'),
|
|
604
|
-
|
|
605
|
-
/**
|
|
606
|
-
Called when currentTime changes. Notifies the
|
|
606
|
+
|
|
607
|
+
/**
|
|
608
|
+
Called when currentTime changes. Notifies the different technologies
|
|
607
609
|
then new currentTime.
|
|
608
|
-
|
|
610
|
+
|
|
609
611
|
@returns {void}
|
|
610
612
|
*/
|
|
611
613
|
seek:function(){
|
|
@@ -620,11 +622,11 @@ SC.VideoView = SC.View.extend(
|
|
|
620
622
|
if(this.get('paused')) vid.setTime(this.get('currentTime'));
|
|
621
623
|
}
|
|
622
624
|
}.observes('currentTime'),
|
|
623
|
-
|
|
624
|
-
/**
|
|
625
|
+
|
|
626
|
+
/**
|
|
625
627
|
Should be called once the progress view is clicked to stop the event and
|
|
626
628
|
later start seeking.
|
|
627
|
-
|
|
629
|
+
|
|
628
630
|
@returns {void}
|
|
629
631
|
*/
|
|
630
632
|
startSeek: function(){
|
|
@@ -634,11 +636,11 @@ SC.VideoView = SC.View.extend(
|
|
|
634
636
|
this._wasPlaying = true;
|
|
635
637
|
}
|
|
636
638
|
},
|
|
637
|
-
|
|
638
|
-
/**
|
|
639
|
+
|
|
640
|
+
/**
|
|
639
641
|
Should be called once the progress view gets a mouseUp. It will get the
|
|
640
642
|
player to continue playing if it was playing before starting the seek.
|
|
641
|
-
|
|
643
|
+
|
|
642
644
|
@returns {void}
|
|
643
645
|
*/
|
|
644
646
|
endSeek: function(){
|
|
@@ -648,11 +650,11 @@ SC.VideoView = SC.View.extend(
|
|
|
648
650
|
this._wasPlaying = false;
|
|
649
651
|
}
|
|
650
652
|
},
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
/**
|
|
653
|
+
|
|
654
|
+
|
|
655
|
+
/**
|
|
654
656
|
Set the volume of the video.
|
|
655
|
-
|
|
657
|
+
|
|
656
658
|
@returns {void}
|
|
657
659
|
*/
|
|
658
660
|
setVolume:function(){
|
|
@@ -661,8 +663,8 @@ SC.VideoView = SC.View.extend(
|
|
|
661
663
|
if(this.loaded==="quicktime") vid.SetVolume(this.get('volume')*256);
|
|
662
664
|
if(this.loaded==="flash") vid.setVolume(this.get('volume'));
|
|
663
665
|
}.observes('volume'),
|
|
664
|
-
|
|
665
|
-
/**
|
|
666
|
+
|
|
667
|
+
/**
|
|
666
668
|
Calls the right play method depending on the technology.
|
|
667
669
|
@returns {void}
|
|
668
670
|
*/
|
|
@@ -677,8 +679,8 @@ SC.VideoView = SC.View.extend(
|
|
|
677
679
|
SC.Logger.warn('The video cannot play!!!! It might still be loading the plugging');
|
|
678
680
|
}
|
|
679
681
|
},
|
|
680
|
-
|
|
681
|
-
/**
|
|
682
|
+
|
|
683
|
+
/**
|
|
682
684
|
Calls the right stop method depending on the technology.
|
|
683
685
|
@returns {void}
|
|
684
686
|
*/
|
|
@@ -689,8 +691,8 @@ SC.VideoView = SC.View.extend(
|
|
|
689
691
|
if(this.loaded==="flash") vid.pauseVideo();
|
|
690
692
|
this.set('paused', YES);
|
|
691
693
|
},
|
|
692
|
-
|
|
693
|
-
/**
|
|
694
|
+
|
|
695
|
+
/**
|
|
694
696
|
Plays or stops the video.
|
|
695
697
|
@returns {void}
|
|
696
698
|
*/
|
|
@@ -699,21 +701,21 @@ SC.VideoView = SC.View.extend(
|
|
|
699
701
|
this.play();
|
|
700
702
|
}else{
|
|
701
703
|
this.stop();
|
|
702
|
-
}
|
|
704
|
+
}
|
|
703
705
|
},
|
|
704
|
-
|
|
705
|
-
/**
|
|
706
|
+
|
|
707
|
+
/**
|
|
706
708
|
Goes into fullscreen mode if available
|
|
707
709
|
@returns {void}
|
|
708
|
-
*/
|
|
710
|
+
*/
|
|
709
711
|
fullScreen: function(){
|
|
710
712
|
var vid=this._getVideoObject();
|
|
711
713
|
if(this.loaded==="html5") this.$('video')[0].webkitEnterFullScreen();
|
|
712
714
|
if(this.loaded==="flash") vid.fullScreen();
|
|
713
|
-
return;
|
|
715
|
+
return;
|
|
714
716
|
},
|
|
715
|
-
|
|
716
|
-
/**
|
|
717
|
+
|
|
718
|
+
/**
|
|
717
719
|
Enables captions if available
|
|
718
720
|
@returns {void}
|
|
719
721
|
*/
|
|
@@ -728,16 +730,16 @@ SC.VideoView = SC.View.extend(
|
|
|
728
730
|
}else{
|
|
729
731
|
this.SetTrackEnabled(this._closedCaptionTrackIndex,false);
|
|
730
732
|
this.set('captionsEnabled', NO);
|
|
731
|
-
}
|
|
733
|
+
}
|
|
732
734
|
}catch(a){}
|
|
733
735
|
}
|
|
734
736
|
return;
|
|
735
737
|
},
|
|
736
|
-
|
|
738
|
+
|
|
737
739
|
/*private*/
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
/**
|
|
740
|
+
|
|
741
|
+
|
|
742
|
+
/**
|
|
741
743
|
Gets the right video object depending on the browser.
|
|
742
744
|
@returns {void}
|
|
743
745
|
*/
|
|
@@ -746,14 +748,14 @@ SC.VideoView = SC.View.extend(
|
|
|
746
748
|
if(this.loaded==="quicktime") return document['qt_'+SC.guidFor(this)];
|
|
747
749
|
if(this.loaded==="flash") {
|
|
748
750
|
var movieName='flash_'+SC.guidFor(this);
|
|
749
|
-
if (window.document[movieName])
|
|
751
|
+
if (window.document[movieName])
|
|
750
752
|
{
|
|
751
753
|
return window.document[movieName];
|
|
752
754
|
}
|
|
753
755
|
if (navigator.appName.indexOf("Microsoft Internet")==-1)
|
|
754
756
|
{
|
|
755
757
|
if (document.embeds && document.embeds[movieName]) {
|
|
756
|
-
return document.embeds[movieName];
|
|
758
|
+
return document.embeds[movieName];
|
|
757
759
|
}
|
|
758
760
|
}
|
|
759
761
|
else
|
|
@@ -762,15 +764,15 @@ SC.VideoView = SC.View.extend(
|
|
|
762
764
|
}
|
|
763
765
|
}
|
|
764
766
|
},
|
|
765
|
-
|
|
767
|
+
|
|
766
768
|
_addZeros:function(value){
|
|
767
769
|
if(value.toString().length<2) return "0"+value;
|
|
768
770
|
return value;
|
|
769
771
|
}
|
|
770
|
-
|
|
772
|
+
|
|
771
773
|
});
|
|
772
774
|
|
|
773
|
-
/**
|
|
775
|
+
/**
|
|
774
776
|
Hash to store references to the different flash videos.
|
|
775
777
|
*/
|
|
776
778
|
SC.VideoView.flashViews={};
|
|
@@ -806,19 +808,19 @@ SC.VideoView.logFlash = function(message) {
|
|
|
806
808
|
|
|
807
809
|
SC.VideoPlayerView = SC.View.extend({
|
|
808
810
|
classNames: 'sc-video-player-view',
|
|
809
|
-
|
|
811
|
+
|
|
810
812
|
childViews: ['videoView', 'regular'],
|
|
811
|
-
|
|
813
|
+
|
|
812
814
|
value: null,
|
|
813
|
-
|
|
815
|
+
|
|
814
816
|
degradeList: null,
|
|
815
|
-
|
|
817
|
+
|
|
816
818
|
videoView:SC.VideoView.design({
|
|
817
819
|
layout: { top: 0, bottom:20, right:0, left:0},
|
|
818
820
|
degradeListBinding: '*parentView.degradeList',
|
|
819
821
|
valueBinding: '*parentView.value'
|
|
820
822
|
}),
|
|
821
|
-
|
|
823
|
+
|
|
822
824
|
regular: SC.MediaControlsView.design({
|
|
823
825
|
layout: { bottom:0, left: 0, right: 0, height: 20 },
|
|
824
826
|
targetBinding: '*parentView.videoView'
|