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