JavaScriptCore:
[WebKit-https.git] / JavaScriptGlue / ChangeLog
1 2006-04-04  Timothy Hatcher  <timothy@apple.com>
2
3         Reviewed by Darin.
4
5         The Debug and Release frameworks are now built with install paths relative to the build products directory.
6         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
7
8         * JavaScriptGlue.xcodeproj/project.pbxproj:
9
10 2006-04-02  Eric Seidel  <eseidel@apple.com>
11
12         Reviewed by andersca.
13
14         Add missing forwarding header.
15
16         * kxmlcore/Vector.h: Added.
17
18 2006-03-31  Geoffrey Garen  <ggaren@apple.com>
19
20         Reviewed by Darin.
21
22         - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
23         Composer
24
25         JSValueWrappers used to hold on to the ExecState that pertained at
26         the time of their creation. Since ExecStates are transient, that
27         design was totally bogus, and it would crash once the ExecState had
28         been deallocated.
29
30         Unfortunately, there's no clean solution to this problem, since
31         the JSGlue API has no notion of state. The solution here is to use
32         a shared, global ExecState for the purpose of JSGlue calls. Given
33         the pre-existing limitations in the JSGlue API, this design
34         shouldn't actually introduce any new limitations (see comments in
35         JSValueWrapper.cpp).
36
37         I tested with Quartz Composer and PAC files, neither of which are
38         layout-testable.
39         
40         * JSUtils.cpp:
41         (KJSValueToJSObject):
42         * JSValueWrapper.cpp:
43         (JSValueWrapper::JSValueWrapper):
44         (JSValueWrapper::GetValue):
45         (getProcessGlobalExecState):
46         (JSValueWrapper::JSObjectCopyPropertyNames):
47         (JSValueWrapper::JSObjectCopyProperty):
48         (JSValueWrapper::JSObjectSetProperty):
49         (JSValueWrapper::JSObjectCallFunction):
50         (JSValueWrapper::JSObjectCopyCFValue):
51         * JSValueWrapper.h:
52
53         Also added a test harness file. It was helpful while I was testing,
54         and may come in handy in the future:
55         
56         * JavaScriptGlue.xcodeproj/project.pbxproj:
57         testjsglue.cpp: Added.
58
59 2006-03-28  Darin Adler  <darin@apple.com>
60
61         Reviewed by Geoff.
62
63         - added a build step that checks for init routines
64
65         * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
66         check-for-global-initializers script.
67
68 2006-03-02  Maciej Stachowiak  <mjs@apple.com>
69
70         Not reviewed, but I noticed these trivial extra changes were needed to avoid
71         breaking the build with my reviewed patch for:
72         
73         http://bugzilla.opendarwin.org/show_bug.cgi?id=7387
74         
75         Add config.h, includes of it, and Platform.h forwarding header.
76
77         * JSBase.cpp:
78         * JSObject.cpp:
79         * JSRun.cpp:
80         * JSUtils.cpp:
81         * JSValueWrapper.cpp:
82         * JavaScriptGlue.cpp:
83         * UserObjectImp.cpp:
84         * config.h: Added.
85         * kxmlcore/Platform.h: Added.
86
87 === JavaScriptGlue-521.7 ===
88
89 2006-02-10  Geoffrey Garen  <ggaren@apple.com>
90
91         Reviewed by eric.
92
93         - Fixed build.
94
95         * UserObjectImp.cpp:
96         (UserObjectImp::toPrimitive):
97         * UserObjectImp.h:
98
99 2006-02-03  Timothy Hatcher  <timothy@apple.com>
100
101         Reviewed by Justin.
102
103         Renamed configuration names to Debug, Release and Production.
104
105         * JavaScriptGlue.xcodeproj/project.pbxproj:
106
107 2006-02-01  Darin Adler  <darin@apple.com>
108
109         - added some forwarding headers to make new JavaScriptCore changes work
110
111         * kxmlcore/Assertions.h: Added.
112         * kxmlcore/Noncopyable.h: Added.
113         * kxmlcore/OwnPtr.h: Added.
114         * kxmlcore/OwnArrayPtr.h: Added.
115
116 2006-01-16  Timothy Hatcher  <timothy@apple.com>
117
118         Adding the license header to all files so we can
119         move JavaScriptGlue into the open source repository.
120
121         * LICENSE: Added.
122         * JSBase.cpp: license header added.
123         * JSBase.h: ditto.
124         * JSObject.cpp: ditto.
125         * JSObject.h: ditto.
126         * JSRun.cpp: ditto.
127         * JSRun.h: ditto.
128         * JSUtils.cpp: ditto.
129         * JSUtils.h: ditto.
130         * JSValueWrapper.cpp: ditto.
131         * JSValueWrapper.h: ditto.
132         * JavaScriptGlue.cpp: ditto.
133         * JavaScriptGlue.h: ditto.
134         * UserObjectImp.cpp: ditto.
135         * UserObjectImp.h: ditto.
136
137 2005-12-21  Timothy Hatcher  <timothy@apple.com>
138
139         * JavaScriptGlue.xcodeproj/project.pbxproj:
140           Set tab width to 8, indent width to 4 and uses tabs to false per file.
141
142 2005-12-19  Darin Adler  <darin@apple.com>
143
144         Reviewed by Geoff Garen and Eric Seidel.
145
146         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4923
147           stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
148
149         * kxmlcore/AlwaysInline.h: Added.
150
151 2005-12-15  Darin Adler  <darin@apple.com>
152
153         Reviewed by Maciej.
154
155         * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
156
157 2005-12-15  Darin Adler  <darin@apple.com>
158
159         Reviewed by Tim Hatcher.
160
161         * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
162         settings, turned off prebinding explicitly for our Development and
163         Deployment builds, remove .exp file from sources. All "clean-up".
164
165 === Safari-521~5 ===
166
167 2005-12-13  Geoffrey Garen  <ggaren@apple.com>
168
169     - Fixed build after Anders's last checkin to JavaScriptCore.
170     
171         Reviewed by darin.
172
173         * UserObjectImp.cpp:
174         (UserObjectImp::userObjectGetter): Updated to reflect new argument that 
175     getters take (unused here).
176         * UserObjectImp.h:
177
178 2005-12-13  Maciej Stachowiak  <mjs@apple.com>
179
180         Reviewed by Eric.
181
182     - added forwarding header for HashCountedSet
183
184         * kxmlcore/HashCountedSet.h: Added.
185
186 2005-12-10  Darin Adler  <darin@apple.com>
187
188         Rubber stamped by Maciej.
189
190         - updated for KJS class renaming
191
192         * many files and functions
193
194 2005-12-10  Darin Adler  <darin@apple.com>
195
196         Reviewed by Maciej.
197
198         - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
199
200         Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
201
202         * JSUtils.cpp:
203         (JSObjectKJSValue):
204         * UserObjectImp.cpp:
205         (UserObjectImp::callAsFunction):
206         (UserObjectImp::toPrimitive):
207
208 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
209
210         - added new forwarding headers
211
212         * kxmlcore/PassRefPtr.h: Added.
213         * kxmlcore/RefPtr.h: Added.
214
215 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
216
217         * kxmlcore/PassRefPtr.h: Added.
218
219 2005-11-26  Maciej Stachowiak  <mjs@apple.com>
220
221         Rubber stamped by Eric.
222
223     - renamed InterpreterLock to JSLock
224
225         * JSUtils.cpp:
226         (CFStringToUString):
227         (JSObjectKJSValue):
228         (KJSValueToCFTypeInternal):
229         * JSValueWrapper.cpp:
230         (JSValueWrapper::JSObjectCopyPropertyNames):
231         (JSValueWrapper::JSObjectCopyProperty):
232         (JSValueWrapper::JSObjectSetProperty):
233         (JSValueWrapper::JSObjectCallFunction):
234         (JSValueWrapper::JSObjectCopyCFValue):
235         * JavaScriptGlue.cpp:
236         (JSRunCreate):
237         (JSCollect):
238         (JSLockInterpreter):
239         (JSUnlockInterpreter):
240         * UserObjectImp.cpp:
241         (UserObjectImp::callAsFunction):
242
243 2005-11-16  Maciej Stachowiak  <mjs@apple.com>
244
245         Reviewed by Geoff.
246
247     Updated to use new API to drop all locks.
248
249         * JavaScriptGlue.cpp:
250         (JSLockInterpreter):
251         (JSUnlockInterpreter):
252         * UserObjectImp.cpp:
253         (UserObjectImp::callAsFunction):
254
255 2005-11-14  Geoffrey Garen  <ggaren@apple.com>
256
257         Reviewed by mjs.
258
259         - Part of the fix for <rdar://problem/4342216> Installer crash in 
260           KJS::ValueImp::marked() when garbage collector runs inside call to 
261           ConstantValues::init()
262           
263         Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
264         
265         * JavaScriptGlue.cpp:
266         (JSRunCreate):
267
268 2005-11-10  Geoffrey Garen  <ggaren@apple.com>
269
270         Reviewed by Maciej.
271
272         - Fixed <rdar://problem/4334445> installer crashed on my 
273           dual g4 450Mhz after clicking language
274
275         - Reversed backwards NULL check.
276         - Inserted guards against NULL fJSUserObject data member.
277         - Cleaned up some style.
278
279         * JSUtils.cpp:
280         (KJSValueToCFTypeInternal):
281         * UserObjectImp.cpp:
282         (UserObjectImp::~UserObjectImp):
283         (UserObjectImp::callAsFunction):
284         (UserObjectImp::userObjectGetter):
285         (UserObjectImp::getOwnPropertySlot):
286         (UserObjectImp::put):
287         (UserObjectImp::mark):
288
289 2005-11-04  Timothy Hatcher  <timothy@apple.com>
290
291         Reviewed by Darin.
292
293         * JavaScriptGlue.xcodeproj/project.pbxproj:
294           Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
295           Frameworks for the Default config.
296
297 2005-11-03  Timothy Hatcher  <timothy@apple.com>
298
299         Reviewed by Darin and Vicki.
300
301         * JavaScriptGlue.xcodeproj/project.pbxproj:
302           Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
303           $(NEXT_ROOT) in a few spots to make build-root work.
304
305 2005-11-01  Maciej Stachowiak  <mjs@apple.com>
306
307     Reviewed by: Eric.
308     
309         <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
310
311     - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
312
313         * JSUtils.cpp:
314         (KJSValueToCFTypeInternal):
315         * JSValueWrapper.cpp:
316         (JSValueWrapper::JSObjectCopyPropertyNames):
317         * UserObjectImp.cpp:
318         (UserObjectImp::propList):
319         * UserObjectImp.h:
320
321 2005-10-11  Timothy Hatcher  <timothy@apple.com>
322
323         Setup the proper Framework search path for the Default config.
324         Prepping for a TOT submission and build by B&I.
325
326         * JavaScriptGlue.xcodeproj/project.pbxproj:
327
328 2005-10-10  Darin Adler  <darin@apple.com>
329
330         Reviewed by Eric.
331
332         - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
333           in headers (reserved for compiler/library)
334
335         * Info.plist:
336         * JSBase.cpp:
337         * JSBase.h:
338         * JSObject.cpp:
339         * JSObject.h:
340         * JSRun.cpp:
341         * JSRun.h:
342         * JSUtils.cpp:
343         * JSUtils.h:
344         * JSValueWrapper.cpp:
345         * JSValueWrapper.h:
346         * JavaScriptGlue.cpp:
347         * JavaScriptGlue.h:
348         * UserObjectImp.cpp:
349         * UserObjectImp.h:
350
351 2005-10-10  Darin Adler  <darin@apple.com>
352
353         * .cvsignore: Added. Ignore Makefile.in and Makefile.
354
355 2005-10-07  Timothy Hatcher  <timothy@apple.com>
356
357         Reviewed by Maciej.
358         
359         Build fix, needed to disable RTTI. Upgraded to a native target.
360
361         * JavaScriptGlue.xcodeproj/project.pbxproj:
362         * Info.plist
363
364 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
365
366         Reviewed by Eric and Darin.
367
368     <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
369
370         * JSRun.cpp:
371         (JSRun::JSRun):
372         (JSRun::GlobalObject):
373         * JSRun.h:
374         (JSInterpreter::JSInterpreter):
375         * JSUtils.cpp:
376         (KJSValueToJSObject):
377         (JSObjectKJSValue):
378         (KJSValueToCFTypeInternal):
379         (KJSValueToCFType):
380         * JSUtils.h:
381         * JSValueWrapper.cpp:
382         (JSValueWrapper::JSValueWrapper):
383         (JSValueWrapper::GetValue):
384         (JSValueWrapper::JSObjectCopyPropertyNames):
385         (JSValueWrapper::JSObjectCopyProperty):
386         (JSValueWrapper::JSObjectSetProperty):
387         (JSValueWrapper::JSObjectCallFunction):
388         (JSValueWrapper::JSObjectMark):
389         * JSValueWrapper.h:
390         * JavaScriptGlue.cpp:
391         (JSRunCopyGlobalObject):
392         * JavaScriptGlue.xcodeproj/project.pbxproj:
393         * Makefile.am: Added.
394         * UserObjectImp.cpp:
395         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
396         (UserObjectImp::UserObjectImp):
397         (UserObjectImp::callAsFunction):
398         (UserObjectImp::getPropertyNames):
399         (UserObjectImp::userObjectGetter):
400         (UserObjectImp::getOwnPropertySlot):
401         (UserObjectImp::put):
402         (UserObjectImp::toPrimitive):
403         (UserObjectImp::mark):
404         * UserObjectImp.h:
405         * kxmlcore/FastMalloc.h: Added.
406         * kxmlcore/HashSet.h: Added.
407
408 2005-09-14  Maciej Stachowiak  <mjs@apple.com>
409
410         Reviewed by Geoff.
411
412     - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
413
414     Make sure to lock using the InterpreterLock class in all places that need it
415     (including anything that uses the collector, the parser, the protect count hash table,
416     and anything that allocates via fast_malloc).
417
418         * JSUtils.cpp:
419         (CFStringToUString):
420         (JSObjectKJSValue):
421         (KJSValueToCFTypeInternal):
422         * JSUtils.h:
423         * JSValueWrapper.cpp:
424         (JSValueWrapper::JSObjectCopyPropertyNames):
425         (JSValueWrapper::JSObjectCopyProperty):
426         (JSValueWrapper::JSObjectSetProperty):
427         (JSValueWrapper::JSObjectCallFunction):
428         (JSValueWrapper::JSObjectCopyCFValue):
429         * JavaScriptGlue.cpp:
430         (JSCollect):
431
432 2005-09-27  Adele Peterson  <adele@apple.com>
433
434         Reviewed by Maciej.
435
436         <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
437
438         * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
439
440 2005-09-06  Geoffrey Garen  <ggaren@apple.com>
441
442         -upgraded project files to XCode 2.1
443
444         * JavaScriptGlue.pbproj/project.pbxproj: Removed.
445         * JavaScriptGlue.xcodeproj/.cvsignore: Added.
446         * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
447
448 2005-09-01  Maciej Stachowiak  <mjs@apple.com>
449
450         Rubber stamped by hyatt.
451
452     - initial import of JavaScriptGlue into our repository
453
454         * English.lproj/InfoPlist.strings: Added.
455         * JSBase.cpp: Added.
456         (JSBase::JSBase):
457         (JSBase::~JSBase):
458         (JSBase::Retain):
459         (JSBase::Release):
460         (JSBase::RetainCount):
461         (JSBase::GetTypeID):
462         (JSBase::CopyDescription):
463         (JSBase::Equal):
464         * JSBase.h: Added.
465         * JSObject.cpp: Added.
466         (JSUserObject::JSUserObject):
467         (JSUserObject::~JSUserObject):
468         (JSUserObject::CopyPropertyNames):
469         (JSUserObject::CopyProperty):
470         (JSUserObject::SetProperty):
471         (JSUserObject::ImplementsCall):
472         (JSUserObject::CallFunction):
473         (JSUserObject::CopyCFValue):
474         (JSUserObject::Equal):
475         (JSUserObject::Mark):
476         (JSUserObject::GetData):
477         * JSObject.h: Added.
478         (JSUserObject::DataType):
479         * JSRun.cpp: Added.
480         (JSRun::JSRun):
481         (JSRun::~JSRun):
482         (JSRun::Flags):
483         (JSRun::GetSource):
484         (JSRun::GlobalObject):
485         (JSRun::GetInterpreter):
486         (JSRun::Evaluate):
487         (JSRun::CheckSyntax):
488         * JSRun.h: Added.
489         (JSInterpreter::JSInterpreter):
490         (JSInterpreter::JSInterpreter::~JSInterpreter):
491         (JSInterpreter::Flags):
492         * JSUtils.cpp: Added.
493         (CFStringToUString):
494         (UStringToCFString):
495         (CFStringToIdentifier):
496         (IdentifierToCFString):
497         (KJSValueToJSObject):
498         (JSObjectKJSValue):
499         (KJSValueToCFTypeInternal):
500         (KJSValueToCFType):
501         (GetCFNull):
502         * JSUtils.h: Added.
503         (RetainCFType):
504         (ReleaseCFType):
505         * JSValueWrapper.cpp: Added.
506         (JSValueWrapper::JSValueWrapper):
507         (JSValueWrapper::~JSValueWrapper):
508         (JSValueWrapper::GetValue):
509         (JSValueWrapper::GetExecState):
510         (JSValueWrapper::GetJSObectCallBacks):
511         (JSValueWrapper::JSObjectDispose):
512         (JSValueWrapper::JSObjectCopyPropertyNames):
513         (JSValueWrapper::JSObjectCopyProperty):
514         (JSValueWrapper::JSObjectSetProperty):
515         (JSValueWrapper::JSObjectCallFunction):
516         (JSValueWrapper::JSObjectCopyCFValue):
517         (JSValueWrapper::JSObjectMark):
518         * JSValueWrapper.h: Added.
519         * JavaScriptGlue.cpp: Added.
520         (JSSetCFNull):
521         (JSGetCFNull):
522         (JSRetain):
523         (JSRelease):
524         (JSCopyDescription):
525         (JSEqual):
526         (JSGetTypeID):
527         (JSGetRetainCount):
528         (JSObjectCreate):
529         (JSObjectCreateInternal):
530         (JSObjectCopyCFValue):
531         (JSObjectGetData):
532         (JSObjectCopyProperty):
533         (JSObjectSetProperty):
534         (JSObjectCallFunction):
535         (JSRunCreate):
536         (JSRunCopySource):
537         (JSRunCopyGlobalObject):
538         (JSRunEvaluate):
539         (JSRunCheckSyntax):
540         (JSCollect):
541         (JSTypeGetCFArrayCallBacks):
542         (JSCFRetain):
543         (JSCFRelease):
544         (JSObjectCreateWithCFType):
545         (CFJSObjectDispose):
546         (JSObjectCopyPropertyNames):
547         (CFJSObjectCopyProperty):
548         (CFJSObjectSetProperty):
549         (CFJSObjectCopyCFValue):
550         (CFJSObjectEqual):
551         (CFJSObjectCopyPropertyNames):
552         (JSCreateCFArrayFromJSArray):
553         (JSCreateJSArrayFromCFArray):
554         (JSLockInterpreter):
555         (JSUnlockInterpreter):
556         * JavaScriptGlue.exp: Added.
557         * JavaScriptGlue.h: Added.
558         * JavaScriptGlue.pbproj/project.pbxproj: Added.
559         * UserObjectImp.cpp: Added.
560         (UserObjectPrototypeImp::UserObjectPrototypeImp):
561         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
562         (UserObjectImp::UserObjectImp):
563         (UserObjectImp::~UserObjectImp):
564         (UserObjectImp::classInfo):
565         (UserObjectImp::implementsCall):
566         (UserObjectImp::call):
567         (UserObjectImp::propList):
568         (UserObjectImp::hasProperty):
569         (UserObjectImp::get):
570         (UserObjectImp::put):
571         (UserObjectImp::GetJSUserObject):
572         (UserObjectImp::toPrimitive):
573         (UserObjectImp::toBoolean):
574         (UserObjectImp::toNumber):
575         (UserObjectImp::toString):
576         (UserObjectImp::mark):
577         * UserObjectImp.h: Added.
578