sproutcore 1.5.0.pre.4.1 → 1.5.0.pre.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. data/CHANGELOG +7 -0
  2. data/VERSION.yml +1 -1
  3. data/lib/buildtasks/manifest.rake +4 -3
  4. data/lib/frameworks/sproutcore/Buildfile +1 -2
  5. data/lib/frameworks/sproutcore/CHANGELOG.md +8 -3
  6. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/app-selector.css +19 -23
  7. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/button.css +139 -135
  8. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/dock.css +5 -0
  9. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/general.css +0 -1
  10. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/menu.css +10 -13
  11. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/modal.css +9 -8
  12. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/picker.css +19 -12
  13. data/lib/frameworks/sproutcore/apps/greenhouse/models/design.js +2 -2
  14. data/lib/frameworks/sproutcore/apps/greenhouse/states/modals.js +1 -1
  15. data/lib/frameworks/sproutcore/apps/greenhouse/theme.js +2 -2
  16. data/lib/frameworks/sproutcore/apps/greenhouse/views/plist_item.js +3 -1
  17. data/lib/frameworks/sproutcore/frameworks/animation/core.js +1 -1
  18. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +31 -20
  19. data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +15 -9
  20. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/responder_context.js +5 -5
  21. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +1 -1
  22. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/browser.js +23 -45
  23. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/device.js +1 -1
  24. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +60 -5
  25. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/ready.js +1 -1
  26. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +2 -2
  27. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +4 -4
  28. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/ready/done.js +32 -0
  29. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/utils/offset.js +5 -2
  30. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/append_remove.js +8 -3
  31. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/layout.js +4 -4
  32. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template_view/collection.js +51 -5
  33. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template_view/core.js +18 -0
  34. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template_view/handlebars.js +261 -0
  35. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/animation.js +55 -0
  36. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/clippingFrame.js +2 -19
  37. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/convertFrames.js +3 -1
  38. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/insertBefore.js +17 -0
  39. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutStyle.js +96 -1
  40. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/prepareContext.js +15 -0
  41. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/updateLayerLocation.js +19 -0
  42. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template/collection.js +8 -1
  43. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +179 -4
  44. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +8 -14
  45. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/cursor.js +7 -0
  46. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/enabled.js +4 -4
  47. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +51 -114
  48. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +84 -36
  49. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +4 -67
  50. data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +244 -1
  51. data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +1 -1
  52. data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +1 -1
  53. data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +7 -1
  54. data/lib/frameworks/sproutcore/frameworks/datastore/system/child_array.js +1 -1
  55. data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +2 -2
  56. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/normalize.js +23 -1
  57. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChanges.js +4 -2
  58. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +4 -0
  59. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/discardChanges.js +4 -1
  60. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/record_type_is.js +4 -0
  61. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_comparisons.js +4 -0
  62. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_query_extensions.js +4 -0
  63. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +4 -0
  64. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +5 -1
  65. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/destroyRecord.js +5 -1
  66. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/loadRecord.js +64 -0
  67. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/recordDidChange.js +38 -35
  68. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/unloadRecords.js +4 -0
  69. data/lib/frameworks/sproutcore/frameworks/datetime/system/datetime.js +7 -4
  70. data/lib/frameworks/sproutcore/frameworks/datetime/tests/system/datetime.js +2 -2
  71. data/lib/frameworks/sproutcore/frameworks/debug/core.js +1 -1
  72. data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +5 -5
  73. data/lib/frameworks/sproutcore/frameworks/designer/coders/object.js +1 -1
  74. data/lib/frameworks/sproutcore/frameworks/designer/designers/view_designer.js +11 -3
  75. data/lib/frameworks/sproutcore/frameworks/designer/ext/binding.js +33 -0
  76. data/lib/frameworks/sproutcore/frameworks/designer/ext/object.js +1 -1
  77. data/lib/frameworks/sproutcore/frameworks/designer/ext/page.js +5 -33
  78. data/lib/frameworks/sproutcore/frameworks/designer/ext/view.js +0 -27
  79. data/lib/frameworks/sproutcore/frameworks/designer/tests/coders/page.js +54 -0
  80. data/lib/frameworks/sproutcore/frameworks/designer/tests/designers/view_designer.js +47 -0
  81. data/lib/frameworks/sproutcore/frameworks/designer/views/drawing.js +4 -4
  82. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +19 -6
  83. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +1 -1
  84. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/navigation_builder.js +1 -1
  85. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +1 -1
  86. data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +133 -39
  87. data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +3 -3
  88. data/lib/frameworks/sproutcore/frameworks/desktop/tests/mixins/border.js +6 -5
  89. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +8 -2
  90. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/ui.js +10 -2
  91. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +8 -2
  92. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/ui.js +10 -2
  93. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/ui_diagram.js +15 -9
  94. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +8 -2
  95. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/ui.js +8 -2
  96. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +10 -2
  97. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +10 -2
  98. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/methods.js +31 -0
  99. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +10 -3
  100. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/separator.js +10 -3
  101. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/ui.js +10 -3
  102. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +15 -8
  103. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/ui.js +10 -3
  104. data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +1 -1
  105. data/lib/frameworks/sproutcore/frameworks/desktop/views/file.js +1 -1
  106. data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +1 -7
  107. data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +10 -0
  108. data/lib/frameworks/sproutcore/frameworks/desktop/views/toolbar.js +3 -3
  109. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/collection_content.js +2 -2
  110. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +17 -5
  111. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inner_frame.js +60 -27
  112. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/canvas_image.js +1 -1
  113. data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +4 -4
  114. data/lib/frameworks/sproutcore/frameworks/foundation/system/cookie.js +29 -18
  115. data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +18 -18
  116. data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +5 -5
  117. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/misc.js +62 -1
  118. data/lib/frameworks/sproutcore/frameworks/foundation/tests/integration/creating_views.js +8 -3
  119. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/ui.js +4 -3
  120. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/editable/ui.js +5 -3
  121. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/ui.js +5 -3
  122. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/cookie.js +20 -4
  123. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +235 -0
  124. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +5 -0
  125. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +0 -2
  126. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +8 -3
  127. data/lib/frameworks/sproutcore/frameworks/foundation/views/container.js +2 -2
  128. data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +19 -11
  129. data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +6 -13
  130. data/lib/frameworks/sproutcore/frameworks/handlebars/extensions.js +23 -117
  131. data/lib/frameworks/sproutcore/frameworks/handlebars/extensions/bind.js +136 -0
  132. data/lib/frameworks/sproutcore/frameworks/handlebars/extensions/collection.js +75 -0
  133. data/lib/frameworks/sproutcore/frameworks/handlebars/extensions/localization.js +5 -0
  134. data/lib/frameworks/sproutcore/frameworks/handlebars/extensions/view.js +115 -0
  135. data/lib/frameworks/sproutcore/frameworks/handlebars/handlebars.js +143 -80
  136. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +1 -1
  137. data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +4 -4
  138. data/lib/frameworks/sproutcore/frameworks/media/views/video.js +5 -5
  139. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array.js +14 -0
  140. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +1 -1
  141. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +13 -13
  142. data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +4 -4
  143. data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +3 -3
  144. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/array.js +1 -1
  145. data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +25 -17
  146. data/lib/frameworks/sproutcore/themes/ace/designs/psds/panel/pointers.psd +0 -0
  147. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +18 -12
  148. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/button.css +30 -16
  149. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/button.css +27 -15
  150. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +5 -0
  151. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/button.css +8 -0
  152. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/button.css +25 -16
  153. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/button.css +21 -15
  154. data/lib/frameworks/sproutcore/themes/ace/resources/imagebutton/ace/imagebutton.css +11 -0
  155. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/panel.png +0 -0
  156. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.css +41 -0
  157. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/pointers.png +0 -0
  158. data/lib/sproutcore.rb +2 -0
  159. data/lib/sproutcore/buildfile.rb +17 -17
  160. data/lib/sproutcore/buildfile/task.rb +4 -12
  161. data/lib/sproutcore/buildfile/task_manager.rb +13 -4
  162. data/lib/sproutcore/models/manifest.rb +3 -3
  163. data/lib/sproutcore/models/target.rb +1 -1
  164. data/spec/fixtures/real_world/Buildfile +1 -1
  165. data/vendor/chance/lib/chance/imagers/data_url.rb +38 -19
  166. data/vendor/chance/lib/chance/instance.rb +4 -7
  167. data/vendor/chance/lib/chance/slicing.rb +6 -10
  168. metadata +18 -5
  169. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/tabbed.css +0 -68
  170. data/lib/frameworks/sproutcore/frameworks/designer/coders/localization.js +0 -19
  171. data/lib/sproutcore/buildfile/cloneable.rb +0 -34
