2007-04-27 Mark Rowe <mrowe@apple.com>
[WebKit-https.git] / JavaScriptGlue / ChangeLog
1 2007-04-27  Mark Rowe  <mrowe@apple.com>
2
3         Reviewed by Oliver.
4
5         * JavaScriptGlue.xcodeproj/project.pbxproj: Improve dependencies in Xcode project
6         by marking JavaScriptGlue as a dependency of testjsglue.
7
8 2007-03-24  Mark Rowe  <mrowe@apple.com>
9
10         Reviewed by Dave Hyatt.
11
12         * JavaScriptGlue.xcodeproj/project.pbxproj: Use GCC 4.0 for testjsglue.
13
14 2007-03-24  Mark Rowe  <mrowe@apple.com>
15
16         Rubber-stamped by Darin.
17
18         * Configurations/JavaScriptGlue.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
19
20 2007-03-19  Andrew Wellington  <proton@wiretapped.net>
21
22         Reviewed by Maciej.
23
24         Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
25
26         * JavaScriptGlue.xcodeproj/project.pbxproj:
27
28 2007-03-18  Andrew Wellington  <proton@wiretapped.net>
29
30         Reviewed by Mark Rowe
31         
32         Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
33
34         * JavaScriptGlue.xcodeproj/project.pbxproj:
35
36 2007-03-17  Timothy Hatcher  <timothy@apple.com>
37
38         Reviewed by Mark Rowe.
39
40         Made Version.xcconfig smarter when building for different configurations.
41         Now uses the 522+ OpenSource version for Debug and Release, while using the    
42         full 522.4 version for Production builds. The system prefix is also computed
43         based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
44
45         * Configurations/JavaScriptGlue.xcconfig:
46         * Configurations/Version.xcconfig:
47
48 2007-03-15  Timothy Hatcher  <timothy@apple.com>
49
50         Reviewed by John.
51
52         * Factored out most of our common build settings into .xcconfig files. Anything that was common in
53           each build configuration was factored out into the shared .xcconfig file.
54         * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
55         * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
56         * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
57
58         * Configurations/Base.xcconfig: Added.
59         * Configurations/DebugRelease.xcconfig: Added.
60         * Configurations/JavaScriptGlue.xcconfig: Added.
61         * Configurations/Version.xcconfig: Added.
62         * Info.plist:
63         * JavaScriptGlue.xcodeproj/project.pbxproj:
64
65 === Safari-5522.4 ===
66
67 2007-03-12  Geoffrey Garen  <ggaren@apple.com>
68
69         Reviewed by Oliver Hunt.
70         
71         Updated in light of fix for <rdar://problem/4681051> Installer crashes 
72         in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*) 
73         trying to install iLife 06 using Rosetta on an Intel Machine
74         
75         * JavaScriptGlue.cpp:
76         (JSLockInterpreter): Ensure backwards compatibility by calling 
77         registerThread() when explicitly taking the JSLock. (This doesn't happen 
78         automatically anymore.) I doubt this actally matters, but in JavaScriptGlue
79         territory, that kind of thinking will get you killed.
80
81 2007-03-06  Geoffrey Garen  <ggaren@apple.com>
82
83         Reviewed by Maciej Stachowiak.
84
85         Fixed all known crashers exposed by run-webkit-tests --threaded while using
86         a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for 
87         more details.
88
89         * JSBase.cpp:
90         (JSBase::Release): Lock when deleting, because we may be deleting an object
91         (like a JSRun) that holds thread-unsafe data.
92
93         * JSUtils.cpp:
94         (CFStringToUString): Don't lock, because our caller locks. Also, locking
95         inside a function that returns thread-unsafe data by copy will only mask
96         threading problems.
97
98         * JavaScriptGlue.cpp:
99         (JSRunEvaluate): Added missing JSLock.
100         (JSRunCheckSyntax): Converted to JSLock.
101         * JavaScriptGlue.xcodeproj/project.pbxproj:
102
103 2007-02-22  Geoffrey Garen  <ggaren@apple.com>
104
105         Reviewed by Darin Adler.
106         
107         Fixed <rdar://problem/4942528> Installer.app Stuck "Examining additional 
108         volumes..."
109         
110         The problem was that JavaScriptGlue held a JSObject in a static pointer
111         without protecting it from garbage collection. 
112         
113             sUserObjectPrototypeImp  = new UserObjectPrototypeImp();
114             static ProtectedPtr<UserObjectPrototypeImp> protectPrototype; // valiant, brave, but useless
115
116         Through an interesting comedy of errors, this object would be collected 
117         and then assigned as the prototype of another object allocated at the 
118         same address, thus becoming its own prototype. (See http://www.ziplo.com/grandpa.htm
119         for further explanation of this phenomenon.) Hence the infinte loop in 
120         property lookup.
121         
122         The solution is equally humorous: all of this code was completely useless --
123         it only served to create an empty object in the prototype chain -- so
124         I just removed it.
125
126         * UserObjectImp.cpp:
127         (UserObjectImp::UserObjectImp):
128         * UserObjectImp.h:
129
130 2007-02-19  Timothy Hatcher  <timothy@apple.com>
131
132         Reviewed by Geoff.
133
134         <rdar://problem/4636301> Deprecate JavaScriptGlue
135
136         * JavaScriptGlue.h: adds DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER to everything
137         * JavaScriptGlue.xcodeproj/project.pbxproj: use -Wno-deprecated-declarations to keep the project building
138         * config.h: define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER as empty on other systems
139
140 2007-02-16  Darin Adler  <darin@apple.com>
141
142         Reviewed by Anders.
143
144         - fix <rdar://problem/5000216> JavaScriptGlue framework started turning all CFNumbers
145           into signed 32bit values
146
147         Circumstantial evidence seems to indicate that JavaScriptGlue was depending on a bug
148         in CFNumber where CFNumberIsFloatType was returning true for 64-bit integer values.
149
150         * JSUtils.cpp: (JSObjectKJSValue): Removed the call to CFNumberIsFloatType in the
151         conversion of numeric values, and always use kCFNumberDoubleType, since double is
152         the internal format of numbers in JavaScriptCore. There's no value to having a
153         separate code path for integers. There's also no reason to check the return value
154         from CFNumberGetValue -- if it returns false it still does the best it can to convert
155         to a double, which is what we want.
156
157         * UserObjectImp.cpp: (UserObjectImp::toString): Removed a similar code path that
158         tried to handle integers separate from double. Instead, always use a double. For
159         compatibility, use a format without a decimal point when CFNumberIsFloatType returns
160         false. Also removed a bogus cast to float; the "%f" format string takes a double,
161         not a float, so all the cast did was cut down on precision.
162
163 2007-01-25  Mark Rowe  <mrowe@apple.com>
164
165         Reviewed by Maciej.
166
167         * Info.plist: Update copyright string.
168
169 2006-12-19  Timothy Hatcher  <timothy@apple.com>
170
171         Reviewed by Darin.
172
173         <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
174
175         * JavaScriptGlue.xcodeproj/project.pbxproj:
176
177 === Safari-521.26 ===
178
179 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
180
181         Reviewed by Tim H.
182
183         Build fix:  DWARF and -gfull are incompatible with symbol separation.
184
185         * JavaScriptGlue.xcodeproj/project.pbxproj:
186
187 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
188
189         Reviewed by Tim H.
190
191         http://bugs.webkit.org/show_bug.cgi?id=10394
192         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
193
194         * JavaScriptGlue.xcodeproj/project.pbxproj:
195
196 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
197
198         Reviewed by Tim H.
199
200         http://bugs.webkit.org/show_bug.cgi?id=10384
201         Bug 10384: Switch to DWARF for Release configuration
202
203         * JavaScriptGlue.xcodeproj/project.pbxproj:
204
205 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
206
207         Reviewed by Darin.
208
209         - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
210           Make WebCore (and friends) compile with -Wshorten-64-to-32
211
212           * Adds -Wshorten-64-to-32 flag to Xcode project.
213
214         * JavaScriptGlue.xcodeproj/project.pbxproj:
215
216 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
217
218         Reviewed by Darin.
219
220         - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
221           Make WebCore compile with -Wundef
222
223           * Adds -Wundef flag to Xcode project
224
225         * JavaScriptGlue.xcodeproj/project.pbxproj:
226
227 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
228
229         Reviewed by Darin.
230
231         - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
232           Adopt pedantic changes from the Unity project to improve 
233           cross-compiler compatibility
234
235           Changes include:
236           * Turning on gcc warning for missing newline at the end of a source file
237             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
238
239         * JavaScriptGlue.xcodeproj/project.pbxproj:
240
241 === Safari-521.19 ===
242
243 2006-07-19  Geoffrey Garen  <ggaren@apple.com>
244
245         Fixed by Darin & Maciej, reviewed by me.
246         
247         - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right 
248         after LCA and while preparing Installation
249
250         Compile release/production with NDEBUG set, to ensure binary compatibility
251         between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore 
252         includes an extra debug data member in HashSet.
253         
254         * JavaScriptGlue.xcodeproj/project.pbxproj:
255
256 === Safari-521.18 ===
257
258 2006-07-15  Maciej Stachowiak  <mjs@apple.com>
259
260         Reviewed by Darin.
261
262         - switch property lists to be vector+set of Identifiers instead of list of References
263         
264         * JSUtils.cpp:
265         (KJSValueToCFTypeInternal): updated for JSC SPI changes
266         * JSValueWrapper.cpp:
267         (JSValueWrapper::JSObjectCopyPropertyNames): ditto
268         * UserObjectImp.cpp:
269         (UserObjectImp::getPropertyNames): ditto
270         * UserObjectImp.h:
271
272 === Safari-521.17 ===
273
274 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
275
276         Reviewed by Maciej.
277         
278         - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.
279
280         (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
281         manual delete.
282
283 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
284
285         Build fix
286         
287         * JSUtils.cpp:
288         (KJSValueToCFTypeInternal):
289         * JSValueWrapper.cpp:
290         (JSValueWrapper::JSObjectCopyPropertyNames):
291         * UserObjectImp.cpp:
292         (UserObjectImp::getPropertyList):
293         
294 === Safari-521.15 ===
295
296 2006-07-07  Geoffrey Garen  <ggaren@apple.com>
297
298         - build fix
299
300         * JSUtils.cpp:
301         (KJSValueToCFTypeInternal):
302         * JSValueWrapper.cpp:
303         (JSValueWrapper::JSObjectCopyPropertyNames):
304
305 2006-07-03  Geoffrey Garen  <ggaren@apple.com>
306
307         Reviewed by Maciej.
308         
309         * JSRun.cpp:
310         (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
311         * JavaScriptGlue.xcodeproj/project.pbxproj:
312
313 === Safari-521.14 ===
314
315 2006-06-28  Timothy Hatcher  <timothy@apple.com>
316
317         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
318
319         * JavaScriptGlue.xcodeproj/project.pbxproj:
320
321 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
322
323         Reviewed by Timothy.
324
325         * Info.plist: Fixed copyright to include 2003-2006.
326
327 === JavaScriptGlue-521.13 ===
328         
329 2006-06-20  Geoffrey Garen  <ggaren@apple.com>
330
331         Reviewed by Anders.
332         
333         - Required for JS API: Rename propList to getPropertyList and have it
334         take its target property list by reference so that subclasses can
335         add properties to the list before calling through to their superclasses.
336
337         * JSUtils.cpp:
338         (KJSValueToCFTypeInternal):
339         * JSValueWrapper.cpp:
340         (JSValueWrapper::JSObjectCopyPropertyNames):
341         * UserObjectImp.cpp:
342         (UserObjectImp::getPropertyList):
343         * UserObjectImp.h:
344
345 2006-06-15  Timothy Hatcher  <timothy@apple.com>
346
347         Reviewed by Geoff and Darin.
348         
349         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
350
351         * JavaScriptGlue.xcodeproj/project.pbxproj:
352
353 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
354
355         Reviewed by TimO, Maciej.
356         
357         - JSGlue part of merging InterpreterImp into Interpreter.
358         
359         Since there's now a kjs forwarding header, I moved all forwarding
360         headers into a "ForwardingHeaders" directory, like in WebCore.
361
362         * ForwardingHeaders: Added.
363         * ForwardingHeaders/kjs: Added.
364         * ForwardingHeaders/kjs/ExecState.h: Added.
365         * ForwardingHeaders/wtf: Added.
366         * JavaScriptGlue.xcodeproj/project.pbxproj:
367         * config.h:
368         * wtf: Removed.
369         * wtf/AlwaysInline.h: Removed.
370         * wtf/Assertions.h: Removed.
371         * wtf/FastMalloc.h: Removed.
372         * wtf/Forward.h: Removed.
373         * wtf/HashCountedSet.h: Removed.
374         * wtf/HashSet.h: Removed.
375         * wtf/Noncopyable.h: Removed.
376         * wtf/OwnArrayPtr.h: Removed.
377         * wtf/OwnPtr.h: Removed.
378         * wtf/PassRefPtr.h: Removed.
379         * wtf/Platform.h: Removed.
380         * wtf/RefPtr.h: Removed.
381         * wtf/Vector.h: Removed.
382
383 === JavaScriptGlue-521.10 ===
384
385 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
386
387         Rubber stamped by Anders.
388         
389         - renamed kxmlcore to wtf
390         
391         kxmlcore --> wtf
392         KXMLCore --> WTF
393         KXC --> WTF
394
395         * config.h:
396         * kxmlcore: Removed.
397         * kxmlcore/AlwaysInline.h: Removed.
398         * kxmlcore/Assertions.h: Removed.
399         * kxmlcore/FastMalloc.h: Removed.
400         * kxmlcore/Forward.h: Removed.
401         * kxmlcore/HashCountedSet.h: Removed.
402         * kxmlcore/HashSet.h: Removed.
403         * kxmlcore/Noncopyable.h: Removed.
404         * kxmlcore/OwnArrayPtr.h: Removed.
405         * kxmlcore/OwnPtr.h: Removed.
406         * kxmlcore/PassRefPtr.h: Removed.
407         * kxmlcore/Platform.h: Removed.
408         * kxmlcore/RefPtr.h: Removed.
409         * kxmlcore/Vector.h: Removed.
410         * wtf: Added.
411
412 2006-04-11  Darin Adler  <darin@apple.com>
413
414         - try to fix Windows build
415
416         * kxmlcore/HashForward.h: Removed.
417
418 2006-04-10  Darin Adler  <darin@apple.com>
419
420         Rubber-stamped by John Sullivan.
421
422         - added forwarding headers for the new Forward.h and HashForward.h files
423
424         * kxmlcore/Forward.h: Added.
425         * kxmlcore/HashForward.h: Added.
426
427 2006-04-04  Timothy Hatcher  <timothy@apple.com>
428
429         Reviewed by Darin.
430
431         The Debug and Release frameworks are now built with install paths relative to the build products directory.
432         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
433
434         * JavaScriptGlue.xcodeproj/project.pbxproj:
435
436 2006-04-02  Eric Seidel  <eseidel@apple.com>
437
438         Reviewed by andersca.
439
440         Add missing forwarding header.
441
442         * kxmlcore/Vector.h: Added.
443
444 2006-03-31  Geoffrey Garen  <ggaren@apple.com>
445
446         Reviewed by Darin.
447
448         - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
449         Composer
450
451         JSValueWrappers used to hold on to the ExecState that pertained at
452         the time of their creation. Since ExecStates are transient, that
453         design was totally bogus, and it would crash once the ExecState had
454         been deallocated.
455
456         Unfortunately, there's no clean solution to this problem, since
457         the JSGlue API has no notion of state. The solution here is to use
458         a shared, global ExecState for the purpose of JSGlue calls. Given
459         the pre-existing limitations in the JSGlue API, this design
460         shouldn't actually introduce any new limitations (see comments in
461         JSValueWrapper.cpp).
462
463         I tested with Quartz Composer and PAC files, neither of which are
464         layout-testable.
465         
466         * JSUtils.cpp:
467         (KJSValueToJSObject):
468         * JSValueWrapper.cpp:
469         (JSValueWrapper::JSValueWrapper):
470         (JSValueWrapper::GetValue):
471         (getProcessGlobalExecState):
472         (JSValueWrapper::JSObjectCopyPropertyNames):
473         (JSValueWrapper::JSObjectCopyProperty):
474         (JSValueWrapper::JSObjectSetProperty):
475         (JSValueWrapper::JSObjectCallFunction):
476         (JSValueWrapper::JSObjectCopyCFValue):
477         * JSValueWrapper.h:
478
479         Also added a test harness file. It was helpful while I was testing,
480         and may come in handy in the future:
481         
482         * JavaScriptGlue.xcodeproj/project.pbxproj:
483         testjsglue.cpp: Added.
484
485 2006-03-28  Darin Adler  <darin@apple.com>
486
487         Reviewed by Geoff.
488
489         - added a build step that checks for init routines
490
491         * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
492         check-for-global-initializers script.
493
494 2006-03-02  Maciej Stachowiak  <mjs@apple.com>
495
496         Not reviewed, but I noticed these trivial extra changes were needed to avoid
497         breaking the build with my reviewed patch for:
498         
499         http://bugs.webkit.org/show_bug.cgi?id=7387
500         
501         Add config.h, includes of it, and Platform.h forwarding header.
502
503         * JSBase.cpp:
504         * JSObject.cpp:
505         * JSRun.cpp:
506         * JSUtils.cpp:
507         * JSValueWrapper.cpp:
508         * JavaScriptGlue.cpp:
509         * UserObjectImp.cpp:
510         * config.h: Added.
511         * kxmlcore/Platform.h: Added.
512
513 === JavaScriptGlue-521.7 ===
514
515 2006-02-10  Geoffrey Garen  <ggaren@apple.com>
516
517         Reviewed by eric.
518
519         - Fixed build.
520
521         * UserObjectImp.cpp:
522         (UserObjectImp::toPrimitive):
523         * UserObjectImp.h:
524
525 2006-02-03  Timothy Hatcher  <timothy@apple.com>
526
527         Reviewed by Justin.
528
529         Renamed configuration names to Debug, Release and Production.
530
531         * JavaScriptGlue.xcodeproj/project.pbxproj:
532
533 2006-02-01  Darin Adler  <darin@apple.com>
534
535         - added some forwarding headers to make new JavaScriptCore changes work
536
537         * kxmlcore/Assertions.h: Added.
538         * kxmlcore/Noncopyable.h: Added.
539         * kxmlcore/OwnPtr.h: Added.
540         * kxmlcore/OwnArrayPtr.h: Added.
541
542 2006-01-16  Timothy Hatcher  <timothy@apple.com>
543
544         Adding the license header to all files so we can
545         move JavaScriptGlue into the open source repository.
546
547         * LICENSE: Added.
548         * JSBase.cpp: license header added.
549         * JSBase.h: ditto.
550         * JSObject.cpp: ditto.
551         * JSObject.h: ditto.
552         * JSRun.cpp: ditto.
553         * JSRun.h: ditto.
554         * JSUtils.cpp: ditto.
555         * JSUtils.h: ditto.
556         * JSValueWrapper.cpp: ditto.
557         * JSValueWrapper.h: ditto.
558         * JavaScriptGlue.cpp: ditto.
559         * JavaScriptGlue.h: ditto.
560         * UserObjectImp.cpp: ditto.
561         * UserObjectImp.h: ditto.
562
563 2005-12-21  Timothy Hatcher  <timothy@apple.com>
564
565         * JavaScriptGlue.xcodeproj/project.pbxproj:
566           Set tab width to 8, indent width to 4 and uses tabs to false per file.
567
568 2005-12-19  Darin Adler  <darin@apple.com>
569
570         Reviewed by Geoff Garen and Eric Seidel.
571
572         - fix http://bugs.webkit.org/show_bug.cgi?id=4923
573           stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
574
575         * kxmlcore/AlwaysInline.h: Added.
576
577 2005-12-15  Darin Adler  <darin@apple.com>
578
579         Reviewed by Maciej.
580
581         * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
582
583 2005-12-15  Darin Adler  <darin@apple.com>
584
585         Reviewed by Tim Hatcher.
586
587         * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
588         settings, turned off prebinding explicitly for our Development and
589         Deployment builds, remove .exp file from sources. All "clean-up".
590
591 === Safari-521~5 ===
592
593 2005-12-13  Geoffrey Garen  <ggaren@apple.com>
594
595     - Fixed build after Anders's last checkin to JavaScriptCore.
596     
597         Reviewed by darin.
598
599         * UserObjectImp.cpp:
600         (UserObjectImp::userObjectGetter): Updated to reflect new argument that 
601     getters take (unused here).
602         * UserObjectImp.h:
603
604 2005-12-13  Maciej Stachowiak  <mjs@apple.com>
605
606         Reviewed by Eric.
607
608     - added forwarding header for HashCountedSet
609
610         * kxmlcore/HashCountedSet.h: Added.
611
612 2005-12-10  Darin Adler  <darin@apple.com>
613
614         Rubber stamped by Maciej.
615
616         - updated for KJS class renaming
617
618         * many files and functions
619
620 2005-12-10  Darin Adler  <darin@apple.com>
621
622         Reviewed by Maciej.
623
624         - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
625
626         Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
627
628         * JSUtils.cpp:
629         (JSObjectKJSValue):
630         * UserObjectImp.cpp:
631         (UserObjectImp::callAsFunction):
632         (UserObjectImp::toPrimitive):
633
634 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
635
636         - added new forwarding headers
637
638         * kxmlcore/PassRefPtr.h: Added.
639         * kxmlcore/RefPtr.h: Added.
640
641 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
642
643         * kxmlcore/PassRefPtr.h: Added.
644
645 2005-11-26  Maciej Stachowiak  <mjs@apple.com>
646
647         Rubber stamped by Eric.
648
649     - renamed InterpreterLock to JSLock
650
651         * JSUtils.cpp:
652         (CFStringToUString):
653         (JSObjectKJSValue):
654         (KJSValueToCFTypeInternal):
655         * JSValueWrapper.cpp:
656         (JSValueWrapper::JSObjectCopyPropertyNames):
657         (JSValueWrapper::JSObjectCopyProperty):
658         (JSValueWrapper::JSObjectSetProperty):
659         (JSValueWrapper::JSObjectCallFunction):
660         (JSValueWrapper::JSObjectCopyCFValue):
661         * JavaScriptGlue.cpp:
662         (JSRunCreate):
663         (JSCollect):
664         (JSLockInterpreter):
665         (JSUnlockInterpreter):
666         * UserObjectImp.cpp:
667         (UserObjectImp::callAsFunction):
668
669 2005-11-16  Maciej Stachowiak  <mjs@apple.com>
670
671         Reviewed by Geoff.
672
673     Updated to use new API to drop all locks.
674
675         * JavaScriptGlue.cpp:
676         (JSLockInterpreter):
677         (JSUnlockInterpreter):
678         * UserObjectImp.cpp:
679         (UserObjectImp::callAsFunction):
680
681 2005-11-14  Geoffrey Garen  <ggaren@apple.com>
682
683         Reviewed by mjs.
684
685         - Part of the fix for <rdar://problem/4342216> Installer crash in 
686           KJS::ValueImp::marked() when garbage collector runs inside call to 
687           ConstantValues::init()
688           
689         Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
690         
691         * JavaScriptGlue.cpp:
692         (JSRunCreate):
693
694 2005-11-10  Geoffrey Garen  <ggaren@apple.com>
695
696         Reviewed by Maciej.
697
698         - Fixed <rdar://problem/4334445> installer crashed on my 
699           dual g4 450Mhz after clicking language
700
701         - Reversed backwards NULL check.
702         - Inserted guards against NULL fJSUserObject data member.
703         - Cleaned up some style.
704
705         * JSUtils.cpp:
706         (KJSValueToCFTypeInternal):
707         * UserObjectImp.cpp:
708         (UserObjectImp::~UserObjectImp):
709         (UserObjectImp::callAsFunction):
710         (UserObjectImp::userObjectGetter):
711         (UserObjectImp::getOwnPropertySlot):
712         (UserObjectImp::put):
713         (UserObjectImp::mark):
714
715 2005-11-04  Timothy Hatcher  <timothy@apple.com>
716
717         Reviewed by Darin.
718
719         * JavaScriptGlue.xcodeproj/project.pbxproj:
720           Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
721           Frameworks for the Default config.
722
723 2005-11-03  Timothy Hatcher  <timothy@apple.com>
724
725         Reviewed by Darin and Vicki.
726
727         * JavaScriptGlue.xcodeproj/project.pbxproj:
728           Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
729           $(NEXT_ROOT) in a few spots to make build-root work.
730
731 2005-11-01  Maciej Stachowiak  <mjs@apple.com>
732
733     Reviewed by: Eric.
734     
735         <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
736
737     - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
738
739         * JSUtils.cpp:
740         (KJSValueToCFTypeInternal):
741         * JSValueWrapper.cpp:
742         (JSValueWrapper::JSObjectCopyPropertyNames):
743         * UserObjectImp.cpp:
744         (UserObjectImp::propList):
745         * UserObjectImp.h:
746
747 2005-10-11  Timothy Hatcher  <timothy@apple.com>
748
749         Setup the proper Framework search path for the Default config.
750         Prepping for a TOT submission and build by B&I.
751
752         * JavaScriptGlue.xcodeproj/project.pbxproj:
753
754 2005-10-10  Darin Adler  <darin@apple.com>
755
756         Reviewed by Eric.
757
758         - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
759           in headers (reserved for compiler/library)
760
761         * Info.plist:
762         * JSBase.cpp:
763         * JSBase.h:
764         * JSObject.cpp:
765         * JSObject.h:
766         * JSRun.cpp:
767         * JSRun.h:
768         * JSUtils.cpp:
769         * JSUtils.h:
770         * JSValueWrapper.cpp:
771         * JSValueWrapper.h:
772         * JavaScriptGlue.cpp:
773         * JavaScriptGlue.h:
774         * UserObjectImp.cpp:
775         * UserObjectImp.h:
776
777 2005-10-10  Darin Adler  <darin@apple.com>
778
779         * .cvsignore: Added. Ignore Makefile.in and Makefile.
780
781 2005-10-07  Timothy Hatcher  <timothy@apple.com>
782
783         Reviewed by Maciej.
784         
785         Build fix, needed to disable RTTI. Upgraded to a native target.
786
787         * JavaScriptGlue.xcodeproj/project.pbxproj:
788         * Info.plist
789
790 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
791
792         Reviewed by Eric and Darin.
793
794     <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
795
796         * JSRun.cpp:
797         (JSRun::JSRun):
798         (JSRun::GlobalObject):
799         * JSRun.h:
800         (JSInterpreter::JSInterpreter):
801         * JSUtils.cpp:
802         (KJSValueToJSObject):
803         (JSObjectKJSValue):
804         (KJSValueToCFTypeInternal):
805         (KJSValueToCFType):
806         * JSUtils.h:
807         * JSValueWrapper.cpp:
808         (JSValueWrapper::JSValueWrapper):
809         (JSValueWrapper::GetValue):
810         (JSValueWrapper::JSObjectCopyPropertyNames):
811         (JSValueWrapper::JSObjectCopyProperty):
812         (JSValueWrapper::JSObjectSetProperty):
813         (JSValueWrapper::JSObjectCallFunction):
814         (JSValueWrapper::JSObjectMark):
815         * JSValueWrapper.h:
816         * JavaScriptGlue.cpp:
817         (JSRunCopyGlobalObject):
818         * JavaScriptGlue.xcodeproj/project.pbxproj:
819         * Makefile.am: Added.
820         * UserObjectImp.cpp:
821         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
822         (UserObjectImp::UserObjectImp):
823         (UserObjectImp::callAsFunction):
824         (UserObjectImp::getPropertyNames):
825         (UserObjectImp::userObjectGetter):
826         (UserObjectImp::getOwnPropertySlot):
827         (UserObjectImp::put):
828         (UserObjectImp::toPrimitive):
829         (UserObjectImp::mark):
830         * UserObjectImp.h:
831         * kxmlcore/FastMalloc.h: Added.
832         * kxmlcore/HashSet.h: Added.
833
834 2005-09-14  Maciej Stachowiak  <mjs@apple.com>
835
836         Reviewed by Geoff.
837
838     - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
839
840     Make sure to lock using the InterpreterLock class in all places that need it
841     (including anything that uses the collector, the parser, the protect count hash table,
842     and anything that allocates via fast_malloc).
843
844         * JSUtils.cpp:
845         (CFStringToUString):
846         (JSObjectKJSValue):
847         (KJSValueToCFTypeInternal):
848         * JSUtils.h:
849         * JSValueWrapper.cpp:
850         (JSValueWrapper::JSObjectCopyPropertyNames):
851         (JSValueWrapper::JSObjectCopyProperty):
852         (JSValueWrapper::JSObjectSetProperty):
853         (JSValueWrapper::JSObjectCallFunction):
854         (JSValueWrapper::JSObjectCopyCFValue):
855         * JavaScriptGlue.cpp:
856         (JSCollect):
857
858 2005-09-27  Adele Peterson  <adele@apple.com>
859
860         Reviewed by Maciej.
861
862         <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
863
864         * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
865
866 2005-09-06  Geoffrey Garen  <ggaren@apple.com>
867
868         -upgraded project files to XCode 2.1
869
870         * JavaScriptGlue.pbproj/project.pbxproj: Removed.
871         * JavaScriptGlue.xcodeproj/.cvsignore: Added.
872         * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
873
874 2005-09-01  Maciej Stachowiak  <mjs@apple.com>
875
876         Rubber stamped by hyatt.
877
878     - initial import of JavaScriptGlue into our repository
879
880         * English.lproj/InfoPlist.strings: Added.
881         * JSBase.cpp: Added.
882         (JSBase::JSBase):
883         (JSBase::~JSBase):
884         (JSBase::Retain):
885         (JSBase::Release):
886         (JSBase::RetainCount):
887         (JSBase::GetTypeID):
888         (JSBase::CopyDescription):
889         (JSBase::Equal):
890         * JSBase.h: Added.
891         * JSObject.cpp: Added.
892         (JSUserObject::JSUserObject):
893         (JSUserObject::~JSUserObject):
894         (JSUserObject::CopyPropertyNames):
895         (JSUserObject::CopyProperty):
896         (JSUserObject::SetProperty):
897         (JSUserObject::ImplementsCall):
898         (JSUserObject::CallFunction):
899         (JSUserObject::CopyCFValue):
900         (JSUserObject::Equal):
901         (JSUserObject::Mark):
902         (JSUserObject::GetData):
903         * JSObject.h: Added.
904         (JSUserObject::DataType):
905         * JSRun.cpp: Added.
906         (JSRun::JSRun):
907         (JSRun::~JSRun):
908         (JSRun::Flags):
909         (JSRun::GetSource):
910         (JSRun::GlobalObject):
911         (JSRun::GetInterpreter):
912         (JSRun::Evaluate):
913         (JSRun::CheckSyntax):
914         * JSRun.h: Added.
915         (JSInterpreter::JSInterpreter):
916         (JSInterpreter::JSInterpreter::~JSInterpreter):
917         (JSInterpreter::Flags):
918         * JSUtils.cpp: Added.
919         (CFStringToUString):
920         (UStringToCFString):
921         (CFStringToIdentifier):
922         (IdentifierToCFString):
923         (KJSValueToJSObject):
924         (JSObjectKJSValue):
925         (KJSValueToCFTypeInternal):
926         (KJSValueToCFType):
927         (GetCFNull):
928         * JSUtils.h: Added.
929         (RetainCFType):
930         (ReleaseCFType):
931         * JSValueWrapper.cpp: Added.
932         (JSValueWrapper::JSValueWrapper):
933         (JSValueWrapper::~JSValueWrapper):
934         (JSValueWrapper::GetValue):
935         (JSValueWrapper::GetExecState):
936         (JSValueWrapper::GetJSObectCallBacks):
937         (JSValueWrapper::JSObjectDispose):
938         (JSValueWrapper::JSObjectCopyPropertyNames):
939         (JSValueWrapper::JSObjectCopyProperty):
940         (JSValueWrapper::JSObjectSetProperty):
941         (JSValueWrapper::JSObjectCallFunction):
942         (JSValueWrapper::JSObjectCopyCFValue):
943         (JSValueWrapper::JSObjectMark):
944         * JSValueWrapper.h: Added.
945         * JavaScriptGlue.cpp: Added.
946         (JSSetCFNull):
947         (JSGetCFNull):
948         (JSRetain):
949         (JSRelease):
950         (JSCopyDescription):
951         (JSEqual):
952         (JSGetTypeID):
953         (JSGetRetainCount):
954         (JSObjectCreate):
955         (JSObjectCreateInternal):
956         (JSObjectCopyCFValue):
957         (JSObjectGetData):
958         (JSObjectCopyProperty):
959         (JSObjectSetProperty):
960         (JSObjectCallFunction):
961         (JSRunCreate):
962         (JSRunCopySource):
963         (JSRunCopyGlobalObject):
964         (JSRunEvaluate):
965         (JSRunCheckSyntax):
966         (JSCollect):
967         (JSTypeGetCFArrayCallBacks):
968         (JSCFRetain):
969         (JSCFRelease):
970         (JSObjectCreateWithCFType):
971         (CFJSObjectDispose):
972         (JSObjectCopyPropertyNames):
973         (CFJSObjectCopyProperty):
974         (CFJSObjectSetProperty):
975         (CFJSObjectCopyCFValue):
976         (CFJSObjectEqual):
977         (CFJSObjectCopyPropertyNames):
978         (JSCreateCFArrayFromJSArray):
979         (JSCreateJSArrayFromCFArray):
980         (JSLockInterpreter):
981         (JSUnlockInterpreter):
982         * JavaScriptGlue.exp: Added.
983         * JavaScriptGlue.h: Added.
984         * JavaScriptGlue.pbproj/project.pbxproj: Added.
985         * UserObjectImp.cpp: Added.
986         (UserObjectPrototypeImp::UserObjectPrototypeImp):
987         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
988         (UserObjectImp::UserObjectImp):
989         (UserObjectImp::~UserObjectImp):
990         (UserObjectImp::classInfo):
991         (UserObjectImp::implementsCall):
992         (UserObjectImp::call):
993         (UserObjectImp::propList):
994         (UserObjectImp::hasProperty):
995         (UserObjectImp::get):
996         (UserObjectImp::put):
997         (UserObjectImp::GetJSUserObject):
998         (UserObjectImp::toPrimitive):
999         (UserObjectImp::toBoolean):
1000         (UserObjectImp::toNumber):
1001         (UserObjectImp::toString):
1002         (UserObjectImp::mark):
1003         * UserObjectImp.h: Added.
1004