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