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