@@ -12,8 +12,6 @@ module SC
12
12
  # Rake 0.8.3
13
13
  #
14
14
  class Buildfile::Task
15
- include Cloneable
16
-
17
15
  # List of prerequisites for a task.
18
16
  attr_reader :prerequisites
19
17
 
@@ -64,16 +62,10 @@ module SC
64
62
  @sources.first if defined?(@sources)
65
63
  end
66
64
 
67
- IGNORE = %w(@application)
68
- def dup(app=nil)
69
- app = application if app.nil?
70
- sibling = self.class.new(name, app)
71
- self.instance_variables.each do |key|
72
- next if IGNORE.include?(key.to_s) # instance_variables is an array of symbols in Ruby 1.9
73
- sibling.instance_variable_set(key, self.instance_variable_get(key))
74
- end
75
- sibling.taint if tainted?
76
- sibling
65
+ def dup(app=application)
66
+ ret = super()
67
+ ret.application = app
68
+ return ret
77
69
  end
78
70
 
79
71
  # Create a task named +task_name+ with no actions or prerequisites. Use
@@ -15,15 +15,23 @@ module SC
15
15
 
16
16
  attr_accessor :last_task_options
17
17
 
18
+ attr_accessor :tasks
19
+ protected :tasks, :tasks=
20
+
18
21
  def initialize
