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