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