dd11a6d555e4b258fe4d71f03223ba3cbb8633af
[WebKit-https.git] / WebCore / ChangeLog
1 2008-03-07  Brent Fulgham  <bfulgham@gmail.com>
2
3         Reviewed by Mark Rowe.
4
5         Correct build intermediary output
6         (http://bugs.webkit.org/show_bug.cgi?id=17713)
7
8         * WebCore/WebCore.vcproj:  Correct intermediary paths
9
10 2008-03-07  Brent Fulgham  <bfulgham@gmail.com>
11
12         Reviewed by Steve Falkenburg.
13
14         Add Cairo build requirements to WebCore.vcproj under a new
15         set of targets.  Exclude Cairo elements from normal CG build.
16         Exclude CG elements from Cairo builds.
17         (http://bugs.webkit.org/show_bug.cgi?id=17300)
18
19         * WebCore.vcproj/WebCore.vcproj:
20         * WebCore.vcproj/webcore.vsprops: Added.
21
22 2008-03-07  Darin Adler  <darin@apple.com>
23
24         Reviewed by Adam.
25
26         - eliminated WebCoreFrameBridge runOpenPanel
27
28         * page/ChromeClient.h: Added runOpenPanel function.
29         * page/mac/ChromeMac.mm:
30         (WebCore::ChromeClient::runOpenPanel): Added.
31         * platform/FileChooser.cpp:
32         (WebCore::FileChooser::FileChooser): Moved this here. It's no longer platform-specific.
33         Also start the refcount at 1.
34         (WebCore::FileChooser::create): Added adoptRef since the refcount no starts at one.
35         (WebCore::FileChooser::~FileChooser): Moved here. No longer platform-specific.
36         * platform/FileChooser.h: Removed m_controller, which was Macintosh-specific.
37         * platform/gtk/FileChooserGtk.cpp: Removed FileChooser constructor and destructor,
38         since they are no longer platform-specific.
39         * platform/qt/FileChooserQt.cpp: Ditto.
40         * platform/win/FileChooserWin.cpp: Ditto.
41         * platform/wx/TemporaryLinkStubs.cpp: Ditto.
42         * platform/mac/FileChooserMac.mm:
43         (WebCore::FileChooser::openFileChooser): Call the chrome client instead of the
44         bridge to run the open panel. Allows us to get rid of the WebCoreOpenPanelController
45         class and m_controller data member and move the cosntrutor/destructor to platform-
46         independent code.
47
48 2008-03-07  Adam Roben  <aroben@apple.com>
49
50         Add JavaScriptDebugServer
51
52         This class is a singleton which allows one or more
53         JavaScriptDebugListeners to receive callbacks during JavaScript
54         execution.
55
56         Right now all listeners receive callbacks for all Pages in the
57         process. Eventually we will want to support listeners registering for
58         callbacks for specific Pages (e.g., the Inspector will want to listen
59         for execution in just the Page it's inspecting).
60
61         Pages notify the JavaScriptDebugServer when they are created so that
62         it can install itself as the Page's debugger.
63
64         Reviewed by Darin.
65
66         * GNUMakefile.am: Added new files to project.
67         * WebCore.pro: Ditto.
68         * WebCore.vcproj/WebCore.vcproj: Ditto.
69         * WebCore.xcodeproj/project.pbxproj: Ditto.
70         * WebCoreSources.bkl: Ditto.
71         * page/JavaScriptDebugListener.h: Added.
72         * page/JavaScriptDebugServer.cpp: Added.
73         (WebCore::toFrame):
74         (WebCore::JavaScriptDebugServer::shared):
75         (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
76         (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
77         (WebCore::JavaScriptDebugServer::addListener): Registers as the
78         debugger for all Pages if we're adding our first listener.
79         (WebCore::JavaScriptDebugServer::removeListener): Deregisters as the
80         debugger for all Pages if we're removing our last listner.
81         (WebCore::JavaScriptDebugServer::pageCreated): Registers as the
82         debugger for the newly created Page if we have any listeners.
83         (WebCore::dispatchDidParseSource): Helper function.
84         (WebCore::dispatchFailedToParseSource): Ditto.
85         (WebCore::JavaScriptDebugServer::sourceParsed): Call
86         dispatchDidParseSource or dispatchFailedToParseSource depending on
87         whether there was an error or not.
88         (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Calls
89         the passed-in JavaScriptExecutionCallback on each listener, guarding
90         against re-entry.
91         (WebCore::JavaScriptDebugServer::callEvent): Dispatch didEnterCallFrame.
92         (WebCore::JavaScriptDebugServer::atStatement): Dispatch willExecuteStatement.
93         (WebCore::JavaScriptDebugServer::returnEvent): Dispatch willLeaveCallFrame.
94         (WebCore::JavaScriptDebugServer::exception): Dispatch exceptionWasRaised.
95         * page/JavaScriptDebugServer.h: Added.
96         * page/Page.cpp:
97         (WebCore::Page::Page): Tell the shared JavaScriptDebugServer we were
98         created so it can register as our debugger if needed.
99
100 2008-03-07  Darin Adler  <darin@apple.com>
101
102         Reviewed by Brady.
103
104         - fix a theoretical problem with the visited-link hash table by avoiding collision
105           with the special "deleted" value
106         - improve efficiency of with the visited-link hash table by not hashing twice
107
108         * page/PageGroup.cpp:
109         (WebCore::avoidDeletedValue): Added. Makes sure we never try to use the "all ones"
110         value, since the hash table uses that for deleted hash table entries.
111         (WebCore::PageGroup::isLinkVisited): Call avoidDeletedValue before using the hash
112         value with the HashSet.
113         (WebCore::PageGroup::addVisitedLink): Ditto.
114
115         * page/PageGroup.h: Added a new hash function, AlreadyHashed, for unsigned integer
116         values. This assumes that the value is already a hash value, and doesn't try to
117         hash it again. Used this for m_visitedLinkHashes.
118
119 2008-03-07  Simon Hausmann  <hausmann@webkit.org>
120
121         Fix the Qt build.
122
123         * WebCore.pro:
124
125 2008-03-06  Sam Weinig  <sam@webkit.org> with a little help from Oliver Hunt  <oliver@apple.com>
126
127         Reviewed by Mitz.
128
129         Implement the HTML5 canvas tainting rules to prevent potential data leakage
130
131         Added originClean to HTMLCanvasElement and CanvasPattern
132         to track whether a canvas (or pattern) is tainted by remote
133         data.
134         Use originClean flag to determine whether getImageData should
135         return, well, image data.
136
137         Test: http/tests/security/canvas-remote-read-remote-image.html
138
139         * html/CanvasPattern.cpp:
140         (WebCore::CanvasPattern::CanvasPattern):
141         * html/CanvasPattern.h:
142         * html/CanvasRenderingContext2D.cpp:
143         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
144         (WebCore::CanvasRenderingContext2D::setFillStyle):
145         (WebCore::CanvasRenderingContext2D::checkOrigin):
146         (WebCore::CanvasRenderingContext2D::drawImage):
147         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
148         (WebCore::CanvasRenderingContext2D::createPattern):
149         (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage):
150         (WebCore::CanvasRenderingContext2D::getImageData):
151         * html/CanvasRenderingContext2D.h:
152         * html/HTMLCanvasElement.cpp:
153         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
154         * html/HTMLCanvasElement.h:
155         (WebCore::HTMLCanvasElement::setOriginTainted):
156         (WebCore::HTMLCanvasElement::originClean):
157
158 2008-03-06  Anders Carlsson  <andersca@apple.com>
159
160         Reviewed by Jon.
161
162         Templatize the JNI call code to reduce the amount of code that has
163         to be duplicated.
164
165         * bridge/jni/jni_class.cpp:
166         (JavaClass::JavaClass):
167         * bridge/jni/jni_instance.cpp:
168         (JavaInstance::stringValue):
169         (JavaInstance::numberValue):
170         (JavaInstance::booleanValue):
171         (JavaInstance::invokeMethod):
172         * bridge/jni/jni_jsobject.cpp:
173         (JavaJSObject::convertJObjectToValue):
174         * bridge/jni/jni_runtime.cpp:
175         (JavaField::JavaField):
176         (JavaMethod::JavaMethod):
177         * bridge/jni/jni_utility.cpp:
178         * bridge/jni/jni_utility.h:
179         (KJS::Bindings::):
180         (KJS::Bindings::callJNIMethodIDA):
181         (KJS::Bindings::callJNIMethodV):
182         (KJS::Bindings::callJNIMethod):
183         (KJS::Bindings::callJNIStaticMethod):
184
185 2008-03-06  Darin Adler  <darin@apple.com>
186
187         Reviewed by Mitz.
188
189         - fix regression test failures from the visited-link change
190
191         * WebCore.base.exp: Export PageGroup::setShouldTrackVisitedLinks.
192         * page/PageGroup.cpp:
193         (WebCore::PageGroup::addVisitedLink): Do nothing and return early
194         if shouldTrackVisitedLinks is false.
195         (WebCore::PageGroup::removeVisitedLinks): Reset m_visitedLinksPopulated
196         so the next time a link is queried this will be populated from history.
197         (WebCore::PageGroup::setShouldTrackVisitedLinks): Added.
198         * page/PageGroup.h: Added setShouldTrackVisitedLinks. This is global
199         for now, but it would be better if it was per-page-group instead.
200
201 2008-03-06  Adele Peterson  <adele@apple.com>
202
203         Reviewed by Darin.
204
205         Fixes for for <rdar://problem/5785892> Implement activeElement attribute for HTMLDocument (HTML5)
206         and <rdar://problem/5785895> Implement hasFocus() for HTMLDocument (HTML5)
207
208         Tests: fast/dom/HTMLDocument/activeElement.html
209                fast/dom/HTMLDocument/hasFocus.html
210
211         * html/HTMLDocument.cpp:
212         (WebCore::HTMLDocument::activeElement): Added. Returns the focused element, or the body element if nothing's focused.
213         (WebCore::HTMLDocument::hasFocus): Added. Returns whether or not the document has focus (inclusive of sub-frames).
214         * html/HTMLDocument.h: Added methods for activeElement and hasFocus.
215         * html/HTMLDocument.idl: Added definitions for activeElement and hasFocus.
216
217 2008-03-06  Dan Bernstein  <mitz@apple.com>
218
219         Reviewed by Darin Adler.
220
221         - fix <rdar://problem/5741981> 154008 WebKit: Some asian language font glyphs are not shown (in Mail and Entourage)
222
223         Test: fast/text/soft-hyphen-3.html
224
225         * rendering/bidi.cpp:
226         (WebCore::checkMidpoints):
227         (WebCore::RenderBlock::findNextLineBreak): Made 'pos' unsigned. Made the
228         midpoint after a hyphen always be a valid iterator, not allowing an
229         offset past the end of a text node. Changed the check for consecutive
230         soft hyphens to account for that.
231
232 2008-03-06  Darin Adler  <darin@apple.com>
233
234         - try to fix Wx build
235
236         * WebCoreSources.bkl: Added PageGroup.cpp.
237
238 2008-03-06  Darin Adler  <darin@apple.com>
239
240         - fix some builds
241
242         * GNUmakefile.am: Added PageGroup.cpp.
243         * WebCore.base.exp: Removed WebCoreHistory.
244         * WebCore.pro: Added PageGroup.cpp.
245
246 2008-03-06  Alexey Proskuryakov  <ap@webkit.org>
247
248         Reviewed by Darin.
249
250         <rdar://problem/5687269> Need to create a Collator abstraction for WebCore and JavaScriptCore
251         
252         * ForwardingHeaders/wtf/unicode/Collator.h: Added.
253         * xml/XSLTUnicodeSort.cpp:
254         (WebCore::xsltUnicodeSortFunction):
255         * xml/XSLTUnicodeSort.h:
256
257 2008-03-06  Darin Adler  <darin@apple.com>
258
259         Reviewed by Mitz.
260
261         - fix http://bugs.webkit.org/show_bug.cgi?id=17526
262           REGRESSION: iframes are added to Safari's History menu
263           by separating the visited link machinery from global history
264
265         This should also make page loading faster due to more efficient visited link coloring.
266
267         * WebCore.base.exp: Updated.
268         * WebCore.vcproj/WebCore.vcproj: Added PageGroup.h/cpp, removed GlobalHistory.h/cpp.
269         * WebCore.xcodeproj/project.pbxproj: Ditto. Also removed WebCoreHistory.h/m.
270
271         * css/CSSStyleSelector.cpp: Updated includes.
272         (WebCore::CSSStyleSelector::initElementAndPseudoState): Eliminated code to set
273         currentEncodedURL.
274         (WebCore::checkPseudoState): Moved most of the code inside a new
275         PageGroup::isLinkVisited function.
276         (WebCore::CSSStyleSelector::canShareStyleWithElement): Tightened code a bit by using
277         references and only getting colors when needed.
278         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
279         * css/CSSStyleSelector.h: Removed EncodedURL, m_encodedURL, and setEncodedURL.
280
281         * dom/Document.cpp:
282         (WebCore::Document::attach): Removed call to setEncodedURL.
283         (WebCore::Document::setURL): Ditto.
284         (WebCore::Document::recalcStyleSelector): Ditto.
285
286         * loader/FrameLoader.cpp:
287         (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Changed code to use
288         early exit idiom to be a little more readable.
289         (WebCore::FrameLoader::urlsMatchItem): Change to use a reference for slightly
290         better efficiency.
291         (WebCore::FrameLoader::goToItem): Use early exit idiom to be a little more
292         readable.
293         (WebCore::FrameLoader::updateHistoryForStandardLoad): Moved history code back
294         in here and got rid of the helper function updateGlobalHistory, restoring the
295         logic before r30549. Also added a call to the new addVisitedLink function.
296         (WebCore::FrameLoader::updateHistoryForClientRedirect): Added code to call
297         addVisitedLink here.
298         (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Removed comment.
299         (WebCore::FrameLoader::updateHistoryForReload): Removed call to
300         updateGlobalHistory; we can just go without updating global history or
301         visited links here, at least for now, since it's not clear that a reload
302         is a "history event".
303         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Moved
304         history code back where it was, and added the call to addVisitedLink, just
305         as in updateHistoryForStandardLoad above.
306         * loader/FrameLoader.h: Removed updateGlobalHistory function.
307
308         * page/Chrome.cpp:
309         (WebCore::ChromeClient::populateVisitedLinks): Added. Empty placeholder so we
310         don't have to implement this for every port all at once.
311         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Changed to use the
312         new PageGroup class.
313         * page/ChromeClient.h: Added populateVisitedLinks function, used to fill the
314         visited links set from the global history at application startup time.
315
316         * page/FrameTree.cpp:
317         (WebCore::FrameTree::find): Updated to use the new PageGroup class.
318
319         * page/GlobalHistory.h: Removed.
320         * page/win/GlobalHistoryWin.cpp: Removed.
321         * page/mac/GlobalHistoryMac.mm: Removed.
322         * platform/mac/WebCoreHistory.h: Removed.
323         * platform/mac/WebCoreHistory.m: Removed.
324         * platform/win/WebCoreHistory.cpp: Removed.
325         * platform/win/WebCoreHistory.h: Removed.
326
327         * page/Page.cpp:
328         (WebCore::Page::Page): Set m_group to 0.
329         (WebCore::Page::setGroupName): Set up m_group. If the page is not in any
330         group, set it to 0 for now to postpone the cost of creating a group.
331         (WebCore::Page::initGroup): Added. Sets m_group to point to a single-page
332         group; used when getting a group.
333         (WebCore::Page::removeAllVisitedLinks): Added. Calls removeVisitedLinks
334         on all page groups.
335         * page/Page.h: Moved enums inside the WebCore namespace. Removed the
336         frameNamespace function and instead added the group and groupPtr functions.
337
338         * page/PageGroup.cpp: Added. Contains all the visited code from the
339         CSSStyleSelector in the isVisitedLink function, but more efficient because
340         we don't allocate memory for the buffer.
341         * page/PageGroup.h: Added.
342
343         * platform/gtk/TemporaryLinkStubs.cpp: Removed historyContains.
344         * platform/qt/TemporaryLinkStubs.cpp: Removed unneeded include.
345         * platform/wx/TemporaryLinkStubs.cpp: Removed historyContains.
346
347 2008-03-06  Mark Rowe  <mrowe@apple.com>
348
349         Fix 64-bit Mac build.
350
351         * WebCore.xcodeproj/project.pbxproj:  Exclude _NPN symbols from the exports list as they
352         are compiled out of 64-bit builds.
353
354 2008-03-06  Mark Rowe  <mrowe@apple.com>
355
356         Leopard build fix.
357
358         * WebCore.base.exp:
359
360 2008-03-05  Kevin Ollivier  <kevino@theolliviers.com>
361
362         Fix the wx build after the bindings move.
363
364         * WebCoreSources.bkl:
365         * webcore-base.bkl:
366         * webcore-wx.bkl:
367
368 2008-03-05  Dan Bernstein  <mitz@apple.com>
369
370         Reviewed by Adele Peterson.
371
372         - fix "background-position: inherit"
373
374         * css/CSSStyleSelector.cpp:
375         Made HANDLE_MULTILAYER_INHERIT_AND_INITIAL fall through and added
376         a return statement in HANDLE_MULTILAYER_VALUE. Also removed an unused
377         macro.
378
379 2008-03-05  Alp Toker  <alp@atoker.com>
380
381         Add a missing make dependency for derived sources to improve
382         autotools build dependency tracking.
383
384         Issue spotted by Ori Bernstein.
385
386         * GNUmakefile.am:
387
388 2008-03-05  Alp Toker  <alp@atoker.com>
389
390         GTK+ build fix for breakage introduced in r30800.
391
392         Track moved bridge sources from JavaScriptCore to WebCore.
393
394         * GNUmakefile.am:
395
396 2008-03-05  Justin Garcia  <justin.garcia@apple.com>
397
398         Reviewed by Darin.
399
400         One part of fix for:
401         <rdar://problem/5780697> Copying content with percentage based rules in a style sheet will cause fidelity issues
402
403         * editing/markup.cpp:
404         (WebCore::appendStartMarkup): Styles from matched rules should take precedence over those in
405         inline style declarations, not the other way around. 
406
407 2008-03-05  Anders Carlsson  <andersca@apple.com>
408
409         Reviewed by Darin.
410
411         Move JNI specific code from runtime_root over to jni_jsobject, where it is used.
412
413         * bridge/jni/jni_jsobject.cpp:
414         (completedJavaScriptAccess):
415         (initializeJavaScriptAccessLock):
416         (lockJavaScriptAccess):
417         (unlockJavaScriptAccess):
418         (dispatchToJavaScriptThread):
419         (performJavaScriptAccess):
420         (JavaJSObject::initializeJNIThreading):
421         (isJavaScriptThread):
422         (JavaJSObject::invoke):
423         * bridge/jni/jni_jsobject.h:
424         * bridge/runtime_root.cpp:
425         * bridge/runtime_root.h:
426         * page/mac/WebCoreFrameBridge.mm:
427         (-[WebCoreFrameBridge init]):
428
429 2008-03-05  Darin Adler  <darin@apple.com>
430
431         Reviewed by Sam.
432
433         - add functions giving offsets within a KURL, slated to replace the
434           EncodedURL object in CSSStyleSelector (in a future "visited link" change)
435         - changed all KURL data members names to use the traditional m_ prefix
436         - initialize all members to 0 in invalid KURLs rather than having all
437           functions check m_isValid
438
439         * platform/KURL.cpp:
440         (WebCore::KURL::invalidate): Added. Initializes all the fields except for
441         m_string to the "invalid" values. For use in the empty constructor and
442         in the init and parse functions.
443         (WebCore::KURL::init): Tweaked comments. Changed all code paths that return
444         early to use the invalidate() function. Updated for member variable name
445         changes.
446         (WebCore::KURL::hasPath): Updated for member variable name changes.
447         Remove now-unneeded check of m_isValid.
448         (WebCore::KURL::lastPathComponent): Ditto.
449         (WebCore::KURL::protocol): Ditto.
450         (WebCore::KURL::host): Ditto.
451         (WebCore::KURL::port): Ditto.
452         (WebCore::KURL::pass): Ditto.
453         (WebCore::KURL::user): Ditto.
454         (WebCore::KURL::ref): Ditto.
455         (WebCore::KURL::hasRef): Ditto.
456         (WebCore::KURL::protocolIs): Ditto.
457         (WebCore::KURL::query): Ditto.
458         (WebCore::KURL::path): Ditto.
459         (WebCore::KURL::setProtocol): Ditto.
460         (WebCore::KURL::setHost): Ditto.
461         (WebCore::KURL::setPort): Ditto.
462         (WebCore::KURL::setHostAndPort): Ditto.
463         (WebCore::KURL::setUser): Ditto.
464         (WebCore::KURL::setPass): Ditto.
465         (WebCore::KURL::setRef): Ditto.
466         (WebCore::KURL::setQuery): Ditto.
467         (WebCore::KURL::setPath): Ditto.
468         (WebCore::KURL::prettyURL): Ditto.
469         (WebCore::copyPathRemovingDots): Removed braces to match our code style.
470         (WebCore::KURL::parse): Changed all code paths that return early to use
471         the invalidate function. Moved code to set m_isValid to true to the very
472         end of the function. Removed braces to match our code style. Removed an
473         extra copy of the path/query/fragment code (there were two identical copies
474         in the two sides of an if statement). Removed some commented-out code.
475         Reversed an if statment. Added code to set the new m_pathAfterLastSlash
476         field. Updated for member variable name changes.
477         (WebCore::equalIgnoringRef): Updated for member variable name changes.
478         (WebCore::KURL::isHierarchical): Ditto.
479
480         * platform/KURL.h: Added a FIXME about ref vs. fragment. Made the empty
481         constructor inline and called the new invalidate function. Added new
482         pathStart, pathEnd, and pathAfterLastSlash functions, for use in the
483         new visited link code. Added an invalidate function. Renamed all the
484         data members to use the m_ prefix.
485
486         * WebCore.base.exp: Updated.
487
488 2008-03-05  Anders Carlsson  <andersca@apple.com>
489
490         Reviewed by Sam.
491
492         * WebCore.xcodeproj/project.pbxproj:
493         Change jni_jsobject.cpp to be Obj-C++ for now. The plan is to merge 
494         this with jni_objc.mm and create jni_jsobject.mm.
495         
496         * bridge/jni/jni_jsobject.cpp:
497         (createRootObject):
498         Move createRootObject here from WebCoreFrameBridge.
499         
500         (JavaJSObject::createNative):
501         Call the newly added createRootObject function.
502         
503         * bridge/runtime_root.cpp:
504         (KJS::Bindings::RootObject::initializeJNIThreading):
505         * bridge/runtime_root.h:
506         setCreateRootObject no longer takes a root object, rename it to initializeJNIThreading.
507
508         * page/mac/FrameMac.mm:
509         (WebCore::Frame::createScriptInstanceForWidget):
510         Just call Frame::createRootObject here.
511         
512         * page/mac/WebCoreFrameBridge.mm:
513         (-[WebCoreFrameBridge init]):
514         Call initializeJNIThreading.
515
516 2008-03-05  Anders Carlsson  <andersca@apple.com>
517
518         Reviewed by Sam.
519
520         Change some static class variables to be regular static variables,
521         making it easier to move the chunk of mac-specific code out of runtime_root.[cpp|h]
522
523         * bridge/runtime_root.cpp:
524         (KJS::Bindings::completedJavaScriptAccess):
525         (KJS::Bindings::RootObject::dispatchToJavaScriptThread):
526         (KJS::Bindings::performJavaScriptAccess):
527         (KJS::Bindings::RootObject::createRootObject):
528         (KJS::Bindings::RootObject::runLoop):
529         (KJS::Bindings::RootObject::setCreateRootObject):
530         * bridge/runtime_root.h:
531
532 2008-03-05  Brent Fulgham <bfulgham@gmail.com>
533
534         Reviewed by Adam Roben.
535
536         Modify source files to use the USE(SAFARI_THEME) macro, rather than
537         USE_SAFARI_THEME.  (http://bugs.webkit.org/show_bug.cgi?id=17683)
538
539         * WebCore/platform/win/PlatformScrollBarSafari.cpp
540         * WebCore/rendering/RenderThemeSafari.cpp
541         * WebCore/rendering/RenderThemeSafari.h
542         * config.h: Move definition of WTF_USE_SAFARI_THEME here 
543
544 2008-03-05  Brady Eidson  <beidson@apple.com>
545
546         Reviewed by Alexey and Mark Rowe
547
548         Fix for <rdar://problem/5778247> - Reproducible crash on storage/execute-sql-args.html
549
550         DatabaseThread::unscheduleDatabaseTasks() manually filters through a MessageQueue,
551         removing particular items for Databases that were shutting down.
552
553         This filtering operation is not atomic, and therefore causes a race condition with the
554         database thread waking up and reading from the message queue.  
555
556         The end result was an attempt to dereference a null DatabaseTask.  Timing-wise, this never
557         seemed to happen in a debug build, otherwise an assertion would've caught it.  Replacing that
558         assertion with a crash in a release build is what revealed this bug.
559
560         The fix for the above symptom was entirely in WTF::MessageQueue in JSCore.  With this fix in 
561         place, another crash popped up in the layout tests that was related to dereferencing a 
562         deallocated object - simply because SQLTransaction had a raw pointer to it's Database object 
563         when it needed to be a ref pointer.
564
565         * storage/SQLTransaction.cpp:
566         (WebCore::SQLTransaction::runCurrentStatement):
567         * storage/SQLTransaction.h: Change m_database to be a RefPtr
568         (WebCore::SQLTransaction::database):
569
570 2008-03-05  Mark Rowe  <mrowe@apple.com>
571
572         Build fix.
573
574         * WebCore.base.exp:  Remove symbol that no longer exists from the exports file.
575
576 2008-03-05  Adam Roben  <aroben@apple.com>
577
578         Export a header/symbol for WebKit
579
580         Reviewed by Kevin M.
581
582         * WebCore.base.exp:
583         * WebCore.xcodeproj/project.pbxproj:
584
585 2008-03-05  Adam Roben  <aroben@apple.com>
586
587         Move WebCoreScriptDebugger up to WebKit
588
589         Reviewed by Darin.
590
591         * WebCore.base.exp: Exported some functions used by
592         WebCoreScriptDebugger, and sorted the list.
593         * WebCore.xcodeproj/project.pbxproj: Removed
594         WebCoreScriptDebugger.{h,mm} from the project and marked
595         a few headers private so that WebKit can use them.
596         * page/mac/WebCoreScriptDebugger.h: Removed.
597         * page/mac/WebCoreScriptDebugger.mm: Removed.
598
599 2008-03-05  Anders Carlsson  <andersca@apple.com>
600
601         Build bridge/. Copy some headers over to WebKit as part of the post-build step.
602         
603         * WebCore.vcproj/WebCore.vcproj:
604
605 2008-03-05  Anders Carlsson  <andersca@apple.com>
606
607         Reviewed by Geoff.
608
609         * WebCore.base.exp:
610         Add the NPN and KJS methods.
611         
612         * WebCore.xcodeproj/project.pbxproj:
613         Bring in bridge/
614
615         * config.h:
616         Add HAVE_JNI define.
617         
618         * bindings/js/kjs_html.cpp:
619         * bindings/objc/DOMInternal.mm:
620         * bindings/objc/DOMUtility.mm:
621         * bindings/objc/WebScriptObject.mm:
622         * html/HTMLAppletElement.cpp:
623         * html/HTMLEmbedElement.cpp:
624         * html/HTMLObjectElement.cpp:
625         * html/HTMLPlugInElement.cpp:
626         * page/Frame.cpp:
627         * page/mac/FrameMac.mm:
628         * page/mac/WebCoreFrameBridge.mm:
629         * page/mac/WebCoreScriptDebugger.mm:
630         * plugins/win/PluginViewWin.cpp:
631         Include file changes.
632
633 2008-03-04  Anders Carlsson  <andersca@apple.com>
634
635         Reviewed by Sam.
636
637         Rewrite NPRuntime string conversion routines to use WebCore::String
638         
639         * bridge/NP_jsobject.cpp:
640         (_NPN_Evaluate):
641         * bridge/c/c_utility.cpp:
642         (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback):
643         (KJS::Bindings::convertNPVariantToValue):
644         (KJS::Bindings::convertNPStringToUTF16):
645         (KJS::Bindings::identifierFromNPIdentifier):
646         * bridge/c/c_utility.h:
647
648 2008-03-05  Oliver Hunt  <oliver@apple.com>
649
650         Reviewed by Alexey P.
651
652         Small performance improvement to putImageData (3-5% on assignment in my tests)
653
654         * html/CanvasPixelArray.h:
655         (WebCore::CanvasPixelArray::set):
656
657 2008-03-04  Sam Weinig  <sam@webkit.org>
658
659         Reviewed by Adele.
660
661         * bindings/js/JSXMLHttpRequest.h: Remove unnecessary override of toBoolean.
662
663 2008-03-04  Maciej Stachowiak  <mjs@apple.com>
664
665         Reviewed by Sam and Oliver.
666
667         - fixed http://bugs.webkit.org/show_bug.cgi?id=16289
668         - fixed Acid3 tests 26 and 27 (not exactly the same issue but related)
669
670         * bindings/js/JSNodeCustom.cpp:
671         (WebCore::JSNode::mark): When marking a node that's in-document,
672         mark the owner document if it hasn't been already. This means holding on
673         to a single node from an unreferenced document now keeps the whole document alive.
674         
675         We are now at 90/100 on Acid3.
676
677 2008-03-04  Sam Weinig  <sam@webkit.org>
678
679         Qt build fix.
680
681         * page/qt/FrameQt.cpp:
682
683 2008-03-04  Sam Weinig  <sam@webkit.org>
684
685         Reviewed by Mark Rowe.
686
687         Rename kjs_window to JSDOMWindowBase.
688
689         - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including
690           JSDOMWindow.h
691
692         * ChangeLog:
693         * DerivedSources.make:
694         * GNUmakefile.am:
695         * WebCore.pro:
696         * WebCore.vcproj/WebCore.vcproj:
697         * WebCore.xcodeproj/project.pbxproj:
698         * WebCoreSources.bkl:
699         * bindings/js/JSCustomVoidCallback.cpp:
700         * bindings/js/JSCustomXPathNSResolver.cpp:
701         * bindings/js/JSDOMWindowBase.cpp: Copied from bindings/js/kjs_window.cpp.
702         * bindings/js/JSDOMWindowBase.h: Copied from bindings/js/kjs_window.h.
703         * bindings/js/JSDOMWindowCustom.cpp:
704         * bindings/js/JSDatabaseCustom.cpp:
705         * bindings/js/JSEventTargetBase.cpp:
706         * bindings/js/JSEventTargetBase.h:
707         * bindings/js/JSEventTargetNode.cpp:
708         * bindings/js/JSHTMLDocumentCustom.cpp:
709         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
710         * bindings/js/JSHistoryCustom.cpp:
711         * bindings/js/JSLocation.cpp:
712         * bindings/js/JSSQLTransactionCustom.cpp:
713         * bindings/js/JSXMLHttpRequest.cpp:
714         * bindings/js/ScheduledAction.cpp:
715         * bindings/js/kjs_binding.cpp:
716         * bindings/js/kjs_events.cpp:
717         * bindings/js/kjs_navigator.cpp:
718         * bindings/js/kjs_proxy.cpp:
719         * bindings/js/kjs_window.cpp: Removed.
720         * bindings/js/kjs_window.h: Removed.
721         * bindings/scripts/CodeGeneratorJS.pm:
722         * history/CachedPage.cpp:
723         * loader/FrameLoader.cpp:
724         * page/Chrome.cpp:
725         * page/InspectorController.cpp:
726         * page/mac/FrameMac.mm:
727         * page/mac/WebCoreFrameBridge.mm:
728         * page/qt/FrameQt.cpp:
729         * page/win/FrameWin.cpp:
730         * plugins/win/PluginViewWin.cpp:
731
732 2008-03-04  Mark Rowe  <mrowe@apple.com>
733
734         Speculative Qt build fix.
735
736         * platform/qt/PasteboardQt.cpp:
737
738 2008-03-04  Anders Carlsson  <andersca@apple.com>
739
740         Reviewed by Sam.
741
742         Update include paths. This code is not used yet.
743
744         * bridge/NP_jsobject.cpp:
745         * bridge/c/c_class.cpp:
746         * bridge/c/c_instance.cpp:
747         * bridge/c/c_utility.cpp:
748         (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback):
749         #if 0 this out for now. 
750         
751         * bridge/jni/jni_class.cpp:
752         * bridge/jni/jni_jsobject.cpp:
753         * bridge/jni/jni_objc.mm:
754         * bridge/jni/jni_runtime.cpp:
755         * bridge/jni/jni_utility.cpp:
756         * bridge/jni/jni_utility.h:
757         * bridge/npruntime.cpp:
758         * bridge/objc/WebScriptObject.h:
759         * bridge/objc/objc_class.h:
760         * bridge/objc/objc_instance.h:
761         * bridge/objc/objc_runtime.h:
762         * bridge/objc/objc_utility.h:
763         * bridge/objc/objc_utility.mm:
764         * bridge/runtime.cpp:
765         * bridge/runtime.h:
766         * bridge/runtime_array.cpp:
767         * bridge/runtime_array.h:
768         * bridge/runtime_method.cpp:
769         * bridge/runtime_method.h:
770         * bridge/runtime_object.cpp:
771         * bridge/runtime_object.h:
772         * bridge/runtime_root.cpp:
773         * bridge/runtime_root.h:
774
775 2008-03-04  Dan Bernstein  <mitz@apple.com>
776
777         Reviewed by Darin Adler.
778
779         - fix http://bugs.webkit.org/show_bug.cgi?id=17676
780           <rdar://problem/5781091> REGRESSION (r30240-r30267): href attribute values with non-ASCII characters in the host part do not work
781
782         Test: fast/encoding/url-host-name-non-ascii.html
783
784         * platform/KURL.cpp:
785         (WebCore::appendEncodedHostname): Added an early return in the all-ASCII
786         case to avoid copying the host name twice and corrected the error
787         checking after calling uidna_IDNToASCII().
788
789 2008-03-04  Sam Weinig  <sam@webkit.org>
790
791         Reviewed by Dan Bernstein.
792
793         Use JSDOMWindow exclusively instead of JSDOMWindowBase.
794
795         * bindings/js/ScheduledAction.cpp:
796         (WebCore::ScheduledAction::execute):
797         * bindings/js/ScheduledAction.h:
798         * bindings/js/kjs_window.cpp:
799         (WebCore::JSDOMWindowBase::timerFired):
800
801 2008-03-04  Timothy Hatcher  <timothy@apple.com>
802
803         Reviewed by Darin Adler.
804
805         <rdar://problem/5720160> Browser windows "do nothing" while modal
806         dialog or menu is up due to run loop modes (or while scrolling)
807
808         Adds a new SchedulePair object that holds a runloop and the mode to use.
809         A HashSet of SchedulePairs is tracked by Page so it can be used for resource
810         loading and, in the future, maybe SharedTimerMac.
811
812         * WebCore.base.exp: Add new exports for WebKit.
813         * WebCore.xcodeproj/project.pbxproj: Add new files.
814         * loader/mac/DocumentLoaderMac.cpp: Added.
815         (WebCore::scheduleAll): Call schedule all the ResourceLoader handles.
816         (WebCore::unscheduleAll): Call unschedule all the ResourceLoader handles.
817         (WebCore::DocumentLoader::schedule): Schedule all the ResourceLoaders owned by the DocumentLoader.
818         (WebCore::DocumentLoader::unschedule): Unschedule all the ResourceLoaders owned by the DocumentLoader.
819         * loader/DocumentLoader.h:
820         * page/Page.h:
821         (WebCore::Page::scheduledRunLoopPairs): Return m_scheduledRunLoopPairs.
822         * page/mac/PageMac.cpp:
823         (WebCore::Page::addSchedulePair): Add a SchedulePair to m_scheduledRunLoopPairs.
824         (WebCore::Page::removeSchedulePair): Removes a SchedulePair from m_scheduledRunLoopPairs.
825         * platform/cf/SchedulePair.cpp: Added.
826         * platform/cf/SchedulePair.h: Added.
827         * platform/mac/SchedulePairMac.mm: Added.
828         * platform/network/ResourceHandle.h:
829         * platform/network/mac/FormDataStreamMac.mm:
830         (WebCore::advanceCurrentStream): Use the new SchedulePair.
831         (WebCore::formCreate): Ditto.
832         (WebCore::formFinalize): Ditto.
833         (WebCore::formSchedule): Ditto.
834         (WebCore::formUnschedule): Ditto.
835         * platform/network/mac/ResourceHandleMac.mm:
836         (WebCore::ResourceHandle::start): Schedule the connection with all the SchedulePairs
837         that Page holds. If Page has no SchedulePairs, schedule with the current runloop, and
838         pick the mode based on ResourceHandle::loadsDuringCommonRunLoopModes.
839         (WebCore::ResourceHandle::schedule):
840         (WebCore::ResourceHandle::unschedule):
841
842 2008-03-04  Sam Weinig  <sam@webkit.org>
843
844         Reviewed by Darin Adler.
845
846         Rename kjs_css to JSRGBColor.
847
848         * DerivedSources.make:
849         * GNUmakefile.am:
850         * WebCore.pro:
851         * WebCore.vcproj/WebCore.vcproj:
852         * WebCore.xcodeproj/project.pbxproj:
853         * WebCoreSources.bkl:
854         * bindings/js/JSRGBColor.cpp: Copied from bindings/js/kjs_css.cpp.
855         * bindings/js/JSRGBColor.h: Copied from bindings/js/kjs_css.h.
856         * bindings/js/kjs_css.cpp: Removed.
857         * bindings/js/kjs_css.h: Removed.
858         * bindings/js/kjs_window.cpp:
859         * bindings/objc/DOMUtility.mm:
860         * bindings/scripts/CodeGeneratorJS.pm:
861
862 2008-03-04  Anders Carlsson  <andersca@apple.com>
863
864         Fix 64-bit build.
865         
866         * html/HTMLPlugInElement.cpp:
867
868 2008-03-04  Nikolas Zimmermann  <zimmermann@kde.org>
869
870         Reviewed by Eric & David.
871
872         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17078
873
874         Fix getSubStringLength() handling, verified by Acid3 test 77.
875         Brings up Acid3 score to 88/100.
876
877         Added test: svg/custom/acid3-test-77.html
878                     svg/custom/getSubStringLength.html
879
880         * svg/SVGTextContentElement.cpp:
881         (WebCore::cummulatedCharacterRangeLength): Simplify some code.
882         (WebCore::SVGTextContentElement::getSubStringLength):
883
884 2008-03-04  Anders Carlsson  <andersca@apple.com>
885
886         Mac build fix. Neither me, Sam nor Adam know why we need to do this though :(
887
888         * bindings/js/kjs_proxy.cpp:
889         (WebCore::KJSProxy::attachDebugger):
890         * page/Page.cpp:
891         (WebCore::Page::setDebuggerForAllPages):
892         (WebCore::Page::setDebugger):
893
894 2008-03-04  Adam Roben  <aroben@apple.com>
895
896         Add ExecState.h to ForwardingHeaders
897
898         Reviewed by Anders.
899
900         * ForwardingHeaders/kjs/ExecState.h: Added.
901         * page/Page.cpp: Touch this to force WebCore to build and the headers
902         to be copied.
903
904 2008-03-04  Adam Roben  <aroben@apple.com>
905
906         Make it possible to set a KJS::Debugger on all Frames in a Page and
907         all Pages in the process
908
909         Reviewed by Kevin M.
910
911         * ForwardingHeaders/kjs/debugger.h: Added.
912         * bindings/js/kjs_proxy.cpp:
913         (WebCore::KJSProxy::initScript): Attach the Page's debugger if there
914         is one.
915         (WebCore::KJSProxy::attachDebugger): Attach the passed-in debugger, or
916         detach any existing debugger if none was passed in.
917         * bindings/js/kjs_proxy.h:
918         * page/Page.cpp:
919         (WebCore::Page::Page): Initialize new member.
920         (WebCore::Page::setDebuggerForAllPages): Call setDebugger on each Page
921         in the process.
922         (WebCore::Page::setDebugger): Store the debugger and pass it off to
923         all our Frames.
924         * page/Page.h:
925
926 2008-03-04  Sam Weinig  <sam@webkit.org>
927
928         Reviewed by Darin Adler.
929
930         Add ClassInfo to custom constructors so that they toString properly
931
932         - Take this chance to remove the "Imp" from the end of JSXMLHttpRequestConstructorImp,
933           and XSLTProcessorConstructorImp and prefix all the classes with JS. 
934
935         * bindings/js/JSAudioConstructor.cpp:
936         (WebCore::): Added ClassInfo definition.
937         (WebCore::JSAudioConstructor::JSAudioConstructor):
938         (WebCore::JSAudioConstructor::construct): Cleanup.
939         * bindings/js/JSAudioConstructor.h: Rename m_doc to m_document.
940         (WebCore::JSAudioConstructor::classInfo): Added.
941
942         * bindings/js/JSHTMLInputElementBase.cpp: Rename HTMLInputElementBasePrototype 
943         to JSHTMLInputElementBasePrototype as seen if toString'ed.
944         (WebCore::):
945
946         * bindings/js/JSHTMLOptionElementConstructor.cpp:
947         (WebCore::): Added ClassInfo definition.
948         * bindings/js/JSHTMLOptionElementConstructor.h:
949         (WebCore::JSHTMLOptionElementConstructor::classInfo): Added.
950
951         * bindings/js/JSImageConstructor.cpp:
952         (WebCore::): Added ClassInfo definition.
953         (WebCore::JSImageConstructor::implementsConstruct): Moved here from header.
954         * bindings/js/JSImageConstructor.h:
955         (WebCore::JSImageConstructor::classInfo): Added.
956
957         * bindings/js/JSXMLHttpRequest.cpp:
958         (WebCore::): Rename XMLHttpRequestPrototype  to JSXMLHttpRequestPrototype 
959         as seen if toString'ed.
960         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
961         (WebCore::JSXMLHttpRequestConstructor::implementsConstruct):
962         (WebCore::JSXMLHttpRequestConstructor::construct):
963         * bindings/js/JSXMLHttpRequest.h: Renamed JSXMLHttpRequestConstructorImp to
964         JSXMLHttpRequestConstructor and doc to m_document and 
965         (WebCore::JSXMLHttpRequestConstructor::classInfo): Added.
966
967         * bindings/js/JSXSLTProcessor.cpp:
968         (WebCore::): Renamed XSLTProcessorPrototype to JSXSLTProcessorPrototype and 
969         XSLTProcessorConstructorImp to JSXSLTProcessorConstructor.
970         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
971         (WebCore::JSXSLTProcessorConstructor::implementsConstruct):
972         (WebCore::JSXSLTProcessorConstructor::construct):
973         * bindings/js/JSXSLTProcessor.h:
974         (WebCore::JSXSLTProcessorConstructor::classInfo): Added.
975
976         * bindings/js/kjs_window.cpp:
977         (WebCore::JSDOMWindowBase::getValueProperty): Fixed to work with the new class names.
978
979 2008-03-04  Dan Bernstein  <mitz@apple.com>
980
981         Reviewed by Oliver Hunt and Geoffrey Garen.
982
983         - fix http://bugs.webkit.org/show_bug.cgi?id=17667
984           <rdar://problem/5779658> REGRESSION (r30587): Document::implicitClose() not called when done loading page (Image does not get scaled to fit)
985
986         * loader/loader.cpp:
987         (WebCore::Loader::didFinishLoading): Changed to call
988         setLoadInProgress(false) even for 4xx errors, because that triggers
989         load completion check.
990
991 2008-03-04  Adele Peterson  <adele@apple.com>
992
993         Reviewed by Beth.
994
995         Fix for <rdar://problem/5779718> focus() does not work for anchor elements with no content
996
997         If an anchor has zero size, don't exclude it from being focusable from JS, just exclude it
998         from being keyboard focusable (using the tab key).
999
1000         * html/HTMLAnchorElement.cpp:
1001         (WebCore::HTMLAnchorElement::isFocusable):
1002         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
1003
1004 2008-03-04  Chris Fleizach  <cfleizach@apple.com>
1005
1006         Reviewed by Darin Adler.
1007
1008         - fix <rdar://problem/5119360> ER - Seed: Google results do not have AXHeading information
1009
1010         * page/mac/WebCoreAXObject.mm:
1011         (headingLevel):
1012         (-[WebCoreAXObject accessibilityIsIgnored]):
1013
1014 2008-03-04  Sam Weinig  <sam@webkit.org>
1015
1016         GTK+ build fix.
1017
1018         * GNUmakefile.am:
1019
1020 2008-03-04  Sam Weinig  <sam@webkit.org>
1021
1022         Reviewed by Darin Adler.
1023
1024         Remame ImageConstructorImp to JSImageConstructor and move it into its
1025         own file.
1026
1027         * GNUmakefile.am:
1028         * WebCore.pro:
1029         * WebCore.vcproj/WebCore.vcproj:
1030         * WebCore.xcodeproj/project.pbxproj:
1031         * WebCoreSources.bkl:
1032         * bindings/js/JSImageConstructor.cpp: Copied from bindings/js/kjs_html.cpp.
1033         (WebCore::JSImageConstructor::JSImageConstructor):
1034         (WebCore::JSImageConstructor::construct):
1035         * bindings/js/JSImageConstructor.h: Copied from bindings/js/kjs_html.h.
1036         * bindings/js/kjs_html.cpp:
1037         (WebCore::getRuntimeObject): Make this function static since it is only used
1038         in this file.
1039         * bindings/js/kjs_html.h:
1040         * bindings/js/kjs_window.cpp:
1041         (WebCore::JSDOMWindowBase::getValueProperty):
1042
1043 2008-03-04  Adam Roben  <aroben@apple.com>
1044
1045         Fix an uninitialized value warning in CodeGeneratorJS.pm
1046
1047         * bindings/scripts/CodeGeneratorJS.pm: Remove reference to
1048         non-existent $maybeOkParam (this was removed in r30753).
1049
1050 2008-03-04  Sam Weinig  <sam@webkit.org>
1051
1052         Reviewed by Darin Adler.
1053
1054         Remove kjs_dom.{h,cpp}.
1055
1056         - Removed custom toAttr, which took a boolean ok, and teach CodeGeneratorJS.pm
1057           to us a null return value as an indication of failure. (This new logic is used
1058           for toVoidCallback as well.)
1059         - Move getRuntimeObject to kjs_html where a bunch of other runtime object related
1060           functions currently live.
1061         - Move checkNodeSecurity to kjs_binding, where other frame security functions 
1062           currently live.
1063         - Remove getNodeConstructor.  It had no implementation.
1064
1065         * GNUmakefile.am:
1066         * WebCore.pro:
1067         * WebCore.vcproj/WebCore.vcproj:
1068         * WebCore.xcodeproj/project.pbxproj:
1069         * WebCoreSources.bkl:
1070         * bindings/js/JSAttrCustom.cpp:
1071         * bindings/js/JSCustomVoidCallback.cpp:
1072         (WebCore::toVoidCallback):
1073         * bindings/js/JSCustomVoidCallback.h:
1074         * bindings/js/JSDatabaseCustom.cpp:
1075         (WebCore::JSDatabase::changeVersion):
1076         (WebCore::JSDatabase::transaction):
1077         * bindings/js/JSElementCustom.cpp:
1078         (WebCore::JSElement::setAttributeNode):
1079         (WebCore::JSElement::setAttributeNodeNS):
1080         * bindings/js/JSEventTargetBase.cpp:
1081         (WebCore::toJS):
1082         * bindings/js/JSEventTargetBase.h:
1083         * bindings/js/JSHTMLAppletElementCustom.cpp:
1084         * bindings/js/JSHTMLElementCustom.cpp:
1085         * bindings/js/JSHTMLEmbedElementCustom.cpp:
1086         * bindings/js/JSHTMLFormElementCustom.cpp:
1087         * bindings/js/JSHTMLFrameElementCustom.cpp:
1088         * bindings/js/JSHTMLIFrameElementCustom.cpp:
1089         * bindings/js/JSHTMLObjectElementCustom.cpp:
1090         * bindings/js/JSNamedNodeMapCustom.cpp:
1091         * bindings/js/JSNamedNodesCollection.cpp:
1092         * bindings/js/JSNodeFilterCustom.cpp:
1093         * bindings/js/JSXSLTProcessor.cpp:
1094         * bindings/js/kjs_binding.cpp:
1095         (WebCore::checkNodeSecurity):
1096         * bindings/js/kjs_binding.h:
1097         * bindings/js/kjs_css.cpp:
1098         * bindings/js/kjs_dom.cpp: Removed.
1099         * bindings/js/kjs_dom.h: Removed.
1100         * bindings/js/kjs_events.cpp:
1101         * bindings/js/kjs_html.cpp:
1102         (WebCore::getRuntimeObject):
1103         * bindings/js/kjs_html.h:
1104         * bindings/js/kjs_window.cpp:
1105         * bindings/scripts/CodeGeneratorJS.pm:
1106         * dom/Attr.idl:
1107         * html/HTMLPlugInElement.cpp:
1108         * page/InspectorController.cpp:
1109
1110 2008-03-04  Adam Roben  <aroben@apple.com>
1111
1112         Win/Qt/GTK+/wx build fix after r30740
1113
1114         * editing/Editor.cpp: Added missing #include.
1115         * page/qt/FrameQt.cpp: Removed Frame::dashboardRegionsChanged.
1116         * page/win/FrameWin.cpp: Ditto.
1117         * platform/wx/TemporaryLinkStubs.cpp: Ditto.
1118
1119 2008-03-04  Alp Toker  <alp@atoker.com>
1120
1121         GTK+ build fix for breakage introduced in r30740.
1122
1123         Remove Frame::dashboardRegionsChanged(). There's now a default
1124         implementation at ChromeClient::dashboardRegionsChanged().
1125
1126         * page/gtk/FrameGtk.cpp:
1127
1128 2008-03-04  Alp Toker  <alp@atoker.com>
1129
1130         GTK+ build fix suggested by aroben. Remove an unused Mac-specific
1131         included introduced in r30740.
1132
1133         * page/ChromeClient.h:
1134
1135 2008-03-04  Dan Bernstein  <mitz@apple.com>
1136
1137         Reviewed by Sam Weinig.
1138
1139         - fix <rdar://problem/5622336> Burmese text does not render on http://www.myanmarbible.com/bible/Judson/html/index.html
1140
1141         Test: platform/win/fast/text/uniscribe-missing-glyph.html
1142
1143         Note that default installations of Windows do not have Myanmar fonts.
1144         What this patch does is ensure that the Myanmar and other complex
1145         scripts are rendered as missing glyphs rather than not rendered at all.
1146         The particular page in the bug measures the relative widths of two
1147         rendered strings and, if they are rendered as missing glyphs, detects
1148         that a Myanmar fonts is not available and substitutes the text with
1149         images. By not rendering (and measuring) missing glyphs, WebKit was
1150         throwing the page's detection code off.
1151
1152         * platform/graphics/win/UniscribeController.cpp:
1153         (WebCore::UniscribeController::shape): Removed an early return in case
1154         shaping resulted in missing glyphs. This is now expected if font
1155         fallback failed to produce a font containing glyphs for the character.
1156         Also changed two resize()s to shrink()s.
1157
1158 2008-03-04  Darin Adler  <darin@apple.com>
1159
1160         Reviewed by Adam.
1161
1162         - remove WebCoreFrameBridge reapplyStyles method
1163
1164         * WebCore.base.exp: Added exports.
1165         * page/mac/WebCoreFrameBridge.h: Removed WebCoreDeviceType and
1166         reapplyStylesForDeviceType: method.
1167         * page/mac/WebCoreFrameBridge.mm: Ditto.
1168
1169 2008-03-04  Darin Adler  <darin@apple.com>
1170
1171         Reviewed by Adam.
1172
1173         - eliminate WebCoreFrameBridge createFrameViewWithNSView
1174
1175         * WebCore.base.exp: Added some more exports.
1176         * page/mac/WebCoreFrameBridge.h: Deleted createFrameViewWithNSView.
1177         * page/mac/WebCoreFrameBridge.mm: Ditto.
1178
1179 2008-03-04  Darin Adler  <darin@apple.com>
1180
1181         Reviewed by Adam.
1182
1183         - removed WebCoreFrameBridge scrollOverflowInDirection
1184
1185         * WebCore.base.exp: Export function needed by WebKit.
1186         * page/mac/WebCoreFrameBridge.h: Removed WebScrollDirection, WebScrollGranularity,
1187         and scrollOverflowInDirection.
1188         * page/mac/WebCoreFrameBridge.mm: Removed method.
1189
1190 2008-03-04  Darin Adler  <darin@apple.com>
1191
1192         Reviewed by Adam.
1193
1194         - remove WebCoreFrameBridge installInFrame: method
1195
1196         * WebCore.base.exp: Export a few symbols.
1197         * WebCore.xcodeproj/project.pbxproj: Export a few files.
1198         * page/mac/WebCoreFrameBridge.h: Remove installInFrame:.
1199         * page/mac/WebCoreFrameBridge.mm: Ditto.
1200
1201 2008-03-04  Darin Adler  <darin@apple.com>
1202
1203         Reviewed by Adam.
1204
1205         - remove WebCoreFrameBridge window method
1206
1207         * page/mac/EventHandlerMac.mm:
1208         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): Get the window by calling
1209         window on the NSView instead of using the bridge. The WebKit side wasn't doing anything
1210         special, so a call to -[NSView window] is fine.
1211
1212         * page/mac/WebCoreFrameBridge.h: Removed the window method.
1213
1214 2008-03-04  Darin Adler  <darin@apple.com>
1215
1216         Reviewed by Adam.
1217
1218         - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
1219
1220         * WebCore.base.exp: Updated.
1221         * page/Chrome.cpp:
1222         (WebCore::ChromeClient::dashboardRegionsChanged): Added.
1223         * page/ChromeClient.h: Added virtual function for dashboardRegionsChanged.
1224         * page/Frame.h: Removed dashboardRegionsChanged function.
1225         * page/FrameView.cpp:
1226         (WebCore::FrameView::updateDashboardRegions): Changed to call dashboardRegionsChanged
1227         on ChromeClient and to only call it when the regions actually changed.
1228         * page/mac/FrameMac.mm: Removed dashboardRegionsChanged function.
1229         * page/mac/WebCoreFrameBridge.h: Removed dashboardRegionsChanged: method.
1230
1231 2008-03-04  Darin Adler  <darin@apple.com>
1232
1233         Reviewed by Adam.
1234
1235         - remove WebCoreFrameBridge issuePasteComand method
1236
1237         * editing/Editor.cpp:
1238         (WebCore::Editor::paste): Moved the Mac-specific part of this to EditorMac.
1239         * editing/mac/EditorMac.mm:
1240         (WebCore::Editor::paste): Added. Calls paste: on the document view (normally a
1241         WebHTMLView). We should get rid of this eventually.
1242         * page/Frame.h: Removed issuePasteCommand.
1243         * page/mac/FrameMac.mm: Ditto.
1244         * page/mac/WebCoreFrameBridge.h: Ditto.
1245
1246 2008-03-04  Alexey Proskuryakov  <ap@webkit.org>
1247
1248         Suggested by Darin, rubber-stamped by Mark.
1249
1250         http://bugs.webkit.org/show_bug.cgi?id=17569
1251         REGRESSION (r30571): Buzzword.com doesn't load
1252
1253         Rolling out r30571, as determining what is wrong with it proved tricky.
1254
1255         * loader/FrameLoader.cpp:
1256         (WebCore::FrameLoader::load):
1257         (WebCore::FrameLoader::tokenizerProcessedData):
1258         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1259
1260 2008-03-04  Sam Weinig  <sam@webkit.org>
1261
1262         Build fix.
1263
1264         * bindings/js/kjs_events.cpp:
1265
1266 2008-03-03  Sam Weinig  <sam@webkit.org>
1267
1268         Reviewed by Mark Rowe.
1269
1270         Move JSClipboard into its own file.
1271
1272         * DerivedSources.make:
1273         * GNUmakefile.am:
1274         * WebCore.pro:
1275         * WebCore.vcproj/WebCore.vcproj:
1276         * WebCore.xcodeproj/project.pbxproj:
1277         * WebCoreSources.bkl:
1278         * bindings/js/JSAttrCustom.cpp:
1279         * bindings/js/JSClipboardCustom.cpp: Added.
1280         (WebCore::JSClipboard::types):
1281         (WebCore::JSClipboard::clearData):
1282         (WebCore::JSClipboard::getData):
1283         (WebCore::JSClipboard::setData):
1284         (WebCore::JSClipboard::setDragImage):
1285         * bindings/js/JSElementCustom.cpp:
1286         * bindings/js/JSEventCustom.cpp:
1287         * bindings/js/JSHTMLFrameElementCustom.cpp:
1288         * bindings/js/JSHTMLIFrameElementCustom.cpp:
1289         * bindings/js/kjs_events.cpp:
1290         * bindings/js/kjs_events.h:
1291         * bindings/js/kjs_window.cpp:
1292         * bindings/scripts/CodeGeneratorJS.pm:
1293         * dom/Clipboard.cpp:
1294         (WebCore::Clipboard::setDropEffect):
1295         (WebCore::Clipboard::setEffectAllowed):
1296         * dom/Clipboard.idl: Added.
1297
1298 2008-03-03  Sam Weinig  <sam@webkit.org>
1299
1300         Windows build-fix.
1301
1302         * page/Chrome.cpp:
1303         * plugins/win/PluginViewWin.cpp:
1304
1305 2008-03-03  Sam Weinig  <sam@webkit.org>
1306
1307         Reviewed by Darin Adler.
1308
1309         Cleanup and plumbing in preparation for the great Window split.
1310
1311         - Rename KJS::Window to WebCore::JSDOMWindowBase.
1312         - Remove KJS::Window::retrieve() and KJS::Window::retrieveWindow() and replace
1313           with the new toJSDOMWindow().
1314         - Remove KJS::Window::retrieveActive() and replace with explicit call to 
1315           exec->dynamicGlobalObject() and toJSDOMWindow().
1316
1317         * bindings/js/JSCustomVoidCallback.cpp:
1318         (WebCore::toVoidCallback):.
1319         * bindings/js/JSCustomXPathNSResolver.cpp:
1320         (WebCore::JSCustomXPathNSResolver::create):
1321         * bindings/js/JSDatabaseCustom.cpp:
1322         (WebCore::JSDatabase::changeVersion):
1323         (WebCore::JSDatabase::transaction):
1324         * bindings/js/JSDocumentCustom.cpp:
1325         (WebCore::JSDocument::location):
1326         (WebCore::toJS):
1327         * bindings/js/JSEventTargetBase.cpp:
1328         (WebCore::jsEventTargetAddEventListener):
1329         (WebCore::jsEventTargetRemoveEventListener):
1330         * bindings/js/JSEventTargetNode.cpp:
1331         (WebCore::JSEventTargetNode::setListener):
1332         * bindings/js/JSHTMLDocumentCustom.cpp:
1333         (WebCore::JSHTMLDocument::nameGetter):
1334         (WebCore::JSHTMLDocument::open):
1335         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
1336         (WebCore::JSHTMLFrameSetElement::nameGetter):
1337         * bindings/js/JSLocation.cpp:
1338         (WebCore::JSLocation::put):
1339         (WebCore::jsLocationProtoFuncReplace):
1340         (WebCore::jsLocationProtoFuncReload):
1341         (WebCore::jsLocationProtoFuncAssign):
1342         * bindings/js/JSLocation.h:
1343         * bindings/js/JSSQLTransactionCustom.cpp:
1344         (WebCore::JSSQLTransaction::executeSql):
1345         * bindings/js/JSSVGLazyEventListener.cpp:
1346         (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener):
1347         (WebCore::JSSVGLazyEventListener::eventParameterName):
1348         * bindings/js/JSSVGLazyEventListener.h:
1349         * bindings/js/JSXMLHttpRequest.cpp:
1350         (WebCore::JSXMLHttpRequest::putValueProperty):
1351         (WebCore::jsXMLHttpRequestPrototypeFunctionOpen):
1352         (WebCore::jsXMLHttpRequestPrototypeFunctionAddEventListener):
1353         (WebCore::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
1354         * bindings/js/ScheduledAction.cpp:
1355         (WebCore::ScheduledAction::execute):
1356         * bindings/js/ScheduledAction.h:
1357         * bindings/js/kjs_binding.cpp:
1358         (WebCore::allowsAccessFromFrame):
1359         (WebCore::printErrorMessageForFrame):
1360         * bindings/js/kjs_events.cpp:
1361         (WebCore::JSAbstractEventListener::handleEvent):
1362         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
1363         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
1364         (WebCore::JSUnprotectedEventListener::windowObj):
1365         (WebCore::JSEventListener::JSEventListener):
1366         (WebCore::JSEventListener::~JSEventListener):
1367         (WebCore::JSEventListener::windowObj):
1368         (WebCore::JSLazyEventListener::JSLazyEventListener):
1369         (WebCore::JSLazyEventListener::parseCode):
1370         * bindings/js/kjs_events.h:
1371         * bindings/js/kjs_navigator.cpp:
1372         (WebCore::MimeType::getValueProperty):
1373         * bindings/js/kjs_proxy.cpp:
1374         (WebCore::KJSProxy::evaluate):
1375         (WebCore::KJSProxy::createHTMLEventHandler):
1376         (WebCore::KJSProxy::createSVGEventHandler):
1377         * bindings/js/kjs_window.cpp:
1378         (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
1379         (WebCore::DOMWindowTimer::DOMWindowTimer):
1380         (WebCore::DOMWindowTimer::action):
1381         (WebCore::DOMWindowTimer::takeAction):
1382         (WebCore::):
1383         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1384         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
1385         (WebCore::JSDOMWindowBase::location):
1386         (WebCore::JSDOMWindowBase::mark):
1387         (WebCore::allowPopUp):
1388         (WebCore::createWindow):
1389         (WebCore::showModalDialog):
1390         (WebCore::JSDOMWindowBase::getValueProperty):
1391         (WebCore::JSDOMWindowBase::childFrameGetter):
1392         (WebCore::JSDOMWindowBase::indexGetter):
1393         (WebCore::JSDOMWindowBase::namedItemGetter):
1394         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
1395         (WebCore::JSDOMWindowBase::put):
1396         (WebCore::JSDOMWindowBase::allowsAccessFrom):
1397         (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
1398         (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
1399         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
1400         (WebCore::JSDOMWindowBase::printErrorMessage):
1401         (WebCore::JSDOMWindowBase::globalExec):
1402         (WebCore::JSDOMWindowBase::shouldInterruptScript):
1403         (WebCore::JSDOMWindowBase::setListener):
1404         (WebCore::JSDOMWindowBase::getListener):
1405         (WebCore::JSDOMWindowBase::findJSEventListener):
1406         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
1407         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
1408         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
1409         (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
1410         (WebCore::JSDOMWindowBase::clear):
1411         (WebCore::JSDOMWindowBase::setCurrentEvent):
1412         (WebCore::JSDOMWindowBase::currentEvent):
1413         (WebCore::windowProtoFuncAToB):
1414         (WebCore::windowProtoFuncBToA):
1415         (WebCore::windowProtoFuncOpen):
1416         (WebCore::windowProtoFuncSetTimeout):
1417         (WebCore::windowProtoFuncClearTimeout):
1418         (WebCore::windowProtoFuncSetInterval):
1419         (WebCore::windowProtoFuncAddEventListener):
1420         (WebCore::windowProtoFuncRemoveEventListener):
1421         (WebCore::windowProtoFuncShowModalDialog):
1422         (WebCore::windowProtoFuncNotImplemented):
1423         (WebCore::JSDOMWindowBase::setReturnValueSlot):
1424         (WebCore::JSDOMWindowBase::clearAllTimeouts):
1425         (WebCore::JSDOMWindowBase::installTimeout):
1426         (WebCore::JSDOMWindowBase::pauseTimeouts):
1427         (WebCore::JSDOMWindowBase::resumeTimeouts):
1428         (WebCore::JSDOMWindowBase::clearTimeout):
1429         (WebCore::JSDOMWindowBase::timerFired):
1430         (WebCore::JSDOMWindowBase::disconnectFrame):
1431         (WebCore::JSDOMWindowBase::jsEventListeners):
1432         (WebCore::JSDOMWindowBase::jsHTMLEventListeners):
1433         (WebCore::JSDOMWindowBase::jsUnprotectedEventListeners):
1434         (WebCore::JSDOMWindowBase::jsUnprotectedHTMLEventListeners):
1435         (WebCore::toJS):
1436         (WebCore::toJSDOMWindow):
1437         (WebCore::toJSDOMWindow):
1438         * bindings/js/kjs_window.h:
1439         (WebCore::JSDOMWindowBase::impl):
1440         (WebCore::JSDOMWindowBase::classInfo):
1441         (WebCore::JSDOMWindowBase::):
1442         * bindings/objc/DOMUtility.mm:
1443         (KJS::createDOMWrapper):
1444         * bindings/scripts/CodeGeneratorJS.pm:
1445         * history/CachedPage.cpp:
1446         (WebCore::CachedPage::CachedPage):
1447         (WebCore::CachedPage::restore):
1448         * page/Chrome.cpp:
1449         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1450         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
1451         * page/DOMWindow.idl:
1452         * page/Frame.cpp:
1453         (WebCore::Frame::~Frame):
1454         (WebCore::Frame::windowScriptNPObject):
1455         (WebCore::Frame::pageDestroyed):
1456         * page/InspectorController.cpp:
1457         (WebCore::inspectedWindow):
1458         * page/mac/FrameMac.mm:
1459         (WebCore::Frame::windowScriptObject):
1460         * page/mac/WebCoreFrameBridge.mm:
1461         (updateRenderingForBindings):
1462         * platform/SecurityOrigin.cpp:
1463         (WebCore::SecurityOrigin::canAccess):
1464
1465 2008-03-03  Kevin Ollivier  <kevino@theolliviers.com>
1466
1467         wx build fixes after recent Frame-related changes.
1468
1469         * platform/wx/PasteboardWx.cpp:
1470         * platform/wx/TemporaryLinkStubs.cpp:
1471
1472 2008-03-03  Dan Bernstein  <mitz@apple.com>
1473
1474         Reviewed by Darin Adler.
1475
1476         - make :first-letter apply to the first letter in normal flow, skipping
1477           floats and positioned objects
1478
1479         Test: fast/css/first-letter-skip-out-of-flow.html
1480
1481         * rendering/RenderBlock.cpp:
1482         (WebCore::RenderBlock::updateFirstLetter):
1483
1484 2008-03-03  Ada Chan  <adachan@apple.com>
1485
1486         Fix build.
1487
1488         * plugins/win/PluginViewWin.cpp:
1489
1490 2008-03-03  Mark Rowe  <mrowe@apple.com>
1491
1492         Reviewed by Dan Bernstein.
1493
1494         Fix http://bugs.webkit.org/show_bug.cgi?id=17313
1495         Bug 17313: querySelectorAll() causing crashes when called via dojo.query() wrapper
1496
1497         Node::querySelector and SelectorNodeList were not sufficiently initializing the CSSStyleSelector
1498         before using it to resolve styles, which lead to it having a stale m_style member in some situations.
1499         This stale m_style member resulted in a wild store that would write over whatever object now resided
1500         at the location m_style pointed to.
1501
1502         Test: fast/dom/SelectorAPI/bug-17313.html
1503
1504         * dom/Node.cpp:
1505         (WebCore::Node::querySelector): Call initForStyleResolve to further initialize the CSSStyleSelector.
1506         * dom/SelectorNodeList.cpp:
1507         (WebCore::SelectorNodeList::SelectorNodeList): Ditto.
1508
1509 2008-03-03  Anders Carlsson  <andersca@apple.com>
1510
1511         Reviewed by Darin and Sam.
1512
1513         Include fixes, in preparation of using the headers in WebCore/bridge.
1514         
1515         * bindings/js/kjs_binding.h:
1516         * bindings/js/kjs_dom.cpp:
1517         * bindings/objc/DOMInternal.mm:
1518         * bindings/objc/DOMUtility.mm:
1519         * bindings/objc/WebScriptObject.mm:
1520         * bindings/objc/WebScriptObjectPrivate.h:
1521         * bridge/objc/objc_class.h:
1522         * bridge/objc/objc_instance.h:
1523         * bridge/objc/objc_runtime.h:
1524         * bridge/objc/objc_utility.h:
1525         * bridge/runtime.h:
1526         * bridge/runtime_object.h:
1527         * bridge/runtime_root.h:
1528         * html/HTMLAppletElement.cpp:
1529         * html/HTMLAppletElement.h:
1530         * html/HTMLEmbedElement.cpp:
1531         * html/HTMLEmbedElement.h:
1532         * html/HTMLObjectElement.cpp:
1533         * html/HTMLPlugInElement.cpp:
1534         * html/HTMLPlugInElement.h:
1535         * page/mac/FrameMac.mm:
1536         * page/mac/WebCoreFrameBridge.h:
1537         * page/mac/WebCoreFrameBridge.mm:
1538         * page/mac/WebCoreScriptDebugger.mm:
1539
1540 2008-03-03  David Hyatt  <hyatt@apple.com>
1541
1542         Full page zoom plumbing.  Add a notion of whether or not a zoom is text only or a full zoom to the
1543         Frame.  setTextSizeMultiplier does a text only zoom.
1544
1545         Reviewed by Tim H.
1546
1547         * page/Frame.cpp:
1548         (WebCore::Frame::zoomFactor):
1549         (WebCore::Frame::isZoomFactorTextOnly):
1550         (WebCore::Frame::setZoomFactor):
1551         (WebCore::FramePrivate::FramePrivate):
1552         * page/Frame.h:
1553         * page/FramePrivate.h:
1554         * page/mac/WebCoreFrameBridge.mm:
1555         (-[WebCoreFrameBridge setTextSizeMultiplier:]):
1556         * svg/SVGSVGElement.cpp:
1557         (WebCore::SVGSVGElement::setCurrentScale):
1558
1559 2008-03-03  David Hyatt  <hyatt@apple.com>
1560
1561         Fix for <rdar://problem/5776161> REGRESSION: Google Docs Spreadsheet crash
1562
1563         This is also http://bugs.webkit.org/show_bug.cgi?id=17543, fixed table layout corrupts heap.
1564
1565         Make sure not to access position -1 of the size 0 vectors.
1566
1567         Reviewed by ggaren
1568
1569         * rendering/FixedTableLayout.cpp:
1570         (WebCore::FixedTableLayout::layout):
1571
1572 2008-03-03  David D. Kilzer  <ddkilzer@webkit.org>
1573
1574         Dynamically inserting CSS rule with @media query fails with DOM Exception 12
1575         <http://bugs.webkit.org/show_bug.cgi?id=15986>
1576
1577         Reviewed by Darin.
1578
1579         Allow any valid rule (@font-face, @import, @media, @page or style) to be
1580         parsed when using CSSStyleSheet.insertRule().  Previously only import and
1581         style rules were allowed.  Note that @page rules always throw an exception
1582         because they're not implemented yet, so no test case was added for them.
1583
1584         Tests: fast/css/insertRule-font-face.html
1585                fast/css/insertRule-media.html
1586
1587         * css/CSSGrammar.y: Extracted 'valid_rule' out of 'rule'.  Renamed
1588         'ruleset_or_import' to 'valid_rule_or_import' and changed its definition.
1589
1590 2008-03-03  Anders Carlsson  <andersca@apple.com>
1591
1592         Reviewed by Sam.
1593
1594         Copy JSC bindings directory over to WebCore/bridge.
1595
1596         * bridge: Copied from ../JavaScriptCore/bindings.
1597
1598 2008-03-03  Dan Bernstein  <mitz@apple.com>
1599
1600         Reviewed by Darin Adler.
1601
1602         - remove CSSMutableStyleDeclaration::setChanged()'s change type
1603           parameter
1604
1605         * css/CSSMutableStyleDeclaration.cpp:
1606         (WebCore::CSSMutableStyleDeclaration::setChanged): Removed the change
1607         type parameter and made this function determine the correct change type
1608         based on whether this is an inline style declaration.
1609         (WebCore::CSSMutableStyleDeclaration::setProperty):
1610         * css/CSSMutableStyleDeclaration.h:
1611         (WebCore::CSSMutableStyleDeclaration::clear): Removed this unused
1612         method.
1613         (WebCore::CSSMutableStyleDeclaration::setChanged): Made private.
1614
1615 2008-03-03  Darin Adler  <darin@apple.com>
1616
1617         Reviewed by Adam.
1618
1619         - some "cleanup" on the path to removing WebCoreFrameBridge
1620
1621         * WebCore.base.exp: Exported some stuff we either already use or
1622         I am about to use in an upcoming patch.
1623
1624         * WebCore.xcodeproj/project.pbxproj: Made FileChooser.h private rather
1625         than project, for future use in WebKit.
1626
1627         * bindings/objc/WebScriptObject.mm: Removed some dead code.
1628
1629         * dom/ContainerNode.cpp: Added a now-needed or soon-to-be-needed include.
1630         * editing/Editor.cpp: Ditto.
1631
1632         * editing/Editor.h: Removed many unneeded declarations and includes.
1633         Removed the unused userVisibleString function.
1634
1635         * editing/EditorCommand.cpp:
1636         (WebCore::executeYank): Added parameter for triggeringEvent, which no
1637         longer has a default value.
1638         (WebCore::executeYankAndSelect): Ditto.
1639
1640         * editing/mac/EditorMac.mm: Removed userVisibleString.
1641
1642         * page/mac/EventHandlerMac.mm:
1643         (WebCore::isKeyboardOptionTab): Tweaked formattin.
1644
1645         * page/mac/WebCoreFrameBridge.mm:
1646         (-[WebCoreFrameBridge dragSourceMovedTo:]): Get window from -[NSView window]
1647         rather than from the bridge. There's no special value in the bridge's window
1648         method and we can use NSView directly.
1649         (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): Ditto.
1650
1651         * platform/graphics/mac/ImageMac.mm:
1652         (WebCore::Image::loadPlatformResource): Use a new WebCoreBundleFinder class to
1653         find the bundle rather than using WebCoreFrameBridge.
1654
1655         * platform/mac/ClipboardMac.mm: Added a now-needed or soon-to-be-needed include.
1656         * platform/mac/PasteboardMac.mm: Ditto.
1657
1658         * rendering/RenderObject.h:
1659         (WebCore::DashboardRegionValue::operator==): Fixed mistake where this wasn't
1660         comparing the clip rectangle.
1661         (WebCore::DashboardRegionValue::operator!=): Added. Needed by my future work.
1662
1663 2008-03-03  Oliver Hunt  <oliver@apple.com>
1664
1665         Reviewed by Mark Rowe.
1666
1667         Bug 17620: getImageData lies
1668         http://bugs.webkit.org/show_bug.cgi?id=17620
1669
1670         Correct logic to actually iterate over the source row
1671
1672         * platform/graphics/cg/ImageBufferCG.cpp:
1673         (WebCore::ImageBuffer::getImageData):
1674
1675 2008-03-03  Oliver Hunt  <oliver@apple.com>
1676
1677         Reviewed by Mark Rowe.
1678
1679         Correct incorrect assertion
1680
1681         * platform/graphics/cg/ImageBufferCG.cpp:
1682         (WebCore::ImageBuffer::putImageData):
1683
1684 2008-03-02  Alp Toker  <alp@atoker.com>
1685
1686         Another fix for non-database builds after changes in r30331.
1687
1688         Conditionalize a stopDatabases() call.
1689
1690         * loader/FrameLoader.cpp:
1691         (WebCore::FrameLoader::stopLoading):
1692
1693 2008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
1694
1695         Reviewed by Alp Toker.
1696
1697         Scrolling fixes. Implement page scrolling, initialize mouse wheel
1698         event variables, and remove duplicate event binding for TOP
1699         scrolling event.
1700
1701         http://bugs.webkit.org/show_bug.cgi?id=17643
1702
1703         * platform/wx/MouseWheelEventWx.cpp:
1704         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1705         * platform/wx/ScrollViewWx.cpp:
1706         (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
1707         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
1708
1709 2008-03-02  Alp Toker  <alp@atoker.com>
1710
1711         Fix building without database support after changes in r30331.
1712
1713         * dom/Document.cpp:
1714
1715 2008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
1716
1717         wx build fix for Windows after PageWin.cpp move.
1718
1719         * webcore-wx.bkl:
1720
1721 2008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
1722
1723         Reviewed by Dave Hyatt.
1724
1725         Gracefully handle a CSS rule containing an invalid value.
1726         (Fixes http://bugs.webkit.org/show_bug.cgi?id=16898)
1727
1728         * css/CSSGrammar.y:
1729
1730 2008-03-02  Alp Toker  <alp@atoker.com>
1731
1732         Reviewed by Mark Rowe.
1733
1734         Improve the Cairo Path::isEmpty() function
1735
1736         Use cairo_has_current_point() where available.
1737
1738         * platform/graphics/cairo/PathCairo.cpp:
1739         (WebCore::Path::isEmpty):
1740
1741 2008-03-01  Mark Rowe  <mrowe@apple.com>
1742
1743         Reviewed by Tim Hatcher.
1744
1745         Update Xcode configuration to support building debug and release from the mysterious future.
1746
1747         * Configurations/DebugRelease.xcconfig:
1748
1749 2008-03-01  Oliver Hunt  <oliver@apple.com>
1750
1751         Reviewed by Sam Weinig.
1752
1753         Bug 16954: Support putImageData
1754         
1755         Implement support for HTML5's putImageData for the CG port.  All other ports
1756         are currently just using stubs for the final blit.
1757
1758         Test: fast/canvas/canvas-putImageData.html
1759
1760         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1761         (WebCore::JSCanvasRenderingContext2D::putImageData):
1762         * html/CanvasRenderingContext2D.cpp:
1763         (WebCore::CanvasRenderingContext2D::putImageData):
1764         * html/CanvasRenderingContext2D.h:
1765         * platform/graphics/ImageBuffer.h:
1766         * platform/graphics/cairo/ImageBufferCairo.cpp:
1767         * platform/graphics/cg/ImageBufferCG.cpp:
1768         (WebCore::ImageBuffer::putImageData):
1769         * platform/graphics/qt/ImageBufferQt.cpp:
1770         * platform/graphics/wx/ImageBufferWx.cpp:
1771
1772 2008-03-01  Jon Honeycutt  <jhoneycutt@apple.com>
1773
1774         Reviewed by Darin.
1775
1776         <rdar://problem/5772987> Crashing viewing page with two VLC plug-in
1777         instances
1778
1779         The VLC Netscape plug-in crashes if more than one instance is created.
1780
1781         Added a quirk that disallows a plug-in from having more than one
1782         instance and set this for the VLC plug-in.
1783
1784         In addition, we now sort plug-ins that handle the same MIME
1785         type to choose the most appropriate one. This sorting first sorts by
1786         whether a plug-in has an issue that should put it at the end of the
1787         list, then whether it appears in a "preferred" plug-in directory.
1788
1789         * plugins/PluginQuirkSet.h: Added PluginQuirkDontAllowMultipleInstances.
1790         * plugins/PluginDatabase.cpp:
1791         (WebCore::PluginDatabase::preferredPluginCompare): Comparator for
1792         sorting plug-ins; calls PluginPackage::compare().
1793         (WebCore::PluginDatabase::pluginForMIMEType): Add all of the plug-ins
1794         that handle this MIME type to a list, sort the list, and return the
1795         first item.
1796         (WebCore::PluginDatabase::MIMETypeForExtension): Add all of the plug-ins
1797         that handle this extension to a list, sort the list, and return the MIME
1798         type used by the plug-in at the beginning of the list.
1799         * plugins/PluginDatabase.h:
1800         * plugins/PluginPackage.h:
1801         (WebCore::PluginPackage::version): Added; returns the module version.
1802         * plugins/win/PluginDatabaseWin.cpp:
1803         (WebCore::PluginDatabase::isPreferredPluginPath): Made static; removed
1804         const.
1805         * plugins/win/PluginPackageWin.cpp:
1806         (WebCore::PluginPackage::compare): Sorts plug-ins with known issues to
1807         the end, then plug-ins in preferred directories to the beginning, then
1808         alphabetically by file name, numerically by version, and alphabetically
1809         by parent directory.
1810         (WebCore::PluginPackage::determineQuirks): Set the "don't allow multiple
1811         instances" quirk for VLC.
1812         (WebCore::PluginPackage::load): Return false if the plug-in library has
1813         already been loaded and the "don't allow multiple instances" quirk is
1814         set.
1815         * platform/gtk/TemporaryLinkStubs.cpp:
1816         (PluginPackage::compare): Added stub.
1817         (PluginDatabase::IsPreferredPluginPath): Update the GTK stub.
1818         * platform/qt/TemporaryLinkStubs.cpp:
1819         (PluginPackage::compare): Added stub.
1820         (PluginDatabase::IsPreferredPluginPath): Update the Qt stub.
1821         * platform/wx/TemporaryLinkStubs.cpp:
1822         (PluginPackage::compare): Added stub.
1823         (PluginDatabase::IsPreferredPluginPath): Update the wx stub.
1824
1825 2008-03-01  Sam Weinig  <sam@webkit.org>
1826
1827         Rubber-stamped by Mark Rowe.
1828
1829         Remove reference to the now non-existent bridge directory.
1830
1831         * WebCore.xcodeproj/project.pbxproj:
1832
1833 2008-03-01  Sam Weinig  <sam@webkit.org>
1834
1835         Reviewed by Darin Adler.
1836
1837         Search the entire prototype chain when doing early prototype lookup in
1838         the Window's getOwnPropertySlot method.
1839
1840         Makes fast/dom/Window/window-function-name-getter-precedence.html pass all tests.
1841
1842         * bindings/js/kjs_window.cpp:
1843         (KJS::Window::getOwnPropertySlot):
1844
1845 2008-03-01  Nikolas Zimmermann  <zimmermann@kde.org>
1846
1847         Reviewed by Oliver.
1848
1849         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17568 (SVGForeignObjectElement can't react to width/height SVG DOM changes)
1850
1851         As the bug title says, fix all dynamic update problems that occour with SVGForeignObjectElement.
1852
1853         Tests: svg/dynamic-updates/SVGForeignObjectElement-dom-height-attr.html
1854                svg/dynamic-updates/SVGForeignObjectElement-dom-width-attr.html
1855                svg/dynamic-updates/SVGForeignObjectElement-dom-x-attr.html
1856                svg/dynamic-updates/SVGForeignObjectElement-dom-y-attr.html
1857                svg/dynamic-updates/SVGForeignObjectElement-svgdom-height-prop.html
1858                svg/dynamic-updates/SVGForeignObjectElement-svgdom-width-prop.html
1859                svg/dynamic-updates/SVGForeignObjectElement-svgdom-x-prop.html
1860                svg/dynamic-updates/SVGForeignObjectElement-svgdom-y-prop.html
1861
1862         * svg/SVGForeignObjectElement.cpp:
1863         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
1864         (WebCore::addCSSPropertyAndNotifyAttributeMap):
1865         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
1866         * svg/SVGForeignObjectElement.h:
1867
1868 2008-02-29  Brady Eidson  <beidson@apple.com>
1869
1870         Reviewed by build-fix karma
1871
1872         Bonehead mistake.  Revert function to previous version for all non-Windows+CFNetwork platforms
1873
1874         * platform/network/ProtectionSpace.cpp:
1875         (WebCore::ProtectionSpace::receivesCredentialSecurely): Make my previous change conditionally
1876
1877 2008-02-29  Brady Eidson  <beidson@apple.com>
1878
1879         Reviewed by Darin
1880         
1881         <rdar://problem/5771227> - Incorrect password handling text in credential sheet
1882
1883         * platform/network/ProtectionSpace.cpp:
1884         (WebCore::ProtectionSpace::receivesCredentialSecurely): Call functional CFNetwork method to
1885           get "secureness" of the auth challenge instead of figuring it out ourselves
1886
1887 2008-02-29  Brent Fulgham  <bfulgham@gmail.com>
1888
1889         http://bugs.webkit.org/show_bug.cgi?id=17483
1890         Implement scrollbars on Windows (Cairo)
1891
1892         Reviewed by Adam Roben.
1893
1894         * platform/win/PlatfromScrollBarWin.cpp: Duplicate implementation
1895           from PlatformScrollBarWinSafari.cpp, then modify to use the
1896           native Windows theme engine.  Use SOFT_LINK.  Use platform
1897           'GetSystemMetrics' call to decide size of scrollbars and buttons.
1898
1899 2008-02-29  Adam Roben  <aroben@apple.com>
1900
1901         Windows build fix
1902
1903         * WebCore.vcproj/WebCore.vcproj: Remove bridge/* from the include path
1904         and the post-build event, and add page/win to each. Also let VS have
1905         its way with the order of the files.
1906         * page/win/PageWin.cpp: Copied from bridge/win/PageWin.cpp in r30673
1907         * page/win/GlobalHistoryWin.cpp: Copied from
1908         bridge/win/GlobalHistoryWin.cpp in r30673
1909
1910 2008-02-29  Anders Carlsson  <andersca@apple.com>
1911
1912         Build fix.
1913
1914         * WebCore.xcodeproj/project.pbxproj:
1915
1916 2008-02-29  Mark Rowe  <mrowe@apple.com>
1917
1918         Reviewed by Tim Hatcher.
1919
1920         64-bit build fix.
1921
1922         * platform/graphics/mac/SimpleFontDataMac.mm:
1923         (WebCore::pathFromFont): Provide stub implementation of pathFromFont for 64-bit as
1924         FMGetATSFontRefFromFont is not available.
1925
1926 2008-02-29  Mark Rowe  <mrowe@apple.com>
1927
1928         Build fix.  Only declare pathFromFont in debug builds as it is unused in release builds.
1929
1930         * platform/graphics/mac/SimpleFontDataMac.mm:
1931
1932 2008-02-29  Anders Carlsson  <andersca@apple.com>
1933
1934         Reviewed by Adam.
1935         
1936         Copy the remaining files in bridge/ over to page/
1937
1938         * WebCore.vcproj/WebCore.vcproj:
1939         * WebCore.xcodeproj/project.pbxproj:
1940         * bridge: Removed.
1941         * bridge/AXObjectCache.h: Removed.
1942         * bridge/EditorClient.h: Removed.
1943         * bridge/GlobalHistory.h: Removed.
1944         * bridge/win: Removed.
1945         * bridge/win/FrameCGWin.cpp: Removed.
1946         * bridge/win/FrameCairoWin.cpp: Removed.
1947         * bridge/win/FrameWin.cpp: Removed.
1948         * bridge/win/FrameWin.h: Removed.
1949         * bridge/win/GlobalHistoryWin.cpp: Removed.
1950         * bridge/win/PageWin.cpp: Removed.
1951         * page/AXObjectCache.h: Copied from bridge/AXObjectCache.h.
1952         * page/EditorClient.h: Copied from bridge/EditorClient.h.
1953         * page/GlobalHistory.h: Copied from bridge/GlobalHistory.h.
1954         * page/win/FrameCGWin.cpp: Copied from bridge/win/FrameCGWin.cpp.
1955         * page/win/FrameCairoWin.cpp: Copied from bridge/win/FrameCairoWin.cpp.
1956         * page/win/FrameWin.cpp: Copied from bridge/win/FrameWin.cpp.
1957         * page/win/FrameWin.h: Copied from bridge/win/FrameWin.h.
1958
1959 2008-02-29  Robert Blaut  <webkit@blaut.biz>
1960
1961         Reviewed by Darin Adler.
1962
1963         - fix http://bugs.webkit.org/show_bug.cgi?id=17532
1964           Webkit imports styles from <link> element which doesn't have rel=stylesheet defined
1965
1966         Test: fast/html/link-rel-stylesheet.html
1967
1968         * html/HTMLLinkElement.cpp:
1969         (WebCore::HTMLLinkElement::process):
1970
1971 2008-02-29  Mark Rowe  <mrowe@apple.com>
1972
1973         Reviewed by Anders Carlsson.
1974
1975         Replace use of WKPathFromFont with implementation in terms of public API.
1976
1977         * WebCore.base.exp: Remove unused symbol.
1978         * platform/graphics/mac/SimpleFontDataMac.mm:
1979         (WebCore::initFontData):
1980         (WebCore::pathFromFont): Implement pathFromFont in terms of public API.
1981         (WebCore::SimpleFontData::platformInit):
1982         * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
1983         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1984
1985 2008-02-29  Anders Carlsson  <andersca@apple.com>
1986
1987         Reviewed by Adam.
1988
1989         Move a bunch of files from bridge/mac to page/mac.
1990         
1991         * WebCore.xcodeproj/project.pbxproj:
1992         * bridge/mac: Removed.
1993         * bridge/mac/AXObjectCacheMac.mm: Removed.
1994         * bridge/mac/GlobalHistoryMac.mm: Removed.
1995         * bridge/mac/WebCoreAXObject.h: Removed.
1996         * bridge/mac/WebCoreAXObject.mm: Removed.
1997         * bridge/mac/WebCoreScriptDebugger.h: Removed.
1998         * bridge/mac/WebCoreScriptDebugger.mm: Removed.
1999         * page/mac/AXObjectCacheMac.mm: Copied from bridge/mac/AXObjectCacheMac.mm.
2000         * page/mac/GlobalHistoryMac.mm: Copied from bridge/mac/GlobalHistoryMac.mm.
2001         * page/mac/WebCoreAXObject.h: Copied from bridge/mac/WebCoreAXObject.h.
2002         * page/mac/WebCoreAXObject.mm: Copied from bridge/mac/WebCoreAXObject.mm.
2003         * page/mac/WebCoreScriptDebugger.h: Copied from bridge/mac/WebCoreScriptDebugger.h.
2004         * page/mac/WebCoreScriptDebugger.mm: Copied from bridge/mac/WebCoreScriptDebugger.mm.
2005
2006 2008-02-29  David Hyatt  <hyatt@apple.com>
2007
2008         Fix for http://bugs.webkit.org/show_bug.cgi?id=17559, media query tests crashing under
2009         guard malloc.  Pass along the style selector so it can be accessed, since it has not yet
2010         been assigned into the document's member variable.
2011
2012         Reviewed by aroben
2013
2014         * css/CSSStyleSelector.cpp:
2015         (WebCore::CSSRuleSet::addRulesFromSheet):
2016         * css/MediaQueryEvaluator.cpp:
2017         (WebCore::MediaQueryEvaluator::eval):
2018         * css/MediaQueryEvaluator.h:
2019
2020 2008-02-29  David Hyatt  <hyatt@apple.com>
2021
2022         <rdar://problem/5755916> REGRESSION: Loading HTML5 spec is 5x slower on TOT than in 3.0.4
2023
2024         Improve the performance of dynamic sibling and CSS3 selectors so that there is no slowdown any more.
2025         Be more precise in terms of what nodes we mark dirty.
2026
2027         Reviewed by Beth
2028
2029         * css/CSSStyleSelector.cpp:
2030         (WebCore::CSSStyleSelector::checkSelector):
2031         * dom/Element.cpp:
2032         (WebCore::Element::recalcStyle):
2033         (WebCore::checkForSiblingStyleChanges):
2034         (WebCore::Element::childrenChanged):
2035         (WebCore::Element::finishParsingChildren):
2036         * rendering/RenderStyle.cpp:
2037         (WebCore::RenderStyle::RenderStyle):
2038         * rendering/RenderStyle.h:
2039         (WebCore::RenderStyle::childrenAffectedByPositionalRules):
2040         (WebCore::RenderStyle::childrenAffectedByDirectAdjacentRules):
2041         (WebCore::RenderStyle::setChildrenAffectedByDirectAdjacentRules):
2042
2043 2008-02-29  Alexey Proskuryakov  <ap@webkit.org>
2044
2045         Reviewed by Darin.
2046
2047         <rdar://problem/5766352> REGRESSION (r27151): XMLHttpRequest.abort() resets response status
2048
2049         Test: http/tests/xmlhttprequest/status-after-abort.html
2050
2051         * xml/XMLHttpRequest.cpp:
2052         (WebCore::XMLHttpRequest::getStatus):
2053         (WebCore::XMLHttpRequest::getStatusText):
2054         Changed to match Firefox more closely (IE just raises an exception in most of those cases).
2055
2056 2008-02-29  Dan Bernstein  <mitz@apple.com>
2057
2058         Reviewed by Darin Adler.
2059
2060         - fix a bug where explicit embedding past the end of a line could
2061           affect text that line
2062
2063         Test: fast/text/embed-at-end-of-pre-wrap-line.html
2064
2065         * rendering/bidi.cpp:
2066         (WebCore::RenderBlock::skipWhitespace): Removed calls to
2067         setAdjustEmbedding().
2068         (WebCore::RenderBlock::findNextLineBreak): Added calls to
2069         setAdjustEmbedding() around skipWhitespace() only where needed.
2070
2071 2008-02-29  Mark Rowe  <mrowe@apple.com>
2072
2073         Reviewed by Oliver Hunt.
2074
2075         Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
2076
2077         * platform/mac/WebCoreSystemInterface.h: Don't declare WKSupportsMultipartXMixedReplace on Leopard.
2078         * platform/mac/WebCoreSystemInterface.mm: Ditto.
2079         * platform/network/mac/ResourceRequestMac.mm:
2080         (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't call WKSupportsMultipartXMixedReplace on Leopard.
2081         * WebCore.Tiger.exp: Move Tiger-only symbol here.
2082         * WebCore.base.exp:
2083
2084 2008-02-29  Mark Rowe  <mrowe@apple.com>
2085
2086         Rubber-stamped by Eric Seidel.
2087
2088         Remove unneeded includes of WebCoreSystemInterface.h.
2089
2090         * loader/mac/LoaderNSURLExtras.m:
2091         * page/mac/FrameMac.mm:
2092         * page/mac/WebCoreFrameBridge.mm:
2093         * platform/MIMETypeRegistry.cpp:
2094         * platform/graphics/mac/ImageMac.mm:
2095         * platform/mac/PasteboardMac.mm:
2096
2097 2008-02-29  Mark Rowe  <mrowe@apple.com>
2098
2099         Reviewed by Oliver Hunt and Oliver Hunt.
2100
2101         <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
2102
2103         * platform/mac/SystemTimeMac.cpp:  Replace use of WKSecondsSinceLastInputEvent with CGEventSourceSecondsSinceLastEventType.
2104         * platform/mac/WebCoreSystemInterface.h:  Remove unused symbol.
2105         * platform/mac/WebCoreSystemInterface.mm:  Ditto.
2106         * WebCore.base.exp:  Ditto.
2107
2108 2008-02-28  Mark Rowe  <mrowe@apple.com>
2109
2110         Reviewed by Dave Hyatt.
2111
2112         Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
2113
2114         * DerivedSources.make:  Add Tiger-only symbols to the export file when running on Tiger.
2115         * WebCore.Tiger.exp:  Added.  Move Tiger-only symbol here from WebCore.base.exp.
2116         * WebCore.base.exp:
2117         * platform/graphics/mac/SimpleFontDataMac.mm:
2118         (WebCore::SimpleFontData::platformInit):  Use Leopard APIs when building on Leopard.
2119         * platform/mac/WebCoreSystemInterface.h:  Don't declare wkGetFontMetrics on Leopard as it is unused.
2120         * platform/mac/WebCoreSystemInterface.mm:  Ditto.
2121
2122 2008-02-28  Matt Lilek  <webkit@mattlilek.com>
2123
2124         Reviewed by Tim Hatcher.
2125
2126         Bug 16535: Stylesheets loaded with @import are not editable
2127         http://bugs.webkit.org/show_bug.cgi?id=16535
2128         <rdar://problem/5712899>
2129
2130         Sheets loaded using @import were incorrectly being flagged as non-editable
2131         user agent sheets because their parent sheet doesn't have an ownerNode. We now
2132         check to make sure sheets also don't have a href before restricting their editability.
2133
2134         * page/inspector/StylesSidebarPane.js:
2135
2136 2008-02-28  Rodney Dawes  <dobey@wayofthemonkey.com>
2137
2138         Reviewed by Adam Roben.
2139
2140         Copy PluginPackageWin.cpp to shared PluginPackage.cpp.
2141         Add PluginPackage.cpp to build configurations.
2142         Remove PluginPackage destructor from TemporaryLinkStubs.cpp.
2143         Use cross-platform pathGetFilename method.
2144         Remove platform-specific code from shared PluginPackage implementation.
2145         Remove shared code from PluginPackageWin.cpp.
2146
2147         * GNUmakefile.am:
2148         * WebCore.pro:
2149         * WebCoreSources.bkl:
2150         * WebCore.vcproj/WebCore.vcproj:
2151         * platform/gtk/TemporaryLinkStubs.cpp:
2152         * platform/qt/TemporaryLinkStubs.cpp:
2153         * platform/wx/TemporaryLinkStubs.cpp:
2154         * plugins/PluginPackage.cpp:
2155         * plugins/win/PluginPackageWin.cpp:
2156
2157 2008-02-28  Justin Garcia  <justin.garcia@apple.com>
2158
2159         Reviewed by Darin Adler.
2160
2161         <rdar://problem/4930986> REGRESSION: Paste As Quotation pastes black text instead of blue
2162         
2163         Add a second style span at copy time to hold document default styles.  This helps us
2164         differentiate between those and user applied styles at paste time, where we'll want
2165         to let Mail's Paste As Quotation blockquote override document default styles, but
2166         not others.
2167
2168         * css/CSSComputedStyleDeclaration.cpp:
2169         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed the unit type used 
2170         for -webkit-text-stroke-width from CSS_NUMBER to CSS_PX, to match other properties that 
2171         are thick | medium | thin | <length>.  Before, there was a mismatch between the unit 
2172         type of -webkit-text-stroke-width property values in a CSSComputedStyleDeclaration for 
2173         an element and that element's inlineStyleDecl(), causing identical values to always appear 
2174         different to diff().
2175         * editing/ReplaceSelectionCommand.cpp:
2176         (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Fixed.  Don't just change
2177         the class to an empty string, completely remove it, it's no longer needed.
2178         (WebCore::handleStyleSpansBeforeInsertion): Moved the optimization from doApply here.
2179         (WebCore::ReplaceSelectionCommand::handleStyleSpans): 
2180         Added, replaces removeRedundantStyles.
2181         We aren't (yet) removing all redundant styles, just those on style spans, so I removed the
2182         unused code and renamed the function.
2183         There won't be more than two style spans that we need to consider, the one with the 
2184         source document's default styles and styles on the commonAncestor of the copied Range, 
2185         so don't look for more than two.
2186         Let elements that wrap the incoming fragment override the source document's styles.
2187         (WebCore::ReplaceSelectionCommand::doApply): Moved code to handleStyleSpansBeforeInsertion
2188         and call the renamed handleStyleSpans.
2189         * editing/ReplaceSelectionCommand.h:
2190         * editing/markup.cpp:
2191         (WebCore::removeDefaultStyles): Added.  Don't add document defaults to the style span
2192         that holds user applied styles, since they'll be added to their own style span.
2193         (WebCore::createMarkup):
2194         Add a second style span that holds just the document defaults. This lets us differentiate
2195         between those and user applied styles at paste time.
2196         Mail blockquotes are just another type of special element, moved their handling there. This
2197         also lets paste code make assumptions about the position of the two style spans (they are 
2198         *always* parent-child).
2199
2200 2008-02-28  Brent Fulgham <bfulgham@gmail.com>
2201
2202         http://bugs.webkit.org/show_bug.cgi?id=17576
2203         Modify RenderThemeWin to use SOFT_LINK
2204
2205         Reviewed by Adam Roben.
2206
2207         * rendering/RenderThemeWin.h: Remove unneeded library handle
2208         * rendering/RenderThemeWin.cpp: Change to use SOFT_LINK
2209           rather than hand-coded load library calls.
2210
2211 2008-02-28  Dan Bernstein  <mitz@apple.com>
2212
2213         Reviewed by Darin Adler.
2214
2215         - fix http://bugs.webkit.org/show_bug.cgi?id=17590
2216           ASSERTION FAILED: subject in jsRegExpExecute()
2217
2218         * page/mac/FrameMac.mm:
2219         (WebCore::Frame::matchLabelsAgainstElement): Added an early return in
2220         case the element name is empty.
2221
2222 2008-02-28  Justin Garcia  <justin.garcia@apple.com>
2223
2224         Reviewed by Dan Bernstein
2225         
2226         Small editing speed up.
2227         
2228         * dom/Position.cpp:
2229         (WebCore::Position::upstream): Don't check for a change in editability
2230         if the current node hasn't changed.
2231         (WebCore::Position::downstream): Ditto.
2232
2233 2008-02-27  Dan Bernstein  <mitz@apple.com>
2234
2235         Reviewed by John Sullivan.
2236
2237         - fix <rdar://problem/5607547> Single letter surrounded by soft hyphens can disappear
2238
2239         Test: fast/text/soft-hyphen-2.html
2240
2241         * rendering/bidi.cpp:
2242         (WebCore::chopMidpointsAt): Changed to iterate midpoints backwards, so
2243         that if there are two midpoints at the given position, only the last one
2244         will be chopped off.
2245
2246 2008-02-27  Dan Bernstein  <mitz@apple.com>
2247
2248         Reviewed by Darin Adler.
2249
2250         - make centered text in right-to-left blocks spill over to the left
2251
2252         Test: fast/text/align-center-rtl-spill.html
2253
2254         * rendering/bidi.cpp:
2255         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
2256
2257 2008-02-27  Dan Bernstein  <mitz@apple.com>
2258
2259         Reviewed by Darin Adler.
2260
2261         - more bidi.cpp cleanup
2262
2263         * platform/text/BidiResolver.h:
2264         (WebCore::BidiCharacterRun::destroy): Added. Overridden by BidiRun .
2265         (WebCore::BidiResolver<Iterator, Run>::addRun): Moved BidiState::addRun()
2266         here.
2267         (WebCore::BidiResolver<Iterator, Run>::appendRun): Changed to use
2268         addRun().
2269         (WebCore::BidiResolver<Iterator, Run>::deleteRuns): Changed to use
2270         destroy(), avoiding the need to specialize this method in BidiState.
2271         * rendering/bidi.cpp:
2272         (WebCore::BidiRun::destroy): Removed the RenderArena parameter.
2273         (WebCore::BidiState::deleteRuns): Removed now-unnecessary specialization.
2274         (WebCore::BidiState::addRun): Removed now-unnecessary specialization.
2275         (WebCore::RenderBlock::createLineBoxes): 
2276         (WebCore::RenderBlock::constructLine):
2277         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a FIXME.
2278         (WebCore::RenderBlock::computeVerticalPositionsForLine):
2279         (WebCore::buildCompactRuns):
2280         (WebCore::RenderBlock::layoutInlineChildren):
2281         (WebCore::RenderBlock::determineStartPosition):
2282         (WebCore::RenderBlock::determineEndPosition):
2283         (WebCore::RenderBlock::matchedEndLine):
2284         (WebCore::skipNonBreakingSpace):
2285         (WebCore::RenderBlock::skipWhitespace):
2286         (WebCore::shouldSkipWhitespaceAfterStartObject):
2287         * rendering/bidi.h:
2288         (WebCore::BidiRun): Added m_ prefixes to several member variables. 
2289
2290 2008-02-27  Sam Weinig  <sam@webkit.org>
2291
2292         Reviewed by Darin.
2293
2294         Fix for <rdar://problem/5768769>
2295
2296         - Don't allow cross-origin calls using window.functionName.call(otherFrame)
2297           syntax.
2298
2299         * bindings/js/JSLocation.cpp:
2300         (WebCore::jsLocationProtoFuncToString): Do same-origin check.
2301         * bindings/js/kjs_window.cpp:
2302         (KJS::windowProtoFuncAToB): Ditto.
2303         (KJS::windowProtoFuncBToA): Ditto.
2304         (KJS::windowProtoFuncOpen): Ditto.
2305         (KJS::windowProtoFuncClearTimeout): Ditto.
2306         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
2307
2308 2008-02-27  David Hyatt  <hyatt@apple.com>
2309
2310         More cleanup in preparation for fixing the HTML5 spec performance regression.
2311
2312         Reviewed by Sam Weinig
2313
2314         * dom/Attr.cpp:
2315         (WebCore::Attr::childrenChanged):
2316         * dom/Attr.h:
2317         * dom/ContainerNode.cpp:
2318         (WebCore::ContainerNode::insertBefore):
2319         (WebCore::ContainerNode::replaceChild):
2320         (WebCore::ContainerNode::removeChild):
2321         (WebCore::ContainerNode::removeChildren):
2322         (WebCore::ContainerNode::appendChild):
2323         (WebCore::ContainerNode::addChild):
2324         (WebCore::ContainerNode::childrenChanged):
2325         * dom/ContainerNode.h:
2326         * dom/Document.cpp:
2327         (WebCore::Document::childrenChanged):
2328         * dom/Document.h:
2329         * dom/Element.cpp:
2330         (WebCore::Element::childrenChanged):
2331         * dom/Element.h:
2332         * dom/Node.h:
2333         (WebCore::Node::childrenChanged):
2334         * html/HTMLObjectElement.cpp:
2335         (WebCore::HTMLObjectElement::childrenChanged):
2336         * html/HTMLObjectElement.h:
2337         * html/HTMLOptGroupElement.cpp:
2338         (WebCore::HTMLOptGroupElement::childrenChanged):
2339         * html/HTMLOptGroupElement.h:
2340         * html/HTMLOptionElement.cpp:
2341         (WebCore::HTMLOptionElement::childrenChanged):
2342         * html/HTMLOptionElement.h:
2343         * html/HTMLScriptElement.cpp:
2344         (WebCore::HTMLScriptElement::childrenChanged):
2345         * html/HTMLScriptElement.h:
2346         * html/HTMLSelectElement.cpp:
2347         (WebCore::HTMLSelectElement::childrenChanged):
2348         * html/HTMLSelectElement.h:
2349         * html/HTMLStyleElement.cpp:
2350         (WebCore::HTMLStyleElement::childrenChanged):
2351         * html/HTMLStyleElement.h:
2352         * html/HTMLTextAreaElement.cpp:
2353         (WebCore::HTMLTextAreaElement::childrenChanged):
2354         * html/HTMLTextAreaElement.h:
2355         * html/HTMLTitleElement.cpp:
2356         (WebCore::HTMLTitleElement::childrenChanged):
2357         * html/HTMLTitleElement.h:
2358         * svg/SVGClipPathElement.cpp:
2359         (WebCore::SVGClipPathElement::childrenChanged):
2360         * svg/SVGClipPathElement.h:
2361         * svg/SVGDefinitionSrcElement.cpp:
2362         (WebCore::SVGDefinitionSrcElement::childrenChanged):
2363         * svg/SVGDefinitionSrcElement.h:
2364         * svg/SVGFontFaceElement.cpp:
2365         (WebCore::SVGFontFaceElement::childrenChanged):
2366         * svg/SVGFontFaceElement.h:
2367         * svg/SVGFontFaceFormatElement.cpp:
2368         (WebCore::SVGFontFaceFormatElement::childrenChanged):
2369         * svg/SVGFontFaceFormatElement.h:
2370         * svg/SVGFontFaceSrcElement.cpp:
2371         (WebCore::SVGFontFaceSrcElement::childrenChanged):
2372         * svg/SVGFontFaceSrcElement.h:
2373         * svg/SVGFontFaceUriElement.cpp:
2374         (WebCore::SVGFontFaceUriElement::childrenChanged):
2375         * svg/SVGFontFaceUriElement.h:
2376         * svg/SVGGElement.cpp:
2377         (WebCore::SVGGElement::childrenChanged):
2378         * svg/SVGGElement.h:
2379         * svg/SVGGradientElement.cpp:
2380         (WebCore::SVGGradientElement::childrenChanged):
2381         * svg/SVGGradientElement.h:
2382         * svg/SVGMarkerElement.cpp:
2383         (WebCore::SVGMarkerElement::childrenChanged):
2384         * svg/SVGMarkerElement.h:
2385         * svg/SVGMaskElement.cpp:
2386         (WebCore::SVGMaskElement::childrenChanged):
2387         * svg/SVGMaskElement.h:
2388         * svg/SVGPatternElement.cpp:
2389         (WebCore::SVGPatternElement::childrenChanged):
2390         * svg/SVGPatternElement.h:
2391         * svg/SVGStyleElement.cpp:
2392         (WebCore::SVGStyleElement::childrenChanged):
2393         * svg/SVGStyleElement.h:
2394         * svg/SVGStyledElement.cpp:
2395         (WebCore::SVGStyledElement::childrenChanged):
2396         * svg/SVGStyledElement.h:
2397         * svg/SVGTitleElement.cpp:
2398         (WebCore::SVGTitleElement::childrenChanged):
2399         * svg/SVGTitleElement.h:
2400         * svg/SVGUseElement.cpp:
2401         (WebCore::SVGUseElement::childrenChanged):
2402         * svg/SVGUseElement.h:
2403
2404 2008-02-27  Julien Chaffraix <julien.chaffraix@gmail.com>
2405
2406         Reviewed by Alexey.
2407
2408         http://bugs.webkit.org/show_bug.cgi?id=17481
2409         Several consecutive calls to XMLHttpRequest::open should dispatch only one readyState event
2410
2411         Test: http/tests/xmlhttprequest/xmlhttprequest-multiple-open.html
2412
2413         * xml/XMLHttpRequest.cpp:
2414         (WebCore::XMLHttpRequest::open):
2415
2416 2008-02-27  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
2417
2418         Reviewed, tweaked and landed by ap.
2419
2420         http://bugs.webkit.org/show_bug.cgi?id=17487
2421         HTMLInput mysteriously fails to work if ICU dat file is missing
2422
2423         * platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Assert that the iterator
2424         has been opened.
2425
2426 2008-02-27  Adam Roben  <aroben@apple.com>
2427
2428         Windows build fix after r30616
2429
2430         * platform/win/ClipboardWin.cpp:
2431
2432 2008-02-27  Nikolas Zimmermann  <zimmermann@kde.org>
2433
2434         Reviewed by Simon.
2435
2436         Small style cleanup, and obvious fix: SVGGElement reacted on
2437         'clipPathUnits' changes, which is a funny copy&paste error.
2438
2439         * svg/SVGGElement.cpp:
2440         (WebCore::SVGGElement::parseMappedAttribute):
2441         (WebCore::SVGGElement::svgAttributeChanged):
2442         (WebCore::SVGGElement::createRenderer):
2443
2444 2008-02-27  Nikolas Zimmermann  <zimmermann@kde.org>
2445
2446         Reviewed by Simon.
2447
2448         Cleanup coding style. Still on my way to fix dynamic updates of all SVG elements.
2449         Currently at SVGF*. SVGDefs/DescElement don't need any dyn update fixes but cleanups.
2450
2451         * svg/SVGDefsElement.cpp:
2452         (WebCore::SVGDefsElement::createRenderer):
2453         * svg/SVGDefsElement.h:
2454         * svg/SVGDescElement.h:
2455
2456 2008-02-26  Antti Koivisto  <antti@apple.com>
2457
2458         Reviewed by Darin.
2459
2460         Fix <rdar://problem/5761326>
2461         REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
2462         
2463         Generate better code with VS:
2464         - Use ALWAYS_INLINE macro to guarantee versions of allowsAccessFrom() are reduced to single functions
2465         - Refactor error reporting so that there is no need to construct/destruct Strings in common cases
2466         - Add a separate version of the function for cases where error messages are not wanted
2467
2468         * bindings/js/JSDOMWindowCustom.cpp:
2469         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2470         * bindings/js/kjs_window.cpp:
2471         (KJS::Window::allowsAccessFrom):
2472         (KJS::Window::allowsAccessFromNoErrorMessage):
2473         (KJS::Window::allowsAccessFromPrivate):
2474         (KJS::Window::crossDomainAccessErrorMessage):
2475         * bindings/js/kjs_window.h:
2476
2477 2008-02-26  Sam Weinig  <sam@webkit.org>
2478
2479         Reviewed by Dave Hyatt.
2480
2481         - remove DeprecatedCString, DeprecatedArray, and ArrayImpl.
2482
2483         * GNUmakefile.am:
2484         * WebCore.pro:
2485         * WebCore.vcproj/WebCore.vcproj:
2486         * WebCore.xcodeproj/project.pbxproj:
2487         * WebCoreSources.bkl:
2488         * platform/ArrayImpl.cpp: Removed.
2489         * platform/ArrayImpl.h: Removed.
2490         * platform/DeprecatedArray.h: Removed.
2491         * platform/DeprecatedCString.cpp: Removed.
2492         * platform/DeprecatedCString.h: Removed.
2493         * platform/text/CString.cpp:
2494         (WebCore::CString::length):
2495         * platform/text/CString.h:
2496
2497 2008-02-26  David Hyatt  <hyatt@apple.com>
2498
2499         Cleanup of childrenChanged in preparation for fixing the HTML5 spec slowdown.
2500
2501         Reviewed by Sam Weinig
2502
2503         * dom/Attr.cpp:
2504         (WebCore::Attr::childrenChanged):
2505         * dom/ContainerNode.cpp:
2506         (WebCore::ContainerNode::insertBefore):
2507         (WebCore::ContainerNode::replaceChild):
2508         (WebCore::ContainerNode::removeChild):
2509         (WebCore::ContainerNode::removeChildren):
2510         (WebCore::ContainerNode::appendChild):
2511         (WebCore::ContainerNode::addChild):
2512         (WebCore::ContainerNode::childrenChanged):
2513         * dom/ContainerNode.h:
2514         * dom/EventTargetNode.cpp:
2515         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
2516         * dom/EventTargetNode.h:
2517         * dom/NamedAttrMap.cpp:
2518         (WebCore::NamedAttrMap::addAttribute):
2519         (WebCore::NamedAttrMap::removeAttribute):
2520
2521 2008-02-26  Darin Adler  <darin@apple.com>
2522
2523         Reviewed by Sam.
2524
2525         - remove use of DeprecatedCString from Windows pasteboard code
2526
2527         * platform/win/ClipboardUtilitiesWin.cpp:
2528         (WebCore::createGlobalData): Added an overload for Vector<char>.
2529         Streamlined the logic a bit.
2530         (WebCore::append): Added. Helper functions for appending to a
2531         Vector<char>.
2532         (WebCore::markupToCF_HTML): Rewrote to use Vector<char> instead
2533         of DeprecatedCString. Also simplified the logic a bit and used
2534         macros to handle the integer width.
2535         (WebCore::urlToMarkup): Use Vector<UChar> instead of String.
2536         (WebCore::replaceNewlinesWithWindowsStyleNewlines): Tweaked.
2537         * platform/win/ClipboardUtilitiesWin.h: Update type of return
2538         value from markupToCF_HTML. Did a bit of streamlining too.
2539         * platform/win/ClipboardWin.cpp:
2540         (WebCore::writeURL): Update for above changes.
2541         (WebCore::ClipboardWin::declareAndWriteDragImage): Ditto.
2542         (WebCore::ClipboardWin::writeRange): Ditto.
2543         * platform/win/PasteboardWin.cpp:
2544         (WebCore::Pasteboard::writeSelection): Ditto.
2545         (WebCore::Pasteboard::writeURL): Ditto.
2546
2547 2008-02-26  Timothy Hatcher  <timothy@apple.com>
2548
2549         Reviewed by Adam Roben.
2550
2551         <rdar://problem/5712777> REGRESSION: Arrow up/down in inspector
2552         source list does not scroll when item at edge is reached (16572)
2553
2554         Use scrollIntoViewIfNeeded() instead of the hand-rolled scrollToElement
2555         we were using in utilities.js.
2556
2557         * page/inspector/DocumentPanel.js: Use scrollIntoViewIfNeeded instead of scrollToElement.
2558         * page/inspector/Resource.js: Ditto.
2559         * page/inspector/inspector.js: Ditto.
2560         * page/inspector/SourcePanel.js: Use scrollIntoViewIfNeeded instead
2561         of scrollIntoView, so the source line is centered in the view if needed.
2562         * page/inspector/utilities.js: Removed scrollToElement().
2563
2564 2008-02-26  David Hyatt  <hyatt@apple.com>
2565
2566         Reviewed by Dan
2567
2568         http://bugs.webkit.org/show_bug.cgi?id=17485
2569
2570         Refine our behavior for empty inlines so that they work more correctly with margins/borders/padding.
2571         Fixes a regression on huffingtonpost.com.
2572
2573         New tests added to fast/inline
2574
2575         * rendering/InlineFlowBox.cpp:
2576         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2577         (WebCore::InlineFlowBox::placeBoxesVertically):
2578         (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
2579         * rendering/RenderFlow.cpp:
2580         (WebCore::RenderFlow::calcMargins):
2581         * rendering/RenderFlow.h:
2582         * rendering/RenderObject.h:
2583         (WebCore::RenderObject::hasHorizontalBordersPaddingOrMargin):
2584         (WebCore::RenderObject::hasHorizontalBordersOrPadding):
2585         * rendering/bidi.cpp:
2586         (WebCore::getBorderPaddingMargin):
2587         (WebCore::RenderBlock::layoutInlineChildren):
2588         (WebCore::inlineFlowRequiresLineBox):
2589
2590 2008-02-26  Sam Weinig  <sam@webkit.org>
2591
2592         Fix Windows build.
2593
2594         * platform/text/PlatformString.h:
2595         (WebCore::reverseFind):
2596
2597 2008-02-26  Dan Bernstein  <mitz@apple.com>
2598
2599         Reviewed by Darin Adler.
2600
2601         - fix http://bugs.webkit.org/show_bug.cgi?id=17555
2602           <rdar://problem/5766016> REGRESSION (r27351): Thumbnails positioned wrong on Getty Images results page
2603
2604         Test: fast/dynamic/subtree-table-cell-height.html
2605
2606         * rendering/RenderObject.cpp:
2607         (WebCore::objectIsRelayoutBoundary): Exclude table cells, since their
2608         height depends on their contents even if the CSS height property is
2609         fixed.
2610
2611 2008-02-25  Sam Weinig  <sam@webkit.org>
2612
2613         Reviewed by Dan Bernstein.
2614
2615         Make the cleanPath function in CSSStyleSelector more efficient by using
2616         a Vector<UChar>.
2617
2618         * css/CSSStyleSelector.cpp:
2619         (WebCore::cleanPath): Make this function work on a Vector<UChar> instead
2620         of a String.  Also remove unnecessary reverseFind call that could be acomplished
2621         with two compares.
2622         (WebCore::checkPseudoState): Remove reserveCapacity calls now that we are using
2623         a stack buffer.
2624         * platform/text/PlatformString.h:
2625         (WebCore::find): Make this find generic enough that it can be used for
2626         String::find.
2627         (WebCore::reverseFind): Implement reverseFind so that it can be used
2628         for with a UChar* and length.
2629         * platform/text/StringImpl.cpp:
2630         (WebCore::StringImpl::find): Use implementation in PlatformString.cpp
2631         (WebCore::StringImpl::reverseFind): Ditto,
2632
2633 2008-02-26  Satoshi Nakagawa  <artension@gmail.com>
2634
2635         Reviewed by Darin. Tweaked and landed by Alexey.
2636
2637         http://bugs.webkit.org/show_bug.cgi?id=17411
2638         Ideographic comma and full stop should be treated as line-breakable characters
2639
2640         Test: fast/text/line-breaks-after-ideographic-comma-or-full-stop.html
2641
2642         * platform/text/CharacterNames.h: Added ideographicComma and ideographicFullStop.
2643         * rendering/break_lines.cpp: (WebCore::shouldBreakAfter): Added a workaround for an issue in
2644         Unicode 5.0 that is causing this.
2645
2646 2008-02-26  MorganL  <morganl.webkit@yahoo.com>
2647
2648         Reviewed by eseidel.  Landed by eseidel
2649
2650         Fix improperly initialized m_isUpToDate member variable.
2651         Fixs 50+ layout tests when run on Tiger.
2652         http://bugs.webkit.org/show_bug.cgi?id=17549
2653
2654         * platform/network/cf/ResourceResponse.h:
2655         (WebCore::ResourceResponse::ResourceResponse):
2656         * platform/network/mac/ResourceResponse.h:
2657         (WebCore::ResourceResponse::ResourceResponse):
2658
2659 2008-02-25  Dan Bernstein  <mitz@apple.com>
2660
2661         Reviewed by Sam Weinig.
2662
2663         - fix http://bugs.webkit.org/show_bug.cgi?id=17152
2664           Paragraphs indented with :first-letter and text-align CSS render incorrectly
2665
2666         Test: fast/text/apply-start-width-after-skipped-text.html
2667
2668         * rendering/bidi.cpp:
2669         (WebCore::RenderBlock::findNextLineBreak): Improved the logic for when
2670         to figure in the padding, border and margin before a text node when the
2671         line begins inside a text node.
2672
2673 2008-02-25  Kevin Ollivier  <kevino@theolliviers.com>
2674
2675         Windows build fix for wx port.
2676
2677         * loader/FTPDirectoryDocument.cpp:
2678
2679 2008-02-25  Mark Rowe  <mrowe@apple.com>
2680
2681         Windows build fix.
2682
2683         * platform/network/cf/ResourceResponseCFNet.cpp:
2684         (WebCore::ResourceResponse::platformCompare):  Implement platformCompare for ResourceResponseCFNet.cpp.
2685
2686 2008-02-25  Beth Dakin  <bdakin@apple.com>
2687
2688         Reviewed by Geoff.
2689
2690         Fixed for <rdar://problem/5760530> REGRESSION: Assertion failure in 
2691         Document::removePendingSheet() from r30438
2692
2693         r30438 added a call to CachedResource::error() from inside 
2694         Loader::didReceiveData() if a CSS file 4xxs. There was an 
2695         assumption in the loader, though, that either error() would be 
2696         called, or didFinishLoading() would be called, so some work is 
2697         duplicated in each. Now that we are calling an error() on files 
2698         that will also make it to didFinishLoading() (since they succeeded 
2699         in the network layer), we need to make sure we do not duplicate the 
2700         work. CachedCSSStyleSheet::error() calls checkNotify, which ends up 
2701         decrementing the document's pending style sheet counter. 
2702         checkNotify() was still getting called, though, through the normal  
2703         didFinishLoading code path, and the counter was being decremented 
2704         twice. Bad!
2705
2706         * loader/loader.cpp:
2707         (WebCore::Loader::didFinishLoading):
2708         (WebCore::Loader::didReceiveData):
2709
2710 2008-02-25  Mark Rowe  <mrowe@apple.com>
2711
2712         Fix the Gtk, wx and Qt builds.
2713
2714         * GNUmakefile.am: Add new files.
2715         * WebCore.pro: Ditto.
2716         * WebCoreSources.bkl: Ditto.
2717         * platform/network/AuthenticationChallengeBase.h: Fix up argument types.
2718
2719 2008-02-25  MorganL  <morganl.webkit@yahoo.com>
2720
2721         Reviewed by Darin Adler.
2722
2723         Eliminate some #ifdefs from headers in platform/network.
2724         http://bugs.webkit.org/show_bug.cgi?id=17210
2725
2726         * WebCore.base.exp:
2727         * WebCore.order:
2728         * WebCore.vcproj/WebCore.vcproj:
2729         * WebCore.xcodeproj/project.pbxproj:
2730         * dom/XMLTokenizer.cpp:
2731         * loader/ResourceLoader.h:
2732         * platform/network/AuthenticationChallenge.cpp: Removed.
2733         * platform/network/AuthenticationChallenge.h: Removed.
2734         * platform/network/AuthenticationChallengeBase.cpp: Copied from platform/network/AuthenticationChallenge.cpp.
2735         (WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):
2736         (WebCore::AuthenticationChallengeBase::previousFailureCount):
2737         (WebCore::AuthenticationChallengeBase::proposedCredential):
2738         (WebCore::AuthenticationChallengeBase::protectionSpace):
2739         (WebCore::AuthenticationChallengeBase::failureResponse):
2740         (WebCore::AuthenticationChallengeBase::error):
2741         (WebCore::AuthenticationChallengeBase::isNull):
2742         (WebCore::AuthenticationChallengeBase::nullify):
2743         (WebCore::AuthenticationChallengeBase::compare):
2744         * platform/network/AuthenticationChallengeBase.h: Copied from platform/network/AuthenticationChallenge.h.
2745         (WebCore::AuthenticationChallengeBase::platformCompare):
2746         (WebCore::operator==):
2747         (WebCore::operator!=):
2748         * platform/network/ResourceError.cpp: Removed.
2749         * platform/network/ResourceError.h: Removed.
2750         * platform/network/ResourceErrorBase.cpp: Copied from platform/network/ResourceError.cpp.
2751         (WebCore::ResourceErrorBase::lazyInit):
2752         (WebCore::ResourceErrorBase::compare):
2753         * platform/network/ResourceErrorBase.h: Copied from platform/network/ResourceError.h.
2754         (WebCore::ResourceErrorBase::isNull):
2755         (WebCore::ResourceErrorBase::domain):
2756         (WebCore::ResourceErrorBase::errorCode):
2757         (WebCore::ResourceErrorBase::failingURL):
2758         (WebCore::ResourceErrorBase::localizedDescription):
2759         (WebCore::ResourceErrorBase::ResourceErrorBase):
2760         (WebCore::ResourceErrorBase::platformLazyInit):
2761         (WebCore::ResourceErrorBase::platformCompare):
2762         (WebCore::operator==):
2763         * platform/network/ResourceResponseBase.cpp:
2764         (WebCore::ResourceResponseBase::isHTTP):
2765         (WebCore::ResourceResponseBase::url):
2766         (WebCore::ResourceResponseBase::setUrl):
2767         (WebCore::ResourceResponseBase::mimeType):
2768         (WebCore::ResourceResponseBase::setMimeType):
2769         (WebCore::ResourceResponseBase::expectedContentLength):
2770         (WebCore::ResourceResponseBase::setExpectedContentLength):
2771         (WebCore::ResourceResponseBase::textEncodingName):
2772         (WebCore::ResourceResponseBase::setTextEncodingName):
2773         (WebCore::ResourceResponseBase::suggestedFilename):
2774         (WebCore::ResourceResponseBase::setSuggestedFilename):
2775         (WebCore::ResourceResponseBase::httpStatusCode):
2776         (WebCore::ResourceResponseBase::setHTTPStatusCode):
2777         (WebCore::ResourceResponseBase::httpStatusText):
2778         (WebCore::ResourceResponseBase::setHTTPStatusText):
2779         (WebCore::ResourceResponseBase::httpHeaderField):
2780         (WebCore::ResourceResponseBase::setHTTPHeaderField):
2781         (WebCore::ResourceResponseBase::httpHeaderFields):
2782         (WebCore::ResourceResponseBase::isAttachment):
2783         (WebCore::ResourceResponseBase::setExpirationDate):
2784         (WebCore::ResourceResponseBase::expirationDate):
2785         (WebCore::ResourceResponseBase::setLastModifiedDate):
2786         (WebCore::ResourceResponseBase::lastModifiedDate):
2787         (WebCore::ResourceResponseBase::lazyInit):
2788         (WebCore::ResourceResponseBase::compare):
2789         * platform/network/ResourceResponseBase.h:
2790         (WebCore::ResourceResponseBase::ResourceResponseBase):
2791         (WebCore::ResourceResponseBase::platformLazyInit):
2792         (WebCore::ResourceResponseBase::platformCompare):
2793         (WebCore::operator==):
2794         * platform/network/cf/AuthenticationCF.cpp:
2795         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2796         (WebCore::AuthenticationChallenge::platformCompare):
2797         * platform/network/cf/AuthenticationChallenge.h: Added.
2798         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2799         (WebCore::AuthenticationChallenge::sourceHandle):
2800         (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef):
2801         * platform/network/cf/ResourceError.h: Added.
2802         (WebCore::ResourceError::ResourceError):
2803         * platform/network/cf/ResourceErrorCF.cpp:
2804         (WebCore::ResourceError::ResourceError):
2805         (WebCore::ResourceError::platformLazyInit):
2806         (WebCore::ResourceError::platformCompare):
2807         (WebCore::ResourceError::operator CFStreamError):
2808         * platform/network/cf/ResourceResponse.h:
2809         (WebCore::ResourceResponse::ResourceResponse):
2810         * platform/network/cf/ResourceResponseCFNet.cpp:
2811         (WebCore::ResourceResponse::platformLazyInit):
2812         * platform/network/curl/AuthenticationChallenge.h: Added.
2813         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2814         * platform/network/curl/ResourceError.h: Added.
2815         (WebCore::ResourceError::ResourceError):
2816         * platform/network/curl/ResourceResponse.h:
2817         (WebCore::ResourceResponse::ResourceResponse):
2818         * platform/network/mac/AuthenticationChallenge.h: Added.
2819         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2820         (WebCore::AuthenticationChallenge::sender):
2821         (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
2822         * platform/network/mac/AuthenticationMac.mm:
2823         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2824         (WebCore::AuthenticationChallenge::platformCompare):
2825         * platform/network/mac/ResourceError.h: Added.
2826         (WebCore::ResourceError::ResourceError):
2827         * platform/network/mac/ResourceErrorMac.mm:
2828         (WebCore::ResourceError::platformLazyInit):
2829         (WebCore::ResourceError::platformCompare):
2830         * platform/network/mac/ResourceResponse.h:
2831         (WebCore::ResourceResponse::ResourceResponse):
2832         * platform/network/mac/ResourceResponseMac.mm:
2833         (WebCore::ResourceResponse::platformLazyInit):
2834         (WebCore::ResourceResponse::platformCompare):
2835         * platform/network/qt/AuthenticationChallenge.h: Added.
2836         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2837         * platform/network/qt/ResourceError.h: Added.
2838         (WebCore::ResourceError::ResourceError):
2839         * platform/network/qt/ResourceResponse.h:
2840         (WebCore::ResourceResponse::ResourceResponse):
2841         * xml/XSLTProcessor.cpp:
2842
2843 2008-02-25  Anders Carlsson  <andersca@apple.com>
2844
2845         Reviewed by Darin.
2846
2847         Move remaining render style objects over to start with a refcount of 1 and get
2848         rid of DeprecatedDataRef.
2849         
2850         * rendering/DataRef.h:
2851         (WebCore::DataRef::operator*):
2852         (WebCore::DataRef::operator->):
2853         * rendering/RenderStyle.h:
2854         * rendering/SVGRenderStyle.cpp:
2855         (WebCore::SVGRenderStyle::SVGRenderStyle):
2856         * rendering/SVGRenderStyle.h:
2857         (WebCore::SVGRenderStyle::create):
2858         (WebCore::SVGRenderStyle::copy):
2859         * rendering/SVGRenderStyleDefs.cpp:
2860         (StyleFillData::StyleFillData):
2861         (StyleStrokeData::StyleStrokeData):
2862         (StyleStopData::StyleStopData):
2863         (StyleTextData::StyleTextData):
2864         (StyleClipData::StyleClipData):
2865         (StyleMaskData::StyleMaskData):
2866         (StyleMarkerData::StyleMarkerData):
2867         (StyleMiscData::StyleMiscData):
2868         * rendering/SVGRenderStyleDefs.h:
2869         (WebCore::StyleFillData::create):
2870         (WebCore::StyleFillData::copy):
2871         (WebCore::StyleStrokeData::create):
2872         (WebCore::StyleStrokeData::copy):
2873         (WebCore::StyleStopData::create):
2874         (WebCore::StyleStopData::copy):
2875         (WebCore::StyleTextData::create):
2876         (WebCore::StyleTextData::copy):
2877         (WebCore::StyleClipData::create):
2878         (WebCore::StyleClipData::copy):
2879         (WebCore::StyleMaskData::create):
2880         (WebCore::StyleMaskData::copy):
2881         (WebCore::StyleMarkerData::create):
2882         (WebCore::StyleMarkerData::copy):
2883         (WebCore::StyleMiscData::create):
2884         (WebCore::StyleMiscData::copy):
2885
2886 2008-02-25  Dan Bernstein  <mitz@apple.com>
2887
2888         Reviewed by Dave Hyatt.
2889
2890         - remove file-static BidiRun variables from bidi.cpp
2891
2892         * platform/text/BidiResolver.h:
2893         (WebCore::BidiResolver::): Initialize m_logicallyLastRun.
2894         (WebCore::BidiResolver::logicallyLastRun): Added.
2895         (WebCore::BidiResolver::runCount): Made unsigned.
2896         (WebCore::::reverseRuns): Changed ints to unsigned.
2897         (WebCore::::createBidiRunsForLine): Made this function set
2898         m_logicallyLastRun.
2899         * rendering/RenderBlock.h:
2900         * rendering/bidi.cpp:
2901         (WebCore::BidiState::addRun): Removed setting of sLogicallyLastBidiRun.
2902         (WebCore::RenderBlock::constructLine): Removed unused start parameter
2903         and added run count and first and last run parameters. Replaced end
2904         parameter with lastLine boolean and endObject pointer.
2905         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added first
2906         and logically last run parameters.
2907         (WebCore::RenderBlock::computeVerticalPositionsForLine): Added firstRun
2908         parameter.
2909         (WebCore::RenderBlock::bidiReorderLine): Removed setting of static
2910         variables.
2911         (WebCore::RenderBlock::layoutInlineChildren): Changed to use BidiState
2912         accessors instead of file statics.
2913
2914 2008-02-25  Rodney Dawes  <dobey@wayofthemonkey.com>
2915
2916         Reviewed by Jon Honeycutt.
2917
2918         http://bugs.webkit.org/show_bug.cgi?id=16924
2919         Bug 16924: Shared PluginDatabase, PluginPackage, and PlugInInfoStore implementations
2920
2921         Add PluginInfoStore.cpp and new PluginDatabase.cpp to GTK+ and Qt ports.
2922         Remove old PlugInInfoStoreQt.cpp as it is obsoleted by shared code.
2923         Add PluginInfoStore, PluginDatabase, and PluginStream files to Wx build.
2924         Add new PluginDatabase.cpp to Windows build.
2925         Add temporary stubs for new PluginDatabase and PluginPackage.
2926         shared classes to GTK+, Qt, and Wx ports.
2927         Copy PluginDatabaseWin.cpp to PluginDatabase.cpp to preserve history.
2928         Remove shared code from PluginDatabaseWin.cpp.
2929         Remove Windows-specific code from PluginDatabase.cpp.
2930         Use PlatformModule and PlatformFileTime instead of HMODULE and FILETIME.
2931         Remove extraneous PluginPackage:: from hash() class method prototype.
2932         Subsume storeFileVersion into PluginPackage::fetchInfo.
2933         Add cross-platform PlatformModuleVersion type definition.
2934         Use PlatformModuleVersion to store the module version.
2935         Rename m_fileVersion[ML]S to m_moduleVersion.
2936         Change compareFileVersion to use PlatformModuleVersion as the argument.
2937         Move PluginView::determineQuirks and m_quirks to PluginPackage.
2938         Updated determineQuirks for the PlatformModuleVersion.
2939
2940         * GNUmakefile.am:
2941         * WebCore.pro:
2942         * WebCoreSources.bkl:
2943         * webcore-base.bkl:
2944         * WebCore.vcproj/WebCore.vcproj:
2945         * Platform/FileSystem.h:
2946         * platform/qt/PlugInInfoStoreQt.cpp:
2947         * platform/gtk/TemporaryLinkStubs.cpp:
2948         * platform/qt/TemporaryLinkStubs.cpp:
2949         * platform/wx/TemporaryLinkStubs.cpp:
2950         * plugins/PluginDatabase.cpp:
2951         * plugins/PluginDatabase.h:
2952         * plugins/win/PluginDatabaseWin.cpp:
2953         * plugins/PluginPackage.h:
2954         * plugins/win/PluginPackageWin.cpp:
2955         * plugins/PluginView.h:
2956         * plugins/win/PluginViewWin.cpp:
2957
2958 2008-02-25  Anders Carlsson  <andersca@apple.com>
2959
2960         Reviewed by Darin.
2961
2962         Make more style objects start out with a refcount of 1.
2963         
2964         * rendering/RenderStyle.cpp:
2965         (WebCore::StyleSurroundData::StyleSurroundData):
2966         (WebCore::StyleBoxData::StyleBoxData):
2967         (WebCore::StyleVisualData::StyleVisualData):
2968         (WebCore::StyleBackgroundData::StyleBackgroundData):
2969         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2970         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2971         (WebCore::StyleInheritedData::StyleInheritedData):
2972         * rendering/RenderStyle.h:
2973         (WebCore::StyleSurroundData::create):
2974         (WebCore::StyleSurroundData::copy):
2975         (WebCore::StyleBoxData::create):
2976         (WebCore::StyleBoxData::copy):
2977         (WebCore::StyleVisualData::create):
2978         (WebCore::StyleVisualData::copy):
2979         (WebCore::StyleBackgroundData::create):
2980         (WebCore::StyleBackgroundData::copy):
2981         (WebCore::StyleBackgroundData::~StyleBackgroundData):
2982         (WebCore::StyleRareNonInheritedData::create):
2983         (WebCore::StyleRareNonInheritedData::copy):
2984         (WebCore::StyleRareInheritedData::create):
2985         (WebCore::StyleRareInheritedData::copy):
2986         (WebCore::StyleInheritedData::create):
2987         (WebCore::StyleInheritedData::copy):
2988
2989 2008-02-25  Anders Carlsson  <andersca@apple.com>
2990
2991         Reviewed by Darin.
2992
2993         Make some of the refcounted style objects start out with a refcount of 1.
2994
2995         * rendering/DataRef.h:
2996         Make a DeprecatedDataRef class which is just a copy of the old DataRef class.
2997         Change DataRef to use ::create() and ::copy() instead of the constructors.
2998         Change DataRef's pointer to be a RefPtr instead.
2999
3000         * rendering/RenderStyle.cpp:
3001         (WebCore::StyleMarqueeData::StyleMarqueeData):
3002         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
3003         (WebCore::StyleMultiColData::StyleMultiColData):
3004         (WebCore::StyleTransformData::StyleTransformData):
3005         Start with a RefCount of 1.
3006         
3007         * rendering/RenderStyle.h:
3008         * rendering/SVGRenderStyle.h:
3009         Add ::create() and ::copy() methods. Make not yet converted classes use DeprecatedDataRef.
3010
3011 2008-02-25  Darin Adler  <darin@apple.com>
3012
3013         Reviewed by Anders.
3014         Based on a patch by Tim Steele <timsteele41@gmail.com>.
3015
3016         - fix http://bugs.webkit.org/show_bug.cgi?id=17186
3017           Fragment navigation within a page permanently cancels meta refresh
3018
3019         Test: fast/loader/meta-refresh-anchor-click.html
3020
3021         * loader/FrameLoader.cpp:
3022         (WebCore::FrameLoader::load): When load type is FrameLoadTypeRedirectWithLockedHistory,
3023         always do a real load. This makes sure that meta refresh loads are treated as real loads
3024         rather than anchor scrolls. Also tweaked formatting a bit.
3025         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): This function is
3026         an alternate way to complete a load, so it needs to start the redirection timer if
3027         redirection has already been scheduled.
3028
3029 2008-02-25  Dan Bernstein  <mitz@apple.com>
3030
3031         Reviewed by Darin Adler.
3032
3033         - avoid counting spaces in non-justified text
3034
3035         * rendering/bidi.cpp:
3036         Removed file-static numSpaces.
3037         (WebCore::BidiState::addRun): Removed space counting.
3038         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added space
3039         counting, conditional on the block having the text-align: justify
3040         property value.
3041         (WebCore::RenderBlock::bidiReorderLine): Removed initialization of
3042         numSpaces.
3043
3044 2008-02-25  Darin Adler  <darin@apple.com>
3045
3046         Requested by Steve.
3047
3048         * platform/graphics/cg/ImageSourceCG.cpp:
3049         (WebCore::ImageSource::createFrameAtIndex): Put the string into a global
3050         variable (because CFSTR is inefficient on Windows).
3051
3052 2008-02-25  Darin Adler  <darin@apple.com>
3053
3054         Reviewed by Adam.
3055
3056         * WebCore.base.exp: Export blankURL, and sort the file.
3057
3058 2008-02-25  Simon Hausmann  <hausmann@webkit.org>
3059
3060         Reviewed by Mark Rowe.
3061
3062         Fix compilation with gcc 4.3, added stdio.h and unistd.h inclusions.
3063
3064         * dom/Position.cpp:
3065         * dom/Range.cpp:
3066         * editing/Selection.cpp:
3067         * editing/SelectionController.cpp:
3068         * editing/VisiblePosition.cpp:
3069         * history/HistoryItem.cpp:
3070         * loader/Cache.cpp:
3071         * loader/FTPDirectoryParser.cpp:
3072         * platform/KURL.cpp:
3073         * platform/gtk/FileSystemGtk.cpp:
3074         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3075         * platform/text/TextCodecLatin1.cpp:
3076         * platform/text/TextCodecUserDefined.cpp:
3077         * rendering/CounterNode.cpp:
3078         * rendering/RenderObject.cpp:
3079
3080 2008-02-25  Johnny Ding  <johnnyding.webkit@gmail.com>
3081
3082         Reviewed by Darin Adler.
3083
3084         - fix http://bugs.webkit.org/show_bug.cgi?id=17444
3085
3086         In HTMLTokenizer::write, the code checks 'pendingScripts.isEmpty()' to decide
3087         whether to save prependingSrc or not. However, in HTMLTokenizer::scriptHandler
3088         and HTMLTokenizer::scriptExecution, the code checks testBit:LoadingExtScript
3089         to decide whether to save prependingSrc or not. The later behavior is not right
3090         because, in scriptHandler and scriptExecution, even the pendingScripts queue is
3091         empty, the testBit:LoadingExtScript might be TRUE.
3092
3093         Test: fast/tokenizer/nested-multiple-scripts.html
3094
3095         * html/HTMLTokenizer.cpp:
3096         (WebCore::HTMLTokenizer::scriptHandler): check pendingScripts.isEmpty() instead of
3097         checking state.loadingExtScript().
3098         (WebCore::HTMLTokenizer::scriptExecution): check pendingScripts.isEmpty() instead of
3099         checking state.loadingExtScript().
3100
3101 2008-02-24  Darin Adler  <darin@apple.com>
3102
3103         * dom/Document.h: Removed stray duplicate declaration of
3104         RegisteredEventListenerList.
3105
3106 2008-02-24  Darin Adler  <darin@apple.com>
3107
3108         * dom/Range.cpp:
3109         (WebCore::Range::surroundContents): Removed incorrect comment.
3110         I added it a while ago, and I was just mixed up.
3111
3112 2008-02-24  Darin Adler  <darin@apple.com>
3113
3114         - quick follow-up to that last check-in
3115
3116         * platform/graphics/cg/ImageSourceCG.cpp:
3117         (WebCore::ImageSource::createFrameAtIndex): Use CFEqual instead of
3118         WebCore::String's == for speed.
3119
3120 2008-02-24  Michael Knaup  <michael.knaup@mac.com>
3121
3122         Reviewed by Darin.
3123
3124         Bug 8749: XBM rendered incorrectly as black on white
3125
3126         xbm images are now created and rendered using black on a
3127         transparent background (same behavior as in Firefox)
3128
3129         Test: platform/mac/fast/canvas/canvas-draw-xbm-image.html
3130
3131         * platform/graphics/cg/ImageSourceCG.cpp:
3132         (WebCore::ImageSource::createFrameAtIndex):
3133
3134 2008-02-24  Dan Bernstein  <mitz@apple.com>
3135
3136         Reviewed by Darin Adler.
3137
3138         - fix http://bugs.webkit.org/show_bug.cgi?id=17471
3139           REGRESSION (r30438): Crash in deleteLineBoxes in cursor-adjusting code browsing Acid3
3140
3141         Test: http/tests/misc/object-image-error.html
3142
3143         * html/HTMLObjectElement.cpp:
3144         (WebCore::HTMLObjectElement::attach): Added an early return in case
3145         updateFromElement() has changed the object to use fallback content.
3146
3147 2008-02-24  Dan Bernstein  <mitz@apple.com>
3148
3149         Reviewed by Darin Adler.
3150
3151         - fix float positioning when a float that does not fit on the line is
3152           followed by a float that does
3153
3154         Test: fast/block/float/narrow-after-wide.html
3155
3156         * rendering/bidi.cpp:
3157         (WebCore::RenderBlock::findNextLineBreak): Changed to not position any
3158         more floats on the line once a float that does not fit is encountered.
3159         That float should be pushed to the next line, and so should all floats
3160         that follow, regardless of whether they can fit on the current line.
3161
3162 2008-02-24  Darin Adler  <darin@apple.com>
3163
3164         Reviewed by Sam.
3165
3166         - fix http://bugs.webkit.org/show_bug.cgi?id=16770
3167           Acid3 expects :visited styled links to restyle on iframe load
3168
3169         Disentangle global history updating from the back/forward history.
3170         There are many cases where we don't want to create a new back/forward
3171         item, but we do still want to add to the global history (used for visited
3172         link coloring) in those cases.
3173
3174         Test: fast/history/subframe-is-visited.html
3175
3176         * loader/FrameLoader.cpp:
3177         (WebCore::FrameLoader::updateGlobalHistory): Renamed from
3178         addHistoryForCurrentLocation and removed the back/forward handling.
3179         (WebCore::FrameLoader::updateHistoryForStandardLoad): Streamlined logic a
3180         bit. Replaced call to addHistoryForCurrentLocation with a call to
3181         addBackForwardItemClippedAtTarget. Added an unconditional call to
3182         updateGlobalHistory.
3183         (WebCore::FrameLoader::updateHistoryForClientRedirect): Added a FIXME;
3184         why doesn't this function update global history?
3185         (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Ditto.
3186         (WebCore::FrameLoader::updateHistoryForReload): Replaced the direct call
3187         the client with a call to the new updateGlobalHistory function.
3188         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Did
3189         the same changes as for updateHistoryForStandardLoad.
3190         * loader/FrameLoader.h: More of the same.
3191
3192         * loader/FrameLoaderClient.h: Removed updateGlobalHistoryForReload and
3193         renamed updateGlobalHistoryForStandardLoad to updateGlobalHistory.
3194
3195         * svg/graphics/SVGImageEmptyClients.h:
3196         (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistory): Updated to
3197         match the above.
3198
3199 2008-02-23  Darin Adler  <darin@apple.com>
3200
3201         Reviewed by Sam.
3202
3203         - fix http://bugs.webkit.org/show_bug.cgi?id=17508
3204           REGRESSION (r30535): mailto regression tests failing
3205
3206         * html/HTMLFormElement.cpp:
3207         (WebCore::HTMLFormElement::submit): Restore the old logic, with its unpleasant
3208         trip through String do to the replace operation. It's inefficient, but there's
3209         no real reason to worry about the efficiency of mailto forms, since that feature
3210         is nearly obsolete.
3211
3212 2008-02-23  Darin Adler  <darin@apple.com>
3213
3214         Reviewed by Sam.
3215
3216         - replace SegmentedString's use of DeprecatedValueList with Deque
3217
3218         Testing indicates this is a slight speed-up for page loading.
3219
3220         * platform/text/SegmentedString.cpp:
3221         (WebCore::SegmentedString::length): Update to use Deque.
3222         (WebCore::SegmentedString::setExcludeLineNumbers): Ditto.
3223         (WebCore::SegmentedString::append): Ditto.
3224         (WebCore::SegmentedString::prepend): Ditto.
3225         (WebCore::SegmentedString::advanceSubstring): Ditto.
3226         (WebCore::SegmentedString::toString): Ditto.
3227         * platform/text/SegmentedString.h: Tweak formatting. Don't bother making an entire
3228         class private with a single friend. Change m_sbstrings from a DeprecatedValueList
3229         to a Deque.
3230
3231 2008-02-23  Darin Adler  <darin@apple.com>
3232
3233         Reviewed by Anders.
3234
3235         - fix http://bugs.webkit.org/show_bug.cgi?id=17506
3236           REGRESSION (r30535): ASSERTION FAILED: i < size()
3237
3238         * loader/TextResourceDecoder.cpp:
3239         (WebCore::findTextEncoding): Fix off-by-one in code that null-terminates
3240         the C string here.
3241
3242 2008-02-23  Matt Lilek  <webkit@mattlilek.com>
3243
3244         Not reviewed, build fix.
3245
3246         * platform/network/cf/FormDataStreamCFNet.cpp:
3247         (WebCore::httpBodyFromRequest):
3248         * plugins/win/PluginViewWin.cpp:
3249         (WebCore::PluginView::handlePost):
3250
3251 2008-02-23  Dan Bernstein  <mitz@apple.com>
3252
3253         - fix a typo
3254
3255         * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
3256         (WebCore::GlyphPage::fill):
3257         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
3258         (WebCore::GlyphPage::fill):
3259
3260 2008-02-23  Dan Bernstein  <mitz@apple.com>
3261
3262         Reviewed by Anders Carlsson.
3263
3264         - fix GlyphPage::fill() logic for partial page fills
3265
3266         * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
3267         (WebCore::GlyphPage::fill): Changed the test for non-BMP characters to
3268         work correctly when the length parameter is less than a full page size.
3269         Also updated the comment.
3270         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
3271         (WebCore::GlyphPage::fill): Ditto.
3272
3273 2008-02-23  Kevin Ollivier  <kevino@theolliviers.com>
3274
3275         Reviewed by Darin Adler.
3276
3277         Move text drawing into wxcode, as we need platform-dependent
3278         APIs for drawing non-kerned text, which wx doesn't yet have.
3279         (But hopefully will, once these APIs are fleshed out on all
3280         platforms!)
3281
3282         http://bugs.webkit.org/show_bug.cgi?id=17396
3283
3284         * platform/graphics/wx/FontWx.cpp:
3285         (WebCore::Font::drawGlyphs):
3286         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Added.
3287         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Added.
3288         * platform/wx/wxcode/non-kerned-drawing.h: Added.
3289         * platform/wx/wxcode/win/non-kerned-drawing.cpp: Added.
3290         * webcore-wx.bkl:
3291
3292 2008-02-23  Darin Adler  <darin@apple.com>
3293
3294         Pointed out by Mitz.
3295
3296         * loader/TextResourceDecoder.cpp:
3297         (WebCore::find): Fix a "==" that was supposed to be ">".
3298         (WebCore::findIgnoringCase): Ditto.
3299
3300 2008-02-23  Darin Adler  <darin@apple.com>
3301
3302         Reviewed by Sam.
3303
3304         * html/HTMLFormElement.cpp:
3305         (WebCore::appendEncodedString): Fix buffer overrun in the code I just landed.
3306
3307 2008-02-23  Darin Adler  <darin@apple.com>
3308
3309         Reviewed by Sam.
3310
3311         - remove all but 1 remaining use of DeprecatedCString
3312         - change FormData to start refcount at 1
3313
3314         * html/HTMLFormElement.cpp:
3315         (WebCore::appendString): Added. Helpers for Vector<char>.
3316         (WebCore::appendEncodedString): Renamed from encodeCString and changed to
3317         append to an existing Vector<char> to cut down a bit on memory allocation.
3318         (WebCore::HTMLFormElement::formData): Replace the DeprecatedCString called
3319         enc_string with a Vector<char> called encodedData. Change to use the new
3320         FormData::create function.
3321         (WebCore::HTMLFormElement::submit): Same thing, for the mailto form code.
3322
3323         * loader/TextResourceDecoder.cpp:
3324         (WebCore::find): Added. Helper for searching in char* with length.
3325         (WebCore::findIgnoringCase): Ditto.
3326         (WebCore::findTextEncoding): Added. Helper for looking up a text encoding
3327         when we have a char* with length rather than a null-terminated char*.
3328         (WebCore::findXMLEncoding): Changed to use char* and length rather than
3329         DeprecatedCString. Also fixed some things that would be one-character
3330         buffer overruns in a string that's not null-terminated.
3331         (WebCore::TextResourceDecoder::checkForCSSCharset): Change to use
3332         findTextEncoding rather than constructing a CString to pass to the
3333         TextEncodingconstructor.
3334         (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
3335
3336         * platform/network/FormData.cpp:
3337         (WebCore::FormData::FormData): Changed to start refcount at 1.
3338         (WebCore::FormData::create): Added.
3339         (WebCore::FormData::copy): Call adoptRef since refcount starts at 1.
3340         * platform/network/FormData.h: Made constructor private. Added create functions.
3341
3342         * platform/network/mac/ResourceRequestMac.mm:
3343         (WebCore::ResourceRequest::doUpdateResourceRequest): Call FormData::create.
3344         * xml/XMLHttpRequest.cpp:
3345         (WebCore::XMLHttpRequest::send): Ditto.
3346
3347 2008-02-23  Darin Adler  <darin@apple.com>
3348
3349         Reviewed by Anders.
3350
3351         - http://bugs.webkit.org/show_bug.cgi?id=17067
3352           eliminate attributes parameter from JSObject::put for speed/clarity
3353
3354         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3355         (WebCore::JSCSSStyleDeclaration::customPut): Remove attributes argument.
3356
3357         * bindings/js/JSCanvasPixelArrayCustom.cpp:
3358         (WebCore::JSCanvasPixelArray::indexGetter): Use early exit idiom.
3359         (WebCore::JSCanvasPixelArray::indexSetter): Moved length check into the
3360         CanvasPixelArray object, for consistency with the getter. Removed attributes
3361         argument.
3362
3363         * bindings/js/JSDOMWindowCustom.cpp:
3364         (WebCore::JSDOMWindow::customPut): Removed special case for variable
3365         initialization, which is not needed since that does use put any more.
3366         Removed attributes argument.
3367
3368         * bindings/js/JSEventTargetBase.h:
3369         (WebCore::JSEventTargetBase::putValueProperty): Removed attributes argument.
3370         (WebCore::JSEventTargetBase::put): Ditto.
3371         (WebCore::JSEventTargetPrototype::self): Removed Internal flag.
3372         * bindings/js/JSEventTargetNode.cpp:
3373         (WebCore::JSEventTargetNode::put): Removed attributes argument.
3374         (WebCore::JSEventTargetNode::putValueProperty): Ditto.
3375         * bindings/js/JSEventTargetNode.h: Ditto.
3376         * bindings/js/JSHTMLAppletElementCustom.cpp:
3377         (WebCore::JSHTMLAppletElement::customPut): Ditto.
3378         * bindings/js/JSHTMLEmbedElementCustom.cpp:
3379         (WebCore::JSHTMLEmbedElement::customPut): Ditto.
3380         * bindings/js/JSHTMLInputElementBase.cpp:
3381         (WebCore::JSHTMLInputElementBase::put): Ditto.
3382         (WebCore::JSHTMLInputElementBase::putValueProperty): Ditto.
3383         * bindings/js/JSHTMLInputElementBase.h: Ditto.
3384         * bindings/js/JSHTMLObjectElementCustom.cpp:
3385         (WebCore::JSHTMLObjectElement::customPut): Ditto.
3386         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
3387         (WebCore::JSHTMLOptionsCollection::indexSetter): Ditto.
3388         * bindings/js/JSHTMLSelectElementCustom.cpp:
3389         (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
3390         * bindings/js/JSHistoryCustom.cpp:
3391         (WebCore::JSHistory::customPut): Ditto.
3392         * bindings/js/JSLocation.cpp:
3393         (WebCore::JSLocation::put): Ditto.
3394         * bindings/js/JSLocation.h: Ditto.
3395         * bindings/js/JSXMLHttpRequest.cpp:
3396         (WebCore::JSXMLHttpRequest::put): Ditto.
3397         (WebCore::JSXMLHttpRequest::putValueProperty): Ditto.
3398         * bindings/js/JSXMLHttpRequest.h: Ditto.
3399
3400         * bindings/js/kjs_dom.cpp:
3401         (WebCore::getRuntimeObject): Changed return type to JSObject*.
3402         * bindings/js/kjs_dom.h: Ditto.
3403
3404         * bindings/js/kjs_events.cpp:
3405         (WebCore::JSClipboard::put): Removed attributes argument.
3406         (WebCore::JSClipboard::putValueProperty): Ditto.
3407         * bindings/js/kjs_events.h: Ditto.
3408
3409         * bindings/js/kjs_html.cpp:
3410         (WebCore::runtimeObjectGetter): Updated for change to getRuntimeObject to
3411         return a JSObject. Used early exit idiom.
3412         (WebCore::runtimeObjectPropertyGetter): Ditto.
3413         (WebCore::runtimeObjectCustomGetOwnPropertySlot): Ditto.
3414         (WebCore::runtimeObjectCustomPut): Use hasProperty to check for properties
3415         that we should put with the property syntax instead of canPut.
3416         (WebCore::runtimeObjectImplementsCall): Ditto.
3417         (WebCore::runtimeObjectCallAsFunction): Ditto.
3418         * bindings/js/kjs_html.h: Removed attributes argument to runtimeObjectCustomPut.
3419
3420         * bindings/js/kjs_window.cpp:
3421         (KJS::Window::put): Removed attributes argument.
3422         * bindings/js/kjs_window.h: Ditto.
3423
3424         * bindings/scripts/CodeGeneratorJS.pm: Removed attributes argument from put,
3425         putValueProperty, customPut, and indexSetter.
3426
3427         * html/CanvasPixelArray.h:
3428         (WebCore::CanvasPixelArray::set): Added index checking here, as in the get
3429         function. Before, the checking was done in the JavaScript bindings for set.
3430
3431 2008-02-23  Brent Fulgham  <bfulgham@gmail.com>
3432
3433         Reviewed by Adam and Darin.
3434
3435         http://bugs.webkit.org/show_bug.cgi?id=17442
3436         Correct the Windows Cairo implementation of GraphicsContext so
3437         that Windows 'WorldTransform' is kept in sync with the Cairo
3438         transormations.
3439
3440         Also corrects an uninitialized variable in the Cairo Windows
3441         image drag handler.
3442
3443         WARNING: NO TEST CASES ADDED OR CHANGED
3444
3445         * platform/graphics/cairo/GraphicsContextCairo.cpp:  Modify
3446           methods to call GraphicsContextPlatformPrivate calls, just
3447           as is done for the CoreGraphics version.  These calls are
3448           nop's for everything but Windows.
3449         (WebCore::GraphicsContext::savePlatformState):
3450         (WebCore::GraphicsContext::restorePlatformState):
3451         (WebCore::GraphicsContext::clip):
3452         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
3453         (WebCore::GraphicsContext::translate):
3454         (WebCore::GraphicsContext::concatCTM): Re-enable for Windows
3455         (WebCore::GraphicsContext::beginTransparencyLayer):
3456         (WebCore::GraphicsContext::endTransparencyLayer):
3457         (WebCore::GraphicsContext::rotate):
3458         (WebCore::GraphicsContext::scale):
3459         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3460         * platform/graphics/win/GraphicsContextCGWin.cpp:  Move common
3461           code for handling WorldTransform calls to parent class.
3462         * platform/graphics/win/GraphicsContextCairoWin.cpp:  Add common
3463           code for handling WorldTransform calls.
3464           (WebCore::GraphicsContextPlatformPrivate::concatCTM):  Change
3465           implementation so that it only handles WorldTransform.  The
3466           Cairo update is done in GraphicsContextCairo.cpp
3467         * platform/graphics/win/GraphicsContextWin.cpp:  Call platform-private
3468           methods to keep WorldTransform in sync.
3469         (WebCore::GraphicsContextPlatformPrivate::save):
3470         (WebCore::GraphicsContextPlatformPrivate::restore):
3471         (WebCore::GraphicsContextPlatformPrivate::clip):
3472         (WebCore::GraphicsContextPlatformPrivate::scale):
3473         (WebCore::GraphicsContextPlatformPrivate::rotate):
3474         (WebCore::GraphicsContextPlatformPrivate::translate):
3475         * platform/win/DragImageCairoWin.cpp:
3476         (WebCore::createDragImageFromImage):  Correct uninitialized value
3477
3478 2008-02-23  Dan Bernstein  <mitz@apple.com>
3479
3480         Reviewed by Dave Hyatt.
3481
3482         - make non-autowrapping text clear floats
3483
3484         Test: fast/text/whitespace/nowrap-clear-float.html
3485
3486         * rendering/RenderBlock.cpp:
3487         (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to
3488         this and changed to avoid comparing bottom to 0 in each iteration.
3489         (WebCore::RenderBlock::getClearDelta): Updated comment for the rename.
3490         * rendering/RenderBlock.h:
3491         * rendering/bidi.cpp:
3492         (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of
3493         findNextLineBreak() and simplified.
3494         (WebCore::RenderBlock::findNextLineBreak): Changed to call
3495         fitBelowFloats(). Fixed the bug by trying to fit below floats in the
3496         case of non-wrapping text. Removed some redundancy.
3497
3498 2008-02-23  Sam Weinig  <sam@webkit.org>
3499
3500         Reviewed by Oliver Hunt.
3501
3502         Fix for http://bugs.webkit.org/show_bug.cgi?id=17504
3503         Speed up DOM lists array subscription syntax by using the fast 
3504         getOwnPropertySlot and set paths
3505
3506         - 6x speed improvement on Oliver's ImageData put test.
3507
3508         * bindings/scripts/CodeGeneratorJS.pm: Add fast path for getOwnPropertySlot
3509         and put when an indexGetter or indexSetter is used.  We can not use the fast
3510         path if an overridingNameGetter is used as there would be no way to override.
3511
3512 2008-02-23  Kevin Ollivier  <kevino@theolliviers.com>
3513
3514         wx build fix after JSImageData.cpp was added.
3515
3516         * WebCoreSources.bkl:
3517
3518 2008-02-23  Alexey Proskuryakov  <ap@webkit.org>
3519
3520         Windows build fix - move ThreadCondition implementation from WebCore to WTF.
3521
3522         * WebCore.vcproj/WebCore.vcproj:
3523         * platform/win/ThreadConditionWin.cpp: Removed.
3524
3525 2008-02-23  Alexey Proskuryakov  <ap@webkit.org>
3526
3527         Reviewed by Darin.
3528
3529         Move basic threading support from WebCore to WTF.
3530
3531         One call that remains in WebCore is callOnMainThread(), and it has its own header now.
3532
3533         * ForwardingHeaders/wtf/Locker.h: Added.
3534         * ForwardingHeaders/wtf/MessageQueue.h: Added.
3535         * ForwardingHeaders/wtf/Threading.h: Added.
3536         * GNUmakefile.am:
3537         * WebCore.pro:
3538         * WebCore.vcproj/WebCore.vcproj:
3539         * WebCore.xcodeproj/project.pbxproj:
3540         * WebCoreSources.bkl:
3541         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3542         * dom/XMLTokenizer.cpp:
3543         * loader/icon/IconDatabase.cpp:
3544         (WebCore::iconDatabase):
3545         * loader/icon/IconDatabase.h:
3546         * platform/Locker.h: Removed.
3547         * platform/MainThread.h: Copied from WebCore/platform/Threading.h.
3548         (WebCore::initializeThreadingAndMainThread):
3549         * platform/MessageQueue.h: Removed.
3550         * platform/SecurityOrigin.h:
3551         * platform/Threading.h: Removed.
3552         * platform/ThreadingNone.cpp: Removed.
3553         * platform/gtk/MainThreadGtk.cpp: Copied from WebCore/platform/gtk/ThreadingGtk.cpp.
3554         * platform/gtk/ThreadingGtk.cpp: Removed.
3555         * platform/mac/MainThreadMac.mm: Copied from WebCore/platform/mac/Threading.mm.
3556         * platform/mac/Threading.mm: Removed.
3557         * platform/pthreads: Removed.
3558         * platform/pthreads/ThreadingPthreads.cpp: Removed.
3559         * platform/qt/MainThreadQt.cpp: Copied from WebCore/platform/qt/ThreadingQt.cpp.
3560         * platform/qt/ThreadingQt.cpp: Removed.
3561         * platform/sql/SQLValue.h:
3562         * platform/sql/SQLiteAuthorizer.h:
3563         * platform/sql/SQLiteDatabase.h:
3564         * platform/win/MainThreadWin.cpp: Copied from WebCore/platform/win/ThreadingWin.cpp.
3565         (WebCore::initializeThreadingAndMainThread):
3566         * platform/win/MutexWin.cpp: Removed.
3567         * platform/win/ThreadingWin.cpp: Removed.
3568         * platform/wx/MainThreadWx.cpp: Copied from WebCore/platform/wx/ThreadingWx.cpp.
3569         * platform/wx/ThreadingWx.cpp: Removed.
3570         * storage/Database.cpp:
3571         (WebCore::Database::Database):
3572         * storage/Database.h:
3573         * storage/DatabaseTask.h:
3574         * storage/DatabaseThread.h:
3575         * storage/DatabaseTracker.cpp:
3576         * storage/OriginQuotaManager.h:
3577         * storage/SQLError.h:
3578         * storage/SQLResultSet.h:
3579         * storage/SQLStatement.h:
3580         * storage/SQLStatementCallback.h:
3581         * storage/SQLStatementErrorCallback.h:
3582         * storage/SQLTransaction.h:
3583         * storage/SQLTransactionCallback.h:
3584         * storage/SQLTransactionErrorCallback.h:
3585         * webcore-wx.bkl:
3586
3587 2008-02-23  David Kilzer  <ddkilzer@apple.com>
3588
3589         Please clarify licensing for some files
3590         <http://bugs.webkit.org/show_bug.cgi?id=14970>
3591
3592         Reviewed by Darin.
3593
3594         * bindings/objc/WebScriptObject.h: Added Apple BSD-style license.
3595         * bindings/objc/WebScriptObjectPrivate.h: Ditto.
3596         * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE.
3597
3598 2008-02-22  Justin Garcia  <justin.garcia@apple.com>
3599
3600         Reviewed by Anders Carlsson.
3601
3602         <rdar://problem/5714333> Add document.getSelection()
3603         
3604         Add a synonym for window.getSelection() that FF supports.  There were requests in
3605         this bugs dupes to also support the IE only document.selection, but IE's Selection
3606         object is too different than ours currently for that to be safe (specifically, we
3607         don't support enough of IE's TextRange methods on our DOM Range object yet). I
3608         filed <rdar://problem/5761233> to cover that.
3609
3610         * dom/Document.cpp:
3611         (WebCore::Document::getSelection): Added.
3612         * dom/Document.h:
3613         * dom/Document.idl: Ditto.  JS only since this is about web compatibility.
3614
3615 2008-02-22  Oliver Hunt  <oliver@apple.com>
3616
3617         WX build fixes
3618
3619         * WebCoreSources.bkl:
3620
3621 2008-02-22  Oliver Hunt  <oliver@apple.com>
3622
3623         Once more with the cairo/qt/wx build fixing
3624
3625         * platform/graphics/cairo/ImageBufferCairo.cpp:
3626         * platform/graphics/qt/ImageBufferQt.cpp:
3627         * platform/graphics/wx/ImageBufferWx.cpp:
3628
3629 2008-02-22  Mark Rowe  <mrowe@apple.com>
3630
3631         Windows build fix.  Add missing include of DeprecatedCString.h and sort existing includes.
3632
3633         * platform/win/PasteboardWin.cpp:
3634
3635 2008-02-22  Mark Rowe  <mrowe@apple.com>
3636
3637         Speculative Windows build fix.
3638
3639         * platform/win/ClipboardUtilitiesWin.cpp:  Add missing include of DeprecatedCString.h and sort existing includes.
3640         * platform/win/ClipboardWin.cpp:  Ditto.
3641
3642 2008-02-22  Oliver Hunt  <oliver@apple.com>
3643
3644         Build fix for windows, wx and qt
3645
3646         * html/CanvasPixelArray.h:
3647         (WebCore::CanvasPixelArray::set):
3648
3649 2008-02-22  Oliver Hunt  <oliver@apple.com>
3650
3651         Unbreak windows vcproj
3652
3653         * WebCore.vcproj/WebCore.vcproj:
3654
3655 2008-02-22  Oliver Hunt  <oliver@apple.com>
3656
3657         Reviewed by Sam W.
3658
3659         Support Canvas.getImageData and Canvas.createImageData
3660         
3661         This patch adds support for all the pixel reading portions
3662         of the HTML5 Canvas spec.  There are two new types ImageData
3663         and CanvasPixelArray which are used to provide the HTML5
3664         ImageData object, and the required semantics for assignment
3665         to the ImageData data array.
3666         
3667         We only implement the CG version of ImageBuffer::getImageData,
3668         but the logic is null safe, so this will not introduce any
3669         crashes into other platforms, unfortunately it will result in
3670         JS Object detection "lying" on non-CG platforms.
3671
3672         Tests: fast/canvas/canvas-ImageData-behaviour.html
3673                fast/canvas/canvas-getImageData.html
3674
3675         * DerivedSources.make:
3676         * GNUmakefile.am:
3677         * WebCore.pro:
3678         * WebCore.vcproj/WebCore.vcproj:
3679         * WebCore.xcodeproj/project.pbxproj:
3680         * bindings/js/JSCanvasPixelArrayCustom.cpp: Added.
3681         (WebCore::JSCanvasPixelArray::indexGetter):
3682         (WebCore::JSCanvasPixelArray::indexSetter):
3683         (WebCore::toJS):
3684         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3685         * bindings/scripts/CodeGeneratorJS.pm:
3686         * html/CanvasPixelArray.cpp: Added.
3687         (WebCore::CanvasPixelArray::create):
3688         * html/CanvasPixelArray.h: Added.
3689         (WebCore::CanvasPixelArray::data):
3690         (WebCore::CanvasPixelArray::length):
3691         (WebCore::CanvasPixelArray::set):
3692         (WebCore::CanvasPixelArray::get):
3693         * html/CanvasPixelArray.idl: Added.
3694         * html/CanvasRenderingContext2D.cpp:
3695         (WebCore::createEmptyImageData):
3696         (WebCore::CanvasRenderingContext2D::createImageData):
3697         (WebCore::CanvasRenderingContext2D::getImageData):
3698         * html/CanvasRenderingContext2D.h:
3699         * html/CanvasRenderingContext2D.idl:
3700         * html/HTMLCanvasElement.cpp:
3701         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
3702         (WebCore::HTMLCanvasElement::createImageBuffer):
3703         * html/HTMLCanvasElement.h:
3704         * html/ImageData.cpp: Added.
3705         (WebCore::ImageData::create):
3706         (WebCore::ImageData::ImageData):
3707         * html/ImageData.h: Added.
3708         (WebCore::ImageData::width):
3709         (WebCore::ImageData::height):
3710         (WebCore::ImageData::data):
3711         * html/ImageData.idl: Added.
3712         * platform/graphics/ImageBuffer.h:
3713         * platform/graphics/cairo/ImageBufferCairo.cpp:
3714         (WebCore::ImageBuffer::getImageData):
3715         * platform/graphics/cg/ImageBufferCG.cpp:
3716         (WebCore::ImageBuffer::getImageData):
3717         * platform/graphics/qt/ImageBufferQt.cpp:
3718         (WebCore::ImageBuffer::getImageData):
3719         * platform/graphics/wx/ImageBufferWx.cpp:
3720         (WebCore::ImageBuffer::getImageData):
3721
3722 2008-02-22  Sam Weinig  <sam@webkit.org>
3723
3724         Rubber-stamped by Adam Roben.
3725
3726         Rid the project of the Devil known as DeprecatedString!
3727
3728         * GNUmakefile.am:
3729         * WebCore.base.exp:
3730         * WebCore.pro:
3731         * WebCore.vcproj/WebCore.vcproj:
3732         * WebCore.xcodeproj/project.pbxproj:
3733         * WebCoreSources.bkl:
3734         * dom/Node.h:
3735         * html/HTMLFormElement.cpp:
3736         * platform/DeprecatedString.cpp: Removed.
3737         * platform/DeprecatedString.h: Removed.
3738         * platform/graphics/qt/IconQt.cpp:
3739         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3740         * platform/gtk/CookieJarGtk.cpp:
3741         * platform/gtk/CursorGtk.cpp:
3742         * platform/gtk/KeyEventGtk.cpp:
3743         * platform/mac/DeprecatedStringMac.mm: Removed.
3744         * platform/network/qt/ResourceHandleQt.cpp:
3745         * platform/network/win/CookieJarWin.cpp:
3746         (WebCore::cookies):
3747         * platform/qt/ClipboardQt.cpp:
3748         * platform/qt/CookieJarQt.cpp:
3749         * platform/qt/CursorQt.cpp:
3750         * platform/symbian/DeprecatedStringSymbian.cpp: Removed.
3751         * platform/text/AtomicString.cpp:
3752         * platform/text/AtomicString.h:
3753         * platform/text/PlatformString.h:
3754         * platform/text/String.cpp:
3755         * platform/text/StringImpl.cpp:
3756         * platform/text/qt/StringQt.cpp:
3757         (WebCore::String::String):
3758         * platform/text/wx/StringWx.cpp:
3759         * platform/win/BString.cpp:
3760         * platform/win/BString.h:
3761         * platform/win/PasteboardWin.cpp:
3762
3763 2008-02-22  Sam Weinig  <sam@webkit.org>
3764
3765         Reviewed by Geoff Garen.
3766
3767         - Remove use of DeprecatedString in CSSStyleSelector.
3768
3769         * css/CSSStyleSelector.cpp:
3770         (WebCore::findHash): Removed.  Use find instead.
3771         (WebCore::findSlashDotDotSlash): Changed to take a UChar* and a length.
3772         (WebCore::findSlashSlash): Ditto.
3773         (WebCore::findSlashDotSlash): Ditto.
3774         (WebCore::containsColonSlashSlash): Ditto.
3775         (WebCore::cleanPath): Change to operate on a String.
3776         (WebCore::checkPseudoState): Changed to use a Vector as a buffer.
3777
3778 2008-02-22  Geoffrey Garen  <ggaren@apple.com>
3779
3780         Reviewed by Sam Weinig.
3781         
3782         Fixed <rdar://problem/5057509> Repro leak of JSXMLHttpRequest and
3783         associated objects @ www.viamichelin.it, which was probably an underlying
3784         cause of <rdar://problem/5744037> Gmail out of memory (17455)
3785         
3786         If SubresourceLoader::create returned NULL, we would ref() / gcProtect()
3787         the XMLHttpRequest but think we hadn't, therefore never
3788         calling deref() / gcUnprotect().
3789         
3790         This could happen at gmail.com, since gmail.com attempts to send
3791         XMLHttpRequests from unload handlers in order to gather usage statistics.
3792         (According to comments in the code, SubresourceLoader::create returns
3793         NULL when called from an unload handler.)
3794
3795         The solution is to ref() / gcProtect() only if SubresourceLoader::create
3796         doesn't return NULL. This make sense, since we only need to protect the
3797         request as long as it has an outstanding network transaction.
3798         
3799         * xml/XMLHttpRequest.cpp:
3800         (WebCore::XMLHttpRequest::XMLHttpRequest):
3801         (WebCore::XMLHttpRequest::send):
3802
3803 2008-02-22  Darin Adler  <darin@apple.com>
3804
3805         Reviewed, tweaked and landed by Sam.
3806
3807         - Make RegularExpression operate on Strings instead of DeprecatedStrings.
3808
3809         * dom/DOMImplementation.cpp:
3810         (WebCore::DOMImplementation::isXMLMIMEType): Use string instead of DeprecatedString
3811         to build up the RegularExpression.
3812         * page/Frame.cpp:
3813         (WebCore::createRegExpForLabels): Use String instead of DeprecatedString.
3814         (WebCore::Frame::searchForLabelsAboveCell): Ditto.
3815         (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
3816         (WebCore::Frame::matchLabelsAgainstElement): Ditto.
3817         * page/Frame.h:
3818         * page/mac/FrameMac.mm:
3819         (WebCore::regExpForLabels): Ditto.
3820         (WebCore::Frame::searchForNSLabelsAboveCell): Ditto.
3821         (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
3822         (WebCore::Frame::matchLabelsAgainstElement): Ditto.
3823
3824         * platform/text/RegularExpression.cpp:
3825         (WebCore::RegularExpression::Private::Private):
3826         (WebCore::RegularExpression::Private::compile):
3827         (WebCore::RegularExpression::RegularExpression):
3828         (WebCore::RegularExpression::operator=):
3829         (WebCore::RegularExpression::pattern):
3830         (WebCore::RegularExpression::match):
3831         (WebCore::RegularExpression::search):
3832         (WebCore::RegularExpression::searchRev):
3833         (WebCore::replace): Added.
3834         * platform/text/RegularExpression.h:
3835         Change functions to take Strings as input instead of DeprecatedStrings and
3836         reduce the complexity of the class by removing unneeded globbing support.
3837
3838 2008-02-22  Jon Honeycutt  <jhoneycutt@apple.com>
3839
3840         Reviewed by Anders.
3841
3842         <rdar://problem/5760360> REGRESSION(r30376): Crash loading plugin page
3843         during stress test (after only 5 min) - null dereference
3844
3845         Full-frame plug-ins create PluginStream objects without loaders, as the
3846         PluginView receives the loading callbacks. We were trying to call
3847         setDefersLoading on these null pointers.
3848
3849         * plugins/PluginStream.cpp:
3850         (WebCore::PluginStream::startStream): Add null check.
3851         (WebCore::PluginStream::destroyStream): Same.
3852         (WebCore::PluginStream::deliverData): Same.
3853
3854 2008-02-22  Darin Adler  <darin@apple.com>
3855
3856         Reviewed and tweaked by Jon Honeycutt. Reviewed and landed by Sam.
3857
3858         - Remove uses of DeprecatedString in Windows plugin code.
3859
3860         * plugins/win/PluginPackageWin.cpp:
3861         (WebCore::getVersionInfo): Cleanup formatting.
3862         (WebCore::PluginPackage::freeLibraryTimerFired): Remove un-needed variable name.
3863         (WebCore::PluginPackage::storeFileVersion): Move casts.
3864         (WebCore::PluginPackage::fetchInfo): Use OwnArrayPtr and switch to more efficient
3865         use of Vectors.
3866         (WebCore::PluginPackage::load): Fix whitespace.
3867         (WebCore::PluginPackage::hash): Make the hashCodes const
3868         * plugins/win/PluginViewWin.cpp:
3869         (WebCore::makeURL): Use String instead of DeprecatedString.
3870         (WebCore::parseRFC822HeaderFields): Ditto.
3871         (WebCore::PluginView::handlePost): Ditto.
3872         (WebCore::PluginView::status): Ditto.
3873
3874 2008-02-22  Darin Adler  <darin@apple.com>
3875
3876         Reviewed, tweaked and landed by Sam.
3877
3878         - Don't use DeprecatedString in HTMLTokenizer.
3879
3880         * html/HTMLTokenizer.cpp:
3881         (WebCore::HTMLTokenizer::finish):
3882         * platform/text/PlatformString.h:
3883         (WebCore::find):
3884
3885 2008-02-21  Sam Weinig  <sam@webkit.org>
3886
3887         Reviewed by Anders Carlsson.
3888
3889         Fix for <rdar://problem/5757946>
3890
3891         - Parse URLs before checking whether they are javascript: urls
3892           (which require security checks).
3893
3894         * bindings/js/JSAttrCustom.cpp:
3895         (WebCore::JSAttr::setValue):
3896         * bindings/js/JSElementCustom.cpp:
3897         (WebCore::allowSettingSrcToJavascriptURL):
3898         * bindings/js/JSHTMLFrameElementCustom.cpp:
3899         (WebCore::allowSettingJavascriptURL):
3900         * bindings/js/JSHTMLIFrameElementCustom.cpp:
3901         (WebCore::JSHTMLIFrameElement::setSrc):
3902
3903 2008-02-21  Ada Chan  <adachan@apple.com>
3904
3905         <rdar://problem/5757873> Buffer overrun in DeprecatedCString::find() in WebCore
3906         We could get a buffer overrun in DeprecatedCString::find() if the end of the
3907         string matches a beginning portion of the substring, for example, if string is
3908         "a" but the substring is "ab".
3909         The code as is also will not match things correctly under certain situations
3910         since the inner while loop increments the index. For example, we wouldn't find
3911         a match if the string is "aab..." and the substring is "ab".  Changed the 
3912         inner while loop to increment a temporary index into str.
3913         
3914         Test: fast/loader/charset-parse.html
3915
3916         Reviewed by Dan Berstein.
3917
3918         * platform/DeprecatedCString.cpp:
3919         (WebCore::DeprecatedCString::find):
3920
3921 2008-02-21  David Hyatt  <hyatt@apple.com>
3922
3923         Fix for bug 17301.  CSS media queries need to use the correct viewport
3924         when contained in documents inside iframes (rather than always using the
3925         top-level document's viewport).  CSS media queries based on the viewport
3926         also needed to be dynamic and update as you resize the window (this is
3927         a HOT feature). :)
3928
3929         This patch gets Acid3 up to 86/100 with 3 colored boxes filled in.
3930
3931         Reviewed by olliej
3932
3933         Added fast/media/viewport-media-query.html
3934
3935         * css/CSSStyleSelector.cpp:
3936         (WebCore::CSSStyleSelector::CSSStyleSelector):
3937         (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult):
3938         (WebCore::CSSStyleSelector::affectedByViewportChange):
3939         * css/CSSStyleSelector.h:
3940         (WebCore::MediaQueryResult::MediaQueryResult):
3941         * css/MediaQueryEvaluator.cpp:
3942         (WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
3943         (WebCore::MediaQueryEvaluator):
3944         (WebCore::MediaQueryEvaluator::eval):
3945         (WebCore::colorMediaFeatureEval):
3946         (WebCore::monochromeMediaFeatureEval):
3947         (WebCore::device_aspect_ratioMediaFeatureEval):
3948         (WebCore::device_pixel_ratioMediaFeatureEval):
3949         (WebCore::gridMediaFeatureEval):
3950         (WebCore::device_heightMediaFeatureEval):
3951         (WebCore::device_widthMediaFeatureEval):
3952         (WebCore::heightMediaFeatureEval):
3953         (WebCore::widthMediaFeatureEval):
3954         (WebCore::min_colorMediaFeatureEval):
3955         (WebCore::max_colorMediaFeatureEval):
3956         (WebCore::min_monochromeMediaFeatureEval):
3957         (WebCore::max_monochromeMediaFeatureEval):
3958         (WebCore::min_device_aspect_ratioMediaFeatureEval):
3959         (WebCore::max_device_aspect_ratioMediaFeatureEval):
3960         (WebCore::min_device_pixel_ratioMediaFeatureEval):
3961         (WebCore::max_device_pixel_ratioMediaFeatureEval):
3962         (WebCore::min_heightMediaFeatureEval):
3963         (WebCore::max_heightMediaFeatureEval):
3964         (WebCore::min_widthMediaFeatureEval):
3965         (WebCore::max_widthMediaFeatureEval):
3966         (WebCore::min_device_heightMediaFeatureEval):
3967         (WebCore::max_device_heightMediaFeatureEval):
3968         (WebCore::min_device_widthMediaFeatureEval):
3969         (WebCore::max_device_widthMediaFeatureEval):
3970         * css/MediaQueryEvaluator.h:
3971         * css/MediaQueryExp.cpp:
3972         (WebCore::MediaQueryExp::~MediaQueryExp):
3973         * css/MediaQueryExp.h:
3974         (WebCore::MediaQueryExp::value):
3975         (WebCore::MediaQueryExp::isViewportDependent):
3976         * html/HTMLMediaElement.cpp:
3977         (WebCore::HTMLMediaElement::pickMedia):
3978         * page/FrameView.cpp:
3979         (WebCore::FrameView::layout):
3980
3981 2008-02-21  Anders Carlsson  <andersca@apple.com>
3982
3983         Reviewed by Sam.
3984
3985         Make more classes start out with a refcount of 1.
3986
3987         * dom/QualifiedName.cpp:
3988         (WebCore::QNameComponentsTranslator::translate):
3989         (WebCore::QualifiedName::QualifiedName):
3990         * dom/QualifiedName.h:
3991         (WebCore::QualifiedName::QualifiedNameImpl::create):
3992         (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
3993         * history/BackForwardList.cpp:
3994         (WebCore::BackForwardList::BackForwardList):
3995         * history/BackForwardList.h:
3996         (WebCore::BackForwardList::create):
3997         * page/Page.cpp:
3998         (WebCore::Page::Page):
3999         * platform/text/CString.cpp:
4000         (WebCore::CString::init):
4001         (WebCore::CString::newUninitialized):
4002         (WebCore::CString::copyBufferIfNeeded):
4003         * platform/text/CString.h:
4004         (WebCore::CStringBuffer::create):
4005         (WebCore::CStringBuffer::CStringBuffer):
4006
4007 2008-02-21  Kevin Ollivier  <kevino@theolliviers.com>
4008
4009         wx build fix for the domString() -> string() rename in r30443.
4010
4011         * platform/graphics/wx/FontPlatformDataWx.cpp:
4012         (WebCore::FontPlatformData::FontPlatformData):
4013
4014 2008-02-21  Antti Koivisto  <antti@apple.com>
4015
4016         Reviewed by Sam Weinig.
4017
4018         <rdar://problem/5753789>
4019         REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
4020         
4021         Ensure all versions of allowsAccessFrom are inlined to single functions. 
4022         This is a 2% win in browser hosted Sunspider. 
4023
4024         * bindings/js/kjs_window.cpp:
4025         (KJS::Window::allowsAccessFrom):
4026         (KJS::Window::allowsAccessFromPrivate):
4027         * bindings/js/kjs_window.h:
4028
4029 2008-02-21  Dan Bernstein  <mitz@apple.com>
4030
4031         Reviewed by Sam Weinig.
4032
4033         - minor cleanup
4034
4035         * rendering/bidi.cpp:
4036         (WebCore::bidiNext): Removed redundant isBR() check -- isText() returns
4037         true for RenderLineBreak.
4038         (WebCore::bidiFirst): Ditto.
4039         (WebCore::shouldSkipWhitespaceAfterStartObject):
4040         (WebCore::RenderBlock::findNextLineBreak):
4041
4042 2008-02-21  Geoffrey Garen  <ggaren@apple.com>
4043
4044         Reviewed by David Harrison.
4045         
4046         Fixed <rdar://problem/5756125> REGRESSION: A crash occurs at 
4047         WebCore::Frame::scriptProxy() when completing a search with Package Tracker widget
4048
4049         Test: fast/dom/script-element-without-frame-crash.html
4050
4051         * html/HTMLTokenizer.cpp:
4052         (WebCore::HTMLTokenizer::parseTag): Added back a NULL check that was
4053         accidentally removed in r30325.
4054
4055 2008-02-21  Rodney Dawes  <dobey@wayofthemonkey.com>
4056
4057         GTK+ build fix. s/domString()/string()/
4058
4059         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
4060         (FontPlatformData::FontPlatformData):
4061
4062 2008-02-20  Dan Bernstein  <mitz@apple.com>
4063
4064         Reviewed by Dave Hyatt.
4065
4066         - fix http://bugs.webkit.org/show_bug.cgi?id=17465
4067           REGRESSION: <DIV> tokenized into Div if still searching for DOCTYPE
4068
4069         Test: fast/tokenizer/doctype-search-reset.html
4070
4071         * html/HTMLTokenizer.cpp:
4072         (WebCore::HTMLTokenizer::parseTag):
4073
4074 2008-02-20  Dan Bernstein  <mitz@apple.com>
4075
4076         Reviewed by Dave Hyatt.
4077
4078         - fix http://bugs.webkit.org/show_bug.cgi?id=17464
4079           REGRESSION: Crash in RenderBlock::findNextLineBreak reading r30444 commit email in GMail
4080
4081         Test: fast/text/wbr-in-pre-crash.html
4082
4083         * rendering/bidi.cpp:
4084         (WebCore::RenderBlock::findNextLineBreak):
4085
4086 2008-02-20  Oliver Hunt  <oliver@apple.com>
4087
4088         Reviewed by Hyatt.
4089
4090         Bug 17303: Canvas crash in ImageBuffer
4091
4092         We handle a null GraphicsContext everywhere, but we weren't checking for 
4093         a null ImageBuffer, which is what will result in a null GraphicsContext in
4094         the first place.
4095
4096         Test: fast/canvas/access-zero-sized-canvas.html
4097
4098         * html/HTMLCanvasElement.cpp:
4099
4100 2008-02-20  David Hyatt  <hyatt@apple.com>
4101
4102         Fix the layout test failure that never should have passed in the first
4103         place by making changes to media lists actually result in the recomputation
4104         of the style selector.  Now it passes for the right reasons and not because
4105         of dumb luck.
4106
4107         Reviewed by Sam Weinig
4108
4109         * css/MediaList.cpp:
4110         (WebCore::MediaList::deleteMedium):
4111         (WebCore::MediaList::setMediaText):
4112         (WebCore::MediaList::appendMedium):
4113         (WebCore::MediaList::notifyChanged):
4114         * css/MediaList.h:
4115         * dom/Document.cpp:
4116         (WebCore::Document::attach):
4117
4118 2008-02-20  Darin Adler  <darin@apple.com>
4119
4120         Reviewed, tweaked and landed by Sam.
4121
4122         - make markup functions not use DeprecatedString.
4123
4124         * editing/markup.cpp:
4125         (WebCore::append): Added.
4126         (WebCore::escapeContentText): Build up string using a Vector.
4127         (WebCore::appendStartMarkup): Use String instead of DeprecatedString.
4128
4129 2008-02-20  Darin Adler  <darin@apple.com>
4130
4131         Reviewed, tweaked and landed by Sam.
4132
4133         - make TextIterator use a Vector instead of a DeprecatedString.
4134
4135         * editing/TextIterator.cpp:
4136         (WebCore::CharacterIterator::string): Build up the String using a
4137         Vector.
4138         (WebCore::WordAwareIterator::advance): Switch to using Vector functions.
4139         (WebCore::WordAwareIterator::length): Ditto.
4140         (WebCore::WordAwareIterator::characters): Ditto.
4141         * editing/TextIterator.h: Use a Vector<UChar> for the buffer instead
4142         of DeprecatedString.
4143
4144 2008-02-20  Darin Adler  <darin@apple.com>
4145
4146         Reviewed, tweaked and landed by Sam.
4147
4148         - make HTMLInterchange return a String instead of a DeprecatedString
4149
4150         * editing/HTMLInterchange.cpp:
4151         (WebCore::): Return a String from convertedSpaceString.
4152         (WebCore::convertHTMLTextToInterchangeFormat): Use a Vector instead of
4153         a DeprecatedString to build up the return String.
4154         * editing/HTMLInterchange.h:
4155
4156 2008-02-20  Eric Seidel  <eric@webkit.org>
4157
4158         Reviewed by Oliver.
4159
4160         Remove m_drawingContext and change m_data to m_imageBuffer
4161
4162         * html/HTMLCanvasElement.cpp:
4163         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
4164         (WebCore::HTMLCanvasElement::reset):
4165         (WebCore::HTMLCanvasElement::paint):
4166         (WebCore::HTMLCanvasElement::createImageBuffer):
4167         (WebCore::HTMLCanvasElement::buffer):
4168         (WebCore::HTMLCanvasElement::createPlatformImage):
4169         * html/HTMLCanvasElement.h:
4170
4171 2008-02-20  Anders Carlsson  <andersca@apple.com>
4172
4173         Reviewed by Sam.
4174
4175         Rename AtomicString::domString() to AtomicString::string().
4176         
4177         * css/CSSComputedStyleDeclaration.cpp:
4178         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4179         * css/CSSFontSelector.cpp:
4180         (WebCore::CSSFontSelector::getFontData):
4181         * dom/Attr.cpp:
4182         (WebCore::Attr::createTextChild):
4183         * dom/Comment.cpp:
4184         (WebCore::Comment::nodeName):
4185         * dom/Document.cpp:
4186         (WebCore::Document::recalcStyleSelector):
4187         (WebCore::Document::setHTMLWindowEventListener):
4188         (WebCore::Document::formElementsState):
4189         * dom/StyledElement.cpp:
4190         (WebCore::StyledElement::parseMappedAttribute):
4191         * dom/Text.cpp:
4192         (WebCore::Text::nodeName):
4193         * editing/SelectionController.cpp:
4194         (WebCore::SelectionController::debugRenderer):
4195         * html/HTMLCollection.cpp:
4196         (WebCore::HTMLCollection::checkForNameMatch):
4197         * html/HTMLElement.cpp:
4198         (WebCore::HTMLElement::nodeName):
4199         (WebCore::HTMLElement::setHTMLEventListener):
4200         * html/HTMLFormCollection.cpp:
4201         (WebCore::HTMLFormCollection::getNamedFormItem):
4202         * html/HTMLImageElement.cpp:
4203         (WebCore::HTMLImageElement::parseMappedAttribute):
4204         (WebCore::HTMLImageElement::isURLAttribute):
4205         * html/HTMLLinkElement.cpp:
4206         (WebCore::HTMLLinkElement::parseMappedAttribute):
4207         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
4208         * html/HTMLObjectElement.cpp:
4209         (WebCore::HTMLObjectElement::isURLAttribute):
4210         (WebCore::HTMLObjectElement::containsJavaApplet):
4211         * html/HTMLParamElement.cpp:
4212         (WebCore::HTMLParamElement::isURLAttribute):
4213         * html/HTMLParser.cpp:
4214         (WebCore::HTMLParser::handleIsindex):
4215         * html/HTMLScriptElement.cpp:
4216         (WebCore::HTMLScriptElement::insertedIntoDocument):
4217         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
4218         * html/HTMLStyleElement.cpp:
4219         (WebCore::HTMLStyleElement::parseMappedAttribute):
4220         * html/HTMLTokenizer.cpp:
4221         (WebCore::HTMLTokenizer::parseTag):
4222         * html/HTMLViewSourceDocument.cpp:
4223         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
4224         * loader/FrameLoader.cpp:
4225         (WebCore::FrameLoader::saveDocumentState):
4226         * page/FrameTree.cpp:
4227         (WebCore::FrameTree::uniqueChildName):
4228         * platform/text/AtomicString.h:
4229         (WebCore::AtomicString::string):
4230         (WebCore::AtomicString::contains):
4231         (WebCore::AtomicString::find):
4232         (WebCore::AtomicString::startsWith):
4233         (WebCore::AtomicString::endsWith):
4234         * rendering/RenderPartObject.cpp:
4235         (WebCore::RenderPartObject::updateWidget):
4236         * svg/SVGElement.cpp:
4237         (WebCore::SVGElement::addSVGEventListener):
4238         * svg/SVGSVGElement.cpp: