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