JavaScriptCore:
[WebKit-https.git] / JavaScriptGlue / ChangeLog
1 2008-06-15  Darin Adler  <darin@apple.com>
2
3         - new names for a few key JavaScriptCore files
4
5         * ForwardingHeaders/kjs/JSValue.h: Copied from JavaScriptGlue/ForwardingHeaders/kjs/value.h.
6         * ForwardingHeaders/kjs/value.h: Removed.
7         * JSUtils.h:
8
9 2008-06-03  Darin Adler  <darin@apple.com>
10
11         - update for JavaScriptCore changes for https://bugs.webkit.org/show_bug.cgi?id=19269
12           speed up SunSpider by eliminating the toObject call for most get/put/delete
13
14         * UserObjectImp.cpp:
15         (UserObjectImp::userObjectGetter): Removed originalObject argument.
16         * UserObjectImp.h: Ditto.
17
18 2008-06-02  Geoffrey Garen  <ggaren@apple.com>
19
20         Reviewed by Alexey Proskuryakov.
21
22         Removed JSObject::call, since it just called JSObject::callAsFunction.
23
24         SunSpider reports no change.
25
26 2008-05-28  Geoffrey Garen  <ggaren@apple.com>
27
28         Reviewed by Oliver Hunt.
29         
30         Fixed total destruction in Software Update.app.
31         
32         Updated JavaScriptGlue to honor squirrelfish's new getCallData mechanism for
33         indicating that an object can be called as a function.
34
35 2008-05-10  Maciej Stachowiak  <mjs@apple.com>
36
37         Reviewed by Oliver.
38
39         - JavaScriptGlue part of fix for: "SQUIRRELFISH: function toString broken after calling"
40         https://bugs.webkit.org/show_bug.cgi?id=18869
41         
42         * JSRun.cpp:
43         (JSRun::Evaluate): Use UString version of eveluate() instead of
44         the now departed UChar*/length variant; use of the lower-level
45         version was gratuitous in any case.
46         (JSRun::CheckSyntax): Ditto for checkSyntax().
47
48 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
49
50         Build fix: supply missing parameter that used to be implicit.
51
52         * JSRun.cpp:
53         (JSRun::Evaluate):
54
55 2008-03-30  Geoffrey Garen  <ggaren@apple.com>
56
57         Reviewed by Oliver Hunt.
58         
59         Build fix.
60
61         * ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h.
62
63 2008-05-12  Alexey Proskuryakov  <ap@webkit.org>
64
65         Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
66         SquirrelFish merging.
67
68         * JSUtils.cpp:
69         (JSObjectKJSValue):
70         * JSUtils.h:
71         * JSValueWrapper.cpp:
72         (unprotectGlobalObject):
73         (initializeGlobalObjectKey):
74         (getThreadGlobalExecState):
75         * JavaScriptGlue.cpp:
76         (JSCollect):
77         (JSLockInterpreter):
78         * UserObjectImp.cpp:
79         (UserObjectImp::toPrimitive):
80
81 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
82
83         Reviewed by Darin.
84
85         Make JavaScriptGlue and JavaScriptCore API functions implicitly call initializeThreading
86         for the sake of non-WebKit clients.
87
88         * JavaScriptGlue.cpp:
89         (JSRunCreate):
90         (JSCollect):
91         (JSCreateJSArrayFromCFArray):
92         (JSLockInterpreter):
93         These are all possible JavaScriptGlue entry points.
94
95 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
96
97         Reviewed by Geoffrey Garen.
98
99         https://bugs.webkit.org/show_bug.cgi?id=18826
100         Make JavaScript heap per-thread
101
102         * JSValueWrapper.cpp:
103         * JSUtils.h:
104         Moved getThreadGlobalExecState() to JSUtils and made it extern, as ExecState is now needed
105         for all JS allocations.
106
107         * JSUtils.cpp:
108         (JSObjectKJSValue): Pass ExecState to functions that now need it.
109         (unprotectGlobalObject): Moved from JSValueWrapper.cpp.
110         (initializeGlobalObjectKey): Ditto.
111         (getThreadGlobalExecState): Ditto.
112
113         * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState to jsString and jsNumber.
114
115         * JavaScriptGlue.cpp:
116         (JSCollect): Use current thread's heap.
117         (JSLockInterpreter): Removed JSLock::registerThread(), because a JS heap doesn't need to
118         know about other threads.
119
120 2008-04-25  Alexey Proskuryakov  <ap@webkit.org>
121
122         Reviewed by Darin.
123
124         Fix run-webkit-tests --threading
125         and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
126         Proxy server issue in Sunday's Nightly
127
128         * UserObjectImp.cpp: Adjusted for the new member added to ClassInfo.
129
130 2008-04-25  Mark Rowe  <mrowe@apple.com>
131
132         Reviewed by Adele Peterson.
133
134         <rdar://problem/5891264> Don't install the JavaScriptGlue headers
135
136         * JavaScriptGlue.xcodeproj/project.pbxproj:
137
138 2008-04-25  Mark Rowe  <mrowe@apple.com>
139
140         Rubber-stamped by Sam Weinig.
141
142         Add some content to an empty ICU header file to prevent verification errors.
143
144         * icu/unicode/utf_old.h:
145
146 2008-04-02  Mark Rowe  <mrowe@apple.com>
147
148         Reviewed by Oliver Hunt.
149
150         Ensure that debug symbols are generated for x86_64 and ppc64 builds.
151
152         * Configurations/Base.xcconfig:
153
154 2008-03-20  Maciej Stachowiak  <mjs@apple.com>
155
156         - fix build
157
158         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
159
160 2008-03-01  Mark Rowe  <mrowe@apple.com>
161
162         Reviewed by Tim Hatcher.
163
164         Update Xcode configuration to support building debug and release from the mysterious future.
165
166         * Configurations/Base.xcconfig:
167         * Configurations/DebugRelease.xcconfig:
168
169 2008-02-29  Geoffrey Garen  <ggaren@apple.com>
170
171         Reviewed by David Harrison.
172         
173         Fixed <rdar://problem/5765063> TOT REGRESSION: Software Update crash in
174         KJS::Collector::collect() (missing JSLock)
175
176         * JSValueWrapper.cpp:
177         (unprotectGlobalObject): Added missing JSLock.
178
179 2008-02-05  Mark Rowe  <mrowe@apple.com>
180
181         Reviewed by Oliver Hunt.
182
183         Update versioning to support the mysterious future.
184
185         * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
186
187 2008-01-28  Eric Seidel  <eric@webkit.org>
188
189         Reviewed by darin.
190         
191         Add icu headers to JSG in preparation for depending on ::UChar.
192
193         * Configurations/Base.xcconfig:
194         * ForwardingHeaders/wtf/unicode: Added.
195         * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
196         * ForwardingHeaders/wtf/unicode/icu: Added.
197         * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Added.
198         * icu: Copied from ../JavaScriptCore/icu.
199
200 2007-12-19  Geoffrey Garen  <ggaren@apple.com>
201
202         Build fix.
203
204         * ForwardingHeaders/wtf/VectorTraits.h: Added.
205
206 2007-12-10  Timothy Hatcher  <timothy@apple.com>
207
208         Reviewed by Mark Rowe.
209
210         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
211
212         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
213           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
214
215 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
216
217         Reviewed by Darin Adler.
218
219         Third step in refactoring JSGlobalObject: Moved data members and data
220         member access from Interpreter to JSGlobalObject. Replaced JSInterpreter
221         subclass with JSGlobalObject subclass.
222         
223         * JSRun.cpp:
224         (JSRun::JSRun):
225         (JSRun::Evaluate):
226         (JSRun::CheckSyntax):
227         * JSRun.h:
228         (JSGlueGlobalObject::JSGlueGlobalObject):
229         * JSUtils.cpp:
230         (KJSValueToCFTypeInternal):
231         * JSValueWrapper.cpp:
232         (getThreadGlobalExecState):
233
234 2007-12-02  Geoffrey Garen  <ggaren@apple.com>
235
236         Reviewed by Eric Seidel.
237
238         Updated to match the JavaScriptCore change to move virtual methods from
239         Interpreter to JSGlobalObject.
240         
241         * JSRun.cpp:
242         * JSRun.h:
243         * JSValueWrapper.cpp:
244         (getThreadGlobalExecState):
245         * JavaScriptGlue.cpp:
246         (JSRunCopyGlobalObject):
247         (JSRunEvaluate):
248
249 2007-11-30  Geoffrey Garen  <ggaren@apple.com>
250
251         Reviewed by Beth Dakin.
252         
253         Modified to follow new JSGlobalObject/Interpreter ownership rules 
254         in JavaScriptCore.
255
256         * JSRun.cpp:
257         (JSRun::JSRun):
258         (JSRun::GetInterpreter):
259         (JSRun::Evaluate):
260         (JSRun::CheckSyntax):
261         * JSRun.h:
262         * JSValueWrapper.cpp:
263         (unprotectGlobalObject):
264         (initializeGlobalObjectKey):
265         (getThreadGlobalExecState):
266
267 2007-11-29  Mark Rowe  <mrowe@apple.com>
268
269         Reviewed by Maciej.
270
271         Fix REGRESSION(r27885): Installer hits assertion failure in JavaScriptGlue.
272
273         * JSValueWrapper.cpp:
274         (getThreadGlobalExecState): Set the global object on the Interpreter before using it.
275
276 2007-11-27  Anders Carlsson  <andersca@apple.com>
277         
278         Build fix.
279         
280         * JSUtils.cpp:
281         (KJSValueToCFTypeInternal):
282         * JSValueWrapper.cpp:
283         (JSValueWrapper::JSObjectCopyPropertyNames):
284
285 2007-11-21  Mark Rowe  <mrowe@apple.com>
286
287         Reviewed by Eric.
288
289         Fix JavaScriptGlue to build without warnings using GCC 4.2.
290
291         * Configurations/Base.xcconfig:
292         * JSRun.h:
293
294 2007-11-17  Mark Rowe  <mrowe@apple.com>
295
296         Reviewed by Darin Adler.
297
298         Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
299              <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
300              http://bugs.webkit.org/show_bug.cgi?id=16033
301
302         Update for changes in Interpreter method signatures.
303
304         * JSRun.h:
305
306 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
307
308         Reviewed by Anders Carlsson.
309
310         Renamed Shared to RefCounted.
311
312         * ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h.
313         * ForwardingHeaders/wtf/Shared.h: Removed.
314
315 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
316
317         Reviewed by Sam Weinig.
318
319         Moved Shared.h into wtf so it could be used in more places.
320
321         * ForwardingHeaders/wtf/Shared.h: Added.
322
323 2007-11-08  Mark Rowe  <mrowe@apple.com>
324
325         Build fix.
326
327         * ForwardingHeaders/wtf/MathExtras.h: Copied from WebCore/ForwardingHeaders/wtf/MathExtras.h.
328
329 2007-11-05  Geoffrey Garen  <ggaren@apple.com>
330
331         Build fix.
332
333         * ForwardingHeaders/kjs/value.h: Added.
334
335 2007-11-03  Sam Weinig  <sam@webkit.org>
336
337         Build-fix.
338
339         * UserObjectImp.cpp:
340
341 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
342
343         Sort files(...); sections of Xcode project files.
344
345         Rubber-stamped by Darin.
346
347         * JavaScriptGlue.xcodeproj/project.pbxproj:
348
349 2007-10-25  Eric Seidel  <eric@webkit.org>
350
351         Reviewed by Geoff.
352         
353         Make JSG build again after JSGlobalObject change.
354
355         * JSRun.cpp:
356         (JSRun::JSRun):
357         (JSRun::GlobalObject):
358         * JSRun.h:
359         (JSInterpreter::JSInterpreter):
360         * JSUtils.h:
361
362 2007-10-11  Mark Rowe  <mrowe@apple.com>
363
364         Reviewed by Tim Hatcher.
365
366         Fix for <rdar://problem/5488678>.  Disable debugging symbols in production builds for 10.4
367         PowerPC to prevent a huge STABS section from being generated.
368
369         * Configurations/Base.xcconfig:
370
371 2007-10-04  Mark Rowe  <mrowe@apple.com>
372
373         Reviewed by Oliver.
374
375         Switch to default level of debugging symbols to resolve <rdar://problem/5488678>.
376         The "full" level appears to offer no observable benefits even though the documentation
377         suggests it be used for dead code stripping.  This should also decrease link times.
378
379         * Configurations/Base.xcconfig:
380
381 2007-09-03  Mark Rowe  <mrowe@apple.com>
382
383         Reviewed by Tim Hatcher.
384
385         <rdar://problem/5452164> Production build with in symbols directory has no debug info
386
387         Enable debug symbol generation on all build configurations.  Production builds are stripped
388         of symbols by Xcode during deployment post-processing.
389
390         * Configurations/Base.xcconfig:
391         * JavaScriptGlue.xcodeproj/project.pbxproj:
392
393 2007-08-09  Mark Rowe  <mrowe@apple.com>
394
395         Reviewed by Antti.
396
397         <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +
398
399         * Configurations/Version.xcconfig:
400         * JavaScriptGlue.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
401         Version.xcconfig and Info.plist explicit to Xcode.
402
403 2007-07-16  Sam Weinig  <sam@webkit.org>
404
405         Reviewed by Oliver.
406
407         Turn off -Wshorten-64-to-32 warning for 64-bit builds.
408
409         * Configurations/Base.xcconfig:
410
411 2007-04-27  Mark Rowe  <mrowe@apple.com>
412
413         Reviewed by Oliver.
414
415         * JavaScriptGlue.xcodeproj/project.pbxproj: Improve dependencies in Xcode project
416         by marking JavaScriptGlue as a dependency of testjsglue.
417
418 2007-03-24  Mark Rowe  <mrowe@apple.com>
419
420         Reviewed by Dave Hyatt.
421
422         * JavaScriptGlue.xcodeproj/project.pbxproj: Use GCC 4.0 for testjsglue.
423
424 2007-03-24  Mark Rowe  <mrowe@apple.com>
425
426         Rubber-stamped by Darin.
427
428         * Configurations/JavaScriptGlue.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
429
430 2007-03-19  Andrew Wellington  <proton@wiretapped.net>
431
432         Reviewed by Maciej.
433
434         Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
435
436         * JavaScriptGlue.xcodeproj/project.pbxproj:
437
438 2007-03-18  Andrew Wellington  <proton@wiretapped.net>
439
440         Reviewed by Mark Rowe
441         
442         Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
443
444         * JavaScriptGlue.xcodeproj/project.pbxproj:
445
446 2007-03-17  Timothy Hatcher  <timothy@apple.com>
447
448         Reviewed by Mark Rowe.
449
450         Made Version.xcconfig smarter when building for different configurations.
451         Now uses the 522+ OpenSource version for Debug and Release, while using the    
452         full 522.4 version for Production builds. The system prefix is also computed
453         based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
454
455         * Configurations/JavaScriptGlue.xcconfig:
456         * Configurations/Version.xcconfig:
457
458 2007-03-15  Timothy Hatcher  <timothy@apple.com>
459
460         Reviewed by John.
461
462         * Factored out most of our common build settings into .xcconfig files. Anything that was common in
463           each build configuration was factored out into the shared .xcconfig file.
464         * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
465         * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
466         * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
467
468         * Configurations/Base.xcconfig: Added.
469         * Configurations/DebugRelease.xcconfig: Added.
470         * Configurations/JavaScriptGlue.xcconfig: Added.
471         * Configurations/Version.xcconfig: Added.
472         * Info.plist:
473         * JavaScriptGlue.xcodeproj/project.pbxproj:
474
475 === Safari-5522.4 ===
476
477 2007-03-12  Geoffrey Garen  <ggaren@apple.com>
478
479         Reviewed by Oliver Hunt.
480         
481         Updated in light of fix for <rdar://problem/4681051> Installer crashes 
482         in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*) 
483         trying to install iLife 06 using Rosetta on an Intel Machine
484         
485         * JavaScriptGlue.cpp:
486         (JSLockInterpreter): Ensure backwards compatibility by calling 
487         registerThread() when explicitly taking the JSLock. (This doesn't happen 
488         automatically anymore.) I doubt this actally matters, but in JavaScriptGlue
489         territory, that kind of thinking will get you killed.
490
491 2007-03-06  Geoffrey Garen  <ggaren@apple.com>
492
493         Reviewed by Maciej Stachowiak.
494
495         Fixed all known crashers exposed by run-webkit-tests --threaded while using
496         a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for 
497         more details.
498
499         * JSBase.cpp:
500         (JSBase::Release): Lock when deleting, because we may be deleting an object
501         (like a JSRun) that holds thread-unsafe data.
502
503         * JSUtils.cpp:
504         (CFStringToUString): Don't lock, because our caller locks. Also, locking
505         inside a function that returns thread-unsafe data by copy will only mask
506         threading problems.
507
508         * JavaScriptGlue.cpp:
509         (JSRunEvaluate): Added missing JSLock.
510         (JSRunCheckSyntax): Converted to JSLock.
511         * JavaScriptGlue.xcodeproj/project.pbxproj:
512
513 2007-02-22  Geoffrey Garen  <ggaren@apple.com>
514
515         Reviewed by Darin Adler.
516         
517         Fixed <rdar://problem/4942528> Installer.app Stuck "Examining additional 
518         volumes..."
519         
520         The problem was that JavaScriptGlue held a JSObject in a static pointer
521         without protecting it from garbage collection. 
522         
523             sUserObjectPrototypeImp  = new UserObjectPrototypeImp();
524             static ProtectedPtr<UserObjectPrototypeImp> protectPrototype; // valiant, brave, but useless
525
526         Through an interesting comedy of errors, this object would be collected 
527         and then assigned as the prototype of another object allocated at the 
528         same address, thus becoming its own prototype. (See http://www.ziplo.com/grandpa.htm
529         for further explanation of this phenomenon.) Hence the infinte loop in 
530         property lookup.
531         
532         The solution is equally humorous: all of this code was completely useless --
533         it only served to create an empty object in the prototype chain -- so
534         I just removed it.
535
536         * UserObjectImp.cpp:
537         (UserObjectImp::UserObjectImp):
538         * UserObjectImp.h:
539
540 2007-02-19  Timothy Hatcher  <timothy@apple.com>
541
542         Reviewed by Geoff.
543
544         <rdar://problem/4636301> Deprecate JavaScriptGlue
545
546         * JavaScriptGlue.h: adds DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER to everything
547         * JavaScriptGlue.xcodeproj/project.pbxproj: use -Wno-deprecated-declarations to keep the project building
548         * config.h: define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER as empty on other systems
549
550 2007-02-16  Darin Adler  <darin@apple.com>
551
552         Reviewed by Anders.
553
554         - fix <rdar://problem/5000216> JavaScriptGlue framework started turning all CFNumbers
555           into signed 32bit values
556
557         Circumstantial evidence seems to indicate that JavaScriptGlue was depending on a bug
558         in CFNumber where CFNumberIsFloatType was returning true for 64-bit integer values.
559
560         * JSUtils.cpp: (JSObjectKJSValue): Removed the call to CFNumberIsFloatType in the
561         conversion of numeric values, and always use kCFNumberDoubleType, since double is
562         the internal format of numbers in JavaScriptCore. There's no value to having a
563         separate code path for integers. There's also no reason to check the return value
564         from CFNumberGetValue -- if it returns false it still does the best it can to convert
565         to a double, which is what we want.
566
567         * UserObjectImp.cpp: (UserObjectImp::toString): Removed a similar code path that
568         tried to handle integers separate from double. Instead, always use a double. For
569         compatibility, use a format without a decimal point when CFNumberIsFloatType returns
570         false. Also removed a bogus cast to float; the "%f" format string takes a double,
571         not a float, so all the cast did was cut down on precision.
572
573 2007-01-25  Mark Rowe  <mrowe@apple.com>
574
575         Reviewed by Maciej.
576
577         * Info.plist: Update copyright string.
578
579 2006-12-19  Timothy Hatcher  <timothy@apple.com>
580
581         Reviewed by Darin.
582
583         <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
584
585         * JavaScriptGlue.xcodeproj/project.pbxproj:
586
587 === Safari-521.26 ===
588
589 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
590
591         Reviewed by Tim H.
592
593         Build fix:  DWARF and -gfull are incompatible with symbol separation.
594
595         * JavaScriptGlue.xcodeproj/project.pbxproj:
596
597 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
598
599         Reviewed by Tim H.
600
601         http://bugs.webkit.org/show_bug.cgi?id=10394
602         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
603
604         * JavaScriptGlue.xcodeproj/project.pbxproj:
605
606 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
607
608         Reviewed by Tim H.
609
610         http://bugs.webkit.org/show_bug.cgi?id=10384
611         Bug 10384: Switch to DWARF for Release configuration
612
613         * JavaScriptGlue.xcodeproj/project.pbxproj:
614
615 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
616
617         Reviewed by Darin.
618
619         - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
620           Make WebCore (and friends) compile with -Wshorten-64-to-32
621
622           * Adds -Wshorten-64-to-32 flag to Xcode project.
623
624         * JavaScriptGlue.xcodeproj/project.pbxproj:
625
626 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
627
628         Reviewed by Darin.
629
630         - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
631           Make WebCore compile with -Wundef
632
633           * Adds -Wundef flag to Xcode project
634
635         * JavaScriptGlue.xcodeproj/project.pbxproj:
636
637 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
638
639         Reviewed by Darin.
640
641         - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
642           Adopt pedantic changes from the Unity project to improve 
643           cross-compiler compatibility
644
645           Changes include:
646           * Turning on gcc warning for missing newline at the end of a source file
647             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
648
649         * JavaScriptGlue.xcodeproj/project.pbxproj:
650
651 === Safari-521.19 ===
652
653 2006-07-19  Geoffrey Garen  <ggaren@apple.com>
654
655         Fixed by Darin & Maciej, reviewed by me.
656         
657         - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right 
658         after LCA and while preparing Installation
659
660         Compile release/production with NDEBUG set, to ensure binary compatibility
661         between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore 
662         includes an extra debug data member in HashSet.
663         
664         * JavaScriptGlue.xcodeproj/project.pbxproj:
665
666 === Safari-521.18 ===
667
668 2006-07-15  Maciej Stachowiak  <mjs@apple.com>
669
670         Reviewed by Darin.
671
672         - switch property lists to be vector+set of Identifiers instead of list of References
673         
674         * JSUtils.cpp:
675         (KJSValueToCFTypeInternal): updated for JSC SPI changes
676         * JSValueWrapper.cpp:
677         (JSValueWrapper::JSObjectCopyPropertyNames): ditto
678         * UserObjectImp.cpp:
679         (UserObjectImp::getPropertyNames): ditto
680         * UserObjectImp.h:
681
682 === Safari-521.17 ===
683
684 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
685
686         Reviewed by Maciej.
687         
688         - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.
689
690         (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
691         manual delete.
692
693 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
694
695         Build fix
696         
697         * JSUtils.cpp:
698         (KJSValueToCFTypeInternal):
699         * JSValueWrapper.cpp:
700         (JSValueWrapper::JSObjectCopyPropertyNames):
701         * UserObjectImp.cpp:
702         (UserObjectImp::getPropertyList):
703         
704 === Safari-521.15 ===
705
706 2006-07-07  Geoffrey Garen  <ggaren@apple.com>
707
708         - build fix
709
710         * JSUtils.cpp:
711         (KJSValueToCFTypeInternal):
712         * JSValueWrapper.cpp:
713         (JSValueWrapper::JSObjectCopyPropertyNames):
714
715 2006-07-03  Geoffrey Garen  <ggaren@apple.com>
716
717         Reviewed by Maciej.
718         
719         * JSRun.cpp:
720         (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
721         * JavaScriptGlue.xcodeproj/project.pbxproj:
722
723 === Safari-521.14 ===
724
725 2006-06-28  Timothy Hatcher  <timothy@apple.com>
726
727         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
728
729         * JavaScriptGlue.xcodeproj/project.pbxproj:
730
731 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
732
733         Reviewed by Timothy.
734
735         * Info.plist: Fixed copyright to include 2003-2006.
736
737 === JavaScriptGlue-521.13 ===
738         
739 2006-06-20  Geoffrey Garen  <ggaren@apple.com>
740
741         Reviewed by Anders.
742         
743         - Required for JS API: Rename propList to getPropertyList and have it
744         take its target property list by reference so that subclasses can
745         add properties to the list before calling through to their superclasses.
746
747         * JSUtils.cpp:
748         (KJSValueToCFTypeInternal):
749         * JSValueWrapper.cpp:
750         (JSValueWrapper::JSObjectCopyPropertyNames):
751         * UserObjectImp.cpp:
752         (UserObjectImp::getPropertyList):
753         * UserObjectImp.h:
754
755 2006-06-15  Timothy Hatcher  <timothy@apple.com>
756
757         Reviewed by Geoff and Darin.
758         
759         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
760
761         * JavaScriptGlue.xcodeproj/project.pbxproj:
762
763 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
764
765         Reviewed by TimO, Maciej.
766         
767         - JSGlue part of merging InterpreterImp into Interpreter.
768         
769         Since there's now a kjs forwarding header, I moved all forwarding
770         headers into a "ForwardingHeaders" directory, like in WebCore.
771
772         * ForwardingHeaders: Added.
773         * ForwardingHeaders/kjs: Added.
774         * ForwardingHeaders/kjs/ExecState.h: Added.
775         * ForwardingHeaders/wtf: Added.
776         * JavaScriptGlue.xcodeproj/project.pbxproj:
777         * config.h:
778         * wtf: Removed.
779         * wtf/AlwaysInline.h: Removed.
780         * wtf/Assertions.h: Removed.
781         * wtf/FastMalloc.h: Removed.
782         * wtf/Forward.h: Removed.
783         * wtf/HashCountedSet.h: Removed.
784         * wtf/HashSet.h: Removed.
785         * wtf/Noncopyable.h: Removed.
786         * wtf/OwnArrayPtr.h: Removed.
787         * wtf/OwnPtr.h: Removed.
788         * wtf/PassRefPtr.h: Removed.
789         * wtf/Platform.h: Removed.
790         * wtf/RefPtr.h: Removed.
791         * wtf/Vector.h: Removed.
792
793 === JavaScriptGlue-521.10 ===
794
795 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
796
797         Rubber stamped by Anders.
798         
799         - renamed kxmlcore to wtf
800         
801         kxmlcore --> wtf
802         KXMLCore --> WTF
803         KXC --> WTF
804
805         * config.h:
806         * kxmlcore: Removed.
807         * kxmlcore/AlwaysInline.h: Removed.
808         * kxmlcore/Assertions.h: Removed.
809         * kxmlcore/FastMalloc.h: Removed.
810         * kxmlcore/Forward.h: Removed.
811         * kxmlcore/HashCountedSet.h: Removed.
812         * kxmlcore/HashSet.h: Removed.
813         * kxmlcore/Noncopyable.h: Removed.
814         * kxmlcore/OwnArrayPtr.h: Removed.
815         * kxmlcore/OwnPtr.h: Removed.
816         * kxmlcore/PassRefPtr.h: Removed.
817         * kxmlcore/Platform.h: Removed.
818         * kxmlcore/RefPtr.h: Removed.
819         * kxmlcore/Vector.h: Removed.
820         * wtf: Added.
821
822 2006-04-11  Darin Adler  <darin@apple.com>
823
824         - try to fix Windows build
825
826         * kxmlcore/HashForward.h: Removed.
827
828 2006-04-10  Darin Adler  <darin@apple.com>
829
830         Rubber-stamped by John Sullivan.
831
832         - added forwarding headers for the new Forward.h and HashForward.h files
833
834         * kxmlcore/Forward.h: Added.
835         * kxmlcore/HashForward.h: Added.
836
837 2006-04-04  Timothy Hatcher  <timothy@apple.com>
838
839         Reviewed by Darin.
840
841         The Debug and Release frameworks are now built with install paths relative to the build products directory.
842         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
843
844         * JavaScriptGlue.xcodeproj/project.pbxproj:
845
846 2006-04-02  Eric Seidel  <eseidel@apple.com>
847
848         Reviewed by andersca.
849
850         Add missing forwarding header.
851
852         * kxmlcore/Vector.h: Added.
853
854 2006-03-31  Geoffrey Garen  <ggaren@apple.com>
855
856         Reviewed by Darin.
857
858         - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
859         Composer
860
861         JSValueWrappers used to hold on to the ExecState that pertained at
862         the time of their creation. Since ExecStates are transient, that
863         design was totally bogus, and it would crash once the ExecState had
864         been deallocated.
865
866         Unfortunately, there's no clean solution to this problem, since
867         the JSGlue API has no notion of state. The solution here is to use
868         a shared, global ExecState for the purpose of JSGlue calls. Given
869         the pre-existing limitations in the JSGlue API, this design
870         shouldn't actually introduce any new limitations (see comments in
871         JSValueWrapper.cpp).
872
873         I tested with Quartz Composer and PAC files, neither of which are
874         layout-testable.
875         
876         * JSUtils.cpp:
877         (KJSValueToJSObject):
878         * JSValueWrapper.cpp:
879         (JSValueWrapper::JSValueWrapper):
880         (JSValueWrapper::GetValue):
881         (getProcessGlobalExecState):
882         (JSValueWrapper::JSObjectCopyPropertyNames):
883         (JSValueWrapper::JSObjectCopyProperty):
884         (JSValueWrapper::JSObjectSetProperty):
885         (JSValueWrapper::JSObjectCallFunction):
886         (JSValueWrapper::JSObjectCopyCFValue):
887         * JSValueWrapper.h:
888
889         Also added a test harness file. It was helpful while I was testing,
890         and may come in handy in the future:
891         
892         * JavaScriptGlue.xcodeproj/project.pbxproj:
893         testjsglue.cpp: Added.
894
895 2006-03-28  Darin Adler  <darin@apple.com>
896
897         Reviewed by Geoff.
898
899         - added a build step that checks for init routines
900
901         * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
902         check-for-global-initializers script.
903
904 2006-03-02  Maciej Stachowiak  <mjs@apple.com>
905
906         Not reviewed, but I noticed these trivial extra changes were needed to avoid
907         breaking the build with my reviewed patch for:
908         
909         http://bugs.webkit.org/show_bug.cgi?id=7387
910         
911         Add config.h, includes of it, and Platform.h forwarding header.
912
913         * JSBase.cpp:
914         * JSObject.cpp:
915         * JSRun.cpp:
916         * JSUtils.cpp:
917         * JSValueWrapper.cpp:
918         * JavaScriptGlue.cpp:
919         * UserObjectImp.cpp:
920         * config.h: Added.
921         * kxmlcore/Platform.h: Added.
922
923 === JavaScriptGlue-521.7 ===
924
925 2006-02-10  Geoffrey Garen  <ggaren@apple.com>
926
927         Reviewed by eric.
928
929         - Fixed build.
930
931         * UserObjectImp.cpp:
932         (UserObjectImp::toPrimitive):
933         * UserObjectImp.h:
934
935 2006-02-03  Timothy Hatcher  <timothy@apple.com>
936
937         Reviewed by Justin.
938
939         Renamed configuration names to Debug, Release and Production.
940
941         * JavaScriptGlue.xcodeproj/project.pbxproj:
942
943 2006-02-01  Darin Adler  <darin@apple.com>
944
945         - added some forwarding headers to make new JavaScriptCore changes work
946
947         * kxmlcore/Assertions.h: Added.
948         * kxmlcore/Noncopyable.h: Added.
949         * kxmlcore/OwnPtr.h: Added.
950         * kxmlcore/OwnArrayPtr.h: Added.
951
952 2006-01-16  Timothy Hatcher  <timothy@apple.com>
953
954         Adding the license header to all files so we can
955         move JavaScriptGlue into the open source repository.
956
957         * LICENSE: Added.
958         * JSBase.cpp: license header added.
959         * JSBase.h: ditto.
960         * JSObject.cpp: ditto.
961         * JSObject.h: ditto.
962         * JSRun.cpp: ditto.
963         * JSRun.h: ditto.
964         * JSUtils.cpp: ditto.
965         * JSUtils.h: ditto.
966         * JSValueWrapper.cpp: ditto.
967         * JSValueWrapper.h: ditto.
968         * JavaScriptGlue.cpp: ditto.
969         * JavaScriptGlue.h: ditto.
970         * UserObjectImp.cpp: ditto.
971         * UserObjectImp.h: ditto.
972
973 2005-12-21  Timothy Hatcher  <timothy@apple.com>
974
975         * JavaScriptGlue.xcodeproj/project.pbxproj:
976           Set tab width to 8, indent width to 4 and uses tabs to false per file.
977
978 2005-12-19  Darin Adler  <darin@apple.com>
979
980         Reviewed by Geoff Garen and Eric Seidel.
981
982         - fix http://bugs.webkit.org/show_bug.cgi?id=4923
983           stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
984
985         * kxmlcore/AlwaysInline.h: Added.
986
987 2005-12-15  Darin Adler  <darin@apple.com>
988
989         Reviewed by Maciej.
990
991         * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
992
993 2005-12-15  Darin Adler  <darin@apple.com>
994
995         Reviewed by Tim Hatcher.
996
997         * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
998         settings, turned off prebinding explicitly for our Development and
999         Deployment builds, remove .exp file from sources. All "clean-up".
1000
1001 === Safari-521~5 ===
1002
1003 2005-12-13  Geoffrey Garen  <ggaren@apple.com>
1004
1005     - Fixed build after Anders's last checkin to JavaScriptCore.
1006     
1007         Reviewed by darin.
1008
1009         * UserObjectImp.cpp:
1010         (UserObjectImp::userObjectGetter): Updated to reflect new argument that 
1011     getters take (unused here).
1012         * UserObjectImp.h:
1013
1014 2005-12-13  Maciej Stachowiak  <mjs@apple.com>
1015
1016         Reviewed by Eric.
1017
1018     - added forwarding header for HashCountedSet
1019
1020         * kxmlcore/HashCountedSet.h: Added.
1021
1022 2005-12-10  Darin Adler  <darin@apple.com>
1023
1024         Rubber stamped by Maciej.
1025
1026         - updated for KJS class renaming
1027
1028         * many files and functions
1029
1030 2005-12-10  Darin Adler  <darin@apple.com>
1031
1032         Reviewed by Maciej.
1033
1034         - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
1035
1036         Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
1037
1038         * JSUtils.cpp:
1039         (JSObjectKJSValue):
1040         * UserObjectImp.cpp:
1041         (UserObjectImp::callAsFunction):
1042         (UserObjectImp::toPrimitive):
1043
1044 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
1045
1046         - added new forwarding headers
1047
1048         * kxmlcore/PassRefPtr.h: Added.
1049         * kxmlcore/RefPtr.h: Added.
1050
1051 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
1052
1053         * kxmlcore/PassRefPtr.h: Added.
1054
1055 2005-11-26  Maciej Stachowiak  <mjs@apple.com>
1056
1057         Rubber stamped by Eric.
1058
1059     - renamed InterpreterLock to JSLock
1060
1061         * JSUtils.cpp:
1062         (CFStringToUString):
1063         (JSObjectKJSValue):
1064         (KJSValueToCFTypeInternal):
1065         * JSValueWrapper.cpp:
1066         (JSValueWrapper::JSObjectCopyPropertyNames):
1067         (JSValueWrapper::JSObjectCopyProperty):
1068         (JSValueWrapper::JSObjectSetProperty):
1069         (JSValueWrapper::JSObjectCallFunction):
1070         (JSValueWrapper::JSObjectCopyCFValue):
1071         * JavaScriptGlue.cpp:
1072         (JSRunCreate):
1073         (JSCollect):
1074         (JSLockInterpreter):
1075         (JSUnlockInterpreter):
1076         * UserObjectImp.cpp:
1077         (UserObjectImp::callAsFunction):
1078
1079 2005-11-16  Maciej Stachowiak  <mjs@apple.com>
1080
1081         Reviewed by Geoff.
1082
1083     Updated to use new API to drop all locks.
1084
1085         * JavaScriptGlue.cpp:
1086         (JSLockInterpreter):
1087         (JSUnlockInterpreter):
1088         * UserObjectImp.cpp:
1089         (UserObjectImp::callAsFunction):
1090
1091 2005-11-14  Geoffrey Garen  <ggaren@apple.com>
1092
1093         Reviewed by mjs.
1094
1095         - Part of the fix for <rdar://problem/4342216> Installer crash in 
1096           KJS::ValueImp::marked() when garbage collector runs inside call to 
1097           ConstantValues::init()
1098           
1099         Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
1100         
1101         * JavaScriptGlue.cpp:
1102         (JSRunCreate):
1103
1104 2005-11-10  Geoffrey Garen  <ggaren@apple.com>
1105
1106         Reviewed by Maciej.
1107
1108         - Fixed <rdar://problem/4334445> installer crashed on my 
1109           dual g4 450Mhz after clicking language
1110
1111         - Reversed backwards NULL check.
1112         - Inserted guards against NULL fJSUserObject data member.
1113         - Cleaned up some style.
1114
1115         * JSUtils.cpp:
1116         (KJSValueToCFTypeInternal):
1117         * UserObjectImp.cpp:
1118         (UserObjectImp::~UserObjectImp):
1119         (UserObjectImp::callAsFunction):
1120         (UserObjectImp::userObjectGetter):
1121         (UserObjectImp::getOwnPropertySlot):
1122         (UserObjectImp::put):
1123         (UserObjectImp::mark):
1124
1125 2005-11-04  Timothy Hatcher  <timothy@apple.com>
1126
1127         Reviewed by Darin.
1128
1129         * JavaScriptGlue.xcodeproj/project.pbxproj:
1130           Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
1131           Frameworks for the Default config.
1132
1133 2005-11-03  Timothy Hatcher  <timothy@apple.com>
1134
1135         Reviewed by Darin and Vicki.
1136
1137         * JavaScriptGlue.xcodeproj/project.pbxproj:
1138           Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
1139           $(NEXT_ROOT) in a few spots to make build-root work.
1140
1141 2005-11-01  Maciej Stachowiak  <mjs@apple.com>
1142
1143     Reviewed by: Eric.
1144     
1145         <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
1146
1147     - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
1148
1149         * JSUtils.cpp:
1150         (KJSValueToCFTypeInternal):
1151         * JSValueWrapper.cpp:
1152         (JSValueWrapper::JSObjectCopyPropertyNames):
1153         * UserObjectImp.cpp:
1154         (UserObjectImp::propList):
1155         * UserObjectImp.h:
1156
1157 2005-10-11  Timothy Hatcher  <timothy@apple.com>
1158
1159         Setup the proper Framework search path for the Default config.
1160         Prepping for a TOT submission and build by B&I.
1161
1162         * JavaScriptGlue.xcodeproj/project.pbxproj:
1163
1164 2005-10-10  Darin Adler  <darin@apple.com>
1165
1166         Reviewed by Eric.
1167
1168         - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
1169           in headers (reserved for compiler/library)
1170
1171         * Info.plist:
1172         * JSBase.cpp:
1173         * JSBase.h:
1174         * JSObject.cpp:
1175         * JSObject.h:
1176         * JSRun.cpp:
1177         * JSRun.h:
1178         * JSUtils.cpp:
1179         * JSUtils.h:
1180         * JSValueWrapper.cpp:
1181         * JSValueWrapper.h:
1182         * JavaScriptGlue.cpp:
1183         * JavaScriptGlue.h:
1184         * UserObjectImp.cpp:
1185         * UserObjectImp.h:
1186
1187 2005-10-10  Darin Adler  <darin@apple.com>
1188
1189         * .cvsignore: Added. Ignore Makefile.in and Makefile.
1190
1191 2005-10-07  Timothy Hatcher  <timothy@apple.com>
1192
1193         Reviewed by Maciej.
1194         
1195         Build fix, needed to disable RTTI. Upgraded to a native target.
1196
1197         * JavaScriptGlue.xcodeproj/project.pbxproj:
1198         * Info.plist
1199
1200 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
1201
1202         Reviewed by Eric and Darin.
1203
1204     <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
1205
1206         * JSRun.cpp:
1207         (JSRun::JSRun):
1208         (JSRun::GlobalObject):
1209         * JSRun.h:
1210         (JSInterpreter::JSInterpreter):
1211         * JSUtils.cpp:
1212         (KJSValueToJSObject):
1213         (JSObjectKJSValue):
1214         (KJSValueToCFTypeInternal):
1215         (KJSValueToCFType):
1216         * JSUtils.h:
1217         * JSValueWrapper.cpp:
1218         (JSValueWrapper::JSValueWrapper):
1219         (JSValueWrapper::GetValue):
1220         (JSValueWrapper::JSObjectCopyPropertyNames):
1221         (JSValueWrapper::JSObjectCopyProperty):
1222         (JSValueWrapper::JSObjectSetProperty):
1223         (JSValueWrapper::JSObjectCallFunction):
1224         (JSValueWrapper::JSObjectMark):
1225         * JSValueWrapper.h:
1226         * JavaScriptGlue.cpp:
1227         (JSRunCopyGlobalObject):
1228         * JavaScriptGlue.xcodeproj/project.pbxproj:
1229         * Makefile.am: Added.
1230         * UserObjectImp.cpp:
1231         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
1232         (UserObjectImp::UserObjectImp):
1233         (UserObjectImp::callAsFunction):
1234         (UserObjectImp::getPropertyNames):
1235         (UserObjectImp::userObjectGetter):
1236         (UserObjectImp::getOwnPropertySlot):
1237         (UserObjectImp::put):
1238         (UserObjectImp::toPrimitive):
1239         (UserObjectImp::mark):
1240         * UserObjectImp.h:
1241         * kxmlcore/FastMalloc.h: Added.
1242         * kxmlcore/HashSet.h: Added.
1243
1244 2005-09-14  Maciej Stachowiak  <mjs@apple.com>
1245
1246         Reviewed by Geoff.
1247
1248     - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
1249
1250     Make sure to lock using the InterpreterLock class in all places that need it
1251     (including anything that uses the collector, the parser, the protect count hash table,
1252     and anything that allocates via fast_malloc).
1253
1254         * JSUtils.cpp:
1255         (CFStringToUString):
1256         (JSObjectKJSValue):
1257         (KJSValueToCFTypeInternal):
1258         * JSUtils.h:
1259         * JSValueWrapper.cpp:
1260         (JSValueWrapper::JSObjectCopyPropertyNames):
1261         (JSValueWrapper::JSObjectCopyProperty):
1262         (JSValueWrapper::JSObjectSetProperty):
1263         (JSValueWrapper::JSObjectCallFunction):
1264         (JSValueWrapper::JSObjectCopyCFValue):
1265         * JavaScriptGlue.cpp:
1266         (JSCollect):
1267
1268 2005-09-27  Adele Peterson  <adele@apple.com>
1269
1270         Reviewed by Maciej.
1271
1272         <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
1273
1274         * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
1275
1276 2005-09-06  Geoffrey Garen  <ggaren@apple.com>
1277
1278         -upgraded project files to XCode 2.1
1279
1280         * JavaScriptGlue.pbproj/project.pbxproj: Removed.
1281         * JavaScriptGlue.xcodeproj/.cvsignore: Added.
1282         * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
1283
1284 2005-09-01  Maciej Stachowiak  <mjs@apple.com>
1285
1286         Rubber stamped by hyatt.
1287
1288     - initial import of JavaScriptGlue into our repository
1289
1290         * English.lproj/InfoPlist.strings: Added.
1291         * JSBase.cpp: Added.
1292         (JSBase::JSBase):
1293         (JSBase::~JSBase):
1294         (JSBase::Retain):
1295         (JSBase::Release):
1296         (JSBase::RetainCount):
1297         (JSBase::GetTypeID):
1298         (JSBase::CopyDescription):
1299         (JSBase::Equal):
1300         * JSBase.h: Added.
1301         * JSObject.cpp: Added.
1302         (JSUserObject::JSUserObject):
1303         (JSUserObject::~JSUserObject):
1304         (JSUserObject::CopyPropertyNames):
1305         (JSUserObject::CopyProperty):
1306         (JSUserObject::SetProperty):
1307         (JSUserObject::ImplementsCall):
1308         (JSUserObject::CallFunction):
1309         (JSUserObject::CopyCFValue):
1310         (JSUserObject::Equal):
1311         (JSUserObject::Mark):
1312         (JSUserObject::GetData):
1313         * JSObject.h: Added.
1314         (JSUserObject::DataType):
1315         * JSRun.cpp: Added.
1316         (JSRun::JSRun):
1317         (JSRun::~JSRun):
1318         (JSRun::Flags):
1319         (JSRun::GetSource):
1320         (JSRun::GlobalObject):
1321         (JSRun::GetInterpreter):
1322         (JSRun::Evaluate):
1323         (JSRun::CheckSyntax):
1324         * JSRun.h: Added.
1325         (JSInterpreter::JSInterpreter):
1326         (JSInterpreter::JSInterpreter::~JSInterpreter):
1327         (JSInterpreter::Flags):
1328         * JSUtils.cpp: Added.
1329         (CFStringToUString):
1330         (UStringToCFString):
1331         (CFStringToIdentifier):
1332         (IdentifierToCFString):
1333         (KJSValueToJSObject):
1334         (JSObjectKJSValue):
1335         (KJSValueToCFTypeInternal):
1336         (KJSValueToCFType):
1337         (GetCFNull):
1338         * JSUtils.h: Added.
1339         (RetainCFType):
1340         (ReleaseCFType):
1341         * JSValueWrapper.cpp: Added.
1342         (JSValueWrapper::JSValueWrapper):
1343         (JSValueWrapper::~JSValueWrapper):
1344         (JSValueWrapper::GetValue):
1345         (JSValueWrapper::GetExecState):
1346         (JSValueWrapper::GetJSObectCallBacks):
1347         (JSValueWrapper::JSObjectDispose):
1348         (JSValueWrapper::JSObjectCopyPropertyNames):
1349         (JSValueWrapper::JSObjectCopyProperty):
1350         (JSValueWrapper::JSObjectSetProperty):
1351         (JSValueWrapper::JSObjectCallFunction):
1352         (JSValueWrapper::JSObjectCopyCFValue):
1353         (JSValueWrapper::JSObjectMark):
1354         * JSValueWrapper.h: Added.
1355         * JavaScriptGlue.cpp: Added.
1356         (JSSetCFNull):
1357         (JSGetCFNull):
1358         (JSRetain):
1359         (JSRelease):
1360         (JSCopyDescription):
1361         (JSEqual):
1362         (JSGetTypeID):
1363         (JSGetRetainCount):
1364         (JSObjectCreate):
1365         (JSObjectCreateInternal):
1366         (JSObjectCopyCFValue):
1367         (JSObjectGetData):
1368         (JSObjectCopyProperty):
1369         (JSObjectSetProperty):
1370         (JSObjectCallFunction):
1371         (JSRunCreate):
1372         (JSRunCopySource):
1373         (JSRunCopyGlobalObject):
1374         (JSRunEvaluate):
1375         (JSRunCheckSyntax):
1376         (JSCollect):
1377         (JSTypeGetCFArrayCallBacks):
1378         (JSCFRetain):
1379         (JSCFRelease):
1380         (JSObjectCreateWithCFType):
1381         (CFJSObjectDispose):
1382         (JSObjectCopyPropertyNames):
1383         (CFJSObjectCopyProperty):
1384         (CFJSObjectSetProperty):
1385         (CFJSObjectCopyCFValue):
1386         (CFJSObjectEqual):
1387         (CFJSObjectCopyPropertyNames):
1388         (JSCreateCFArrayFromJSArray):
1389         (JSCreateJSArrayFromCFArray):
1390         (JSLockInterpreter):
1391         (JSUnlockInterpreter):
1392         * JavaScriptGlue.exp: Added.
1393         * JavaScriptGlue.h: Added.
1394         * JavaScriptGlue.pbproj/project.pbxproj: Added.
1395         * UserObjectImp.cpp: Added.
1396         (UserObjectPrototypeImp::UserObjectPrototypeImp):
1397         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
1398         (UserObjectImp::UserObjectImp):
1399         (UserObjectImp::~UserObjectImp):
1400         (UserObjectImp::classInfo):
1401         (UserObjectImp::implementsCall):
1402         (UserObjectImp::call):
1403         (UserObjectImp::propList):
1404         (UserObjectImp::hasProperty):
1405         (UserObjectImp::get):
1406         (UserObjectImp::put):
1407         (UserObjectImp::GetJSUserObject):
1408         (UserObjectImp::toPrimitive):
1409         (UserObjectImp::toBoolean):
1410         (UserObjectImp::toNumber):
1411         (UserObjectImp::toString):
1412         (UserObjectImp::mark):
1413         * UserObjectImp.h: Added.
1414