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