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