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