19
22
  super
20
- @task_cache = Hash.new {|h,k| h[k] = {} }
21
- @tasks = Hash.new
22
- @rules = Array.new
23
- @scope = Array.new
23
+ @task_cache = {}
24
+ @tasks = {}
25
+ @rules = []
26
+ @scope = []
24
27
  @last_description = nil
25
28
  end
26
29
 
30
+ def initialize_copy(*)
31
+ @task_cache = {}
32
+ super
33
+ end
34
+
27
35
  def create_rule(*args, &block)
28
36
  pattern, arg_names, deps = resolve_args(args)
29
37
  pattern = Regexp.new(Regexp.quote(pattern) + '$') if String === pattern
@@ -135,6 +143,7 @@ module SC
135
143
  # are recognized. If no scope argument is supplied, use the
136
144
  # current scope. Return nil if the task cannot be found.
137
145
  def lookup(task_name, initial_scope=nil)
146
+ @task_cache[initial_scope] ||= {}
138
147
  @task_cache[initial_scope][task_name] ||= begin
139
148
  initial_scope ||= @scope
140
149
  task_name = task_name.to_s
@@ -310,7 +310,7 @@ module SC
310
310
  entry_extname = entry_rootname = ret = target_name = nil
311
311
 
312
312
  # optionally you can specify an explicit target name
313
- split_index = fragment.index(':') # find first index
313
+ split_index = fragment.to_s.index(':') # find first index
314
314
  unless split_index.nil?
315
315
  target_name = '/' + fragment[0..(split_index-1)] if split_index>0
316
316
  fragment = fragment[(split_index+1)..-1] # remove colon
@@ -324,11 +324,11 @@ module SC
324
324
  cur_manifest = self
325
325
  end
326
326
 
