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