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