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