2007-07-06 Tony Chang <idealisms@gmail.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2007-07-06  Tony Chang  <idealisms@gmail.com>
2
3         Reviewed by Maciej.
4
5         http://bugs.webkit.org/show_bug.cgi?id=14516
6         Bug 14516: crash loading multipart/x-mixed-replace data on windows safari
7
8         NULL check m_resourceData to prevent a crash in Safari on Windows.
9
10         * loader/ResourceLoader.cpp:
11         (WebCore::ResourceLoader::clearResourceData):
12
13 2007-07-06  Jungshik Shin  <jungshik.shin@gmail.com>
14
15         Reviewed by Alexey.
16
17         - Add UTF-32 encoding support 
18           http://bugs.webkit.org/show_bug.cgi?id=13415
19
20         Test:
21          - fast/encoding/utf-32-big-endian-bom.html
22          - fast/encoding/utf-32-big-endian-nobom.xml
23          - fast/encoding/utf-32-little-endian-bom.html
24          - fast/encoding/utf-32-little-endian-nobom.xml
25
26         * loader/TextResourceDecoder.cpp:
27         (WebCore::TextResourceDecoder::checkForBOM):
28         (WebCore::TextResourceDecoder::checkForHeadCharset):
29         * platform/TextDecoder.cpp:
30         (WebCore::TextDecoder::checkForBOM):
31         * platform/TextDecoder.h:
32         * platform/TextEncoding.cpp:
33         (WebCore::UTF32BigEndianEncoding):
34         (WebCore::UTF32LittleEndianEncoding):
35         * platform/TextEncoding.h:
36
37 2007-07-06  Holger Hans Peter Freyther  <zecke@selfish.org>
38
39         Reviewed by Maciej.
40
41         Start implementening RenderThemeGdk/Gtk using GtkStyle. The approach is
42         to allocate one native control for each widget type. And use margins, spacing,
43         style properties from the Widget. And for drawing use GtkStyle on the rect supplied.
44
45         This should allow nice integration and be relative resource friendly. Mozilla is using
46         a similiar approach. They seem to share the GdkPixmap among several operations and this
47         will be an obvious candidate for improvements. Create a normally big enough GdkPixmap and
48         use that for drawing and then set clip regions for cairo to make sure to not go beyond the
49         width and height.
50
51         The next steps will be to introduce states for the widgets, add more widgets, handle focus,
52         and various other style attributes, honor the size and margin and use that to propagate this
53         back to RenderStyle*.
54
55         * platform/gdk/RenderThemeGdk.cpp:
56         (WebCore::RenderThemeGdk::RenderThemeGdk):
57         (WebCore::RenderThemeGdk::setCheckboxSize):
58         (WebCore::RenderThemeGdk::paintCheckbox):
59         (WebCore::RenderThemeGdk::setRadioSize):
60         (WebCore::RenderThemeGdk::paintRadio):
61         (WebCore::RenderThemeGdk::paintButton):
62         (WebCore::RenderThemeGdk::copyToContext):
63         (WebCore::RenderThemeGdk::gtkButton):
64         (WebCore::RenderThemeGdk::gtkCheckbox):
65         (WebCore::RenderThemeGdk::gtkRadioButton):
66         (WebCore::RenderThemeGdk::gtkWindowContainer):
67         * platform/gdk/RenderThemeGdk.h:
68
69 2007-07-06  Rob Buis  <buis@kde.org>
70
71         Reviewed by Adam.
72
73         http://bugs.webkit.org/show_bug.cgi?id=14442
74         Adding a stop with value 1.0 to a gradient that has already been used has no effect
75
76         Implement start and end stop handling differently so they are not
77         in the color stop array.
78
79         * html/CanvasGradient.cpp:
80         (WebCore::compareStops):
81         (WebCore::CanvasGradient::getColor):
82         (WebCore::CanvasGradient::findStop):
83
84 2007-07-06  Adam Roben  <aroben@apple.com>
85
86         Fix <rdar://problem/5301994> Garbled text still showing on some sites
87
88         Replace calls to GetGlyphIndices with wkGetGlyphs.
89
90         Reviewed by Alice.
91
92         * platform/win/GlyphPageTreeNodeWin.cpp:
93         (WebCore::GlyphPage::fill): Use wkGetGlyphs.
94         * platform/win/FontDataWin.cpp:
95         (WebCore::FontData::containsCharacters):
96
97 2007-07-06  Matt Lilek  <pewtermoose@gmail.com>
98
99         Not reviewed - Windows build fix.
100
101         * bridge/win/FrameWin.cpp:
102         (WebCore::imageFromSelection):
103
104 2007-07-06  George Staikos  <staikos@kde.org>
105
106         Reviewed by Maciej.
107
108         Switch USE(ICONDATABASE) to ENABLE(ICONDATABASE) and activate the
109         flag via the .pro file
110
111         * WebCore.pro:
112         * loader/icon/IconDatabase.h:
113
114 2007-07-05  John Sullivan  <sullivan@apple.com>
115
116         Reviewed by Adam
117
118         - WebCore part of fix for <rdar://problem/5315033>
119
120         * rendering/RenderObject.h:
121         replaced PaintRestrictionSelectionOnlyWhiteText with PaintRestrictionSelectionOnlyBlackText
122         (WebCore::RenderObject::PaintInfo::PaintInfo):
123         replaced forceWhiteText with forceBlackText
124
125         * rendering/RenderObject.cpp:
126         (WebCore::RenderObject::addLineBoxRects):
127         added a useSelectionHeight parameter, which defaults to false; this method is unimplemented
128         at this level so this has no effect.
129
130         * rendering/RenderText.h:
131         * rendering/RenderText.cpp:
132         (WebCore::RenderText::addLineBoxRects):
133         added a useSelectionHeight parameter, which defaults to false. If true, use the vertical position
134         and height returned by selectionRect rather than replacing it with the more tight-fitting position
135         and height of the line box.
136
137         * dom/Range.h:
138         * dom/Range.cpp:
139         (WebCore::Range::addLineBoxRects):
140         added a useSelectionHeight parameter, which defaults to false. Passes this along to RenderObject.        
141
142         * page/Frame.h:
143         renamed parameter to selectionImage
144         * page/Frame.cpp:
145         (WebCore::Frame::selectionTextRects):
146         pass true for addLineBoxRects new useSelectionHeight parameter, so the rects returned by this new
147         method will match the height that the selection would be painted here
148         (WebCore::Frame::paint):
149         updated for white->black name changes
150         
151         * page/mac/FrameMac.mm:
152         (WebCore::Frame::selectionImage):
153         updated for white->black name changes
154         
155         * rendering/InlineFlowBox.cpp:
156         (WebCore::InlineFlowBox::paintTextDecorations):
157         updated for white->black name changes
158
159         * rendering/RenderLayer.cpp:
160         (WebCore::RenderLayer::paintLayer):
161         updated for white->black name changes
162
163         * rendering/InlineTextBox.cpp:
164         (WebCore::InlineTextBox::paint):
165         updated for white->black name changes, and actually use black instead of white. This was the goal
166         of all the name changes.
167
168 2007-07-05  Anders Carlsson  <andersca@apple.com>
169
170         Reviewed by Oliver.
171
172         Fix layout test failures.
173         
174         * loader/FrameLoader.cpp:
175         (WebCore::FrameLoader::commitProvisionalLoad):
176         Don't make a representation if we're creating the initial document.
177
178 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
179
180         Fix Bug 14388: Input in text fields limited to 1024 characters
181         http://bugs.webkit.org/show_bug.cgi?id=14388
182
183         Slightly modified by Adam Roben.
184
185         Reviewed by Adele.
186
187         Tests: fast/forms/input-implicit-length-limit.html
188                fast/forms/input-maxlength.html
189
190         * html/HTMLInputElement.cpp: Bump limit to 524288.
191         (WebCore::HTMLInputElement::init):
192         (WebCore::HTMLInputElement::parseMappedAttribute):
193         * html/HTMLInputElement.h:
194
195 2007-07-05  Anders Carlsson  <andersca@apple.com>
196
197         Build fix.
198         
199         * loader/FrameLoader.cpp:
200         (WebCore::FrameLoader::init):
201
202 2007-07-05  Sam Weinig  <sam@webkit.org>
203
204         Reviewed by Geoff.
205
206         Add focus, blur and close functions to DOMWindow implementation class
207         and move bindings from Window to JSDOMWindow.
208
209         * bindings/js/JSDOMWindowCustom.cpp:
210         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
211         * bindings/js/kjs_window.cpp:
212         (KJS::Window::getOwnPropertySlot):
213         (KJS::WindowFunc::callAsFunction):
214         * bindings/js/kjs_window.h:
215         (KJS::Window::):
216         * bindings/scripts/CodeGeneratorJS.pm: Move prototype function declaration from
217         the implementation to the header.
218         * page/DOMWindow.cpp:
219         (WebCore::DOMWindow::focus):
220         (WebCore::DOMWindow::blur):
221         (WebCore::DOMWindow::close):
222         * page/DOMWindow.h:
223         * page/DOMWindow.idl:
224
225 2007-07-05  Justin Garcia  <justin.garcia@apple.com>
226
227         Reviewed by Harrison.
228
229         <rdar://problem/5279521> REGRESSION: In Mail, a crash occurs at WebCore::Range::startPosition() when attempting to apply alignment to selected image/text in message body
230
231         * editing/TextIterator.cpp:
232         (WebCore::TextIterator::exitNode): Previously emitted content shouldn't have
233         to come from a text node in order to emit a '\n' as we exit block containers.
234
235 2007-07-05  Anders Carlsson  <andersca@apple.com>
236
237         Reviewed by Geoff.
238
239         <rdar://problem/5315284> REGRESSION: Leopard Launch Time - plugins are being accessed at startup.
240
241         Set a response that has a MIME type of "text/html" on the document loader so WebKit won't refresh the 
242         plugin database looking for a plug-in that can handle the document's MIME type (which will be null anyway).
243                  
244         * loader/FrameLoader.cpp:
245         (WebCore::FrameLoader::init):
246
247 2007-07-05  Anders Carlsson  <andersca@apple.com>
248
249         Reviewed by Oliver.
250
251         <rdar://problem/5106788>
252         WebKit loads user style sheets too late as seen in Mail (breaks DataDetectors; Mail flashes wrong font)
253
254         Let the document know when the user style sheet is loading so that it try not to display anything
255         until the user style sheet has finished loading.
256         
257         * page/Frame.cpp:
258         (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
259         (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader):
260         (WebCore::UserStyleSheetLoader::setCSSStyleSheet):
261         (WebCore::Frame::setUserStyleSheetLocation):
262
263 2007-07-05  Sam Weinig  <sam@webkit.org>
264
265         Reviewed by Darin.
266
267         Move JSDOMWindow overriding getOwnPropertySlot logic from KJS::Window
268         up into JSDOMWindow.  No change in functionality so no testcase required. 
269
270         * bindings/js/JSDOMWindowCustom.cpp:
271         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
272         * bindings/js/kjs_window.cpp:
273         (KJS::Window::getOwnPropertySlot):
274         * bindings/js/kjs_window.h:
275
276 2007-07-05  Mitz Pettel  <mitz@webkit.org>
277
278         Reviewed and Landed by Sam.
279
280         - fix bug 14465 for window.showModalDialog
281
282         * bindings/js/kjs_window.cpp:
283         (KJS::parseModalDialogFeatures):
284         (KJS::showModalDialog):
285
286 2007-07-05  Sam Weinig  <sam@webkit.org>
287
288         Reviewed by Mitz.
289
290         Patch for http://bugs.webkit.org/show_bug.cgi?id=14465
291         window.open() uses the literal "undefined" as the URL
292
293         * bindings/js/kjs_window.cpp:
294         (KJS::WindowFunc::callAsFunction): add checks for undefined and null values when setting the url.
295         * manual-tests/open-url-undefined.html: Added.
296
297 2007-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>
298
299         Reviewed by Rob Buis.
300
301         Rework FontData and FontPlatformData for the Gdk work to make valgrind
302         happy.
303
304         Move destroying of FontConfig and Cairo objects held in FontPlatformData
305         to FontData::platformDestroy. The ownership of these objects is held by
306         FontData. This is following the Mac and Qt port at least.
307
308         Currently it is possible that FontPlatformData will not create cairo resources
309         in this case at least make sure the variables are initialized to 0.
310         Initialize x,y of the cairo_glyph_t with zero to avoid extents.x_advance depending
311         on subtracing with not defined values.
312
313         FontPlatformData::hash. Using FontDescription is a bad idea as we don't have a clue
314         about how it is packed, if holes are present, etc. The FcPattern and the m_fontMatrix
315         should be good enough to describe the Font. All other objects are created using these
316         variables
317
318         Replace C-style casts with C++ casts, in this case reinterpret_cast.
319
320         * platform/gdk/FontDataGdk.cpp:
321         (WebCore::FontData::platformInit): Don't assert
322         (WebCore::FontData::platformDestroy): Take over ownership
323         (WebCore::FontData::platformWidthForGlyph): initialize
324         (WebCore::FontData::setFont): be paranoid and assert
325         * platform/gdk/FontPlatformData.h:
326         (WebCore::FontPlatformData::FontPlatformData): Initialize everything
327         (WebCore::FontPlatformData::hash): make valgrind happy and don't use m_fontDescription
328         * platform/gdk/FontPlatformDataGdk.cpp:
329         (WebCore::FontPlatformData::FontPlatformData):
330         (WebCore::FontPlatformData::~FontPlatformData): FontData::platformDestroy will do this
331         (WebCore::FontPlatformData::list): Don't use C-style casts.
332         (WebCore::FontPlatformData::setFont): m_fontFace, m_fontMatrix, m_options might not be initialized
333         (WebCore::FontPlatformData::operator==): Don't use C-style casts.
334
335 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
336
337         Reviewed by Mark Rowe.
338
339         http://bugs.webkit.org/show_bug.cgi?id=14445
340         GraphicsContextCairo code style cleanup
341
342         Follow the cr naming convention for cairo_t*.
343         Remove trailing whitespace.
344         Replace C casts with C++ casts.
345         Avoid needless casts.
346
347         * platform/graphics/cairo/GraphicsContextCairo.cpp:
348         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
349         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
350         (WebCore::GraphicsContext::GraphicsContext):
351         (WebCore::GraphicsContext::platformContext):
352         (WebCore::GraphicsContext::savePlatformState):
353         (WebCore::GraphicsContext::restorePlatformState):
354         (WebCore::GraphicsContext::drawRect):
355         (WebCore::adjustLineToPixelBoundaries):
356         (WebCore::GraphicsContext::drawLine):
357         (WebCore::GraphicsContext::drawEllipse):
358         (WebCore::GraphicsContext::strokeArc): Save/restore the graphics state.
359         (WebCore::GraphicsContext::drawConvexPolygon):
360         (WebCore::GraphicsContext::fillRect):
361         (WebCore::GraphicsContext::clip):
362         (WebCore::GraphicsContext::drawFocusRing):
363         (WebCore::GraphicsContext::roundToDevicePixels):
364         (WebCore::GraphicsContext::translate):
365         (WebCore::GraphicsContext::origin):
366         (WebCore::GraphicsContext::setPlatformStrokeThickness):
367         (WebCore::GraphicsContext::setPlatformStrokeStyle):
368         (WebCore::GraphicsContext::setPlatformFont):
369         (WebCore::GraphicsContext::concatCTM):
370         (WebCore::GraphicsContext::addInnerRoundedRectClip):
371         (WebCore::GraphicsContext::beginTransparencyLayer):
372         (WebCore::GraphicsContext::endTransparencyLayer):
373         (WebCore::GraphicsContext::clearRect):
374         (WebCore::GraphicsContext::setLineCap):
375         (WebCore::GraphicsContext::setLineJoin):
376         (WebCore::GraphicsContext::setMiterLimit):
377         (WebCore::GraphicsContext::setCompositeOperation):
378         (WebCore::GraphicsContext::beginPath):
379         (WebCore::GraphicsContext::addPath):
380         (WebCore::GraphicsContext::rotate):
381         (WebCore::GraphicsContext::scale):
382         * platform/graphics/cairo/ImageBufferCairo.cpp:
383         (WebCore::ImageBuffer::ImageBuffer):
384         * platform/graphics/cairo/ImageCairo.cpp: Avoid the confusing ctxt/context naming scheme.
385         (WebCore::BitmapImage::draw):
386         (WebCore::Image::drawPattern):
387
388 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
389
390         Reviewed by Mark Rowe.
391
392         http://bugs.webkit.org/show_bug.cgi?id=14531
393         Cairo SVGImage::nativeImageForCurrentFrame() has no return
394
395         Return the Cairo surface from the frame cache.
396
397         Also add a fall-through else macro with notImplemented() so that future
398         ports do not make the same mistake.
399
400         * platform/graphics/svg/SVGImage.cpp:
401         (WebCore::SVGImage::nativeImageForCurrentFrame):
402
403 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
404
405         Reviewed by Mark Rowe.
406
407         http://bugs.webkit.org/show_bug.cgi?id=14513
408         Cairo animated GIF support is broken
409
410         Implement ImageSource::frameIsCompleteAtIndex() to enable animated GIFs.
411
412         * platform/graphics/cairo/ImageSourceCairo.cpp:
413         (WebCore::ImageSource::frameIsCompleteAtIndex):
414
415 2007-07-04  Matt Perry  <mpComplete@gmail.com>
416
417         Reviewed by Adam.
418
419         Fix for http://bugs.webkit.org/show_bug.cgi?id=13400
420         Bug 13400: REGRESSION (r20809-20814): No back entry created for navigations created by assigning to document.location
421         <rdar://problem/5153025>
422
423         Treat userGesture as always true for setLocation, forcing a back/forward
424         entry to be created.
425
426         * bindings/js/JSHTMLDocumentCustom.cpp:
427         (WebCore::JSHTMLDocument::setLocation):
428
429 2007-07-04  Adam Roben  <aroben@apple.com>
430
431         Restore MouseEventWithHitTestResults::targetNode's old behavior
432
433         Reviewed by Mark.
434
435         Fixes fast/images/imagemap-case and fast/replace/image-map.
436
437         * page/MouseEventWithHitTestResults.cpp:
438         (WebCore::MouseEventWithHitTestResults::targetNode): Use the inner
439         node, not the inner non-shared node.
440
441 2007-07-04  Adam Roben  <aroben@apple.com>
442
443         Mac, Qt, and Gdk build fixes.
444
445         * page/EventHandler.h:
446         * page/gdk/EventHandlerGdk.cpp:
447         * page/mac/EventHandlerMac.mm:
448         (WebCore::EventHandler::passSubframeEventToSubframe):
449         * page/qt/EventHandlerQt.cpp:
450
451 2007-07-04  Adam Roben  <aroben@apple.com>
452
453         Fix the Qt/Gdk builds.
454
455         * page/gdk/EventHandlerGdk.cpp:
456         * page/qt/EventHandlerQt.cpp:
457
458 2007-07-04  Adam Roben  <aroben@apple.com>
459
460         Move tooltip logic down into WebCore so that it can be shared cross-platform
461
462         Reviewed by Sam.
463
464         * page/Chrome.cpp:
465         (WebCore::Chrome::setToolTip): Added.
466         * page/Chrome.h:
467         * page/ChromeClient.h:
468         * page/EventHandler.cpp:
469         (WebCore::EventHandler::mouseMoved): Call Chrome::setToolTip.
470         * platform/graphics/svg/SVGImageEmptyClients.h:
471
472         Added stubs for Gdk:
473
474         * platform/gdk/ChromeClientGdk.h:
475         * platform/gdk/TemporaryLinkStubs.cpp:
476         (ChromeClientGdk::setToolTip):
477
478 2007-07-04  Adam Roben  <aroben@apple.com>
479
480         Add Settings::showsURLsInToolTips
481
482         Reviewed by Sam.
483
484         * WebCore.exp:
485         * page/Settings.cpp:
486         (WebCore::Settings::Settings):
487         * page/Settings.h:
488
489 2007-07-04  Adam Roben  <aroben@apple.com>
490
491         Move logic for calling mouseDidMoveOverElement into WebCore
492
493         Reviewed by Sam.
494
495         * page/EventHandler.cpp:
496         (WebCore::EventHandler::mouseMoved): Added. Calls Chrome::mouseDidMoveOverElement.
497         (WebCore::EventHandler::handleMouseMoveEvent): Now takes an optional
498         HitTestResult* parameter which is used to communicate to the caller the
499         node the mouse is over.
500         * page/EventHandler.h:
501         * page/mac/EventHandlerMac.mm:
502         (WebCore::EventHandler::mouseMoved): Changed to call the overloaded
503         mouseMoved().
504         (WebCore::EventHandler::passMouseMoveEventToSubframe): Pass hoveredNode
505         through to the subframe so we can get the deepest node hovered, not
506         just the node's parent frame.
507         * page/win/EventHandlerWin.cpp:
508         (WebCore::EventHandler::passMouseMoveEventToSubframe): Ditto.
509
510 2007-07-04  Adam Roben  <aroben@apple.com>
511
512         Add Chrome::mouseDidMoveOverElement
513
514         This does the work of calling up to the ChromeClient (which will call
515         the UI delegate).
516
517         Reviewed by Sam.
518
519         * page/Chrome.cpp:
520         (WebCore::Chrome::mouseDidMoveOverElement): Added.
521         * page/Chrome.h:
522         * page/ChromeClient.h:
523         * platform/graphics/svg/SVGImageEmptyClients.h: Updated for change to
524         ChromeClient.
525         * platform/gdk/ChromeClientGdk.h:
526         * platform/gdk/TemporaryLinkStubs.cpp:
527         (ChromeClientGdk::mouseDidMoveOverElement):
528
529 2007-07-04  Adam Roben  <aroben@apple.com>
530
531         Changed PlatformMouseEvent to store the modifier flags of the event
532
533         Reviewed by Sam.
534
535         * platform/PlatformMouseEvent.h:
536         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
537         * platform/mac/PlatformMouseEventMac.mm:
538         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
539         * platform/win/PlatformMouseEventWin.cpp:
540         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
541
542 2007-07-04  Adam Roben  <aroben@apple.com>
543
544         Add HitTestResult::setToNonShadowAncestor
545
546         Reviewed by Sam.
547
548         * page/EventHandler.cpp:
549         (WebCore::EventHandler::hitTestResultAtPoint): Moved logic into
550         HitTestResult::setToNonShadowAncestor.
551         * rendering/HitTestResult.cpp:
552         (WebCore::HitTestResult::setToNonShadowAncestor):
553         * rendering/HitTestResult.h:
554
555 2007-07-04  Adam Roben  <aroben@apple.com>
556
557         Change MouseEventWithHitTestResults to hold onto a HitTestResult
558
559         Reviewed by Sam.
560
561         * dom/Document.cpp:
562         (WebCore::Document::prepareMouseEvent):
563         * page/MouseEventWithHitTestResults.cpp:
564         (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
565         (WebCore::MouseEventWithHitTestResults::targetNode):
566         (WebCore::MouseEventWithHitTestResults::localPoint):
567         (WebCore::MouseEventWithHitTestResults::scrollbar):
568         * page/MouseEventWithHitTestResults.h:
569         (WebCore::MouseEventWithHitTestResults::event):
570         (WebCore::MouseEventWithHitTestResults::hitTestResult):
571
572 2007-07-04  Matt Lilek  <pewtermoose@gmail.com>
573
574         Not reviewed, gdk build fix.
575
576         * platform/gdk/FrameGdk.cpp:
577
578 2007-07-05  Antti Koivisto  <antti@apple.com>
579
580         Reviewed by John.
581         
582         Fix Repro crash due to infinite recursion in HTMLParser::handleError @ youos.com
583         <rdar://problem/5237811>
584         
585         It is possible to add table parts (thead etc) without table ancestor to a document fragment. If a new table element
586         was added to such a part, as in
587         
588         div.innerHTML = '<tbody><table>';
589         
590         the parser error handling code would try to pop the previous table as normal. However since
591         the table does not actually exist nothing would happen and parser would go to infinite recursion.
592         
593         Solution here is to pop table parts one by one when handling the error inside a fragment instead of trying to pop
594         the table straight away (as it might not exist).
595
596         * html/HTMLParser.cpp:
597         (WebCore::HTMLParser::handleError):
598
599 2007-07-04  Qing Zhao  <qing@staikos.net>
600
601         Reviewed by George Staikos.
602
603         Draw menulist (comboboxes) without text overlap on the button.
604
605         * platform/qt/RenderThemeQt.cpp:
606         (WebCore::RenderThemeQt::setPopupPadding):
607
608 2007-07-04  George Staikos  <staikos@kde.org>
609
610         Compile
611
612         * page/qt/FrameQt.cpp:
613         * WebCore.pro:
614
615 2007-07-04  Sam Weinig  <sam@webkit.org>
616
617         Reviewed by Mitz.
618
619         Patch for http://bugs.webkit.org/show_bug.cgi?id=14504
620         REGRESSION (r23573): Amazon Book Excerpt can not be viewed in recent nightly
621
622         - Made it possible (again) to shadow window properties with local variable names.
623
624         Test: fast/dom/Window/window-property-shadowing.html
625
626         * bindings/js/JSDOMWindowCustom.cpp:
627         (WebCore::JSDOMWindow::customPut):
628         * bindings/js/kjs_window.cpp:
629         (KJS::Window::put):
630         * bindings/scripts/CodeGeneratorJS.pm:
631         * page/DOMWindow.idl:
632
633 2007-07-03  Alice Liu  <alice.liu@apple.com>
634
635         Reviewed by Adam.
636
637         Fixed <rdar://problem/5225119> support smart pasting on Windows
638
639         * WebCore.vcproj/WebCore.vcproj:
640         * WebCore.xcodeproj/project.pbxproj:
641             Added new files
642         * editing/SmartReplace.cpp: Added.
643         (WebCore::isCharacterSmartReplaceExempt):
644             Added non-CF implementation placeholder
645         * editing/SmartReplace.h: Added.
646         * editing/SmartReplaceCF.cpp: Added.
647         (WebCore::getSmartSet):
648         (WebCore::isCharacterSmartReplaceExempt):
649             Added new implementation
650
651         * bridge/win/FrameWin.cpp:
652         * page/Frame.h:
653         * page/mac/FrameMac.mm:
654             Removed old declaration and implementation
655
656         * editing/ReplaceSelectionCommand.cpp:
657         (WebCore::ReplaceSelectionCommand::doApply):
658             Changed to call the new function instead of old
659
660         * page/mac/WebCoreFrameBridge.h:
661         * page/mac/WebCoreFrameBridge.mm:
662             Removed old declaration and implementation
663         (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
664             Changed to call the new function instead of old
665
666         * platform/win/PasteboardWin.cpp:
667         (WebCore::Pasteboard::Pasteboard):
668             Register new clipboard format
669         (WebCore::Pasteboard::writeSelection):
670             Set data for smartpaste format on clipboard
671         (WebCore::Pasteboard::canSmartReplace):
672             Added non-stub implementation
673
674 2007-07-04  Qing Zhao  <qing@staikos.net>
675
676         Reviewed by George Staikos.
677
678         Similar to the PlatformScrollbar fixes, adjust the painter to make the
679         styler draw all subcontrols, and in this case the focus rect, in the
680         proper location
681
682         * platform/qt/RenderThemeQt.cpp:
683         (WebCore::RenderThemeQt::paintMenuList):
684
685 2007-07-04  Mitz Pettel  <mitz@webkit.org>
686
687         Reviewed by Maciej.
688
689         - fix http://bugs.webkit.org/show_bug.cgi?id=14495
690           REGRESSION: Wrong cursor is displayed during drag and drop when text is selected
691           <rdar://problem/5312384>
692
693         No test possible because DumpRenderTree cannot query the current cursor.
694
695         * page/EventHandler.cpp:
696         (WebCore::EventHandler::selectCursor): Changed into a member function and
697         added that if the last mouse down event could not have started a
698         selection, then the cursor should not change to an I-beam unconditionally.
699         (WebCore::EventHandler::handleMouseMoveEvent):
700         * page/EventHandler.h:
701
702 2007-07-04  Holger Hans Peter Freyther  <zecke@selfish.org>
703
704         Reviewed by Rob Buis.
705
706         A little progress in tracking dependencies.
707
708         * WebCore.pro: Add DEPENDPATH for the Gdk port.
709
710 2007-07-03  Darin Adler  <darin@apple.com>
711
712         Reviewed by Tim Hatcher.
713
714         - fix <rdar://problem/5221297> Font family name in the cssText for a DOMCSSStyleDeclaration needs quotes
715
716         Test: editing/style/font-family-with-space.html
717
718         * css/FontFamilyValue.cpp:
719         (WebCore::isValidCSSIdentifier): Added. Implements the same rule that the CSS lexer does.
720         (WebCore::quoteStringIfNeeded): Changed to call isValidCSSIdentifier instead of just
721         checking for a leading "#" character.
722         * editing/markup.cpp:
723         (WebCore::escapeTextForMarkup): Changed to take a String parameter for better efficiency.
724         (WebCore::renderedText): Changed to return a String for better efficiency.
725         (WebCore::addNamespace): Updated to pass String to escapeTextForMarkup.
726         (WebCore::startMarkup): Updated to pass String to escapeTextForMarkup. Added missing call
727         to escapeTextForMarkup in the special case for the style property.
728         (WebCore::createMarkup): Changed from single quotes to double quotes and also added missing
729         call to escapeTextForMarkup in two special cases for the style property.
730
731 2007-07-03  Sam Weinig  <sam@webkit.org>
732
733         Reviewed by Darin.
734
735         Twelfth round of fixes for implicit 64-32 bit conversion errors.
736         <rdar://problem/5292262>
737
738         - Add casts and accompanying FIXMEs to avoid remaining compiler errors.
739
740         * WebCore.xcodeproj/project.pbxproj:
741         * loader/FrameLoader.cpp:
742         (WebCore::FrameLoader::opened):
743         (WebCore::FrameLoader::sendRemainingDelegateMessages):
744         * loader/FrameLoader.h:
745         * loader/ResourceLoader.cpp:
746         (WebCore::ResourceLoader::didReceiveData):
747         * platform/network/mac/ResourceHandleMac.mm:
748         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
749         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
750         * platform/network/mac/ResourceResponseMac.mm:
751         (WebCore::ResourceResponse::nsURLResponse):
752
753 2007-07-03  Anders Carlsson  <andersca@apple.com>
754
755         Reviewed by Adam.
756
757         <rdar://problem/5093862>
758         Nothing shown in plugin area when trying to play content using the DivX plugin
759         
760         Defer calling SetWindow for the DivX plugin, just like we do with the WMP plugin.
761                 
762         * plugins/win/PluginViewWin.cpp:
763         (WebCore::PluginViewWin::determineQuirks):
764
765 2007-07-03  Sam Weinig  <sam@webkit.org>
766
767         Reviewed by Brady Eidson.
768
769         Ninth round of fixes for implicit 64-32 bit conversion errors.
770         <rdar://problem/5292262>
771
772         - Fix function signature to use unsigned long instead of unsigned long long.
773
774         * loader/ProgressTracker.cpp:
775         (WebCore::ProgressTracker::completeProgress):
776         * loader/ProgressTracker.h:
777
778 2007-07-03  Sam Weinig  <sam@webkit.org>
779
780         Reviewed by Oliver.
781
782         Eighth round of fixes for implicit 64-32 bit conversion errors.
783         <rdar://problem/5292262>
784
785         - Convert SVG implementation files to use floats instead of doubles
786           to match the spec/IDLs.
787
788         * bindings/scripts/CodeGeneratorJS.pm:
789         * ksvg2/svg/SVGAngle.cpp:
790         * ksvg2/svg/SVGAnimatedTemplate.h:
791         * ksvg2/svg/SVGAnimationElement.cpp:
792         (WebCore::SVGAnimationElement::getEndTime):
793         (WebCore::SVGAnimationElement::getStartTime):
794         (WebCore::SVGAnimationElement::getCurrentTime):
795         (WebCore::SVGAnimationElement::getSimpleDuration):
796         * ksvg2/svg/SVGAnimationElement.h:
797         * ksvg2/svg/SVGFitToViewBox.cpp:
798         (WebCore::SVGFitToViewBox::parseViewBox):
799         * ksvg2/svg/SVGLength.cpp:
800         (WebCore::SVGLength::setValueAsString):
801         * ksvg2/svg/SVGLinearGradientElement.cpp:
802         (WebCore::SVGLinearGradientElement::buildGradient):
803         * ksvg2/svg/SVGMatrix.idl:
804         * ksvg2/svg/SVGNumber.idl:
805         * ksvg2/svg/SVGParserUtilities.cpp:
806         (WebCore::SVGPathParser::parseSVG):
807         (WebCore::SVGPathParser::calculateArc):
808         (WebCore::SVGPathParser::svgLineToHorizontal):
809         (WebCore::SVGPathParser::svgLineToVertical):
810         (WebCore::SVGPathParser::svgCurveToCubicSmooth):
811         (WebCore::SVGPathParser::svgCurveToQuadratic):
812         (WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
813         (WebCore::SVGPathParser::svgArcTo):
814         * ksvg2/svg/SVGParserUtilities.h:
815         * ksvg2/svg/SVGPathElement.cpp:
816         (WebCore::SVGPathElement::SVGPathElement):
817         (WebCore::SVGPathElement::getTotalLength):
818         (WebCore::SVGPathElement::getPointAtLength):
819         (WebCore::SVGPathElement::getPathSegAtLength):
820         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
821         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
822         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
823         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
824         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
825         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
826         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
827         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
828         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
829         (WebCore::SVGPathElement::createSVGPathSegArcRel):
830         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
831         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
832         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
833         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
834         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
835         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
836         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
837         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
838         (WebCore::SVGPathElement::svgMoveTo):
839         (WebCore::SVGPathElement::svgLineTo):
840         (WebCore::SVGPathElement::svgLineToHorizontal):
841         (WebCore::SVGPathElement::svgLineToVertical):
842         (WebCore::SVGPathElement::svgCurveToCubic):
843         (WebCore::SVGPathElement::svgCurveToCubicSmooth):
844         (WebCore::SVGPathElement::svgCurveToQuadratic):
845         (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
846         (WebCore::SVGPathElement::svgArcTo):
847         (WebCore::SVGPathElement::parseMappedAttribute):
848         * ksvg2/svg/SVGPathElement.h:
849         * ksvg2/svg/SVGPathSegArc.cpp:
850         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
851         (WebCore::SVGPathSegArcAbs::setX):
852         (WebCore::SVGPathSegArcAbs::x):
853         (WebCore::SVGPathSegArcAbs::setY):
854         (WebCore::SVGPathSegArcAbs::y):
855         (WebCore::SVGPathSegArcAbs::setR1):
856         (WebCore::SVGPathSegArcAbs::r1):
857         (WebCore::SVGPathSegArcAbs::setR2):
858         (WebCore::SVGPathSegArcAbs::r2):
859         (WebCore::SVGPathSegArcAbs::setAngle):
860         (WebCore::SVGPathSegArcAbs::angle):
861         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
862         (WebCore::SVGPathSegArcRel::setX):
863         (WebCore::SVGPathSegArcRel::x):
864         (WebCore::SVGPathSegArcRel::setY):
865         (WebCore::SVGPathSegArcRel::y):
866         (WebCore::SVGPathSegArcRel::setR1):
867         (WebCore::SVGPathSegArcRel::r1):
868         (WebCore::SVGPathSegArcRel::setR2):
869         (WebCore::SVGPathSegArcRel::r2):
870         (WebCore::SVGPathSegArcRel::setAngle):
871         (WebCore::SVGPathSegArcRel::angle):
872         * ksvg2/svg/SVGPathSegArc.h:
873         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
874         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
875         (WebCore::SVGPathSegCurvetoCubicAbs::setX):
876         (WebCore::SVGPathSegCurvetoCubicAbs::x):
877         (WebCore::SVGPathSegCurvetoCubicAbs::setY):
878         (WebCore::SVGPathSegCurvetoCubicAbs::y):
879         (WebCore::SVGPathSegCurvetoCubicAbs::setX1):
880         (WebCore::SVGPathSegCurvetoCubicAbs::x1):
881         (WebCore::SVGPathSegCurvetoCubicAbs::setY1):
882         (WebCore::SVGPathSegCurvetoCubicAbs::y1):
883         (WebCore::SVGPathSegCurvetoCubicAbs::setX2):
884         (WebCore::SVGPathSegCurvetoCubicAbs::x2):
885         (WebCore::SVGPathSegCurvetoCubicAbs::setY2):
886         (WebCore::SVGPathSegCurvetoCubicAbs::y2):
887         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
888         (WebCore::SVGPathSegCurvetoCubicRel::setX):
889         (WebCore::SVGPathSegCurvetoCubicRel::x):
890         (WebCore::SVGPathSegCurvetoCubicRel::setY):
891         (WebCore::SVGPathSegCurvetoCubicRel::y):
892         (WebCore::SVGPathSegCurvetoCubicRel::setX1):
893         (WebCore::SVGPathSegCurvetoCubicRel::x1):
894         (WebCore::SVGPathSegCurvetoCubicRel::setY1):
895         (WebCore::SVGPathSegCurvetoCubicRel::y1):
896         (WebCore::SVGPathSegCurvetoCubicRel::setX2):
897         (WebCore::SVGPathSegCurvetoCubicRel::x2):
898         (WebCore::SVGPathSegCurvetoCubicRel::setY2):
899         (WebCore::SVGPathSegCurvetoCubicRel::y2):
900         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
901         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
902         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
903         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX):
904         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x):
905         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY):
906         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y):
907         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX2):
908         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x2):
909         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY2):
910         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y2):
911         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
912         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX):
913         (WebCore::SVGPathSegCurvetoCubicSmoothRel::x):
914         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY):
915         (WebCore::SVGPathSegCurvetoCubicSmoothRel::y):
916         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX2):
917         (WebCore::SVGPathSegCurvetoCubicSmoothRel::x2):
918         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY2):
919         (WebCore::SVGPathSegCurvetoCubicSmoothRel::y2):
920         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
921         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
922         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
923         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX):
924         (WebCore::SVGPathSegCurvetoQuadraticAbs::x):
925         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY):
926         (WebCore::SVGPathSegCurvetoQuadraticAbs::y):
927         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX1):
928         (WebCore::SVGPathSegCurvetoQuadraticAbs::x1):
929         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY1):
930         (WebCore::SVGPathSegCurvetoQuadraticAbs::y1):
931         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
932         (WebCore::SVGPathSegCurvetoQuadraticRel::setX):
933         (WebCore::SVGPathSegCurvetoQuadraticRel::x):
934         (WebCore::SVGPathSegCurvetoQuadraticRel::setY):
935         (WebCore::SVGPathSegCurvetoQuadraticRel::y):
936         (WebCore::SVGPathSegCurvetoQuadraticRel::setX1):
937         (WebCore::SVGPathSegCurvetoQuadraticRel::x1):
938         (WebCore::SVGPathSegCurvetoQuadraticRel::setY1):
939         (WebCore::SVGPathSegCurvetoQuadraticRel::y1):
940         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
941         (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
942         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
943         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
944         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setX):
945         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::x):
946         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setY):
947         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::y):
948         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
949         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setX):
950         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::x):
951         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setY):
952         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::y):
953         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
954         * ksvg2/svg/SVGPathSegLineto.cpp:
955         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
956         (WebCore::SVGPathSegLinetoAbs::setX):
957         (WebCore::SVGPathSegLinetoAbs::x):
958         (WebCore::SVGPathSegLinetoAbs::setY):
959         (WebCore::SVGPathSegLinetoAbs::y):
960         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
961         (WebCore::SVGPathSegLinetoRel::setX):
962         (WebCore::SVGPathSegLinetoRel::x):
963         (WebCore::SVGPathSegLinetoRel::setY):
964         (WebCore::SVGPathSegLinetoRel::y):
965         * ksvg2/svg/SVGPathSegLineto.h:
966         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
967         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
968         (WebCore::SVGPathSegLinetoHorizontalAbs::setX):
969         (WebCore::SVGPathSegLinetoHorizontalAbs::x):
970         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
971         (WebCore::SVGPathSegLinetoHorizontalRel::setX):
972         (WebCore::SVGPathSegLinetoHorizontalRel::x):
973         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
974         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
975         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
976         (WebCore::SVGPathSegLinetoVerticalAbs::setY):
977         (WebCore::SVGPathSegLinetoVerticalAbs::y):
978         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
979         (WebCore::SVGPathSegLinetoVerticalRel::setY):
980         (WebCore::SVGPathSegLinetoVerticalRel::y):
981         * ksvg2/svg/SVGPathSegLinetoVertical.h:
982         * ksvg2/svg/SVGPathSegList.cpp:
983         (WebCore::SVGPathSegList::getPathSegAtLength):
984         * ksvg2/svg/SVGPathSegList.h:
985         * ksvg2/svg/SVGPathSegMoveto.cpp:
986         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
987         (WebCore::SVGPathSegMovetoAbs::setX):
988         (WebCore::SVGPathSegMovetoAbs::x):
989         (WebCore::SVGPathSegMovetoAbs::setY):
990         (WebCore::SVGPathSegMovetoAbs::y):
991         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
992         (WebCore::SVGPathSegMovetoRel::setX):
993         (WebCore::SVGPathSegMovetoRel::x):
994         (WebCore::SVGPathSegMovetoRel::setY):
995         (WebCore::SVGPathSegMovetoRel::y):
996         * ksvg2/svg/SVGPathSegMoveto.h:
997         * ksvg2/svg/SVGPolyElement.cpp:
998         (WebCore::SVGPolyElement::svgPolyTo):
999         * ksvg2/svg/SVGRadialGradientElement.cpp:
1000         (WebCore::SVGRadialGradientElement::buildGradient):
1001         * ksvg2/svg/SVGSVGElement.cpp:
1002         (WebCore::SVGSVGElement::viewport):
1003         (WebCore::SVGSVGElement::getCurrentTime):
1004         * ksvg2/svg/SVGStopElement.cpp:
1005         (WebCore::SVGStopElement::SVGStopElement):
1006         (WebCore::SVGStopElement::parseMappedAttribute):
1007         * ksvg2/svg/SVGStopElement.h:
1008         * ksvg2/svg/SVGTransform.cpp:
1009         (SVGTransform::translate):
1010         (SVGTransform::scale):
1011         * ksvg2/svg/SVGTransformDistance.cpp:
1012         (WebCore::SVGTransformDistance::addToSVGTransform):
1013         (WebCore::SVGTransformDistance::distance):
1014         * ksvg2/svg/SVGTransformable.cpp:
1015         (WebCore::SVGTransformable::parseTransformAttribute):
1016
1017 2007-07-03  Anders Carlsson  <andersca@apple.com>
1018
1019         Reviewed by Darin.
1020
1021         <rdar://problem/5289718>
1022         http://bugs.webkit.org/show_bug.cgi?id=14437
1023         CrashTracer: [REGRESSION] 76 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 6 (14437)
1024         
1025         Based on a patch from Maxime Britto.
1026         
1027         * page/mac/WebCoreFrameBridge.mm:
1028         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1029         If the script caused the frame to go away, return nil. This can only happen if a plugin in a subframe destroys
1030         its frame.
1031
1032         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
1033         ASSERT that this is only called on the main frame.
1034
1035 2007-07-03  John Sullivan  <sullivan@apple.com>
1036
1037         Written by Darin, reviewed by me
1038         
1039         - fixed <rdar://problem/5249730> REGRESSION (Leopard, around 9A464): Safari opens the same local 
1040           documents more than once due to canonicalization change
1041
1042         * loader/mac/LoaderNSURLExtras.m:
1043         (canonicalURL):
1044         pass URL through KURL so we get KURL's version of canonicalization as well as
1045         NSURLProtocol's version of canonicalization
1046
1047 2007-07-03  Sam Weinig  <sam@webkit.org>
1048
1049         Reviewed by Darin.
1050
1051         Seventh round of fixes for implicit 64-32 bit conversion errors.
1052         <rdar://problem/5292262>
1053
1054         - Adds more narrowPrecision functions to FloatPoint, FloatSize and FloatRect.
1055         - Changes over more implicit conversions to use new functions.
1056
1057         * bindings/js/kjs_window.cpp:
1058         (KJS::WindowFunc::callAsFunction):
1059         * platform/graphics/FloatPoint.cpp:
1060         (WebCore::FloatPoint::matrixTransform):
1061         (WebCore::FloatPoint::narrowPrecision):
1062         * platform/graphics/FloatPoint.h:
1063         * platform/graphics/FloatRect.cpp:
1064         (WebCore::FloatRect::narrowPrecision):
1065         * platform/graphics/FloatRect.h:
1066         * platform/graphics/FloatSize.cpp:
1067         (WebCore::FloatSize::narrowPrecision):
1068         * platform/graphics/FloatSize.h:
1069         * platform/graphics/Path.cpp:
1070         (WebCore::Path::createRoundedRectangle):
1071         (WebCore::Path::createRectangle):
1072         (WebCore::Path::createEllipse):
1073         * platform/graphics/mac/ColorMac.mm:
1074         (WebCore::nsColor):
1075         * platform/graphics/mac/IconMac.mm:
1076         (WebCore::Icon::paint):
1077         * platform/graphics/svg/cg/CgSupport.cpp:
1078         (WebCore::applyStrokeStyleToContext):
1079         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1080         (WebCore::CGShadingRefForRadialGradient):
1081         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
1082         (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
1083         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
1084         (WebCore::applyLuminanceToAlphaFilter):
1085         (WebCore::applyExpandAlphatoGrayscaleFilter):
1086         (WebCore::transformImageIntoGrayscaleMask):
1087         * platform/mac/WebCoreTextRenderer.mm:
1088         (WebCoreDrawTextAtPoint):
1089         * rendering/RenderPath.cpp:
1090         (WebCore::RenderPath::mapAbsolutePointToLocal):
1091         * rendering/RenderSVGContainer.cpp:
1092         (WebCore::RenderSVGContainer::calcViewport):
1093         * rendering/RenderSVGImage.cpp:
1094         (WebCore::RenderSVGImage::nodeAtPoint):
1095         * rendering/RenderSVGText.cpp:
1096         (WebCore::RenderSVGText::relativeBBox):
1097
1098 2007-07-03  Anders Carlsson  <andersca@apple.com>
1099
1100         Reviewed by Adam.
1101
1102         <rdar://problem/5261523>
1103         Crash playing MP11 on cnbc.com
1104         
1105         The WMP Netscape plugin still creates a window even when windowless mode is turned on. Work around this by
1106         always removing the "windowlessvideo" parameter before passing it to the plugin.
1107         According to http://msdn2.microsoft.com/en-us/library/bb249373.aspx, "The windowlessVideo property is not 
1108         supported for Netscape Navigator. Setting a value for this property in Navigator may yield unexpected results."
1109         
1110         * plugins/win/PluginViewWin.cpp:
1111         (WebCore::PluginViewWndProc):
1112         (WebCore::PluginViewWin::paint):
1113         (WebCore::PluginViewWin::invalidateRect):
1114         (WebCore::PluginViewWin::determineQuirks):
1115         (WebCore::PluginViewWin::setParameters):
1116         (WebCore::PluginViewWin::PluginViewWin):
1117         (WebCore::PluginViewWin::init):
1118         * plugins/win/PluginViewWin.h:
1119         (WebCore::):
1120
1121 2007-07-03  Qing Zhao  <qing@staikos.net>
1122
1123         Reviewed by George Staikos.
1124
1125         Only draw sunken state for appropriate widgets. Not, for example, for
1126         lineedits.
1127
1128         * platform/qt/RenderThemeQt.cpp:
1129         (WebCore::RenderThemeQt::applyTheme):
1130
1131 2007-07-03  Antti Koivisto  <antti@apple.com>
1132
1133         Reviewed by Maciej.
1134         
1135         REGRESSION: misplaced selection ring remains after link is no longer focused.
1136         <rdar://problem/5205580>
1137         
1138         Fix placement of selection ring when part of the ring is in a different layer.
1139
1140         * rendering/RenderFlow.cpp:
1141         (WebCore::RenderFlow::addFocusRingRects): Get coordinates right when moving to a different layer.
1142         * rendering/RenderObject.cpp:
1143         (WebCore::RenderObject::setStyle): 
1144         Don't reset state variables when not necessary.  When repaint() was called at the end of setSyle() it would
1145         get repaint rects wrong in some cases.
1146
1147 2007-07-03  Antti Koivisto  <antti@apple.com>
1148
1149         Reviewed by Maciej.
1150
1151         Blind fix for CrashTracer: [USER] 25 crashes in Safari at com.apple.WebCore: WebCore::Frame::document const + 6
1152         <rdar://problem/5263939>
1153         
1154         No one has managed to reproduce this but it looks like null check is needed here. There are plausible ways
1155         m_frame could be null for a live FrameView object.
1156
1157         * page/FrameView.cpp:
1158         (WebCore::FrameView::needsLayout):
1159
1160 2007-07-02  Oliver Hunt  <oliver@apple.com>
1161
1162         Reviewed by Darin.
1163
1164         Fix for <rdar://problem/5098378> single-pixel image optimization needs to be rewritten to not depend on floating point bitmap
1165         Tested by fast/replaced/image-solid-color-with-alpha.html
1166
1167         Switch from float to byte based bitmap when pulling the color from 1x1 pixel images so
1168         that we can use the single pixel image optimisation in WebKit/win.
1169
1170         * platform/graphics/cg/ImageCG.cpp:
1171         (WebCore::BitmapImage::checkForSolidColor):
1172
1173 2007-07-02  Adam Roben  <aroben@apple.com>
1174
1175         Fix Bug 14498: RenderContainer::positionForCoordinates contains an order of operations error
1176         http://bugs.webkit.org/show_bug.cgi?id=14498
1177
1178         There were two bugs:
1179         1) xPos/yPos were flipped
1180         2) + binds tighter than ?:, so the order of operations was incorrect
1181
1182         Reviewed by Darin.
1183
1184         Test: fast/inline-block/14498-positionForCoordinates.html
1185
1186         * rendering/RenderContainer.cpp:
1187         (WebCore::RenderContainer::positionForCoordinates):
1188
1189 2007-07-02  Darin Adler  <darin@apple.com>
1190
1191         Reviewed by Kevin Decker and Tim Hatcher.
1192
1193         - fix <rdar://problem/5307906> some classes need finalize methods because
1194           of non-trivial work done in dealloc methods
1195
1196         * bindings/objc/DOMRGBColor.mm:
1197         (+[DOMRGBColor initialize]): Added. Tells finalizer to run on main thread,
1198         which is needed because we are sharing a CFDictionary here with no locking.
1199
1200         * bridge/mac/WebCoreAXObject.mm:
1201         (+[WebCoreAXObject initialize]): Added. Tells finalizer to run on main thread.
1202         (-[WebCoreAXObject finalize]): Added. Calls detach.
1203
1204         * WebCore.xcodeproj/project.pbxproj: Let Xcode do what it wants to do.
1205
1206 2007-07-02  Sam Weinig  <sam@webkit.org>
1207
1208         Reviewed by Darin.
1209
1210         Sixth round of fixes for implicit 64-32 bit conversion errors.
1211         <rdar://problem/5292262>
1212
1213         Use new narrowPrecisionToFloat() and narrowPrecisionToCGFloat() where
1214         appropriate.
1215
1216         * html/CanvasRenderingContext2D.cpp:
1217         (WebCore::CanvasRenderingContext2D::setShadow):
1218         (WebCore::CanvasRenderingContext2D::applyShadow):
1219         * html/CanvasStyle.cpp:
1220         (WebCore::CanvasStyle::applyStrokeColor):
1221         (WebCore::CanvasStyle::applyFillColor):
1222         * ksvg2/svg/SVGAngle.cpp:
1223         * ksvg2/svg/SVGAnimationElement.cpp:
1224         (WebCore::SVGAnimationElement::parseKeyNumbers):
1225         (WebCore::parseKeySplines):
1226         (WebCore::SVGAnimationElement::handleTimerEvent):
1227         (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds):
1228         * ksvg2/svg/SVGPatternElement.cpp:
1229         (WebCore::SVGPatternElement::buildPattern):
1230         * ksvg2/svg/SVGRadialGradientElement.cpp:
1231         (WebCore::SVGRadialGradientElement::buildGradient):
1232         * platform/graphics/cg/AffineTransformCG.cpp:
1233         (WebCore::AffineTransform::AffineTransform):
1234         (WebCore::AffineTransform::setMatrix):
1235         (WebCore::AffineTransform::map):
1236         (WebCore::AffineTransform::setA):
1237         (WebCore::AffineTransform::setB):
1238         (WebCore::AffineTransform::setC):
1239         (WebCore::AffineTransform::setD):
1240         (WebCore::AffineTransform::setE):
1241         (WebCore::AffineTransform::setF):
1242         (WebCore::AffineTransform::scale):
1243         (WebCore::AffineTransform::rotate):
1244         (WebCore::AffineTransform::translate):
1245         (WebCore::AffineTransform::shear):
1246
1247 2007-07-02  John Sullivan  <sullivan@apple.com>
1248
1249         * page/mac/WebCoreFrameBridge.mm:
1250         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
1251         added a comment
1252
1253 2007-07-02  Sam Weinig  <sam@webkit.org>
1254
1255         Rubberstamped by Darin.
1256
1257         Rename FloatConversionUtilities.h to FloatConversion.h.
1258         Fix Win32 build.
1259
1260         * WebCore.vcproj/WebCore.vcproj:
1261         * WebCore.xcodeproj/project.pbxproj:
1262         * platform/DeprecatedString.cpp:
1263         * platform/FloatConversion.h: Copied from platform/FloatConversionUtilities.h.
1264         * platform/FloatConversionUtilities.h: Removed.
1265         * platform/StringImpl.cpp:
1266
1267 2007-07-02  Sam Weinig  <sam@webkit.org>
1268
1269         Reviewed by Darin.
1270
1271         Fifth round of fixes for implicit 64-32 bit conversion errors.
1272         <rdar://problem/5292262>
1273
1274         Add toFloat() method to string classes and use it where appropriate.
1275
1276         * WebCore.xcodeproj/project.pbxproj:
1277         * css/cssparser.cpp:
1278         (WebCore::CSSParser::lex):
1279         * ksvg2/svg/SVGAngle.cpp:
1280         (WebCore::SVGAngle::setValueAsString):
1281         * platform/AtomicString.h:
1282         (WebCore::AtomicString::toFloat):
1283         * platform/DeprecatedString.cpp:
1284         (WebCore::DeprecatedString::toFloat):
1285         * platform/DeprecatedString.h:
1286         * platform/FloatConversionUtilities.h: Added.
1287         (WebCore::narrowPrecisionToFloat):
1288         (WebCore::narrowPrecisionToCGFloat):
1289         * platform/PlatformString.h:
1290         * platform/String.cpp:
1291         (WebCore::String::toFloat):
1292         * platform/StringImpl.cpp:
1293         (WebCore::StringImpl::toFloat):
1294         * platform/StringImpl.h:
1295
1296 2007-07-02  Sam Weinig  <sam@webkit.org>
1297
1298         Reviewed by Kevin McCullough.
1299
1300         Fourth round of fixes for implicit 64-32 bit conversion errors.
1301         <rdar://problem/5292262>
1302
1303         Use new piDouble and piFloat constants instead of M_PI.
1304
1305         * html/CanvasRenderingContext2D.cpp:
1306         (WebCore::CanvasRenderingContext2D::rotate):
1307         * ksvg2/svg/SVGParserUtilities.cpp:
1308         (WebCore::SVGPathParser::calculateArc):
1309         * platform/graphics/Path.cpp:
1310         (WebCore::pathLengthApplierFunction):
1311         (WebCore::Path::createEllipse):
1312         * platform/graphics/cg/GraphicsContextCG.cpp:
1313         (WebCore::GraphicsContext::drawEllipse):
1314         (WebCore::GraphicsContext::strokeArc):
1315         * platform/graphics/cg/PDFDocumentImage.cpp:
1316         (WebCore::PDFDocumentImage::setCurrentPage):
1317         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
1318         * rendering/RenderPath.cpp:
1319         (WebCore::drawMarkerWithData):
1320
1321 2007-07-01  Adam Roben  <aroben@apple.com>
1322
1323         Clarify/fix {Shadow,BorderImage}ParseContext's memory management
1324
1325         Prefast emitted warnings that drew my attention to
1326         {Shadow,BorderImage}ParseContext::failed().  It turned out that these
1327         methods were actually correct, but rather confusing. "failed" really
1328         meant "abort and clean up" rather than "did you fail?", which was
1329         unclear. However, once I figured that out, the "and clean up" part was
1330         still a bit confusing, because all failed() did was to set a flag that
1331         would later cause the ParseContext's members to be deleted in the
1332         destructor. To clear this up, I've gotten rid of the failed() method
1333         altogether. It always returned false, so I've replaced all calls to
1334         it with the value false.
1335
1336         I also noticed that the lifetime management of the ParseContexts'
1337         members was in all cases confusing, and in some cases wrong. The
1338         m_border{Top,Right,Bottom,Left} members of BorderImageParseContext
1339         were leaked whenever a border-image property was successfully parsed.
1340         I fixed that by holding these members in OwnPtrs. The
1341         CSSPrimitiveValue members of {Shadow,BorderImage}ParseContext, which
1342         inherit from Shared, were being explicitly deleted, which is not a
1343         safe way to manage the lifetime of objects that inherit from Shared.
1344         To fix this, I put those members inside RefPtrs. These two changes
1345         allowed me to remove the destructors entirely.
1346
1347         Reviewed by Darin.
1348
1349         All regression tests pass.
1350
1351         * css/cssparser.cpp:
1352         (WebCore::ShadowParseContext::commitValue): Use .release() to avoid
1353         ref-count churn.
1354         (WebCore::ShadowParseContext::commitLength): Use a RefPtr for the new
1355         value to avoid a leak.
1356         (WebCore::CSSParser::parseShadow): Use 'false' instead of
1357         'context.failed()', and use .release() to avoid ref-count churn.
1358         (WebCore::BorderImageParseContext::commitWidth): Updated to use
1359         OwnPtr.
1360         (WebCore::CSSParser::parseBorderImage): Use 'false' instead of
1361         'context.failed'.
1362
1363 2007-07-01  Anders Carlsson  <andersca@apple.com>
1364
1365         Reviewed by John Sullivan.
1366
1367         <rdar://problem/5297146>
1368         Crash in Mail at WebCore::Frame::setUserStyleSheetLocation (reproducible w/ particular message)
1369         
1370         * loader/Cache.cpp:
1371         (WebCore::Cache::requestResource):
1372         Only insert the resource in the LRU list if the cache is enabled.
1373         
1374         (WebCore::Cache::insertInLRUList):
1375         (WebCore::Cache::resourceAccessed):
1376         Assert that the resource is in the cache.
1377
1378 2007-07-01  Darin Adler  <darin@apple.com>
1379
1380         * css/tokenizer.flex: Rolled out the fix for 14453.
1381         The layout test wasn't passing. We'll try again.
1382
1383 2007-07-01  Adam Roben  <aroben@apple.com>
1384
1385         Fix a crash in ~PluginViewWin()
1386
1387         This crash was introduced in r23827.
1388
1389         Reviewed by Anders.
1390
1391         Fixes dom/html/level2/html/HTMLAnchorElement01.html
1392
1393         * plugins/win/PluginViewWin.cpp:
1394         (WebCore::PluginViewWin::~PluginViewWin): Allow m_plugin to be null.
1395
1396 2007-07-01  Rob Buis  <buis@kde.org>
1397
1398         Reviewed by Darin.
1399
1400         http://bugs.webkit.org/show_bug.cgi?id=14453
1401         REGRESSION: www.nzherald.co.nz almost all the formating is gone
1402  
1403         * css/tokenizer.flex: Allow hex colors with 2, 4, or 5 hex digits.
1404
1405 2007-07-01  Sam Weinig  <sam@webkit.org>
1406
1407         Reviewed by Oliver.
1408
1409         Third round of implicit 64-32 bit conversion errors fixes.
1410         <rdar://problem/5292262>
1411
1412         - Use new CSSPrimitiveValue::getDoubleValue() and CSSPrimitiveValue::getIntValue()
1413           methods instead of CSSPrimitiveValue::getFloatValue() where appropriate.
1414
1415         * css/CSSPrimitiveValue.cpp:
1416         (WebCore::CSSPrimitiveValue::computeLengthInt):
1417         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
1418         (WebCore::CSSPrimitiveValue::computeLengthShort):
1419         (WebCore::CSSPrimitiveValue::computeLengthFloat):
1420         (WebCore::CSSPrimitiveValue::computeLengthDouble):
1421         (WebCore::CSSPrimitiveValue::getDoubleValue):
1422         * css/CSSPrimitiveValue.h:
1423         (WebCore::CSSPrimitiveValue::getDoubleValue):
1424         (WebCore::CSSPrimitiveValue::getFloatValue):
1425         (WebCore::CSSPrimitiveValue::getIntValue):
1426         * css/Counter.h:
1427         (WebCore::Counter::listStyleNumber):
1428         * css/MediaQueryEvaluator.cpp:
1429         (WebCore::parseAspectRatio):
1430         * css/cssparser.cpp:
1431         (WebCore::BorderImageParseContext::commitBorderImage):
1432         * css/cssstyleselector.cpp:
1433         (WebCore::convertToLength):
1434         (WebCore::applyCounterList):
1435         (WebCore::CSSStyleSelector::applyProperty):
1436         (WebCore::CSSStyleSelector::mapBackgroundSize):
1437         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
1438         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
1439         * html/HTMLTableElement.cpp:
1440         (WebCore::HTMLTableElement::parseMappedAttribute):
1441         * ksvg2/css/SVGCSSStyleSelector.cpp:
1442         (WebCore::CSSStyleSelector::applySVGProperty):
1443         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1444         (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
1445         (WebCore::KSVGPainterFactory::dashArrayFromRenderingStyle):
1446
1447 2007-07-01  Pamela Greene  <pamg.bugs@gmail.com>
1448
1449         Reviewed by Darin.
1450
1451         Fix for <http://bugs.webkit.org/show_bug.cgi?id=14320>
1452         Bug 14320: <canvas> gradient stops at identical offsets are applied in the wrong order
1453         <rdar://problem/5290084>
1454
1455         Use std::stable_sort() instead of qsort() to sort gradient stops.
1456         Adjust the comparison function accordingly.
1457
1458         * html/CanvasGradient.cpp:
1459         (WebCore::compareStops):
1460         (WebCore::CanvasGradient::findStop):
1461
1462 2007-07-01  Holger Hans Peter Freyther  <zecke@selfish.org>
1463
1464         Reviewed by Darin.
1465
1466         m_usesPageCache was not initialized. As the b/f cache is only
1467         implemented in the Mac port and WebView.mm is taking care of calling
1468         Settings::setUsesPageCache I decided to make it false by default.
1469
1470         * page/Settings.cpp:
1471         (WebCore::Settings::Settings): m_usesPageCache was not initialized
1472
1473 2007-07-01  Holger Hans Peter Freyther  <zecke@selfish.org>
1474
1475         Reviewed by Darin.
1476
1477         Inherited- and NonInheritedFlags is a bit field. But for comparsion
1478         the other part of the union _iflags/_niflags is used for comparions.
1479         This will compare 5 uninitialized bits of _iflags and 22 of _niflags.
1480         Make sure the unused bits have a specified value.
1481
1482         * ksvg2/css/SVGRenderStyle.h:
1483         (WebCore::SVGRenderStyle::setBitDefaults): Make sure the unused bits
1484         have a value as well.
1485
1486 2007-06-30  Adam Roben  <aroben@apple.com>
1487
1488         Compile WebCore with /W4 on Windows
1489
1490         Some more warnings were disabled globally, including assignment within
1491         a conditional, unused variable, and various warnings related to
1492         inability to instantiate opaque structs.
1493
1494         In addition, the "unreachable code" warning was turned off for
1495         CSSGrammar.cpp and XPathGrammar.cpp.
1496
1497         Reviewed by Oliver.
1498
1499         * WebCore.vcproj/WebCore.vcproj:
1500
1501 2007-06-29  Adam Roben  <aroben@apple.com>
1502
1503         Give CString an equality operator to fix a bug in HTMLFormElement::formData
1504
1505         The bug was spotted by MSVC /W4. The problem was that we were comparing
1506         a CString to a char* using ==, but CString had no equality operator.
1507         The result was that the CString was being cast to a const char* and a
1508         pointer comparison was being done, which would (essentially) always
1509         return false.
1510
1511         There are two parts to the fix: get rid of CString's const char*
1512         casting operator, and add an equality operator. Previous uses of the
1513         casting operator have been changed to use CString::data().
1514
1515         Test: http/misc/isindex-formdata.html
1516
1517         Reviewed by Oliver.
1518
1519         * dom/XMLTokenizer.cpp:
1520         (WebCore::parseXMLDocumentFragment):
1521         * html/HTMLDocument.cpp:
1522         (WebCore::HTMLDocument::determineParseMode):
1523         * html/HTMLFormElement.cpp:
1524         (WebCore::HTMLFormElement::formData):
1525         * loader/TextResourceDecoder.cpp:
1526         (WebCore::TextResourceDecoder::checkForCSSCharset):
1527         * platform/CString.cpp:
1528         (WebCore::operator==):
1529         * platform/CString.h:
1530         * platform/KURL.cpp:
1531         (WebCore::encodeRelativeString):
1532         * platform/StringImpl.cpp:
1533         (WebCore::StringImpl::toDouble):
1534         * platform/network/cf/FormDataStreamCFNet.cpp:
1535         (WebCore::setHTTPBody):
1536         * platform/network/mac/FormDataStreamMac.mm:
1537         (WebCore::setHTTPBody):
1538         * platform/win/ClipboardUtilitiesWin.cpp:
1539         (WebCore::markupToCF_HTML):
1540         * plugins/win/PluginPackageWin.cpp:
1541         (WebCore::splitString):
1542         * plugins/win/PluginStreamWin.cpp:
1543         (WebCore::PluginStreamWin::startStream):
1544         (WebCore::PluginStreamWin::destroyStream):
1545         (WebCore::PluginStreamWin::sendJavaScriptStream):
1546         (WebCore::PluginStreamWin::didFinishLoading):
1547         * plugins/win/PluginViewWin.cpp:
1548         (WebCore::PluginViewWin::start):
1549         (WebCore::createUTF8String):
1550         (WebCore::PluginViewWin::userAgent):
1551         * xml/XSLStyleSheet.cpp:
1552         (WebCore::XSLStyleSheet::locateStylesheetSubResource):
1553         * xml/XSLTProcessor.cpp:
1554         (WebCore::xsltParamArrayFromParameterMap):
1555
1556 2007-06-29  Adam Roben  <aroben@apple.com>
1557
1558         Initialize two variables that MSVC /W4 isn't smart enough to realize always get initialized
1559
1560         Reviewed by John.
1561
1562         * editing/Editor.cpp:
1563         (WebCore::Editor::advanceToNextMisspelling):
1564         * html/HTMLParser.cpp:
1565
1566 2007-06-29  Adam Roben  <aroben@apple.com>
1567
1568         Fix some possibly unitialized variables found by MSVC /W4
1569
1570         Reviewed by John.
1571
1572         * rendering/bidi.cpp:
1573         (WebCore::RenderBlock::layoutInlineChildren):
1574
1575 2007-06-29  Adam Roben  <aroben@apple.com>
1576
1577         Remove bogus cast found by MSVC /W4
1578
1579         Reviewed by John and Oliver.
1580
1581         * ksvg2/css/SVGCSSParser.cpp:
1582         (WebCore::CSSParser::parseSVGValue):
1583
1584 2007-06-29  Adam Roben  <aroben@apple.com>
1585
1586         Remove unused local functions uncovered by MSVC /W4
1587
1588         Reviewed by John and Oliver.
1589
1590         * platform/win/SearchPopupMenuWin.cpp:
1591         * rendering/RenderText.cpp:
1592
1593 2007-06-29  Adam Roben  <aroben@apple.com>
1594
1595         Don't take the address of temporary values to appease MSVC /W4
1596
1597         Reviewed by Oliver.
1598
1599         No regression test possible.
1600
1601         * platform/win/PopupMenuWin.cpp:
1602         (WebCore::PopupMenu::invalidateItem):
1603         (WebCore::PopupMenu::valueChanged):
1604         (WebCore::PopupWndProc):
1605         * platform/win/ScrollViewWin.cpp:
1606         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1607         * platform/win/UniscribeController.cpp:
1608         (WebCore::UniscribeController::shapeAndPlaceItem):
1609         * platform/win/WidgetWin.cpp:
1610         (WebCore::Widget::invalidateRect):
1611
1612 2007-06-29  Adam Roben  <aroben@apple.com>
1613
1614         Make an int -> UINT conversion explicit that MSVC /W4 complains about
1615
1616         Reviewed by John and Oliver.
1617
1618         No regression test possible.
1619
1620         * platform/win/SoundWin.cpp:
1621
1622 2007-06-29  Adam Roben  <aroben@apple.com>
1623
1624         Remove unreachable code uncovered by MSVC /W4
1625
1626         Reviewed by Oliver.
1627
1628         No regression test possible.
1629
1630         * html/CanvasRenderingContext2D.cpp:
1631         (WebCore::CanvasRenderingContext2D::createPattern):
1632         * html/HTMLAnchorElement.cpp:
1633         (WebCore::HTMLAnchorElement::isLiveLink):
1634         * html/HTMLElement.cpp:
1635         (WebCore::HTMLElement::contentEditable):
1636         * platform/DeprecatedString.cpp:
1637         (WebCore::allocateHandle):
1638         (WebCore::freeHandle):
1639         * plugins/win/npapi.cpp:
1640         (pluginViewForInstance):
1641         * rendering/RenderImage.cpp:
1642         (WebCore::RenderImage::isWidthSpecified):
1643         (WebCore::RenderImage::isHeightSpecified):
1644         * rendering/RenderTheme.cpp:
1645         (WebCore::RenderTheme::isControlStyled):
1646
1647 2007-06-29  John Sullivan  <sullivan@apple.com>
1648
1649         Reviewed by Oliver Hunt.
1650         
1651         - WebCore support for accessing the set of rectangles that encompass the selected text
1652         
1653         * page/Frame.h:
1654         * page/Frame.cpp:
1655         (WebCore::Frame::selectionTextRects):
1656         new function, fills in a passed Vector with the line box rects that represent the selected range
1657
1658         * rendering/RenderText.cpp:
1659         (WebCore::RenderText::addLineBoxRects):
1660         fixed off-by-one bug involving use of the confusing function InlineTextBox::end()
1661
1662         * WebCore.exp:
1663         exported symbol for this new function
1664
1665 2007-06-29  Justin Garcia  <justin.garcia@apple.com>
1666
1667         Reviewed by Harrison.
1668         
1669         <rdar://problem/5299513> REGRESSION: In Mail, a crash occurs when attempting to undo a newly created To Do
1670         
1671         Rolled out a change made in r23787.
1672         
1673         * editing/DeleteSelectionCommand.cpp:
1674         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1675
1676 2007-06-29  Geoffrey Garen  <ggaren@apple.com>
1677
1678         Reviewed by Darin Adler, Anders Carlsson.
1679         
1680         Fixed <rdar://problem/5303567> REGRESSION: XMLHttpRequest.responseXML 
1681         returns NULL if response MIME type is not XML -- breaks Wikipedia widget
1682         
1683         The spec says that responseXML must return null for any HTTP response
1684         with a non-XML MIME type. Technically, that leaves non-HTTP responses
1685         free to do whatever they want.
1686
1687         * xml/xmlhttprequest.cpp:
1688         (WebCore::XMLHttpRequest::getResponseXML): Only return null for non-XML
1689         MIME types if the response was HTTP.
1690
1691 2007-06-29  Sam Weinig  <sam@webkit.org>
1692
1693         Reviewed by Darin.
1694
1695         Second pass at fixing implicit 64-32 bit conversion errors.
1696         <rdar://problem/5292262>
1697
1698         - Use new JSValue::toFloat() method instead of toNumber() where
1699           appropriate.
1700
1701         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1702         (WebCore::JSCanvasRenderingContext2D::setFillColor):
1703         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
1704         (WebCore::JSCanvasRenderingContext2D::strokeRect):
1705         (WebCore::JSCanvasRenderingContext2D::drawImage):
1706         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
1707         (WebCore::JSCanvasRenderingContext2D::setShadow):
1708         * bindings/js/JSHTMLSelectElementCustom.cpp:
1709         (WebCore::JSHTMLSelectElement::remove):
1710         * bindings/js/JSSVGMatrixCustom.cpp:
1711         (WebCore::JSSVGMatrix::rotateFromVector):
1712         * bindings/js/kjs_events.cpp:
1713         (KJS::JSClipboardPrototypeFunction::callAsFunction):
1714         * bindings/scripts/CodeGeneratorJS.pm:
1715         * ksvg2/svg/SVGScriptElement.cpp:
1716         (WebCore::SVGScriptElement::executeScript):
1717
1718 2007-06-29  Adele Peterson  <adele@apple.com>
1719
1720         Rolling out fix for <rdar://problem/5301322> since it broke layout tests.
1721
1722         * html/HTMLInputElement.h:
1723         * html/HTMLTextAreaElement.h:
1724
1725 2007-06-29  Geoffrey Garen  <ggaren@apple.com>
1726
1727         Reviewed by Oliver Hunt.
1728
1729         Fixed <rdar://problem/4962298> REGRESSION: Synchronous XHR for missing 
1730         local file throws exception -- breaks Wikipedia widget
1731
1732         * WebCore.xcodeproj/project.pbxproj:
1733         * xml/xmlhttprequest.cpp:
1734         (WebCore::XMLHttpRequest::send): Don't throw exceptions for local files.
1735
1736 2007-06-29  Ada Chan  <adachan@apple.com>
1737
1738         Reviewed by Adam.
1739
1740         Fixed a previous fix to a signed/unsigned mismatch.
1741
1742         * plugins/win/PluginPackageWin.cpp:
1743         (WebCore::splitString):
1744
1745 2007-06-29  Adele Peterson  <adele@apple.com>
1746
1747         Reviewed by Ada and Kevin McCullough.
1748
1749         Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
1750
1751         Implemented canSelectAll and selectAll for text fields and textareas, since they're special cases even when they're not editable.
1752
1753         Tests:
1754         fast/forms/input-readonly-select-all.html
1755         fast/forms/textarea-readonly-select-all.html
1756
1757         * html/HTMLInputElement.h:
1758         (WebCore::HTMLInputElement::canSelectAll):
1759         (WebCore::HTMLInputElement::selectAll):
1760         * html/HTMLTextAreaElement.h:
1761         (WebCore::HTMLTextAreaElement::canSelectAll):
1762         (WebCore::HTMLTextAreaElement::selectAll):
1763
1764 2007-06-29  Adam Roben  <aroben@apple.com>
1765
1766         Build fix
1767
1768         This is what happens when you test your patch on two OSs and then
1769         commit from the wrong one.
1770
1771         * rendering/RenderTextControl.cpp:
1772         (WebCore::RenderTextControl::valueChanged):
1773         (WebCore::RenderTextControl::itemText):
1774         (WebCore::RenderTextControl::itemIsSeparator):
1775
1776 2007-06-29  Adam Roben  <aroben@apple.com>
1777
1778         Start compiling WebCore with /W3 under MSVC
1779
1780         One warning was globally disabled: implicit conversion of int to bool.
1781
1782         Reviewed by Darin.
1783
1784         * WebCore.vcproj/WebCore.vcproj:
1785
1786 2007-06-29  Adam Roben  <aroben@apple.com>
1787
1788         Turn DeprecatedStringData's copy constructor into a static method to appease MSVC /W3
1789
1790         DeprecatedStringData now has no public copy constructor. The single
1791         call to the old one has been replaced with a call to the new
1792         DeprecatedStringData::createAndAdopt static method.
1793
1794         Reviewed by Darin.
1795
1796         All regression tests pass.
1797
1798         * platform/DeprecatedString.cpp:
1799         (WebCore::DeprecatedStringData::createAndAdopt):
1800         (WebCore::DeprecatedStringData::adopt):
1801         (WebCore::DeprecatedString::detachIfInternal):
1802         * platform/DeprecatedString.h:
1803
1804 2007-06-29  Adam Roben  <aroben@apple.com>
1805
1806         Fix more signed/unsigned mismatches uncovered by MSVC /W3
1807
1808         Reviewed by John.
1809
1810         No regression tests possible.
1811
1812         * platform/network/cf/ResourceResponseCFNet.cpp:
1813         (WebCore::filenameHasSaneExtension):
1814         * platform/win/FontDataWin.cpp:
1815         (WebCore::FontData::containsCharacters):
1816         * platform/win/PlatformScrollBarSafari.cpp:
1817         (WebCore::):
1818         * platform/win/UniscribeController.cpp:
1819         (WebCore::UniscribeController::advance):
1820         (WebCore::UniscribeController::shapeAndPlaceItem):
1821         * platform/win/WebCoreTextRenderer.cpp:
1822         (WebCore::doDrawTextAtPoint):
1823         * plugins/win/PluginDatabaseWin.cpp:
1824         (WebCore::parseVersionString):
1825         * plugins/win/PluginPackageWin.cpp:
1826         (WebCore::splitString):
1827         * plugins/win/PluginViewWin.cpp:
1828         (WebCore::freeStringArray):
1829         (WebCore::PluginViewWin::invalidateTimerFired):
1830
1831 2007-06-29  Adam Roben  <aroben@apple.com>
1832
1833         Change PopupMenuClient::listSize to return an int to appease warnings from MSVC /W3
1834
1835         Reviewed by John.
1836
1837         No regression test possible.
1838
1839         * html/HTMLSelectElement.cpp:
1840         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
1841         * platform/PopupMenuClient.h:
1842         * platform/win/PopupMenuWin.cpp:
1843         (WebCore::PopupMenu::calculatePositionAndSize):
1844         (WebCore::PopupMenu::focusFirst):
1845         (WebCore::PopupMenu::focusLast):
1846         (WebCore::PopupMenu::down):
1847         (WebCore::PopupMenu::up):
1848         (WebCore::PopupMenu::paint):
1849         * rendering/RenderMenuList.cpp:
1850         * rendering/RenderMenuList.h:
1851         * rendering/RenderTextControl.cpp:
1852         * rendering/RenderTextControl.h:
1853
1854 2007-06-29  Adam Roben  <aroben@apple.com>
1855
1856         Fix two typos spotted by MSVC /W3
1857
1858         Both typos were a semicolon following the condition of an if. This
1859         would cause the intended body of the if to always execute.
1860
1861         Unfortunately neither of these fixes are testable.
1862         BackForwardList::goForward is only called from WebBackForwardList, and
1863         the createDragImageFromImage bug would only manifest itself when
1864         CreateCompatibleDC failed.
1865
1866         Reviewed by Mark.
1867
1868         * history/BackForwardList.cpp:
1869         (WebCore::BackForwardList::goForward):
1870         * platform/win/DragImageWin.cpp:
1871         (WebCore::createDragImageFromImage):
1872
1873 2007-06-29  Adam Treat  <adam@staikos.net>
1874
1875         Reviewed by george Staikos.
1876
1877         Support horizontal and vertical scroll, and set the right units.
1878
1879         * platform/qt/WheelEventQt.cpp:
1880         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1881
1882 2007-06-28  Adam Roben  <aroben@apple.com>
1883
1884         Get WebCore compiling with /W2 on Windows
1885
1886         Reviewed by Steve.
1887
1888         No regression tests affected.
1889
1890         * WebCore.vcproj/WebCore.vcproj: Turn the warning level up to 2, and
1891         disable two warnings: implicit int <=> float conversion, and class vs.
1892         struct inconsistency.
1893         * dom/CharacterData.cpp:
1894         (WebCore::CharacterData::deleteData): Cast to int before negating.
1895         * loader/Cache.cpp:
1896         (WebCore::Cache::remove): Ditto.
1897         * platform/graphics/Path.cpp:
1898         (WebCore::pathLengthApplierFunction): Consistently use floats.
1899         * platform/graphics/cg/GraphicsContextCG.cpp:
1900         (WebCore::GraphicsContext::drawEllipse): Ditto.
1901         * platform/win/GraphicsContextWin.cpp:
1902         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): Ditto.
1903
1904 2007-06-28  Geoffrey Garen  <ggaren@apple.com>
1905
1906         Reviewed by Maciej Stachowiak.
1907         
1908         Fixed <rdar://problem/5299005> DOM timers fire without a local autorelease 
1909         pool => pathologically high high water mark
1910         
1911         I couldn't measure any performance problems with iBench HTML or PLT.
1912
1913         * WebCore.xcodeproj/project.pbxproj: Changed .cpp file to be ObjC++.
1914         * platform/mac/SharedTimerMac.cpp:
1915         (WebCore::timerFired): Added autorelease pool.
1916
1917 2007-06-28  Mitz Pettel  <mitz@webkit.org>
1918
1919         Reviewed by Beth.
1920
1921         - fix http://bugs.webkit.org/show_bug.cgi?id=14118
1922           ASSERTION FAILED: !needsLayout() seen again
1923
1924         Test: fast/dynamic/recursive-layout.html
1925
1926         * page/FrameView.cpp:
1927         (WebCore::FrameView::layout): Removed the midLayout guards around
1928         the calls to invalidateSelection() and updateWidgetPositions(). Those
1929         calls may dirty the layout, but in that case they also update it, so
1930         they should be allowed to do it. Added an ASSERT to make sure that when
1931         they return, the root is not marked for layout.
1932
1933 2007-06-28  Sam Weinig  <sam@webkit.org>
1934
1935         Rubberstamped by Adam Roben.
1936
1937         Roll out r23861.  It caused the buildbot to fail on intel.
1938
1939         * page/Page.cpp:
1940         (WebCore::Page::goToItem):
1941
1942 2007-06-26  Maxime Britto  <mbritto@pleyo.com>
1943
1944         Reviewed by Geoff.
1945
1946         Patch for http://bugs.webkit.org/show_bug.cgi?id=13038
1947         ASSERTION FAILED: item->target().isEmpty() || m_mainFrame->tree()->find(item->target()) == m_mainFrame
1948
1949         Modification of an ASSERT on goToItem related to go back/forward in
1950         history.Don't need to check the frameset if the target is _blank.
1951
1952          * page/Page.cpp:
1953          (WebCore::Page::goToItem):
1954
1955 2007-06-28  Anders Carlsson  <andersca@apple.com>
1956
1957         Reviewed by Oliver.
1958
1959         <rdar://problem/5234139>
1960         <object> with PNG src rendered as image document.
1961         
1962         Complete the URL before passing it to the frame loader client.
1963         
1964         * html/HTMLObjectElement.cpp:
1965         (WebCore::HTMLObjectElement::isImageType):
1966
1967 2007-06-28  Rob Buis  <buis@kde.org>
1968
1969         Reviewed by Maciej.
1970
1971         http://bugs.webkit.org/show_bug.cgi?id=14373
1972         CSS1: selectors (classes and IDs) cannot start with a dash or with a digit
1973
1974         Make sure the id selector validates against the CSS2.1 identfier
1975         definition, not the hexcolor/HASH definition.
1976
1977         * css/CSSGrammar.y:
1978         * css/cssparser.cpp:
1979         (WebCore::CSSParser::lex):
1980         (WebCore::CSSParser::text):
1981         * css/tokenizer.flex:
1982
1983 2007-06-28  Simon Hausmann  <hausmann@kde.org>
1984
1985         Reviewed by Zack.
1986
1987         Implemented PasteboardQt::writeSelection to copy the selected text into the Clipboard as well as PasteboardQt::plainText to retrieve plain text from the clipboard for pasting for example into form fields.
1988
1989         * platform/qt/PasteboardQt.cpp:
1990         (WebCore::Pasteboard::writeSelection):
1991
1992 2007-06-28  Antti Koivisto  <antti@apple.com>
1993
1994         Reviewed by Mitz.
1995         
1996         Fix http://bugs.webkit.org/show_bug.cgi?id=14332
1997         Bug 14332: REGRESSION (r21145): <td> width ignored
1998         <rdar://problem/5290123>
1999         
2000         Cells in table with non-zero cellpadding are not considered empty.
2001
2002         * rendering/AutoTableLayout.cpp:
2003         (WebCore::AutoTableLayout::recalcColumn):
2004
2005 2007-06-28  Adam Roben  <aroben@apple.com>
2006
2007         Fix <rdar://problem/5300455> Prefast: typo in RenderBlock::paintObject
2008
2009         Reviewed by Hyatt.
2010
2011         No layout test possible, as this bug didn't have any effect since
2012         "bool & bool" has the same value as "bool && bool"
2013
2014         * rendering/RenderBlock.cpp:
2015         (WebCore::RenderBlock::paintObject): Changed & to &&.
2016
2017 2007-06-28  Adam Roben  <aroben@apple.com>
2018
2019         Fix <rdar://problem/5300443> word-break and -webkit-user-modify allow any value
2020
2021         The bug was caused by two typos found by prefast.
2022
2023         Reviewed by Hyatt.
2024
2025         * css/cssparser.cpp:
2026         (WebCore::CSSParser::parseValue): Fixed typos.
2027
2028 2007-06-20  Matt Perry  <mpComplete@gmail.com>
2029
2030         Reviewed by Adam.
2031
2032         - Fix http://bugs.webkit.org/show_bug.cgi?id=14251:
2033           onchange handler for select controls doesn't fire when changing via keyboard
2034
2035         * html/HTMLSelectElement.cpp:
2036         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Got rid of
2037         a call to saveLastSelection in the "Enter" key handler for select
2038         controls that was preventing onchange from firing.
2039
2040 2007-06-27  Sam Weinig  <sam@webkit.org>
2041
2042         Fix Gdk, Qt, and Win32 builds.
2043
2044         * WebCore.pro:
2045         * WebCore.vcproj/WebCore.vcproj:
2046
2047 2007-06-27  Sam Weinig  <sam@webkit.org>
2048
2049         Reviewed by Geoff.
2050
2051         Patch for http://bugs.webkit.org/show_bug.cgi?id=14319
2052         Move the Selection object out of the JS bindings
2053
2054         - Renames JS Object Selection to DOMSelection to avoid a name
2055           conflict.
2056
2057         * DerivedSources.make:
2058         * WebCore.xcodeproj/project.pbxproj:
2059         * bindings/js/kjs_window.cpp:
2060         (KJS::WindowPrivate::WindowPrivate):
2061         (KJS::Window::mark):
2062         (KJS::Window::clearHelperObjectProperties):
2063         (KJS::WindowFunc::callAsFunction):
2064         (KJS::Window::disconnectFrame):
2065         * bindings/js/kjs_window.h:
2066         (KJS::Window::):
2067         * page/DOMSelection.cpp: Added.
2068         (WebCore::DOMSelection::DOMSelection):
2069         (WebCore::DOMSelection::frame):
2070         (WebCore::DOMSelection::disconnectFrame):
2071         (WebCore::DOMSelection::anchorNode):
2072         (WebCore::DOMSelection::baseNode):
2073         (WebCore::DOMSelection::anchorOffset):
2074         (WebCore::DOMSelection::baseOffset):
2075         (WebCore::DOMSelection::focusNode):
2076         (WebCore::DOMSelection::extentNode):
2077         (WebCore::DOMSelection::focusOffset):
2078         (WebCore::DOMSelection::extentOffset):
2079         (WebCore::DOMSelection::isCollapsed):
2080         (WebCore::DOMSelection::type):
2081         (WebCore::DOMSelection::rangeCount):
2082         (WebCore::DOMSelection::collapse):
2083         (WebCore::DOMSelection::collapseToEnd):
2084         (WebCore::DOMSelection::collapseToStart):
2085         (WebCore::DOMSelection::empty):
2086         (WebCore::DOMSelection::setBaseAndExtent):
2087         (WebCore::DOMSelection::setPosition):
2088         (WebCore::DOMSelection::modify):
2089         (WebCore::DOMSelection::getRangeAt):
2090         (WebCore::DOMSelection::removeAllRanges):
2091         (WebCore::DOMSelection::addRange):
2092         (WebCore::DOMSelection::toString):
2093         * page/DOMSelection.h: Added.
2094         * page/DOMSelection.idl: Added.
2095         * page/DOMWindow.cpp:
2096         (WebCore::DOMWindow::disconnectFrame):
2097         (WebCore::DOMWindow::getSelection):
2098         * page/DOMWindow.h:
2099         * page/DOMWindow.idl:
2100
2101 2007-06-27  Sam Weinig  <sam@webkit.org>
2102
2103         Reviewed by Maciej.
2104
2105         2nd patch for http://bugs.webkit.org/show_bug.cgi?id=14111
2106         Autogenerate Event JS binding
2107
2108         - Cleanup kjs_events
2109
2110         * bindings/js/kjs_events.cpp:
2111         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
2112         (WebCore::JSAbstractEventListener::handleEvent):
2113         (WebCore::JSAbstractEventListener::isHTMLEventListener):
2114         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
2115         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
2116         (WebCore::JSUnprotectedEventListener::listenerObj):
2117         (WebCore::JSUnprotectedEventListener::windowObj):
2118         (WebCore::JSUnprotectedEventListener::clearWindowObj):
2119         (WebCore::JSUnprotectedEventListener::mark):
2120         (WebCore::JSEventListener::JSEventListener):
2121         (WebCore::JSEventListener::~JSEventListener):
2122         (WebCore::JSEventListener::listenerObj):
2123         (WebCore::JSEventListener::windowObj):
2124         (WebCore::JSEventListener::clearWindowObj):
2125         (WebCore::JSLazyEventListener::JSLazyEventListener):
2126         (WebCore::JSLazyEventListener::listenerObj):
2127         (WebCore::JSLazyEventListener::parseCode):
2128         (WebCore::getNodeEventListener):
2129         (WebCore::JSClipboard::JSClipboard):
2130         (WebCore::JSClipboard::getValueProperty):
2131         (WebCore::JSClipboard::putValueProperty):
2132         (WebCore::JSClipboardPrototypeFunction::callAsFunction):
2133         (WebCore::toJS):
2134         (WebCore::toClipboard):
2135         * bindings/js/kjs_events.h:
2136         (WebCore::JSClipboard::classInfo):
2137         (WebCore::JSClipboard::impl):
2138         * bindings/js/kjs_window.h:
2139         * ksvg2/events/JSSVGLazyEventListener.h:
2140
2141 2007-06-27  Sam Weinig  <sam@webkit.org>
2142
2143         Reviewed by Adam Roben.
2144
2145         Patch for http://bugs.webkit.org/show_bug.cgi?id=12045
2146         Crash under gmalloc at WTF::RefPtr<WebCore::HTMLSliderThumbElement>::operator->
2147         <rdar://problem/5286670>
2148
2149         Test: fast/forms/thumbslider-no-parent-slider.html
2150         Test: fast/forms/thumbslider-crash.html
2151
2152         * rendering/RenderObject.h:
2153         (WebCore::RenderObject::isSlider):
2154         * rendering/RenderSlider.h:
2155         (WebCore::RenderSlider::isSlider):
2156         * rendering/RenderTheme.cpp:
2157         (WebCore::RenderTheme::paint): Only paint thumbslider
2158         if the parent renderer is a RenderSlider.
2159         * rendering/RenderThemeMac.mm:
2160         (WebCore::RenderThemeMac::paintSliderThumb):
2161         * rendering/RenderThemeSafari.cpp:
2162         (WebCore::RenderThemeSafari::paintSliderThumb):
2163
2164 2007-06-27  George Staikos  <staikos@kde.org>
2165
2166         Make Qt builds link when XSLT is turned off.
2167
2168         * WebCore.pro:
2169
2170 2007-06-27  Steve Falkenburg  <sfalken@apple.com>
2171
2172         Turn on static code analysis (Windows only).
2173
2174         Affects only folks that have Visual Studio Team Suite installed,
2175         or who have replaced their compiler with the version shipping in the
2176         Vista SDK.
2177         
2178         Reviewed by Oliver.
2179
2180         * WebCore.vcproj/WebCore.vcproj:
2181
2182 2007-06-27  George Staikos  <staikos@kde.org>
2183
2184         Remove old commented out files that no-longer exist.
2185
2186         * WebCore.pro:
2187
2188 2007-06-27  Justin Garcia  <justin.garcia@apple.com>
2189
2190         Reviewed by John.
2191
2192         <rdar://problem/5247341> REGRESSION: Pasting sometimes leaves out trailing newline
2193         
2194         Pasting with a trailing interchange newline doesn't work when pasting
2195         into an empty line.  Code that handles removing brs at the insertion
2196         position tries to also handle trailing interchange newlines by re-using
2197         those brs and fails.  Removed that code and handle all interchange
2198         newlines with code later in doApply().
2199
2200         * editing/ReplaceSelectionCommand.cpp:
2201         (WebCore::ReplaceSelectionCommand::doApply): Don't try to re-use the
2202         endBR when there's a trailing interchange newline.
2203         
2204 2007-06-27  Anders Carlsson  <andersca@apple.com>
2205
2206         Reviewed by Oliver.
2207
2208         <rdar://problem/5253950>
2209         When Shockwave plugin has been loaded, exiting crashes Safari
2210         
2211         Add a "load count" for plugin packages. When the load count is zero, unload the plugin.
2212         
2213         * plugins/win/PluginPackageWin.cpp:
2214         (WebCore::PluginPackageWin::PluginPackageWin):
2215         (WebCore::PluginPackageWin::load):
2216         (WebCore::PluginPackageWin::unload):
2217         (WebCore::PluginPackageWin::unloadWithoutShutdown):
2218         * plugins/win/PluginPackageWin.h:
2219         
2220         * plugins/win/PluginViewWin.cpp:
2221         (WebCore::PluginViewWin::~PluginViewWin):
2222         Make sure to unload the plugin package and clear any references to plugin script objects.
2223
2224 2007-06-27  George Staikos  <staikos@kde.org>
2225
2226         This was succeeding compile by luck.  Setup dependencies properly.
2227
2228         * WebCore.pro:
2229
2230 2007-06-27  Justin Garcia  <justin.garcia@apple.com>
2231
2232         Reviewed by John.
2233
2234         <rdar://problem/4580583> Breaking blockquoted list should not automatically renumber the second list
2235         
2236         When a quoted numbered list is broken in half, it's cloned
2237         to make the second list. That second list needs its start attribute
2238         set so that the numbers of the list items in it will be preserved.
2239
2240         * editing/BreakBlockquoteCommand.cpp:
2241         (WebCore::BreakBlockquoteCommand::doApply): Set the start attribute
2242         of a cloned list to be the original number of the first list item in it.
2243
2244 2007-06-27  Alexey Proskuryakov  <ap@webkit.org>
2245
2246         Reviewed by Geoff.
2247
2248         http://bugs.webkit.org/show_bug.cgi?id=14413
2249         GIF animation throttling is different from MSIE
2250
2251         * platform/graphics/cg/ImageSourceCG.cpp:
2252         (WebCore::ImageSource::frameDurationAtIndex):
2253         Change the cut-off value to 50ms to match MSIE.
2254
2255 2007-06-27  Sam Weinig  <sam@webkit.org>
2256
2257         Reviewed by Darin.
2258
2259         First pass at fixing implicit 64-32 bit conversion errors.
2260         <rdar://problem/5292262>
2261
2262         - Add 'f' suffix where necessary.
2263
2264         * bridge/mac/WebCoreAXObject.mm:
2265         (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
2266         * css/csshelper.h:
2267         * css/cssstyleselector.cpp:
2268         (WebCore::):
2269         (WebCore::CSSStyleSelector::largerFontSize):
2270         (WebCore::CSSStyleSelector::smallerFontSize):
2271         * html/CanvasGradient.cpp:
2272         (WebCore::CanvasGradient::addColorStop):
2273         * html/CanvasPattern.cpp:
2274         (WebCore::CanvasPattern::createPattern):
2275         * ksvg2/css/SVGCSSStyleSelector.cpp:
2276         (WebCore::CSSStyleSelector::applySVGProperty):
2277         * ksvg2/css/SVGRenderStyle.h:
2278         * ksvg2/events/SVGZoomEvent.cpp:
2279         (WebCore::SVGZoomEvent::SVGZoomEvent):
2280         * ksvg2/svg/SVGLength.cpp:
2281         (WebCore::SVGLength::SVGLength):
2282         (WebCore::SVGLength::value):
2283         (WebCore::SVGLength::setValue):
2284         (WebCore::SVGLength::valueAsPercentage):
2285         (WebCore::SVGLength::PercentageOfViewport):
2286         * ksvg2/svg/SVGSVGElement.cpp:
2287         (WebCore::SVGSVGElement::pixelUnitToMillimeterX):
2288         (WebCore::SVGSVGElement::pixelUnitToMillimeterY):
2289         (WebCore::SVGSVGElement::getScreenCTM):
2290         * ksvg2/svg/SVGTextContentElement.cpp:
2291         (WebCore::SVGTextContentElement::getComputedTextLength):
2292         (WebCore::SVGTextContentElement::getSubStringLength):
2293         (WebCore::SVGTextContentElement::getRotationOfChar):
2294         * ksvg2/svg/SVGTransformDistance.cpp:
2295         (WebCore::SVGTransformDistance::SVGTransformDistance):
2296         (WebCore::SVGTransformDistance::distance):
2297         * page/InspectorController.cpp:
2298         (WebCore::InspectorResource::InspectorResource):
2299         * platform/graphics/FloatPoint3D.cpp:
2300         (WebCore::FloatPoint3D::normalize):
2301         * platform/graphics/Path.cpp:
2302         (WebCore::pathLengthApplierFunction):
2303         (WebCore::Path::createRoundedRectangle):
2304         * platform/graphics/cg/GraphicsContextCG.cpp:
2305         (WebCore::GraphicsContext::drawLine):
2306         (WebCore::GraphicsContext::strokeArc):
2307         * platform/graphics/cg/ImageCG.cpp:
2308         (WebCore::FrameData::clear):
2309         * platform/graphics/cg/ImageSourceCG.cpp:
2310         (WebCore::ImageSource::frameDurationAtIndex):
2311         * platform/graphics/cg/PDFDocumentImage.cpp:
2312         (WebCore::PDFDocumentImage::setCurrentPage):
2313         * platform/graphics/svg/SVGPaintServerPattern.cpp:
2314         (WebCore::SVGPaintServerPattern::externalRepresentation):
2315         * platform/graphics/svg/SVGPaintServerRadialGradient.cpp:
2316         (WebCore::SVGPaintServerRadialGradient::SVGPaintServerRadialGradient):
2317         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2318         (WebCore::cgGradientCallback):
2319         (WebCore::CGShadingRefForRadialGradient):
2320         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
2321         * platform/mac/FontDataMac.mm:
2322         (WebCore::webFallbackFontFamily):
2323         * platform/mac/PopupMenuMac.mm:
2324         (WebCore::PopupMenu::show):
2325         * rendering/InlineFlowBox.cpp:
2326         (WebCore::InlineFlowBox::placeBoxesHorizontally):
2327         * rendering/RenderSlider.cpp:
2328         (WebCore::RenderSlider::setValueForPosition):
2329         (WebCore::RenderSlider::setPositionFromValue):
2330
2331 2007-06-27  Alexey Proskuryakov  <ap@webkit.org>
2332
2333         Reviewed by Geoff.
2334
2335         http://bugs.webkit.org/show_bug.cgi?id=14288
2336         XMLHttpRequest doesn't use a correct content type for file:// URLs
2337
2338         Test: fast/dom/xmlhttprequest-html-response-encoding.html
2339
2340         * xml/xmlhttprequest.cpp:
2341         (WebCore::XMLHttpRequest::responseMIMEType): Use MIME type provided by
2342         the network layer, since it provides it even for non-HTTP responses.
2343
2344 2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
2345
2346         Reviewed by Sam Weinig.
2347
2348         http://bugs.webkit.org/show_bug.cgi?id=14061
2349         Implement more of FrameLoaderClientGdk
2350
2351         Make FrameLoaderClientGdk work properly when the MIME type is set.
2352
2353         * loader/gdk/FrameLoaderClientGdk.cpp:
2354         (WebCore::FrameLoaderClientGdk::objectContentType):
2355         (WebCore::FrameLoaderClientGdk::canShowMIMEType):
2356
2357 2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
2358
2359         Reviewed by Maciej.
2360
2361         http://bugs.webkit.org/show_bug.cgi?id=14058
2362         Gdk font backend cleanup
2363
2364         * platform/FontData.h: Remove obsolete function.
2365         * platform/gdk/FontDataGdk.cpp:
2366         (WebCore::FontData::containsCharacters): Lock/unlock only once.
2367         (WebCore::FontData::platformWidthForGlyph): Remove needless cast.
2368         * platform/gdk/FontPlatformData.h: Remove obsolete function.
2369         * platform/gdk/FontPlatformDataGdk.cpp:
2370         (WebCore::FontPlatformData::FontPlatformData): Pass the actual size,
2371         not the pixel size.
2372         (WebCore::FontPlatformData::~FontPlatformData): Free m_fontMatrix.
2373         * platform/gdk/GlyphPageTreeNodeGdk.cpp:
2374         (WebCore::GlyphPage::fill): Lock/unlock only once.
2375
2376 2007-06-26  Mitz Pettel  <mitz@webkit.org>
2377
2378         Reviewed by Hyatt.
2379
2380         - fix http://bugs.webkit.org/show_bug.cgi?id=14406
2381           <colgroup>'s borders are ignored when it has <col> children
2382
2383         Covered by existing tests.
2384
2385         * rendering/RenderTableCell.cpp:
2386         (WebCore::RenderTableCell::collapsedLeftBorder):
2387         (WebCore::RenderTableCell::collapsedRightBorder):
2388         (WebCore::RenderTableCell::collapsedTopBorder):
2389         (WebCore::RenderTableCell::collapsedBottomBorder):
2390
2391 2007-06-26  Mitz Pettel  <mitz@webkit.org>
2392
2393         Reviewed by Oliver.
2394
2395         - fix http://bugs.webkit.org/show_bug.cgi?id=14329
2396           REGRESSION: TEXTAREA - cannot drag-and-drop text at en.wikipedia.org/
2397
2398         Test: fast/repaint/text-selection-rect-in-overflow-2.html
2399
2400         * rendering/RenderObject.cpp:
2401         (WebCore::RenderObject::computeAbsoluteRepaintRect): Added code to account
2402         for overflow scroll and columns.
2403         * rendering/RenderText.cpp:
2404         (WebCore::RenderText::selectionRect): Adjust for columns only in the
2405         non-clipped case, since RenderObject::absolutePosition() does not.
2406
2407 2007-06-26  Mitz Pettel  <mitz@webkit.org>
2408
2409         Reviewed by Sam.
2410
2411         - http://bugs.webkit.org/show_bug.cgi?id=14415
2412           Remove the unused method RenderObject::setTable()
2413
2414         * rendering/RenderObject.h:
2415
2416 2007-06-26  MorganL  <morganl.webkit@yahoo.com>
2417
2418         Reviewed by Maciej.
2419
2420         Implement http://bugs.webkit.org/show_bug.cgi?id=14225
2421         Bug 14225: Make it possible to define platform-specific ResourceRequest without #ifdefs
2422
2423         This change moves the bulk of ResourceRequest into a base class named
2424         ResourceRequestBase with all platform-specific bits pushed into
2425         ResourceRequest.  This allows ports to easily add new members to a
2426         ResourceRequest without having to #ifdef the code that is shared
2427         between ports.
2428
2429         * WebCore.exp:
2430         * WebCore.pro:
2431         * WebCore.vcproj/WebCore.vcproj:
2432         * WebCore.xcodeproj/project.pbxproj:
2433         * platform/network/ResourceRequest.cpp: Removed.
2434         * platform/network/ResourceRequest.h: Removed.
2435         * platform/network/ResourceRequestBase.cpp: Added.
2436         (WebCore::ResourceRequestBase::asResourceRequest):
2437         (WebCore::ResourceRequestBase::isEmpty):
2438         (WebCore::ResourceRequestBase::isNull):
2439         (WebCore::ResourceRequestBase::url):
2440         (WebCore::ResourceRequestBase::setURL):
2441         (WebCore::ResourceRequestBase::cachePolicy):
2442         (WebCore::ResourceRequestBase::setCachePolicy):
2443         (WebCore::ResourceRequestBase::timeoutInterval):
2444         (WebCore::ResourceRequestBase::setTimeoutInterval):
2445         (WebCore::ResourceRequestBase::mainDocumentURL):
2446         (WebCore::ResourceRequestBase::setMainDocumentURL):
2447         (WebCore::ResourceRequestBase::httpMethod):
2448         (WebCore::ResourceRequestBase::setHTTPMethod):
2449         (WebCore::ResourceRequestBase::httpHeaderFields):
2450         (WebCore::ResourceRequestBase::httpHeaderField):
2451         (WebCore::ResourceRequestBase::setHTTPHeaderField):
2452         (WebCore::ResourceRequestBase::httpBody):
2453         (WebCore::ResourceRequestBase::setHTTPBody):
2454         (WebCore::ResourceRequestBase::allowHTTPCookies):
2455         (WebCore::ResourceRequestBase::setAllowHTTPCookies):
2456         (WebCore::ResourceRequestBase::addHTTPHeaderField):
2457         (WebCore::ResourceRequestBase::addHTTPHeaderFields):
2458         (WebCore::operator==):
2459         (WebCore::ResourceRequestBase::isConditional):
2460         (WebCore::ResourceRequestBase::updatePlatformRequest):
2461         (WebCore::ResourceRequestBase::updateResourceRequest):
2462         * platform/network/ResourceRequestBase.h: Added.
2463         (WebCore::):
2464         (WebCore::ResourceRequestBase::httpContentType):
2465         (WebCore::ResourceRequestBase::setHTTPContentType):
2466         (WebCore::ResourceRequestBase::httpReferrer):
2467         (WebCore::ResourceRequestBase::setHTTPReferrer):
2468         (WebCore::ResourceRequestBase::clearHTTPReferrer):
2469         (WebCore::ResourceRequestBase::httpUserAgent):
2470         (WebCore::ResourceRequestBase::setHTTPUserAgent):
2471         (WebCore::ResourceRequestBase::httpAccept):
2472         (WebCore::ResourceRequestBase::setHTTPAccept):
2473         (WebCore::ResourceRequestBase::ResourceRequestBase):
2474         (WebCore::operator!=):
2475         * platform/network/cf/ResourceRequest.h: Added.
2476         (WebCore::ResourceRequest::ResourceRequest):
2477         * platform/network/curl/ResourceRequest.h: Added.
2478         (WebCore::ResourceRequest::ResourceRequest):
2479         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2480         (WebCore::ResourceRequest::doUpdateResourceRequest):
2481         * platform/network/mac/ResourceRequest.h: Added.
2482         (WebCore::ResourceRequest::ResourceRequest):
2483         * platform/network/qt/ResourceRequest.h: Added.
2484         (WebCore::ResourceRequest::ResourceRequest):
2485         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2486         (WebCore::ResourceRequest::doUpdateResourceRequest):
2487
2488 2007-06-26  Adam Roben  <aroben@apple.com>
2489
2490         Add ChangeLog entries from the Windows merge.
2491
2492         Reviewed by Maciej.
2493
2494         * ChangeLog:
2495
2496 2007-06-26  Sam Weinig  <sam@webkit.org>
2497
2498         Reviewed by Maciej.
2499
2500         Make sure not to enumerate the toString() function.
2501         <rdar://problem/5297118>
2502
2503         * bindings/js/kjs_window.cpp:
2504         * bindings/scripts/CodeGeneratorJS.pm: Add support for [DontEnum].
2505         * html/HTMLAnchorElement.idl:
2506
2507 2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
2508
2509         Reviewed by Mitz, landed by Anders.
2510
2511         http://bugs.webkit.org/show_bug.cgi?id=14421
2512         Implement GraphicsContext::clearRect()
2513
2514         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2515         (WebCore::GraphicsContext::clearRect):
2516
2517 2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
2518
2519         Reviewed and landed by Anders.
2520
2521         http://bugs.webkit.org/show_bug.cgi?id=14416
2522         Content does not render fully in some cases
2523
2524         Fix mismatched calls to cairo_save/restore due to an early method return.
2525
2526         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2527         (WebCore::GraphicsContext::drawLine):
2528
2529 2007-06-26  Tristan O'Tierney  <tristan@apple.com>
2530
2531         Reviewed by John Sullivan.
2532
2533         Added two accessor functions for <rdar://problem/4119138>
2534
2535         * bindings/objc/DOMHTML.mm:
2536         (-[DOMHTMLInputElement _isEdited]):
2537         (-[DOMHTMLTextAreaElement _isEdited]):
2538         Added an accessor to the isEdited value of a DOM node's render object
2539
2540         * bindings/objc/DOMPrivate.h:
2541         Added header definitions for _isEdited
2542
2543 2007-06-26  Sam Weinig  <sam@webkit.org>
2544
2545         Fix Win32 build.
2546
2547         * WebCore.vcproj/WebCore.vcproj:
2548
2549 2007-06-26  Sam Weinig  <sam@webkit.org>
2550
2551         Fix Qt and Gdk builds.
2552
2553         * WebCore.pro:
2554
2555 2007-06-26  Sam Weinig  <sam@webkit.org>
2556
2557         Reviewed by Geoff.
2558
2559         Patch for http://bugs.webkit.org/show_bug.cgi?id=14111
2560         Autogenerate Event JS binding
2561
2562         - Moves the dataTransfer method into MouseEvent where it should be.
2563
2564         * WebCore.xcodeproj/project.pbxproj:
2565         * bindings/js/JSEventCustom.cpp: Added.
2566         (WebCore::JSEvent::clipboardData):
2567         (WebCore::toJS):
2568         * bindings/js/JSEventTargetNode.cpp:
2569         * bindings/js/JSXMLHttpRequest.cpp:
2570         * bindings/js/kjs_events.cpp:
2571         * bindings/js/kjs_events.h:
2572         * bindings/objc/DOMUtility.mm:
2573         (KJS::createDOMWrapper):
2574         * bindings/scripts/CodeGeneratorJS.pm:
2575         * dom/Event.h:
2576         (WebCore::Event::returnValue):
2577         (WebCore::Event::setReturnValue):
2578         (WebCore::Event::clipboardData):
2579         * dom/Event.idl:
2580         * dom/MouseEvent.h:
2581         (WebCore::MouseEvent::dataTransfer):
2582         * dom/MouseEvent.idl:
2583
2584 2007-06-26  Timothy Hatcher  <timothy@apple.com>
2585
2586         Reviewed by Mark Rowe.
2587
2588         Follow up fix for: Bug 14385: Web Inspector's computed style doesn't show implicitly set properties
2589         http://bugs.webkit.org/show_bug.cgi?id=14385
2590
2591         Correctly remember the "Show implicit properties" setting as you switch nodes.
2592
2593         * page/inspector/ResourcePanel.js:
2594
2595 2007-06-26  Justin Garcia  <justin.garcia@apple.com>
2596
2597         Reviewed by John.
2598
2599         <rdar://problem/5290534> Crash at RenderTextControl::calcHeight() after deleting text in a search field
2600         
2601         Editing removed a node that was part of a search field's internal
2602         structure that should not be removed.
2603
2604         * editing/DeleteSelectionCommand.cpp:
2605         (WebCore::DeleteSelectionCommand::handleGeneralDelete): If the
2606         selection to delete ends at [container, x], where x is the number
2607         of children in container, don't remove container.  Special case
2608         code elsewhere in this function will remove it if necessary.
2609
2610 2007-06-25  Sam Weinig  <sam@webkit.org>
2611
2612         Reviewed by Maciej.
2613
2614         Patch for http://bugs.webkit.org/show_bug.cgi?id=11315
2615         Mutating document.constructor.prototype mutates Object.prototype
2616
2617         Test: fast/js/constructor.html
2618
2619         * bindings/scripts/CodeGeneratorJS.pm: add constructor attribute to
2620         classes with constructors.  It is an non-enumeratable, non-deletable,
2621         readonly attribute.
2622
2623 2007-06-26  George Staikos  <staikos@kde.org>
2624
2625         Repair the OS X build.
2626
2627         * WebCore.exp:
2628
2629 2007-06-26  Adam Treat  <adam@staikos.net>
2630
2631         Reviewed by Adam Roben.
2632
2633         Make the SQLite icon database optional.
2634
2635         * loader/icon/IconDatabase.cpp:
2636         (WebCore::IconDatabase::isOpen):
2637         (WebCore::IconDatabase::isPrivateBrowsingEnabled):
2638         (WebCore::IconDatabase::enabled):
2639         * loader/icon/IconDatabase.h:
2640
2641 2007-06-25  Sam Weinig  <sam@webkit.org>
2642
2643         Reviewed by Adam Roben.
2644
2645         Patch for http://bugs.webkit.org/show_bug.cgi?id=14369
2646         HTML syntax highlighting colors and DOM tree colors should be the same
2647
2648         * css/view-source.css:
2649         * page/inspector/ResourcePanel.js:
2650         * page/inspector/inspector.css:
2651         * page/inspector/inspector.js:
2652         * page/inspector/utilities.js:
2653
2654 2007-06-25  Adam Roben  <aroben@apple.com>
2655
2656         Fix Bug 14402: Main resource of http://www.apple.com/safari/ is called "www.apple.com" instead of "safari"
2657         http://bugs.webkit.org/show_bug.cgi?id=14402
2658
2659         The solution was to make KURL::lastPathComponent ignore trailing
2660         slashes, which is what -[NSURL lastPathComponent] does, too.
2661
2662         Reviewed by Oliver.
2663
2664         * platform/KURL.cpp:
2665         (WebCore::KURL::lastPathComponent):
2666
2667 2007-06-25  Sam Weinig  <sam@webkit.org>
2668
2669         Reviewed by Adam Roben.
2670
2671         Patch for http://bugs.webkit.org/show_bug.cgi?id=14257
2672         Web Inspector lists favicon.ico as "other" instead of "image"
2673
2674         * page/InspectorController.cpp:
2675         (WebCore::InspectorResource::type):
2676
2677 2007-06-25  Adele Peterson  <adele@apple.com>
2678
2679         Reviewed by Hyatt.
2680
2681         Fix for <rdar://problem/5286410> Scrollbar and resize corner for overflow area is not hidden with style "visibility: hidden;"
2682         http://bugs.webkit.org/show_bug.cgi?id=14297
2683
2684         Test: fast/overflow/hidden-scrollbar-resize.html
2685
2686         * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer):
2687         Updated our shouldPaint check to consider visibility.
2688
2689 2007-06-25  Oliver Hunt  <oliver@apple.com>
2690
2691         Reviewed by Darin.
2692
2693         <rdar://problem/5293444> REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info
2694
2695         Fixing logic error in DragController
2696
2697         * manual-tests/drop-text-acquires-style.html: Added.
2698         * page/DragController.cpp:
2699         (WebCore::documentFragmentFromDragData):
2700
2701 2007-06-25  Sam Weinig  <sam@webkit.org>
2702
2703         Reviewed by Adam Roben.
2704
2705         Annotate prototypes by adding "Prototype" subtitle.
2706
2707         * page/inspector/ResourcePanel.js:
2708
2709 2007-06-25  George Staikos  <staikos@kde.org>
2710
2711         Reviewed by Zack.
2712
2713         Start to add proxy and SSL support to WebKitQt.  Proxying works.
2714
2715         * platform/network/ResourceHandleInternal.h:
2716         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2717         * platform/network/qt/ResourceHandleQt.cpp:
2718         (WebCore::ResourceHandle::start):
2719
2720 2007-06-25  Alp Toker  <alp.toker@collabora.co.uk>
2721
2722         Reviewed by Adam Roben.
2723
2724         http://bugs.webkit.org/show_bug.cgi?id=14386
2725         Gdk build fix
2726
2727         * WebCore.pro: Fix gtk/gdk typo.
2728
2729 2007-06-25  Timothy Hatcher  <timothy@apple.com>
2730
2731         Reviewed by Anders.
2732
2733         Bug 14385: Web Inspector's computed style doesn't show implicitly set properties
2734         http://bugs.webkit.org/show_bug.cgi?id=14385
2735
2736         Add a toggle to show implict computed properties.
2737
2738         * page/inspector/ResourcePanel.js:
2739         * page/inspector/inspector.css:
2740         * page/inspector/inspector.js:
2741
2742 2007-06-25  Alp Toker  <alp.toker@collabora.co.uk>
2743
2744         Reviewed by Mark.
2745
2746         http://bugs.webkit.org/show_bug.cgi?id=13975
2747         Use system-provided libjpeg and libpng
2748
2749         * WebCore.pro: Remove bundled libjpeg and libpng sources.
2750         * platform/image-decoders/jpeg: Remove sources.
2751         * platform/image-decoders/png: Remove sources.
2752
2753 2007-06-25  Mitz Pettel  <mitz@webkit.org>
2754
2755         Reviewed by Darin.
2756
2757         - fix http://bugs.webkit.org/show_bug.cgi?id=14202
2758           Table caption renders too narrow sometimes
2759
2760         Test: fast/table/caption-relayout.html
2761
2762         * rendering/RenderTable.cpp:
2763         (WebCore::RenderTable::layout): Mark the caption for layout if the table
2764         width changed.
2765
2766 2007-06-25  Mitz Pettel  <mitz@webkit.org>
2767
2768         Reviewed by Darin.
2769
2770         - fix http://bugs.webkit.org/show_bug.cgi?id=14245
2771           Underline painted under <br>, not repainted properly
2772
2773         Test: fast/inline/br-text-decoration.html
2774
2775         * platform/graphics/cg/GraphicsContextCG.cpp:
2776         (WebCore::GraphicsContext::drawLineForText): Added an early return if the line width
2777         is zero. Also changed the line stroke to a rect fill, so that lines with length shorter
2778         than their thickness paint correctly.
2779
2780 2007-06-25  Mitz Pettel  <mitz@webkit.org>
2781
2782         Reviewed by Maciej.
2783
2784         - fix http://bugs.webkit.org/show_bug.cgi?id=14341
2785           rules="none" ignored in certain cases
2786
2787         Covered by existing tests.
2788
2789         * html/HTMLTableElement.cpp:
2790         (WebCore::HTMLTableElement::getSharedCellDecl):
2791
2792 2007-06-24  Sam Weinig  <sam@webkit.org>
2793
2794         Reviewed by Mitz.
2795
2796         Patch for http://bugs.webkit.org/show_bug.cgi?id=14379
2797         Anchor elements show up as their href in the properties pane, not HTMLAnchorElement
2798
2799         * page/inspector/ResourcePanel.js: make sure not to call an overriden
2800         toString() by using Object.prototype.toString.call().
2801
2802 2007-06-24  Adam Roben  <aroben@apple.com>
2803
2804         Fix http://bugs.webkit.org/show_bug.cgi?id=14374
2805         Bug 14374: Computed Style section should be expanded by default
2806
2807         Reviewed by Sam.
2808
2809         No regression test possible.
2810
2811         * page/inspector/ResourcePanel.js: Expand all style sections.
2812
2813 2007-06-24  Adam Roben  <aroben@apple.com>
2814
2815         Unify the style of enums in the Inspector JS
2816
2817         All our enums are now represented by an object with a property for
2818         each enum value.
2819
2820         Reviewed by Sam.
2821
2822         No regression test possible.
2823
2824         * page/inspector/ConsolePanel.js:
2825         * page/inspector/Resource.js:
2826         * page/inspector/ResourcePanel.js:
2827         * page/inspector/inspector.js:
2828
2829 2007-06-23  Sam Weinig  <sam@webkit.org>
2830
2831         Reviewed by Mitz.
2832
2833         Patch for http://bugs.webkit.org/show_bug.cgi?id=14321
2834         getComputedStyle(...).zIndex returns string "normal"
2835
2836         Test: fast/css/getComputedStyle-zIndex-auto.html
2837
2838         * css/CSSComputedStyleDeclaration.cpp:
2839         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return 'auto' instead of 'normal'.
2840
2841 2007-06-24  Matt Lilek  <pewtermoose@gmail.com>
2842
2843         Reviewed by Tim Hatcher.
2844
2845         Bug 14265: Cannot resize columns in webinspector
2846         http://bugs.webkit.org/show_bug.cgi?id=14265
2847
2848         * page/inspector/inspector.css:
2849         * page/inspector/inspector.html:
2850         * page/inspector/inspector.js:
2851
2852 2007-06-23  Adam Roben  <aroben@apple.com>
2853
2854         Silence a build warning about not finding `num-cpus`
2855
2856         Reviewed by Mark Rowe.
2857
2858         * WebCore.vcproj/build-generated-files.sh: Look for num-cpus in its new
2859         location.
2860
2861 2007-06-22  Anders Carlsson  <andersca@apple.com>
2862
2863         Reviewed by Darin.
2864
2865         * plugins/win/PluginStreamWin.cpp:
2866         (WebCore::PluginStreamWin::didFinishLoading):
2867         No need to fetch the size from resourceData.
2868
2869 2007-06-22  Anders Carlsson  <andersca@apple.com>
2870
2871         Reviewed by Darin.
2872
2873         <rdar://problem/5288617>
2874         Crash playing a very large QuickTime movie inside Safari.
2875
2876         Get rid of m_completeDeliveryData and use the loader's resource data instead. This reduces the memory usage for 
2877         plug-ins which loads large files and use a transfer mode of NP_ASFILE or NP_ASFILEONLY.
2878         
2879         * plugins/win/PluginStreamWin.cpp:
2880         (WebCore::PluginStreamWin::PluginStreamWin):
2881         (WebCore::PluginStreamWin::~PluginStreamWin):
2882         (WebCore::PluginStreamWin::didReceiveData):
2883         (WebCore::PluginStreamWin::didFinishLoading):
2884         * plugins/win/PluginStreamWin.h:
2885
2886 2007-06-22  Beth Dakin  <bdakin@apple.com>
2887
2888         Reviewed by Oliver and Darin.
2889
2890         Fix for <rdar://problem/5266999> Loading page from MangleMe fuzz 
2891         tester crashes in RenderTableRow::addChild (giant ROWSPAN)
2892
2893         We already have code that tries to prevent allocating too-large 
2894         rowspans. The rowspan in this test, however, was small enough that 
2895         we thought it was okay in that code, even though clearly it was 
2896         still too large. I did a bunch of testing in Firefox, and it seems 
2897         that they set a hard limit on the maximum rowspan right in the DOM 
2898         -- 8k. So that is what this patch implements. 
2899
2900         * html/HTMLTableCellElement.cpp:
2901         (WebCore::HTMLTableCellElement::parseMappedAttribute):
2902
2903 2007-06-22  Justin Garcia  <justin.garcia@apple.com>
2904
2905         Reviewed by Darin.
2906         
2907         <rdar://problem/5272440> Adding To Do via Note received in e-mail adds newlines on delete
2908         
2909         Deletion inserts a placeholder after it removes full paragraphs if
2910         one doesn't already exist.  The code that looked for a pre-existing
2911         placeholder didn't work because of a bug in enclosingNodeOfType.
2912
2913         * editing/htmlediting.cpp:
2914         (WebCore::enclosingNodeOfType): We start looking at node->parentNode(),
2915         but don't go above an editing root.
2916
2917 2007-06-22  Anders Carlsson  <andersca@apple.com>
2918
2919         Reviewed by Maciej and Geoff.
2920
2921         <rdar://problem/5244734>
2922         WebKit shouldn't send delegate resource load methods for the user stylesheet (doing so causes assertions in Safari)
2923         
2924         Add a sendResourceLoadCallbacks argument to the ResourceLoader and only send resource load callbacks if it's true. Make it so that
2925         loading the user style sheet creates a resource loader with sendResourceLoadCallbacks set to false (done by adding a sendResourceLoadCallbacks 
2926         argument to a bunch of classes).
2927         
2928         * loader/Cache.cpp:
2929         (WebCore::createResource):
2930         (WebCore::Cache::requestResource):
2931         * loader/Cache.h:
2932         * loader/CachedCSSStyleSheet.cpp:
2933         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
2934         * loader/CachedCSSStyleSheet.h:
2935         * loader/CachedResource.cpp:
2936         (WebCore::CachedResource::CachedResource):
2937         * loader/CachedResource.h:
2938         (WebCore::CachedResource::sendResourceLoadCallbacks):
2939         * loader/DocLoader.cpp:
2940         (WebCore::DocLoader::requestCSSStyleSheet):
2941         (WebCore::DocLoader::requestResource):
2942         (WebCore::DocLoader::checkCacheObjectStatus):
2943         * loader/DocLoader.h:
2944         * loader/MainResourceLoader.cpp:
2945         (WebCore::MainResourceLoader::MainResourceLoader):
2946         * loader/Request.cpp:
2947         (WebCore::Request::Request):
2948         * loader/Request.h:
2949         (WebCore::Request::sendResourceLoadCallbacks):
2950         * loader/ResourceLoader.cpp:
2951         (WebCore::ResourceLoader::ResourceLoader):
2952         (WebCore::ResourceLoader::willSendRequest):
2953         (WebCore::ResourceLoader::didReceiveResponse):
2954         (WebCore::ResourceLoader::didReceiveData):
2955         (WebCore::ResourceLoader::didFinishLoadingOnePart):
2956         (WebCore::ResourceLoader::didFail):
2957         (WebCore::ResourceLoader::didCancel):
2958         * loader/ResourceLoader.h:
2959         (WebCore::ResourceLoader::sendResourceLoadCallbacks):
2960         * loader/SubresourceLoader.cpp:
2961         (WebCore::SubresourceLoader::SubresourceLoader):
2962         (WebCore::SubresourceLoader::create):
2963         * loader/SubresourceLoader.h:
2964         * loader/loader.cpp:
2965         (WebCore::Loader::load):
2966         (WebCore::Loader::servePendingRequests):
2967         * loader/loader.h:
2968         * loader/mac/NetscapePlugInStreamLoaderMac.mm:
2969         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
2970
2971 2007-06-21  Richard Connamacher  <rich@indieimage.com>
2972
2973         Reviewed by Tim Hatcher.
2974
2975         Bug 14305: Web Inspector marks local files with server-side compression tip
2976         http://bugs.webkit.org/show_bug.cgi?id=14305
2977
2978         * page/inspector/Resource.js:
2979         (WebInspector.Resource._shouldCompress): Prevent server-side compression tip
2980         from being given to local files
2981
2982 2007-06-21  Mark Rowe  <mrowe@apple.com>
2983
2984         Reviewed by Darin.
2985
2986         Fix for <rdar://problem/5266928> REGRESSION: crash/assert failure beneath RenderFrameSet::layOutAxis when loading
2987
2988         * platform/StringImpl.cpp:
2989         (WebCore::StringImpl::toLengthArray): Simplify whitespace before checking for an empty string.  This avoids returning
2990         a length of zero when the string is collapsed to empty by whitespace simplification.
2991
2992 2007-06-21  Dave Hyatt  <hyatt@apple.com>
2993
2994         Fix for <rdar://problem/5286978>, large font sizes crash Windows.
2995         
2996         Limit the maximum font size to 1,000,000 to avoid crashes and issues with platforms that
2997         start failing to do anything useful if the font size is too big.
2998         
2999         Reviewed by olliej
3000
3001         * css/cssstyleselector.cpp:
3002         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
3003         
3004 2007-06-21  Andrew Wellington  <proton@wiretapped.net>
3005
3006         Reviewed by Timothy.
3007
3008         Stop shift+scroll wheel performing a horizontal scroll in Web Inspector
3009
3010         * page/inspector/inspector.css: Set body margin to 0
3011
3012 2007-06-21  Adam Treat  <adam@staikos.net>
3013
3014         Reviewed by George Staikos.
3015
3016         Implement the default resources on Qt.
3017
3018         * platform/graphics/BitmapImage.h:
3019         * platform/graphics/Image.h:
3020         * platform/graphics/qt/ImageQt.cpp:
3021         (WebCore::Image::loadPlatformResource):
3022         (WebCore::BitmapImage::BitmapImage):
3023         (WebCore::BitmapImage::initPlatformData):
3024         (WebCore::BitmapImage::invalidatePlatformData):
3025         (WebCore::BitmapImage::getPixmap):
3026         * platform/qt/TemporaryLinkStubs.cpp:
3027
3028 2007-06-21  Oliver Hunt  <oliver@apple.com>
3029
3030         Reviewed by Darin.
3031
3032         Use RetainPtr for holding currentEvent.  This removes explicit HardRetain/Release calls
3033         and makes reference handling simpler in advance of IME refactoring.
3034
3035         * WebCore.xcodeproj/project.pbxproj:
3036         * page/mac/EventHandlerMac.mm:
3037         (WebCore::currentEvent):
3038         (WebCore::EventHandler::currentNSEvent):
3039         (WebCore::EventHandler::wheelEvent):
3040         (WebCore::EventHandler::keyEvent):
3041         (WebCore::lastEventIsMouseUp):
3042         (WebCore::EventHandler::passMouseDownEventToWidget):
3043         (WebCore::EventHandler::eventLoopHandleMouseDragged):
3044         (WebCore::EventHandler::eventLoopHandleMouseUp):
3045         (WebCore::EventHandler::passSubframeEventToSubframe):
3046         (WebCore::EventHandler::passWheelEventToWidget):
3047         (WebCore::EventHandler::mouseDown):
3048         (WebCore::EventHandler::mouseDragged):
3049         (WebCore::EventHandler::mouseUp):
3050         (WebCore::EventHandler::mouseMoved):
3051
3052 2007-06-21  George Staikos  <staikos@kde.org>
3053
3054         Reviewed by George & Marius.
3055
3056         Patch by me, revision by Marius, minor rev by me.  Adds rendered
3057         and stylable scrollbars.
3058
3059         * page/qt/EventHandlerQt.cpp:
3060         (WebCore::EventHandler::passMousePressEventToScrollbar):
3061         * platform/Widget.h:
3062         * platform/qt/PlatformScrollBar.h:
3063         (WebCore::PlatformScrollbar::isWidget):
3064         * platform/qt/PlatformScrollBarQt.cpp:
3065         (WebCore::PlatformScrollbar::PlatformScrollbar):
3066         (WebCore::PlatformScrollbar::~PlatformScrollbar):
3067         (WebCore::PlatformScrollbar::updateThumbPosition):
3068         (WebCore::PlatformScrollbar::updateThumbProportion):
3069         (WebCore::PlatformScrollbar::width):
3070         (WebCore::PlatformScrollbar::height):
3071         (WebCore::PlatformScrollbar::setRect):
3072         (WebCore::PlatformScrollbar::isEnabled):
3073         (WebCore::PlatformScrollbar::setEnabled):
3074         (WebCore::PlatformScrollbar::paint):
3075         (WebCore::PlatformScrollbar::thumbPosition):
3076         (WebCore::PlatformScrollbar::thumbLength):
3077         (WebCore::PlatformScrollbar::trackLength):
3078         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
3079         (WebCore::PlatformScrollbar::handleMouseOutEvent):
3080         (WebCore::PlatformScrollbar::handleMousePressEvent):
3081         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
3082         (WebCore::PlatformScrollbar::startTimerIfNeeded):
3083         (WebCore::PlatformScrollbar::stopTimerIfNeeded):
3084         (WebCore::PlatformScrollbar::autoscrollPressedPart):
3085         (WebCore::PlatformScrollbar::autoscrollTimerFired):
3086         (WebCore::PlatformScrollbar::pressedPartScrollDirection):
3087         (WebCore::PlatformScrollbar::pressedPartScrollGranularity):
3088         (WebCore::PlatformScrollbar::thumbUnderMouse):
3089         (WebCore::PlatformScrollbar::horizontalScrollbarHeight):
3090         (WebCore::PlatformScrollbar::verticalScrollbarWidth):
3091         (WebCore::PlatformScrollbar::windowClipRect):
3092         * platform/qt/ScrollViewQt.cpp:
3093         (WebCore::ScrollView::addChild):
3094         (WebCore::ScrollView::removeChild):
3095         * platform/qt/WidgetQt.cpp:
3096         (WebCore::WidgetPrivate::WidgetPrivate):
3097         (WebCore::Widget::setQWidget):
3098         (WebCore::Widget::invalidate):
3099         (WebCore::Widget::invalidateRect):
3100         (WebCore::Widget::setParent):
3101         (WebCore::Widget::parent):
3102
3103 2007-06-21  Geoffrey Garen  <ggaren@apple.com>
3104
3105         Reviewed by Dave Hyatt.
3106         
3107         Fixed <rdar://problem/4977124> | http://bugs.webkit.org/show_bug.cgi?id=12646
3108         REGRESSION: RapidWeaver's "Hello" HTML page doesn't display any DHTML 
3109         effects when clicking on its links (12646)
3110         
3111         I'm rolling our r7703 for these reasons:
3112
3113         1. It broke RapidWeaver.
3114         
3115         2. WebKit is now orders of magnitude faster when handling deep nesting
3116         (5 seconds vs 3 minutes on my MBP in this particular case).
3117
3118         3. Firefox, IE, and HTML5 all allow nested heading tags.
3119         
3120         4. Hyatt said so.
3121
3122         * html/HTMLParser.cpp:
3123         (WebCore::HTMLParser::parseToken):
3124
3125 2007-06-21  Sam Weinig  <sam@webkit.org>
3126
3127         Reviewed by Tim Hatcher.
3128
3129         http://bugs.webkit.org/show_bug.cgi?id=14260
3130         ASSERTION FAILED: m_mainResource->loader == loader going back in history on any page
3131
3132         Remove assert for now as it is causing the back button to not
3133         work in debug builds.
3134
3135         * page/InspectorController.cpp:
3136         (WebCore::InspectorController::didCommitLoad):
3137
3138 2007-06-21  Lars Knoll <lars@trolltech.com>
3139
3140         Remove some debug output.
3141
3142         * platform/qt/FontQt.cpp:
3143         (WebCore::generateComponents):
3144         (WebCore::Font::width):
3145
3146 2007-06-21  George Staikos  <staikos@kde.org>
3147
3148         Repair Qt/Mac OS X build.
3149
3150         * WebCore.pro:
3151
3152 2007-06-21  Alexey Proskuryakov  <ap@webkit.org>
3153
3154         Reviewed by Anders.
3155
3156         http://bugs.webkit.org/show_bug.cgi?id=13905
3157         REGRESSION: A Chinese dictionary widget has a problem with XMLHttpRequest response encoding
3158
3159         Tiger WebKit accidentally looked at HTML Http-Equiv META to determine the response encoding
3160         (regardless of the actual response MIME type). This was corrected a while ago to match other 
3161         browsers and the draft XHR spec.
3162
3163         Now restoring this functionality for "text/html", with spec editor's blessing.
3164
3165         * xml/xmlhttprequest.cpp:
3166         (WebCore::XMLHttpRequest::responseMIMEType):
3167         (WebCore::XMLHttpRequest::responseIsXML):
3168         (WebCore::XMLHttpRequest::didReceiveData):
3169         * xml/xmlhttprequest.h:
3170
3171 2007-06-21  Andrew Wellington  <proton@wiretapped.net>
3172
3173         Mac build fix.
3174
3175         * platform/Font.h:
3176
3177 2007-06-21  Lars Knoll  <lars@trolltech.com>
3178
3179         Reviewed by Simon.
3180
3181         another small fix for letter spacing
3182
3183         * platform/qt/FontQt.cpp:
3184         (WebCore::generateComponents):
3185
3186 2007-06-21  Lars Knoll  <lars@trolltech.com>
3187
3188         Reviewed by Simon.
3189
3190         fix word-spacing
3191
3192         * platform/qt/FontQt.cpp:
3193         (WebCore::generateComponents):
3194         (WebCore::Font::width):
3195
3196 2007-06-21  Lars Knoll  <lars@trolltech.com>
3197
3198         Reviewed by Simon.
3199
3200         fix letterspacing and small caps.
3201
3202         * platform/Font.h:
3203         * platform/graphics/qt/GraphicsContextQt.cpp:
3204         (WebCore::GraphicsContext::setPlatformFont):
3205         * platform/qt/FileChooserQt.cpp:
3206         * platform/qt/FontQt.cpp:
3207         (WebCore::TextRunComponent::TextRunComponent):
3208         (WebCore::Font::Font):
3209         (WebCore::Font::operator=):
3210         (WebCore::Font::update):
3211         (WebCore::generateComponents):
3212         (WebCore::Font::selectionRectForText):
3213         * platform/qt/RenderThemeQt.cpp:
3214
3215 2007-06-21  Lars Knoll  <lars@trolltech.com>
3216
3217         Reviewed by Simon.
3218
3219         store the metrics and space width in the Font object
3220
3221         * platform/Font.h:
3222         * platform/qt/FontQt.cpp:
3223         (WebCore::Font::Font):
3224         (WebCore::Font::drawText):
3225         (WebCore::Font::width):
3226         (WebCore::Font::isFixedPitch):
3227         (WebCore::Font::ascent):
3228         (WebCore::Font::descent):
3229         (WebCore::Font::lineSpacing):
3230
3231 2007-06-21  Lars Knoll  <lars@trolltech.com>
3232
3233         Reviewed by Simon.
3234
3235         simplify some codepaths
3236
3237         * platform/qt/FontQt.cpp:
3238         (WebCore::Font::drawText):
3239         (WebCore::Font::width):
3240
3241 2007-06-21  Lars Knoll  <lars@trolltech.com>
3242
3243         Reviewed by Simon.
3244
3245         fix copyright header
3246
3247         * platform/qt/FontQt.cpp:
3248
3249 2007-06-21  Lars Knoll  <lars@trolltech.com>
3250
3251         Reviewed by Simon.
3252
3253         correctly load fonts when a list of font families is given
3254
3255         * platform/qt/FontQt.cpp:
3256         (WebCore::Font::Font):
3257
3258 2007-06-21  Lars Knoll  <lars@trolltech.com>
3259
3260         Reviewed by Simon.
3261
3262         fix some more of the font support
3263
3264         * platform/qt/FontQt.cpp:
3265         (WebCore::Font::drawText):
3266         (WebCore::Font::width):
3267
3268 2007-06-21  Lars Knoll  <lars@trolltech.com>
3269
3270         Reviewed by Simon.
3271
3272         Compile fixes
3273
3274         * platform/Font.h:
3275         (WebCore::Font::isRoundingHackCharacter):
3276         * platform/qt/FontQt.cpp:
3277         (WebCore::Font::drawText):
3278
3279 2007-06-21  Lars Knoll  <lars@trolltech.com>
3280
3281         Reviewed by Simon.
3282
3283         Some more work on the implementation of FontQt.
3284
3285         * platform/qt/FontQt.cpp:
3286         (WebCore::Font::Font):
3287         (WebCore::Font::~Font):
3288         (WebCore::Font::operator=):
3289
3290 2007-06-21  Lars Knoll  <lars@trolltech.com>
3291
3292         Reviewed by Simon.
3293
3294         Started work on the new font infrastructure for the Qt port.
3295
3296         * WebCore.pro:
3297         * editing/Editor.cpp:
3298         (WebCore::Editor::fontForSelection):
3299         * platform/Font.h:
3300         (WebCore::Font::treatAsSpace):
3301         (WebCore::Font::treatAsZeroWidthSpace):
3302         (WebCore::Font::isRoundingHackCharacter):
3303         * platform/qt/FontQt.cpp:
3304         (WebCore::Font::operator QFont):
3305         * platform/qt/TemporaryLinkStubs.cpp:
3306
3307 2007-06-21  Adam Roben  <aroben@apple.com>
3308
3309         More Gdk build fixes.
3310
3311         * page/gdk/ContextMenuClientGdk.cpp:
3312         (WebCore::ContextMenuClientGdk::shouldIncludeInspectElementItem):
3313         * page/gdk/ContextMenuClientGdk.h:
3314         * platform/gdk/TemporaryLinkStubs.cpp:
3315
3316 2007-06-21  Adam Roben  <aroben@apple.com>
3317
3318         Speculative Gdk build fix.
3319
3320         * page/InspectorController.h: Only include the JS headers we really
3321         need to avoid pulling in ones like JSStringRefCF.h.
3322
3323 2007-06-20  Adam Roben  <aroben@apple.com>
3324
3325         Speculative Gdk build fix.
3326
3327         * WebCore.pro: Don't try to build WebKitQt/Plugins on Gdk.
3328
3329 2007-06-20  Adam Roben  <aroben@apple.com>
3330
3331         Windows build fix.
3332
3333         * WebCore.vcproj/WebCore.vcproj: Include ForwardingHeaders after
3334         everything but $WebKitLibrariesDir so that we will pick up
3335         JavaScriptCore headers directly.
3336
3337 2007-06-15  George Staikos  <staikos@kde.org>
3338
3339         Add missing symbol.
3340
3341         * platform/qt/TemporaryLinkStubs.cpp:
3342         (WebCore::contextMenuItemTagInspectElement):
3343
3344 2007-06-20  Steve Falkenburg  <sfalken@apple.com>
3345
3346         Reviewed by Maciej, Anders.
3347         
3348         <rdar://problem/5283789> Crash after dismissing JavaScript alert at end of test on http://lcamtuf.coredump.cx/ierace/
3349
3350         Keep a reference to the Page (via the main frame) for the
3351         load deferred pages.
3352         
3353         Reference is held via the frame since Page isn't refcounted.
3354
3355         * page/Chrome.cpp:
3356         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
3357         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
3358
3359 2007-06-15  Adam Treat <adam@staikos.net>
3360
3361         Reviewed by George Staikos.
3362
3363         Add ICO support to the Qt build.
3364
3365         * WebCore.pro:
3366         * platform/graphics/qt/ImageDecoderQt.cpp:
3367         (Q_IMPORT_PLUGIN):
3368
3369 2007-06-15  George Staikos  <staikos@kde.org>
3370
3371         Fixing Qt build.
3372
3373         * ForwardingHeaders/JavaScriptCore/APICast.h: Added.
3374         * WebCore.pro:
3375         * page/InspectorController.h:
3376
3377 2007-06-20  Adam Roben  <aroben@apple.com>
3378
3379         More speculative Qt/Gdk build fixes.
3380
3381         * WebCore.pro: Add new files.
3382
3383 2007-06-20  Adam Roben  <aroben@apple.com>
3384
3385         Speculative Qt/Gdk build fix.
3386
3387         Added forwarding headers for JavaScriptCore. We may eventually move
3388         InspectorController off of the JSC API, but for now this is the
3389         quickest way to a working build.
3390
3391         * ForwardingHeaders/JavaScriptCore/JSBase.h: Added.
3392         * ForwardingHeaders/JavaScriptCore/JSContextRef.h: Added.
3393         * ForwardingHeaders/JavaScriptCore/JSObjectRef.h: Added.
3394         * ForwardingHeaders/JavaScriptCore/JSStringRef.h: Added.
3395         * ForwardingHeaders/JavaScriptCore/JSStringRefCF.h: Added.
3396         * ForwardingHeaders/JavaScriptCore/JSValueRef.h: Added.
3397         * ForwardingHeaders/JavaScriptCore/JavaScriptCore.h: Added.
3398
3399 2007-06-20  Sam Weinig  <sam@webkit.org>
3400
3401         Rubber stamped by Adam Roben.
3402
3403         Add licenses.
3404
3405         * page/inspector/ConsolePanel.js:
3406         * page/inspector/NetworkPanel.js:
3407         * page/inspector/Resource.js:
3408         * page/inspector/ResourceCategory.js:
3409         * page/inspector/ResourcePanel.js:
3410
3411 2007-06-20  Mark Rowe  <mrowe@apple.com>
3412
3413         Reviewed by Adam.
3414
3415         * WebCore.exp: Export InspectorController::inspect so WebKit can see it.
3416
3417 2007-06-20  Geoffrey Garen  <ggaren@apple.com>
3418
3419         Reviewed by Adele Peterson, Oliver Hunt, Anders Carlsson.
3420
3421         Fixed <rdar://problem/5222911> Leopard9A446 : VitalSource Bookshelf 4.5: 
3422         Crashes when you click on sign in (stringByEvaluatingJavaScriptFromString 
3423         returning nil instead of "")
3424
3425         I'm basically rolling out the change for <rdar://problem/4782422> because
3426         my testing shows that it was backwards.
3427         
3428         * html/HTMLElement.cpp:
3429         (dumpInnerHTML): New debug-only function to work around gdb being 
3430         perpetually suck-tastic.
3431
3432         * page/mac/WebCoreFrameBridge.mm:
3433         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
3434         
3435         Return "", not nil. This function never used to return nil, so let's not
3436         start now. I've filed <rdar://problem/5283271> to cover the documentation bug,
3437
3438 2007-06-20  Adam Roben  <aroben@apple.com>
3439
3440         Addressed some of Geoff's comments.
3441
3442         * page/ContextMenuController.cpp:
3443         (WebCore::ContextMenuController::handleContextMenuEvent): Added a
3444         FIXME.
3445         * platform/ContextMenu.cpp:
3446         (WebCore::ContextMenu::addInspectElementItem): Null-check
3447         frame->page().
3448
3449 2007-06-20  Adam Roben  <aroben@apple.com>
3450
3451         Fix crash in fast/dom/dir-no-body.html
3452
3453         Reviewed by Mark.
3454
3455         * html/HTMLDocument.cpp:
3456         (WebCore::HTMLDocument::createTokenizer): Don't assume we have a
3457         Frame, since we won't if someone creates an HTMLDocument from JS.
3458
3459 2007-06-20  Adam Roben  <aroben@apple.com>
3460
3461         Land the new Inspector.
3462
3463         Co-written with Tim Hatcher.
3464
3465         Reviewed by Anders, Adele, Hyatt, and Sam.
3466
3467         No regression tests possible.
3468
3469         Add a new InspectorController that is in charge of the Inspector. It
3470         has an InspectorClient that controls the Inspector's window and node
3471         highlight.
3472
3473         * page/InspectorClient.h: Added.
3474         (WebCore::InspectorClient::~InspectorClient):
3475         * page/InspectorController.cpp: Added.
3476         (WebCore::ConsoleMessage::ConsoleMessage):
3477         (WebCore::InspectorResource::): Represents a single resource that the
3478         Inspector knows about.
3479         (WebCore::InspectorResource::InspectorResource):
3480         (WebCore::InspectorResource::~InspectorResource):
3481         (WebCore::InspectorResource::type):
3482         (WebCore::InspectorResource::setScriptObject):
3483         (WebCore::addSourceToFrame): Callback available from JS.
3484         (WebCore::getResourceDocumentNode): Ditto.
3485         (WebCore::highlightDOMNode): Ditto.
3486         (WebCore::hideDOMNodeHighlight): Ditto.
3487         (WebCore::loaded): Ditto.
3488         (WebCore::unloading): Ditto.
3489         (WebCore::attach): Ditto.
3490         (WebCore::detach): Ditto.
3491         (WebCore::log): Ditto.
3492         (WebCore::search): Ditto.
3493         (WebCore::inspectedWindow): Ditto.
3494         (WebCore::InspectorController::InspectorController):
3495         (WebCore::InspectorController::~InspectorController):
3496         (WebCore::InspectorController::inspect): Called by
3497         ContextMenuController to inspect a node.
3498         (WebCore::InspectorController::focusNode):
3499         (WebCore::InspectorController::highlight):
3500         (WebCore::InspectorController::hideHighlight):
3501         (WebCore::InspectorController::windowVisible):
3502         (WebCore::InspectorController::setWindowVisible):
3503         (WebCore::InspectorController::addMessageToConsole):
3504         (WebCore::InspectorController::attachWindow):
3505         (WebCore::InspectorController::detachWindow):
3506         (WebCore::InspectorController::windowScriptObjectAvailable):
3507         (WebCore::InspectorController::scriptObjectReady):
3508         (WebCore::InspectorController::windowUnloading):
3509         (WebCore::addHeaders): Static helper function.
3510         (WebCore::objectForRequest): Ditto.
3511         (WebCore::objectForResponse): Ditto.
3512         (WebCore::InspectorController::addScriptResource):
3513         (WebCore::InspectorController::addAndUpdateScriptResource):
3514         (WebCore::InspectorController::removeScriptResource):
3515         (WebCore::InspectorController::updateScriptResource):
3516         (WebCore::InspectorController::populateScriptResources):
3517         (WebCore::InspectorController::addScriptConsoleMessage):
3518         (WebCore::callClearFunction): Static helper function.
3519         (WebCore::InspectorController::clearScriptResources):
3520         (WebCore::InspectorController::clearScriptConsoleMessages):
3521         (WebCore::InspectorController::clearNetworkTimeline):
3522         (WebCore::InspectorController::pruneResources):
3523         (WebCore::InspectorController::didCommitLoad): Callback from
3524         FrameLoader.
3525         (WebCore::InspectorController::frameDetachedFromParent): Ditto.
3526         (WebCore::InspectorController::addResource): Ditto.
3527         (WebCore::InspectorController::removeResource): Ditto.
3528         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Ditto.
3529         (WebCore::InspectorController::identifierForInitialRequest): Ditto.
3530         (WebCore::InspectorController::willSendRequest): Ditto.
3531         (WebCore::InspectorController::didReceiveResponse): Ditto.
3532         (WebCore::InspectorController::didReceiveContentLength): Ditto.
3533         (WebCore::InspectorController::didFinishLoading): Ditto.
3534         (WebCore::InspectorController::didFailLoading): Ditto.
3535         * page/InspectorController.h: Added.
3536         (WebCore::InspectorController::inspectedPage):
3537         (WebCore::InspectorController::scriptContext):
3538         (WebCore::InspectorController::setScriptContext):
3539         (WebCore::InspectorController::resources):
3540         (WebCore::InspectorController::removeAllResources):
3541
3542         Add the JavaScript that defines most of the behavior of the Inspector.
3543         
3544         * page/inspector/ConsolePanel.js: Added.
3545         * page/inspector/NetworkPanel.js: Added.
3546         * page/inspector/Resource.js: Added.
3547         * page/inspector/ResourceCategory.js: Added.
3548         * page/inspector/ResourcePanel.js: Added.
3549         * page/inspector/inspector.js: Added.
3550         * page/inspector/treeoutline.js: Renamed from WebKit/WebInspector/webInspector/treeoutline.js.
3551         * page/inspector/utilities.js: Added.
3552
3553         Add the Inspector's CSS and HTML.
3554
3555         * page/inspector/inspector.css: Added.
3556         * page/inspector/inspector.html: Added.
3557
3558         Hang the InspectorController off of Page. We only create an
3559         InspectorController if an InspectorClient is given to the Page.
3560
3561         * page/Page.cpp:
3562         (WebCore::Page::Page):
3563         * page/Page.h:
3564         (WebCore::Page::inspectorController):
3565
3566         Use FrameLoader to notify the InspectorController of resource loads.
3567
3568         * loader/FrameLoader.cpp:
3569         (WebCore::FrameLoader::begin):
3570         (WebCore::FrameLoader::transitionToCommitted):
3571         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
3572         (WebCore::FrameLoader::detachFromParent):
3573         (WebCore::FrameLoader::assignIdentifierToInitialRequest):
3574         (WebCore::FrameLoader::willSendRequest):
3575         (WebCore::FrameLoader::didReceiveResponse):
3576         (WebCore::FrameLoader::didReceiveData):
3577         (WebCore::FrameLoader::sendRemainingDelegateMessages):
3578         (WebCore::FrameLoader::requestFromDelegate):
3579         (WebCore::FrameLoader::didFinishLoad):
3580         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
3581         (WebCore::FrameLoader::dispatchDidCommitLoad):
3582         (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest):
3583         (WebCore::FrameLoader::dispatchWillSendRequest):
3584         (WebCore::FrameLoader::dispatchDidReceiveResponse):
3585         (WebCore::FrameLoader::dispatchDidReceiveContentLength):
3586         (WebCore::FrameLoader::dispatchDidFinishLoading):
3587         (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache):
3588         * loader/FrameLoader.h:
3589
3590         Send console messages to the InspectorController.
3591
3592         * page/Chrome.cpp:
3593         (WebCore::Chrome::addMessageToConsole): Send all console messages to
3594         the InspectorController.
3595         * page/Chrome.h: Add a new MessageLevel and MessageSource that are
3596         used in the Inspector JS.
3597
3598         Report HTML errors when the Inspector window is open.
3599         We don't report errors when the window is closed because we don't want
3600         to slow down the HTMLTokenizer.
3601
3602         * html/HTMLDocument.cpp:
3603         (WebCore::HTMLDocument::createTokenizer):
3604         * html/HTMLParser.cpp:
3605         (WebCore::HTMLParser::HTMLParser):
3606         * html/HTMLParser.h:
3607         * html/HTMLTokenizer.cpp:
3608         (WebCore::HTMLTokenizer::HTMLTokenizer):
3609         * html/HTMLTokenizer.h:
3610
3611         Append the "Inspect Element" context menu item after passing the
3612         context menu to the ContextMenuClient. This work used to be done in
3613         WebKit.
3614
3615         * page/ContextMenuClient.h:
3616         * page/ContextMenuController.cpp:
3617         (WebCore::ContextMenuController::handleContextMenuEvent): Add the
3618         "Inspect Element" item.
3619         (WebCore::ContextMenuController::contextMenuItemSelected): Handle the
3620         "Inspect Element" item.
3621         * platform/ContextMenu.cpp:
3622         (WebCore::ContextMenu::addInspectElementItem):
3623         (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for "Inspect
3624         Element" item.
3625         * platform/ContextMenu.h:
3626         * platform/ContextMenuItem.h:
3627         (WebCore::): Add ContextMenuItemTagInspectElement.
3628         * platform/graphics/svg/SVGImageEmptyClients.h:
3629         * page/mac/WebCoreViewFactory.h: Add the "Inspect Element" localized
3630         string.
3631         * platform/LocalizedStrings.h: Ditto.
3632         * platform/mac/LocalizedStringsMac.mm:
3633         (WebCore::contextMenuItemTagInspectElement): Ditto.
3634
3635         Miscellaneous changes:
3636
3637         * css/view-source.css: Add message bubble styles.
3638         * loader/DocumentLoader.h: Add a frame getter.
3639         * platform/win/ScrollViewWin.cpp:
3640         (WebCore::ScrollView::updateScrollbars): Respect
3641         Frame::prohibitsScrolling.
3642
3643         Add new images needed for the Inspector.
3644
3645         * page/inspector/Images/attachedShadow.png: Added.
3646         * page/inspector/Images/bottomShadow.png: Added.
3647         * page/inspector/Images/breadcrumbBackground.png: Added.
3648         * page/inspector/Images/checker.png: Added.
3649         * page/inspector/Images/console.png: Added.
3650         * page/inspector/Images/darkShadow.png: Added.
3651         * page/inspector/Images/disclosureDownPressed.png: Added.
3652         * page/inspector/Images/disclosureRightDown.png: Added.
3653         * page/inspector/Images/disclosureRightPressed.png: Added.
3654         * page/inspector/Images/document.png: Added.
3655         * page/inspector/Images/domViewButton.png: Added.
3656         * page/inspector/Images/domViewButtonSelected.png: Added.
3657         * page/inspector/Images/downTriangle.png: Added.
3658         * page/inspector/Images/errorIcon.png: Added.
3659         * page/inspector/Images/errorMediumIcon.png: Added.
3660         * page/inspector/Images/folder.png: Added.
3661         * page/inspector/Images/goArrow.png: Added.
3662   &nb