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