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