327
- extname = File.extname(fragment)
327
+ extname = File.extname(fragment.to_s)
328
328
  extname = nil if extname.empty?
329
329
 
330
330
  # Add leading slash and remove extension
331
- rootname = fragment.sub(/\/?/, '/').sub(/#{extname}$/, '')
331
+ rootname = fragment.to_s.sub(/\/?/, '/').sub(/#{extname}$/, '')
332
332
 
333
333
  # look on our own target only if target is named
334
334
  ret = cur_manifest.entries(opts).find do |entry|
@@ -199,7 +199,7 @@ module SC
199
199
  reqs = project.targets.values.select { |target| target[:target_type] == :module }
200
200
 
201
201
  reqs = reqs.select do |target|
202
- target[:target_name].match(/^\/?#{self[:target_name]}/)
202
+ target[:target_name].to_s.match(/^\/?#{self[:target_name]}/)
203
203
  end
204
204
 
205
205
  ret = ret.concat(reqs)
@@ -19,4 +19,4 @@ config :photos, :inlined_modules => ['photos/preferences'],
19
19
 
20
20
  config :mobile_photos, :required => 'sproutcore/mobile'
21
21
 
22
- config :account, :prefetched_modules => ['account/preferences'],
22
+ config :account, :prefetched_modules => ['account/preferences']
@@ -27,42 +27,60 @@ module Chance
27
27
 
28
28
  end
29
29
 
30
- def postprocess_css(src, slices)
31
- src.gsub (/_sc_chance\:\s*["'](.*)["']\s*;/) {|match|
32
- slice = slices[$1]
30
+ def base64_image_for(slice)
33
31
 
34
- output = 'background: url("data:image/png;base64,'
32
+ # ChunkyPNG & RMagick images respond to to_blob, other images will be encoded from their contents
33
+ if (slice[:image].respond_to? "to_blob")
34
+ method = slice[:image].method(:to_blob)
35
35
 
36
- base64Image = Base64.encode64(slice[:image].to_blob(:fast_rgba)).gsub("\n", "")
37
- output += base64Image
36
+ # ChunkyPNG takes an argument to to_blob
37
+ slice[:image] = (method.arity == 1) ? slice[:image].to_blob(:fast_rgba) : slice[:image].to_blob
38
+ end
38
39
 
39
- output += '");'
40
- output += "\n"
40
+ Base64.encode64(slice[:image]).gsub("\n", "")
41
+ end
42
+
43
+ def data_uri_for(slice)
44
+ output = 'background: url('
45
+
46
+ # set the mime type from the extension (while taking care of .jpg extensions)
47
+ mimeType = (slice[:path] =~ /jpg$/) ? "image/jpeg" : "image/" + slice[:path].slice(/(gif|jpeg|png)$/)
48
+
49
+ output += '"data:' + mimeType
50
+ output += ';base64,'
51
+
52
+ base64Image = base64_image_for(slice)
53
+
54
+ output += base64Image
55
+
56
+ output += '");'
57
+ end
58
+
59
+ def postprocess_css(src, slices)
60
+ src.gsub(/_sc_chance\:\s*["'](.*)["']\s*;/) do |match|
61
+ slice = slices[$1]
62
+
63
+ output = data_uri_for(slice)
41
64
 
42
65
  # FOR IE < 8:
43
- output += '*background: url("mhtml:chance-mhtml.txt!' + slice[:css_name] + '");'
66
+ output += '\n*background: url("mhtml:chance-mhtml.txt!' + slice[:css_name] + '");'
44
67
  output += "\n"
45
68
 
46
69
  output
47
- }
70
+ end
48
71
  end
49
72
 
50
73
  def postprocess_css_2x(src, slices)
51
- src.gsub (/_sc_chance\:\s*["'](.*)["']\s*;/) {|match|
74
+ src.gsub(/_sc_chance\:\s*["'](.*)["']\s*;/) do |match|
52
75
  slice = slices[$1]
53
76
 
54
- output = 'background: url("data:image/png;base64,'
55
-
56
- base64Image = Base64.encode64(slice[:image].to_blob(:fast_rgba)).gsub("\n", "")
57
- output += base64Image
58
-
59
- output += '");'
77
+ output = data_uri_for(slice)
60
78
 
61
79
  output += "\n-webkit-background-size: " + slice[:target_width].to_s + "px "
62
80
  output += slice[:target_height].to_s + "px;\n"
63
81
 
64
82
  output
65
- }
83
+ end
66
84
  end
67
85
 
68
86
  def preload_javascript
@@ -82,7 +100,8 @@ module Chance
82
100
  output += "Content-Location:" + slice[:css_name] + "\r\n"
83
101
  output += "Content-Transfer-Encoding:base64\r\n\r\n"
84
102
 
85
- base64Image = Base64.encode64(slice[:image].to_blob(:fast_rgba)).gsub("\n", "")
103
+ base64Image = base64_image_for(slice)
104
+
86
105
  output += base64Image
87
106
  output += "\r\n"
88
107
 
@@ -8,6 +8,7 @@ require 'chance/sass_extensions'
8
8
  require 'chance/perf'
9
9
  require 'chance/slicing'
10
10
 
11
+ require 'digest/md5'
11
12
 
12
13
 
13
14
  Compass.discover_extensions!
@@ -217,7 +218,7 @@ module Chance
217
218
  # its method of determing the current file name is a marker in the
218
219
  # file. We may want to consider changing this to a parser option
219
220
  # now that we don't need this feature so much, but this works for now.
220
- content = "@_chance_file " + @mapped_files.key(file[:path]) + ";\n"
221
+ content = "@_chance_file " + @mapped_files.invert[file[:path]] + ";\n"
221
222
  content += "$theme: '" + @options[:theme] + "';"
222
223
  content += file[:content]
223
224
 
@@ -229,13 +230,9 @@ module Chance
229
230
  #if Chance::SUPPORTS_IMPORTERS
230
231
  # css = "@import \"" + file [:path] + ".scss\";"
231
232
  #else
232
- tmp_path = File.join("./tmp/chance/", file[:path])
233
-
234
- # SCSS requires the file names to end with ".scss", but we may
235
- # already be getting files named *.scss. So, only add the extension
236
- # if it is not already there.
237
- tmp_path += ".scss" unless tmp_path.end_with? ".scss"
238
233
 
234
+ path_hash = Digest::MD5.hexdigest(file[:path])
235
+ tmp_path = "./tmp/chance/#{path_hash}.scss"
239
236
  FileUtils.mkdir_p(File.dirname(tmp_path))
240
237
 
241
238
  f = File.new(tmp_path, "w")
@@ -44,17 +44,11 @@ module Chance
44
44
 
45
45
  raise "File does not exist: " + slice[:path] unless file
46
46
 
47
- # we should have already loaded a chunkypng canvas for the png
48
- canvas = file[:content]
49
- rect = slice_rect(slice, canvas.width, canvas.height)
50
- # we should have already loaded a chunkypng canvas for the png
51
- canvas = file[:content]
52
- rect = slice_rect(slice, canvas.width / f, canvas.height / f)
53
47
  if slice[:path] =~ /png$/
54
48
  # we should have already loaded a chunkypng canvas for the png
55
49
  canvas = file[:content]
56
50
 
57
- rect = slice_rect(slice, canvas.width, canvas.height)
51
+ rect = slice_rect(slice, canvas.width / f, canvas.height / f)
58
52
  else
59
53
 
60
54
  # If we're trying to slice a non-PNG, attempt to process the file with RMagick
@@ -71,7 +65,7 @@ module Chance
71
65
  rescue Exception
72
66
 
73
67
  # Warns only if there are slice directives on an un-sliceable image
74
- SC.logger.warn "Chance only supports slicing of PNG images, the image '#{slice[:filename]}' will be embedded unsliced"
68
+ SC.logger.warn "Chance only supports slicing of PNG images without RMagick, the image '#{slice[:filename]}' will be embedded unsliced"
75
69
 
76
70
  # Use the whole image instead
77
71
  canvas = file[:content]
@@ -88,8 +82,10 @@ module Chance
88
82
  canvas = canvas.crop(rect[:left] * f, rect[:top] * f, rect[:width] * f, rect[:height] * f)
89
83
  end
90
84
 
91
- slice[:target_width] = canvas.width / f
92
- slice[:target_height] = canvas.height / f
85
+ if slice[:path] =~ /png$/
86
+ slice[:target_width] = canvas.width / f
87
+ slice[:target_height] = canvas.height / f
88
+ end
93
89
 
94
90
  slice[:x2] = slice_is_x2
95
91
  slice[:image] = canvas
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: sproutcore
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: 6
5
- version: 1.5.0.pre.4.1
5
+ version: 1.5.0.pre.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Strobe, Inc., Apple Inc. and contributors
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-01 00:00:00 -08:00
13
+ date: 2011-03-16 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -356,7 +356,6 @@ files:
356
356
  - lib/sproutcore/buildfile.rb
357
357
  - lib/sproutcore/buildfile/build_task.rb
358
358
  - lib/sproutcore/buildfile/buildfile_dsl.rb
359
- - lib/sproutcore/buildfile/cloneable.rb
360
359
  - lib/sproutcore/buildfile/early_time.rb
361
360
  - lib/sproutcore/buildfile/invocation_chain.rb
362
361
  - lib/sproutcore/buildfile/namespace.rb
@@ -934,7 +933,6 @@ files:
934
933
  - lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/modal.css
935
934
  - lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/picker.css
936
935
  - lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/search.css
937
- - lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/tabbed.css
938
936
  - lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/text-field.css
939
937
  - lib/frameworks/sproutcore/apps/greenhouse/english.lproj/dialogs.js
940
938
  - lib/frameworks/sproutcore/apps/greenhouse/english.lproj/fonts/museosans_500.eot
@@ -1243,6 +1241,7 @@ files:
1243
1241
  - lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/core_query/within.js
1244
1242
  - lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/json.js
1245
1243
  - lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/locale.js
1244
+ - lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/ready/done.js
1246
1245
  - lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/begin.js
1247
1246
  - lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/element.js
1248
1247
  - lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/end.js
@@ -1426,6 +1425,7 @@ files:
1426
1425
  - lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/error_methods.js
1427
1426
  - lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/find.js
1428
1427
  - lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/init.js
1428
+ - lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/loadRecord.js
1429
1429
  - lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js
1430
1430
  - lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js
1431
1431
  - lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/readEditableDataHash.js
@@ -1440,7 +1440,6 @@ files:
1440
1440
  - lib/frameworks/sproutcore/frameworks/debug/core.js
1441
1441
  - lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js
1442
1442
  - lib/frameworks/sproutcore/frameworks/designer/coders/design.js
1443
- - lib/frameworks/sproutcore/frameworks/designer/coders/localization.js
1444
1443
  - lib/frameworks/sproutcore/frameworks/designer/coders/object.js
1445
1444
  - lib/frameworks/sproutcore/frameworks/designer/controllers/controllers.js
1446
1445
  - lib/frameworks/sproutcore/frameworks/designer/controllers/design.js
@@ -1471,11 +1470,14 @@ files:
1471
1470
  - lib/frameworks/sproutcore/frameworks/designer/english.lproj/images/pane.png
1472
1471
  - lib/frameworks/sproutcore/frameworks/designer/english.lproj/images/view.png
1473
1472
  - lib/frameworks/sproutcore/frameworks/designer/english.lproj/selection_handles.css
1473
+ - lib/frameworks/sproutcore/frameworks/designer/ext/binding.js
1474
1474
  - lib/frameworks/sproutcore/frameworks/designer/ext/object.js
1475
1475
  - lib/frameworks/sproutcore/frameworks/designer/ext/page.js
1476
1476
  - lib/frameworks/sproutcore/frameworks/designer/ext/view.js
1477
1477
  - lib/frameworks/sproutcore/frameworks/designer/mixins/button.js
1478
1478
  - lib/frameworks/sproutcore/frameworks/designer/mixins/snap_lines.js
1479
+ - lib/frameworks/sproutcore/frameworks/designer/tests/coders/page.js
1480
+ - lib/frameworks/sproutcore/frameworks/designer/tests/designers/view_designer.js
1479
1481
  - lib/frameworks/sproutcore/frameworks/designer/views/designer_drop_target.js
1480
1482
  - lib/frameworks/sproutcore/frameworks/designer/views/drawing.js
1481
1483
  - lib/frameworks/sproutcore/frameworks/designer/views/high_light.js
@@ -1804,6 +1806,7 @@ files:
1804
1806
  - lib/frameworks/sproutcore/frameworks/foundation/tests/system/routes.js
1805
1807
  - lib/frameworks/sproutcore/frameworks/foundation/tests/system/task_queue.js
1806
1808
  - lib/frameworks/sproutcore/frameworks/foundation/tests/system/user_defaults.js
1809
+ - lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js
1807
1810
  - lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/range.js
1808
1811
  - lib/frameworks/sproutcore/frameworks/foundation/tests/validators/credit_card.js
1809
1812
  - lib/frameworks/sproutcore/frameworks/foundation/tests/validators/date.js
@@ -1832,6 +1835,10 @@ files:
1832
1835
  - lib/frameworks/sproutcore/frameworks/foundation/views/image.js
1833
1836
  - lib/frameworks/sproutcore/frameworks/foundation/views/label.js
1834
1837
  - lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js
1838
+ - lib/frameworks/sproutcore/frameworks/handlebars/extensions/bind.js
1839
+ - lib/frameworks/sproutcore/frameworks/handlebars/extensions/collection.js
1840
+ - lib/frameworks/sproutcore/frameworks/handlebars/extensions/localization.js
1841
+ - lib/frameworks/sproutcore/frameworks/handlebars/extensions/view.js
1835
1842
  - lib/frameworks/sproutcore/frameworks/handlebars/extensions.js
1836
1843
  - lib/frameworks/sproutcore/frameworks/handlebars/handlebars.js
1837
1844
  - lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js
@@ -1862,6 +1869,7 @@ files:
1862
1869
  - lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js
1863
1870
  - lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/shiftObject.js
1864
1871
  - lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/unshiftObject.js
1872
+ - lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array.js
1865
1873
  - lib/frameworks/sproutcore/frameworks/runtime/license.js
1866
1874
  - lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js
1867
1875
  - lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
@@ -2054,6 +2062,7 @@ files:
2054
2062
  - lib/frameworks/sproutcore/themes/ace/designs/psds/menu/menu_item.psd
2055
2063
  - lib/frameworks/sproutcore/themes/ace/designs/psds/menu/up.psd
2056
2064
  - lib/frameworks/sproutcore/themes/ace/designs/psds/panel/panel.psd
2065
+ - lib/frameworks/sproutcore/themes/ace/designs/psds/panel/pointers.psd
2057
2066
  - lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover.psd
2058
2067
  - lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_empty.psd
2059
2068
  - lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_notoolbar.psd
@@ -2193,6 +2202,7 @@ files:
2193
2202
  - lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_closed_active.png
2194
2203
  - lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_open.png
2195
2204
  - lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_open_active.png
2205
+ - lib/frameworks/sproutcore/themes/ace/resources/imagebutton/ace/imagebutton.css
2196
2206
  - lib/frameworks/sproutcore/themes/ace/resources/loading.css
2197
2207
  - lib/frameworks/sproutcore/themes/ace/resources/master-detail/master-detail.css
2198
2208
  - lib/frameworks/sproutcore/themes/ace/resources/menu/checkmark.png
@@ -2206,7 +2216,10 @@ files:
2206
2216
  - lib/frameworks/sproutcore/themes/ace/resources/panel/panel.css
2207
2217
  - lib/frameworks/sproutcore/themes/ace/resources/panel/panel.js
2208
2218
  - lib/frameworks/sproutcore/themes/ace/resources/panel/panel.png
2219
+ - lib/frameworks/sproutcore/themes/ace/resources/picker/ace/panel.png
2220
+ - lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.css
2209
2221
  - lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.js
2222
+ - lib/frameworks/sproutcore/themes/ace/resources/picker/ace/pointers.png
2210
2223
  - lib/frameworks/sproutcore/themes/ace/resources/picker/popover/picker.js
2211
2224
  - lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.css
2212
2225
  - lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.js
@@ -1,68 +0,0 @@
1
- /*
2
- ==========================================================================
3
- Project: Greenhouse - Custom Tabbed Buttons
4
- Author: Matt Grantham - @MattGrantham
5
- ==========================================================================
6
- */
7
-
8
- /* Regular */
9
-
10
- .sc-theme .sc-button-view.sc-regular-size.square.dark {
11
- background: static_url('images/buttons/dark/regular-r.png') no-repeat right;
12
- }
13
-
14
- .sc-theme .sc-button-view.sc-regular-size.square.dark .sc-button-inner {
15
- background: static_url('images/buttons/dark/regular-l.png') no-repeat;
16
- }
17
- .sc-theme .sc-button-view.sc-regular-size.square.dark .sc-button-label {
18
- background: static_url('images/buttons/dark/regular-m.png') repeat-x;
19
- margin-left: 5px;
20
- margin-right: 5px;
21
- color: #fff;
22
- text-shadow: 0 1px 0 #242424;
23
- }
24
-
25
- /* Active */
26
- .sc-theme .sc-button-view.sc-regular-size.square.active.dark {
27
- background: static_url('images/buttons/dark/active-r.png') no-repeat right;
28
- }
29
- .sc-theme .sc-button-view.sc-regular-size.square.active.dark .sc-button-inner {
30
- background: static_url('images/buttons/dark/active-l.png') no-repeat;
31
- }
32
- .sc-theme .sc-button-view.sc-regular-size.square.active.dark .sc-button-label {
33
- background: static_url('images/buttons/dark/active-m.png') repeat-x;
34
- color: #d0d0d0;
35
- text-shadow: 0 -1px 0 #242424;
36
- }
37
-
38
- /* Selected */
39
- .sc-theme .sc-button-view.sc-regular-size.square.dark.sel {
40
- background: static_url('images/buttons/dark/sel-r.png') no-repeat right;
41
- }
42
-
43
- .sc-theme .sc-button-view.sc-regular-size.square.dark.sel .sc-button-inner {
44
- background: static_url('images/buttons/dark/sel-l.png') no-repeat;
45
- }
46
- .sc-theme .sc-button-view.sc-regular-size.square.dark.sel .sc-button-label {
47
- background: static_url('images/buttons/dark/sel-m.png') repeat-x;
48
- margin-left: 5px;
49
- margin-right: 5px;
50
- color: #fff;
51
- text-shadow: 0 1px 0 #242424;
52
- }
53
-
54
- /* Selected - Active*/
55
- .sc-theme .sc-button-view.sc-regular-size.square.dark.sel.active {
56
- background: static_url('images/buttons/dark/sel-active-r.png') no-repeat right;
57
- }
58
-
59
- .sc-theme .sc-button-view.sc-regular-size.square.dark.sel.active .sc-button-inner {
60
- background: static_url('images/buttons/dark/sel-active-l.png') no-repeat;
61
- }
62
- .sc-theme .sc-button-view.sc-regular-size.square.dark.sel.active .sc-button-label {
63
- background: static_url('images/buttons/dark/sel-active-m.png') repeat-x;
64
- margin-left: 5px;
65
- margin-right: 5px;
66
- color: #fff;
67
- text-shadow: 0 1px 0 #242424;
68
- }