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