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