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