7b87a3acfe5a6c225c7a680b6e73c0a273180c55
[WebKit-https.git] / WebCore / ChangeLog
1 2007-07-16  Rob Buis  <buis@kde.org>
2
3         Reviewed by Maciej.
4
5         http://bugs.webkit.org/show_bug.cgi?id=14462
6         non empty <style> element doesn't work
7
8         Return an empty sheet for empty <style> elements
9         instead of a null sheet. Clean up StyleElement a bit.
10
11         * dom/StyleElement.cpp:
12         (WebCore::StyleElement::StyleElement):
13         (WebCore::StyleElement::sheet):
14         (WebCore::StyleElement::childrenChanged):
15         (WebCore::StyleElement::createSheet):
16         * dom/StyleElement.h:
17         (WebCore::StyleElement::setLoading):
18         * html/HTMLStyleElement.cpp:
19         (WebCore::HTMLStyleElement::HTMLStyleElement):
20         (WebCore::HTMLStyleElement::sheet):
21         * html/HTMLStyleElement.h:
22         (WebCore::HTMLStyleElement::setLoading):
23         * ksvg2/svg/SVGStyleElement.cpp:
24         (WebCore::SVGStyleElement::sheet):
25         (WebCore::SVGStyleElement::sheetLoaded):
26         * ksvg2/svg/SVGStyleElement.h:
27
28 2007-07-15  Oliver Hunt  <oliver@apple.com>
29
30         Reviewed by Adam.
31
32         Fix for fix for <rdar://problem/5336602> REGRESSION: tab characters
33                         cannot be entered into text fields
34                         http://bugs.webkit.org/show_bug.cgi?id=14032
35
36         Need to use UChar not char.
37
38         * html/HTMLInputElement.cpp:
39         (WebCore::HTMLInputElement::constrainValue):
40
41 2007-07-15  Sam Weinig  <sam@webkit.org>
42
43         Reviewed by Geoff Garen.
44
45         Remove redundant calls to isSafeScript()
46
47         * bindings/js/JSDOMWindowCustom.cpp:
48         (WebCore::JSDOMWindow::customPut):
49         * bindings/js/kjs_window.cpp:
50         (KJS::Window::put):
51
52 2007-07-15  Geoffrey Garen  <ggaren@apple.com>
53
54         Reviewed by Maciej Stachowiak.
55         
56         Removed incorrect error log, seen while running layout tests.
57         
58         Perhaps at some point FrameLoadTypeInteral had a specific meaning
59         that prevented it from being used in non-child frame, non-redirect
60         situations. However, that meaning has been lost and nobody remembers
61         how to get it back.
62         
63         We currently use FrameLoadTypeInternal for any load that is not
64         initiated by a user gesture, so it's trivial to produce this error
65         log, even though nothing has gone wrong.
66
67         * loader/FrameLoader.cpp:
68         (WebCore::FrameLoader::updateHistoryForInternalLoad):
69
70 2007-07-15  Oliver Hunt  <oliver@apple.com>
71
72         Reviewed by Maciej
73
74         Fix for <rdar://problem/5336602> REGRESSION: tab characters cannot be entered into text fields
75                 http://bugs.webkit.org/show_bug.cgi?id=14032
76
77         constrainValue attempted to block control characters from being inserted 
78         by a simple less than ' ' check, which prevent tab characters from being
79         inserted.  This patch adds an additional check to allow the tab character 
80         again
81
82         * html/HTMLInputElement.cpp:
83         (WebCore::HTMLInputElement::constrainValue):
84
85 2007-07-14  Brady Eidson  <beidson@apple.com>
86
87         Third shot at blind Qt/GDK build fix
88
89         * platform/gdk/TemporaryLinkStubs.cpp:
90         (FTPDirectoryDocument::createTokenizer):
91         * platform/qt/TemporaryLinkStubs.cpp:
92         (FTPDirectoryDocument::createTokenizer):
93
94 2007-07-14  Brady Eidson  <beidson@apple.com>
95
96         Reviewed by Sam
97
98         Windows build fix
99
100         * WebCore.vcproj/WebCore.vcproj:
101
102 2007-07-14  Sam Weinig  <sam@webkit.org>
103
104         Fix Tiger build.
105
106         * config.h:
107
108 2007-07-14  Brady Eidson  <beidson@apple.com>
109
110         Blind attempt at (hopefully) fixing the Qt and GDK builds
111
112         * platform/gdk/TemporaryLinkStubs.cpp:
113         (FTPDirectoryDocument::FTPDirectoryDocument):
114         * platform/qt/TemporaryLinkStubs.cpp:
115         (FTPDirectoryDocument::FTPDirectoryDocument):
116
117 2007-07-14  Brady Eidson  <beidson@apple.com>
118
119         Reviewed by Sam Weinig
120
121         Initial check-in for <rdar://problem/3154486> - Supporting FTP directory listings in the browser
122
123         Development has taken place on both Leopard and Windows (windows enabling patch will follow shortly)
124         Support will only exist on platforms whose network layers (ie, ResourceHandle) support piping the raw
125         FTP Directory data into the engine.  
126
127         This is known to include Leopard, Windows, and CURL based platforms - probably others
128         Known incompatible platforms include Tiger.
129
130         The FTP listing page is built in HTML.  An external HTML document can be provided as a template for the 
131         directory listing.  This document is parsed, and expected to have a <table> with a certain class in it.
132         As FTP directory listings come in, each entry is added to this table as a row.
133
134         If no HTML template is provided to work with, a very basic empty document is hard coded that contains only 
135         this special table.
136
137         Upgrades to the look and feel of the directory listings can take place largely in this HTML template which,
138         admittedly, is conspicuously absent in this initial checkin
139
140         * WebCore.exp: New Settings symbols for WebKit
141         * WebCore.xcodeproj/project.pbxproj:
142
143         * config.h: If BUILDING_ON_TIGER, disable FTP directory listing support
144
145         * dom/DOMImplementation.cpp:
146         (WebCore::DOMImplementation::createDocument): Create an FTPDirectoryDocument if the mime type is 
147           "application/x-ftp-directory"
148
149         * loader/FTPDirectoryDocument.cpp: Added.
150         (WebCore::FTPDirectoryTokenizer::isWaitingForScripts):
151         (WebCore::FTPDirectoryTokenizer::checkBuffer):
152         (WebCore::FTPDirectoryTokenizer::FTPDirectoryTokenizer): Building on HTML tokenizer, this facilitates 
153           parsing FTP Directory listings in the engine
154         (WebCore::FTPDirectoryTokenizer::appendEntry): Add a table row for a directory listing to the document
155         (WebCore::FTPDirectoryTokenizer::createTDForFilename): Create the TD for the filename with the anchor in it
156
157         (WebCore::processFilesizeString): Prettify the filesize
158         (WebCore::wasLastDayOfMonth):
159         (WebCore::processFileDateString): Prettify the date
160         (WebCore::FTPDirectoryTokenizer::parseAndAppendOneLine):
161         (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate): Loads the HTML template that FTP directory listings
162           can build on top of
163         (WebCore::FTPDirectoryTokenizer::createBasicDocument): Creates a most basic document (body and one table) to
164           append the rows to in case the document template is not loaded and parsed
165         (WebCore::FTPDirectoryTokenizer::write): Add the FTP listing to the buffer and parse entries out of it
166         (WebCore::FTPDirectoryTokenizer::finish): 
167
168         (WebCore::FTPDirectoryDocument::FTPDirectoryDocument): Special document-type for FTP directory listings
169         (WebCore::FTPDirectoryDocument::createTokenizer):
170         * loader/FTPDirectoryDocument.h: Added.
171         (WebCore::FTPDirectoryDocument::isImageDocument):
172         
173         * loader/FTPDirectoryParser.cpp: Added.
174         (WebCore::parseOneFTPLine): Adapted from ParseFTPList.cpp from Firefox - parses most known
175           FTP directory listing styles into discrete FTP directory entries
176         * loader/FTPDirectoryParser.h: Added.
177         (WebCore::ListState::ListState): Maintains FTP Parser state
178         (WebCore::ListResult::ListResult): Represents one FTP directory listing
179         (WebCore::ListResult::clear):
180
181         * loader/FrameLoader.cpp:
182         (WebCore::FrameLoader::checkContentPolicy): If the Settings say to bypass the policy check for 
183           "application/x-ftp-directory", skip it.  This will allow people to test this feature even if their 
184           browser/WebKit app would otherwise not allow it
185
186         * page/Settings.cpp:
187         (WebCore::Settings::Settings):
188         (WebCore::Settings::setFTPDirectoryTemplatePath): Set the path to the FTP listing document template
189         (WebCore::Settings::setForceFTPDirectoryListings): Set to bypass the policy delegate check for mime type
190           "application/x-ftp-directory"
191         * page/Settings.h:
192         (WebCore::Settings::ftpDirectoryTemplatePath):
193         (WebCore::Settings::forceFTPDirectoryListings):
194
195         * platform/Logging.cpp: Add an "LogFTP" logging channel
196         * platform/Logging.h:
197         * platform/mac/LoggingMac.mm:
198         (WebCore::InitializeLoggingChannelsIfNecessary):
199
200         * platform/MimeTypeRegistry.cpp:
201         (WebCore::initialiseSupportedNonImageMimeTypes): Add "application/x-ftp-directory"
202
203         * platform/SharedBuffer.cpp:
204         (WebCore::SharedBuffer::createWithContentsOfFile): Stub for now
205         * platform/SharedBuffer.h:
206
207         * platform/mac/SharedBufferMac.mm:
208         (WebCore::SharedBuffer::createWithContentsOfFile): Load contents of the file into an NSData, then
209           wrap that NSData
210
211 2007-07-14  Alexey Proskuryakov  <ap@webkit.org>
212
213         Reviewed by Darin.
214
215         http://bugs.webkit.org/show_bug.cgi?id=14618
216         REGRESSION(13464): drivehq.com login form doesn't work
217
218         Test: http/tests/misc/post-submit-button.html
219
220         * html/HTMLInputElement.cpp:
221         (WebCore::HTMLInputElement::appendFormData): Append a submit even if its value is empty.
222
223 2007-07-13  Oliver Hunt  <oliver@apple.com>
224
225         Reviewed by Sam.
226
227         Fix for 
228             <rdar://problem/5335265> REGRESSION: WebCore::DragController crashes if WebDragSourceActionDHTML cleared
229             http://bugs.webkit.org/show_bug.cgi?id=13652
230
231         Reorder logic for drag initiation: we can always preflight the clipboard, regardless as to whether 
232         we are performing any dhtml drag handling    
233
234         * page/EventHandler.cpp:
235         (WebCore::EventHandler::handleDrag):
236
237 2007-07-13  Matt Lilek  <pewtermoose@gmail.com>
238
239         Reviewed by Tim Hatcher.
240
241         Bug 14401: Semi-regression: Can no longer copy anything from the inspector
242         http://bugs.webkit.org/show_bug.cgi?id=14401
243
244         * page/inspector/inspector.css:
245
246 2007-07-13  Beth Dakin  <bdakin@apple.com>
247
248         Reviewed by Hyatt.
249
250         Fix for <rdar://problem/5304742> A hang occurs when attempting to 
251         display web clip banner at http://www.signonsandiego.com/sports/
252         chargers/index.html
253
254         Here is the actual fix. 
255         * rendering/RenderInline.cpp:
256         (WebCore::RenderInline::absoluteRects): Set topLevel to 
257         false when we recurse to get our children's absoluteRects.
258         * rendering/RenderInline.h: New boolean parameter 
259         topLevel that defaults to true.
260         * rendering/RenderObject.cpp:
261         (WebCore::RenderObject::absoluteRects):
262         * rendering/RenderObject.h:
263
264         And these are just other implementations/declarations of this 
265         (virtual) function that have to add the parameter. No behavior 
266         change here.
267         * rendering/RenderPath.cpp:
268         (WebCore::RenderPath::absoluteRects):
269         * rendering/RenderPath.h:
270         * rendering/RenderSVGContainer.cpp:
271         (WebCore::RenderSVGContainer::absoluteRects):
272         * rendering/RenderSVGContainer.h:
273         * rendering/RenderSVGHiddenContainer.cpp:
274         (WebCore::RenderSVGHiddenContainer::absoluteRects):
275         * rendering/RenderSVGHiddenContainer.h:
276         * rendering/RenderSVGImage.cpp:
277         (WebCore::RenderSVGImage::absoluteRects):
278         * rendering/RenderSVGImage.h:
279         * rendering/RenderSVGInlineText.cpp:
280         (WebCore::RenderSVGInlineText::absoluteRects):
281         * rendering/RenderSVGInlineText.h:
282         * rendering/RenderSVGTSpan.cpp:
283         (WebCore::RenderSVGTSpan::absoluteRects):
284         * rendering/RenderSVGTSpan.h:
285         * rendering/RenderSVGText.cpp:
286         (WebCore::RenderSVGText::absoluteRects):
287         * rendering/RenderSVGText.h:
288         * rendering/RenderText.cpp:
289         (WebCore::RenderText::absoluteRects):
290         * rendering/RenderText.h:
291         * rendering/RenderView.cpp:
292         (WebCore::RenderView::absoluteRects):
293         * rendering/RenderView.h:
294
295 2007-07-13  Mitz Pettel  <mitz@webkit.org>
296
297         Reviewed by Hyatt.
298
299         - fix http://bugs.webkit.org/show_bug.cgi?id=13438 <rdar://problem/5153030>
300               Run rounding makes word-break:break-all/word not functional
301
302         Test: fast/text/word-break-run-rounding.html
303
304         * rendering/RenderText.cpp:
305         (WebCore::RenderText::calcPrefWidths): Update the maximum width only on word
306         boundaries to avoid rounding errors.
307         * rendering/bidi.cpp:
308         (WebCore::RenderBlock::findNextLineBreak): Integrated breakAll with the
309         midWordBreak/wrapW mechanism. Also made the wrapW upper bound more accurate
310         by resetting it when tmpW is committed.
311
312 2007-07-13  Sam Weinig  <sam@webkit.org>
313
314         Reviewed by Geoff Garen.
315
316         Patch for <rdar://problem/5318394>
317         http site can read/write content of https site in same domain
318
319         Add protocol and port checks in isSafeScript.
320
321         * bindings/js/kjs_window.cpp:
322         (KJS::Window::isSafeScript):
323
324 2007-07-13  Anders Carlsson  <andersca@apple.com>
325
326         Reviewed by Mitz Pettel.
327
328         <rdar://problem/5298870> 
329         REGRESSION: In Yahoo Mail modal dialog, OK and Cancel buttons do not work, and descriptive text is missing (14327)
330         
331         http://bugs.webkit.org/show_bug.cgi?id=14327
332         REGRESSION (r21367): dialogArguments not set in window generated by showModalDialog
333
334         When creating popup windows/dialogs, prevent the window properties from being cleared by the initial frame load.
335         
336         * loader/FrameLoader.cpp:
337         (WebCore::FrameLoader::FrameLoader):
338         (WebCore::FrameLoader::createWindow):
339         (WebCore::FrameLoader::clear):
340         (WebCore::FrameLoader::begin):
341         (WebCore::FrameLoader::open):
342         * loader/FrameLoader.h:
343         (WebCore::FrameLoader::setShouldClearWindowProperties):
344         * manual-tests/modal-dialog-arguments.html: Added.
345
346 2007-07-13  Steve Falkenburg  <sfalken@apple.com>
347
348         Update ResourceError related code to account for changes in CF interfaces.
349
350         Reviewed by Darin, Ada.
351
352         * platform/network/ResourceError.h: Change Mac conditionals to CF to share more code.
353         * platform/network/cf/ResourceErrorCF.cpp:
354         (WebCore::ResourceError::ResourceError): Modified based on CFErrorRef changes
355         (WebCore::ResourceError::unpackPlatformError): Ported from ResourceErrorMac.mm.
356         (WebCore::ResourceError::operator CFErrorRef): Ported from ResourceErrorMac.mm.
357         (WebCore::ResourceError::operator CFStreamError): Modified based on CFErrorRef changes.
358
359 2007-07-13  Antti Koivisto  <antti@apple.com>
360
361         Reviewed by Adele.
362         
363         Fix <rdar://problem/5192256>
364         click() in onchange handler causes another change event (causes hang at http://forums.whirlpool.net.au/)
365         
366         Guard against generating a simulated event from within a simulated event in the same node. Try to
367         match Firefox behavior.
368
369         * dom/EventTargetNode.cpp:
370         (WebCore::EventTargetNode::dispatchSimulatedMouseEvent):
371         (WebCore::EventTargetNode::dispatchSimulatedClick):
372         * dom/Node.cpp:
373         (WebCore::Node::Node):
374         * dom/Node.h:
375
376 2007-07-13  Antti Koivisto  <antti@apple.com>
377
378         Reviewed by Darin.
379         
380         Fix <rdar://problem/5333387>
381         Combination of selection and click() on checkbox crashes
382         
383         Ensure there is no pending style update before doing synchronous paint. Under certain
384         circumstances this ends up doing style recalc in middle of paint() which may
385         for example tear down the rendering tree being painted, with bad results.
386
387         * dom/ContainerNode.cpp:
388         (WebCore::ContainerNode::setActive):
389
390 2007-07-13  Antti Koivisto  <antti@apple.com>
391
392         Reviewed by Adele.
393         
394         Fix <rdar://problem/5333365>
395         Calling click() is very slow
396         
397         There is a 100ms delay in ContainerNode::setActive() to do an activation effect. It is used for
398         simulated mouse activations (using keyboard for example). However, it shouldn't be done when calling from javascript 
399         (through click() interface) since it hangs script execution.
400
401         * html/HTMLElement.cpp:
402         (WebCore::HTMLElement::click):
403
404 2007-07-13  Mitz Pettel  <mitz@webkit.org>
405
406         Reviewed by Dave Hyatt.
407
408         - fix http://bugs.webkit.org/show_bug.cgi?id=13873
409           Incomplete repaint of replaced element's box shadow
410
411         Tests: fast/repaint/box-shadow-h.html
412                fast/repaint/box-shadow-v.html
413
414         * rendering/RenderHTMLCanvas.cpp:
415         (WebCore::RenderHTMLCanvas::layout): Added a call to adjustOverflowForBoxShadow().
416         * rendering/RenderImage.cpp:
417         (WebCore::RenderImage::layout): Ditto.
418         * rendering/RenderPartObject.cpp:
419         (WebCore::RenderPartObject::layout): Ditto.
420         * rendering/RenderReplaced.cpp:
421         (WebCore::RenderReplaced::RenderReplaced): Initialize m_hasOverflow.
422         (WebCore::RenderReplaced::~RenderReplaced): Added. Removes this object from the
423         overflow rect map if it has overflow.
424         (WebCore::RenderReplaced::shouldPaint): Account for overflow.
425         (WebCore::RenderReplaced::adjustOverflowForBoxShadow): Added. Creates or
426         removes an entry for this object in the global overflow rect map.
427         (WebCore::RenderReplaced::overflowHeight): Added.
428         (WebCore::RenderReplaced::overflowWidth): Added.
429         (WebCore::RenderReplaced::overflowLeft): Added.
430         (WebCore::RenderReplaced::overflowTop): Added.
431         (WebCore::RenderReplaced::overflowRect): Added.
432         * rendering/RenderReplaced.h:
433
434 2007-07-13  Mitz Pettel  <mitz@webkit.org>
435
436         Reviewed by Dave Hyatt.
437
438         - fix http://bugs.webkit.org/show_bug.cgi?id=14395
439           When a <p> is inside <li> two <BR>s are rendered
440
441         Test: fast/lists/marker-before-empty-inline.html
442
443         * rendering/RenderBlock.h:
444         * rendering/RenderListItem.cpp:
445         (WebCore::getParentOfFirstLineBox): Changed to skip empty inline flows that
446         do not actually generate any line boxes. Limited the nested lists quirk to
447         the case where the list is a child of the list item, to match Firefox.
448         * rendering/bidi.cpp:
449         (WebCore::requiresLineBox): Added. Factored out of skipWhitespace.
450         (WebCore::RenderBlock::generatesLineBoxesForInlineChild): Added. Checkes
451         whether the child or any of its siblings following it will generate a line
452         box in the flow.
453         (WebCore::RenderBlock::skipWhitespace):
454
455 2007-07-13  Holger Hans Peter Freyther  <zecke@selfish.org>
456
457         Reviewed by Alexey.
458
459         Move HTTP methods to parse Content-Type from xmlhttprequest.cpp
460         which is LGPL to HTTPParsers.cpp. As both files were written by the
461         same author and the advice to move them came from him I think this move
462         is what is meant to be done.
463
464         Move filenameFromHTTPContentDisposition to HTTPParsers as well. This parse
465         function uses Vector<String>::split and doesn't honor quoting. This needs
466         to be fixed in later versions.
467
468         http://bugs.webkit.org/show_bug.cgi?id=5954 and http://bugs.webkit.org/show_bug.cgi?id=14059
469         benefit from this change.
470
471         * platform/network/HTTPParsers.cpp:
472         (WebCore::filenameFromHTTPContentDisposition):
473         (WebCore::extractMIMETypeFromMediaType):
474         (WebCore::extractCharsetFromMediaType):
475         * platform/network/HTTPParsers.h:
476         * platform/network/cf/ResourceResponseCFNet.cpp:
477         * xml/xmlhttprequest.cpp:
478         (WebCore::XMLHttpRequest::responseMIMEType):
479         (WebCore::XMLHttpRequest::didReceiveResponse):
480
481 2007-07-13  Mark Rowe  <mrowe@apple.com>
482
483         Reviewed by Mitz.
484
485         Build fix.  Stub out ChromeClientGdk::print and SVGEmptyChromeClient::print.
486
487         * platform/gdk/ChromeClientGdk.h:
488         * platform/gdk/TemporaryLinkStubs.cpp:
489         (ChromeClientGdk::print):
490         * platform/graphics/svg/SVGImageEmptyClients.h:
491         (WebCore::SVGEmptyChromeClient::print):
492
493 2007-07-12  Alice Liu  <alice.liu@apple.com>
494
495         Reviewed by Maciej and Steve.
496
497         fixed <rdar://4982432> window.print() needs to be implemented
498
499         * bridge/win/FrameWin.cpp:
500         (WebCore::Frame::print):
501         * page/Chrome.cpp:
502         (WebCore::Chrome::print):
503         * page/Chrome.h:
504         * page/ChromeClient.h:
505         * platform/win/TemporaryLinkStubs.cpp:
506
507 2007-07-11  Justin Garcia  <justin.garcia@apple.com>
508
509         Reviewed by Harrison.
510         
511         <rdar://problem/5300379> Mail hung on option-delete
512         
513         We were starting backward iteration at [container, 0] and
514         emitting for container over and over.
515
516         * editing/TextIterator.cpp:
517         (WebCore::SimplifiedBackwardsTextIterator::advance): Don't 
518         emit characters for a node if we're starting iteration at 
519         [container, 0].  Don't emit characters for exiting containers
520         if we've already done so.
521
522 2007-07-12  Kevin Decker  <kdecker@apple.com>
523
524         Reviewed by Mark Rowe.
525
526         <rdar://problem/5039463> find a good gray that works well for full frame plug-ins; consistent look for plugins
527
528         * loader/PluginDocument.cpp:
529         (WebCore::PluginTokenizer::createDocumentStructure): Changed values to a darker gray, per request from the HI team.
530
531 2007-07-11  Sam Weinig  <sam@webkit.org>
532
533         Reviewed by Maciej.
534
535         Patch for <rdar://problem/5329841>
536         Calling window.closed on a closed window causes Safari to crash
537
538         - Replaces the Frame member variable in KJS::Window for more appropriate DOMWindow
539         - Adds additional new null checks as necessary
540         - Removes bogus toBoolean method
541         - Removes unused scheduleClose method
542
543         Test: fast/dom/Window/window-closed-crash.html
544
545         * bindings/js/JSCustomXPathNSResolver.cpp:
546         (WebCore::JSCustomXPathNSResolver::create):
547         * bindings/js/JSDOMWindowCustom.cpp:
548         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
549         (WebCore::JSDOMWindow::customPut):
550         * bindings/js/JSXMLHttpRequest.cpp:
551         (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
552         * bindings/js/kjs_events.cpp:
553         (WebCore::JSAbstractEventListener::handleEvent):
554         (WebCore::JSLazyEventListener::parseCode):
555         * bindings/js/kjs_window.cpp:
556         (KJS::Window::Window):
557         (KJS::Window::impl):
558         (KJS::Window::interpreter):
559         (KJS::Window::location):
560         (KJS::Window::find):
561         (KJS::allowPopUp):
562         (KJS::createWindow):
563         (KJS::canShowModalDialog):
564         (KJS::canShowModalDialogNow):
565         (KJS::showModalDialog):
566         (KJS::Window::getValueProperty):
567         (KJS::Window::childFrameGetter):
568         (KJS::Window::indexGetter):
569         (KJS::Window::namedItemGetter):
570         (KJS::Window::getOwnPropertySlot):
571         (KJS::Window::put):
572         (KJS::Window::isSafeScript):
573         (KJS::Window::setListener):
574         (KJS::Window::getListener):
575         (KJS::Window::clear):
576         (KJS::WindowFunc::callAsFunction):
577         (KJS::Window::updateLayout):
578         (KJS::ScheduledAction::execute):
579         (KJS::Window::disconnectFrame):
580         (KJS::Location::put):
581         (KJS::LocationFunc::callAsFunction):
582         * bindings/js/kjs_window.h:
583         * page/mac/WebCoreFrameBridge.mm:
584         (updateRenderingForBindings):
585
586 2007-07-12  Mark Rowe  <mrowe@apple.com>
587
588         Reviewed by Ada.
589
590         <rdar://problem/5329877> REGRESSION: Document::setTransformSource leaks an xmlDocPtr if called more than once per document
591
592         * dom/Document.cpp:
593         (WebCore::Document::setTransformSource): Free any existing m_transformSource before overwriting it, rather than simply leaking it.
594         * dom/Document.h:
595
596 2007-07-12  Holger Hans Peter Freyther  <zecke@selfish.org>
597
598         Reviewed by Mark Rowe.
599
600         Fix compilation of the CURL backend after the removing of accessors from ResourceHandle in r24202
601
602         * platform/network/curl/ResourceHandleManager.cpp:
603         (WebCore::ResourceHandleManager::setupPOST):
604         (WebCore::ResourceHandleManager::startJob):
605
606 2007-07-12  Mark Rowe  <mrowe@apple.com>
607
608         Reviewed by Darin.
609
610         <rdar://problem/5327189> Logic error in DeprecatedString::to{,U}Int{,64} can lead to reading past end of buffer
611
612         The fix for reading past the end of the buffer is to verify we are not at the end of the string before checking
613         for a leading '+' character.  Rather than fixing the logic error in four nearly-identical functions I chose to
614         extract the common functionality into the toIntegralType helper function which the four functions call through to.
615
616         * platform/DeprecatedString.cpp:
617         (WebCore::isCharacterAllowedInBase):
618         (WebCore::toIntegralType):
619         (WebCore::DeprecatedString::toInt):
620         (WebCore::DeprecatedString::toInt64):
621         (WebCore::DeprecatedString::toUInt):
622         (WebCore::DeprecatedString::toUInt64):
623
624 2007-07-12  George Staikos  <staikos@kde.org>
625
626         Reviewed by Alexey.
627
628         Remove unused variables and fix rendering of comoboxes.
629
630         * platform/graphics/qt/ImageQt.cpp:
631         (WebCore::BitmapImage::draw):
632         * platform/qt/RenderThemeQt.cpp:
633         (WebCore::RenderThemeQt::paintMenuList):
634
635 2007-07-11  Oliver Hunt  <oliver@apple.com>
636
637         Reviewed by Maciej
638
639         Fix for <rdar://problem/5329712> GMail crash when trying to compose new message
640
641         * platform/win/FontDataWin.cpp:
642         (WebCore::FontData::containsCharacters):
643
644 2007-07-11  Alexey Proskuryakov  <ap@webkit.org>
645
646         Reviewed by Darin.
647
648         http://bugs.webkit.org/show_bug.cgi?id=14584
649         XMLHttpRequest treats null login/password incorrectly
650
651         Test: http/tests/xmlhttprequest/null-auth.php
652
653         * xml/xmlhttprequest.cpp:
654         (WebCore::XMLHttpRequest::open):
655         * xml/xmlhttprequest.h:
656         Split the open() method into three to distinguish between missing and null credentials.
657
658         * bindings/js/JSXMLHttpRequest.cpp:
659         (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction): Call the appropriate open().
660
661 2007-07-11  Oliver Hunt  <oliver@apple.com>
662
663         Build fix for windows
664
665         * page/Frame.cpp:
666         (WebCore::Frame::firstRectForRange):
667
668 2007-07-11  Oliver Hunt  <oliver@apple.com>
669
670         Reviewed by Maciej.
671
672         Fix <rdar://problem/5329481> Character range rect code for IME support needs to be crossplatform
673
674         Move -[WebCoreFrameBridge firstRectForDOMRange:] to Frame::firstRectForRange
675
676         * page/Frame.cpp:
677         (WebCore::Frame::firstRectForRange):
678         * page/Frame.h:
679         * page/mac/WebCoreFrameBridge.mm:
680         (-[WebCoreFrameBridge firstRectForDOMRange:]):
681
682 2007-07-11  Steve Falkenburg  <sfalken@apple.com>
683
684         Static analysis build fix.
685         
686         Only specify /analyze (PREfast) if it is available.
687         Prevents entire project from rebuilding each time.        
688
689         Reviewed by Hyatt.
690
691         * WebCore.vcproj/WebCore.vcproj:
692
693 2007-07-11  George Staikos  <staikos@kde.org>
694
695         Reviewed by Olliej.
696
697         Make comboboxes update when the current item is changed.
698
699         * platform/qt/PopupMenuQt.cpp:
700         (WebCore::PopupMenu::updateFromElement):
701         * platform/qt/QWebPopup.cpp:
702         (WebCore::QWebPopup::activeChanged):
703
704 2007-07-11  George Staikos  <staikos@kde.org>
705
706         Reviewed by Brady.
707
708         Add a destructor to cleanup the SQL handle.
709
710         * loader/icon/SQLDatabase.h:
711         (WebCore::SQLDatabase::~SQLDatabase):
712
713 2007-07-11  Holger Hans Peter Freyther  <zecke@selfish.org>
714
715         Reviewed by Darin.
716
717         As of http://bugs.webkit.org/show_bug.cgi?id=14527 move the
718         WebCore/ForwardingHeader/JavaScriptCore to JavaScriptCore
719
720         * ForwardingHeaders/JavaScriptCore: Removed.
721         * ForwardingHeaders/JavaScriptCore/APICast.h: Removed.
722         * ForwardingHeaders/JavaScriptCore/JSBase.h: Removed.
723         * ForwardingHeaders/JavaScriptCore/JSContextRef.h: Removed.
724         * ForwardingHeaders/JavaScriptCore/JSLock.h: Removed.
725         * ForwardingHeaders/JavaScriptCore/JSObjectRef.h: Removed.
726         * ForwardingHeaders/JavaScriptCore/JSStringRef.h: Removed.
727         * ForwardingHeaders/JavaScriptCore/JSStringRefCF.h: Removed.
728         * ForwardingHeaders/JavaScriptCore/JSValueRef.h: Removed.
729         * ForwardingHeaders/JavaScriptCore/JavaScriptCore.h: Removed.
730
731 2007-07-11  Anders Carlsson  <andersca@apple.com>
732
733         Fix build.
734         
735         * platform/network/cf/ResourceHandleCFNet.cpp:
736         (WebCore::willSendRequest):
737         (WebCore::didReceiveResponse):
738         (WebCore::didReceiveData):
739         (WebCore::didFinishLoading):
740         (WebCore::didFail):
741         (WebCore::didReceiveChallenge):
742
743 2007-07-11  George Staikos  <staikos@kde.org>
744
745         Repair the build.
746
747         * platform/network/qt/ResourceHandleQt.cpp:
748         (WebCore::ResourceHandle::start):
749
750 2007-07-11  Adele Peterson  <adele@apple.com>
751
752         Reviewed by Darin.
753
754         Fix for <rdar://problem/5230188> REGRESSION: Active/inactive marked text is not distinguished in textfields and textareas
755
756         We were previously trying to leave room for 1px of space between the text and the underline.
757         This change removes that requirement so that if we don't have room for the extra space, we still draw the thick underline
758         touching the text.
759
760         * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintMarkedTextUnderline):
761
762 2007-07-11  Anders Carlsson  <andersca@apple.com>
763
764         Reviewed by Darin and Geoff.
765
766         <rdar://problem/5313508>
767         REGRESSION (Leopard): http/tests/xmlhttprequest/basic-auth.html hangs
768         
769         Leopard Foundation now ignores credentials passed in as part of the URL so we need to pass them ourselves.
770         
771         For the asynchronous case, we simply keep track of the URL and if it has a user name and password, we
772         pass those if we're asked to authenticate.
773                 
774         For the synchronous case, implement a new connection delegate and run it in a separate mode so 
775         no other sources will fire.
776
777         * platform/network/mac/ResourceHandleMac.mm:
778         (WebCore::ResourceHandle::loadResourceSynchronously):
779         (-[WebCoreResourceHandleAsDelegate dealloc]):
780         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
781         (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
782         (-[WebCoreSynchronousLoader _isDone]):
783         (-[WebCoreSynchronousLoader dealloc]):
784         (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]):
785         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]):
786         (-[WebCoreSynchronousLoader connection:didReceiveResponse:]):
787         (-[WebCoreSynchronousLoader connection:didReceiveData:]):
788         (-[WebCoreSynchronousLoader connectionDidFinishLoading:]):
789         (-[WebCoreSynchronousLoader connection:didFailWithError:]):
790         (-[WebCoreSynchronousLoader _data]):
791         (-[WebCoreSynchronousLoader _response]):
792         (-[WebCoreSynchronousLoader _error]):
793         (+[WebCoreSynchronousLoader loadRequest:returningResponse:error:]):
794
795 2007-07-11  Darin Adler  <darin@apple.com>
796
797         Reviewed by Sam Weinig.
798
799         - fix <rdar://problem/5315265> REGRESSION: Leopard launch time -
800           there are about 190 stats of icudt36b files during launch
801
802         * platform/TextEncodingRegistry.cpp: (WebCore::atomicCanonicalTextEncodingName):
803         Add a special case for the empty string so we don't load the extended text
804         encodings just so we can return 0 for that case.
805
806 2007-07-11  Anders Carlsson  <andersca@apple.com>
807
808         Reviewed by Darin.
809
810         Remove a bunch of unneeded accessors from ResourceHandle.
811         
812         * loader/icon/IconLoader.cpp:
813         (WebCore::IconLoader::didReceiveResponse):
814         (WebCore::IconLoader::didFail):
815         (WebCore::IconLoader::didFinishLoading):
816         * platform/network/ResourceHandle.cpp:
817         * platform/network/ResourceHandle.h:
818
819 2007-07-09  Justin Garcia  <justin.garcia@apple.com>
820
821         Reviewed by Darin.
822         
823         <rdar://problem/5234383> REGRESSION: Sentence breaker method returning entire document length
824         
825         The functions for moving the caret to the next/previous sentence boundary
826         were in many cases moving to the beginning/end of the document.  The functions that 
827         should move the caret to an equivalent position in the next/previous sentence behaved
828         like the aforementioned functions ought to.  Put the code from the second two functions
829         in the first and made sure that the second two are properly FIXMEd.  They're rarely 
830         used (filed 5323691).
831         
832         * editing/SelectionController.cpp:
833         (WebCore::SelectionController::modify): Added an option for sentenceBoundary granularity,
834         so that we can test the functions that were broken from JS.
835         * editing/visible_units.cpp:
836         (WebCore::startOfSentence): Removed the FIXME about 5234383.
837         (WebCore::endSentenceBoundary): Make this function do what nextSentencePositionBoundary
838         current does.
839         (WebCore::endOfSentence): Removed the FIXME about 5234383.
840         (WebCore::previousSentencePosition): Removed an incorrect FIXME.
841         (WebCore::nextSentencePositionBoundary): Tweaked FIXME.  This function is
842         identical, not close to endSentenceBoundary.
843         (WebCore::nextSentencePosition): Removed an incorrect FIXME.
844
845 2007-07-11  Rob Buis  <buis@kde.org>
846
847         Reviewed by Darin.
848
849         http://bugs.webkit.org/show_bug.cgi?id=14453
850         REGRESSION: www.nzherald.co.nz almost all the formating is gone
851  
852         Be less strict for the hex color definition.
853
854         * css/CSSGrammar.y:
855         * css/cssparser.cpp:
856         (WebCore::CSSParser::lex):
857         (WebCore::CSSParser::text):
858         * css/tokenizer.flex:
859
860 2007-07-11  Rob Buis  <buis@kde.org>
861
862         Reviewed by Oliver.
863
864         Forgot to commit this as part of commit r24146. Now we are sure
865         createElement creates elements in the xhtml namespace only.
866
867         * ksvg2/svg/SVGDocument.cpp:
868         * ksvg2/svg/SVGDocument.h:
869
870 2007-07-10  Sam Weinig  <sam@webkit.org>
871
872         Reviewed by Oliver.
873
874         Move more attributes from the pure JS bindings in KJS::Window
875         to the implementation in DOMWindow and autogenerate the new bindings
876
877         Test: fast/dom/Window/get-set-properties.html
878
879         * bindings/js/JSDOMWindowCustom.cpp:
880         (WebCore::JSDOMWindow::customGetOwnPropertySlot): Change to use propHashTable in
881         JSDOMWindow instead of KJS::Window
882         * bindings/js/kjs_window.cpp:
883         (KJS::Window::getValueProperty):
884         (KJS::Window::put):
885         * bindings/js/kjs_window.h:
886         (KJS::Window::):
887         * bindings/scripts/CodeGeneratorJS.pm: Cleanup getValueProperty and put generation
888         to reduce code duplication. 
889         * page/DOMWindow.cpp:
890         (WebCore::DOMWindow::closed):
891         (WebCore::DOMWindow::length):
892         (WebCore::DOMWindow::name):
893         (WebCore::DOMWindow::setName):
894         (WebCore::DOMWindow::status):
895         (WebCore::DOMWindow::setStatus):
896         (WebCore::DOMWindow::defaultStatus):
897         (WebCore::DOMWindow::setDefaultStatus):
898         * page/DOMWindow.h:
899         (WebCore::DOMWindow::defaultstatus):
900         (WebCore::DOMWindow::setDefaultstatus):
901         * page/DOMWindow.idl:
902
903 2007-07-10  Sam Weinig  <sam@webkit.org>
904
905         Reviewed by Geoff.
906
907         Fix for <rdar://problem/5326791> XSS vulnerability: ability to set window.defaultStatus,
908         window.defaultstatus and window.status cross domains
909
910         Test: http/tests/security/cross-frame-access-put.html
911
912         * bindings/js/kjs_window.cpp:
913         (KJS::Window::put): Adds isSafeScript check for defaultStatus,
914         defaultstatus and status cases.
915
916 2007-07-10  Sam Weinig  <sam@webkit.org>
917
918         Fix build for BuildBot.
919
920         * page/DOMWindow.cpp:
921         (WebCore::DOMWindow::outerHeight):
922         (WebCore::DOMWindow::outerWidth):
923         (WebCore::DOMWindow::screenX):
924         (WebCore::DOMWindow::screenY):
925
926 2007-07-10  Brady Eidson  <beidson@apple.com>
927
928         Reviewed by Sam
929
930         <rdar://problem/5326653> - REGRESSION: [WebBackForwardList forwardListCount] might return incorrect result
931
932         No layout test because this is an API issue that can't be tested in DRT or the browser
933
934         * history/BackForwardList.cpp:
935         (WebCore::BackForwardList::forwardListCount): If the index is NoCurrentItemIndex, return 0
936
937 2007-07-10  Sam Weinig  <sam@webkit.org>
938
939         Reviewed by Darin.
940
941         Move more readonly attributes from pure JS bindings in KJS::Window
942         to the implementation in DOMWindow and autogenerate the new bindings.
943
944         * bindings/js/kjs_window.cpp:
945         (KJS::Window::getValueProperty):  Sort the hashmap comment into categories
946         to make further migration easier.
947         * bindings/js/kjs_window.h: Sort the enum into categories to make further
948         migration easier.
949         (KJS::Window::):
950         * page/DOMWindow.cpp: Add new methods.
951         (WebCore::DOMWindow::focus):
952         (WebCore::DOMWindow::blur):
953         (WebCore::DOMWindow::offscreenBuffering):
954         (WebCore::DOMWindow::outerHeight):
955         (WebCore::DOMWindow::outerWidth):
956         (WebCore::DOMWindow::innerHeight):
957         (WebCore::DOMWindow::innerWidth):
958         (WebCore::DOMWindow::screenX):
959         (WebCore::DOMWindow::screenY):
960         (WebCore::DOMWindow::scrollX):
961         (WebCore::DOMWindow::scrollY):
962         (WebCore::DOMWindow::getComputedStyle):
963         (WebCore::DOMWindow::getMatchedCSSRules): Add null Document assertion.
964         (WebCore::DOMWindow::devicePixelRatio): Add null Frame and Page checks.
965         * page/DOMWindow.h:
966         (WebCore::DOMWindow::screenLeft):
967         (WebCore::DOMWindow::screenTop):
968         (WebCore::DOMWindow::pageXOffset):
969         (WebCore::DOMWindow::pageYOffset):
970         * page/DOMWindow.idl:
971
972 2007-07-10  Oliver Hunt  <oliver@apple.com>
973
974         Reviewed by Maciej.
975
976         Fix for <rdar://problem/5326417> Editor::unmarkText needs to be crossplatform
977
978         Missed this in earlier patch to make text marking platform independent.
979
980         * editing/Editor.cpp:
981         (WebCore::Editor::unmarkText):
982            Add platform independent impl
983         * editing/mac/EditorMac.mm:
984            Remove the old mac path.
985
986 2007-07-10  Geoffrey Garen  <ggaren@apple.com>
987
988         Reviewed by Tim Hatcher.
989
990         Added a Page counter. This helped me while investigating 
991         <rdar://problem/5314463> 40MB of WebKit memory still allocated after 
992         closing large email in Mail
993
994         * WebCore.xcodeproj/project.pbxproj:
995         * page/Page.cpp:
996         (WebCore::):
997         (WebCore::PageCounter::~PageCounter):
998         (WebCore::Page::Page):
999         (WebCore::Page::~Page):
1000
1001 2007-07-10  Timothy Hatcher  <timothy@apple.com>
1002
1003         Reviewed by Geoff.
1004
1005         <rdar://problem/5326126> InspectorResource holds onto more data than it needs
1006
1007         Reduces the fixed size of InspectorResource from 630 bytes to 224 bytes. Now
1008         selectively pick out parts of the ResourceRequest and ResourceResponse objects
1009         for the info needed and store that directly in InspectorResource.
1010
1011         The ResourceRequest and ResourceResponse objects hold a reference to the original
1012         NSURL object, so almost double the data was being kept around. So the struct size
1013         reduction is just the tip of the ice burg on what this really saves.
1014
1015         In a test of 100,000 XMLHTTPRequests using a 85 byte long data URL, I see ~21 MB less
1016         RSIZE compared to Safari running without this change.
1017
1018         * page/InspectorController.cpp:
1019         (WebCore::InspectorResource::InspectorResource):
1020         (WebCore::InspectorResource::type):
1021         (WebCore::addSourceToFrame):
1022         (WebCore::scriptObjectForRequest):
1023         (WebCore::scriptObjectForResponse):
1024         (WebCore::InspectorController::addScriptResource):
1025         (WebCore::InspectorController::addAndUpdateScriptResource):
1026         (WebCore::updateResourceRequest):
1027         (WebCore::updateResourceResponse):
1028         (WebCore::InspectorController::updateScriptResourceRequest):
1029         (WebCore::InspectorController::updateScriptResourceResponse):
1030         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1031         (WebCore::InspectorController::identifierForInitialRequest):
1032         (WebCore::InspectorController::willSendRequest):
1033         (WebCore::InspectorController::didReceiveResponse):
1034         (WebCore::InspectorController::didFailLoading):
1035         * page/InspectorController.h:
1036
1037 2007-07-10  Darin Adler  <darin@apple.com>
1038
1039         Reviewed by Brady.
1040
1041         - fix crash introduced by my patch for 5318732, only seen in release builds
1042
1043         * page/Page.cpp: (WebCore::Page::~Page): Added a missing null check.
1044
1045 2007-07-10  Andrea Cavalli  <amc82@cam.ac.uk>
1046
1047         Reviewed by George Staikos.
1048
1049         Fixed render theme for text field.
1050
1051         * platform/qt/RenderThemeQt.cpp:
1052         (WebCore::RenderThemeQt::paintTextField):
1053
1054 2007-07-10  Qing Zhao  <qing@staikos.net>
1055
1056         Reviewed by George Staikos.
1057
1058         Draw focus rings for nodes that are not rendered by QStyle.
1059
1060         * platform/graphics/qt/GraphicsContextQt.cpp:
1061         (WebCore::focusRingColor):
1062         (WebCore::GraphicsContext::drawFocusRing):
1063         * platform/qt/RenderThemeQt.cpp:
1064         (WebCore::RenderThemeQt::supportsFocusRing):
1065         (WebCore::RenderThemeQt::supportsFocus):
1066
1067 2007-07-10  Nikolas Zimmermann  <zimmermann@kde.org>
1068
1069         Reviewed by Geoff.
1070
1071         Fix 'unsigned int' overflow in CodeGeneratorJS.pm.
1072         This fixes hashing of "SVG_FEBLEND_MODE_NORMAL". Its hashvalue exceeded 2^32, which
1073         is no problem in perl but in the cpp code. Emulate C/C++ behaviour by using "% 2^32" in
1074         the perl code. Testcase available in feature-branch soon (js-svg-constructors.svg).
1075
1076         * bindings/scripts/CodeGeneratorJS.pm:
1077
1078 2007-07-10  Geoffrey Garen  <ggaren@apple.com>
1079
1080         Reviewed by Maciej Stachowiak.
1081
1082         Disabled Arena recycling in RenderArena. PLT shows no regression 
1083         (possibly a small speedup), and this can reduce allocated memory in 
1084         WebKit clients by about 120K (4K per Arena * 30 Arenas).
1085         
1086         I happened upon this optimization while investigating 
1087         <rdar://problem/5314463> WebKit hangs on to 40MB RAM after closing 
1088         large email in Mail (appears to be render tree arena allocator), 
1089         although I don't think it will come close to fixing that bug 
1090         completely.
1091
1092         * rendering/RenderArena.cpp:
1093         (WebCore::RenderArena::~RenderArena): Use FinishArenaPool, which frees
1094         the ArenaPool's Arenas immediately.
1095
1096 2007-07-10  Mitz Pettel  <mitz@webkit.org>
1097
1098         Reviewed by Hyatt.
1099
1100         - fix http://bugs.webkit.org/show_bug.cgi?id=14449
1101           REGRESSION (r14345-r14375): Absolutely positioned image does not scale to containing element's height
1102
1103         Test: fast/replaced/absolute-position-percentage-height.html
1104
1105         * rendering/RenderBox.cpp:
1106         (WebCore::RenderBox::calcReplacedHeightUsing): For positioned elements, evaluate
1107         the percentage with respect to the container's final height.
1108
1109 2007-07-10  Brady Eidson  <beidson@apple.com>
1110
1111         Reviewed by Mark Rowe
1112
1113         Add 64-bit integer converters to our string classes for future work
1114
1115         * platform/DeprecatedString.cpp:
1116         (WebCore::DeprecatedString::toInt64):
1117         (WebCore::DeprecatedString::toUInt64):
1118         * platform/DeprecatedString.h:
1119
1120         * platform/PlatformString.h:
1121         * platform/String.cpp:
1122         (WebCore::String::toInt64):
1123         (WebCore::String::toUInt64):
1124
1125         * platform/StringImpl.cpp:
1126         (WebCore::StringImpl::toInt64):
1127         (WebCore::StringImpl::toUInt64):
1128         * platform/StringImpl.h:
1129
1130 2007-07-10  Darin Adler  <darin@apple.com>
1131
1132         Reviewed by Anders.
1133
1134         - fix <rdar://problem/5318732> REGRESSION: In Mail, a crash occurs when attempting to send
1135           a HTML based message (nytimes.com, washingtonpost.com, latimes.com)
1136
1137         Did an audit of calls to get the inspector and most other uses of Page* and added null
1138         checks since Frame* can outlast its Page*.
1139
1140         * loader/FrameLoader.cpp:
1141         (WebCore::FrameLoader::createWindow): Added null check.
1142         (WebCore::FrameLoader::loadSubframe): Ditto.
1143         (WebCore::FrameLoader::load): Ditto.
1144         (WebCore::FrameLoader::transitionToCommitted): Ditto.
1145         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto.
1146         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Ditto.
1147         (WebCore::FrameLoader::addExtraFieldsToRequest): Ditto.
1148         (WebCore::FrameLoader::loadResourceSynchronously): Ditto.
1149         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto.
1150         (WebCore::FrameLoader::requestFromDelegate): Ditto.
1151         (WebCore::FrameLoader::canGoBackOrForward): Ditto.
1152         (WebCore::FrameLoader::getHistoryLength): Ditto.
1153         (WebCore::FrameLoader::historyURL): Ditto.
1154         (WebCore::FrameLoader::cachePageForHistoryItem): Ditto.
1155         (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Ditto.
1156         (WebCore::FrameLoader::goToItem): Ditto.
1157         (WebCore::FrameLoader::dispatchWindowObjectAvailable): Ditto.
1158         (WebCore::FrameLoader::dispatchDidCommitLoad): Ditto.
1159         (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest): Ditto.
1160         (WebCore::FrameLoader::dispatchWillSendRequest): Ditto.
1161         (WebCore::FrameLoader::dispatchDidReceiveResponse): Ditto.
1162         (WebCore::FrameLoader::dispatchDidReceiveContentLength): Ditto.
1163         (WebCore::FrameLoader::dispatchDidFinishLoading): Ditto.
1164         (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Ditto.
1165
1166         * page/ContextMenuController.h:
1167         * page/ContextMenuController.cpp:
1168         (WebCore::ContextMenuController::ContextMenuController): Removed unneeded and
1169         unused Page* parameter.
1170         (WebCore::openNewWindow): Added null check.
1171         (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
1172
1173         * page/InspectorController.h:
1174         (WebCore::InspectorController::pageDestroyed): Added. Since this object is
1175         owned by the Page and has a back-pointer to it, it needs an explicit disconnect.
1176         There's already a higher-level one, but this is more reliable than that.
1177         * page/InspectorController.cpp:
1178         (WebCore::InspectorController::windowScriptObjectAvailable): Added null check.
1179         (WebCore::InspectorController::windowUnloading): Ditto.
1180
1181         * page/Page.cpp:
1182         (WebCore::Page::Page): Updated for change in parameters of ContextMenuController 
1183         constructor.
1184         (WebCore::Page::~Page): Added call to InspectorController pageDestroyed().
1185
1186         * page/Chrome.cpp: Updated includes.
1187         * page/DragController.cpp: Ditto.
1188
1189 2007-07-10  Adam Treat  <adam@staikos.net>
1190
1191         Reviewed by George Staikos.
1192
1193         Bring scroll wheel out of Ludicrous Speed.
1194
1195         * platform/qt/WheelEventQt.cpp:
1196         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1197
1198 2007-07-09  Geoffrey Garen  <ggaren@apple.com>
1199
1200         Reviewed by Maciej Stachowiak.
1201
1202         Fixed http://bugs.webkit.org/show_bug.cgi?id=13241 | <rdar://problem/5126396>
1203         onload fires before content is finished loading (woot.com)
1204         
1205         * dom/Document.cpp:
1206         (WebCore::Document::close): Try to go through the normal "Am I done loading?"
1207         machinery before dispatching the load event. As the comment indicates, 
1208         we can't do this in all cases, so the fix isn't perfect. However, a perfect 
1209         solution would require much riskier sweeping changes to the loader, which 
1210         are best left for later, I think.
1211
1212         * xml/XSLTProcessor.cpp:
1213         (WebCore::XSLTProcessor::createDocumentFromSource): Removed a slightly
1214         worse solution to the same problem.
1215
1216 2007-07-10  Rob Buis  <buis@kde.org>
1217
1218         Reviewed by Maciej.
1219
1220         http://bugs.webkit.org/show_bug.cgi?id=8007
1221         createElement() and XHTML (A dynamically created table not rendered as such)
1222
1223         Follow the HTML5 rules of making the name lowercase and then
1224         creating the element in the xhtml namespace.
1225
1226         * dom/Document.cpp:
1227         (WebCore::Document::createElement):
1228         * dom/Document.h:
1229         * html/HTMLDocument.cpp:
1230         * html/HTMLDocument.h:
1231
1232 2007-07-09  Qing Zhao  <qing@staikos.net>
1233
1234         Reviewed by George Staikos.
1235
1236         Add qt context menu support.
1237
1238         * WebCore.pro:
1239         * platform/ContextMenu.h:
1240         * platform/ContextMenuItem.h:
1241         (WebCore::PlatformMenuItemDescriptionType::PlatformMenuItemDescriptionType):
1242         * platform/qt/ContextMenuItemQt.cpp:
1243         (WebCore::ContextMenuItem::ContextMenuItem):
1244         (WebCore::ContextMenuItem::~ContextMenuItem):
1245         (WebCore::ContextMenuItem::releasePlatformDescription):
1246         (WebCore::ContextMenuItem::type):
1247         (WebCore::ContextMenuItem::setType):
1248         (WebCore::ContextMenuItem::action):
1249         (WebCore::ContextMenuItem::setAction):
1250         (WebCore::ContextMenuItem::title):
1251         (WebCore::ContextMenuItem::setTitle):
1252         (WebCore::ContextMenuItem::platformSubMenu):
1253         (WebCore::ContextMenuItem::setSubMenu):
1254         (WebCore::ContextMenuItem::setChecked):
1255         (WebCore::ContextMenuItem::setEnabled):
1256         (WebCore::ContextMenuItem::enabled):
1257         * platform/qt/ContextMenuQt.cpp:
1258         (WebCore::ContextMenu::ContextMenu):
1259         (WebCore::ContextMenu::~ContextMenu):
1260         (WebCore::ContextMenu::appendItem):
1261         (WebCore::ContextMenu::itemCount):
1262         (WebCore::ContextMenu::insertItem):
1263         (WebCore::ContextMenu::setPlatformDescription):
1264         (WebCore::ContextMenu::platformDescription):
1265
1266 2007-07-09  Anders Carlsson  <andersca@apple.com>
1267
1268         Build fix.
1269         
1270         * plugins/win/PluginViewWin.cpp:
1271         (WebCore::PluginViewWin::performRequest):
1272
1273 2007-07-09  Anders Carlsson  <andersca@apple.com>
1274
1275         Reviewed by Geoff.
1276
1277         Get rid of the node argument in our various script execution functions.
1278         
1279         * bindings/js/kjs_proxy.cpp:
1280         (WebCore::KJSProxy::evaluate):
1281         * bindings/js/kjs_proxy.h:
1282         * bindings/js/kjs_window.cpp:
1283         (KJS::ScheduledAction::execute):
1284         * dom/XMLTokenizer.cpp:
1285         (WebCore::XMLTokenizer::endElementNs):
1286         (WebCore::XMLTokenizer::notifyFinished):
1287         * html/HTMLScriptElement.cpp:
1288         (WebCore::HTMLScriptElement::evaluateScript):
1289         * html/HTMLTokenizer.cpp:
1290         (WebCore::HTMLTokenizer::scriptExecution):
1291         * loader/FrameLoader.cpp:
1292         (WebCore::FrameLoader::changeLocation):
1293         (WebCore::FrameLoader::urlSelected):
1294         (WebCore::FrameLoader::submitForm):
1295         (WebCore::FrameLoader::replaceContentsWithScriptResult):
1296         (WebCore::FrameLoader::executeScript):
1297         * loader/FrameLoader.h:
1298         * page/mac/WebCoreFrameBridge.mm:
1299         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1300         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
1301
1302 2007-07-09  Justin Garcia  <justin.garcia@apple.com>
1303
1304         Rolling the fix for 5290534 back in now that 5310404 has been fixed in Mail.
1305
1306         * editing/DeleteSelectionCommand.cpp:
1307         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1308
1309 2007-07-09  Geoffrey Garen  <ggaren@apple.com>
1310
1311         Reviewed by Anders Carlsson.
1312
1313         A little more FrameLoader cleanup while working on <rdar://problem/5126396>.
1314         
1315         Rename: "checkEmitLoadEvent" => "checkCallImplicitClose" because the function
1316         doesn't emit the load event; it just calls implicitClose.
1317         
1318         Rename: "m_wasLoadEventEmitted" => "m_didCallImplicitClose" because the variable
1319         tracks whether implicitClose was called.
1320
1321         * dom/Document.cpp:
1322         (WebCore::Document::implicitClose): Turned 12 lines of code into 6, adding ASSERT.
1323         * loader/FrameLoader.h: Removed bogus declaration of non-existent emitLoadEvent().
1324
1325 2007-07-09  Justin Garcia  <justin.garcia@apple.com>
1326
1327         Reviewed by John.
1328         
1329         REGRESSION: Crash when deleting table content in Leopard Mail
1330
1331         * editing/DeleteSelectionCommand.cpp:
1332         (WebCore::DeleteSelectionCommand::handleGeneralDelete): Use a RefPtr
1333         for the next node to delete, in case it is destroyed when the
1334         current node is deleted.  In the crash reported in the radar, we
1335         crash because the next node is the div that holds the delete button
1336         and it's destroyed when the node that contains the selection is removed.
1337
1338 2007-07-09  Adam Treat  <adam@staikos.net>
1339
1340         Reviewed by George Staikos.
1341
1342         Convert QWebFrame from a QFrame to a pure QObject to eliminate all
1343         traces of widgets.
1344
1345         * page/qt/EventHandlerQt.cpp:
1346         (WebCore::EventHandler::passSubframeEventToSubframe):
1347         * platform/ScrollView.h:
1348         * platform/Widget.h:
1349         * platform/qt/PlatformScrollBarQt.cpp:
1350         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
1351         (WebCore::PlatformScrollbar::handleMousePressEvent):
1352         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
1353         * platform/qt/PopupMenuQt.cpp:
1354         (WebCore::PopupMenu::show):
1355         * platform/qt/ScrollViewQt.cpp:
1356         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1357         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1358         (WebCore::ScrollView::ScrollViewPrivate::windowClipRect):
1359         (WebCore::ScrollView::updateContents):
1360         (WebCore::ScrollView::update):
1361         (WebCore::ScrollView::geometryChanged):
1362         (WebCore::ScrollView::windowToContents):
1363         (WebCore::ScrollView::contentsToWindow):
1364         (WebCore::ScrollView::convertChildToSelf):
1365         (WebCore::ScrollView::convertSelfToChild):
1366         (WebCore::ScrollView::scrollbarUnderMouse):
1367         (WebCore::ScrollView::addChild):
1368         (WebCore::ScrollView::paint):
1369         * platform/qt/WidgetQt.cpp:
1370         (WebCore::WidgetPrivate::WidgetPrivate):
1371         (WebCore::WidgetPrivate::~WidgetPrivate):
1372         (WebCore::WidgetPrivate::setGeometry):
1373         (WebCore::WidgetPrivate::geometry):
1374         (WebCore::Widget::frameGeometry):
1375         (WebCore::Widget::setFocus):
1376         (WebCore::Widget::setCursor):
1377         (WebCore::Widget::show):
1378         (WebCore::Widget::hide):
1379         (WebCore::Widget::qwebframe):
1380         (WebCore::Widget::setQWebFrame):
1381         (WebCore::Widget::qwidget):
1382         (WebCore::Widget::setQWidget):
1383         (WebCore::Widget::setFrameGeometry):
1384         (WebCore::Widget::isEnabled):
1385         (WebCore::Widget::setEnabled):
1386         (WebCore::Widget::setIsSelected):
1387         (WebCore::Widget::invalidate):
1388         (WebCore::Widget::invalidateRect):
1389         (WebCore::Widget::removeFromParent):
1390         (WebCore::Widget::geometryChanged):
1391         (WebCore::Widget::convertToContainingWindow):
1392         (WebCore::Widget::convertFromContainingWindow):
1393         (WebCore::Widget::convertChildToSelf):
1394         (WebCore::Widget::convertSelfToChild):
1395         (WebCore::Widget::containingWindow):
1396
1397 2007-07-09  Anders Carlsson  <andersca@apple.com>
1398
1399         Reviewed by Oliver.
1400
1401         Add DocumentLoader::isLoadingMainResource.
1402
1403         * WebCore.exp:
1404
1405 2007-07-09  John Sullivan  <sullivan@apple.com>
1406
1407         Reviewed by Darin
1408
1409         * WebCore.exp:
1410         * WebCore.xcodeproj/project.pbxproj:
1411         exported String::createCFString, needed for <rdar://problem/5320208>
1412
1413 2007-07-09  Mitz Pettel  <mitz@webkit.org>
1414
1415         Reviewed by Maciej.
1416
1417         Test case for the bug below, which is http://bugs.webkit.org/show_bug.cgi?id=14207
1418
1419         * manual-tests/flash-unload-tab.html: Added.
1420
1421 2007-07-09  Maciej Stachowiak  <mjs@apple.com>
1422
1423         Reviewed by Oliver.
1424
1425         <rdar://problem/5295734> Repro crash closing tab/window @ maps.google.com in
1426         WTF::HashSet<KJS::RuntimeObjectImp*, WTF::PtrHash<KJS::RuntimeObjectImp*>,
1427         WTF::HashTraits<KJS::RuntimeObjectImp*> >::add + 11
1428         
1429         Automated test case is not possible. Did not bother with manual test this time.
1430
1431         * bindings/js/kjs_dom.cpp:
1432         (WebCore::getRuntimeObject): Check that runtime root isn't null, as well as instance;
1433         this should cover the case where the plugin is already shut down and onunload time.
1434
1435 2007-07-08  Maciej Stachowiak  <mjs@apple.com>
1436
1437         Reviewed by Sam.
1438
1439         - fixed <rdar://problem/5220706> REGRESSION (TOT): repro crash in -[WebView(WebViewInternal) _addObject:forIdentifier:] [14425]
1440         http://bugs.webkit.org/show_bug.cgi?id=14425
1441
1442         * bindings/js/kjs_window.cpp:
1443         (KJS::createWindow): No longer take an immediate argument - always do immediate loads
1444         on a newly created Window. Also, do a load of "" to make sure that the right info makes
1445         it to the app.
1446         (KJS::showModalDialog): Updated for above.
1447         (KJS::WindowFunc::callAsFunction): Updated for above.
1448         * dom/Document.cpp:
1449         (WebCore::Document::shouldBeAllowedToLoadLocalResources): If our URL is about:blank,
1450         we're allowed if our opener is (since the opener must have written the contents).
1451         * loader/FrameLoader.cpp:
1452         (WebCore::FrameLoader::changeLocation): Add a variant which takes a KURL, which it
1453         expects to be pre-completed. This is to avoid completing "" to the opener URL.
1454         (WebCore::FrameLoader::urlSelected): Allow loading empty URLs.
1455         * loader/FrameLoader.h:
1456         
1457         Test case is manual only, since it takes particular app behavior to reproduce:
1458         
1459         * manual-tests/new-window-subresource-crash.html: Added.
1460
1461 2007-07-08  Mitz Pettel  <mitz@webkit.org>
1462
1463         Reviewed by Maciej.
1464
1465         - fix leaks introduced in r24099
1466
1467         * dom/Element.cpp:
1468         (WebCore::Element::~Element): Do not delete the cached computed style here.
1469         (WebCore::Element::detach): Delete the computed style here instead.
1470         (WebCore::Element::computedStyle): Removed a redundant ref() which was
1471         causing the leak. Changed to return 0 if the element is not attached,
1472         because in that case there is currently no way to tell when to delete the computed
1473         style.
1474
1475 2007-07-08  Mitz Pettel  <mitz@webkit.org>
1476
1477         Reviewed by Darin.
1478
1479         - fix http://bugs.webkit.org/show_bug.cgi?id=12384
1480           getComputedStyle with td.style.display='none' reports '' for all properties except display
1481
1482         Test: fast/css/computed-style-without-renderer.html
1483
1484         Implement rich computed style for elements that do not have a renderer.
1485
1486         * css/CSSComputedStyleDeclaration.cpp:
1487         (WebCore::getPositionOffsetValue): Changed to take a RenderStyle instead of
1488         a RenderObject.
1489         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed to
1490         use the computed style returned by the node instead of going through the
1491         renderer. Changed properties that compute by measuring the renderer to
1492         fall back on returning the length from the RenderStyle if a renderer does
1493         not exist.
1494         (WebCore::CSSComputedStyleDeclaration::length): Changed to return the number
1495         of properties we can compute even if the element has no renderer.
1496         (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties): Changed
1497         to use the computed style returned by the node instead of going through the
1498         renderer.
1499         * dom/Element.cpp:
1500         (WebCore::ElementRareData::ElementRareData): Added a computed style member,
1501         used to cache computed style for elements that do not have a renderer.
1502         (WebCore::ElementRareData::resetComputedStyle): Added.
1503         (WebCore::Element::~Element): Delete the cached computed style.
1504         (WebCore::Element::recalcStyle): Added code to delete the cached computed
1505         style when necessary.
1506         (WebCore::Element::computedStyle): Added. Returns the style used in rendering
1507         the element, if available. Otherwise uses the style selector to compute style
1508         for the element.
1509         * dom/Element.h:
1510         * dom/Node.cpp:
1511         (WebCore::Node::computedStyle): Added. This method returns either the style
1512         used in rendering the node, or the style that would be used if the node
1513         had a renderer.
1514         * dom/Node.h:
1515
1516 2007-07-08  Mitz Pettel  <mitz@webkit.org>
1517
1518         Reviewed by Darin.
1519
1520         - fix http://bugs.webkit.org/show_bug.cgi?id=14544
1521           Scroll wheel events are ignored when the cursor is over an iframe's border
1522
1523         * page/mac/EventHandlerMac.mm:
1524         (WebCore::EventHandler::passWheelEventToWidget): Changed to return false if
1525         the event coordinates are not inside the widget's NSView hierarchy.
1526
1527 2007-07-08  Rob Buis  <buis@kde.org>
1528
1529         Reviewed by Mitz.
1530
1531         http://bugs.webkit.org/show_bug.cgi?id=10752
1532         The inspector should not respond to Make Text Smaller/Bigger commands
1533
1534         Use the -webkit-text-size-adjust property to ignore text sizing        
1535         and do not take the zoom factor into account for line height when
1536         -webkit-text-size-adjust is set to none.
1537
1538         * css/cssstyleselector.cpp:
1539         (WebCore::CSSStyleSelector::applyProperty):
1540         * page/inspector/inspector.css:
1541
1542 2007-07-08  Darin Adler  <darin@apple.com>
1543
1544         Reviewed by Maciej.
1545
1546         - fix <rdar://problem/5318994> Integer overflow in WebCore's Base64.cpp:base64Encode
1547
1548         * platform/Base64.cpp:
1549         (WebCore::base64Encode): Check against a maximum size.
1550         (WebCore::base64Decode): Ditto.
1551
1552 2007-07-08  Darin Adler  <darin@apple.com>
1553
1554         Reviewed by Maciej.
1555
1556         - fix <rdar://problem/5124665> WebCore secondary-thread assertion should use linked-on-or-after check instead of building on Tiger check
1557
1558         * platform/ThreadCheck.h: Renamed _WebCoreThreadViolationCheck to reportThreadViolation
1559         since it's in the WebCore namespace and also we shouldn't use leading underscores since
1560         those are reserved for the compiler and standard library. Added a new function named
1561         setDefaultThreadViolationBehavior and an enum for the parameter. Removed the
1562         threadViolationIsException parameter from WebCoreReportThreadViolation since we use
1563         a global variable for it now. Got rid of the unnecessary use of do while (0) in the
1564         WebCoreThreadViolationCheck macro -- since it's only a single function call it's already
1565         a statement and doesn't need to be turned into one with the do while (0) trick.
1566
1567         * platform/mac/ThreadCheck.mm:
1568         (WebCore::readThreadViolationBehaviorFromUserDefaults): Moved the code to read from
1569         NSUserDefaults into this helper function. Changed it to use stringForKey instead of
1570         objectForKey so we don't get a "method not found" if someone puts something other than
1571         a string in there. Updated to use the new globals.
1572         (WebCore::setDefaultThreadViolationBehavior): Added.
1573         (WebCore::reportThreadViolation): Simplified, now that most of the work is in the
1574         readThreadViolationBehaviorFromUserDefaults function.
1575         (WebCoreReportThreadViolation): Changed to use a global variable instead of parameter
1576         to determine how to report a violation. Added LogOnFirstThreadViolation, which will
1577         log only once for each function that violates.
1578
1579         * WebCore.exp: Updated for above changes.
1580
1581 2007-07-08  Mitz Pettel  <mitz@webkit.org>
1582
1583         Reviewed by Darin.
1584
1585         - fix http://bugs.webkit.org/show_bug.cgi?id=14221
1586           Repro crash (ASSERTION FAILED: oldText in RenderBlock::updateFirstLetter() during relayout of :before content with first-letter style)
1587
1588         Test: fast/css-generated-content/before-with-first-letter.html
1589
1590         * rendering/RenderContainer.cpp:
1591         (WebCore::RenderContainer::updateBeforeAfterContentForContainer): If a child
1592         of the existing 'before' container is not text, do not assume that it is an
1593         image, since it can also be an inline wrapping a first-letter. In that case,
1594         do not update its style (so in particular, keep it a FIRST_LETTER type style)
1595         and leave it to updateFirstLetter() to take care of.
1596
1597 2007-07-07  Sam Weinig  <sam@webkit.org>
1598
1599         Reviewed by Oliver Hunt.
1600
1601         Bailout early in Window::put() if attribute is readonly to avoid
1602         extra calls to isSafeScript().
1603
1604         * bindings/js/kjs_window.cpp:
1605         (KJS::Window::put):
1606
1607 2007-07-07  Darin Adler  <darin@apple.com>
1608
1609         Reviewed by Oliver Hunt.
1610
1611         - fix <rdar://problem/5292364> REGRESSION: ZX Spectrum 3.0 widget - graphic anomalies in widget window frame
1612
1613         Updated Dashboard quirk so it affects fill, stroke, and clip, rather than just stroke.
1614
1615         Test: fast/canvas/fill-stroke-clip-reset-path.html
1616
1617         * html/CanvasRenderingContext2D.h: Added clearPathForDashboardBackwardCompatibilityMode.
1618         * html/CanvasRenderingContext2D.cpp:
1619         (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode): Added.
1620         (WebCore::CanvasRenderingContext2D::fill): Call the new function.
1621         (WebCore::CanvasRenderingContext2D::stroke): Replaced in-line code with a call to the new function.
1622         (WebCore::CanvasRenderingContext2D::clip): Call the new function.
1623
1624 2007-07-07  Rob Buis  <buis@kde.org>
1625
1626         Reviewed and tweaked by Darin.
1627
1628         http://bugs.webkit.org/show_bug.cgi?id=8994
1629         Canvas doesn't reset on resize
1630
1631         Also reset the rendering context when resetting the canvas.
1632
1633         * html/HTMLCanvasElement.cpp:
1634         (WebCore::HTMLCanvasElement::reset):
1635         (WebCore::HTMLCanvasElement::drawingContext):
1636
1637 2007-07-07  Alexey Proskuryakov  <ap@webkit.org>
1638
1639         Reviewed by Maciej.
1640
1641         http://bugs.webkit.org/show_bug.cgi?id=14525
1642         Support exslt:node-set()
1643
1644         Test: fast/xsl/exslt-node-set.xml
1645
1646         * xml/XSLTExtensions.cpp: Added.
1647         (WebCore::exsltNodeSetFunction): A copy of exslt:node-set() implementation
1648         from libexslt 1.1.11 (shipped with Tiger).
1649         (WebCore::registerXSLTExtensions): This function registers any WebCore-provided
1650         extensions on a context. Currently, the only extension is exslt:node-set().
1651         * xml/XSLTExtensions.h: Added.
1652
1653         * xml/XSLTProcessor.cpp:
1654         (WebCore::XSLTProcessor::transformToString):
1655         Register extensions when creating a context.
1656
1657         * WebCore.pro:
1658         * WebCore.vcproj/WebCore.vcproj:
1659         * WebCore.xcodeproj/project.pbxproj:
1660         * WebCoreSources.bkl:
1661         Add XSLTExtensions.{h,cpp} to projects.
1662
1663 2007-07-06  Maciej Stachowiak  <mjs@apple.com>
1664
1665         Reviewed by Oliver.
1666
1667         - fixed <rdar://problem/5133420> ASSERT in WebDocumentLoaderMac::decreaseLoadCount() un-discarding Gmail message
1668         
1669         test case: fast/loader/early-load-cancel.html
1670
1671         * loader/ResourceLoader.cpp:
1672         (WebCore::ResourceLoader::didCancel): Don't send cancel-related client callbacks
1673         if we never even sent willSendRequest because we were deferred.
1674
1675 2007-07-06  Oliver Hunt  <oliver@apple.com>
1676
1677         Reviewed by Maciej.
1678
1679         Pulled a number of methods from WebKit and WebCoreFrameBridge into 
1680         C++ objects.
1681
1682         * WebCore.exp:
1683         * WebCore.xcodeproj/project.pbxproj:
1684         * editing/Editor.cpp:
1685         (WebCore::Editor::replaceMarkedText):
1686             From -[WebCoreFrameBridge replaceMarkedTextWithText:]
1687         * editing/Editor.h:
1688         * page/Frame.cpp:
1689         (WebCore::Frame::setMarkedTextRange):
1690             Pulled platform independent logic from Mac specific implementation
1691         (WebCore::Frame::selectRangeInMarkedText):
1692             Converted from -[WebHTMLView _selectRangeInMarkedText:]
1693         * page/Frame.h:
1694         * page/mac/FrameMac.mm:
1695         (WebCore::Frame::setMarkedTextRange):
1696             Now only does Mac specific logic when manipulating initial
1697             NSAttributedString
1698         * page/mac/WebCoreFrameBridge.h:
1699         * page/mac/WebCoreFrameBridge.mm:
1700             Removed -[WebCoreFrameBridge replaceMarkedTextWithText:]
1701
1702 2007-07-06  Mitz Pettel  <mitz@webkit.org>
1703
1704         Reviewed by Darin.
1705
1706         - fix http://bugs.webkit.org/show_bug.cgi?id=14545
1707           REGRESSION (r21854-r21869): Repro crash in RenderBlock::updateFirstLetter @ nola.com/rose/
1708
1709         Test: fast/css/first-letter-capitalized.html
1710
1711         * rendering/RenderBlock.cpp:
1712         (WebCore::RenderBlock::updateFirstLetter): Moved the call to setFirstLetter
1713         further down so that the first letter is not destroyed if a text transform
1714         is applied to the remaining text fragment when it is add to the render tree.
1715         * rendering/RenderText.cpp:
1716         (WebCore::RenderText::previousCharacter): Factored out of setTextInternal.
1717         (WebCore::RenderText::setTextInternal): Changed to call previousCharacter().
1718         * rendering/RenderText.h:
1719         * rendering/RenderTextFragment.cpp:
1720         (WebCore::RenderTextFragment::previousCharacter): Override to return the
1721         character in the original string before the start of the fragment. 
1722         * rendering/RenderTextFragment.h:
1723
1724 2007-07-06  Mitz Pettel  <mitz@webkit.org>
1725
1726         Reviewed by Beth.
1727
1728         - fix http://bugs.webkit.org/show_bug.cgi?id=14536
1729           Unnecessary layout done when mousing down in text field
1730
1731         No test possible because there is no change in functionality.
1732
1733         * rendering/RenderTextControl.cpp:
1734         (WebCore::RenderTextControl::setStyle): Reset the height and the width in
1735         the old style to avoid getting a layout hint as a result of having mutated
1736         the old style during layout.
1737         (WebCore::RenderTextControl::layout): Update children's layout if an inner
1738         block's dimensions should change. This need for layout was previously masked
1739         by the bug.
1740
1741 2007-07-06  Brady Eidson  <beidson@apple.com>
1742
1743         Fix builds that use IconDatabaseNone.cpp - better, this time
1744
1745         * loader/icon/IconDatabaseNone.cpp:
1746         (WebCore::IconDatabase::isOpen):
1747
1748 2007-07-06  Brady Eidson  <beidson@apple.com>
1749
1750         Fix builds that use IconDatabaseNone.cpp
1751
1752         * loader/icon/IconDatabaseNone.cpp:
1753         (WebCore::IconDatabase::databasePath): 
1754
1755 2007-07-06  John Sullivan  <sullivan@apple.com>
1756
1757         Reviewed by Brady
1758         
1759         - WebCore part of fix for: 
1760           <rdar://problem/5310739> Time Machine shouldn't back up WebKit's icon database files
1761         
1762         * loader/icon/IconDatabase.h:
1763         * loader/icon/IconDatabase.cpp:
1764         (WebCore::IconDatabase::isOpen): 
1765         made this method const (necessary to make IconDatabase::databasePath const)
1766         (WebCore::IconDatabase::databasePath): 
1767         new method, returns SQLDatabase's path if open, otherwise empty string
1768         
1769         * loader/icon/SQLDatabase.cpp:
1770         (WebCore::SQLDatabase::open):
1771         don't append a null character to the m_path ivar. The appended null character was making the path()
1772         method return a String with a trailing null, which is bad. However, there were no callers to the
1773         path() method until now. Instead of appending a null character to the ivar, use charactersWithNullTermination()
1774         instead of characters() when opening the database.
1775         
1776         * loader/icon/SQLDatabase.h:
1777         (WebCore::SQLDatabase::isOpen):
1778         made this method const (necessary to make IconDatabase::databasePath const)
1779         (WebCore::SQLDatabase::path):
1780         made this method const (not required for these changes, but seemed worth doing at the same time)
1781
1782         * WebCore.exp:
1783         added symbol for IconDatabase::databasePath
1784
1785 2007-07-06  George Staikos  <staikos@kde.org>
1786
1787         No real functional change - just move the localizations out and
1788         stick some placeholder text in.
1789
1790         * platform/qt/Localizations.cpp: Added.
1791         (WebCore::submitButtonDefaultLabel):
1792         (WebCore::inputElementAltText):
1793         (WebCore::resetButtonDefaultLabel):
1794         (WebCore::defaultLanguage):
1795         (WebCore::searchableIndexIntroduction):
1796         (WebCore::fileButtonChooseFileLabel):
1797         (WebCore::fileButtonNoFileSelectedLabel):
1798         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
1799         (WebCore::contextMenuItemTagDownloadLinkToDisk):
1800         (WebCore::contextMenuItemTagCopyLinkToClipboard):
1801         (WebCore::contextMenuItemTagOpenImageInNewWindow):
1802         (WebCore::contextMenuItemTagDownloadImageToDisk):
1803         (WebCore::contextMenuItemTagCopyImageToClipboard):
1804         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
1805         (WebCore::contextMenuItemTagCopy):
1806         (WebCore::contextMenuItemTagGoBack):
1807         (WebCore::contextMenuItemTagGoForward):
1808         (WebCore::contextMenuItemTagStop):
1809         (WebCore::contextMenuItemTagReload):
1810         (WebCore::contextMenuItemTagCut):
1811         (WebCore::contextMenuItemTagPaste):
1812         (WebCore::contextMenuItemTagNoGuessesFound):
1813         (WebCore::contextMenuItemTagIgnoreSpelling):
1814         (WebCore::contextMenuItemTagLearnSpelling):
1815         (WebCore::contextMenuItemTagSearchWeb):
1816         (WebCore::contextMenuItemTagLookUpInDictionary):
1817         (WebCore::contextMenuItemTagOpenLink):
1818         (WebCore::contextMenuItemTagIgnoreGrammar):
1819         (WebCore::contextMenuItemTagSpellingMenu):
1820         (WebCore::contextMenuItemTagShowSpellingPanel):
1821         (WebCore::contextMenuItemTagCheckSpelling):
1822         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
1823         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
1824         (WebCore::contextMenuItemTagFontMenu):
1825         (WebCore::contextMenuItemTagBold):
1826         (WebCore::contextMenuItemTagItalic):
1827         (WebCore::contextMenuItemTagUnderline):
1828         (WebCore::contextMenuItemTagOutline):
1829         (WebCore::contextMenuItemTagWritingDirectionMenu):
1830         (WebCore::contextMenuItemTagDefaultDirection):
1831         (WebCore::contextMenuItemTagLeftToRight):
1832         (WebCore::contextMenuItemTagRightToLeft):
1833         (WebCore::contextMenuItemTagInspectElement):
1834         (WebCore::searchMenuNoRecentSearchesText):
1835         (WebCore::searchMenuRecentSearchesText):
1836         (WebCore::searchMenuClearRecentSearchesText):
1837         (WebCore::AXWebAreaText):
1838         (WebCore::AXLinkText):
1839         (WebCore::AXListMarkerText):
1840         (WebCore::AXImageMapText):
1841         (WebCore::AXHeadingText):
1842         * platform/qt/TemporaryLinkStubs.cpp:
1843
1844 2007-07-06  Geoffrey Garen  <ggaren@apple.com>
1845
1846         Reviewed by Anders Carlsson.
1847
1848         A little more FrameLoader cleanup while working on <rdar://problem/5126396>.
1849         
1850         Moved url() and URL() methods next to each other to highlight their subtlety.
1851
1852         * loader/FrameLoader.cpp:
1853         (WebCore::FrameLoader::url):
1854         * loader/FrameLoader.h:
1855
1856 2007-07-06  Geoffrey Garen  <ggaren@apple.com>
1857
1858         Reviewed by Anders Carlsson.
1859
1860         A little FrameLoader cleanup while working on <rdar://problem/5126396>.
1861         
1862         Renamed endIfNotLoading() to endIfNotLoadingMainResource() because "loading"
1863         and "loadingMainResource" have distinct meanings and this function
1864         honors the latter.
1865
1866         (WebCore::FrameLoader::endIfNotLoadingMainResource): Protect after the
1867         early return to avoid ref count churn.
1868         * loader/FrameLoader.h:
1869         (WebCore::FrameLoader::isLoadingMainResource): Inlined this function.
1870
1871 2007-07-06  Adam Treat  <adam@staikos.net>
1872
1873         Reviewed by George Staikos.
1874
1875         Convert QWebFrame to a QFrame from a scroll area.
1876
1877         * page/qt/EventHandlerQt.cpp:
1878         (WebCore::EventHandler::passSubframeEventToSubframe):
1879         (WebCore::EventHandler::passWheelEventToWidget):
1880         (WebCore::EventHandler::createDraggingClipboard):
1881         (WebCore::EventHandler::passMousePressEventToScrollbar):
1882         * platform/ScrollView.h:
1883         * platform/Widget.h:
1884         * platform/qt/PlatformScrollBar.h:
1885         * platform/qt/PlatformScrollBarQt.cpp:
1886         (WebCore::PlatformScrollbar::setRect):
1887         (WebCore::PlatformScrollbar::frameGeometry):
1888         (WebCore::PlatformScrollbar::setFrameGeometry):
1889         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
1890         (WebCore::PlatformScrollbar::handleMousePressEvent):
1891         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
1892         * platform/qt/ScrollViewQt.cpp:
1893         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1894         (WebCore::ScrollView::ScrollViewPrivate::~ScrollViewPrivate):
1895         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
1896         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
1897         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
1898         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1899         (WebCore::ScrollView::ScrollViewPrivate::windowClipRect):
1900         (WebCore::ScrollView::ScrollView):
1901         (WebCore::ScrollView::~ScrollView):
1902         (WebCore::ScrollView::setScrollArea):
1903         (WebCore::ScrollView::horizontalScrollBar):
1904         (WebCore::ScrollView::verticalScrollBar):
1905         (WebCore::ScrollView::updateContents):
1906         (WebCore::ScrollView::update):
1907         (WebCore::ScrollView::visibleWidth):
1908         (WebCore::ScrollView::visibleHeight):
1909         (WebCore::ScrollView::visibleContentRect):
1910         (WebCore::ScrollView::setContentsPos):
1911         (WebCore::ScrollView::resizeContents):
1912         (WebCore::ScrollView::setFrameGeometry):
1913         (WebCore::ScrollView::geometryChanged):
1914         (WebCore::ScrollView::contentsX):
1915         (WebCore::ScrollView::contentsY):
1916         (WebCore::ScrollView::contentsWidth):
1917         (WebCore::ScrollView::contentsHeight):
1918         (WebCore::ScrollView::windowToContents):
1919         (WebCore::ScrollView::contentsToWindow):
1920         (WebCore::ScrollView::scrollOffset):
1921         (WebCore::ScrollView::maximumScroll):
1922         (WebCore::ScrollView::scrollBy):
1923         (WebCore::ScrollView::scrollRectIntoViewRecursively):
1924         (WebCore::ScrollView::hScrollbarMode):
1925         (WebCore::ScrollView::vScrollbarMode):
1926         (WebCore::ScrollView::suppressScrollbars):
1927         (WebCore::ScrollView::setHScrollbarMode):
1928         (WebCore::ScrollView::setVScrollbarMode):
1929         (WebCore::ScrollView::setScrollbarsMode):
1930         (WebCore::ScrollView::setStaticBackground):
1931         (WebCore::ScrollView::inWindow):
1932         (WebCore::ScrollView::updateScrollbars):
1933         (WebCore::ScrollView::scrollbarUnderMouse):
1934         (WebCore::ScrollView::addChild):
1935         (WebCore::ScrollView::removeChild):
1936         (WebCore::ScrollView::paint):
1937         (WebCore::ScrollView::wheelEvent):
1938         (WebCore::ScrollView::scroll):
1939         (WebCore::ScrollView::windowResizerRect):
1940         (WebCore::ScrollView::resizerOverlapsContent):
1941         (WebCore::ScrollView::adjustOverlappingScrollbarCount):
1942         (WebCore::ScrollView::setParent):
1943         (WebCore::ScrollView::addToDirtyRegion):
1944         (WebCore::ScrollView::scrollBackingStore):
1945         (WebCore::ScrollView::updateBackingStore):
1946         * platform/qt/WidgetQt.cpp:
1947         (WebCore::WidgetPrivate::canvas):
1948         (WebCore::WidgetPrivate::setGeometry):
1949         (WebCore::WidgetPrivate::geometry):
1950         (WebCore::Widget::setQWidget):
1951         (WebCore::Widget::paint):
1952         (WebCore::Widget::originalGeometry):
1953         (WebCore::Widget::geometryChanged):
1954
1955 2007-07-06  Anders Carlsson  <andersca@apple.com>
1956
1957         Reviewed by Mitz.
1958
1959         <rdar://problem/5280532> 
1960         REGRESSION: Can't access nested embed by document.name if object is not immediate parent
1961         
1962         Traverse up the tree looking for an object element.
1963         
1964         * html/HTMLEmbedElement.cpp:
1965         (WebCore::HTMLEmbedElement::getInstance):
1966
1967 2007-07-06  George Staikos  <staikos@kde.org>
1968
1969         Qt build fix: Don't clobber qmake variables that are already set.
1970
1971         * WebCore.pro:
1972
1973 2007-07-05  Maciej Stachowiak  <mjs@apple.com>
1974
1975         Reviewed by Antti.
1976
1977         - <rdar://problem/5311093> JavaScriptCore fails to build with strict-aliasing warnings
1978
1979         * platform/StringHash.h:
1980         (WTF::): Adapt to newer way to do storage types.
1981
1982 2007-07-06  Bernhard Rosenkraenzer  <bero@arklinux.org>
1983
1984         Reviewed by Sam.
1985
1986         Fix for http://bugs.webkit.org/show_bug.cgi?id=13985
1987         Bug 13985: WebCore/rendering/RenderTable.cpp fails to compile with gcc 4.2.x
1988
1989         * rendering/RenderTable.cpp:
1990         (WebKit::RenderTable::calcBorderLeft)
1991         (WebKit::RenderTable::calcBorderRight)
1992
1993 2007-07-06  Maxime Britto  <mbritto@pleyo.com>
1994
1995         Reviewed by Maciej.
1996
1997         Fix http://bugs.webkit.org/show_bug.cgi?id=13038
1998         Bug 13038: ASSERTION FAILED: item->target().isEmpty() || m_mainFrame->tree()->find(item->target()) == m_mainFrame
1999
2000         Modify an ASSERT in goToItem related to going back/forward in history.  We don't need to check the frameset if the target is _blank.
2001         The attached test case is a manual one since it relies on having pages opened in tabs in Safari.
2002
2003         * manual-tests/goBack-blank-tab-page.html: Added.
2004         * manual-tests/resources/before-go-back.html: Added.
2005         * manual-tests/resources/will-go-back.html: Added.
2006         * page/Page.cpp:
2007         (WebCore::Page::goToItem):
2008
2009 2007-07-06  Mitz Pettel  <mitz@webkit.org>
2010
2011         Reviewed by Maciej.
2012
2013         - fix http://bugs.webkit.org/show_bug.cgi?id=14400
2014           Assertion failure (SHOULD NEVER BE REACHED) going back on YouTube
2015
2016         Test: fast/forms/button-state-restore.html
2017
2018         * dom/Document.h:
2019         (WebCore::Document::isFormElementRegistered): Added.
2020         * html/HTMLGenericFormElement.cpp:
2021         (WebCore::HTMLGenericFormElement::closeRenderer): Restore saved form
2022         element state only if the element is registered with the document to
2023         have its state saved.
2024
2025 2007-07-06  Mitz Pettel  <mitz@webkit.org>
2026
2027         Reviewed by Maciej.
2028
2029         - fix http://bugs.webkit.org/show_bug.cgi?id=14487
2030           Incomplete repaint of background and border of boxes with -webkit-border-fit:lines
2031
2032         Test: fast/repaint/border-fit-lines.html
2033
2034         * rendering/RenderObject.cpp:
2035         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Do a full repaint if
2036         -webkit-border-fit:lines was specified.
2037
2038 2007-07-06  Tony Chang  <idealisms@gmail.com>
2039
2040         Reviewed by Maciej.
2041
2042         http://bugs.webkit.org/show_bug.cgi?id=14516
2043         Bug 14516: crash loading multipart/x-mixed-replace data on windows safari
2044
2045         NULL check m_resourceData to prevent a crash in Safari on Windows.
2046
2047         * loader/ResourceLoader.cpp:
2048         (WebCore::ResourceLoader::clearResourceData):
2049
2050 2007-07-06  Jungshik Shin  <jungshik.shin@gmail.com>
2051
2052         Reviewed by Alexey.
2053
2054         - Add UTF-32 encoding support 
2055           http://bugs.webkit.org/show_bug.cgi?id=13415
2056
2057         Test:
2058          - fast/encoding/utf-32-big-endian-bom.html
2059          - fast/encoding/utf-32-big-endian-nobom.xml
2060          - fast/encoding/utf-32-little-endian-bom.html
2061          - fast/encoding/utf-32-little-endian-nobom.xml
2062
2063         * loader/TextResourceDecoder.cpp:
2064         (WebCore::TextResourceDecoder::checkForBOM):
2065         (WebCore::TextResourceDecoder::checkForHeadCharset):
2066         * platform/TextDecoder.cpp:
2067         (WebCore::TextDecoder::checkForBOM):
2068         * platform/TextDecoder.h:
2069         * platform/TextEncoding.cpp:
2070         (WebCore::UTF32BigEndianEncoding):
2071         (WebCore::UTF32LittleEndianEncoding):
2072         * platform/TextEncoding.h:
2073
2074 2007-07-06  Holger Hans Peter Freyther  <zecke@selfish.org>
2075
2076         Reviewed by Maciej.
2077
2078         Start implementening RenderThemeGdk/Gtk using GtkStyle. The approach is
2079         to allocate one native control for each widget type. And use margins, spacing,
2080         style properties from the Widget. And for drawing use GtkStyle on the rect supplied.
2081
2082         This should allow nice integration and be relative resource friendly. Mozilla is using
2083         a similiar approach. They seem to share the GdkPixmap among several operations and this
2084         will be an obvious candidate for improvements. Create a normally big enough GdkPixmap and
2085         use that for drawing and then set clip regions for cairo to make sure to not go beyond the
2086         width and height.
2087
2088         The next steps will be to introduce states for the widgets, add more widgets, handle focus,
2089         and various other style attributes, honor the size and margin and use that to propagate this
2090         back to RenderStyle*.
2091
2092         * platform/gdk/RenderThemeGdk.cpp:
2093         (WebCore::RenderThemeGdk::RenderThemeGdk):
2094         (WebCore::RenderThemeGdk::setCheckboxSize):
2095         (WebCore::RenderThemeGdk::paintCheckbox):
2096         (WebCore::RenderThemeGdk::setRadioSize):
2097         (WebCore::RenderThemeGdk::paintRadio):
2098         (WebCore::RenderThemeGdk::paintButton):
2099         (WebCore::RenderThemeGdk::copyToContext):
2100         (WebCore::RenderThemeGdk::gtkButton):
2101         (WebCore::RenderThemeGdk::gtkCheckbox):
2102         (WebCore::RenderThemeGdk::gtkRadioButton):
2103         (WebCore::RenderThemeGdk::gtkWindowContainer):
2104         * platform/gdk/RenderThemeGdk.h:
2105
2106 2007-07-06  Rob Buis  <buis@kde.org>
2107
2108         Reviewed by Adam.
2109
2110         http://bugs.webkit.org/show_bug.cgi?id=14442
2111         Adding a stop with value 1.0 to a gradient that has already been used has no effect
2112
2113         Implement start and end stop handling differently so they are not
2114         in the color stop array.
2115
2116         * html/CanvasGradient.cpp:
2117         (WebCore::compareStops):
2118         (WebCore::CanvasGradient::getColor):
2119         (WebCore::CanvasGradient::findStop):
2120
2121 2007-07-06  Adam Roben  <aroben@apple.com>
2122
2123         Fix <rdar://problem/5301994> Garbled text still showing on some sites
2124
2125         Replace calls to GetGlyphIndices with wkGetGlyphs.
2126
2127         Reviewed by Alice.
2128
2129         * platform/win/GlyphPageTreeNodeWin.cpp:
2130         (WebCore::GlyphPage::fill): Use wkGetGlyphs.
2131         * platform/win/FontDataWin.cpp:
2132         (WebCore::FontData::containsCharacters):
2133
2134 2007-07-06  Matt Lilek  <pewtermoose@gmail.com>
2135
2136         Not reviewed - Windows build fix.
2137
2138         * bridge/win/FrameWin.cpp:
2139         (WebCore::imageFromSelection):
2140
2141 2007-07-06  George Staikos  <staikos@kde.org>
2142
2143         Reviewed by Maciej.
2144
2145         Switch USE(ICONDATABASE) to ENABLE(ICONDATABASE) and activate the
2146         flag via the .pro file
2147
2148         * WebCore.pro:
2149         * loader/icon/IconDatabase.h:
2150
2151 2007-07-05  John Sullivan  <sullivan@apple.com>
2152
2153         Reviewed by Adam
2154
2155         - WebCore part of fix for <rdar://problem/5315033>
2156
2157         * rendering/RenderObject.h:
2158         replaced PaintRestrictionSelectionOnlyWhiteText with PaintRestrictionSelectionOnlyBlackText
2159         (WebCore::RenderObject::PaintInfo::PaintInfo):
2160         replaced forceWhiteText with forceBlackText
2161
2162         * rendering/RenderObject.cpp:
2163         (WebCore::RenderObject::addLineBoxRects):
2164         added a useSelectionHeight parameter, which defaults to false; this method is unimplemented
2165         at this level so this has no effect.
2166
2167         * rendering/RenderText.h:
2168         * rendering/RenderText.cpp:
2169         (WebCore::RenderText::addLineBoxRects):
2170         added a useSelectionHeight parameter, which defaults to false. If true, use the vertical position
2171         and height returned by selectionRect rather than replacing it with the more tight-fitting position
2172         and height of the line box.
2173
2174         * dom/Range.h:
2175         * dom/Range.cpp:
2176         (WebCore::Range::addLineBoxRects):
2177         added a useSelectionHeight parameter, which defaults to false. Passes this along to RenderObject.        
2178
2179         * page/Frame.h:
2180         renamed parameter to selectionImage
2181         * page/Frame.cpp:
2182         (WebCore::Frame::selectionTextRects):
2183         pass true for addLineBoxRects new useSelectionHeight parameter, so the rects returned by this new
2184         method will match the height that the selection would be painted here
2185         (WebCore::Frame::paint):
2186         updated for white->black name changes
2187         
2188         * page/mac/FrameMac.mm:
2189         (WebCore::Frame::selectionImage):
2190         updated for white->black name changes
2191         
2192         * rendering/InlineFlowBox.cpp:
2193         (WebCore::InlineFlowBox::paintTextDecorations):
2194         updated for white->black name changes
2195
2196         * rendering/RenderLayer.cpp:
2197         (WebCore::RenderLayer::paintLayer):
2198         updated for white->black name changes
2199
2200         * rendering/InlineTextBox.cpp:
2201         (WebCore::InlineTextBox::paint):
2202         updated for white->black name changes, and actually use black instead of white. This was the goal
2203         of all the name changes.
2204
2205 2007-07-05  Anders Carlsson  <andersca@apple.com>
2206
2207         Reviewed by Oliver.
2208
2209         Fix layout test failures.
2210         
2211         * loader/FrameLoader.cpp:
2212         (WebCore::FrameLoader::commitProvisionalLoad):
2213         Don't make a representation if we're creating the initial document.
2214
2215 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
2216
2217         Fix Bug 14388: Input in text fields limited to 1024 characters
2218         http://bugs.webkit.org/show_bug.cgi?id=14388
2219
2220         Slightly modified by Adam Roben.
2221
2222         Reviewed by Adele.
2223
2224         Tests: fast/forms/input-implicit-length-limit.html
2225                fast/forms/input-maxlength.html
2226
2227         * html/HTMLInputElement.cpp: Bump limit to 524288.
2228         (WebCore::HTMLInputElement::init):
2229         (WebCore::HTMLInputElement::parseMappedAttribute):
2230         * html/HTMLInputElement.h:
2231
2232 2007-07-05  Anders Carlsson  <andersca@apple.com>
2233
2234         Build fix.
2235         
2236         * loader/FrameLoader.cpp:
2237         (WebCore::FrameLoader::init):
2238
2239 2007-07-05  Sam Weinig  <sam@webkit.org>
2240
2241         Reviewed by Geoff.
2242
2243         Add focus, blur and close functions to DOMWindow implementation class
2244         and move bindings from Window to JSDOMWindow.
2245
2246         * bindings/js/JSDOMWindowCustom.cpp:
2247         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2248         * bindings/js/kjs_window.cpp:
2249         (KJS::Window::getOwnPropertySlot):
2250         (KJS::WindowFunc::callAsFunction):
2251         * bindings/js/kjs_window.h:
2252         (KJS::Window::):
2253         * bindings/scripts/CodeGeneratorJS.pm: Move prototype function declaration from
2254         the implementation to the header.
2255         * page/DOMWindow.cpp:
2256         (WebCore::DOMWindow::focus):
2257         (WebCore::DOMWindow::blur):
2258         (WebCore::DOMWindow::close):
2259         * page/DOMWindow.h:
2260         * page/DOMWindow.idl:
2261
2262 2007-07-05  Justin Garcia  <justin.garcia@apple.com>
2263
2264         Reviewed by Harrison.
2265
2266         <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
2267
2268         * editing/TextIterator.cpp:
2269         (WebCore::TextIterator::exitNode): Previously emitted content shouldn't have
2270         to come from a text node in order to emit a '\n' as we exit block containers.
2271
2272 2007-07-05  Anders Carlsson  <andersca@apple.com>
2273
2274         Reviewed by Geoff.
2275
2276         <rdar://problem/5315284> REGRESSION: Leopard Launch Time - plugins are being accessed at startup.
2277
2278         Set a response that has a MIME type of "text/html" on the document loader so WebKit won't refresh the 
2279         plugin database looking for a plug-in that can handle the document's MIME type (which will be null anyway).
2280                  
2281         * loader/FrameLoader.cpp:
2282         (WebCore::FrameLoader::init):
2283
2284 2007-07-05  Anders Carlsson  <andersca@apple.com>
2285
2286         Reviewed by Oliver.
2287
2288         <rdar://problem/5106788>
2289         WebKit loads user style sheets too late as seen in Mail (breaks DataDetectors; Mail flashes wrong font)
2290
2291         Let the document know when the user style sheet is loading so that it try not to display anything
2292         until the user style sheet has finished loading.
2293         
2294         * page/Frame.cpp:
2295         (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
2296         (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader):
2297         (WebCore::UserStyleSheetLoader::setCSSStyleSheet):
2298         (WebCore::Frame::setUserStyleSheetLocation):
2299
2300 2007-07-05  Sam Weinig  <sam@webkit.org>
2301
2302         Reviewed by Darin.
2303
2304         Move JSDOMWindow overriding getOwnPropertySlot logic from KJS::Window
2305         up into JSDOMWindow.  No change in functionality so no testcase required. 
2306
2307         * bindings/js/JSDOMWindowCustom.cpp:
2308         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2309         * bindings/js/kjs_window.cpp:
2310         (KJS::Window::getOwnPropertySlot):
2311         * bindings/js/kjs_window.h:
2312
2313 2007-07-05  Mitz Pettel  <mitz@webkit.org>
2314
2315         Reviewed and Landed by Sam.
2316
2317         - fix bug 14465 for window.showModalDialog
2318
2319         * bindings/js/kjs_window.cpp:
2320         (KJS::parseModalDialogFeatures):
2321         (KJS::showModalDialog):
2322
2323 2007-07-05  Sam Weinig  <sam@webkit.org>
2324
2325         Reviewed by Mitz.
2326
2327         Patch for http://bugs.webkit.org/show_bug.cgi?id=14465
2328         window.open() uses the literal "undefined" as the URL
2329
2330         * bindings/js/kjs_window.cpp:
2331         (KJS::WindowFunc::callAsFunction): add checks for undefined and null values when setting the url.
2332         * manual-tests/open-url-undefined.html: Added.
2333
2334 2007-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>
2335
2336         Reviewed by Rob Buis.
2337
2338         Rework FontData and FontPlatformData for the Gdk work to make valgrind
2339         happy.
2340
2341         Move destroying of FontConfig and Cairo objects held in FontPlatformData
2342         to FontData::platformDestroy. The ownership of these objects is held by
2343         FontData. This is following the Mac and Qt port at least.
2344
2345         Currently it is possible that FontPlatformData will not create cairo resources
2346         in this case at least make sure the variables are initialized to 0.
2347         Initialize x,y of the cairo_glyph_t with zero to avoid extents.x_advance depending
2348         on subtracing with not defined values.
2349
2350         FontPlatformData::hash. Using FontDescription is a bad idea as we don't have a clue
2351         about how it is packed, if holes are present, etc. The FcPattern and the m_fontMatrix
2352         should be good enough to describe the Font. All other objects are created using these
2353         variables
2354
2355         Replace C-style casts with C++ casts, in this case reinterpret_cast.
2356
2357         * platform/gdk/FontDataGdk.cpp:
2358         (WebCore::FontData::platformInit): Don't assert
2359         (WebCore::FontData::platformDestroy): Take over ownership
2360         (WebCore::FontData::platformWidthForGlyph): initialize
2361         (WebCore::FontData::setFont): be paranoid and assert
2362         * platform/gdk/FontPlatformData.h:
2363         (WebCore::FontPlatformData::FontPlatformData): Initialize everything
2364         (WebCore::FontPlatformData::hash): make valgrind happy and don't use m_fontDescription
2365         * platform/gdk/FontPlatformDataGdk.cpp:
2366         (WebCore::FontPlatformData::FontPlatformData):
2367         (WebCore::FontPlatformData::~FontPlatformData): FontData::platformDestroy will do this
2368         (WebCore::FontPlatformData::list): Don't use C-style casts.
2369         (WebCore::FontPlatformData::setFont): m_fontFace, m_fontMatrix, m_options might not be initialized
2370         (WebCore::FontPlatformData::operator==): Don't use C-style casts.
2371
2372 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
2373
2374         Reviewed by Mark Rowe.
2375
2376         http://bugs.webkit.org/show_bug.cgi?id=14445
2377         GraphicsContextCairo code style cleanup
2378
2379         Follow the cr naming convention for cairo_t*.
2380         Remove trailing whitespace.
2381         Replace C casts with C++ casts.
2382         Avoid needless casts.
2383
2384         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2385         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2386         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2387         (WebCore::GraphicsContext::GraphicsContext):
2388         (WebCore::GraphicsContext::platformContext):
2389         (WebCore::GraphicsContext::savePlatformState):
2390         (WebCore::GraphicsContext::restorePlatformState):
2391         (WebCore::GraphicsContext::drawRect):
2392         (WebCore::adjustLineToPixelBoundaries):
2393         (WebCore::GraphicsContext::drawLine):
2394         (WebCore::GraphicsContext::drawEllipse):
2395         (WebCore::GraphicsContext::strokeArc): Save/restore the graphics state.
2396         (WebCore::GraphicsContext::drawConvexPolygon):
2397         (WebCore::GraphicsContext::fillRect):
2398         (WebCore::GraphicsContext::clip):
2399         (WebCore::GraphicsContext::drawFocusRing):
2400         (WebCore::GraphicsContext::roundToDevicePixels):
2401         (WebCore::GraphicsContext::translate):
2402         (WebCore::GraphicsContext::origin):
2403         (WebCore::GraphicsContext::setPlatformStrokeThickness):
2404         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2405         (WebCore::GraphicsContext::setPlatformFont):
2406         (WebCore::GraphicsContext::concatCTM):
2407         (WebCore::GraphicsContext::addInnerRoundedRectClip):
2408         (WebCore::GraphicsContext::beginTransparencyLayer):
2409         (WebCore::GraphicsContext::endTransparencyLayer):
2410         (WebCore::GraphicsContext::clearRect):
2411         (WebCore::GraphicsContext::setLineCap):
2412         (WebCore::GraphicsContext::setLineJoin):
2413         (WebCore::GraphicsContext::setMiterLimit):
2414         (WebCore::GraphicsContext::setCompositeOperation):
2415         (WebCore::GraphicsContext::beginPath):
2416         (WebCore::GraphicsContext::addPath):
2417         (WebCore::GraphicsContext::rotate):
2418         (WebCore::GraphicsContext::scale):
2419         * platform/graphics/cairo/ImageBufferCairo.cpp:
2420         (WebCore::ImageBuffer::ImageBuffer):
2421         * platform/graphics/cairo/ImageCairo.cpp: Avoid the confusing ctxt/context naming scheme.
2422         (WebCore::BitmapImage::draw):
2423         (WebCore::Image::drawPattern):
2424
2425 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
2426
2427         Reviewed by Mark Rowe.
2428
2429         http://bugs.webkit.org/show_bug.cgi?id=14531
2430         Cairo SVGImage::nativeImageForCurrentFrame() has no return
2431
2432         Return the Cairo surface from the frame cache.
2433
2434         Also add a fall-through else macro with notImplemented() so that future
2435         ports do not make the same mistake.
2436
2437         * platform/graphics/svg/SVGImage.cpp:
2438         (WebCore::SVGImage::nativeImageForCurrentFrame):
2439
2440 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
2441
2442         Reviewed by Mark Rowe.
2443
2444         http://bugs.webkit.org/show_bug.cgi?id=14513
2445         Cairo animated GIF support is broken
2446
2447         Implement ImageSource::frameIsCompleteAtIndex() to enable animated GIFs.
2448
2449         * platform/graphics/cairo/ImageSourceCairo.cpp:
2450         (WebCore::ImageSource::frameIsCompleteAtIndex):
2451
2452 2007-07-04  Matt Perry  <mpComplete@gmail.com>
2453
2454         Reviewed by Adam.
2455
2456         Fix for http://bugs.webkit.org/show_bug.cgi?id=13400
2457         Bug 13400: REGRESSION (r20809-20814): No back entry created for navigations created by assigning to document.location
2458         <rdar://problem/5153025>
2459
2460         Treat userGesture as always true for setLocation, forcing a back/forward
2461         entry to be created.
2462
2463         * bindings/js/JSHTMLDocumentCustom.cpp:
2464         (WebCore::JSHTMLDocument::setLocation):
2465
2466 2007-07-04  Adam Roben  <aroben@apple.com>
2467
2468         Restore MouseEventWithHitTestResults::targetNode's old behavior
2469
2470         Reviewed by Mark.
2471
2472         Fixes fast/images/imagemap-case and fast/replace/image-map.
2473
2474         * page/MouseEventWithHitTestResults.cpp:
2475         (WebCore::MouseEventWithHitTestResults::targetNode): Use the inner
2476         node, not the inner non-shared node.
2477
2478 2007-07-04  Adam Roben  <aroben@apple.com>
2479
2480         Mac, Qt, and Gdk build fixes.
2481
2482         * page/EventHandler.h:
2483         * page/gdk/EventHandlerGdk.cpp:
2484         * page/mac/EventHandlerMac.mm:
2485         (WebCore::EventHandler::passSubframeEventToSubframe):
2486         * page/qt/EventHandlerQt.cpp:
2487
2488 2007-07-04  Adam Roben  <aroben@apple.com>
2489
2490         Fix the Qt/Gdk builds.
2491
2492         * page/gdk/EventHandlerGdk.cpp:
2493         * page/qt/EventHandlerQt.cpp:
2494
2495 2007-07-04  Adam Roben  <aroben@apple.com>
2496
2497         Move tooltip logic down into WebCore so that it can be shared cross-platform
2498
2499         Reviewed by Sam.
2500
2501         * page/Chrome.cpp:
2502         (WebCore::Chrome::setToolTip): Added.
2503         * page/Chrome.h:
2504         * page/ChromeClient.h:
2505         * page/EventHandler.cpp:
2506         (WebCore::EventHandler::mouseMoved): Call Chrome::setToolTip.
2507         * platform/graphics/svg/SVGImageEmptyClients.h:
2508
2509         Added stubs for Gdk:
2510
2511         * platform/gdk/ChromeClientGdk.h:
2512         * platform/gdk/TemporaryLinkStubs.cpp:
2513         (ChromeClientGdk::setToolTip):
2514
2515 2007-07-04  Adam Roben  <aroben@apple.com>
2516
2517         Add Settings::showsURLsInToolTips
2518
2519         Reviewed by Sam.
2520
2521         * WebCore.exp:
2522         * page/Settings.cpp:
2523         (WebCore::Settings::Settings):
2524         * page/Settings.h:
2525
2526 2007-07-04  Adam Roben  <aroben@apple.com>
2527
2528         Move logic for calling mouseDidMoveOverElement into WebCore
2529
2530         Reviewed by Sam.
2531
2532         * page/EventHandler.cpp:
2533         (WebCore::EventHandler::mouseMoved): Added. Calls Chrome::mouseDidMoveOverElement.
2534         (WebCore::EventHandler::handleMouseMoveEvent): Now takes an optional
2535         HitTestResult* parameter which is used to communicate to the caller the
2536         node the mouse is over.
2537         * page/EventHandler.h:
2538         * page/mac/EventHandlerMac.mm:
2539         (WebCore::EventHandler::mouseMoved): Changed to call the overloaded
2540         mouseMoved().
2541         (WebCore::EventHandler::passMouseMoveEventToSubframe): Pass hoveredNode
2542         through to the subframe so we can get the deepest node hovered, not
2543         just the node's parent frame.
2544         * page/win/EventHandlerWin.cpp:
2545         (WebCore::EventHandler::passMouseMoveEventToSubframe): Ditto.
2546
2547 2007-07-04  Adam Roben  <aroben@apple.com>
2548
2549         Add Chrome::mouseDidMoveOverElement
2550
2551         This does the work of calling up to the ChromeClient (which will call
2552         the UI delegate).
2553
2554         Reviewed by Sam.
2555
2556         * page/Chrome.cpp:
2557         (WebCore::Chrome::mouseDidMoveOverElement): Added.
2558         * page/Chrome.h:
2559         * page/ChromeClient.h:
2560         * platform/graphics/svg/SVGImageEmptyClients.h: Updated for change to
2561         ChromeClient.
2562         * platform/gdk/ChromeClientGdk.h:
2563         * platform/gdk/TemporaryLinkStubs.cpp:
2564         (ChromeClientGdk::mouseDidMoveOverElement):
2565
2566 2007-07-04  Adam Roben  <aroben@apple.com>
2567
2568         Changed PlatformMouseEvent to store the modifier flags of the event
2569
2570         Reviewed by Sam.
2571
2572         * platform/PlatformMouseEvent.h:
2573         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2574         * platform/mac/PlatformMouseEventMac.mm:
2575         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2576         * platform/win/PlatformMouseEventWin.cpp:
2577         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2578
2579 2007-07-04  Adam Roben  <aroben@apple.com>
2580
2581         Add HitTestResult::setToNonShadowAncestor
2582
2583         Reviewed by Sam.
2584
2585         * page/EventHandler.cpp:
2586         (WebCore::EventHandler::hitTestResultAtPoint): Moved logic into
2587         HitTestResult::setToNonShadowAncestor.
2588         * rendering/HitTestResult.cpp:
2589         (WebCore::HitTestResult::setToNonShadowAncestor):
2590         * rendering/HitTestResult.h:
2591
2592 2007-07-04  Adam Roben  <aroben@apple.com>
2593
2594         Change MouseEventWithHitTestResults to hold onto a HitTestResult
2595
2596         Reviewed by Sam.
2597
2598         * dom/Document.cpp:
2599         (WebCore::Document::prepareMouseEvent):
2600         * page/MouseEventWithHitTestResults.cpp:
2601         (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
2602         (WebCore::MouseEventWithHitTestResults::targetNode):
2603         (WebCore::MouseEventWithHitTestResults::localPoint):
2604         (WebCore::MouseEventWithHitTestResults::scrollbar):
2605         * page/MouseEventWithHitTestResults.h:
2606         (WebCore::MouseEventWithHitTestResults::event):
2607         (WebCore::MouseEventWithHitTestResults::hitTestResult):
2608
2609 2007-07-04  Matt Lilek  <pewtermoose@gmail.com>
2610
2611         Not reviewed, gdk build fix.
2612
2613         * platform/gdk/FrameGdk.cpp:
2614
2615 2007-07-05  Antti Koivisto  <antti@apple.com>
2616
2617         Reviewed by John.
2618         
2619         Fix Repro crash due to infinite recursion in HTMLParser::handleError @ youos.com
2620         <rdar://problem/5237811>
2621         
2622         It is possible to add table parts (thead etc) without table ancestor to a document fragment. If a new table element
2623         was added to such a part, as in
2624         
2625         div.innerHTML = '<tbody><table>';
2626         
2627         the parser error handling code would try to pop the previous table as normal. However since
2628         the table does not actually exist nothing would happen and parser would go to infinite recursion.
2629         
2630         Solution here is to pop table parts one by one when handling the error inside a fragment instead of trying to pop
2631         the table straight away (as it might not exist).
2632
2633         * html/HTMLParser.cpp:
2634         (WebCore::HTMLParser::handleError):
2635
2636 2007-07-04  Qing Zhao  <qing@staikos.net>
2637
2638         Reviewed by George Staikos.
2639
2640         Draw menulist (comboboxes) without text overlap on the button.
2641
2642         * platform/qt/RenderThemeQt.cpp:
2643         (WebCore::RenderThemeQt::setPopupPadding):
2644
2645 2007-07-04  George Staikos  <staikos@kde.org>
2646
2647         Compile
2648
2649         * page/qt/FrameQt.cpp:
2650         * WebCore.pro:
2651
2652 2007-07-04  Sam Weinig  <sam@webkit.org>
2653
2654         Reviewed by Mitz.
2655
2656         Patch for http://bugs.webkit.org/show_bug.cgi?id=14504
2657         REGRESSION (r23573): Amazon Book Excerpt can not be viewed in recent nightly
2658
2659         - Made it possible (again) to shadow window properties with local variable names.
2660
2661         Test: fast/dom/Window/window-property-shadowing.html
2662
2663         * bindings/js/JSDOMWindowCustom.cpp:
2664         (WebCore::JSDOMWindow::customPut):
2665         * bindings/js/kjs_window.cpp:
2666         (KJS::Window::put):
2667         * bindings/scripts/CodeGeneratorJS.pm:
2668         * page/DOMWindow.idl:
2669
2670 2007-07-03  Alice Liu  <alice.liu@apple.com>
2671
2672         Reviewed by Adam.
2673
2674         Fixed <rdar://problem/5225119> support smart pasting on Windows
2675
2676         * WebCore.vcproj/WebCore.vcproj:
2677         * WebCore.xcodeproj/project.pbxproj:
2678             Added new files
2679         * editing/SmartReplace.cpp: Added.
2680         (WebCore::isCharacterSmartReplaceExempt):
2681             Added non-CF implementation placeholder
2682         * editing/SmartReplace.h: Added.
2683         * editing/SmartReplaceCF.cpp: Added.
2684         (WebCore::getSmartSet):
2685         (WebCore::isCharacterSmartReplaceExempt):
2686             Added new implementation
2687
2688         * bridge/win/FrameWin.cpp:
2689         * page/Frame.h:
2690         * page/mac/FrameMac.mm:
2691             Removed old declaration and implementation
2692
2693         * editing/ReplaceSelectionCommand.cpp:
2694         (WebCore::ReplaceSelectionCommand::doApply):
2695             Changed to call the new function instead of old
2696
2697         * page/mac/WebCoreFrameBridge.h:
2698         * page/mac/WebCoreFrameBridge.mm:
2699             Removed old declaration and implementation
2700         (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
2701             Changed to call the new function instead of old
2702
2703         * platform/win/PasteboardWin.cpp:
2704         (WebCore::Pasteboard::Pasteboard):
2705             Register new clipboard format
2706         (WebCore::Pasteboard::writeSelection):
2707             Set data for smartpaste format on clipboard
2708         (WebCore::Pasteboard::canSmartReplace):
2709             Added non-stub implementation
2710
2711 2007-07-04  Qing Zhao  <qing@staikos.net>
2712
2713         Reviewed by George Staikos.
2714
2715         Similar to the PlatformScrollbar fixes, adjust the painter to make the
2716         styler draw all subcontrols, and in this case the focus rect, in the
2717         proper location
2718
2719         * platform/qt/RenderThemeQt.cpp:
2720         (WebCore::RenderThemeQt::paintMenuList):
2721
2722 2007-07-04  Mitz Pettel  <mitz@webkit.org>
2723
2724         Reviewed by Maciej.
2725
2726         - fix http://bugs.webkit.org/show_bug.cgi?id=14495
2727           REGRESSION: Wrong cursor is displayed during drag and drop when text is selected
2728           <rdar://problem/5312384>
2729
2730         No test possible because DumpRenderTree cannot query the current cursor.
2731
2732         * page/EventHandler.cpp:
2733         (WebCore::EventHandler::selectCursor): Changed into a member function and
2734         added that if the last mouse down event could not have started a
2735         selection, then the cursor should not change to an I-beam unconditionally.
2736         (WebCore::EventHandler::handleMouseMoveEvent):
2737         * page/EventHandler.h:
2738
2739 2007-07-04  Holger Hans Peter Freyther  <zecke@selfish.org>
2740
2741         Reviewed by Rob Buis.
2742
2743         A little progress in tracking dependencies.
2744
2745         * WebCore.pro: Add DEPENDPATH for the Gdk port.
2746
2747 2007-07-03  Darin Adler  <darin@apple.com>
2748
2749         Reviewed by Tim Hatcher.
2750
2751         - fix <rdar://problem/5221297> Font family name in the cssText for a DOMCSSStyleDeclaration needs quotes
2752
2753         Test: editing/style/font-family-with-space.html
2754
2755         * css/FontFamilyValue.cpp:
2756         (WebCore::isValidCSSIdentifier): Added. Implements the same rule that the CSS lexer does.
2757         (WebCore::quoteStringIfNeeded): Changed to call isValidCSSIdentifier instead of just
2758         checking for a leading "#" character.
2759         * editing/markup.cpp:
2760         (WebCore::escapeTextForMarkup): Changed to take a String parameter for better efficiency.
2761         (WebCore::renderedText): Changed to return a String for better efficiency.
2762         (WebCore::addNamespace): Updated to pass String to escapeTextForMarkup.
2763         (WebCore::startMarkup): Updated to pass String to escapeTextForMarkup. Added missing call
2764         to escapeTextForMarkup in the special case for the style property.
2765         (WebCore::createMarkup): Changed from single quotes to double quotes and also added missing
2766         call to escapeTextForMarkup in two special cases for the style property.
2767
2768 2007-07-03  Sam Weinig  <sam@webkit.org>
2769
2770         Reviewed by Darin.
2771
2772         Twelfth round of fixes for implicit 64-32 bit conversion errors.
2773         <rdar://problem/5292262>
2774
2775         - Add casts and accompanying FIXMEs to avoid remaining compiler errors.
2776
2777         * WebCore.xcodeproj/project.pbxproj:
2778         * loader/FrameLoader.cpp:
2779         (WebCore::FrameLoader::opened):
2780         (WebCore::FrameLoader::sendRemainingDelegateMessages):
2781         * loader/FrameLoader.h:
2782         * loader/ResourceLoader.cpp:
2783         (WebCore::ResourceLoader::didReceiveData):
2784         * platform/network/mac/ResourceHandleMac.mm:
2785         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
2786         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
2787         * platform/network/mac/ResourceResponseMac.mm:
2788         (WebCore::ResourceResponse::nsURLResponse):
2789
2790 2007-07-03  Anders Carlsson  <andersca@apple.com>
2791
2792         Reviewed by Adam.
2793
2794         <rdar://problem/5093862>
2795         Nothing shown in plugin area when trying to play content using the DivX plugin
2796         
2797         Defer calling SetWindow for the DivX plugin, just like we do with the WMP plugin.
2798                 
2799         * plugins/win/PluginViewWin.cpp:
2800         (WebCore::PluginViewWin::determineQuirks):
2801
2802 2007-07-03  Sam Weinig  <sam@webkit.org>
2803
2804         Reviewed by Brady Eidson.
2805
2806         Ninth round of fixes for implicit 64-32 bit conversion errors.
2807         <rdar://problem/5292262>
2808
2809         - Fix function signature to use unsigned long instead of unsigned long long.
2810
2811         * loader/ProgressTracker.cpp:
2812         (WebCore::ProgressTracker::completeProgress):
2813         * loader/ProgressTracker.h:
2814
2815 2007-07-03  Sam Weinig  <sam@webkit.org>
2816
2817         Reviewed by Oliver.
2818
2819         Eighth round of fixes for implicit 64-32 bit conversion errors.
2820         <rdar://problem/5292262>
2821
2822         - Convert SVG implementation files to use floats instead of doubles
2823           to match the spec/IDLs.
2824
2825         * bindings/scripts/CodeGeneratorJS.pm:
2826         * ksvg2/svg/SVGAngle.cpp:
2827         * ksvg2/svg/SVGAnimatedTemplate.h:
2828         * ksvg2/svg/SVGAnimationElement.cpp:
2829         (WebCore::SVGAnimationElement::getEndTime):
2830         (WebCore::SVGAnimationElement::getStartTime):
2831         (WebCore::SVGAnimationElement::getCurrentTime):
2832         (WebCore::SVGAnimationElement::getSimpleDuration):
2833         * ksvg2/svg/SVGAnimationElement.h:
2834         * ksvg2/svg/SVGFitToViewBox.cpp:
2835         (WebCore::SVGFitToViewBox::parseViewBox):
2836         * ksvg2/svg/SVGLength.cpp:
2837         (WebCore::SVGLength::setValueAsString):
2838         * ksvg2/svg/SVGLinearGradientElement.cpp:
2839         (WebCore::SVGLinearGradientElement::buildGradient):
2840         * ksvg2/svg/SVGMatrix.idl:
2841         * ksvg2/svg/SVGNumber.idl:
2842         * ksvg2/svg/SVGParserUtilities.cpp:
2843         (WebCore::SVGPathParser::parseSVG):
2844         (WebCore::SVGPathParser::calculateArc):
2845         (WebCore::SVGPathParser::svgLineToHorizontal):
2846         (WebCore::SVGPathParser::svgLineToVertical):
2847         (WebCore::SVGPathParser::svgCurveToCubicSmooth):
2848         (WebCore::SVGPathParser::svgCurveToQuadratic):
2849         (WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
2850         (WebCore::SVGPathParser::svgArcTo):
2851         * ksvg2/svg/SVGParserUtilities.h:
2852         * ksvg2/svg/SVGPathElement.cpp:
2853         (WebCore::SVGPathElement::SVGPathElement):
2854         (WebCore::SVGPathElement::getTotalLength):
2855         (WebCore::SVGPathElement::getPointAtLength):
2856         (WebCore::SVGPathElement::getPathSegAtLength):
2857         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
2858         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
2859         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
2860         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
2861         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
2862         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
2863         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
2864         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
2865         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
2866         (WebCore::SVGPathElement::createSVGPathSegArcRel):
2867         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
2868         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
2869         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
2870         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
2871         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
2872         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
2873         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
2874         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
2875         (WebCore::SVGPathElement::svgMoveTo):
2876         (WebCore::SVGPathElement::svgLineTo):
2877         (WebCore::SVGPathElement::svgLineToHorizontal):
2878         (WebCore::SVGPathElement::svgLineToVertical):
2879         (WebCore::SVGPathElement::svgCurveToCubic):
2880         (WebCore::SVGPathElement::svgCurveToCubicSmooth):
2881         (WebCore::SVGPathElement::svgCurveToQuadratic):
2882         (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
2883         (WebCore::SVGPathElement::svgArcTo):
2884         (WebCore::SVGPathElement::parseMappedAttribute):
2885         * ksvg2/svg/SVGPathElement.h:
2886         * ksvg2/svg/SVGPathSegArc.cpp:
2887         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
2888         (WebCore::SVGPathSegArcAbs::setX):
2889         (WebCore::SVGPathSegArcAbs::x):
2890         (WebCore::SVGPathSegArcAbs::setY):
2891         (WebCore::SVGPathSegArcAbs::y):
2892         (WebCore::SVGPathSegArcAbs::setR1):
2893         (WebCore::SVGPathSegArcAbs::r1):
2894         (WebCore::SVGPathSegArcAbs::setR2):
2895         (WebCore::SVGPathSegArcAbs::r2):
2896         (WebCore::SVGPathSegArcAbs::setAngle):
2897         (WebCore::SVGPathSegArcAbs::angle):
2898         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
2899         (WebCore::SVGPathSegArcRel::setX):
2900         (WebCore::SVGPathSegArcRel::x):
2901         (WebCore::SVGPathSegArcRel::setY):
2902         (WebCore::SVGPathSegArcRel::y):
2903         (WebCore::SVGPathSegArcRel::setR1):
2904         (WebCore::SVGPathSegArcRel::r1):
2905         (WebCore::SVGPathSegArcRel::setR2):
2906         (WebCore::SVGPathSegArcRel::r2):
2907         (WebCore::SVGPathSegArcRel::setAngle):
2908         (WebCore::SVGPathSegArcRel::angle):
2909         * ksvg2/svg/SVGPathSegArc.h:
2910         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
2911         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
2912         (WebCore::SVGPathSegCurvetoCubicAbs::setX):
2913         (WebCore::SVGPathSegCurvetoCubicAbs::x):
2914         (WebCore::SVGPathSegCurvetoCubicAbs::setY):
2915         (WebCore::SVGPathSegCurvetoCubicAbs::y):
2916         (WebCore::SVGPathSegCurvetoCubicAbs::setX1):
2917         (WebCore::SVGPathSegCurvetoCubicAbs::x1):
2918         (WebCore::SVGPathSegCurvetoCubicAbs::setY1):
2919         (WebCore::SVGPathSegCurvetoCubicAbs::y1):
2920         (WebCore::SVGPathSegCurvetoCubicAbs::setX2):
2921         (WebCore::SVGPathSegCurvetoCubicAbs::x2):
2922         (WebCore::SVGPathSegCurvetoCubicAbs::setY2):
2923         (WebCore::SVGPathSegCurvetoCubicAbs::y2):
2924         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
2925         (WebCore::SVGPathSegCurvetoCubicRel::setX):
2926         (WebCore::SVGPathSegCurvetoCubicRel::x):
2927         (WebCore::SVGPathSegCurvetoCubicRel::setY):
2928         (WebCore::SVGPathSegCurvetoCubicRel::y):
2929         (WebCore::SVGPathSegCurvetoCubicRel::setX1):
2930         (WebCore::SVGPathSegCurvetoCubicRel::x1):
2931         (WebCore::SVGPathSegCurvetoCubicRel::setY1):
2932         (WebCore::SVGPathSegCurvetoCubicRel::y1):
2933         (WebCore::SVGPathSegCurvetoCubicRel::setX2):
2934         (WebCore::SVGPathSegCurvetoCubicRel::x2):
2935         (WebCore::SVGPathSegCurvetoCubicRel::setY2):
2936         (WebCore::SVGPathSegCurvetoCubicRel::y2):
2937         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
2938         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
2939         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
2940         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX):
2941         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x):
2942         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY):
2943         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y):
2944         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX2):
2945         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x2):
2946         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY2):
2947         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y2):
2948         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
2949         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX):
2950         (WebCore::SVGPathSegCurvetoCubicSmoothRel::x):
2951         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY):
2952         (WebCore::SVGPathSegCurvetoCubicSmoothRel::y):
2953         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX2):
2954         (WebCore::SVGPathSegCurvetoCubicSmoothRel::x2):
2955         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY2):
2956         (WebCore::SVGPathSegCurvetoCubicSmoothRel::y2):
2957         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
2958         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
2959         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
2960         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX):
2961         (WebCore::SVGPathSegCurvetoQuadraticAbs::x):
2962         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY):
2963         (WebCore::SVGPathSegCurvetoQuadraticAbs::y):
2964         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX1):
2965         (WebCore::SVGPathSegCurvetoQuadraticAbs::x1):
2966         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY1):
2967         (WebCore::SVGPathSegCurvetoQuadraticAbs::y1):
2968         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
2969         (WebCore::SVGPathSegCurvetoQuadraticRel::setX):
2970         (WebCore::SVGPathSegCurvetoQuadraticRel::x):
2971         (WebCore::SVGPathSegCurvetoQuadraticRel::setY):
2972         (WebCore::SVGPathSegCurvetoQuadraticRel::y):
2973         (WebCore::SVGPathSegCurvetoQuadraticRel::setX1):
2974         (WebCore::SVGPathSegCurvetoQuadraticRel::x1):
2975         (WebCore::SVGPathSegCurvetoQuadraticRel::setY1):
2976         (WebCore::SVGPathSegCurvetoQuadraticRel::y1):
2977         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
2978         (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
2979         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
2980         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
2981         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setX):
2982         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::x):
2983         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setY):
2984         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::y):
2985         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
2986         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setX):
2987         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::x):
2988         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setY):
2989         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::y):
2990         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
2991         * ksvg2/svg/SVGPathSegLineto.cpp:
2992         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
2993         (WebCore::SVGPathSegLinetoAbs::setX):
2994         (WebCore::SVGPathSegLinetoAbs::x):
2995         (WebCore::SVGPathSegLinetoAbs::setY):
2996         (WebCore::SVGPathSegLinetoAbs::y):
2997         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
2998         (WebCore::SVGPathSegLinetoRel::setX):
2999         (WebCore::SVGPathSegLinetoRel::x):
3000         (WebCore::SVGPathSegLinetoRel::setY):
3001         (WebCore::SVGPathSegLinetoRel::y):
3002         * ksvg2/svg/SVGPathSegLineto.h:
3003         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
3004         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
3005         (WebCore::SVGPathSegLinetoHorizontalAbs::setX):
3006         (WebCore::SVGPathSegLinetoHorizontalAbs::x):
3007         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
3008         (WebCore::SVGPathSegLinetoHorizontalRel::setX):
3009         (WebCore::SVGPathSegLinetoHorizontalRel::x):
3010         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
3011         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
3012         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
3013         (WebCore::SVGPathSegLinetoVerticalAbs::setY):
3014         (WebCore::SVGPathSegLinetoVerticalAbs::y):
3015         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
3016         (WebCore::SVGPathSegLinetoVerticalRel::setY):
3017         (WebCore::SVGPathSegLinetoVerticalRel::y):
3018         * ksvg2/svg/SVGPathSegLinetoVertical.h:
3019         * ksvg2/svg/SVGPathSegList.cpp:
3020         (WebCore::SVGPathSegList::getPathSegAtLength):
3021         * ksvg2/svg/SVGPathSegList.h:
3022         * ksvg2/svg/SVGPathSegMoveto.cpp:
3023         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
3024         (WebCore::SVGPathSegMovetoAbs::setX):
3025         (WebCore::SVGPathSegMovetoAbs::x):
3026         (WebCore::SVGPathSegMovetoAbs::setY):
3027         (WebCore::SVGPathSegMovetoAbs::y):
3028         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
3029         (WebCore::SVGPathSegMovetoRel::setX):
3030         (WebCore::SVGPathSegMovetoRel::x):
3031         (WebCore::SVGPathSegMovetoRel::setY):
3032         (WebCore::SVGPathSegMovetoRel::y):
3033         * ksvg2/svg/SVGPathSegMoveto.h:
3034         * ksvg2/svg/SVGPolyElement.cpp:
3035         (WebCore::SVGPolyElement::svgPolyTo):
3036         * ksvg2/svg/SVGRadialGradientElement.cpp:
3037         (WebCore::SVGRadialGradientElement::buildGradient):
3038         * ksvg2/svg/SVGSVGElement.cpp:
3039         (WebCore::SVGSVGElement::viewport):
3040         (WebCore::SVGSVGElement::getCurrentTime):
3041         * ksvg2/svg/SVGStopElement.cpp:
3042         (WebCore::SVGStopElement::SVGStopElement):
3043         (WebCore::SVGStopElement::parseMappedAttribute):
3044         * ksvg2/svg/SVGStopElement.h:
3045         * ksvg2/svg/SVGTransform.cpp:
3046         (SVGTransform::translate):
3047         (SVGTransform::scale):
3048         * ksvg2/svg/SVGTransformDistance.cpp:
3049         (WebCore::SVGTransformDistance::addToSVGTransform):
3050         (WebCore::SVGTransformDistance::distance):
3051         * ksvg2/svg/SVGTransformable.cpp:
3052         (WebCore::SVGTransformable::parseTransformAttribute):
3053
3054 2007-07-03  Anders Carlsson  <andersca@apple.com>
3055
3056         Reviewed by Darin.
3057
3058         <rdar://problem/5289718>
3059         http://bugs.webkit.org/show_bug.cgi?id=14437
3060         CrashTracer: [REGRESSION] 76 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 6 (14437)
3061         
3062         Based on a patch from Maxime Britto.
3063         
3064         * page/mac/WebCoreFrameBridge.mm:
3065         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
3066         If the script caused the frame to go away, return nil. This can only happen if a plugin in a subframe destroys
3067         its frame.
3068
3069         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
3070         ASSERT that this is only called on the main frame.
3071
3072 2007-07-03  John Sullivan  <sullivan@apple.com>
3073
3074         Written by Darin, reviewed by me
3075         
3076         - fixed <rdar://problem/5249730> REGRESSION (Leopard, around 9A464): Safari opens the same local 
3077           documents more than once due to canonicalization change
3078
3079         * loader/mac/LoaderNSURLExtras.m:
3080         (canonicalURL):
3081         pass URL through KURL so we get KURL's version of canonicalization as well as
3082         NSURLProtocol's version of canonicalization
3083
3084 2007-07-03  Sam Weinig  <sam@webkit.org>
3085
3086         Reviewed by Darin.
3087
3088         Seventh round of fixes for implicit 64-32 bit conversion errors.
3089         <rdar://problem/5292262>
3090
3091         - Adds more narrowPrecision functions to FloatPoint, FloatSize and FloatRect.
3092         - Changes over more implicit conversions to use new functions.
3093
3094         * bindings/js/kjs_window.cpp:
3095         (KJS::WindowFunc::callAsFunction):
3096         * platform/graphics/FloatPoint.cpp:
3097         (WebCore::FloatPoint::matrixTransform):
3098         (WebCore::FloatPoint::narrowPrecision):
3099         * platform/graphics/FloatPoint.h:
3100         * platform/graphics/FloatRect.cpp:
3101         (WebCore::FloatRect::narrowPrecision):
3102         * platform/graphics/FloatRect.h:
3103         * platform/graphics/FloatSize.cpp:
3104         (WebCore::FloatSize::narrowPrecision):
3105         * platform/graphics/FloatSize.h:
3106         * platform/graphics/Path.cpp:
3107         (WebCore::Path::createRoundedRectangle):
3108         (WebCore::Path::createRectangle):
3109         (WebCore::Path::createEllipse):
3110         * platform/graphics/mac/ColorMac.mm:
3111         (WebCore::nsColor):
3112         * platform/graphics/mac/IconMac.mm:
3113         (WebCore::Icon::paint):
3114         * platform/graphics/svg/cg/CgSupport.cpp:
3115         (WebCore::applyStrokeStyleToContext):
3116         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3117         (WebCore::CGShadingRefForRadialGradient):
3118         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
3119         (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
3120         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
3121         (WebCore::applyLuminanceToAlphaFilter):
3122         (WebCore::applyExpandAlphatoGrayscaleFilter):
3123         (WebCore::transformImageIntoGrayscaleMask):
3124         * platform/mac/WebCoreTextRenderer.mm:
3125         (WebCoreDrawTextAtPoint):
3126         * rendering/RenderPath.cpp:
3127         (WebCore::RenderPath::mapAbsolutePointToLocal):
3128         * rendering/RenderSVGContainer.cpp:
3129         (WebCore::RenderSVGContainer::calcViewport):
3130         * rendering/RenderSVGImage.cpp:
3131         (WebCore::RenderSVGImage::nodeAtPoint):
3132         * rendering/RenderSVGText.cpp:
3133         (WebCore::RenderSVGText::relativeBBox):
3134
3135 2007-07-03  Anders Carlsson  <andersca@apple.com>
3136
3137         Reviewed by Adam.
3138
3139         <rdar://problem/5261523>
3140         Crash playing MP11 on cnbc.com
3141         
3142         The WMP Netscape plugin still creates a window even when windowless mode is turned on. Work around this by
3143         always removing the "windowlessvideo" parameter before passing it to the plugin.
3144         According to http://msdn2.microsoft.com/en-us/library/bb249373.aspx, "The windowlessVideo property is not 
3145         supported for Netscape Navigator. Setting a value for this property in Navigator may yield unexpected results."
3146         
3147         * plugins/win/PluginViewWin.cpp:
3148         (WebCore::PluginViewWndProc):
3149         (WebCore::PluginViewWin::paint):
3150         (WebCore::PluginViewWin::invalidateRect):
3151         (WebCore::PluginViewWin::determineQuirks):
3152         (WebCore::PluginViewWin::setParameters):
3153         (WebCore::PluginViewWin::PluginViewWin):
3154         (WebCore::PluginViewWin::init):
3155         * plugins/win/PluginViewWin.h:
3156         (WebCore::):
3157
3158 2007-07-03  Qing Zhao  <qing@staikos.net>
3159
3160         Reviewed by George Staikos.
3161
3162         Only draw sunken state for appropriate widgets. Not, for example, for
3163         lineedits.
3164
3165         * platform/qt/RenderThemeQt.cpp:
3166         (WebCore::RenderThemeQt::applyTheme):
3167
3168 2007-07-03  Antti Koivisto  <antti@apple.com>
3169
3170         Reviewed by Maciej.
3171         
3172         REGRESSION: misplaced selection ring remains after link is no longer focused.
3173         <rdar://problem/5205580>
3174         
3175         Fix placement of selection ring when part of the ring is in a different layer.
3176
3177         * rendering/RenderFlow.cpp:
3178         (WebCore::RenderFlow::addFocusRingRects): Get coordinates right when moving to a different layer.
3179         * rendering/RenderObject.cpp:
3180         (WebCore::RenderObject::setStyle): 
3181         Don't reset state variables when not necessary.  When repaint() was called at the end of setSyle() it would
3182         get repaint rects wrong in some cases.
3183
3184 2007-07-03  Antti Koivisto  <antti@apple.com>
3185
3186         Reviewed by Maciej.
3187
3188         Blind fix for CrashTracer: [USER] 25 crashes in Safari at com.apple.WebCore: WebCore::Frame::document const + 6
3189         <rdar://problem/5263939>
3190         
3191         No one has managed to reproduce this but it looks like null check is needed here. There are plausible ways
3192         m_frame could be null for a live FrameView object.
3193
3194         * page/FrameView.cpp:
3195         (WebCore::FrameView::needsLayout):
3196
3197 2007-07-02  Oliver Hunt  <oliver@apple.com>
3198
3199         Reviewed by Darin.
3200
3201         Fix for <rdar://problem/5098378> single-pixel image optimization needs to be rewritten to not depend on floating point bitmap
3202         Tested by fast/replaced/image-solid-color-with-alpha.html
3203
3204         Switch from float to byte based bitmap when pulling the color from 1x1 pixel images so
3205         that we can use the single pixel image optimisation in WebKit/win.
3206
3207         * platform/graphics/cg/ImageCG.cpp:
3208         (WebCore::BitmapImage::checkForSolidColor):
3209
3210 2007-07-02  Adam Roben  <aroben@apple.com>
3211
3212         Fix Bug 14498: RenderContainer::positionForCoordinates contains an order of operations error
3213         http://bugs.webkit.org/show_bug.cgi?id=14498
3214
3215         There were two bugs:
3216         1) xPos/yPos were flipped
3217         2) + binds tighter than ?:, so the order of operations was incorrect
3218
3219         Reviewed by Darin.
3220
3221         Test: fast/inline-block/14498-positionForCoordinates.html
3222
3223         * rendering/RenderContainer.cpp:
3224         (WebCore::RenderContainer::positionForCoordinates):
3225
3226 2007-07-02  Darin Adler  <darin@apple.com>
3227
3228         Reviewed by Kevin Decker and Tim Hatcher.
3229
3230         - fix <rdar://problem/5307906> some classes need finalize methods because
3231           of non-trivial work done in dealloc methods
3232
3233         * bindings/objc/DOMRGBColor.mm:
3234         (+[DOMRGBColor initialize]): Added. Tells finalizer to run on main thread,
3235         which is needed because we are sharing a CFDictionary here with no locking.
3236
3237         * bridge/mac/WebCoreAXObject.mm:
3238         (+[WebCoreAXObject initialize]): Added. Tells finalizer to run on main thread.
3239         (-[WebCoreAXObject finalize]): Added. Calls detach.
3240
3241         * WebCore.xcodeproj/project.pbxproj: Let Xcode do what it wants to do.
3242
3243 2007-07-02  Sam Weinig  <sam@webkit.org>
3244
3245         Reviewed by Darin.
3246
3247         Sixth round of fixes for implicit 64-32 bit conversion errors.
3248         <rdar://problem/5292262>
3249
3250         Use new narrowPrecisionToFloat() and narrowPrecisionToCGFloat() where
3251         appropriate.
3252
3253         * html/CanvasRenderingContext2D.cpp:
3254         (WebCore::CanvasRenderingContext2D::setShadow):
3255         (WebCore::CanvasRenderingContext2D::applyShadow):
3256         * html/CanvasStyle.cpp:
3257         (WebCore::CanvasStyle::applyStrokeColor):
3258         (WebCore::CanvasStyle::applyFillColor):
3259         * ksvg2/svg/SVGAngle.cpp:
3260         * ksvg2/svg/SVGAnimationElement.cpp:
3261         (WebCore::SVGAnimationElement::parseKeyNumbers):
3262         (WebCore::parseKeySplines):
3263         (WebCore::SVGAnimationElement::handleTimerEvent):
3264         (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds):
3265         * ksvg2/svg/SVGPatternElement.cpp:
3266         (WebCore::SVGPatternElement::buildPattern):
3267         * ksvg2/svg/SVGRadialGradientElement.cpp:
3268         (WebCore::SVGRadialGradientElement::buildGradient):
3269         * platform/graphics/cg/AffineTransformCG.cpp:
3270         (WebCore::AffineTransform::AffineTransform):
3271         (WebCore::AffineTransform::setMatrix):
3272         (WebCore::AffineTransform::map):
3273         (WebCore::AffineTransform::setA):
3274         (WebCore::AffineTransform::setB):
3275         (WebCore::AffineTransform::setC):
3276         (WebCore::AffineTransform::setD):
3277         (WebCore::AffineTransform::setE):
3278         (WebCore::AffineTransform::setF):
3279         (WebCore::AffineTransform::scale):
3280         (WebCore::AffineTransform::rotate):
3281         (WebCore::AffineTransform::translate):
3282         (WebCore::AffineTransform::shear):
3283
3284 2007-07-02  John Sullivan  <sullivan@apple.com>
3285
3286         * page/mac/WebCoreFrameBridge.mm:
3287         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
3288         added a comment
3289
3290 2007-07-02  Sam Weinig  <sam@webkit.org>
3291
3292         Rubberstamped by Darin.
3293
3294         Rename FloatConversionUtilities.h to FloatConversion.h.
3295         Fix Win32 build.
3296
3297         * WebCore.vcproj/WebCore.vcproj:
3298         * WebCore.xcodeproj/project.pbxproj:
3299         * platform/DeprecatedString.cpp:
3300         * platform/FloatConversion.h: Copied from platform/FloatConversionUtilities.h.
3301         * platform/FloatConversionUtilities.h: Removed.
3302         * platform/StringImpl.cpp:
3303
3304 2007-07-02  Sam Weinig  <sam@webkit.org>
3305
3306         Reviewed by Darin.
3307
3308         Fifth round of fixes for implicit 64-32 bit conversion errors.
3309         <rdar://problem/5292262>
3310
3311         Add toFloat() method to string classes and use it where appropriate.
3312
3313         * WebCore.xcodeproj/project.pbxproj:
3314         * css/cssparser.cpp:
3315         (WebCore::CSSParser::lex):
3316         * ksvg2/svg/SVGAngle.cpp:
3317         (WebCore::SVGAngle::setValueAsString):
3318         * platform/AtomicString.h:
3319         (WebCore::AtomicString::toFloat):
3320         * platform/DeprecatedString.cpp:
3321         (WebCore::DeprecatedString::toFloat):
3322         * platform/DeprecatedString.h:
3323         * platform/FloatConversionUtilities.h: Added.
3324         (WebCore::narrowPrecisionToFloat):
3325         (WebCore::narrowPrecisionToCGFloat):
3326         * platform/PlatformString.h:
3327         * platform/String.cpp:
3328         (WebCore::String::toFloat):
3329         * platform/StringImpl.cpp:
3330         (WebCore::StringImpl::toFloat):
3331         * platform/StringImpl.h:
3332
3333 2007-07-02  Sam Weinig  <sam@webkit.org>
3334
3335         Reviewed by Kevin McCullough.
3336
3337         Fourth round of fixes for implicit 64-32 bit conversion errors.
3338         <rdar://problem/5292262>
3339
3340         Use new piDouble and piFloat constants instead of M_PI.
3341
3342         * html/CanvasRenderingContext2D.cpp:
3343         (WebCore::CanvasRenderingContext2D::rotate):
3344         * ksvg2/svg/SVGParserUtilities.cpp:
3345         (WebCore::SVGPathParser::calculateArc):
3346         * platform/graphics/Path.cpp:
3347         (WebCore::pathLengthApplierFunction):
3348         (WebCore::Path::createEllipse):
3349         * platform/graphics/cg/GraphicsContextCG.cpp:
3350         (WebCore::GraphicsContext::drawEllipse):
3351         (WebCore::GraphicsContext::strokeArc):
3352         * platform/graphics/cg/PDFDocumentImage.cpp:
3353         (WebCore::PDFDocumentImage::setCurrentPage):
3354         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
3355         * rendering/RenderPath.cpp:
3356         (WebCore::drawMarkerWithData):
3357
3358 2007-07-01  Adam Roben  <aroben@apple.com>
3359
3360         Clarify/fix {Shadow,BorderImage}ParseContext's memory management
3361
3362         Prefast emitted warnings that drew my attention to
3363         {Shadow,BorderImage}ParseContext::failed().  It turned out that these
3364         methods were actually correct, but rather confusing. "failed" really
3365         meant "abort and clean up" rather than "did you fail?", which was
3366         unclear. However, once I figured that out, the "and clean up" part was
3367         still a bit confusing, because all failed() did was to set a flag that
3368         would later cause the ParseContext's members to be deleted in the
3369         destructor. To clear this up, I've gotten rid of the failed() method
3370         altogether. It always returned false, so I've replaced all calls to
3371         it with the value false.
3372
3373         I also noticed that the lifetime management of the ParseContexts'
3374         members was in all cases confusing, and in some cases wrong. The
3375         m_border{Top,Right,Bottom,Left} members of BorderImageParseContext
3376         were leaked whenever a border-image property was successfully parsed.
3377         I fixed that by holding these members in OwnPtrs. The
3378         CSSPrimitiveValue members of {Shadow,BorderImage}ParseContext, which
3379         inherit from Shared, were being explicitly deleted, which is not a
3380         safe way to manage the lifetime of objects that inherit from Shared.
3381         To fix this, I put those members inside RefPtrs. These two changes
3382         allowed me to remove the destructors entirely.
3383
3384         Reviewed by Darin.
3385
3386         All regression tests pass.
3387
3388         * css/cssparser.cpp:
3389         (WebCore::ShadowParseContext::commitValue): Use .release() to avoid
3390         ref-count churn.
3391         (WebCore::ShadowParseContext::commitLength): Use a RefPtr for the new
3392         value to avoid a leak.
3393         (WebCore::CSSParser::parseShadow): Use 'false' instead of
3394         'context.failed()', and use .release() to avoid ref-count churn.
3395         (WebCore::BorderImageParseContext::commitWidth): Updated to use
3396         OwnPtr.
3397         (WebCore::CSSParser::parseBorderImage): Use 'false' instead of
3398         'context.failed'.
3399
3400 2007-07-01  Anders Carlsson  <andersca@apple.com>
3401
3402         Reviewed by John Sullivan.
3403
3404         <rdar://problem/5297146>
3405         Crash in Mail at WebCore::Frame::setUserStyleSheetLocation (reproducible w/ particular message)
3406         
3407         * loader/Cache.cpp:
3408         (WebCore::Cache::requestResource):
3409         Only insert the resource in the LRU list if the cache is enabled.
3410         
3411         (WebCore::Cache::insertInLRUList):
3412         (WebCore::Cache::resourceAccessed):
3413         Assert that the resource is in the cache.
3414
3415 2007-07-01  Darin Adler  <darin@apple.com>
3416
3417         * css/tokenizer.flex: Rolled out the fix for 14453.
3418         The layout test wasn't passing. We'll try again.
3419
3420 2007-07-01  Adam Roben  <aroben@apple.com>
3421
3422         Fix a crash in ~PluginViewWin()
3423
3424         This crash was introduced in r23827.
3425
3426         Reviewed by Anders.
3427
3428         Fixes dom/html/level2/html/HTMLAnchorElement01.html
3429
3430         * plugins/win/PluginViewWin.cpp:
3431         (WebCore::PluginViewWin::~PluginViewWin): Allow m_plugin to be null.
3432
3433 2007-07-01  Rob Buis  <buis@kde.org>
3434
3435         Reviewed by Darin.
3436
3437         http://bugs.webkit.org/show_bug.cgi?id=14453
3438         REGRESSION: www.nzherald.co.nz almost all the formating is gone
3439  
3440         * css/tokenizer.flex: Allow hex colors with 2, 4, or 5 hex digits.
3441
3442 2007-07-01  Sam Weinig  <sam@webkit.org>
3443
3444         Reviewed by Oliver.
3445
3446         Third round of implicit 64-32 bit conversion errors fixes.
3447         <rdar://problem/5292262>
3448
3449         - Use new CSSPrimitiveValue::getDoubleValue() and CSSPrimitiveValue::getIntValue()
3450           methods instead of CSSPrimitiveValue::getFloatValue() where appropriate.
3451
3452         * css/CSSPrimitiveValue.cpp:
3453         (WebCore::CSSPrimitiveValue::computeLengthInt):
3454         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
3455         (WebCore::CSSPrimitiveValue::computeLengthShort):
3456         (WebCore::CSSPrimitiveValue::computeLengthFloat):
3457         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3458         (WebCore::CSSPrimitiveValue::getDoubleValue):
3459         * css/CSSPrimitiveValue.h:
3460         (WebCore::CSSPrimitiveValue::getDoubleValue):
3461         (WebCore::CSSPrimitiveValue::getFloatValue):
3462         (WebCore::CSSPrimitiveValue::getIntValue):
3463         * css/Counter.h:
3464         (WebCore::Counter::listStyleNumber):
3465         * css/MediaQueryEvaluator.cpp:
3466         (WebCore::parseAspectRatio):
3467         * css/cssparser.cpp:
3468         (WebCore::BorderImageParseContext::commitBorderImage):
3469         * css/cssstyleselector.cpp:
3470         (WebCore::convertToLength):
3471         (WebCore::applyCounterList):
3472         (WebCore::CSSStyleSelector::applyProperty):
3473         (WebCore::CSSStyleSelector::mapBackgroundSize):
3474         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
3475         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
3476         * html/HTMLTableElement.cpp:
3477         (WebCore::HTMLTableElement::parseMappedAttribute):
3478         * ksvg2/css/SVGCSSStyleSelector.cpp:
3479         (WebCore::CSSStyleSelector::applySVGProperty):
3480         * ksvg2/misc/KCanvasRenderingStyle.cpp:
3481         (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
3482         (WebCore::KSVGPainterFactory::dashArrayFromRenderingStyle):
3483
3484 2007-07-01  Pamela Greene  <pamg.bugs@gmail.com>
3485
3486         Reviewed by Darin.
3487
3488         Fix for <http://bugs.webkit.org/show_bug.cgi?id=14320>
3489         Bug 14320: <canvas> gradient stops at identical offsets are applied in the wrong order
3490         <rdar://problem/5290084>
3491
3492         Use std::stable_sort() instead of qsort() to sort gradient stops.
3493         Adjust the comparison function accordingly.
3494
3495         * html/CanvasGradient.cpp:
3496         (WebCore::compareStops):
3497         (WebCore::CanvasGradient::findStop):
3498
3499 2007-07-01  Holger Hans Peter Freyther  <zecke@selfish.org>
3500
3501         Reviewed by Darin.
3502
3503         m_usesPageCache was not initialized. As the b/f cache is only
3504         implemented in the Mac port and WebView.mm is taking care of calling
3505         Settings::setUsesPageCache I decided to make it false by default.
3506
3507         * page/Settings.cpp:
3508         (WebCore::Settings::Settings): m_usesPageCache was not initialized
3509
3510 2007-07-01  Holger Hans Peter Freyther  <zecke@selfish.org>
3511
3512         Reviewed by Darin.
3513
3514         Inherited- and NonInheritedFlags is a bit field. But for comparsion
3515         the other part of the union _iflags/_niflags is used for comparions.
3516         This will compare 5 uninitialized bits of _iflags and 22 of _niflags.
3517         Make sure the unused bits have a specified value.
3518
3519         * ksvg2/css/SVGRenderStyle.h:
3520         (WebCore::SVGRenderStyle::setBitDefaults): Make sure the unused bits
3521         have a value as well.
3522
3523 2007-06-30  Adam Roben  <aroben@apple.com>
3524
3525         Compile WebCore with /W4 on Windows
3526
3527         Some more warnings were disabled globally, including assignment within
3528         a conditional, unused variable, and various warnings related to
3529         inability to instantiate opaque structs.
3530
3531         In addition, the "unreachable code" warning was turned off for
3532         CSSGrammar.cpp and XPathGrammar.cpp.
3533
3534         Reviewed by Oliver.
3535
3536         * WebCore.vcproj/WebCore.vcproj:
3537
3538 2007-06-29  Adam Roben  <aroben@apple.com>
3539
3540         Give CString an equality operator to fix a bug in HTMLFormElement::formData
3541
3542         The bug was spotted by MSVC /W4. The problem was that we were comparing
3543         a CString to a char* using ==, but CString had no equality operator.
3544         The result was that the CString was being cast to a const char* and a
3545         pointer comparison was being done, which would (essentially) always
3546         return false.
3547
3548         There are two parts to the fix: get rid of CString's const char*
3549         casting operator, and add an equality operator. Previous uses of the
3550         casting operator have been changed to use CString::data().
3551
3552         Test: http/misc/isindex-formdata.html
3553
3554         Reviewed by Oliver.
3555
3556         * dom/XMLTokenizer.cpp:
3557         (WebCore::parseXMLDocumentFragment):
3558         * html/HTMLDocument.cpp:
3559         (WebCore::HTMLDocument::determineParseMode):
3560         * html/HTMLFormElement.cpp:
3561         (WebCore::HTMLFormElement::formData):
3562         * loader/TextResourceDecoder.cpp:
3563         (WebCore::TextResourceDecoder::checkForCSSCharset):
3564         * platform/CString.cpp:
3565         (WebCore::operator==):
3566         * platform/CString.h:
3567         * platform/KURL.cpp:
3568         (WebCore::encodeRelativeString):
3569         * platform/StringImpl.cpp:
3570         (WebCore::StringImpl::toDouble):
3571         * platform/network/cf/FormDataStreamCFNet.cpp:
3572         (WebCore::setHTTPBody):
3573         * platform/network/mac/FormDataStreamMac.mm:
3574         (WebCore::setHTTPBody):
3575         * platform/win/ClipboardUtilitiesWin.cpp:
3576         (WebCore::markupToCF_HTML):
3577         * plugins/win/PluginPackageWin.cpp:
3578         (WebCore::splitString):
3579         * plugins/win/PluginStreamWin.cpp:
3580         (WebCore::PluginStreamWin::startStream):
3581         (WebCore::PluginStreamWin::destroyStream):
3582         (WebCore::PluginStreamWin::sendJavaScriptStream):
3583         (WebCore::PluginStreamWin::didFinishLoading):
3584         * plugins/win/PluginViewWin.cpp:
3585         (WebCore::PluginViewWin::start):
3586         (WebCore::createUTF8String):
3587         (WebCore::PluginViewWin::userAgent):
3588         * xml/XSLStyleSheet.cpp:
3589         (WebCore::XSLStyleSheet::locateStylesheetSubResource):
3590         * xml/XSLTProcessor.cpp:
3591         (WebCore::xsltParamArrayFromParameterMap):
3592
3593 2007-06-29  Adam Roben  <aroben@apple.com>
3594
3595         Initialize two variables that MSVC /W4 isn't smart enough to realize always get initialized
3596
3597         Reviewed by John.
3598
3599         * editing/Editor.cpp:
3600         (WebCore::Editor::advanceToNextMisspelling):
3601         * html/HTMLParser.cpp:
3602
3603 2007-06-29  Adam Roben  <aroben@apple.com>
3604
3605         Fix some possibly unitialized variables found by MSVC /W4
3606
3607         Reviewed by John.
3608
3609         * rendering/bidi.cpp:
3610         (WebCore::RenderBlock::layoutInlineChildren):
3611
3612 2007-06-29  Adam Roben  <aroben@apple.com>
3613
3614         Remove bogus cast found by MSVC /W4
3615
3616         Reviewed by John and Oliver.
3617
3618         * ksvg2/css/SVGCSSParser.cpp:
3619         (WebCore::CSSParser::parseSVGValue):
3620
3621 2007-06-29  Adam Roben  <aroben@apple.com>
3622
3623         Remove unused local functions uncovered by MSVC /W4
3624
3625         Reviewed by John and Oliver.
3626
3627         * platform/win/SearchPopupMenuWin.cpp:
3628         * rendering/RenderText.cpp:
3629
3630 2007-06-29  Adam Roben  <aroben@apple.com>
3631
3632         Don't take the address of temporary values to appease MSVC /W4
3633
3634         Reviewed by Oliver.
3635
3636         No regression test possible.
3637
3638         * platform/win/PopupMenuWin.cpp:
3639         (WebCore::PopupMenu::invalidateItem):
3640         (WebCore::PopupMenu::valueChanged):
3641         (WebCore::PopupWndProc):
3642         * platform/win/ScrollViewWin.cpp:
3643         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
3644         * platform/win/UniscribeController.cpp:
3645         (WebCore::UniscribeController::shapeAndPlaceItem):
3646         * platform/win/WidgetWin.cpp:
3647         (WebCore::Widget::invalidateRect):
3648
3649 2007-06-29  Adam Roben  <aroben@apple.com>
3650
3651         Make an int -> UINT conversion explicit that MSVC /W4 complains about
3652
3653         Reviewed by John and Oliver.
3654
3655         No regression test possible.
3656
3657         * platform/win/SoundWin.cpp:
3658
3659 2007-06-29  Adam Roben  <aroben@apple.com>
3660
3661         Remove unreachable code uncovered by MSVC /W4
3662
3663         Reviewed by Oliver.
3664
3665         No regression test possible.
3666
3667         * html/CanvasRenderingContext2D.cpp:
3668         (WebCore::CanvasRenderingContext2D::createPattern):
3669         * html/HTMLAnchorElement.cpp:
3670         (WebCore::HTMLAnchorElement::isLiveLink):
3671         * html/HTMLElement.cpp:
3672         (WebCore::HTMLElement::contentEditable):
3673         * platform/DeprecatedString.cpp:
3674         (WebCore::allocateHandle):
3675         (WebCore::freeHandle):
3676         * plugins/win/npapi.cpp:
3677         (pluginViewForInstance):
3678         * rendering/RenderImage.cpp:
3679         (WebCore::RenderImage::isWidthSpecified):
3680         (WebCore::RenderImage::isHeightSpecified):
3681         * rendering/RenderTheme.cpp:
3682         (WebCore::RenderTheme::isControlStyled):
3683
3684 2007-06-29  John Sullivan  <sullivan@apple.com>
3685
3686         Reviewed by Oliver Hunt.
3687         
3688         - WebCore support for accessing the set of rectangles that encompass the selected text
3689         
3690         * page/Frame.h:
3691         * page/Frame.cpp:
3692         (WebCore::Frame::selectionTextRects):
3693         new function, fills in a passed Vector with the line box rects that represent the selected range
3694
3695         * rendering/RenderText.cpp:
3696         (WebCore::RenderText::addLineBoxRects):
3697         fixed off-by-one bug involving use of the confusing function InlineTextBox::end()
3698
3699         * WebCore.exp:
3700         exported symbol for this new function
3701
3702 2007-06-29  Justin Garcia  <justin.garcia@apple.com>
3703
3704         Reviewed by Harrison.
3705         
3706         <rdar://problem/5299513> REGRESSION: In Mail, a crash occurs when attempting to undo a newly created To Do
3707         
3708         Rolled out a change made in r23787.
3709         
3710         * editing/DeleteSelectionCommand.cpp:
3711         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3712
3713 2007-06-29  Geoffrey Garen  <ggaren@apple.com>
3714
3715         Reviewed by Darin Adler, Anders Carlsson.
3716         
3717         Fixed <rdar://problem/5303567> REGRESSION: XMLHttpRequest.responseXML 
3718         returns NULL if response MIME type is not XML -- breaks Wikipedia widget
3719         
3720         The spec says that responseXML must return null for any HTTP response
3721         with a non-XML MIME type. Technically, that leaves non-HTTP responses
3722         free to do whatever they want.
3723
3724         * xml/xmlhttprequest.cpp:
3725         (WebCore::XMLHttpRequest::getResponseXML): Only return null for non-XML
3726         MIME types if the response was HTTP.
3727
3728 2007-06-29  Sam Weinig  <sam@webkit.org>
3729
3730         Reviewed by Darin.
3731
3732         Second pass at fixing implicit 64-32 bit conversion errors.
3733         <rdar://problem/5292262>
3734
3735         - Use new JSValue::toFloat() method instead of toNumber() where
3736           appropriate.
3737
3738         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3739         (WebCore::JSCanvasRenderingContext2D::setFillColor):
3740         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
3741         (WebCore::JSCanvasRenderingContext2D::strokeRect):
3742         (WebCore::JSCanvasRenderingContext2D::drawImage):
3743         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
3744         (WebCore::JSCanvasRenderingContext2D::setShadow):
3745         * bindings/js/JSHTMLSelectElementCustom.cpp:
3746         (WebCore::JSHTMLSelectElement::remove):
3747         * bindings/js/JSSVGMatrixCustom.cpp:
3748         (WebCore::JSSVGMatrix::rotateFromVector):
3749         * bindings/js/kjs_events.cpp:
3750         (KJS::JSClipboardPrototypeFunction::callAsFunction):
3751         * bindings/scripts/CodeGeneratorJS.pm:
3752         * ksvg2/svg/SVGScriptElement.cpp:
3753         (WebCore::SVGScriptElement::executeScript):
3754
3755 2007-06-29  Adele Peterson  <adele@apple.com>
3756
3757         Rolling out fix for <rdar://problem/5301322> since it broke layout tests.
3758
3759         * html/HTMLInputElement.h:
3760         * html/HTMLTextAreaElement.h:
3761
3762 2007-06-29  Geoffrey Garen  <ggaren@apple.com>
3763
3764         Reviewed by Oliver Hunt.
3765
3766         Fixed <rdar://problem/4962298> REGRESSION: Synchronous XHR for missing 
3767         local file throws exception -- breaks Wikipedia widget
3768
3769         * WebCore.xcodeproj/project.pbxproj:
3770         * xml/xmlhttprequest.cpp:
3771         (WebCore::XMLHttpRequest::send): Don't throw exceptions for local files.
3772
3773 2007-06-29  Ada Chan  <adachan@apple.com>
3774
3775         Reviewed by Adam.
3776
3777         Fixed a previous fix to a signed/unsigned mismatch.
3778
3779         * plugins/win/PluginPackageWin.cpp:
3780         (WebCore::splitString):
3781
3782 2007-06-29  Adele Peterson  <adele@apple.com>
3783
3784         Reviewed by Ada and Kevin McCullough.
3785
3786         Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
3787
3788         Implemented canSelectAll and selectAll for text fields and textareas, since they're special cases even when they're not editable.
3789
3790         Tests:
3791         fast/forms/input-readonly-select-all.html
3792         fast/forms/textarea-readonly-select-all.html
3793
3794         * html/HTMLInputElement.h:
3795         (WebCore::HTMLInputElement::canSelectAll):
3796         (WebCore::HTMLInputElement::selectAll):
3797         * html/HTMLTextAreaElement.h:
3798         (WebCore::HTMLTextAreaElement::canSelectAll):
3799         (WebCore::HTMLTextAreaElement::selectAll):
3800
3801 2007-06-29  Adam Roben  <aroben@apple.com>
3802
3803         Build fix
3804
3805         This is what happens when you test your patch on two OSs and then
3806         commit from the wrong one.
3807
3808         * rendering/RenderTextControl.cpp:
3809         (WebCore::RenderTextControl::valueChanged):
3810         (WebCore::RenderTextControl::itemText):
3811         (WebCore::RenderTextControl::itemIsSeparator):
3812
3813 2007-06-29  Adam Roben  <aroben@apple.com>
3814
3815         Start compiling WebCore with /W3 under MSVC
3816
3817         One warning was globally disabled: implicit conversion of int to bool.
3818
3819         Reviewed by Darin.
3820
3821         * WebCore.vcproj/WebCore.vcproj:
3822
3823 2007-06-29  Adam Roben  <aroben@apple.com>
3824
3825         Turn DeprecatedStringData's copy constructor into a static method to appease MSVC /W3
3826
3827         DeprecatedStringData now has no public copy constructor. The single
3828         call to the old one has been replaced with a call to the new
3829         DeprecatedStringData::createAndAdopt static method.
3830
3831         Reviewed by Darin.
3832
3833         All regression tests pass.
3834
3835         * platform/DeprecatedString.cpp:
3836         (WebCore::DeprecatedStringData::createAndAdopt):
3837         (WebCore::DeprecatedStringData::adopt):
3838         (WebCore::DeprecatedString::detachIfInternal):
3839         * platform/DeprecatedString.h:
3840
3841 2007-06-29  Adam Roben  <aroben@apple.com>
3842
3843         Fix more signed/unsigned mismatches uncovered by MSVC /W3
3844
3845         Reviewed by John.
3846
3847         No regression tests possible.
3848
3849         * platform/network/cf/ResourceResponseCFNet.cpp:
3850         (WebCore::filenameHasSaneExtension):
3851         * platform/win/FontDataWin.cpp:
3852         (WebCore::FontData::containsCharacters):
3853         * platform/win/PlatformScrollBarSafari.cpp:
3854         (WebCore::):
3855         * platform/win/UniscribeController.cpp:
3856         (WebCore::UniscribeController::advance):
3857         (WebCore::UniscribeController::shapeAndPlaceItem):
3858         * platform/win/WebCoreTextRenderer.cpp:
3859         (WebCore::doDrawTextAtPoint):
3860         * plugins/win/PluginDatabaseWin.cpp:
3861         (WebCore::parseVersionString):
3862         * plugins/win/PluginPackageWin.cpp:
3863         (WebCore::splitString):
3864         * plugins/win/PluginViewWin.cpp:
3865         (WebCore::freeStringArray):
3866         (WebCore::PluginViewWin::invalidateTimerFired):
3867
3868 2007-06-29  Adam Roben  <aroben@apple.com>
3869
3870         Change PopupMenuClient::listSize to return an int to appease warnings from MSVC /W3
3871
3872         Reviewed by John.
3873
3874         No regression test possible.
3875
3876         * html/HTMLSelectElement.cpp:
3877         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
3878         * platform/PopupMenuClient.h:
3879         * platform/win/PopupMenuWin.cpp:
3880         (WebCore::PopupMenu::calculatePositionAndSize):
3881         (WebCore::PopupMenu::focusFirst):
3882         (WebCore::PopupMenu::focusLast):
3883         (WebCore::PopupMenu::down):
3884         (WebCore::PopupMenu::up):
3885         (WebCore::PopupMenu::paint):
3886         * rendering/RenderMenuList.cpp:
3887         * rendering/RenderMenuList.h:
3888         * rendering/RenderTextControl.cpp:
3889         * rendering/RenderTextControl.h:
3890
3891 2007-06-29  Adam Roben  <aroben@apple.com>
3892
3893         Fix two typos spotted by MSVC /W3
3894
3895         Both typos were a semicolon following the condition of an if. This
3896         would cause the intended body of the if to always execute.
3897
3898         Unfortunately neither of these fixes are testable.
3899         BackForwardList::goForward is only called from WebBackForwardList, and
3900         the createDragImageFromImage bug would only manifest itself when
3901         CreateCompatibleDC failed.
3902
3903         Reviewed by Mark.
3904
3905         * history/BackForwardList.cpp:
3906         (WebCore::BackForwardList::goForward):
3907         * platform/win/DragImageWin.cpp:
3908         (WebCore::createDragImageFromImage):
3909
3910 2007-06-29  Adam Treat  <adam@staikos.net>
3911
3912         Reviewed by george Staikos.
3913
3914         Support horizontal and vertical scroll, and set the right units.
3915
3916         * platform/qt/WheelEventQt.cpp:
3917         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3918
3919 2007-06-28  Adam Roben  <aroben@apple.com>
3920
3921         Get WebCore compiling with /W2 on Windows
3922
3923         Reviewed by Steve.
3924
3925         No regression tests affected.
3926
3927         * WebCore.vcproj/WebCore.vcproj: Turn the warning level up to 2, and
3928         disable two warnings: implicit int <=> float conversion, and class vs.
3929         struct inconsistency.
3930         * dom/CharacterData.cpp:
3931         (WebCore::CharacterData::deleteData): Cast to int before negating.
3932         * loader/Cache.cpp:
3933         (WebCore::Cache::remove): Ditto.
3934         * platform/graphics/Path.cpp:
3935         (WebCore::pathLengthApplierFunction): Consistently use floats.
3936         * platform/graphics/cg/GraphicsContextCG.cpp:
3937         (WebCore::GraphicsContext::drawEllipse): Ditto.
3938         * platform/win/GraphicsContextWin.cpp:
3939         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): Ditto.
3940
3941 2007-06-28  Geoffrey Garen  <ggaren@apple.com>
3942
3943         Reviewed by Maciej Stachowiak.
3944         
3945         Fixed <rdar://problem/5299005> DOM timers fire without a local autorelease 
3946         pool => pathologically high high water mark
3947         
3948         I couldn't measure any performance problems with iBench HTML or PLT.
3949
3950         * WebCore.xcodeproj/project.pbxproj: Changed .cpp file to be ObjC++.
3951         * platform/mac/SharedTimerMac.cpp:
3952         (WebCore::timerFired): Added autorelease pool.
3953
3954 2007-06-28  Mitz Pettel  <mitz@webkit.org>
3955
3956         Reviewed by Beth.
3957
3958         - fix http://bugs.webkit.org/show_bug.cgi?id=14118
3959           ASSERTION FAILED: !needsLayout() seen again
3960
3961         Test: fast/dynamic/recursive-layout.html
3962
3963         * page/FrameView.cpp:
3964         (WebCore::FrameView::layout): Removed the midLayout guards around
3965         the calls to invalidateSelection() and updateWidgetPositions(). Those
3966         calls may dirty the layout, but in that case they also update it, so
3967         they should be allowed to do it. Added an ASSERT to make sure that when
3968         they return, the root is not marked for layout.
3969
3970 2007-06-28  Sam Weinig  <sam@webkit.org>
3971
3972         Rubberstamped by Adam Roben.
3973
3974         Roll out r23861.  It caused the buildbot to fail on intel.
3975
3976         * page/Page.cpp:
3977         (WebCore::Page::goToItem):
3978
3979 2007-06-26  Maxime Britto  <mbritto@pleyo.com>
3980
3981         Reviewed by Geoff.
3982
3983         Patch for http://bugs.webkit.org/show_bug.cgi?id=13038
3984         ASSERTION FAILED: item->target().isEmpty() || m_mainFrame->tree()->find(item->target()) == m_mainFrame
3985
3986         Modification of an ASSERT on goToItem related to go back/forward in
3987         history.Don't need to check the frameset if the target is _blank.
3988
3989          * page/Page.cpp:
3990          (WebCore::Page::goToItem):
3991
3992 2007-06-28  Anders Carlsson  <andersca@apple.com>
3993
3994         Reviewed by Oliver.
3995
3996         <rdar://problem/5234139>
3997         <object> with PNG src rendered as image document.
3998         
3999         Complete the URL before passing it to the frame loader client.
4000         
4001         * html/HTMLObjectElement.cpp:
4002         (WebCore::HTMLObjectElement::isImageType):
4003
4004 2007-06-28  Rob Buis  <buis@kde.org>
4005
4006         Reviewed by Maciej.
4007
4008         http://bugs.webkit.org/show_bug.cgi?id=14373
4009         CSS1: selectors (classes and IDs) cannot start with a dash or with a digit
4010
4011         Make sure the id selector validates against the CSS2.1 identfier
4012         definition, not the hexcolor/HASH definition.
4013
4014         * css/CSSGrammar.y:
4015         * css/cssparser.cpp:
4016         (WebCore::CSSParser::lex):
4017         (WebCore::CSSParser::text):
4018         * css/tokenizer.flex:
4019
4020 2007-06-28  Simon Hausmann  <hausmann@kde.org>
4021
4022         Reviewed by Zack.
4023
4024         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.
4025
4026         * platform/qt/PasteboardQt.cpp:
4027         (WebCore::Pasteboard::writeSelection):
4028
4029 2007-06-28  Antti Koivisto  <antti@apple.com>
4030
4031         Reviewed by Mitz.
4032         
4033         Fix http://bugs.webkit.org/show_bug.cgi?id=14332
4034         Bug 14332: REGRESSION (r21145): <td> width ignored
4035         <rdar://problem/5290123>
4036         
4037         Cells in table with non-zero cellpadding are not considered empty.
4038
4039         * rendering/AutoTableLayout.cpp:
4040         (WebCore::AutoTableLayout::recalcColumn):
4041
4042 2007-06-28  Adam Roben  <aroben@apple.com>
4043
4044         Fix <rdar://problem/5300455> Prefast: typo in RenderBlock::paintObject
4045
4046         Reviewed by Hyatt.
4047
4048         No layout test possible, as this bug didn't have any effect since
4049         "bool & bool" has the same value as "bool && bool"
4050
4051         * rendering/RenderBlock.cpp:
4052         (WebCore::RenderBlock::paintObject): Changed & to &&.
4053
4054 2007-06-28  Adam Roben  <aroben@apple.com>
4055
4056         Fix <rdar://problem/5300443> word-break and -webkit-user-modify allow any value
4057
4058         The bug was caused by two typos found by prefast.
4059
4060         Reviewed by Hyatt.
4061
4062         * css/cssparser.cpp:
4063         (WebCore::CSSParser::parseValue): Fixed typos.
4064
4065 2007-06-20  Matt Perry  <mpComplete@gmail.com>
4066
4067         Reviewed by Adam.
4068
4069         - Fix http://bugs.webkit.org/show_bug.cgi?id=14251:
4070           onchange handler for select controls doesn't fire when changing via keyboard
4071
4072         * html/HTMLSelectElement.cpp:
4073         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Got rid of
4074         a call to saveLastSelection in the "Enter" key handler for select
4075         controls that was preventing onchange from firing.
4076
4077 2007-06-27  Sam Weinig  <sam@webkit.org>
4078
4079         Fix Gdk, Qt, and Win32 builds.
4080
4081         * WebCore.pro:
4082         * WebCore.vcproj/WebCore.vcproj:
4083
4084 2007-06-27  Sam Weinig  <sam@webkit.org>
4085
4086         Reviewed by Geoff.
4087
4088         Patch for http://bugs.webkit.org/show_bug.cgi?id=14319
4089         Move the Selection object out of the JS bindings
4090
4091         - Renames JS Object Selection to DOMSelection to avoid a name
4092           conflict.
4093
4094         * DerivedSources.make:
4095         * WebCore.xcodeproj/project.pbxproj:
4096         * bindings/js/kjs_window.cpp:
4097         (KJS::WindowPrivate::WindowPrivate):
4098         (KJS::Window::mark):
4099         (KJS::Window::clearHelperObjectProperties):
4100         (KJS::WindowFunc::callAsFunction):
4101         (KJS::Window::disconnectFrame):
4102         * bindings/js/kjs_window.h:
4103         (KJS::Window::):
4104         * page/DOMSelection.cpp: Added.
4105         (WebCore::DOMSelection::DOMSelection):
4106         (WebCore::DOMSelection::frame):
4107         (WebCore::DOMSelection::disconnectFrame):
4108         (WebCore::DOMSelection::anchorNode):
4109         (WebCore::DOMSelection::baseNode):
4110         (WebCore::DOMSelection::anchorOffset):
4111         (WebCore::DOMSelection::baseOffset):
4112         (WebCore::DOMSelection::focusNode):
4113         (WebCore::DOMSelection::extentNode):
4114         (WebCore::DOMSelection::focusOffset):
4115         (WebCore::DOMSelection::extentOffset):
4116         (WebCore::DOMSelection::isCollapsed):
4117         (WebCore::DOMSelection::type):
4118         (WebCore::DOMSelection::rangeCount):
4119         (WebCore::DOMSelection::collapse):
4120         (WebCore::DOMSelection::collapseToEnd):
4121         (WebCore::DOMSelection::collapseToStart):
4122         (WebCore::DOMSelection::empty):
4123         (WebCore::DOMSelection::setBaseAndExtent):
4124         (WebCore::DOMSelection::setPosition):
4125         (WebCore::DOMSelection::modify):
4126         (WebCore::DOMSelection::getRangeAt):
4127         (WebCore::DOMSelection::removeAllRanges):
4128         (WebCore::DOMSelection::addRange):
4129         (WebCore::DOMSelection::toString):
4130         * page/DOMSelection.h: Added.
4131         * page/DOMSelection.idl: Added.
4132         * page/DOMWindow.cpp:
4133         (WebCore::DOMWindow::disconnectFrame):
4134         (WebCore::DOMWindow::getSelection):
4135         * page/DOMWindow.h:
4136         * page/DOMWindow.idl:
4137
4138 2007-06-27  Sam Weinig  <sam@webkit.org>
4139
4140         Reviewed by Maciej.
4141
4142         2nd patch for http://bugs.webkit.org/show_bug.cgi?id=14111
4143         Autogenerate Event JS binding
4144
4145         - Cleanup kjs_events
4146
4147         * bindings/js/kjs_events.cpp:
4148         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
4149         (WebCore::JSAbstractEventListener::handleEvent):
4150         (WebCore::JSAbstractEventListener::isHTMLEventListener):
4151         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
4152         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
4153         (WebCore::JSUnprotectedEventListener::listenerObj):
4154         (WebCore::JSUnprotectedEventListener::windowObj):
4155         (WebCore::JSUnprotectedEventListener::clearWindowObj):
4156         (WebCore::JSUnprotectedEventListener::mark):
4157         (WebCore::JSEventListener::JSEventListener):
4158         (WebCore::JSEventListener::~JSEventListener):
4159         (WebCore::JSEventListener::listenerObj):
4160         (WebCore::JSEventListener::windowObj):
4161         (WebCore::JSEventListener::clearWindowObj):
4162         (WebCore::JSLazyEventListener::JSLazyEventListener):
4163         (WebCore::JSLazyEventListener::listenerObj):
4164         (WebCore::JSLazyEventListener::parseCode):
4165         (WebCore::getNodeEventListener):
4166         (WebCore::JSClipboard::JSClipboard):
4167         (WebCore::JSClipboard::getValueProperty):
4168         (WebCore::JSClipboard::putValueProperty):
4169         (WebCore::JSClipboardPrototypeFunction::callAsFunction):
4170         (WebCore::toJS):
4171         (WebCore::toClipboard):
4172         * bindings/js/kjs_events.h:
4173         (WebCore::JSClipboard::classInfo):
4174         (WebCore::JSClipboard::impl):
4175         * bindings/js/kjs_window.h:
4176         * ksvg2/events/JSSVGLazyEventListener.h:
4177
4178 2007-06-27  Sam Weinig  <sam@webkit.org>
4179
4180         Reviewed by Adam Roben.
4181
4182         Patch for http://bugs.webkit.org/show_bug.cgi?id=12045
4183         Crash under gmalloc at WTF::RefPtr<WebCore::HTMLSliderThumbElement>::operator->
4184         <rdar://problem/5286670>
4185
4186         Test: fast/forms/thumbslider-no-parent-slider.html
4187         Test: fast/forms/thumbslider-crash.html
4188
4189         * rendering/RenderObject.h:
4190         (WebCore::RenderObject::isSlider):
4191         * rendering/RenderSlider.h:
4192         (WebCore::RenderSlider::isSlider):
4193         * rendering/RenderTheme.cpp:
4194         (WebCore::RenderTheme::paint): Only paint thumbslider
4195         if the parent renderer is a RenderSlider.
4196         * rendering/RenderThemeMac.mm:
4197         (WebCore::RenderThemeMac::paintSliderThumb):
4198         * rendering/RenderThemeSafari.cpp:
4199         (WebCore::RenderThemeSafari::paintSliderThumb):
4200
4201 2007-06-27  George Staikos  <staikos@kde.org>
4202
4203         Make Qt builds link when XSLT is turned off.
4204
4205         * WebCore.pro:
4206
4207 2007-06-27  Steve Falkenburg  <sfalken@apple.com>
4208
4209         Turn on static code analysis (Windows only).
4210
4211         Affects only folks that have Visual Studio Team Suite installed,
4212         or who have replaced their compiler with the version shipping in the
4213         Vista SDK.
4214         
4215         Reviewed by Oliver.
4216
4217         * WebCore.vcproj/WebCore.vcproj:
4218
4219 2007-06-27  George Staikos  <staikos@kde.org>
4220
4221         Remove old commented out files that no-longer exist.
4222
4223         * WebCore.pro:
4224
4225 2007-06-27  Justin Garcia  <justin.garcia@apple.com>
4226
4227         Reviewed by John.
4228
4229         <rdar://problem/5247341> REGRESSION: Pasting sometimes leaves out trailing newline
4230         
4231         Pasting with a trailing interchange newline doesn't work when pasting
4232         into an empty line.  Code that handles removing brs at the insertion
4233         position tries to also handle trailing interchange newlines by re-using
4234         those brs and fails.  Removed that code and handle all interchange
4235         newlines with code later in doApply().
4236
4237         * editing/ReplaceSelectionCommand.cpp:
4238         (WebCore::ReplaceSelectionCommand::doApply): Don't try to re-use the
4239         endBR when there's a trailing interchange newline.
4240         
4241 2007-06-27  Anders Carlsson  <andersca@apple.com>
4242
4243         Reviewed by Oliver.
4244
4245         <rdar://problem/5253950>
4246         When Shockwave plugin has been loaded, exiting crashes Safari
4247         
4248         Add a "load count" for plugin packages. When the load count is zero, unload the plugin.
4249         
4250         * plugins/win/PluginPackageWin.cpp:
4251         (WebCore::PluginPackageWin::PluginPackageWin):
4252         (WebCore::PluginPackageWin::load):
4253         (WebCore::PluginPackageWin::unload):
4254         (WebCore::PluginPackageWin::unloadWithoutShutdown):
4255         * plugins/win/PluginPackageWin.h:
4256         
4257         * plugins/win/PluginViewWin.cpp:
4258         (WebCore::PluginViewWin::~PluginViewWin):
4259         Make sure to unload the plugin package and clear any references to plugin script objects.
4260
4261 2007-06-27  George Staikos  <staikos@kde.org>
4262
4263         This was succeeding compile by luck.  Setup dependencies properly.
4264
4265         * WebCore.pro:
4266
4267 2007-06-27  Justin Garcia  <justin.garcia@apple.com>
4268
4269         Reviewed by