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