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