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