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