2008-11-12 Alp Toker <alp@nuanti.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-11-12  Alp Toker  <alp@nuanti.com>
2
3         autotools: List web worker-related headers needed for a successful
4         build. distcheck is passing again with this change.
5
6         * GNUmakefile.am:
7
8 2008-11-12  Alp Toker  <alp@nuanti.com>
9
10         autotools build system fix-up only. Add FloatQuad.h to the source
11         lists and sort them.
12
13         * GNUmakefile.am:
14
15 2008-11-12  Alp Toker  <alp@nuanti.com>
16
17         Build fixes for r38346. FloatQuad.cpp is missing:
18
19         1) #include "config.h"
20         2) #include <algorithm> for various mathematical definitions it uses.
21
22         * platform/graphics/FloatQuad.cpp:
23
24 2008-11-12  Simon Fraser  <simon.fraser@apple.com>
25
26         Reviewed by Dan Bernstein
27
28         https://bugs.webkit.org/show_bug.cgi?id=22212
29
30         Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
31         it may be the bounding outline box of a transformed element, and fix it
32         to respect transforms by mapping the outline box to an absolute quad and
33         taking the enclosing rect.
34         
35         RenderBox::localToAbsoluteQuad() can no longer assert that there is no
36         LayoutState, but LayoutState cannot be used during quad mapping (it knows
37         nothing about transforms).
38         
39         Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
40         borderTopExtra() from the object, rather than its container (as localToAbsolute()
41         does).
42         
43         Test: fast/repaint/transform-absolute-child.html
44
45         * rendering/RenderBlock.cpp:
46         (WebCore::RenderBlock::layoutBlock):
47         * rendering/RenderBox.cpp:
48         (WebCore::RenderBox::localToAbsoluteQuad):
49         * rendering/RenderFlexibleBox.cpp:
50         (WebCore::RenderFlexibleBox::layoutBlock):
51         * rendering/RenderForeignObject.cpp:
52         (WebCore::RenderForeignObject::layout):
53         * rendering/RenderLayer.cpp:
54         (WebCore::RenderLayer::updateLayerPositions):
55         (WebCore::RenderLayer::setHasVisibleContent):
56         * rendering/RenderObject.cpp:
57         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
58         (WebCore::RenderObject::absoluteOutlineBounds):
59         * rendering/RenderObject.h:
60         * rendering/RenderPath.cpp:
61         (WebCore::RenderPath::layout):
62         * rendering/RenderReplaced.cpp:
63         (WebCore::RenderReplaced::layout):
64         * rendering/RenderSVGContainer.cpp:
65         (WebCore::RenderSVGContainer::layout):
66         * rendering/RenderSVGImage.cpp:
67         (WebCore::RenderSVGImage::layout):
68         * rendering/RenderSVGRoot.cpp:
69         (WebCore::RenderSVGRoot::layout):
70         * rendering/RenderSVGText.cpp:
71         (WebCore::RenderSVGText::layout):
72         * rendering/RenderSVGViewportContainer.cpp:
73         (WebCore::RenderSVGViewportContainer::layout):
74         * rendering/RenderTable.cpp:
75         (WebCore::RenderTable::layout):
76
77 2008-11-12  Simon Fraser  <simon.fraser@apple.com>
78
79         Reviewed by Dave Hyatt
80
81         https://bugs.webkit.org/show_bug.cgi?id=21942
82         https://bugs.webkit.org/show_bug.cgi?id=18557
83         
84         Add methods which can be used to map renderer-local rectangles
85         to quads in absolute coordinates, taking transforms into account:
86             localToAbsoluteQuad() converts a local rect into an absolute quad.
87             collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects()
88                 that works with quads.
89             absoluteQuads() is an analogue of absoluteRects(), for quads.
90         
91         Use the quad methods to fix the inspector highlight for transformed
92         elements.
93
94         * GNUmakefile.am:
95         * WebCore.pro:
96         * WebCore.vcproj/WebCore.vcproj:
97         * WebCore.xcodeproj/project.pbxproj:
98         * WebCoreSources.bkl:
99         * inspector/InspectorController.cpp:
100         (WebCore::drawOutlinedQuad):
101         (WebCore::drawHighlightForBoxes):
102         (WebCore::frameToMainFrameOffset):
103         (WebCore::InspectorController::drawNodeHighlight):
104         * platform/graphics/AffineTransform.cpp:
105         (WebCore::AffineTransform::mapQuad):
106         * platform/graphics/AffineTransform.h:
107         * platform/graphics/FloatQuad.cpp: Added.
108         (WebCore::min4):
109         (WebCore::max4):
110         (WebCore::FloatQuad::boundingBox):
111         * platform/graphics/FloatQuad.h: Added.
112         (WebCore::FloatQuad::FloatQuad):
113         (WebCore::FloatQuad::p1):
114         (WebCore::FloatQuad::p2):
115         (WebCore::FloatQuad::p3):
116         (WebCore::FloatQuad::p4):
117         (WebCore::FloatQuad::setP1):
118         (WebCore::FloatQuad::setP2):
119         (WebCore::FloatQuad::setP3):
120         (WebCore::FloatQuad::setP4):
121         (WebCore::FloatQuad::isEmpty):
122         (WebCore::FloatQuad::enclosingBoundingBox):
123         (WebCore::FloatQuad::move):
124         (WebCore::operator+=):
125         (WebCore::operator-=):
126         (WebCore::operator==):
127         (WebCore::operator!=):
128         * rendering/RenderBox.cpp:
129         (WebCore::RenderBox::localToAbsoluteQuad):
130         * rendering/RenderBox.h:
131         * rendering/RenderContainer.cpp:
132         (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
133         * rendering/RenderContainer.h:
134         * rendering/RenderInline.cpp:
135         (WebCore::RenderInline::absoluteQuads):
136         * rendering/RenderInline.h:
137         * rendering/RenderObject.cpp:
138         (WebCore::RenderObject::absoluteBoundingBoxRect):
139         (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
140         (WebCore::RenderObject::absoluteQuads):
141         (WebCore::RenderObject::localToAbsoluteQuad):
142         (WebCore::RenderObject::absoluteContentQuad):
143         * rendering/RenderObject.h:
144         * rendering/RenderPath.cpp:
145         (WebCore::RenderPath::absoluteQuads):
146         * rendering/RenderPath.h:
147         * rendering/RenderSVGContainer.cpp:
148         (WebCore::RenderSVGContainer::absoluteQuads):
149         * rendering/RenderSVGContainer.h:
150         * rendering/RenderSVGHiddenContainer.cpp:
151         (WebCore::RenderSVGHiddenContainer::absoluteQuads):
152         * rendering/RenderSVGHiddenContainer.h:
153         * rendering/RenderSVGImage.cpp:
154         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
155         (WebCore::RenderSVGImage::absoluteQuads):
156         * rendering/RenderSVGImage.h:
157         * rendering/RenderSVGInlineText.cpp:
158         (WebCore::RenderSVGInlineText::absoluteQuads):
159         (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
160         * rendering/RenderSVGInlineText.h:
161         * rendering/RenderSVGRoot.cpp:
162         (WebCore::RenderSVGRoot::absoluteQuads):
163         * rendering/RenderSVGRoot.h:
164         * rendering/RenderSVGTSpan.cpp:
165         (WebCore::RenderSVGTSpan::absoluteRects):
166         (WebCore::RenderSVGTSpan::absoluteQuads):
167         * rendering/RenderSVGTSpan.h:
168         * rendering/RenderSVGText.cpp:
169         (WebCore::RenderSVGText::absoluteRects):
170         (WebCore::RenderSVGText::absoluteQuads):
171         * rendering/RenderSVGText.h:
172         * rendering/RenderSVGTextPath.cpp:
173         (WebCore::RenderSVGTextPath::absoluteRects):
174         (WebCore::RenderSVGTextPath::absoluteQuads):
175         * rendering/RenderSVGTextPath.h:
176         * rendering/RenderTableCell.cpp:
177         (WebCore::RenderTableCell::localToAbsolute):
178         (WebCore::RenderTableCell::localToAbsoluteQuad):
179         * rendering/RenderTableCell.h:
180         * rendering/RenderText.cpp:
181         (WebCore::RenderText::absoluteQuads):
182         (WebCore::RenderText::collectAbsoluteLineBoxQuads):
183         * rendering/RenderText.h:
184         * rendering/RenderView.cpp:
185         (WebCore::RenderView::localToAbsoluteQuad):
186         (WebCore::RenderView::absoluteQuads):
187         * rendering/RenderView.h:
188
189 2008-11-12  Brent Fulgham <bfulgham@gmail.com>
190
191         Fix Bug 22178: Build errors in WebKit Cairo port
192
193         <https://bugs.webkit.org/show_bug.cgi?id=22178>
194
195         Reviewed by Mark Rowe.
196
197         * platform/graphics/cairo/PatternCairo.cpp: Correct build error under
198         Visual Studio.
199         (WebCore::Pattern::createPlatformPattern):
200
201 2008-11-12  Adam Roben  <aroben@apple.com>
202
203         Fix a typo in the include path for the Release_Cairo configuration
204
205         * WebCore.vcproj/WebCore.vcproj: Fixed "caro" -> "cairo" typo.
206
207 2008-11-12  Simon Fraser  <simon.fraser@apple.com>
208
209         Reviewed by Dave Hyatt
210
211         https://bugs.webkit.org/show_bug.cgi?id=17840
212         Patch 2
213         
214         Code cleanup in RenderBox::computeAbsoluteRepaintRect().
215
216         * rendering/RenderBox.cpp:
217         (WebCore::RenderBox::computeAbsoluteRepaintRect):
218
219 2008-11-12  Simon Fraser  <simon.fraser@apple.com>
220
221         Reviewed by Dave Hyatt
222
223         https://bugs.webkit.org/show_bug.cgi?id=17840
224
225         Fix repainting when the transform on a positioned element changes.
226         In computeAbsoluteRepaintRect(), add the offsets due to relative positioning,
227         and being in a positioned container after applying the transform to the local
228         rect.
229
230         Tests: fast/repaint/transform-absolute-in-positioned-container.html
231                fast/repaint/transform-relative-position.html
232
233         * rendering/RenderBox.cpp:
234         (WebCore::RenderBox::computeAbsoluteRepaintRect):
235
236 2008-11-12  Justin Garcia  <justin.garcia@apple.com>
237  
238         Reviewed by Beth Dakin.
239  
240         <rdar://problem/5495723> Selecting and deleting quoted text quotes other text
241         <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted
242         
243         We don't want to merge into a block if it will mean changing the quote level of content after deleting 
244         selections that contain a whole number paragraphs plus a line break, since it is unclear to most users 
245         that such a selection actually ends at the start of the next paragraph.  Instead we want to completely
246         remove the selected paragraph(s) and all evidence of the first one's quote level.  This matches TextEdit behavior 
247         for indented paragraphs.
248  
249         * editing/DeleteSelectionCommand.cpp:
250         (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not
251         try to merge after the deletion.  Instead try and prune the start block or blocks if they've been emptied
252         so that we remove evidence of the deleted paragraphs' quote level.
253         (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary.  Also 
254         make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection 
255         started on, instead of one higher.
256         * editing/DeleteSelectionCommand.h:
257         * editing/htmlediting.cpp:
258         (WebCore::numEnclosingMailBlockquotes): Added.
259         * editing/htmlediting.h:
260
261 2008-11-10  Tor Arne Vestbø  <tavestbo@trolltech.com>
262
263         Reviewed by Simon Hausmann.
264
265         Move _web_encodingForResource from WebKit into WebCore and change return type
266
267         This change is needed to implement NSAPI in WebCore for Mac, see:
268
269         https://bugs.webkit.org/show_bug.cgi?id=21427
270
271         * WebCore.base.exp:
272         * platform/mac/WebCoreNSStringExtras.h:
273         * platform/mac/WebCoreNSStringExtras.mm:
274         (stringEncodingForResource):
275
276 2008-11-10  Tor Arne Vestbø  <tavestbo@trolltech.com>
277
278         Reviewed by Simon Hausmann.
279
280         Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
281         WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
282
283         This change is needed to implement NSAPI in WebCore for Mac, see:
284
285         https://bugs.webkit.org/show_bug.cgi?id=21427
286
287         * WebCore.base.exp:
288         * platform/mac/WebCoreNSStringExtras.h:
289         * platform/mac/WebCoreNSStringExtras.mm:
290         (stringIsCaseInsensitiveEqualToString):
291
292 2008-11-11  Stephanie  <slewis@apple.com>
293
294         Reviewed by Dan Bernstein.
295
296         Null check image data before setting it as image source.
297
298         Test: fast/images/image-empty-data.html
299
300         * platform/graphics/BitmapImage.cpp:
301         (WebCore::BitmapImage::destroyDecodedData):
302
303 2008-11-11  Adele Peterson  <adele@apple.com>
304
305         Reviewed by Tim Hatcher.
306
307         Remove ifdef so future OS versions can use the new delegate method.
308
309         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
310
311 2008-11-11  Eric Seidel  <eric@webkit.org>
312
313         Reviewed by Antti Koivisto and Sam Weinig.
314
315         Clean up HTMLTokenizer a litle
316         https://bugs.webkit.org/show_bug.cgi?id=22188
317
318         Rename pendingScripts to m_pendingScripts
319         Rename scriptNode to m_scriptNode make the type specific
320         Rename pendingSrc to m_pendingSrc
321         Rename currentPrependingSrc to m_currentPrependingSrc
322         Rename noMoreData to m_noMoreData and cBuffer to m_cBuffer
323         Remove long-since-dead kdDebug and qDebug calls
324         Rename brokenComments to m_brokenComments
325         Remove HTMLTokenizer includes and document the rest
326         Rename src to m_src
327         Rename parser to m_parser and make it an OwnPtr
328         Rename inWrite to m_inWrite and jsProxy to scriptController
329         Rename brokenServer to m_brokenServer
330         Rename buffer to m_buffer and dest to m_dest
331         Rename size to m_bufferSize
332         Rename attrName to m_attrName
333         Rename searchStopper to m_searchStopper and searchStopperLen to m_searchStopperLen
334         Rename scriptCode* to m_scriptCode* and change scriptCodeMax to m_scriptCodeCapacity
335         Rename scriptStartLineno to m_currentScriptTagStartLineNumber and tagStartLineno to m_currentTagStartLineNumber
336         Rename scriptSrc to m_scriptTagSrcAttrValue and scriptSrcCharset to m_scriptTagCharsetAttrValue -- a bit unwieldy, but more precise
337         Rename flat to selfClosingTag
338         Rename currToken to m_currentToken
339
340         * css/CSSParser.cpp:
341         * dom/XMLTokenizer.cpp:
342         * dom/XMLTokenizerLibxml2.cpp:
343         * html/HTMLDocument.cpp:
344         * html/HTMLElement.cpp:
345         * html/HTMLFormControlElement.cpp:
346         * html/HTMLParser.h:
347         * html/HTMLTokenizer.cpp:
348         (WebCore::Token::addAttribute):
349         (WebCore::HTMLTokenizer::HTMLTokenizer):
350         (WebCore::HTMLTokenizer::reset):
351         (WebCore::HTMLTokenizer::begin):
352         (WebCore::HTMLTokenizer::processListing):
353         (WebCore::HTMLTokenizer::parseSpecial):
354         (WebCore::HTMLTokenizer::scriptHandler):
355         (WebCore::HTMLTokenizer::scriptExecution):
356         (WebCore::HTMLTokenizer::parseComment):
357         (WebCore::HTMLTokenizer::parseServer):
358         (WebCore::HTMLTokenizer::parseProcessingInstruction):
359         (WebCore::HTMLTokenizer::parseText):
360         (WebCore::HTMLTokenizer::parseEntity):
361         (WebCore::HTMLTokenizer::parseTag):
362         (WebCore::HTMLTokenizer::write):
363         (WebCore::HTMLTokenizer::processingData):
364         (WebCore::HTMLTokenizer::end):
365         (WebCore::HTMLTokenizer::finish):
366         (WebCore::HTMLTokenizer::processToken):
367         (WebCore::HTMLTokenizer::processDoctypeToken):
368         (WebCore::HTMLTokenizer::~HTMLTokenizer):
369         (WebCore::HTMLTokenizer::enlargeBuffer):
370         (WebCore::HTMLTokenizer::enlargeScriptBuffer):
371         (WebCore::HTMLTokenizer::notifyFinished):
372         (WebCore::HTMLTokenizer::setSrc):
373         * html/HTMLTokenizer.h:
374         (WebCore::Token::Token):
375         (WebCore::Token::reset):
376         (WebCore::HTMLTokenizer::processingContentWrittenByScript):
377         (WebCore::HTMLTokenizer::htmlParser):
378         (WebCore::HTMLTokenizer::checkBuffer):
379         (WebCore::HTMLTokenizer::checkScriptBuffer):
380         * html/HTMLViewSourceDocument.h:
381         * rendering/RenderBlock.cpp:
382         (WebCore::RenderBlock::leftRelOffset):
383         (WebCore::RenderBlock::rightRelOffset):
384         (WebCore::RenderBlock::lineWidth):
385         * xml/XSLTProcessor.cpp:
386
387 2008-11-11  Sam Weinig  <sam@webkit.org>
388
389         Reviewed by Dan Bernstein.
390
391         Fix for https://bugs.webkit.org/show_bug.cgi?id=22189
392         Track CachedScript decoded data
393
394         We now track the decoded size of CachedScripts in the Cache allowing
395         them to accounted for when deciding when to evict data.  The decoded
396         data itself can be evicted when Cache pressure gets high enough through
397         CachedScript::destroyDecodedData.
398
399         * loader/CachedResource.h:
400         (WebCore::CachedResource::allClientsRemoved):
401         (WebCore::CachedResource::destroyDecodedData):
402         * loader/CachedScript.cpp:
403         (WebCore::CachedScript::script):
404         (WebCore::CachedScript::data):
405         (WebCore::CachedScript::destroyDecodedData):
406         * loader/CachedScript.h:
407
408 2008-11-11  Cameron Zwarich  <zwarich@apple.com>
409
410         Reviewed by Geoff Garen.
411
412         Remove pointless dependencies on the now-deleted kjs directory and
413         mentions of it in comments that are no longer relevant.
414
415         * WebCore.pro:
416         * webcore-base.bkl:
417
418 2008-11-11  Dan Bernstein  <mitz@apple.com>
419
420         Reviewed by Adam Roben.
421
422         WebCore part of adding a master volume control for media elements in a WebView
423
424         * WebCore.base.exp: Exported WebCore::Page::setMediaVolume().
425         * dom/Document.cpp:
426         (WebCore::Document::mediaVolumeDidChange): Added. Called by the Page
427         when the media volume is changed.
428         (WebCore::Document::registerForMediaVolumeCallbacks): Added. Allows
429         elements to register for a callback when the media volume is changed.
430         (WebCore::Document::unregisterForMediaVolumeCallbacks): Added. Allows
431         elements to unregister for the callback.
432         * dom/Document.h:
433         * dom/Element.h:
434         (WebCore::Element::mediaVolumeDidChange): Added an empty implementation.
435         * html/HTMLMediaElement.cpp:
436         (WebCore::HTMLMediaElement::HTMLMediaElement): Added a call to
437         registerForMediaVolumeCallbacks().
438         (WebCore::HTMLMediaElement::~HTMLMediaElement): Added a call to
439         unregisterForMediaVolumeCallbacks().
440         (WebCore::HTMLMediaElement::updateVolume): Changed to multiply the
441         element's intrinsic volume by the master volume from the page.
442         (WebCore::HTMLMediaElement::mediaVolumeDidChange): Added. Calls
443         updateVolume().
444         * html/HTMLMediaElement.h:
445         * page/Page.cpp:
446         (WebCore::Page::Page): Initialize m_mediaVolume to 1.
447         (WebCore::Page::setMediaVolume): Added. Calls mediaVolumeDidChange() on
448         every document in the page when the master volume changes.
449         * page/Page.h:
450         (WebCore::Page::mediaVolume): Added this getter.
451
452 2008-11-11  David Hyatt  <hyatt@apple.com>
453
454         https://bugs.webkit.org/show_bug.cgi?id=22182
455
456         Fix problems with scrollbars when the OS setting for clicks in the track jumping the thumb to that location
457         is turned on.  Make sure to only jump the thumb if the click happens in the track.  Also fix some math
458         errors when jumping the thumb that cause dragging after the jump to incorrectly jump the thumb again.
459
460         Reviewed by Adele
461
462         * platform/Scrollbar.cpp:
463         (WebCore::Scrollbar::mouseDown):
464
465 2008-11-11  Beth Dakin  <bdakin@apple.com>
466
467         Reviewed by Darin Adler.
468
469         Fix for <rdar://problem/5089327> Too much indentation when pasting 
470         quoted paragraphs
471
472         This patch re-addresses pasting blockquotes into blockquotes. It 
473         backs out most of revision 38273. 38273 fixed the bug by inserting 
474         the pasted content as a sibling blockquote node to the pre-existing 
475         blockquote node. The problem with that is that by default, 
476         blockquotes have a giant margin, so visually, this can be weird. 
477         This patch instead inserts the pasted content as siblings of the 
478         the content already inside the outer blockquote, and then removes 
479         the blockquote node from the pasted content itself, so that it 
480         doesn't nest itself into the outer blockquote.
481         * editing/ReplaceSelectionCommand.cpp:
482         (WebCore::ReplaceSelectionCommand::doApply):
483
484         Move contains() from Element to Node since there is nothing 
485         Element-specific about it.
486         * dom/Element.cpp:
487         * dom/Element.h:
488         * dom/Node.cpp:
489         (WebCore::Node::contains):
490         * dom/Node.h:
491
492 2008-11-11  David Hyatt  <hyatt@apple.com>
493
494         https://bugs.webkit.org/show_bug.cgi?id=17997
495
496         Stop using the new Leopard API tiling call for scaled tiles when drawing background images.  The method
497         is buggy.  Fall back to using the slower (and more correct) pattern tiling that Tiger still uses.  This
498         is a Leopard-only workaround, since the API has been fixed on Snow Leopard.
499
500         Reviewed by John Sullivan
501
502         * platform/graphics/cg/ImageCG.cpp:
503         (WebCore::Image::drawPattern):
504
505 2008-11-10  David Hyatt  <hyatt@apple.com>
506
507         Disable the Aqua look for menu lists when full page zoom is turned on.  Because the control is buggy
508         when scaling and because it's impossible to paint into an offscreen bitmap without completely rewriting
509         how we draw the control on Mac, our only real option for now is to just switch to our styled look when zoomed.
510
511         Reviewed by Adam Roben
512
513         * rendering/RenderThemeMac.mm:
514         (WebCore::RenderThemeMac::isControlStyled):
515
516 2008-11-11  Darin Adler  <darin@apple.com>
517
518         Reviewed by Dan Bernstein.
519
520         - https://bugs.webkit.org/show_bug.cgi?id=22160
521         speculative fix for <rdar://problem/5995450> Nil deref because nextLinePosition
522         (previousLinePosition, too) uses a nil node
523
524         * editing/visible_units.cpp:
525         (WebCore::nextLinePosition): Use RenderObject::node instead of RenderObject::element
526         to check editingIgnoresContent. It makes sense to use the associated DOM node for
527         this, even in cases of anonymous content, and it avoids the case where element() can
528         be 0.
529         (WebCore::previousLinePosition): Ditto.
530
531 2008-11-11  Dirk Schulze  <vbs85@gmx.de>
532
533         Reviewed by Darin Adler.
534
535         Removed default: in applySpreadMethod. This causes the problems
536         in radial gradients. We don't need CAIRO_EXTEND_NONE in SVG, Canvas
537         or CSS.
538
539         * platform/graphics/cairo/GraphicsContextCairo.cpp:
540         (WebCore::applySpreadMethod):
541
542 2008-11-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
543
544         Reviewed by Tor Arne Vestbø.
545
546         Fix crash when rendering the file chooser.
547         Also proper implementation for multi-selected files.
548
549         * platform/qt/FileChooserQt.cpp:
550         (WebCore::FileChooser::basenameForWidth):
551
552 2008-11-11  Dirk Schulze  <vbs85@gmx.de>
553
554         Reviewed by Oliver Hunt.
555
556         PatternCairo needs to invert the pattern matrix because
557         of transformation from user space to pattern space.
558         Give a identity matrix to pattern for Qt and Cairo. Because the 
559         context is transformed already.
560
561         [CAIRO][QT] Canvas transformations applied twice to Patterns
562         https://bugs.webkit.org/show_bug.cgi?id=21555
563
564         * platform/graphics/cairo/GraphicsContextCairo.cpp:
565         (WebCore::GraphicsContext::fillPath):
566         (WebCore::GraphicsContext::strokePath):
567         * platform/graphics/cairo/PatternCairo.cpp:
568         (WebCore::Pattern::createPlatformPattern):
569         * platform/graphics/qt/GraphicsContextQt.cpp:
570         (WebCore::GraphicsContext::strokePath):
571         (WebCore::GraphicsContext::fillRect):
572
573 2008-11-10  Stephanie Lewis  <slewis@apple.com>
574
575         Reviewed by Dan Bernstein.
576
577         Clear the image source cache even if we haven't decoded any of the image data.
578         We use the image source cache when calculating layout.
579
580         * loader/Cache.cpp:
581         (WebCore::Cache::pruneDeadResources):
582         * platform/graphics/BitmapImage.cpp:
583         (WebCore::BitmapImage::destroyDecodedData):
584
585 2008-11-10  Adam Roben  <aroben@apple.com>
586
587         Fix Bug 22161: Assertion failure in RenderThemeWin::systemColor when
588         loading microsoftpdc.com
589
590         <https://bugs.webkit.org/show_bug.cgi?id=22161>
591
592         Reviewed by Dan Bernstein.
593
594         Test: fast/css/outline-invert-assertion.html
595
596         * rendering/RenderThemeWin.cpp:
597         (WebCore::RenderThemeWin::systemColor): If we can't determine a good
598         Win32 system color to use, defer to RenderTheme instead of asserting.
599         This matches what RenderThemeMac does.
600
601 2008-11-10  Justin Garcia  <justin.garcia@apple.com>
602
603         Reviewed by Beth Dakin.
604
605         <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text 
606         into quoted text yields double-quoting
607         
608         Don't nest inserted content in Mail blockquotes.  Perform a 
609         BreakBlockquoteCommand if we're in
610         one and insert the incoming fragment between the split blockquotes.
611
612         * editing/ReplaceSelectionCommand.cpp:
613         (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from -> 
614         source and to -> destination.
615         (WebCore::ReplaceSelectionCommand::doApply):
616
617 2008-11-10  Adam Roben  <aroben@apple.com>
618
619         Fix Bug 22158: Would like to turn on WebCore logging channels via an
620         environment variable
621
622         <https://bugs.webkit.org/show_bug.cgi?id=22158>
623
624         Logging channels can now be enabled by setting the WebCoreLogLevel
625         environment variable to a hexadecimal number.
626
627         Reviewed by Anders Carlsson.
628
629         * WebCore.vcproj/WebCore.vcproj: Added LoggingWin.cpp.
630         * platform/win/LoggingWin.cpp: Copied from WebCore/platform/mac/LoggingMac.mm.
631         (WebCore::initializeWithUserDefault): Read in the WebCoreLogLevel
632         environment variable, parse its value as a hexadecimal number, and
633         turn the channel on/off based on whether the mask bit is set.
634         (WebCore::InitializeLoggingChannelsIfNecessary): Initialize each
635         logging channel in turn.
636
637 2008-11-10  Darin Adler  <darin@apple.com>
638
639         Reviewed by Adam Roben.
640
641         - fix https://bugs.webkit.org/show_bug.cgi?id=22103
642           Changing fonts in preferences does not immediately update WebViews
643
644         This broke when the meaning of FrameView::invalidate changed.
645         I changed setNeedsReapplyStyles to no longer depend on invalidate.
646
647         * dom/Document.cpp: (WebCore::Document::shouldScheduleLayout):
648         Removed the part of this function that duplicated what's already in
649         FrameView::needsLayout, since the copy here left out a few key things.
650         For example, it didn't handle the fact that "needs reapply styles"
651         counts as needing layout.
652
653         * page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles): This called
654         FrameView::invalidate before. There were two things wrong with that.
655         1) It requested that the entire view repaint even if the style change
656         didn't necessitate that. 2) FrameView::invalidate no longer causes any
657         repainting at all in certain cases, because of Hyatt's changes to how
658         widgets and the host window are involved in the repainting process.
659         So call FrameView::scheduleRelayout instead, which is more precisely
660         what we want and need here.
661
662         * page/FrameView.cpp:
663         (WebCore::FrameView::scheduleRelayout): Add a call to needsLayout here
664         so that Document::shouldScheduleLayout doesn't have to replicate the
665         logic that's in needsLayout and can instead rely on the fact that it
666         was already called.
667         (WebCore::FrameView::needsLayout): Tweaked the comments and formatting
668         in this function.
669
670 2008-11-10  Darin Adler  <darin@apple.com>
671
672         Reviewed by Adam Roben.
673
674         - speculative fix for <rdar://problem/5557243> crashes in Safari at
675           WebCore::HTMLSelectElement::updateListBoxSelection + 280
676
677         * html/HTMLSelectElement.cpp:
678         (WebCore::HTMLSelectElement::updateListBoxSelection):
679         Check index against size of vector before indexing into the vector.
680
681 2008-11-10  Tom Cooksey  <thomas.cooksey@trolltech.com>
682
683         Reviewed by Tor Arne Vestbø.
684
685         Fix QtWebkit build failure on arm.
686
687         pen.widthF() is a qreal, which means it's a float on arm.
688
689         * platform/graphics/qt/GraphicsContextQt.cpp:
690         (WebCore::GraphicsContext::setLineDash):
691
692 2008-11-10  Morten Sørvig  <msorvig@trolltech.com>
693
694         Reviewed by Simon Hausmann.
695
696         Improve mouse wheel scolling on Qt/Cocoa.
697         Cocoa differs from Carbon (and other platforms I think) in that the
698         mouse wheel events we get have a much higher acceleration factor.
699
700         This submit switches over to scroll-per-pixel from scroll-per-line
701         for most of our scrolling views. This matches the native views
702         and works well with the increased acceleration.
703
704         * platform/qt/WheelEventQt.cpp:
705
706 2008-11-09  Cameron Zwarich  <zwarich@apple.com>
707
708         Reviewed by Darin Adler.
709
710         Bug 19541: Null pointer in showModalDialog()
711         <https://bugs.webkit.org/show_bug.cgi?id=19541>
712
713         Add null frame->page() checks to JSDOMWindowBase::canShowModalDialog()
714         and JSDOMWindowBase::canShowModalDialogNow()C
715
716         * bindings/js/JSDOMWindowBase.cpp:
717         (WebCore::canShowModalDialog):
718         (WebCore::canShowModalDialogNow):
719
720 2008-11-09  Darin Adler  <darin@apple.com>
721
722         - try to fix Windows build
723
724         * platform/graphics/Color.cpp: For some reason MSVC doesn't follow the rules
725         about needed a separate definition for static const integer data members.
726         Until I get to the bottom of this, put the definitions inside an ifdef.
727
728 2008-11-09  David Kilzer  <ddkilzer@apple.com>
729
730         BUILD FIX: Qt build broke after r38235.
731
732         Added HAVE(ACCESSIBILITY) header guards to platform implementation
733         source files.
734
735         * page/gtk/AccessibilityObjectAtk.cpp: Added HAVE(ACCESSIBILITY)
736         guards.
737         * page/gtk/AccessibilityObjectWrapperAtk.cpp: Ditto.
738         * page/qt/AccessibilityObjectQt.cpp: Ditto.
739         * page/win/AccessibilityObjectWin.cpp: Ditto.
740         * page/wx/AccessibilityObjectWx.cpp: Ditto.
741
742 2008-11-09  Alexey Proskuryakov  <ap@webkit.org>
743
744         Reviewed by Darin Adler.
745
746         https://bugs.webkit.org/show_bug.cgi?id=22104
747         Javascript URL percent encoding/decoding broken by some characters
748
749         Test: fast/loader/javascript-url-encoding-2.html
750
751         * platform/KURL.cpp: (WebCore::encodeRelativeString): Don't try to break down javascript URLs.
752
753 2008-11-09  Holger Hans Peter Freyther  <zecke@selfish.org>
754
755         Reviewed and tweaked by Darin Adler.
756
757         * platform/graphics/Color.cpp: Added definitions for the static data members
758         in this class. Static data members need a definition, even when they are the
759         simple integer constant kind that can be initialized in the header.
760
761 2008-11-08  Antti Koivisto  <antti@apple.com>
762
763         Reviewed by Sam Weinig.
764         
765         Fix https://bugs.webkit.org/show_bug.cgi?id=22141
766         REGRESSION: Safari error page is not fully styled when loaded from cache
767         
768         Reset text decoder on flush so it does not pass through the BOM when it is reused.
769
770         Test: fast/encoding/css-cached-bom.html
771
772         * loader/TextResourceDecoder.cpp:
773         (WebCore::TextResourceDecoder::flush):
774
775 2008-11-08  Kevin Ollivier  <kevino@theolliviers.com>
776  
777         Reviewed by Mark Rowe.
778
779         Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree,
780         it was causing these errors to end up in the page's text representation.
781
782         * platform/network/curl/ResourceHandleManager.cpp:
783         (WebCore::ResourceHandleManager::downloadTimerCallback):
784
785 2008-11-08  Kevin Ollivier  <kevino@theolliviers.com>
786
787         wx build fixes after addition of JSCore parser and bycompiler dirs. 
788
789         * webcore-base.bkl:
790         * webcore-wx.bkl:
791
792 2008-11-08  Simon Fraser  <simon.fraser@apple.com>
793
794         Reviewed by Dan Bernstein
795
796         https://bugs.webkit.org/show_bug.cgi?id=21906
797         
798         Override addFocusRingRects() in RenderTextControl to avoid
799         the RenderFlow behavior of recursing on descendent renderers.
800         RenderTextControl should only ever need a simple focus rect.
801         
802         This fixes focus ring issues with transforms on text controls.
803         
804         Test: fast/transforms/transformed-focused-text-input.html
805
806         * rendering/RenderTextControl.cpp:
807         (WebCore::RenderTextControl::addFocusRingRects):
808         * rendering/RenderTextControl.h:
809
810 2008-11-08  Dimitri Dupuis-Latour  <dupuislatour@apple.com>
811
812         Make sure the icon thumbnail width/height is at least 1px in
813         the Web Inspector's resource panel.
814
815         <rdar://problem/5988888>
816
817         Reviewed by Tim Hatcher.
818
819         * inspector/front-end/inspector.css:
820
821 2008-11-08  David Kilzer  <ddkilzer@apple.com>
822
823         Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
824
825         <https://bugs.webkit.org/show_bug.cgi?id=22137>
826
827         Reviewed by Darin Adler.
828
829         * page/AccessibilityObject.h:
830         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
831         Provide a default implementation when HAVE(ACCESSIBILITY) is false.
832         * page/mac/AXObjectCacheMac.mm: Added HAVE(ACCESSIBILITY) guard.
833         * page/mac/AccessibilityObjectMac.mm: Ditto.
834         * page/mac/AccessibilityObjectWrapper.mm: Ditto.
835
836 2008-11-08  Dan Bernstein  <mitz@apple.com>
837
838         Reviewed by Darin Adler.
839
840         - WebCore part of adding WebPreferences for controlling databases and local storage
841
842         * WebCore.base.exp: Exported Settings::setDatabasesEnabled() and
843         Settings::setLocalStorageEnabled().
844         * page/DOMWindow.cpp:
845         (WebCore::DOMWindow::localStorage): Changed to return 0 if local storage
846         is disabled in settings.
847         (WebCore::DOMWindow::openDatabase): Changed to return 0 if databases
848         are disabled in settings.
849         * page/Settings.cpp:
850         (WebCore::Settings::Settings): Initialize m_databasesEnabled and
851         m_localStorageEnabled.
852         (WebCore::Settings::setDatabasesEnabled): Added.
853         (WebCore::Settings::setLocalStorageEnabled): Added.
854         * page/Settings.h:
855         (WebCore::Settings::databasesEnabled): Added.
856         (WebCore::Settings::localStorageEnabled): Added.
857
858 2008-11-07  Alp Toker  <alp@nuanti.com>
859
860         Fix build with bleeding edge GTK+ versions. GTK+ and other libraries
861         now require that only their top-level header file is included.
862
863         Patch tested and still builds fine with older GTK+ versions (back to
864         2.8).
865
866         Future WebKit GTK+ contributions are required to adhere to this
867         policy.
868
869         * platform/gtk/FileSystemGtk.cpp:
870         * platform/gtk/KeyEventGtk.cpp:
871         * platform/gtk/MouseEventGtk.cpp:
872         * platform/gtk/WheelEventGtk.cpp:
873         * platform/gtk/gtkdrawing.h:
874         * plugins/gtk/gtk2xtbin.c:
875         * plugins/gtk/gtk2xtbin.h:
876
877 2008-11-07  Anders Carlsson  <andersca@apple.com>
878
879         Reviewed by Kevin Decker
880
881         Explicitly initialize the NPDrawingModelCoreAnimation.
882
883         * bridge/npapi.h:
884
885 2008-11-07  Alp Toker  <alp@nuanti.com>
886
887         autotools fix. Always use the configured perl binary (which may be
888         different to the one in $PATH) when generating sources.
889
890         * GNUmakefile.am:
891
892 2008-11-07  Simon Fraser  <simon.fraser@apple.com>
893
894         Reviewed by Dan Bernstein
895
896         https://bugs.webkit.org/show_bug.cgi?id=22122
897         
898         Use a stack-based object to simplify the pushLayoutState/popLayoutState
899         code. LayoutStateMaintainer either pushes in the constructor, or allows
900         an explicit push() later. Both cases require an explicit pop().
901
902         * rendering/RenderBlock.cpp:
903         (WebCore::RenderBlock::layoutBlock):
904         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
905         * rendering/RenderContainer.cpp:
906         (WebCore::RenderContainer::layout):
907         * rendering/RenderFlexibleBox.cpp:
908         (WebCore::RenderFlexibleBox::layoutBlock):
909         * rendering/RenderTable.cpp:
910         (WebCore::RenderTable::layout):
911         * rendering/RenderTableRow.cpp:
912         (WebCore::RenderTableRow::layout):
913         * rendering/RenderTableSection.cpp:
914         (WebCore::RenderTableSection::setCellWidths):
915         (WebCore::RenderTableSection::calcRowHeight):
916         (WebCore::RenderTableSection::layoutRows):
917         * rendering/RenderView.h:
918         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
919         (WebCore::LayoutStateMaintainer::~LayoutStateMaintainer):
920         (WebCore::LayoutStateMaintainer::pop):
921         (WebCore::LayoutStateMaintainer::push):
922         (WebCore::LayoutStateMaintainer::didPush):
923
924 2008-11-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
925
926         Fix the QtWebKit build on Mac
927
928         * platform/qt/TemporaryLinkStubs.cpp:
929         (PluginView::invalidateRect):
930
931 2008-11-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
932
933         Rubber-stamped by Simon Hausmann.
934
935         Don't allow Phonon's invisible video widget to keep the app running
936
937         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
938         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
939
940 2008-11-07  Henrik Hartz  <henrik.hartz@nokia.com>
941
942         Reviewed by Simon Hausmann.
943
944         Fix valgrind warning about uninitialized lastStop variable.
945
946         * platform/graphics/qt/GradientQt.cpp:
947         (WebCore::Gradient::platformGradient):
948
949 2008-11-07  Alexey Proskuryakov  <ap@webkit.org>
950
951         Reviewed by Maciej Stachowiak.
952
953         Fix layout test brokenness following r38211.
954
955         * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
956         Restore old Shift key behavior. We ignore Shift key state when matching access keys (which
957         matches neither IE nor Firefox), and this patch made WebKit behave like Firefox
958         inadvertently. This may or may not be a good thing, but it's certainly not something that
959         should change by accident.
960
961 2008-11-06  Antti Koivisto  <antti@apple.com>
962
963         Eh, this trivial last minute change was wrong.
964
965         * loader/CachedCSSStyleSheet.cpp:
966         (WebCore::CachedCSSStyleSheet::sheetText):
967
968 2008-11-06  Antti Koivisto  <antti@apple.com>
969
970         Reviewed by Dan Bernstein.
971
972         https://bugs.webkit.org/show_bug.cgi?id=22093
973         
974         Delaying the text decoding caused regression since the decoding
975         also determines the encoding in case of @charset rule. 
976         
977         Decode immediately in data() and keep the decoded string around
978         during the checkNotify().
979
980         * loader/CachedCSSStyleSheet.cpp:
981         (WebCore::CachedCSSStyleSheet::sheetText):
982         (WebCore::CachedCSSStyleSheet::data):
983         * loader/CachedCSSStyleSheet.h:
984
985 2008-11-06  Alexey Proskuryakov  <ap@webkit.org>
986
987         Reviewed by Darin Adler.
988
989         https://bugs.webkit.org/show_bug.cgi?id=22097
990         Expose MessageEvent constructor on WorkerContext
991
992         * bindings/js/JSWorkerContext.cpp:
993         (WebCore::jsWorkerContextMessageEvent):
994         (WebCore::setJSWorkerContextMessageEvent):
995
996 2008-11-06  Alexey Proskuryakov  <ap@webkit.org>
997
998         Reviewed by Darin Adler.
999
1000         https://bugs.webkit.org/show_bug.cgi?id=21107
1001         <rdar://problem/6264219> New access key combination conflicts with VoiceOver
1002
1003         * page/EventHandler.h:
1004         * page/gtk/EventHandlerGtk.cpp:
1005         (WebCore::EventHandler::accessKeyModifiers):
1006         * page/qt/EventHandlerQt.cpp:
1007         (WebCore::EventHandler::accessKeyModifiers):
1008         * page/win/EventHandlerWin.cpp:
1009         (WebCore::EventHandler::accessKeyModifiers):
1010         * page/wx/EventHandlerWx.cpp:
1011         (WebCore::EventHandler::accessKeyModifiers):
1012         Access access key modifiers via a function, not a static variable.
1013
1014         * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::accessKeyModifiers):
1015         Use Ctrl when VoiceOver is enabled, because a conflict with Emacs-style key bindings is
1016         less troublesome than one with VO keys.
1017
1018         * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
1019         Also fix an access key matching bug introduced in r32424 - Any superset of specified
1020         modifier set invoked access keys. We can use simple equality comparison instead because
1021         CapsLock is not part of modifiers(), so it doesn't need to be ignored explicitly.
1022
1023 2008-11-06  Anders Carlsson  <andersca@apple.com>
1024
1025         Reviewed by Kevin Decker.
1026
1027         https://bugs.webkit.org/show_bug.cgi?id=22115
1028         NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
1029
1030         Export _NPN_HasMethod and _NPN_HasProperty.
1031         
1032         * WebCore.NPAPI.exp:
1033
1034 2008-11-06  Simon Fraser  <simon.fraser@apple.com>
1035
1036         Reviewed by Antti Koivisto
1037
1038         https://bugs.webkit.org/show_bug.cgi?id=15678
1039         
1040         Fix transformed menu selects to show the popup in the correct
1041         location.
1042
1043         * rendering/RenderMenuList.cpp:
1044         (WebCore::RenderMenuList::showPopup):
1045
1046 2008-11-06  David Kilzer  <ddkilzer@apple.com>
1047
1048         BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
1049
1050         Apparently older versions of gcc have issues with this patch.
1051         Backing out a second time until the issues are resolved.
1052
1053 2008-11-06  Julien Chaffraix  <jchaffraix@pleyo.com>
1054
1055         Reviewed by Maciej Stachowiak.
1056
1057         Bug 21106: .in format discussed changes
1058         https://bugs.webkit.org/show_bug.cgi?id=21106
1059
1060         Include the namespace into the interfaceName.
1061
1062         * dom/make_names.pl: Do not append the namespace when
1063         using the interfaceName.
1064         * html/HTMLTagNames.in: Added namespace prefix for custom
1065         interfaceName.
1066         * svg/svgtags.in: Ditto.
1067
1068 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
1069
1070         Reviewed by Geoff Garen.
1071
1072         Move the remaining files in the kjs subdirectory of JavaScriptCore to
1073         a new parser subdirectory, and remove the kjs subdirectory entirely.
1074
1075         * ForwardingHeaders/kjs: Removed.
1076         * ForwardingHeaders/kjs/Parser.h: Removed.
1077         * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
1078         * ForwardingHeaders/kjs/SourceCode.h: Removed.
1079         * ForwardingHeaders/kjs/SourceProvider.h: Removed.
1080         * ForwardingHeaders/parser: Added.
1081         * ForwardingHeaders/parser/Parser.h: Copied from ForwardingHeaders/kjs/Parser.h.
1082         * ForwardingHeaders/parser/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceCode.h.
1083         * ForwardingHeaders/parser/SourceProvider.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
1084         * WebCore.pro:
1085         * WebCore.vcproj/WebCore.vcproj:
1086         * bindings/js/StringSourceProvider.h:
1087         * bindings/js/WorkerScriptController.cpp:
1088         * bridge/NP_jsobject.cpp:
1089         * bridge/jni/jni_jsobject.mm:
1090         * bridge/testbindings.pro:
1091         * inspector/JavaScriptDebugServer.cpp:
1092
1093 2008-11-06  David Kilzer  <ddkilzer@apple.com>
1094
1095         BUILD WAS NOT BROKEN: Rolling r38189 back in.
1096
1097         Please perform a clean build if you see crashes.
1098
1099 2008-11-06  David Kilzer  <ddkilzer@apple.com>
1100
1101         BUILD FIX: Backed out r38189 since it apparently broke the world.
1102
1103 2008-11-06  Chris Fleizach  <cfleizach@apple.com>
1104
1105         Reviewed by Beth Dakin.
1106
1107         Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue
1108         https://bugs.webkit.org/show_bug.cgi?id=22112
1109
1110         Test: accessibility/content-editable.html
1111
1112         * page/AccessibilityRenderObject.cpp:
1113         (WebCore::AccessibilityRenderObject::isReadOnly):
1114
1115 2008-11-06  Sam Weinig  <sam@webkit.org>
1116
1117         Reviewed by Alice Liu.
1118
1119         Fix failed assert at launch caused by unintialized data member on the mac.
1120
1121         * platform/network/mac/NetworkStateNotifierMac.cpp:
1122         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1123
1124 2008-11-06  Steve Falkenburg  <sfalken@apple.com>
1125
1126         Fix failed assert at launch caused by unintialized data member.
1127         
1128         Reviewed by Maciej Stachowiak.
1129
1130         * platform/network/win/NetworkStateNotifierWin.cpp:
1131         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1132
1133 2008-11-06  Simon Fraser  <simon.fraser@apple.com>
1134
1135         Reviewed by Antti Koivisto
1136
1137         https://bugs.webkit.org/show_bug.cgi?id=22109
1138         Make <input type="range"> work correctly with transforms
1139
1140         Test: fast/forms/slider-transformed.html
1141
1142         * html/HTMLInputElement.cpp:
1143         (WebCore::HTMLInputElement::defaultEventHandler):
1144             Compute a correct local point when the event is retargeted
1145         * rendering/RenderSlider.cpp:
1146         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
1147             Compute m_initialClickPoint in slider-local coords, so that
1148             deltas are computed correctly with transforms
1149         (WebCore::RenderSlider::mouseEventIsInThumb):
1150             Rather than computing an absolute bounds for the thumb,
1151             convert the point to local coords and compare it with the border box.
1152
1153 2008-11-06  Greg Bolsinga  <bolsinga@apple.com>
1154
1155         Reviewed by Darin Adler.
1156
1157         Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
1158         https://bugs.webkit.org/show_bug.cgi?id=21810
1159
1160         * bindings/js/GCController.cpp:
1161         (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor.
1162         * bindings/js/JSDOMBinding.cpp:
1163         (WebCore::wrapperSet): Ditto
1164         * bindings/js/JSInspectedObjectWrapper.cpp:
1165         (WebCore::wrappers): Ditto
1166         * bindings/js/JSInspectorCallbackWrapper.cpp:
1167         (WebCore::wrappers): Ditto
1168         * bridge/runtime_root.cpp:
1169         (JSC::Bindings::rootObjectSet): Ditto
1170         * css/CSSMutableStyleDeclaration.cpp:
1171         (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto
1172         * css/CSSPrimitiveValue.cpp:
1173         (WebCore::CSSPrimitiveValue::cssText): Ditto
1174         * css/CSSSelector.cpp:
1175         (WebCore::CSSSelector::extractPseudoType): Ditto
1176         * css/CSSStyleSelector.cpp:
1177         (WebCore::screenEval): Ditto
1178         (WebCore::printEval): Ditto
1179         * dom/DOMImplementation.cpp:
1180         (WebCore::isSVG10Feature): Ditto
1181         (WebCore::isSVG11Feature): Ditto
1182         (WebCore::DOMImplementation::isXMLMIMEType): Ditto
1183         * dom/Document.cpp:
1184         (WebCore::Document::hasPrefixNamespaceMismatch): Ditto
1185         * dom/ScriptElement.cpp:
1186         (WebCore::isSupportedJavaScriptLanguage): Ditto
1187         * editing/ApplyStyleCommand.cpp:
1188         (WebCore::styleSpanClassString): Ditto
1189         * editing/HTMLInterchange.cpp:
1190         (WebCore::): Ditto
1191         * editing/IndentOutdentCommand.cpp:
1192         (WebCore::indentBlockquoteString): Ditto
1193         * editing/ReplaceSelectionCommand.cpp:
1194         (WebCore::isInterchangeNewlineNode): Ditto
1195         (WebCore::isInterchangeConvertedSpaceSpan): Ditto
1196         * editing/htmlediting.cpp:
1197         (WebCore::stringWithRebalancedWhitespace): Ditto
1198         (WebCore::nonBreakingSpaceString): Ditto
1199         * editing/markup.cpp:
1200         (WebCore::appendAttributeValue): Ditto
1201         (WebCore::appendEscapedContent): Ditto
1202         (WebCore::shouldAddNamespaceAttr): Ditto
1203         (WebCore::appendNamespace): Ditto
1204         (WebCore::appendStartMarkup): Ditto
1205         (WebCore::createMarkup): Ditto
1206         * html/HTMLButtonElement.cpp:
1207         (WebCore::HTMLButtonElement::type): Ditto
1208         * html/HTMLElement.cpp:
1209         (WebCore::HTMLElement::isRecognizedTagName): Ditto
1210         (WebCore::inlineTagList): Ditto
1211         (WebCore::blockTagList): Ditto
1212         * html/HTMLFieldSetElement.cpp:
1213         (WebCore::HTMLFieldSetElement::type): Ditto
1214         * html/HTMLInputElement.cpp:
1215         (WebCore::HTMLInputElement::type): Ditto
1216         * html/HTMLKeygenElement.cpp:
1217         (WebCore::HTMLKeygenElement::type): Ditto
1218         * html/HTMLLegendElement.cpp:
1219         (WebCore::HTMLLegendElement::type): Ditto
1220         * html/HTMLOptGroupElement.cpp:
1221         (WebCore::HTMLOptGroupElement::type): Ditto
1222         * html/HTMLOptionElement.cpp:
1223         (WebCore::HTMLOptionElement::type): Ditto
1224         * html/HTMLParser.cpp:
1225         (WebCore::HTMLParser::getNode): Ditto
1226         (WebCore::HTMLParser::isHeaderTag): Ditto
1227         (WebCore::HTMLParser::isResidualStyleTag): Ditto
1228         (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto
1229         * html/HTMLSelectElement.cpp:
1230         (WebCore::HTMLSelectElement::type): Ditto
1231         * html/HTMLTextAreaElement.cpp:
1232         (WebCore::HTMLTextAreaElement::type): Ditto
1233         * inspector/InspectorController.cpp:
1234         (WebCore::platform): Ditto
1235         * inspector/JavaScriptDebugServer.cpp:
1236         (WebCore::JavaScriptDebugServer::shared): Ditto
1237         * inspector/JavaScriptProfile.cpp:
1238         (WebCore::profileCache): Ditto
1239         * inspector/JavaScriptProfileNode.cpp:
1240         (WebCore::profileNodeCache): Ditto
1241         * loader/FrameLoader.cpp:
1242         (WebCore::localSchemes): Ditto
1243         * loader/appcache/ApplicationCacheStorage.cpp:
1244         (WebCore::cacheStorage): Ditto
1245         * loader/archive/ArchiveFactory.cpp:
1246         (WebCore::archiveMIMETypes): Ditto
1247         * loader/icon/IconDatabase.cpp:
1248         (WebCore::IconDatabase::defaultDatabaseFilename): Ditto
1249         * page/EventHandler.cpp:
1250         (WebCore::EventHandler::dragState): Ditto
1251         * page/Frame.cpp:
1252         (WebCore::createRegExpForLabels): Ditto
1253         (WebCore::keepAliveSet): Ditto
1254         * page/Page.cpp:
1255         (WebCore::Page::groupName): Ditto
1256         * page/SecurityOrigin.cpp:
1257         (WebCore::isDefaultPortForProtocol): Ditto
1258         (WebCore::SecurityOrigin::databaseIdentifier): Ditto
1259         * page/mac/FrameMac.mm:
1260         (WebCore::regExpForLabels): Ditto
1261         * platform/KURL.cpp:
1262         (WebCore::blankURL): Ditto
1263         * platform/graphics/FontCache.cpp:
1264         (WebCore::alternateFamilyName): Ditto
1265         * platform/graphics/mac/FontCacheMac.mm:
1266         (WebCore::FontCache::getSimilarFontPlatformData): Ditto
1267         (WebCore::FontCache::getLastResortFallbackFont): Ditto
1268         * platform/mac/ScrollbarThemeMac.mm:
1269         (WebCore::ScrollbarTheme::nativeTheme): Ditto
1270         * platform/mac/ThemeMac.mm:
1271         (WebCore::platformTheme): Ditto
1272         * platform/mac/ThreadCheck.mm:
1273         (WebCoreReportThreadViolation): Ditto
1274         * platform/network/NetworkStateNotifier.cpp:
1275         (WebCore::networkStateNotifier): Ditto
1276         * platform/network/mac/FormDataStreamMac.mm:
1277         (WebCore::getStreamFormDataMap): Ditto
1278         (WebCore::getStreamResourceHandleMap): Ditto
1279         * platform/network/mac/ResourceResponseMac.mm:
1280         (WebCore::ResourceResponse::platformLazyInit): Ditto
1281         * platform/text/TextEncoding.cpp:
1282         (WebCore::TextEncoding::isJapanese): Ditto
1283         * rendering/RenderBlock.cpp:
1284         (WebCore::continuationOutlineTable): Ditto
1285         * rendering/RenderCounter.cpp:
1286         (WebCore::counterMaps): Ditto
1287         * rendering/RenderFlexibleBox.cpp:
1288         (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto
1289         * rendering/RenderListItem.cpp:
1290         (WebCore::RenderListItem::markerText): Ditto
1291         * rendering/RenderScrollbarTheme.cpp:
1292         (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto
1293         * rendering/RenderThemeMac.mm:
1294         (WebCore::RenderThemeMac::systemFont): Ditto
1295         * rendering/bidi.cpp:
1296         (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto
1297         * rendering/style/RenderStyle.cpp:
1298         (WebCore::RenderStyle::initialDashboardRegions): Ditto
1299         (WebCore::RenderStyle::noneDashboardRegions): Ditto
1300         * storage/LocalStorage.cpp:
1301         (WebCore::localStorageMap): Ditto
1302         * svg/SVGAnimateMotionElement.cpp:
1303         (WebCore::SVGAnimateMotionElement::rotateMode): Ditto
1304         * svg/SVGAnimationElement.cpp:
1305         (WebCore::SVGAnimationElement::calcMode): Ditto
1306         (WebCore::SVGAnimationElement::attributeType): Ditto
1307         (WebCore::SVGAnimationElement::isAdditive): Ditto
1308         (WebCore::SVGAnimationElement::isAccumulated): Ditto
1309         * svg/SVGLangSpace.cpp:
1310         (WebCore::SVGLangSpace::xmlspace): Ditto
1311         * svg/SVGSVGElement.cpp:
1312         (WebCore::SVGSVGElement::contentScriptType): Ditto
1313         (WebCore::SVGSVGElement::contentStyleType): Ditto
1314         * svg/SVGStyleElement.cpp:
1315         (WebCore::SVGStyleElement::type): Ditto
1316         (WebCore::SVGStyleElement::media): Ditto
1317         * svg/SVGTextContentElement.cpp:
1318         (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto
1319         * svg/animation/SVGSMILElement.cpp:
1320         (WebCore::SVGSMILElement::parseClockValue): Ditto
1321         (WebCore::SVGSMILElement::restart): Ditto
1322         (WebCore::SVGSMILElement::fill): Ditto
1323         (WebCore::SVGSMILElement::repeatCount): Ditto
1324         (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto
1325         * svg/graphics/SVGResource.cpp:
1326         (WebCore::clientMap): Ditto
1327         * svg/graphics/SVGResourceMarker.cpp:
1328         (WebCore::SVGResourceMarker::draw): Ditto
1329         * xml/XMLHttpRequest.cpp:
1330         (WebCore::preflightResultCache): Ditto
1331         (WebCore::isSafeRequestHeader): Ditto
1332         (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto
1333         * xml/XPathExpressionNode.cpp:
1334         (WebCore::XPath::Expression::evaluationContext): Ditto
1335         * xml/XPathParser.cpp:
1336         (WebCore::XPath::isAxisName): Ditto
1337         (WebCore::XPath::isNodeTypeName): Ditto
1338         * xml/XPathValue.cpp:
1339         (WebCore::XPath::Value::toNodeSet): Ditto
1340
1341 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
1342
1343         Rubber-stamped by Simon Hausmann.
1344
1345         Remove a bunch of unused methods in the Qt media element implementation
1346
1347         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1348         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1349         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
1350
1351 2008-11-05  Simon Fraser  <simon.fraser@apple.com>
1352
1353         Reviewed by Dave Hyatt
1354
1355         https://bugs.webkit.org/show_bug.cgi?id=21870
1356         
1357         Implement absoluteToLocal() to convert a point from absolute
1358         to local coordinates, optionally taking transforms into account.
1359         
1360         Use this to set offsetX/offsetY in mouse events, thus fixing
1361         offsetX/offsetY in events on elements with transforms.
1362
1363         Test: fast/events/offsetX-offsetY.html
1364
1365         * dom/MouseRelatedEvent.cpp:
1366         (WebCore::MouseRelatedEvent::receivedTarget):
1367         * rendering/RenderBox.cpp:
1368         (WebCore::RenderBox::localToAbsolute):
1369         (WebCore::RenderBox::absoluteToLocal):
1370         (WebCore::RenderBox::offsetFromContainer):
1371         * rendering/RenderBox.h:
1372         * rendering/RenderObject.cpp:
1373         (WebCore::RenderObject::absoluteToLocal):
1374         * rendering/RenderObject.h:
1375         * rendering/RenderTableCell.cpp:
1376         (WebCore::RenderTableCell::localToAbsolute):
1377         (WebCore::RenderTableCell::absoluteToLocal):
1378         * rendering/RenderTableCell.h:
1379         * rendering/RenderView.cpp:
1380         (WebCore::RenderView::absoluteToLocal):
1381         * rendering/RenderView.h:
1382
1383 2008-11-06  Alp Toker  <alp@nuanti.com>
1384
1385         Reviewed by Cameron Zwarich.
1386
1387         https://bugs.webkit.org/show_bug.cgi?id=22067
1388         [GTK] Sun Java plugin segfaults at PluginPackage::createPackage()
1389
1390         null-check symbols loaded from plugin modules, initialize the function
1391         table (like Win already does) and update it with the latest
1392         additions. Adjust whitespace for easy diff'ing with the Win port code
1393         from which it was forked.
1394
1395         This fixes crashes with libnspr4.so and any other plugins that don't
1396         provide the symbols we expect.
1397
1398         * plugins/gtk/PluginPackageGtk.cpp:
1399         (WebCore::PluginPackage::fetchInfo):
1400         (WebCore::PluginPackage::load):
1401
1402 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
1403
1404         Reviewed by Simon Hausmann.
1405
1406         Removed dead (and broken) code from an ancient Symbian port.
1407
1408         * config.h:
1409         * platform/text/AtomicString.h:
1410         * platform/text/PlatformString.h:
1411
1412 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
1413
1414         Reviewed by Simon Hausmann.
1415
1416         Use QLibrary as PlatformModule when compiling with Qt for S60.
1417
1418         * platform/FileSystem.h:
1419
1420 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
1421
1422         Reviewed by Simon Hausmann.
1423
1424         Compile fix for Symbian.
1425         The snprintf function is defined in stdio.h, the inclusion
1426         of snprintf.h inside this PLATFORM(SYMBIAN) block does not
1427         compile.
1428
1429         * config.h:
1430
1431 2008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
1432
1433         Reviewed by Simon Hausmann.
1434
1435         Disable webkit plugins for Symbian.
1436
1437         * WebCore.pro:
1438
1439 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
1440
1441         Fix build break in debug mode when XSLT is not enabled
1442
1443         * loader/Cache.cpp:
1444         (WebCore::Cache::dumpStats):
1445
1446 2008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
1447
1448         Reviewed by Simon Hausmann.
1449
1450         Repaint video on UpdateRequest to prevent recursive painting
1451
1452         Calling QWidget::render() to update the video generates a paint
1453         event that's then picked up by the event filter once more :(
1454
1455         We're really only interested in updates from Phonon, which we
1456         get through the UpdateRequest for each new frame.
1457
1458         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1459         (WebCore::MediaPlayerPrivate::eventFilter):
1460
1461 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
1462
1463         Not reviewed.
1464
1465         Fix the WebCore build for some platforms by changing build scripts to
1466         account for the recent move of the create_hash_table script from the kjs
1467         subdirectory of JavaScriptCore to the root directory.
1468
1469         * WebCore.pro:
1470         * make-generated-sources.sh:
1471
1472 2008-11-06  Cameron Zwarich  <zwarich@apple.com>
1473
1474         Not reviewed.
1475
1476         Fix a case-sensitivity issue in Mac forwarding headers. Strangely
1477         enough, this does not always cause the build to break, even with a
1478         case-sensitive filesystem.
1479
1480         * ForwardingHeaders/runtime/Interpreter.h:
1481
1482 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
1483
1484         Reviewed by Maciej Stachowiak.
1485
1486         https://bugs.webkit.org/show_bug.cgi?id=22083
1487         MessageEvents cannot be used across threads
1488
1489         * dom/Event.idl:
1490         * dom/MessageEvent.idl:
1491         Add a NoStaticTables attribute - MessageEvent is used in worker threads, so static tables
1492         won't work.
1493
1494         * dom/MessagePort.cpp:
1495         (WebCore::MessagePort::EventData::EventData):
1496         (WebCore::MessagePort::EventData::~EventData):
1497         (WebCore::MessagePort::clone):
1498         (WebCore::MessagePort::postMessage):
1499         (WebCore::MessagePort::startConversation):
1500         (WebCore::MessagePort::dispatchMessages):
1501         * dom/MessagePort.h:
1502         Don't create a MessageEvent until dispatch time - messages can be posted across threads,
1503         but MessageEvents are tied to the thread that they were created in.
1504
1505 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
1506
1507         Reviewed by Darin Adler.
1508
1509         https://bugs.webkit.org/show_bug.cgi?id=22066
1510         Implement Worker global object
1511
1512         * DerivedSources.make: Added WorkerLocation IDL and JSWorkerContext lookup table.
1513
1514         * WebCore.xcodeproj/project.pbxproj: Only adding files to Mac project for now, as Worker
1515         support is still disabled by default.
1516
1517         * bindings/js/JSDOMGlobalObject.cpp: (WebCore::toJSDOMGlobalObject): Implemented Worker case.
1518
1519         * bindings/js/JSMessageChannelConstructor.cpp:
1520         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Ditto.
1521
1522         * bindings/js/JSWorkerContext.cpp: Added.
1523         * bindings/js/JSWorkerContext.h: Added.
1524         * bindings/js/WorkerScriptController.cpp: Added.
1525         * bindings/js/WorkerScriptController.h: Added.
1526         * dom/WorkerContext.cpp: Added.
1527         * dom/WorkerContext.h: Added.
1528         Added an implementation of worker contexts.
1529
1530         * dom/DedicatedWorker.cpp:
1531         (WebCore::DedicatedWorker::startLoad): Fixed a lifetime bug I saw on my tests.
1532         (WebCore::DedicatedWorker::notifyFinished): Create a thread. Currently, object ownership
1533         and lifetime is not clear at all.
1534
1535         * dom/WorkerLocation.cpp: Added.
1536         * dom/WorkerLocation.h: Added.
1537         * dom/WorkerLocation.idl: Added.
1538         Added WorkerLocation, which is one of the objects available to workers.
1539
1540         * dom/WorkerThread.cpp: Added.
1541         (WebCore::WorkerThread::WorkerThread):
1542         (WebCore::WorkerThread::start):
1543         (WebCore::WorkerThread::workerThreadStart):
1544         (WebCore::WorkerThread::workerThread):
1545         * dom/WorkerThread.h: Added.
1546         (WebCore::WorkerThread::create):
1547         Run some code in a worker thread (no message loop yet).
1548
1549 2008-11-05  Antti Koivisto  <antti@apple.com>
1550
1551         Reviewed by Dan Bernstein.
1552         
1553         https://bugs.webkit.org/show_bug.cgi?id=22093
1554         Don't keep decoded stylesheet data in cache
1555         
1556         <rdar://problem/6343588>
1557
1558         Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and
1559         performance benefits are negligible (no measured PLT impact). Reduces memory consumption of
1560         style sheet data in cache by 2/3 in common case.  
1561
1562         * loader/CachedCSSStyleSheet.cpp:
1563         (WebCore::CachedCSSStyleSheet::sheetText):
1564         (WebCore::CachedCSSStyleSheet::data):
1565         * loader/CachedCSSStyleSheet.h:
1566
1567 2008-11-05  David Kilzer  <ddkilzer@apple.com>
1568
1569         Bug 21596: WebCore::Cache should use parsed Pragma and Cache-Control headers
1570
1571         <https://bugs.webkit.org/show_bug.cgi?id=21596>
1572
1573         Reviewed by Antti.
1574
1575         This patch adds real parsing for Pragma and Cache-Control headers
1576         based on RFC 2616, Sections 2, 14.9 and 14.32.  It also adds some
1577         new String and StringImpl methods to assist with the parsing.
1578
1579         * loader/Cache.cpp:
1580         (WebCore::Cache::dumpStats): Added.  Convenience method for dumping
1581         stats outside of Safari.
1582         * loader/Cache.h: Declared dumpStats().
1583
1584         * loader/CachedResource.cpp:
1585         (WebCore::CachedResource::mustRevalidate): Updated to use
1586         ResourceResponseBase::cacheControlDirectives() instead of substring
1587         matching of the entire Cache-Control header.
1588
1589         * loader/loader.cpp:
1590         (WebCore::Loader::Host::didReceiveResponse): Used the local
1591         'resource' variable instead of 'request->cachedResource()'.
1592
1593         * platform/network/ResourceResponseBase.cpp:
1594         (WebCore::ResourceResponseBase::setHTTPHeaderField): Set
1595         m_haveParsedCacheControlHeader to false when a "Cache-Control"
1596         header is set.  Ditto for m_haveParsedPragmaHeader and "Pragma".
1597         (WebCore::ResourceResponseBase::parsePragmaDirectives): Added.
1598         Provides parsed Pragma header directives.
1599         (WebCore::ResourceResponseBase::parseCacheControlDirectives): Added.
1600         Provides parsed Cache-Control header directives.
1601         (WebCore::isCacheHeaderSeparator): Added.  Returns true if a
1602         character is a separator character per RFC 2616, Section 2.2, else
1603         returns false.
1604         (WebCore::isControlCharacter): Added.  Returns true if a character
1605         is a control character per RFC 2616 Section 2.2, else returns false.
1606         (WebCore::trimToNextSeparator): Added.  Returns a string truncated
1607         at the first separator character per isCacheHeaderSeparator().
1608         (WebCore::parseCacheHeader): Added.  This is the main parsing
1609         routine for both Cache-Control and Pragma headers.
1610         (WebCore::parseCacheControlDirectiveValues): Added.  This splits
1611         certain Cache-Control directive values into a vector of strings.
1612         * platform/network/ResourceResponseBase.h:
1613         (WebCore::CacheControlDirectiveMap): Added.  Typedef for a parsed
1614         Cache-Control header.
1615         (WebCore::PragmaDirectiveMap): Added.  Typedef for a parsed Pragma
1616         header.
1617         (WebCore::ResourceResponseBase::parsePragmaDirectives): Added
1618         declaration.
1619         (WebCore::ResourceResponseBase::parseCacheControlDirectives): Ditto.
1620         (WebCore::ResourceResponseBase::m_haveParsedCacheControlHeader):
1621         Added.  Boolean to describe when the "Cache-Control" header needs to
1622         be reparsed.
1623         (WebCore::ResourceResponseBase::m_haveParsedPragmaHeader):  Added.
1624         Boolean to describe when the "Pragma" header needs to be reparsed.
1625         (WebCore::ResourceResponseBase::m_cacheControlDirectiveMap): Added.
1626         Cached map to hold parsed "Cache-Control" headers.
1627         (WebCore::ResourceResponseBase::m_pragmaDirectiveMap): Added.
1628         Cached map to hold parsed "Pragma" headers.
1629
1630         * platform/text/PlatformString.h:
1631         (WebCore::String::find): Added.  Returns the first match based on
1632         the character-matching function pointer passed in.
1633         (WebCore::String::removeCharacters): Added declaration.
1634         (WebCore::find): Added.  Inline method that takes a character-
1635         matching function pointer.  Called by StringImpl::find().
1636         * platform/text/String.cpp:
1637         (WebCore::String::removeCharacters): Added.  Calls
1638         StringImpl::removeCharacters().
1639         * platform/text/StringImpl.cpp:
1640         (WebCore::StringImpl::removeCharacters): Added.  Returns a string
1641         with all characters removed that match the character-matching
1642         function pointer passed in.  If there is no change to the string, it
1643         returns itself.  Based heavily on StringImpl::simplifyWhitespace().
1644         (WebCore::StringImpl::find): Added.  Calls WebCore::find().
1645         * platform/text/StringImpl.h:
1646         (WebCore::FindMatchFunctionPtr): Added.  Typedef for a character-
1647         matching function pointer.
1648         (WebCore::StringImpl::removeCharacters): Added declaration.
1649         (WebCore::StringImpl::find): Ditto.
1650
1651 2008-11-05  Justin Garcia  <justin.garcia@apple.com>
1652
1653         Reviewed by Beth Dakin.
1654
1655         <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break
1656         
1657         As a rule, we don't allow merges out of blockquotes.  In the bug, we are inserting a text node 
1658         between two blockquotes.  Because the start merge moves the text node into a blockquote, when we
1659         determine whether or not we should do the end merge, it incorrectly appears as though the end merge 
1660         is merging out of a blockquote.  The fix is to determine whether or not we should do the end merge
1661         before we do the start merge, so that the start merge doesn't effect our decision.
1662
1663         * editing/ReplaceSelectionCommand.cpp:
1664         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Initialize the new boolean.
1665         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Moved code from doApply() here for clarity.
1666         (WebCore::ReplaceSelectionCommand::doApply): Set m_shouldMergeEnd before we do the start merge.
1667         * editing/ReplaceSelectionCommand.h: Added m_shouldMergeEnd.
1668
1669 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
1670
1671         Not reviewed.
1672
1673         Speculatively fix the Windows build, even though these changes may not
1674         actually matter for anything in the build, because the Windows bots are
1675         behind.
1676
1677         * WebCore.vcproj/WebCore.vcproj:
1678
1679 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
1680
1681         Not reviewed.
1682
1683         Fix the Qt build.
1684
1685         * bridge/qt/qt_class.cpp:
1686         * bridge/qt/qt_runtime.h:
1687
1688 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
1689
1690         Rubber-stamped by Sam Weinig.
1691
1692         Move more files to the runtime subdirectory of JavaScriptCore.
1693
1694         * ForwardingHeaders/kjs/collector.h: Removed.
1695         * ForwardingHeaders/kjs/completion.h: Removed.
1696         * ForwardingHeaders/kjs/identifier.h: Removed.
1697         * ForwardingHeaders/kjs/interpreter.h: Removed.
1698         * ForwardingHeaders/kjs/lookup.h: Removed.
1699         * ForwardingHeaders/kjs/operations.h: Removed.
1700         * ForwardingHeaders/kjs/protect.h: Removed.
1701         * ForwardingHeaders/kjs/ustring.h: Removed.
1702         * ForwardingHeaders/runtime/Collector.h: Copied from ForwardingHeaders/kjs/collector.h.
1703         * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/kjs/completion.h.
1704         * ForwardingHeaders/runtime/Identifier.h: Copied from ForwardingHeaders/kjs/identifier.h.
1705         * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
1706         * ForwardingHeaders/runtime/Lookup.h: Copied from ForwardingHeaders/kjs/lookup.h.
1707         * ForwardingHeaders/runtime/Operations.h: Copied from ForwardingHeaders/kjs/operations.h.
1708         * ForwardingHeaders/runtime/Protect.h: Copied from ForwardingHeaders/kjs/protect.h.
1709         * ForwardingHeaders/runtime/UString.h: Copied from ForwardingHeaders/kjs/ustring.h.
1710         * bindings/js/GCController.cpp:
1711         * bindings/js/JSCustomPositionCallback.h:
1712         * bindings/js/JSCustomPositionErrorCallback.h:
1713         * bindings/js/JSCustomSQLStatementCallback.h:
1714         * bindings/js/JSCustomSQLStatementErrorCallback.h:
1715         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
1716         * bindings/js/JSCustomVoidCallback.h:
1717         * bindings/js/JSDOMBinding.h:
1718         * bindings/js/JSDOMWindowBase.h:
1719         * bindings/js/JSEventListener.h:
1720         * bindings/js/ScheduledAction.h:
1721         * bindings/js/ScriptController.cpp:
1722         * bindings/js/ScriptController.h:
1723         * bindings/objc/WebScriptObject.mm:
1724         * bindings/scripts/CodeGeneratorJS.pm:
1725         * bridge/NP_jsobject.cpp:
1726         * bridge/c/c_class.cpp:
1727         * bridge/jni/jni_class.cpp:
1728         * bridge/jni/jni_jsobject.mm:
1729         * bridge/npruntime.cpp:
1730         * bridge/runtime_root.h:
1731         * history/CachedPage.h:
1732         * html/CanvasRenderingContext2D.cpp:
1733         * html/HTMLCanvasElement.cpp:
1734         * inspector/InspectorController.cpp:
1735         * inspector/JavaScriptCallFrame.cpp:
1736         * page/Console.cpp:
1737         * page/Page.cpp:
1738         * platform/text/AtomicString.cpp:
1739         * platform/text/PlatformString.h:
1740
1741 2008-11-05  Sam Weinig  <sam@webkit.org>
1742
1743         Reviewed by Anders Carlsson.
1744
1745         Fix https://bugs.webkit.org/show_bug.cgi?id=22085
1746         The Plugin JS object should expose item() and namedItem() methods to match Firefox
1747
1748         * bindings/js/JSPluginCustom.cpp:
1749         (WebCore::JSPlugin::nameGetter):
1750         * plugins/Plugin.cpp:
1751         (WebCore::Plugin::namedItem):
1752         * plugins/Plugin.h:
1753         * plugins/Plugin.idl:
1754
1755 2008-11-05  Alexey Proskuryakov  <ap@webkit.org>
1756
1757         Reviewed by Maciej Stachowiak.
1758
1759         https://bugs.webkit.org/show_bug.cgi?id=21060
1760         Range#surroundContents incorrectly throws BAD_BOUNDARYPOINTS_ERR
1761
1762         Test: fast/dom/Range/surroundContents-check-boundary-points.html
1763
1764         * dom/Range.cpp: (WebCore::Range::surroundContents): Fix BAD_BOUNDARYPOINTS_ERR checks.
1765
1766 2008-11-05  Anders Carlsson  <andersca@apple.com>
1767
1768         Reviewed by Dan Bernstein.
1769
1770         Remove two global destructors from CoreTextController.
1771         
1772         * platform/graphics/mac/CoreTextController.cpp:
1773         (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
1774
1775 2008-11-05  Darin Fisher  <darin@chromium.org>
1776
1777         Reviewed by Darin Adler.
1778
1779         CRASH at Scrollbar::invalidateRect due to null m_client
1780         https://bugs.webkit.org/show_bug.cgi?id=22080
1781
1782         * platform/Scrollbar.cpp:
1783         (WebCore::Scrollbar::isWindowActive):
1784         (WebCore::Scrollbar::invalidateRect):
1785
1786 2008-11-04  Sam Weinig  <sam@webkit.org>
1787
1788         Reviewed by Simon Hausmann.
1789
1790         Fix https://bugs.webkit.org/show_bug.cgi?id=21648
1791         navigator.mimeTypes and navigator.plugins don't expose item and namedItem to JS
1792
1793         - Also adds constructors for Plugin, PluginArray, MimeType and MimeTypeArray.
1794
1795         * bindings/js/JSMimeTypeArrayCustom.cpp:
1796         (WebCore::JSMimeTypeArray::nameGetter):
1797         * bindings/js/JSPluginArrayCustom.cpp:
1798         (WebCore::JSPluginArray::nameGetter):
1799         * page/DOMWindow.idl:
1800         * plugins/MimeType.idl:
1801         * plugins/MimeTypeArray.cpp:
1802         (WebCore::MimeTypeArray::namedItem):
1803         * plugins/MimeTypeArray.h:
1804         * plugins/MimeTypeArray.idl:
1805         * plugins/Plugin.idl:
1806         * plugins/PluginArray.cpp:
1807         (WebCore::PluginArray::namedItem):
1808         * plugins/PluginArray.h:
1809         * plugins/PluginArray.idl:
1810
1811 2008-11-05  Steve Falkenburg  <sfalken@apple.com>
1812
1813         Build fix.
1814
1815         * plugins/PluginPackage.cpp:
1816
1817 2008-11-05  Jeff Cook  <cookiecaper@gmail.com>
1818
1819         Reviewed by Simon Hausmann and Tor Arne.
1820
1821         Fix crash in the Qt port when unloading swfdec and Flash 10
1822         by reordering window destruction and plugin stop.
1823
1824         See https://bugs.webkit.org/show_bug.cgi?id=20779
1825
1826         * plugins/qt/PluginViewQt.cpp:
1827         (WebCore::PluginView::stop):
1828
1829 2008-11-05  Simon Hausmann  <hausmann@webkit.org>
1830
1831         Reviewed by Tor Arne Vestbø
1832
1833         Fix loading of Flash 10 in the Qt port by faking the toolkit to be Gtk.
1834
1835         Otherwise Flash refuses to load and function :(
1836
1837         * plugins/PluginPackage.cpp:
1838         (WebCore::PluginPackage::determineQuirks):
1839         * plugins/PluginQuirkSet.h:
1840         (WebCore::):
1841         * plugins/qt/PluginViewQt.cpp:
1842         (WebCore::PluginView::getValue):
1843
1844 2008-11-05  Simon Hausmann  <hausmann@webkit.org>
1845
1846         Reviewed by Tor Arne Vestbø
1847
1848         Unify determineQuirks between the Qt and the Gtk PluginPackage.
1849         Share the code for parsing the module version from the description.
1850         This is currently used to determine Flash based quirks.
1851
1852         * plugins/PluginPackage.cpp:
1853         (WebCore::PluginPackage::createPackage):
1854         (WebCore::PluginPackage::determineQuirks):
1855         (WebCore::PluginPackage::determineModuleVersionFromDescription):
1856         * plugins/PluginPackage.h:
1857         * plugins/gtk/PluginPackageGtk.cpp:
1858         (WebCore::PluginPackage::fetchInfo):
1859         * plugins/qt/PluginPackageQt.cpp:
1860         (WebCore::PluginPackage::fetchInfo):
1861
1862 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
1863
1864         Rubber-stamped by Sam Weinig.
1865
1866         Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore.
1867
1868         * ForwardingHeaders/kjs/dtoa.h: Removed.
1869         * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h.
1870         * css/CSSParser.cpp:
1871         * platform/text/String.cpp:
1872         * platform/text/StringImpl.cpp:
1873
1874 2008-11-04  Jonathan Haas  <myrdred@gmail.com>
1875
1876         Addiitonal tweaks and patch prep by Pamela Greene <pam@chromium.org>
1877
1878         Reviewed by Darin Adler.
1879
1880         Fixed an issue which could cause memory corruption using ToT libxml.
1881         See https://bugs.webkit.org/show_bug.cgi?id=15715
1882
1883         Test: fast/xsl/xslt-nested-stylesheets.xml
1884
1885         * xml/XSLImportRule.cpp:
1886         (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document
1887         * xml/XSLStyleSheet.cpp:
1888         (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet
1889         (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary
1890         (WebCore::XSLStyleSheet::setParentStyleSheet): Added
1891         * xml/XSLStyleSheet.h: Added m_parentStyleSheet member
1892
1893 2008-11-04  Simon Fraser  <simon.fraser@apple.com>
1894
1895         No review.
1896
1897         Improved buid fix: include MathExtras.h to get roundf on all platforms.
1898
1899         * platform/graphics/FloatPoint.h:
1900
1901 2008-11-04  Brady Eidson  <beidson@apple.com>
1902
1903         Reviewed by John Sullivan
1904
1905         Add a simple "visited" method to HistoryItem for use by global history
1906
1907         * WebCore.base.exp:
1908
1909         * history/HistoryItem.cpp:
1910         (WebCore::HistoryItem::visited):  Update the title on the item, set last visited time,
1911           and bump the visit count.  All things that should happen when a url is visited again!
1912         * history/HistoryItem.h:
1913
1914 2008-11-04  Jan Michael Alonzo  <jmalonzo@webkit.org>
1915
1916         Build fix. Not reviewed.
1917
1918         * platform/graphics/FloatPoint.h: include math.h.
1919         reported by zdobersek in #webkit.
1920
1921 2008-11-04  Darin Fisher  <darin@chromium.org>
1922  
1923         Reviewed by Anders Carlsson.
1924  
1925         No need to clobber all ResourceRequest fields in FrameLoader::reload()
1926         https://bugs.webkit.org/show_bug.cgi?id=21949
1927  
1928         * loader/FrameLoader.cpp:
1929         (WebCore::FrameLoader::reload):
1930
1931 2008-11-04  Darin Adler  <darin@apple.com>
1932
1933         Reviewed by Tim Hatcher.
1934
1935         * storage/Database.cpp:
1936         (WebCore::databaseVersionKey): Tweaked formatting.
1937
1938 2008-11-03  Darin Adler  <darin@apple.com>
1939
1940         Reviewed by Tim Hatcher.
1941
1942         - https://bugs.webkit.org/show_bug.cgi?id=22061
1943           create script to check for exit-time destructors
1944
1945         * WebCore.xcodeproj/project.pbxproj: Added a script
1946         phase that runs the check-for-exit-time-destructors script.
1947
1948         * html/HTMLAttributeNames.in: Removed some unused attribute names.
1949
1950         * html/HTMLEmbedElement.cpp:
1951         (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
1952         sets the write-only m_pluginPage.
1953         * html/HTMLEmbedElement.h: Ditto.
1954
1955         * platform/mac/CursorMac.mm:
1956         (WebCore::leakNamedCursor): Changed to return a Cursor&.
1957         (WebCore::pointerCursor): Changed to leak an object to avoid an
1958         exit-time destructor.
1959         (WebCore::crossCursor): Ditto.
1960         (WebCore::handCursor): Ditto.
1961         (WebCore::moveCursor): Ditto.
1962         (WebCore::verticalTextCursor): Ditto.
1963         (WebCore::cellCursor): Ditto.
1964         (WebCore::contextMenuCursor): Ditto.
1965         (WebCore::aliasCursor): Ditto.
1966         (WebCore::zoomInCursor): Ditto.
1967         (WebCore::zoomOutCursor): Ditto.
1968         (WebCore::copyCursor): Ditto.
1969         (WebCore::noneCursor): Ditto.
1970         (WebCore::progressCursor): Ditto.
1971         (WebCore::noDropCursor): Ditto.
1972         (WebCore::notAllowedCursor): Ditto.
1973         (WebCore::iBeamCursor): Ditto.
1974         (WebCore::waitCursor): Ditto.
1975         (WebCore::helpCursor): Ditto.
1976         (WebCore::eastResizeCursor): Ditto.
1977         (WebCore::northResizeCursor): Ditto.
1978         (WebCore::northEastResizeCursor): Ditto.
1979         (WebCore::northWestResizeCursor): Ditto.
1980         (WebCore::southResizeCursor): Ditto.
1981         (WebCore::southEastResizeCursor): Ditto.
1982         (WebCore::southWestResizeCursor): Ditto.
1983         (WebCore::westResizeCursor): Ditto.
1984         (WebCore::northSouthResizeCursor): Ditto.
1985         (WebCore::eastWestResizeCursor): Ditto.
1986         (WebCore::northEastSouthWestResizeCursor): Ditto.
1987         (WebCore::northWestSouthEastResizeCursor): Ditto.
1988         (WebCore::columnResizeCursor): Ditto.
1989         (WebCore::rowResizeCursor): Ditto.
1990         (WebCore::grabCursor): Ditto.
1991         (WebCore::grabbingCursor): Ditto.
1992
1993         * storage/Database.cpp:
1994         (WebCore::guidMutex): Changed to leak an object to avoid an
1995         exit-time destructor. Also added a comment explaining why it's
1996         thread safe.
1997         (WebCore::guidToVersionMap): Ditto.
1998         (WebCore::guidToDatabaseMap): Ditto.
1999         (WebCore::Database::databaseInfoTableName): Ditto.
2000         (WebCore::databaseVersionKey): Ditto.
2001         (WebCore::Database::getVersionFromDatabase): Ditto.
2002         (WebCore::Database::setVersionInDatabase): Ditto.
2003         (WebCore::guidForOriginAndName): Ditto.
2004         * storage/DatabaseTracker.cpp:
2005         (WebCore::DatabaseTracker::tracker): Ditto.
2006         (WebCore::notificationMutex): Ditto.
2007         (WebCore::notificationQueue): Ditto.
2008         (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
2009
2010 2008-11-04  Simon Fraser  <simon.fraser@apple.com>
2011
2012         Reviewed by Dave Hyatt
2013
2014         https://bugs.webkit.org/show_bug.cgi?id=21941
2015
2016         Rename absolutePosition() to localToAbsolute(), and add the ability
2017         to optionally take transforms into account (which will eventually be the
2018         default behavior).
2019
2020         * WebCore.base.exp:
2021         * WebCore.xcodeproj/project.pbxproj:
2022         * dom/ContainerNode.cpp:
2023         (WebCore::ContainerNode::getUpperLeftCorner):
2024         (WebCore::ContainerNode::getLowerRightCorner):
2025         (WebCore::ContainerNode::getRect):
2026         * dom/ContainerNode.h:
2027         * dom/MouseRelatedEvent.cpp:
2028         (WebCore::MouseRelatedEvent::receivedTarget):
2029         * dom/Node.cpp:
2030         (WebCore::Node::getRect):
2031         * editing/SelectionController.cpp:
2032         (WebCore::SelectionController::layout):
2033         (WebCore::SelectionController::caretRect):
2034         * editing/visible_units.cpp:
2035         (WebCore::previousLinePosition):
2036         (WebCore::nextLinePosition):
2037         * html/HTMLAnchorElement.cpp:
2038         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
2039         (WebCore::HTMLAnchorElement::defaultEventHandler):
2040         * html/HTMLAreaElement.cpp:
2041         (WebCore::HTMLAreaElement::getRect):
2042         * html/HTMLImageElement.cpp:
2043         (WebCore::HTMLImageElement::x):
2044         (WebCore::HTMLImageElement::y):
2045         * html/HTMLInputElement.cpp:
2046         (WebCore::HTMLInputElement::defaultEventHandler):
2047         * html/HTMLInputElement.h:
2048         * page/AccessibilityRenderObject.cpp:
2049         (WebCore::AccessibilityRenderObject::boundingBoxRect):
2050         * page/EventHandler.cpp:
2051         (WebCore::EventHandler::handleDrag):
2052         * platform/graphics/FloatPoint.h:
2053         (WebCore::roundedIntPoint):
2054         * platform/graphics/IntSize.h:
2055         (WebCore::IntSize::expand):
2056         * rendering/LayoutState.cpp:
2057         (WebCore::LayoutState::LayoutState):
2058         * rendering/RenderBlock.cpp:
2059         (WebCore::RenderBlock::layoutBlock):
2060         (WebCore::RenderBlock::paintObject):
2061         (WebCore::RenderBlock::selectionGapRects):
2062         (WebCore::RenderBlock::fillBlockSelectionGaps):
2063         (WebCore::RenderBlock::nodeAtPoint):
2064         (WebCore::RenderBlock::positionForCoordinates):
2065         * rendering/RenderBox.cpp:
2066         (WebCore::RenderBox::localToAbsolute):
2067         (WebCore::RenderBox::computeAbsoluteRepaintRect):
2068         (WebCore::RenderBox::caretRect):
2069         * rendering/RenderBox.h:
2070         (WebCore::RenderBox::relativePositionOffset):
2071         * rendering/RenderContainer.cpp:
2072         (WebCore::RenderContainer::addLineBoxRects):
2073         * rendering/RenderFlow.cpp:
2074         (WebCore::RenderFlow::absoluteClippedOverflowRect):
2075         (WebCore::RenderFlow::caretRect):
2076         (WebCore::RenderFlow::addFocusRingRects):
2077         * rendering/RenderLayer.cpp:
2078         (WebCore::RenderLayer::updateLayerPosition):
2079         (WebCore::RenderLayer::convertToLayerCoords):
2080         (WebCore::RenderLayer::addScrolledContentOffset):
2081         (WebCore::RenderLayer::subtractScrolledContentOffset):
2082         (WebCore::RenderLayer::scrollRectToVisible):
2083         * rendering/RenderLayer.h:
2084         (WebCore::RenderLayer::scrolledContentOffset):
2085         (WebCore::RenderLayer::relativePositionOffset):
2086         * rendering/RenderListBox.cpp:
2087         (WebCore::RenderListBox::panScroll):
2088         (WebCore::RenderListBox::scrollToward):
2089         * rendering/RenderListMarker.cpp:
2090         (WebCore::RenderListMarker::selectionRect):
2091         * rendering/RenderObject.cpp:
2092         (WebCore::RenderObject::absoluteBoundingBoxRect):
2093         (WebCore::RenderObject::computeAbsoluteRepaintRect):
2094         (WebCore::RenderObject::localToAbsolute):
2095         (WebCore::RenderObject::addDashboardRegions):
2096         (WebCore::RenderObject::absoluteContentBox):
2097         (WebCore::RenderObject::absoluteOutlineBox):
2098         * rendering/RenderObject.h:
2099         (WebCore::RenderObject::localToAbsoluteForContent):
2100         * rendering/RenderPart.cpp:
2101         (WebCore::RenderPart::updateWidgetPosition):
2102         * rendering/RenderReplaced.cpp:
2103         (WebCore::RenderReplaced::selectionRect):
2104         * rendering/RenderSVGInlineText.cpp:
2105         (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
2106         * rendering/RenderSVGText.cpp:
2107         (WebCore::RenderSVGText::absoluteRects):
2108         * rendering/RenderTableCell.cpp:
2109         (WebCore::RenderTableCell::localToAbsolute):
2110         * rendering/RenderTableCell.h:
2111         * rendering/RenderText.cpp:
2112         (WebCore::RenderText::addLineBoxRects):
2113         (WebCore::RenderText::caretRect):
2114         (WebCore::RenderText::selectionRect):
2115         * rendering/RenderVideo.cpp:
2116         (WebCore::RenderVideo::updatePlayer):
2117         * rendering/RenderView.cpp:
2118         (WebCore::RenderView::localToAbsolute):
2119         * rendering/RenderView.h:
2120         * rendering/RenderWidget.cpp:
2121         (WebCore::RenderWidget::updateWidgetPosition):
2122         * svg/SVGSVGElement.cpp:
2123         (WebCore::SVGSVGElement::getScreenCTM):
2124
2125 2008-11-03  Yael Aharon  <yael.aharon@nokia.com>
2126
2127         Reviewed by Simon Hausmann.
2128
2129         Add methods for getting and setting user data on History Item.
2130         This change is limited to QT port only. Tests were added in
2131         the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
2132
2133         Minor change by Simon: made the functions inline and added a missing
2134         const.
2135
2136         * history/HistoryItem.h:
2137
2138 2008-11-01  Alexey Proskuryakov  <ap@webkit.org>
2139
2140         Reviewed by Darin Adler.
2141
2142         https://bugs.webkit.org/show_bug.cgi?id=22030
2143         Make EventNames usable from multiple threads
2144
2145         * platform/text/AtomicString.cpp:
2146         (WebCore::stringTable):
2147         (WebCore::AtomicString::add):
2148         (WebCore::AtomicString::remove):
2149         (WebCore::AtomicString::find):
2150         (WebCore::AtomicString::init):
2151         * platform/text/AtomicString.h:
2152         Atomic string table is now per-thread. Individual strings cannot be shared between threads,
2153         so global AtomicString constants cannot be used from threads other than the main one.
2154
2155         * dom/EventNames.cpp:
2156         (WebCore::EventNames::EventNames):
2157         (WebCore::eventNames):
2158         (WebCore::EventNames::init):
2159         * dom/EventNames.h:
2160         Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
2161         eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
2162         threads.
2163
2164         * WebCore.base.exp:
2165         * bindings/js/JSDOMWindowBase.cpp:
2166         * bindings/js/JSEventListener.cpp:
2167         * bindings/js/ScriptController.cpp:
2168         (WebCore::ScriptController::processingUserGesture):
2169         * dom/BeforeTextInsertedEvent.cpp:
2170         (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
2171         * dom/BeforeUnloadEvent.cpp:
2172         (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
2173         * dom/CharacterData.cpp:
2174         (WebCore::CharacterData::dispatchModifiedEvent):
2175         * dom/ContainerNode.cpp:
2176         (WebCore::dispatchChildInsertionEvents):
2177         (WebCore::dispatchChildRemovalEvents):
2178         * dom/DedicatedWorker.cpp:
2179         (WebCore::DedicatedWorker::dispatchErrorEvent):
2180         * dom/Document.cpp:
2181         (WebCore::Document::implicitClose):
2182         (WebCore::Document::setFocusedNode):
2183         (WebCore::Document::addListenerTypeIfNeeded):
2184         (WebCore::Document::removeWindowInlineEventListenerForType):
2185         (WebCore::Document::addWindowEventListener):
2186         (WebCore::Document::removeWindowEventListener):
2187         (WebCore::Document::finishedParsing):
2188         * dom/EventTargetNode.cpp:
2189         (WebCore::EventTargetNode::dispatchGenericEvent):
2190         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
2191         (WebCore::EventTargetNode::dispatchWindowEvent):
2192         (WebCore::EventTargetNode::dispatchUIEvent):
2193         (WebCore::EventTargetNode::dispatchSimulatedClick):
2194         (WebCore::EventTargetNode::dispatchMouseEvent):
2195         (WebCore::EventTargetNode::dispatchFocusEvent):
2196         (WebCore::EventTargetNode::dispatchBlurEvent):
2197         (WebCore::EventTargetNode::defaultEventHandler):
2198         (WebCore::EventTargetNode::on*): (multiple methods)
2199         (WebCore::EventTargetNode::setOn*): (multiple methods)
2200         * dom/KeyboardEvent.cpp:
2201         (WebCore::eventTypeForKeyboardEventType):
2202         (WebCore::KeyboardEvent::keyCode):
2203         (WebCore::KeyboardEvent::charCode):
2204         * dom/MessageEvent.cpp:
2205         (WebCore::MessageEvent::MessageEvent):
2206         * dom/MessagePort.cpp:
2207         (WebCore::MessagePort::dispatchMessages):
2208         (WebCore::MessagePort::dispatchCloseEvent):
2209         * dom/MouseEvent.cpp:
2210         (WebCore::MouseEvent::isDragEvent):
2211         (WebCore::MouseEvent::toElement):
2212         (WebCore::MouseEvent::fromElement):
2213         * dom/OverflowEvent.cpp:
2214         (WebCore::OverflowEvent::OverflowEvent):
2215         * dom/TextEvent.cpp:
2216         (WebCore::TextEvent::TextEvent):
2217         * dom/WebKitAnimationEvent.cpp:
2218         (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
2219         (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
2220         (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
2221         (WebCore::WebKitAnimationEvent::animationName):
2222         (WebCore::WebKitAnimationEvent::elapsedTime):
2223         * dom/WebKitTransitionEvent.cpp:
2224         (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
2225         (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
2226         (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
2227         (WebCore::WebKitTransitionEvent::propertyName):
2228         (WebCore::WebKitTransitionEvent::elapsedTime):
2229         * dom/WheelEvent.cpp:
2230         (WebCore::WheelEvent::WheelEvent):
2231         (WebCore::WheelEvent::initWheelEvent):
2232         * dom/XMLTokenizerLibxml2.cpp:
2233         * dom/XMLTokenizerQt.cpp:
2234         * editing/DeleteButton.cpp:
2235         (WebCore::DeleteButton::defaultEventHandler):
2236         * editing/EditCommand.cpp:
2237         * editing/Editor.cpp:
2238         (WebCore::Editor::canDHTMLCut):
2239         (WebCore::Editor::canDHTMLCopy):
2240         (WebCore::Editor::canDHTMLPaste):
2241         (WebCore::Editor::tryDHTMLCopy):
2242         (WebCore::Editor::tryDHTMLCut):
2243         (WebCore::Editor::tryDHTMLPaste):
2244         (WebCore::dispatchEditableContentChangedEvents):
2245         * editing/ReplaceSelectionCommand.cpp:
2246         (WebCore::ReplacementFragment::ReplacementFragment):
2247         * editing/SelectionController.cpp:
2248         (WebCore::SelectionController::setFocused):
2249         * html/HTMLAnchorElement.cpp:
2250         (WebCore::HTMLAnchorElement::defaultEventHandler):
2251         * html/HTMLBodyElement.cpp:
2252         (WebCore::HTMLBodyElement::parseMappedAttribute):
2253         * html/HTMLButtonElement.cpp:
2254         (WebCore::HTMLButtonElement::parseMappedAttribute):
2255         (WebCore::HTMLButtonElement::defaultEventHandler):
2256         * html/HTMLElement.cpp:
2257         (WebCore::HTMLElement::parseMappedAttribute):
2258         * html/HTMLFormControlElement.cpp:
2259         (WebCore::HTMLFormControlElement::onChange):
2260         * html/HTMLFormElement.cpp:
2261         (WebCore::HTMLFormElement::handleLocalEvents):
2262         (WebCore::HTMLFormElement::prepareSubmit):
2263         (WebCore::HTMLFormElement::reset):
2264         (WebCore::HTMLFormElement::parseMappedAttribute):
2265         * html/HTMLFrameElementBase.cpp:
2266         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
2267         * html/HTMLFrameSetElement.cpp:
2268         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
2269         * html/HTMLImageElement.cpp:
2270         (WebCore::HTMLImageElement::parseMappedAttribute):
2271         * html/HTMLImageLoader.cpp:
2272         (WebCore::HTMLImageLoader::dispatchLoadEvent):
2273         * html/HTMLInputElement.cpp:
2274         (WebCore::HTMLInputElement::parseMappedAttribute):
2275         (WebCore::HTMLInputElement::setValueFromRenderer):
2276         (WebCore::HTMLInputElement::preDispatchEventHandler):
2277         (WebCore::HTMLInputElement::postDispatchEventHandler):
2278         (WebCore::HTMLInputElement::defaultEventHandler):
2279         (WebCore::HTMLInputElement::onSearch):
2280         * html/HTMLLabelElement.cpp:
2281         (WebCore::HTMLLabelElement::defaultEventHandler):
2282         * html/HTMLMediaElement.cpp:
2283         (WebCore::HTMLMediaElement::load):
2284         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
2285         (WebCore::HTMLMediaElement::setReadyState):
2286         (WebCore::HTMLMediaElement::progressEventTimerFired):
2287         (WebCore::HTMLMediaElement::seek):
2288         (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
2289         (WebCore::HTMLMediaElement::setPlaybackRate):
2290         (WebCore::HTMLMediaElement::play):
2291         (WebCore::HTMLMediaElement::pause):
2292         (WebCore::HTMLMediaElement::setVolume):
2293         (WebCore::HTMLMediaElement::setMuted):
2294         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
2295         (WebCore::HTMLMediaElement::documentWillBecomeInactive):
2296         * html/HTMLObjectElement.cpp:
2297         (WebCore::HTMLObjectElement::parseMappedAttribute):
2298         * html/HTMLOptionElement.cpp:
2299         * html/HTMLScriptElement.cpp:
2300         (WebCore::HTMLScriptElement::parseMappedAttribute):
2301         (WebCore::HTMLScriptElement::dispatchLoadEvent):
2302         (WebCore::HTMLScriptElement::dispatchErrorEvent):
2303         * html/HTMLSelectElement.cpp:
2304         (WebCore::HTMLSelectElement::parseMappedAttribute):
2305         (WebCore::HTMLSelectElement::defaultEventHandler):
2306         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
2307         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2308         * html/HTMLTextAreaElement.cpp:
2309         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2310         (WebCore::HTMLTextAreaElement::defaultEventHandler):
2311         * html/HTMLTokenizer.cpp:
2312         (WebCore::HTMLTokenizer::notifyFinished):
2313         * loader/FrameLoader.cpp:
2314         (WebCore::FrameLoader::stopLoading):
2315         (WebCore::FrameLoader::canCachePage):
2316         * loader/ImageDocument.cpp:
2317         (WebCore::ImageEventListener::handleEvent):
2318         * loader/ImageLoader.cpp:
2319         * loader/MediaDocument.cpp:
2320         (WebCore::MediaDocument::defaultEventHandler):
2321         * loader/appcache/DOMApplicationCache.cpp:
2322         (WebCore::DOMApplicationCache::callCheckingListener):
2323         (WebCore::DOMApplicationCache::callErrorListener):
2324         (WebCore::DOMApplicationCache::callNoUpdateListener):
2325         (WebCore::DOMApplicationCache::callDownloadingListener):
2326         (WebCore::DOMApplicationCache::callProgressListener):
2327         (WebCore::DOMApplicationCache::callUpdateReadyListener):
2328         (WebCore::DOMApplicationCache::callCachedListener):
2329         * page/AccessibilityObject.cpp:
2330         * page/AccessibilityRenderObject.cpp:
2331         (WebCore::AccessibilityRenderObject::mouseButtonListener):
2332         * page/ContextMenuController.cpp:
2333         (WebCore::ContextMenuController::handleContextMenuEvent):
2334         * page/DOMWindow.cpp:
2335         (WebCore::DOMWindow::on*): (multiple methods)
2336         (WebCore::DOMWindow::setOn*): (multiple methods)
2337         * page/EventHandler.cpp:
2338         (WebCore::EventHandler::handleMousePressEvent):
2339         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2340         (WebCore::EventHandler::handleMouseMoveEvent):
2341         (WebCore::EventHandler::handleMouseReleaseEvent):
2342         (WebCore::EventHandler::updateDragAndDrop):
2343         (WebCore::EventHandler::cancelDragAndDrop):
2344         (WebCore::EventHandler::performDragAndDrop):
2345         (WebCore::EventHandler::updateMouseEventTargetNode):
2346         (WebCore::EventHandler::dispatchMouseEvent):
2347         (WebCore::EventHandler::sendContextMenuEvent):
2348         (WebCore::EventHandler::canMouseDownStartSelect):
2349         (WebCore::EventHandler::canMouseDragExtendSelect):
2350         (WebCore::EventHandler::defaultKeyboardEventHandler):
2351         (WebCore::EventHandler::dragSourceMovedTo):
2352         (WebCore::EventHandler::dragSourceEndedAt):
2353         (WebCore::EventHandler::handleDrag):
2354         (WebCore::EventHandler::handleTextInputEvent):
2355         * page/FocusController.cpp:
2356         * page/Frame.cpp:
2357         (WebCore::Frame::sendResizeEvent):
2358         (WebCore::Frame::sendScrollEvent):
2359         * page/Page.cpp:
2360         (WebCore::networkStateChanged):
2361         * page/animation/AnimationBase.cpp:
2362         (WebCore::AnimationBase::updateStateMachine):
2363         (WebCore::AnimationBase::animationTimerCallbackFired):
2364         (WebCore::AnimationBase::primeEventTimers):
2365         * page/animation/ImplicitAnimation.cpp:
2366         (WebCore::ImplicitAnimation::onAnimationEnd):
2367         (WebCore::ImplicitAnimation::sendTransitionEvent):
2368         * page/animation/KeyframeAnimation.cpp:
2369         (WebCore::KeyframeAnimation::onAnimationStart):
2370         (WebCore::KeyframeAnimation::onAnimationIteration):
2371         (WebCore::KeyframeAnimation::onAnimationEnd):
2372         (WebCore::KeyframeAnimation::sendAnimationEvent):
2373         * page/gtk/EventHandlerGtk.cpp:
2374         * page/mac/EventHandlerMac.mm:
2375         (WebCore::isKeyboardOptionTab):
2376         * page/mac/FrameMac.mm:
2377         * page/qt/EventHandlerQt.cpp:
2378         (WebCore::isKeyboardOptionTab):
2379         * plugins/PluginView.cpp:
2380         * plugins/gtk/PluginViewGtk.cpp:
2381         * plugins/qt/PluginViewQt.cpp:
2382         * plugins/win/PluginViewWin.cpp:
2383         (WebCore::PluginView::handleKeyboardEvent):
2384         (WebCore::PluginView::handleMouseEvent):
2385         * rendering/MediaControlElements.cpp:
2386         (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
2387         (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
2388         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
2389         (WebCore::MediaControlTimelineElement::defaultEventHandler):
2390         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
2391         * rendering/RenderFrameSet.cpp:
2392         (WebCore::RenderFrameSet::userResize):
2393         * rendering/RenderLayer.cpp:
2394         (WebCore::RenderLayer::scrollToOffset):
2395         * rendering/RenderListBox.cpp:
2396         (WebCore::RenderListBox::valueChanged):
2397         * rendering/RenderMedia.cpp:
2398         (WebCore::RenderMedia::forwardEvent):
2399         * rendering/RenderObject.cpp:
2400         * rendering/RenderSlider.cpp:
2401         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
2402         * rendering/RenderTextControl.cpp:
2403         (WebCore::RenderTextControl::forwardEvent):
2404         (WebCore::RenderTextControl::selectionChanged):
2405         * rendering/RenderWidget.cpp:
2406         * rendering/TextControlInnerElements.cpp:
2407         (WebCore::TextControlInnerTextElement::defaultEventHandler):
2408         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
2409         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
2410         * storage/LocalStorageArea.cpp:
2411         (WebCore::LocalStorageArea::dispatchStorageEvent):
2412         * storage/SessionStorageArea.cpp:
2413         (WebCore::SessionStorageArea::dispatchStorageEvent):
2414         * svg/SVGAElement.cpp:
2415         (WebCore::SVGAElement::defaultEventHandler):
2416         * svg/SVGDocument.cpp:
2417         (WebCore::SVGDocument::dispatchZoomEvent):
2418         (WebCore::SVGDocument::dispatchScrollEvent):
2419         * svg/SVGElement.cpp:
2420         (WebCore::SVGElement::parseMappedAttribute):
2421         (WebCore::hasLoadListener):
2422         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
2423         * svg/SVGElementInstance.cpp:
2424         (WebCore::SVGElementInstance::on*): (multiple methods)
2425         (WebCore::SVGElementInstance::setOn*): (multiple methods)
2426         * svg/SVGImageLoader.cpp:
2427         (WebCore::SVGImageLoader::dispatchLoadEvent):
2428         * svg/SVGSVGElement.cpp:
2429         (WebCore::SVGSVGElement::parseMappedAttribute):
2430         * svg/SVGScriptElement.cpp:
2431         (WebCore::SVGScriptElement::dispatchErrorEvent):
2432         * xml/XMLHttpRequest.cpp:
2433         (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
2434         (WebCore::XMLHttpRequest::dispatchAbortEvent):
2435         (WebCore::XMLHttpRequest::dispatchErrorEvent):
2436         (WebCore::XMLHttpRequest::dispatchLoadEvent):
2437         (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
2438         (WebCore::XMLHttpRequest::dispatchProgressEvent):
2439         * xml/XMLHttpRequestUpload.cpp:
2440         (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
2441         (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
2442         (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
2443         (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
2444         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
2445         * xml/XPathResult.cpp:
2446         (WebCore::XPathResult::XPathResult):
2447         (WebCore::XPathResult::~XPathResult):
2448         (WebCore::XPathResult::invalidateIteratorState):
2449         Access event names via eventNames() function.
2450
2451 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
2452
2453         Reviewed by Mark Rowe.
2454
2455         Delete unused forwarding headers.
2456
2457         * ForwardingHeaders/kjs/Activation.h: Removed.
2458         * ForwardingHeaders/kjs/Register.h: Removed.
2459         * ForwardingHeaders/kjs/RegisterID.h: Removed.
2460
2461 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
2462
2463         Not reviewed.
2464
2465         Fix stupid typo in previous build fix.
2466
2467         * bindings/js/JSStorageCustom.cpp:
2468         * bindings/scripts/CodeGeneratorJS.pm:
2469         * bridge/NP_jsobject.cpp:
2470
2471 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
2472
2473         Not reviewed.
2474
2475         Fix the build for all non-Mac platforms.
2476
2477         * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
2478         * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
2479         * bindings/js/JSStorageCustom.cpp:
2480         * bindings/scripts/CodeGeneratorJS.pm:
2481         * bridge/NP_jsobject.cpp:
2482
2483 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
2484
2485         Not reviewed.
2486
2487         Fix the wxWindows build.
2488
2489         * bridge/c/c_instance.cpp:
2490
2491 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
2492
2493         Rubber-stamped by Maciej Stachowiak.
2494
2495         Move more files into the runtime subdirectory of JavaScriptCore.
2496
2497         * ForwardingHeaders/kjs/ArgList.h: Removed.
2498         * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
2499         * ForwardingHeaders/kjs/ExecState.h: Removed.
2500         * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
2501         * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
2502         * ForwardingHeaders/kjs/JSLock.h: Removed.
2503         * ForwardingHeaders/kjs/SymbolTable.h: Removed.
2504         * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
2505         * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
2506         * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
2507         * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
2508         * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
2509         * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
2510         * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
2511         * bindings/js/GCController.cpp:
2512         * bindings/js/JSCustomPositionCallback.cpp:
2513         * bindings/js/JSCustomPositionErrorCallback.cpp:
2514         * bindings/js/JSCustomSQLStatementCallback.cpp:
2515         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2516         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2517         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2518         * bindings/js/JSCustomVoidCallback.cpp:
2519         * bindings/js/JSCustomXPathNSResolver.cpp:
2520         * bindings/js/JSDOMWindowBase.cpp:
2521         * bindings/js/JSEventCustom.cpp:
2522         * bindings/js/JSEventListener.cpp:
2523         * bindings/js/JSNodeFilterCondition.cpp:
2524         * bindings/js/ScheduledAction.cpp:
2525         * bindings/js/ScriptController.cpp:
2526         * bindings/js/ScriptControllerMac.mm:
2527         * bindings/objc/WebScriptObject.mm:
2528         * bridge/NP_jsobject.cpp:
2529         * bridge/c/c_class.cpp:
2530         * bridge/c/c_instance.cpp:
2531         * bridge/c/c_runtime.cpp:
2532         * bridge/c/c_utility.cpp:
2533         * bridge/jni/jni_class.cpp:
2534         * bridge/jni/jni_instance.cpp:
2535         * bridge/jni/jni_jsobject.mm:
2536         * bridge/jni/jni_objc.mm:
2537         * bridge/jni/jni_runtime.cpp:
2538         * bridge/jni/jni_runtime.h:
2539         * bridge/jni/jni_utility.cpp:
2540         * bridge/npruntime.cpp:
2541         * bridge/objc/objc_instance.mm:
2542         * bridge/objc/objc_runtime.mm:
2543         * bridge/objc/objc_utility.mm:
2544         * bridge/runtime.cpp:
2545         * dom/Document.cpp:
2546         * dom/Node.cpp:
2547         * dom/NodeFilter.cpp:
2548         * dom/NodeIterator.cpp:
2549         * dom/TreeWalker.cpp:
2550         * history/CachedPage.cpp:
2551         * inspector/InspectorController.cpp:
2552         * inspector/JavaScriptCallFrame.cpp:
2553         * inspector/JavaScriptCallFrame.h:
2554         * inspector/JavaScriptDebugServer.cpp:
2555         * inspector/JavaScriptProfileNode.cpp:
2556         * loader/FrameLoader.cpp:
2557         * loader/icon/IconDatabase.cpp:
2558         * page/Console.cpp:
2559         * page/Page.cpp:
2560         * page/mac/FrameMac.mm:
2561         * plugins/PluginView.cpp:
2562         * plugins/gtk/PluginViewGtk.cpp:
2563         * plugins/qt/PluginViewQt.cpp:
2564         * plugins/win/PluginViewWin.cpp:
2565         * storage/Database.cpp:
2566         * xml/XMLHttpRequest.cpp:
2567
2568 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
2569
2570         Reviewed by Sam Weinig.
2571
2572         Remove the forwarding header for FunctionCallProfile, because it was
2573         renamed to ProfileNode in r33466.
2574
2575         * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
2576
2577 2008-11-03  Simon Fraser  <simon.fraser@apple.com>
2578
2579         Reviewed by Dave Hyatt
2580
2581         https://bugs.webkit.org/show_bug.cgi?id=22026
2582
2583         When computing the bounds of the transparency layer, we need to
2584         map the clipRect through the enclosing transform.
2585         
2586         Test: fast/layers/opacity-transforms.html
2587
2588         * rendering/RenderLayer.cpp:
2589         (WebCore::transparencyClipBox):
2590
2591 2008-11-03  Kevin Decker  <kdecker@apple.com>
2592
2593         Reviewed by Anders Carlsson.
2594
2595         https://bugs.webkit.org/show_bug.cgi?id=22053
2596
2597         Added additional support needed for the NPDrawingModelCoreAnimation drawing model. 
2598
2599         * bridge/npapi.h:
2600
2601 2008-11-03  Xan Lopez  <xan@gnome.org>
2602
2603         Reviewed by Alp Toker.
2604
2605         Update parseDataUrl() function in the libsoup http backend with
2606         the one from the curl backend which has recent correctness and crash
2607         fixes.
2608
2609         * platform/network/soup/ResourceHandleSoup.cpp:
2610         (WebCore::parseDataUrl):
2611
2612 2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
2613
2614         Reviewed by Alp Toker.
2615
2616         https://bugs.webkit.org/show_bug.cgi?id=22041
2617         Fix CURL crashes on the test suite
2618
2619         Fix segfault with setDefersLoading(). Do not call into curl when we
2620         don't have a CURL handle.
2621
2622         It is attempted to defer the loading before the load has been
2623         started (no curl handle was allocated yet). If that happens then
2624         just remember that. ResourceHandleManager::startJob is already taking
2625         care of this and in initResourceHandle the the downloading will
2626         be paused if needed.
2627
2628         Fixes fast/loader/simultaneous-reloads-assert.html
2629
2630         * platform/network/curl/ResourceHandleCurl.cpp:
2631         (WebCore::ResourceHandle::setDefersLoading):
2632
2633 2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
2634
2635         Reviewed by Alp Toker.
2636
2637         https://bugs.webkit.org/show_bug.cgi?id=22041
2638         Fix CURL crashes on the test suite
2639
2640         Do not send "no data" to WebCore in parseDataUrl().
2641
2642         Fixes assert on fast/tokenizer/image-empty-crash.html
2643
2644         * platform/network/curl/ResourceHandleManager.cpp:
2645         (WebCore::parseDataUrl):
2646
2647 2008-11-02  Xan Lopez  <xan@gnome.org>
2648
2649         Reviewed by Holger Freyther.
2650
2651         https://bugs.webkit.org/show_bug.cgi?id=22009
2652         HTML5 Video with GStreamer pulls gnome-vfs without using it
2653
2654         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2655         Remove gnome-vfs include.
2656
2657 2008-11-01  Adam Barth  <abarth@webkit.org>
2658
2659         Reviewed by Sam Weinig.
2660
2661         Be sure to check the final URLs of requested resources to make sure we
2662         don't get fooled by HTTP redirects.
2663
2664         https://bugs.webkit.org/show_bug.cgi?id=21963
2665
2666         Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
2667                http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
2668
2669         * dom/XMLTokenizerLibxml2.cpp:
2670         (WebCore::openFunc):
2671         * loader/DocLoader.cpp:
2672         (WebCore::DocLoader::canRequest):
2673         (WebCore::DocLoader::requestResource):
2674         * loader/DocLoader.h:
2675         * xml/XSLTProcessor.cpp:
2676         (WebCore::docLoaderFunc):
2677
2678 2008-11-01  Alexey Proskuryakov  <ap@webkit.org>
2679
2680         Reviewed by Darin Adler.
2681
2682         https://bugs.webkit.org/show_bug.cgi?id=22001
2683         AtomicStringImpl* keys of event listener maps can outlive their strings
2684
2685         Test: fast/events/destroyed-atomic-string.html
2686
2687         * dom/MessagePort.cpp:
2688         (WebCore::MessagePort::addEventListener):
2689         (WebCore::MessagePort::removeEventListener):
2690         (WebCore::MessagePort::dispatchEvent):
2691         * dom/MessagePort.h:
2692         * loader/appcache/DOMApplicationCache.cpp:
2693         (WebCore::DOMApplicationCache::addEventListener):
2694         (WebCore::DOMApplicationCache::removeEventListener):
2695         (WebCore::DOMApplicationCache::dispatchEvent):
2696         * loader/appcache/DOMApplicationCache.h:
2697         * xml/XMLHttpRequest.cpp:
2698         (WebCore::XMLHttpRequest::addEventListener):
2699         (WebCore::XMLHttpRequest::removeEventListener):
2700         (WebCore::XMLHttpRequest::dispatchEvent):
2701         * xml/XMLHttpRequest.h:
2702         * xml/XMLHttpRequestUpload.cpp:
2703         (WebCore::XMLHttpRequestUpload::addEventListener):
2704         (WebCore::XMLHttpRequestUpload::removeEventListener):
2705         (WebCore::XMLHttpRequestUpload::dispatchEvent):
2706         * xml/XMLHttpRequestUpload.h:
2707         Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
2708
2709 2008-10-31  Alexey Proskuryakov  <ap@webkit.org>
2710
2711         Reviewed by Darin Adler.
2712
2713         https://bugs.webkit.org/show_bug.cgi?id=21998
2714         Use JSDOMGlobalObject in EventListener-related bindings
2715
2716         * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
2717
2718         * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
2719         bindings for inline event handlers.
2720
2721         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2722         (WebCore::JSDOMApplicationCache::addEventListener):
2723         (WebCore::JSDOMApplicationCache::removeEventListener):
2724         * bindings/js/JSEventTargetNodeCustom.cpp:
2725         (WebCore::JSEventTargetNode::addEventListener):
2726         (WebCore::JSEventTargetNode::removeEventListener):
2727         * bindings/js/JSMessagePortCustom.cpp:
2728         (WebCore::JSMessagePort::removeEventListener):
2729         * bindings/js/JSSVGElementInstanceCustom.cpp:
2730         (WebCore::JSSVGElementInstance::addEventListener):
2731         (WebCore::JSSVGElementInstance::removeEventListener):
2732         * bindings/js/JSXMLHttpRequestCustom.cpp:
2733         (WebCore::JSXMLHttpRequest::addEventListener):
2734         (WebCore::JSXMLHttpRequest::removeEventListener):
2735         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2736         (WebCore::JSXMLHttpRequestUpload::addEventListener):
2737         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2738         Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
2739
2740         * dom/EventTarget.h:
2741         * dom/EventTargetNode.cpp:
2742         (WebCore::EventTargetNode::scriptExecutionContext):
2743         * dom/EventTargetNode.h:
2744         * dom/MessagePort.cpp:
2745         * dom/MessagePort.h:
2746         (WebCore::MessagePort::scriptExecutionContext):
2747         * loader/appcache/DOMApplicationCache.cpp:
2748         (WebCore::DOMApplicationCache::scriptExecutionContext):
2749         * loader/appcache/DOMApplicationCache.h:
2750         * svg/SVGElementInstance.cpp:
2751         (WebCore::SVGElementInstance::scriptExecutionContext):
2752         * svg/SVGElementInstance.h:
2753         * xml/XMLHttpRequest.cpp:
2754         (WebCore::XMLHttpRequest::scriptExecutionContext):
2755         * xml/XMLHttpRequest.h:
2756         * xml/XMLHttpRequestUpload.cpp:
2757         (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
2758         * xml/XMLHttpRequestUpload.h:
2759         Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
2760         available yet.
2761
2762 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
2763
2764         Rubber-stamped by Geoff Garen.
2765
2766         Rename SourceRange.h to SourceCode.h.
2767
2768         * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
2769         * ForwardingHeaders/kjs/SourceRange.h: Removed.
2770         * bindings/js/StringSourceProvider.h:
2771         * bridge/NP_jsobject.cpp:
2772
2773 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
2774
2775         Reviewed by Darin Adler.
2776
2777         Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
2778         <https://bugs.webkit.org/show_bug.cgi?id=22019>
2779
2780         * WebCore.base.exp:
2781         * page/Console.cpp:
2782         (WebCore::printToStandardOut):
2783         (WebCore::Console::shouldPrintExceptions):
2784         (WebCore::Console::setShouldPrintExceptions):
2785         * page/Console.h:
2786
2787 2008-10-31  Dan Bernstein  <mitz@apple.com>
2788
2789         Reviewed by John Sullivan.
2790
2791         - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
2792
2793         * dom/Document.cpp:
2794         (WebCore::Document::cookie): Added checking if cookies are disabled.
2795         (WebCore::Document::setCookie): Ditto.
2796         * page/Navigator.cpp:
2797         (WebCore::Navigator::cookieEnabled): Ditto.
2798         * page/Page.cpp:
2799         (WebCore::Page::Page): Initialize m_cookieEnabled to true.
2800         * page/Page.h:
2801         (WebCore::Page::cookieEnabled): Added.
2802         (WebCore::Page::setCookieEnabled): Added.
2803
2804 2008-10-31  Adele Peterson  <adele@apple.com>
2805
2806         Reviewed by Darin Adler.
2807
2808         WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
2809         https://bugs.webkit.org/show_bug.cgi?id=22008
2810
2811         * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): 
2812         Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
2813         * platform/graphics/Icon.h: ditto.
2814         * platform/graphics/gtk/IconGtk.cpp:
2815         (WebCore::Icon::createIconForFile): ditto.
2816         (WebCore::Icon::createIconForFiles): ditto.
2817         * platform/graphics/mac/IconMac.mm:
2818         (WebCore::Icon::createIconForFile): ditto.
2819         (WebCore::Icon::createIconForFiles): ditto.
2820         * platform/graphics/qt/IconQt.cpp:
2821         (WebCore::Icon::createIconForFile): ditto.
2822         (WebCore::Icon::createIconForFiles): ditto.
2823         * platform/wx/TemporaryLinkStubs.cpp:
2824         (Icon::createIconForFile): ditto.
2825         (Icon::createIconForFiles): ditto.
2826         * platform/graphics/win/IconWin.cpp:
2827         (WebCore::Icon::createIconForFile): ditto.
2828         (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
2829
2830         * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):        
2831         Improve icon creation code to match new code in Icon::createIconForFiles
2832         
2833 2008-10-31  Timothy Hatcher  <timothy@apple.com>
2834
2835         Add manual tests that check breakpoints on a blockless body of "for" loops.
2836
2837         https://bugs.webkit.org/show_bug.cgi?id=22004
2838
2839         Reviewed by Darin Adler.
2840
2841         * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
2842         * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
2843
2844 2008-10-31  Darin Adler  <darin@apple.com>
2845
2846         - fix build
2847
2848         * platform/win/WCDataObject.cpp: Added missing include of "config.h".
2849
2850 2008-10-30  Alexey Proskuryakov  <ap@webkit.org>
2851
2852         Reviewed by Darin Adler.
2853
2854         https://bugs.webkit.org/show_bug.cgi?id=21970
2855         Make MessagePort event dispatch work in workers
2856
2857         * bindings/js/JSDOMGlobalObject.cpp:
2858         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
2859         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
2860         (WebCore::JSDOMGlobalObject::findJSEventListener):
2861         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
2862         (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
2863         (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
2864         (WebCore::JSDOMGlobalObject::jsEventListeners):
2865         (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
2866         (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
2867         (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
2868         (WebCore::JSDOMGlobalObject::setCurrentEvent):
2869         (WebCore::JSDOMGlobalObject::currentEvent):
2870         (WebCore::toJSDOMGlobalObject):
2871         * bindings/js/JSDOMGlobalObject.h:
2872         * bindings/js/JSDOMWindowBase.cpp:
2873         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
2874         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
2875         (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
2876         * bindings/js/JSDOMWindowBase.h:
2877         Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
2878
2879         * bindings/js/JSEventListener.cpp:
2880         (WebCore::JSAbstractEventListener::handleEvent):
2881         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
2882         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
2883         (WebCore::JSUnprotectedEventListener::globalObject):
2884         (WebCore::JSUnprotectedEventListener::clearGlobalObject):
2885         (WebCore::JSEventListener::JSEventListener):
2886         (WebCore::JSEventListener::~JSEventListener):
2887         (WebCore::JSEventListener::globalObject):
2888         (WebCore::JSEventListener::clearGlobalObject):
2889         (WebCore::JSLazyEventListener::JSLazyEventListener):
2890         (WebCore::JSLazyEventListener::parseCode):
2891         * bindings/js/JSEventListener.h:
2892         (WebCore::JSUnprotectedEventListener::create):
2893         (WebCore::JSEventListener::create):
2894         (WebCore::JSLazyEventListener::create):
2895         Changed to use JSDOMGlobalObject and ScriptExecutionContext.
2896
2897         * bindings/js/JSMessagePortCustom.cpp:
2898         (WebCore::JSMessagePort::startConversation):
2899         (WebCore::JSMessagePort::addEventListener):
2900         (WebCore::JSMessagePort::removeEventListener):
2901         (WebCore::JSMessagePort::setOnmessage):
2902         (WebCore::JSMessagePort::setOnclose):
2903         Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
2904         such code, and stop using a custom implementation for JSMessagePort inline event handler
2905         getters and setters.
2906
2907         * dom/Document.cpp:
2908         (WebCore::Document::virtualURL):
2909         * dom/Document.h:
2910         * dom/ScriptExecutionContext.h:
2911         Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
2912         JSLazyEventListener).
2913
2914 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
2915
2916         Not reviewed.
2917
2918         Speculative wxWindows build fix.
2919
2920         * webcore-base.bkl:
2921
2922 2008-10-30  Mark Rowe  <mrowe@apple.com>
2923
2924         Reviewed by Jon Homeycutt.
2925
2926         Explicitly default to building for only the native architecture in debug and release builds.
2927
2928         * Configurations/DebugRelease.xcconfig:
2929
2930 2008-10-30  Cameron Zwarich  <zwarich@apple.com>
2931
2932         Rubber-stamped by Sam Weinig.
2933
2934         Create a debugger directory in JavaScriptCore and move the relevant
2935         files to it.
2936
2937         * ForwardingHeaders/debugger: Added.
2938         * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
2939         * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
2940         * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
2941         * ForwardingHeaders/kjs/debugger.h: Removed.
2942         * WebCore.pro:
2943         * bindings/js/ScriptController.cpp:
2944         * inspector/JavaScriptCallFrame.cpp:
2945         * inspector/JavaScriptCallFrame.h:
2946         * inspector/JavaScriptDebugServer.cpp:
2947         * inspector/JavaScriptDebugServer.h:
2948
2949 2008-10-30  Tony Chang <tony@chromium.org>
2950
2951         Fix 2 Windows theme bugs:
2952         1) Checkboxes marked readonly were rendered incorrectly
2953         2) If a button has focus and is pressed, it was rendered
2954            as focused rather than pressed.
2955
2956         https://bugs.webkit.org/show_bug.cgi?id=21859
2957
2958         Reviewed by Dave Hyatt.
2959
2960         * rendering/RenderThemeWin.cpp:
2961         (WebCore::RenderThemeWin::determineState):
2962         (WebCore::RenderThemeWin::determineButtonState):
2963
2964 2008-10-30  Benjamin K. Stuhl  <bks24@cornell.edu>
2965
2966         gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
2967         warnings; add some parentheses to disambiguate things. No functional
2968         changes, so no tests.
2969
2970         https://bugs.webkit.org/show_bug.cgi?id=21973
2971         Add parentheses to clean up some gcc warnings
2972
2973         Reviewed by Dan Bernstein.
2974
2975         * platform/graphics/Font.h:
2976         (WebCore::Font::treatAsZeroWidthSpace):
2977
2978 2008-10-30  Aaron Boodman  <aa@chromium.org>
2979
2980         Added an explicit dependency on HashMap.h. It was getting pulled in via
2981         <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
2982
2983         Reviewed by Darin Adler.
2984
2985         * platform/text/PlatformString.h:
2986
2987 2008-10-30  Greg Bolsinga  <bolsinga@apple.com>
2988
2989         Reviewed by Sam Weinig
2990
2991         https://bugs.webkit.org/show_bug.cgi?id=21967
2992         
2993         For some platforms the GeolocationService must be suspended and resumed.
2994
2995         * page/Geolocation.cpp:
2996         (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
2997         (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
2998         (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
2999         (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
3000         * page/Geolocation.h:
3001         (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
3002         * platform/GeolocationService.h:
3003         (WebCore::GeolocationService::suspend): empty implementation
3004         (WebCore::GeolocationService::resume): empty implementation
3005
3006 2008-10-30  Greg Bolsinga  <bolsinga@apple.com>
3007
3008         Reviewed by Sam Weinig
3009
3010         https://bugs.webkit.org/show_bug.cgi?id=21966
3011         
3012         The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
3013         http://dev.w3.org/geo/api/spec-source.html
3014
3015         * page/Geolocation.cpp:
3016         (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
3017         * page/Geoposition.cpp: velocity is now called speed
3018         (WebCore::Geoposition::toString):
3019         * page/Geoposition.h: velocity is now called speed
3020         (WebCore::Geoposition::create):
3021         (WebCore::Geoposition::speed):
3022         (WebCore::Geoposition::Geoposition):
3023         * page/Geoposition.idl: velocity is now called speed
3024         * page/PositionOptions.h: timeout is now unsigned
3025         (WebCore::PositionOptions::create):
3026         (WebCore::PositionOptions::timeout):
3027         (WebCore::PositionOptions::setTimeout):
3028         (WebCore::PositionOptions::PositionOptions):
3029         * page/PositionOptions.idl: timeout is now unsigned long
3030
3031 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
3032
3033         Also handle preserved newlines.
3034
3035         * editing/BreakBlockquoteCommand.cpp:
3036         (WebCore::BreakBlockquoteCommand::doApply):
3037
3038 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
3039
3040         Reviewed by Beth Dakin.
3041
3042         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
3043
3044         * editing/BreakBlockquoteCommand.cpp:
3045         (WebCore::BreakBlockquoteCommand::doApply): 
3046         Don't store the endingSelection() in selection, just call endingSelection() in the few places it's 
3047         needed.  This function is cheap since it just returns a reference to a Selection instead of creating one.
3048         Don't store an affinity.  In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
3049         we now use visiblePos (in order to avoid VisiblePosition creation).
3050         Set pos after we delete the current selection (if there is one), and be consistent about what we set 
3051         pos to.  Before, we upstream()ed it if there was a selection to delete and left it alone otherwise.  In fact...
3052         ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is 
3053         in the first node that we want to move.  This fixes the bug, since it lets code that checks for the case 
3054         where the caret is between text and a br work correctly.
3055
3056 2008-10-30  Yael Aharon  <yael.aharon@nokia.com>
3057
3058         Reviewed by Darin Adler.
3059
3060         Fix the Qt build.
3061
3062         https://bugs.webkit.org/show_bug.cgi?id=21969
3063
3064         * inspector/front-end/WebKit.qrc:
3065         * platform/graphics/qt/ImageBufferQt.cpp:
3066         (WebCore::ImageBufferData::ImageBufferData):
3067         (WebCore::ImageBuffer::ImageBuffer):
3068         (WebCore::ImageBuffer::context):
3069         (WebCore::ImageBuffer::image):
3070         (WebCore::ImageBuffer::toDataURL):
3071
3072 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
3073
3074         Reviewed by Darin Adler.
3075
3076         More preparation for:
3077         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
3078
3079         * editing/BreakBlockquoteCommand.cpp:
3080         (WebCore::BreakBlockquoteCommand::doApply): Added comments.  Don't need to use newStartNode.  If the 
3081         startNode needs to change, change it.  Afterwords, check to make sure that it hasn't left topBlockquote.  
3082         This is slightly stricter than before, where we just made sure that it still had a topBlockquote.  This 
3083         doesn't really fix a bug, since we can't really get into a situation where we move to a different 
3084         topBlockquote, but it simplifies the code.
3085
3086 2008-10-30  Dirk Schulze  <vbs85@gmx.de>
3087
3088         Reviewed by Alp Toker.
3089
3090         https://bugs.webkit.org/show_bug.cgi?id=21883
3091         [CAIRO] globalAlpha has to be stored and restored
3092
3093         Cairo's globalAlpha has to be stored and reloaded on calling
3094         save() and restore(). We use the power of GraphicsContextState for this.
3095
3096         * platform/graphics/GraphicsContextPrivate.h:
3097         (WebCore::GraphicsContextState::GraphicsContextState):
3098         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3099         (WebCore::GraphicsContext::fillPath):
3100         (WebCore::GraphicsContext::strokePath):
3101         (WebCore::GraphicsContext::setAlpha):
3102         (WebCore::GraphicsContext::getAlpha):
3103         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3104         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3105
3106 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
3107
3108         Reviewed by Maciej Stachowiak.
3109
3110         Rename "attachedToEventTargetNode" to "isInline".
3111
3112         Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
3113         XMLHttpRequest, MessagePort et al.
3114
3115         Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
3116         attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
3117         And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
3118         "inlineEventListenerForType", as they work with inline listeners.
3119
3120         * bindings/js/JSDOMApplicationCacheCustom.cpp:
3121         (WebCore::JSDOMApplicationCache::addEventListener):
3122         (WebCore::JSDOMApplicationCache::removeEventListener):
3123         * bindings/js/JSMessagePortCustom.cpp:
3124         (WebCore::JSMessagePort::setOnmessage):
3125         (WebCore::JSMessagePort::setOnclose):
3126         * bindings/js/JSXMLHttpRequestCustom.cpp:
3127         (WebCore::JSXMLHttpRequest::addEventListener):
3128         (WebCore::JSXMLHttpRequest::removeEventListener):
3129         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3130         (WebCore::JSXMLHttpRequestUpload::addEventListener):
3131         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
3132         Pass a correct value for this argument - callers used to be confused, because they didn't
3133         consider themselves event target nodes. This doesn't affect behavior however, as the only
3134         difference between inline and non-inline event handlers is that the former treat
3135         "return false" as "event.preventDefault()", which is not important to any of these objects.
3136
3137         * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
3138         Assert that isInline is true instead of checking its value, as the constructor of this class
3139         always sets it to true.
3140
3141         * bindings/js/JSDOMWindowBase.cpp:
3142         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
3143         (WebCore::JSDOMWindowBase::findJSEventListener):
3144         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
3145         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
3146         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
3147         (WebCore::JSDOMWindowBase::jsInlineEventListeners):
3148         (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
3149         * bindings/js/JSDOMWindowBase.h:
3150         * bindings/js/JSEventListener.cpp:
3151         (WebCore::JSAbstractEventListener::handleEvent):
3152         (WebCore::JSAbstractEventListener::isInline):
3153         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
3154         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
3155         (WebCore::JSEventListener::JSEventListener):
3156         (WebCore::JSEventListener::~JSEventListener):
3157         (WebCore::JSLazyEventListener::parseCode):
3158         * bindings/js/JSEventListener.h:
3159         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
3160         (WebCore::JSUnprotectedEventListener::create):
3161         (WebCore::JSEventListener::create):
3162         * bindings/js/ScriptController.cpp:
3163         (WebCore::ScriptController::createInlineEventHandler):
3164         * bindings/js/ScriptController.h:
3165         * dom/Document.cpp:
3166         (WebCore::Document::setWindowInlineEventListenerForType):
3167         (WebCore::Document::windowInlineEventListenerForType):
3168         (WebCore::Document::removeWindowInlineEventListenerForType):
3169         (WebCore::Document::createEventListener):
3170         (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
3171         * dom/Document.h:
3172         * dom/EventListener.h:
3173         (WebCore::EventListener::isInline):
3174         * dom/EventTargetNode.cpp:
3175         (WebCore::EventTargetNode::removeInlineEventListenerForType):
3176         (WebCore::EventTargetNode::setInlineEventListenerForType):
3177         (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
3178         (WebCore::EventTargetNode::inlineEventListenerForType):
3179         (WebCore::EventTargetNode::on*): (many methods)
3180         (WebCore::EventTargetNode::setOn*): (many methods)
3181         * dom/EventTargetNode.h:
3182         * editing/ReplaceSelectionCommand.cpp:
3183         (WebCore::ReplacementFragment::ReplacementFragment):
3184         * html/HTMLBodyElement.cpp:
3185         (WebCore::HTMLBodyElement::parseMappedAttribute):
3186         * html/HTMLButtonElement.cpp:
3187         (WebCore::HTMLButtonElement::parseMappedAttribute):
3188         * html/HTMLElement.cpp:
3189         (WebCore::HTMLElement::parseMappedAttribute):
3190         * html/HTMLFormElement.cpp:
3191         (WebCore::HTMLFormElement::parseMappedAttribute):
3192         * html/HTMLFrameElementBase.cpp:
3193         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
3194         * html/HTMLFrameSetElement.cpp:
3195         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
3196         * html/HTMLImageElement.cpp:
3197         (WebCore::HTMLImageElement::parseMappedAttribute):
3198         * html/HTMLInputElement.cpp:
3199         (WebCore::HTMLInputElement::parseMappedAttribute):
3200         * html/HTMLObjectElement.cpp:
3201         (WebCore::HTMLObjectElement::parseMappedAttribute):
3202         * html/HTMLScriptElement.cpp:
3203         (WebCore::HTMLScriptElement::parseMappedAttribute):
3204         * html/HTMLSelectElement.cpp:
3205         (WebCore::HTMLSelectElement::parseMappedAttribute):
3206         * html/HTMLTextAreaElement.cpp:
3207         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
3208         * page/AccessibilityRenderObject.cpp:
3209         (WebCore::AccessibilityRenderObject::mouseButtonListener):
3210         * page/DOMWindow.cpp:
3211         (WebCore::DOMWindow::setInlineEventListenerForType):
3212         (WebCore::DOMWindow::inlineEventListenerForType):
3213         (WebCore::DOMWindow::on*): (many methods)
3214         (WebCore::DOMWindow::setOn*): (many methods)
3215         * page/DOMWindow.h:
3216         * svg/SVGElement.cpp:
3217         (WebCore::SVGElement::parseMappedAttribute):
3218         * svg/SVGElementInstance.cpp:
3219         (WebCore::SVGElementInstance::on*): (many methods)
3220         (WebCore::SVGElementInstance::setOn*): (many methods)
3221         * svg/SVGSVGElement.cpp:
3222         (WebCore::SVGSVGElement::parseMappedAttribute):
3223         Rename things, as described above.
3224
3225 2008-10-29  Gustavo Noronha Silva  <gns@gnome.org>
3226
3227         Reviewed and slightly changed by Holger Freyther.
3228
3229         Added all the files that need to be installed for the Inspector to
3230         work.
3231
3232         * GNUmakefile.am: Invoke the shell to get the files.
3233
3234 2008-10-29  Andrew Scherkus  <scherkus@chromium.org>
3235
3236         Reviewed by Darin Adler
3237
3238         Add MediaPlayerPrivateChromium to MediaPlayer
3239         https://bugs.webkit.org/show_bug.cgi?id=21930
3240
3241         * platform/graphics/MediaPlayer.cpp:
3242
3243 2008-10-29  Justin Garcia  <justin.garcia@apple.com>
3244
3245         Reviewed by Darin Adler.
3246
3247         Some preparation for:
3248         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
3249         
3250         Added an early return to avoid a level of if-nesting.  No other changes.  We probably don't
3251         need to rebalance whitespace before the early return but for now don't risk any change in behavior
3252         I'll revisit that later.
3253
3254         * editing/BreakBlockquoteCommand.cpp:
3255         (WebCore::BreakBlockquoteCommand::doApply):
3256
3257 2008-10-29  Kevin Ollivier  <kevino@theolliviers.com>
3258
3259         wx build fixes after addition of runtime and ImageBuffer changes.
3260         
3261         * platform/graphics/wx/ImageBufferData.h: Added.
3262         * platform/graphics/wx/ImageBufferWx.cpp:
3263         (WebCore::ImageBufferData::ImageBufferData):
3264         (WebCore::ImageBuffer::ImageBuffer):
3265         (WebCore::ImageBuffer::context):
3266         * webcore-base.bkl:
3267
3268 2008-10-29  Brett Wilson  <brettw@chromium.org>
3269
3270         Reviewed by Darin Adler
3271         https://bugs.webkit.org/attachment.cgi?id=24745
3272
3273         Allow Skia implementations to get text style changed notifications.
3274
3275         * platform/graphics/GraphicsContext.cpp:
3276
3277 2008-10-29  Timothy Hatcher  <timothy@apple.com>
3278
3279         Add a manual test that checks breakpoints on a blockless body of
3280         an "else" statement.
3281
3282         https://bugs.webkit.org/show_bug.cgi?id=21944
3283
3284         Reviewed by Maciej Stachowiak.
3285
3286         * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
3287
3288 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
3289
3290         Reviewed by Darin Adler.
3291
3292         https://bugs.webkit.org/show_bug.cgi?id=21921
3293         MessagePort messages are dispatched to documents that are not fully active
3294
3295         Covered by corrected fast/events/message-port-inactive-document.html
3296
3297         * bindings/js/JSEventListener.cpp:
3298         (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
3299         that are not fully active.
3300
3301 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
3302
3303         Reviewed by Sam Weinig.
3304
3305         https://bugs.webkit.org/show_bug.cgi?id=21922
3306         Expose MessagePort global constructor
3307
3308         Covered by existing dumper tests.
3309
3310         * dom/MessagePort.idl:
3311         * page/DOMWindow.idl:
3312
3313 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
3314
3315         Reviewed by Darin Adler.
3316
3317         https://bugs.webkit.org/show_bug.cgi?id=21924
3318         HashTable internal index is not always deleted
3319
3320         * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
3321         Call deleteTable for HashTables that are being deleted.
3322
3323 2008-10-28  Alexey Proskuryakov  <ap@webkit.org>
3324
3325         Reviewed by Darin Adler.
3326
3327         https://bugs.webkit.org/show_bug.cgi?id=21923
3328         Create an abstraction for script execution context
3329
3330         * GNUmakefile.am:
3331         * WebCore.pro:
3332         * WebCore.vcproj/WebCore.vcproj:
3333         * WebCore.xcodeproj/project.pbxproj:
3334         * WebCoreSources.bkl:
3335         Added ScriptExecutionContext.{h,cpp}.
3336
3337         * bindings/js/JSAudioConstructor.cpp:
3338         (WebCore::JSAudioConstructor::JSAudioConstructor):
3339         * bindings/js/JSAudioConstructor.h:
3340         * bindings/js/JSImageConstructor.cpp:
3341         (WebCore::JSImageConstructor::JSImageConstructor):
3342         * bindings/js/JSImageConstructor.h:
3343         * bindings/js/JSOptionConstructor.cpp:
3344         (WebCore::JSOptionConstructor::JSOptionConstructor):
3345         * bindings/js/JSOptionConstructor.h:
3346         * bindings/js/JSXMLHttpRequestConstructor.cpp:
3347         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
3348         * bindings/js/JSXMLHttpRequestConstructor.h:
3349         Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
3350         Since these objects can only work within documents now, it is immediately converted back
3351         to Document.
3352
3353         * bindings/js/JSMessageChannelConstructor.cpp:
3354         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
3355         (WebCore::JSMessageChannelConstructor::construct):
3356         * bindings/js/JSMessageChannelConstructor.h:
3357         (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
3358         MessageChannel needs to be supported in workers right away, so the constructor operates with
3359         it directly.
3360
3361         * dom/ActiveDOMObject.cpp:
3362         (WebCore::ActiveDOMObject::ActiveDOMObject):
3363         (WebCore::ActiveDOMObject::~ActiveDOMObject):
3364         (WebCore::ActiveDOMObject::contextDestroyed):
3365         * dom/ActiveDOMObject.h:
3366         (WebCore::ActiveDOMObject::scriptExecutionContext):
3367         * bindings/js/JSDOMBinding.cpp:
3368         (WebCore::markActiveObjectsForContext):
3369         (WebCore::markCrossHeapDependentObjectsForContext):
3370         Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
3371         tracking is handled by ScriptExecutionContext.
3372
3373         * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
3374
3375         * bindings/js/JSDOMGlobalObject.h:
3376         (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
3377         Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
3378         to worker context implementation.
3379         (WebCore::scriptExecutionContext): Added a pure virtual method to access
3380         ScriptExecutionContext, implemented by subclasses.
3381
3382         * bindings/js/JSDOMWindowBase.h:
3383         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
3384         Implement by returning the associated document. Note that this method currently gives bogus
3385         results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
3386         that is currently in the frame, not the one associated with this window.
3387
3388         * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
3389
3390         * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
3391         Call markActiveObjectsForContext() by its new name.
3392
3393         * dom/DedicatedWorker.cpp:
3394         (WebCore::DedicatedWorker::DedicatedWorker):
3395         (WebCore::DedicatedWorker::document):
3396         * dom/DedicatedWorker.h:
3397         * xml/XMLHttpRequest.cpp:
3398         (WebCore::XMLHttpRequest::document):
3399         * xml/XMLHttpRequest.h:
3400         Added a document() function that upcasts ScriptExecutionContext, as these objects only work
3401         within documents currently (at least for XMLHttpRequest, this will change soon though).
3402
3403         * dom/Document.cpp:
3404         (WebCore::Document::Document):
3405         (WebCore::Document::~Document):
3406         Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
3407         with workers.
3408         
3409         * dom/Document.h:
3410         (WebCore::Document::isDocument):
3411         (WebCore::Document::refScriptExecutionContext):
3412         (WebCore::Document::derefScriptExecutionContext):
3413         Inherit from ScriptExecutionContext.
3414
3415         * dom/MessageChannel.cpp:
3416         (WebCore::MessageChannel::MessageChannel):
3417         * dom/MessageChannel.h:
3418         (WebCore::MessageChannel::create):
3419         Use ScriptExecutionContext instead of Document.
3420
3421         * dom/MessagePort.cpp:
3422         (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
3423         MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
3424         unrelated issue that was causing random crashes in layout tests).
3425         (WebCore::MessagePort::MessagePort):
3426         (WebCore::MessagePort::~MessagePort):
3427         (WebCore::MessagePort::associatedFrame):
3428         (WebCore::MessagePort::clone):
3429         (WebCore::MessagePort::postMessage):
3430         (WebCore::MessagePort::startConversation):
3431         (WebCore::MessagePort::start):
3432         (WebCore::MessagePort::contextDestroyed):
3433         (WebCore::MessagePort::dispatchMessages):
3434         * dom/MessagePort.h:
3435         (WebCore::MessagePort::create):
3436         (WebCore::MessagePort::scriptExecutionContext):
3437         Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
3438         work in worker contexts - we need to also make some its method thread safe for cross-thread
3439         messaging, and make event dispatching thread safe.
3440
3441         * dom/ScriptExecutionContext.cpp: Added.
3442         * dom/ScriptExecutionContext.h: Added.
3443         ActiveDOMObject and MessagePort tracking is moved from Document.
3444         It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
3445         but as I'm just moving Document code, and it is Document that is the main context object
3446         in our implementation currently.
3447         Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
3448         seem non-trivial to fix, and isn't really a part of this task.
3449
3450 2008-10-28  Alp Toker  <alp@nuanti.com>
3451
3452         List newly-added ImageBufferData.h in build system.
3453
3454         * GNUmakefile.am:
3455
3456 2008-10-28  Alp Toker  <alp@nuanti.com>
3457
3458         Reviewed by Cameron Zwarich.
3459
3460         De-list unused WebCore ForwardingHeaders to fix the dist target.
3461
3462         * GNUmakefile.am:
3463
3464 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
3465
3466         Not reviewed.
3467
3468         Attempt to fix the Windows build by generating Forwardingheaders for the
3469         runtime directory in JavaScriptCore.
3470
3471         * WebCore.vcproj/WebCore.vcproj:
3472
3473 2008-10-28  Justin Garcia  <justin.garcia@apple.com>
3474
3475         Reviewed by Darin Adler.
3476
3477         <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
3478
3479         * editing/Editor.cpp:
3480         (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
3481         (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which 
3482         will probably require a change more complicated than just marking the learned word as 
3483         misspelled.  I'll address it with a separate patch.
3484         * editing/EditorCommand.cpp:
3485         (WebCore::executeIgnoreSpelling): Added.
3486         (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
3487
3488 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
3489
3490         Reviewed by Mark Rowe.
3491
3492         Move ForwardingHeaders to their correct location after the creation of
3493         the runtime directory in JavaScriptCore.
3494
3495         * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
3496         * ForwardingHeaders/kjs/BooleanObject.h: Removed.
3497         * ForwardingHeaders/kjs/CallData.h: Removed.
3498         * ForwardingHeaders/kjs/ConstructData.h: Removed.
3499         * ForwardingHeaders/kjs/DateInstance.h: Removed.
3500         * ForwardingHeaders/kjs/Error.h: Removed.
3501         * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
3502         * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
3503         * ForwardingHeaders/kjs/InternalFunction.h: Removed.
3504         * ForwardingHeaders/kjs/JSArray.h: Removed.
3505         * ForwardingHeaders/kjs/JSFunction.h: Removed.
3506         * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
3507         * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
3508         * ForwardingHeaders/kjs/JSObject.h: Removed.
3509         * ForwardingHeaders/kjs/JSString.h: Removed.
3510         * ForwardingHeaders/kjs/JSValue.h: Removed.
3511         * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
3512         * ForwardingHeaders/kjs/PropertyMap.h: Removed.
3513         * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
3514         * ForwardingHeaders/kjs/StringObject.h: Removed.
3515         * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
3516         * ForwardingHeaders/kjs/StringPrototype.h: Removed.
3517         * ForwardingHeaders/kjs/StructureID.h: Removed.
3518         * ForwardingHeaders/runtime: Added.
3519         * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
3520         * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
3521         * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
3522         * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
3523         * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
3524         * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
3525         * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
3526         * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
3527         * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
3528         * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
3529         * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
3530         * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
3531         * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
3532         * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
3533         * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
3534         * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
3535         * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
3536         * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
3537         * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
3538         * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
3539         * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
3540         * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
3541         * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
3542         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3543         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3544         * bindings/js/JSClipboardCustom.cpp:
3545         * bindings/js/JSConsoleCustom.cpp:
3546         * bindings/js/JSCustomPositionCallback.h:
3547         * bindings/js/JSCustomPositionErrorCallback.h:
3548         * bindings/js/JSCustomSQLStatementCallback.h:
3549         * bindings/js/JSCustomSQLStatementErrorCallback.h:
3550         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
3551         * bindings/js/JSCustomVoidCallback.h:
3552         * bindings/js/JSCustomXPathNSResolver.h:
3553         * bindings/js/JSDOMBinding.cpp:
3554         * bindings/js/JSDOMBinding.h:
3555         * bindings/js/JSDOMGlobalObject.h:
3556         * bindings/js/JSDOMWindowBase.cpp:
3557         * bindings/js/JSDOMWindowCustom.cpp:
3558         * bindings/js/JSDOMWindowShell.cpp:
3559         * bindings/js/JSDatabaseCustom.cpp:
3560         * bindings/js/JSEventListener.cpp:
3561         * bindings/js/JSEventTarget.h:
3562         * bindings/js/JSHTMLDocumentCustom.cpp:
3563         * bindings/js/JSHistoryCustom.cpp:
3564         * bindings/js/JSInspectedObjectWrapper.cpp:
3565         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3566         * bindings/js/JSLocationCustom.cpp:
3567         * bindings/js/JSNodeFilterCondition.h:
3568         * bindings/js/JSQuarantinedObjectWrapper.cpp:
3569         * bindings/js/JSQuarantinedObjectWrapper.h:
3570         * bindings/js/JSXMLHttpRequestCustom.cpp:
3571         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3572         * bindings/objc/WebScriptObject.mm:
3573         * bindings/objc/WebScriptObjectPrivate.h:
3574         * bindings/scripts/CodeGeneratorJS.pm:
3575         * bridge/NP_jsobject.cpp:
3576         * bridge/c/c_instance.cpp:
3577         * bridge/c/c_utility.cpp:
3578         * bridge/c/c_utility.h:
3579         * bridge/jni/jni_instance.cpp:
3580         * bridge/jni/jni_jsobject.h:
3581         * bridge/jni/jni_jsobject.mm:
3582         * bridge/jni/jni_runtime.cpp:
3583         * bridge/jni/jni_utility.cpp:
3584         * bridge/jni/jni_utility.h:
3585         * bridge/objc/objc_instance.mm:
3586         * bridge/objc/objc_runtime.h:
3587         * bridge/objc/objc_runtime.mm:
3588         * bridge/objc/objc_utility.h:
3589         * bridge/objc/objc_utility.mm:
3590         * bridge/runtime.h:
3591         * bridge/runtime_array.cpp:
3592         * bridge/runtime_array.h:
3593         * bridge/runtime_method.cpp:
3594         * bridge/runtime_method.h:
3595         * bridge/runtime_object.cpp:
3596         * bridge/runtime_object.h:
3597         * bridge/runtime_root.cpp:
3598         * inspector/JavaScriptCallFrame.cpp:
3599         * inspector/JavaScriptProfile.cpp:
3600         * inspector/JavaScriptProfile.h:
3601         * inspector/JavaScriptProfileNode.cpp:
3602         * inspector/JavaScriptProfileNode.h:
3603         * loader/FrameLoader.cpp:
3604         * page/Console.cpp:
3605         * plugins/PluginView.cpp:
3606         * plugins/gtk/PluginViewGtk.cpp:
3607         * plugins/qt/PluginViewQt.cpp:
3608         * plugins/win/PluginViewWin.cpp:
3609
3610 2008-10-28  Adele Peterson  <adele@apple.com>
3611
3612         Windows build fix.  This removes Cairo include directories from non-Cairbo build configurations.
3613
3614         * WebCore.vcproj/WebCore.vcproj:
3615
3616 2008-10-28  Adele Peterson  <adele@apple.com>
3617
3618         Windows build fix.
3619
3620         * platform/graphics/ImageBuffer.h:
3621         (WebCore::ImageBuffer::create):
3622
3623 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
3624
3625         Not reviewed.
3626
3627         Roll out a mistaken attempt at fixing the GTK build in r37947.
3628
3629         * GNUmakefile.am:
3630
3631 2008-10-28  Adele Peterson  <adele@apple.com>
3632
3633         Reviewed by John Sullivan.
3634
3635         Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
3636         "files" string for multifile uploads needs to be localized
3637
3638         * page/mac/WebCoreViewFactory.h:
3639         * platform/LocalizedStrings.h:
3640         * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
3641         * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
3642         * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
3643         * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
3644         * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
3645         * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
3646
3647 2008-10-28  Brett Wilson  <brettw@chromium.org>
3648
3649         Reviewed by Darin Adler.
3650
3651         https://bugs.webkit.org/show_bug.cgi?id=21816
3652
3653         Remove platform ifdefs in ImageBuffer.h by moving platform specific code
3654         into a new PlatformImageBuffer class. Move the static create function
3655         into the header because it can be cross-platform. Initialization now
3656         happens in the cunstructor which sets a flag that create uses to know
3657         whether it should return null or not. I also made passing of IntSize
3658         more consistent (always by reference).
3659
3660         This change also changes the ifdefs in GraphicsContext to allow Skia
3661         ports to implement text drawing modes.
3662
3663         * platform/graphics/ImageBuffer.h:
3664         (WebCore::ImageBuffer::create):
3665         (WebCore::ImageBuffer::size):
3666         * platform/graphics/cairo/ImageBufferCairo.cpp:
3667         (WebCore::ImageBufferData::ImageBufferData):
3668         (WebCore::ImageBuffer::ImageBuffer):
3669         (WebCore::ImageBuffer::~ImageBuffer):
3670         (WebCore::ImageBuffer::image):
3671         (WebCore::ImageBuffer::getImageData):
3672         (WebCore::ImageBuffer::putImageData):
3673         * platform/graphics/cairo/ImageBufferData.h:
3674         * platform/graphics/cg/ImageBufferCG.cpp:
3675         (WebCore::ImageBufferData::ImageBufferData):
3676         (WebCore::ImageBuffer::ImageBuffer):
3677         (WebCore::ImageBuffer::~ImageBuffer):
3678         (WebCore::ImageBuffer::getImageData):
3679         (WebCore::ImageBuffer::putImageData):
3680         * platform/graphics/cg/ImageBufferData.h:
3681         * platform/graphics/qt/ImageBufferData.h:
3682         * platform/graphics/qt/ImageBufferQt.cpp:
3683         (WebCore::ImageBufferData::ImageBufferData):
3684         (WebCore::ImageBuffer::ImageBuffer):
3685         (WebCore::ImageBuffer::~ImageBuffer):
3686
3687 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
3688
3689         Not reviewed.
3690
3691         Fix the GTK build.
3692
3693         * GNUmakefile.am:
3694
3695 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
3696
3697         Not reviewed.
3698
3699         Another Qt build fix.
3700
3701         * WebCore.pro:
3702
3703 2008-10-28  Greg Bolsinga  <bolsinga@apple.com>
3704
3705         Reviewed by David Kilzer.
3706
3707         https://bugs.webkit.org/show_bug.cgi?id=21932
3708         Add non-pointer constant lookups to SoftLinking.h
3709
3710         * platform/mac/SoftLinking.h:
3711
3712 2008-10-28  Greg Bolsinga  <bolsinga@apple.com>
3713
3714         Reviewed by David Kilzer.
3715
3716         https://bugs.webkit.org/show_bug.cgi?id=2192
3717         Missing semi-colons in Geoposition.idl
3718
3719         * page/Geoposition.idl: Add missing semi-colons
3720
3721 2008-10-28  Timothy Hatcher  <timothy@apple.com>
3722
3723         Make the Profiles panel in the Web Inspector have an enable screen.
3724         Profiling now needs to be enabled before console.profile() works.
3725
3726         <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
3727         not slow down JavaScript all the time
3728
3729         Reviewed by Darin Adler and Kevin McCullough.
3730
3731         * English.lproj/localizedStrings.js: New strings.
3732         * WebCore.base.exp: New and changed exports.
3733         * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
3734         * bindings/js/JSDOMWindowBase.cpp:
3735         (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
3736         * inspector/InspectorController.cpp:
3737         (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
3738         Timer to call InspectorController::startUserInitiatedProfiling.
3739         (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
3740         that calls InspectorController::startUserInitiatedProfiling.
3741         (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
3742         and enable the profiler if the profiler was not enabled.
3743         (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
3744         (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
3745         if the skipRecompile argument is false. Call the profilerWasEnabled script function.
3746         (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
3747         Call the profilerWasEnabled script function.
3748         (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
3749         so it won't be started later.
3750         * inspector/InspectorController.h:
3751         (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
3752         * inspector/front-end/Images/debuggingButtons.png: Remove.
3753         * inspector/front-end/Images/enableButtons.png: Added.
3754         * inspector/front-end/Images/profilesSilhouette.png: Added.
3755         * inspector/front-end/Images/scriptsSilhouette.png: Added.
3756         * inspector/front-end/PanelEnablerView.js: Added.
3757         (WebInspector.PanelEnablerView):
3758         (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
3759         event so listeners can do their thing.
3760         (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
3761         * inspector/front-end/ProfilesPanel.js:
3762         (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
3763         (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
3764         (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
3765         (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
3766         (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
3767         (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
3768         (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
3769         show/hide other buttons. Also show/hide the PanelEnablerView.
3770         (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
3771         (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
3772         disableProfiler or enableProfiler.
3773         * inspector/front-end/ScriptsPanel.js:
3774         (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
3775         debuggingButton with the enableToggleButton.
3776         (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
3777         the enableToggleButton.
3778         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
3779         when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
3780         with the enableToggleButton.
3781         (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
3782         (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
3783         since reset is called from debuggerWasEnabled and debuggerWasDisabled.
3784         * inspector/front-end/View.js: Inherit from WebInspector.Object.
3785         * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
3786         * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
3787         * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
3788         * inspector/front-end/inspector.js:
3789         (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
3790         (WebInspector.profilerWasDisabled): Ditto.
3791         * page/Console.cpp:
3792         (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
3793         (WebCore::Console::info): Ditto.
3794         (WebCore::Console::log): Ditto.
3795         (WebCore::Console::assertCondition): Ditto.
3796         (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
3797         (WebCore::Console::count): Ditto.
3798         (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
3799         (WebCore::Console::profileEnd): Ditto.
3800         (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
3801         * page/Settings.cpp:
3802         (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
3803         (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
3804         Now just sets the member boolean.
3805         * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
3806
3807 2008-10-28  Timothy Hatcher  <timothy@apple.com>
3808
3809         Rename a few methods related to attaching and detaching the debugger. Also
3810         adds stub methods for enabling and disabling the profiler.
3811
3812         * Rename attachDebugger to enableDebugger.
3813         * Rename detachDebugger to disableDebugger.
3814         * Rename the debuggerAttached getter to debuggerEnabled.
3815         * Rename the debuggerAttached callback to debuggerWasEnabled.
3816         * Rename the debuggerDetached callback to debuggerWasDisabled.
3817
3818         Reviewed by Darin Adler.
3819
3820         * WebCore.base.exp:
3821         * inspector/InspectorController.cpp:
3822         (WebCore::InspectorController::InspectorController):
3823         (WebCore::InspectorController::setWindowVisible):
3824         (WebCore::InspectorController::windowScriptObjectAvailable):
3825         (WebCore::InspectorController::close):
3826         (WebCore::InspectorController::enableProfiler):
3827         (WebCore::InspectorController::disableProfiler):
3828         (WebCore::InspectorController::enableDebugger):
3829         (WebCore::InspectorController::disableDebugger):
3830         (WebCore::InspectorController::pauseInDebugger):
3831         (WebCore::InspectorController::resumeDebugger):
3832         (WebCore::InspectorController::stepOverStatementInDebugger):
3833         (WebCore::InspectorController::stepIntoStatementInDebugger):
3834         (WebCore::InspectorController::stepOutOfFunctionInDebugger):
3835         * inspector/InspectorController.h:
3836         (WebCore::InspectorController::profilerEnabled):
3837         (WebCore::InspectorController::debuggerEnabled):
3838         * inspector/front-end/BreakpointsSidebarPane.js:
3839         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
3840         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
3841         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
3842         * inspector/front-end/Object.js:
3843         * inspector/front-end/ProfilesPanel.js:
3844         (WebInspector.ProfilesPanel):
3845         * inspector/front-end/ScriptsPanel.js:
3846         (WebInspector.ScriptsPanel):
3847         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
3848         (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
3849         (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
3850         (WebInspector.ScriptsPanel.prototype.reset):
3851         (WebInspector.ScriptsPanel.prototype.canShowResource):
3852         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
3853         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
3854         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
3855         * inspector/front-end/View.js:
3856         * inspector/front-end/inspector.css:
3857         * inspector/front-end/inspector.html:
3858         * inspector/front-end/inspector.js:
3859         (WebInspector.addResource):
3860         (WebInspector.debuggerWasEnabled):
3861         (WebInspector.debuggerWasDisabled):
3862
3863 2008-10-28  Timothy Hatcher  <timothy@apple.com>
3864
3865         Fix an exception when searching the Resources panel while there
3866         and resources queued to be added to the list.
3867
3868         Reviewed by Kevin McCullough.
3869
3870         * inspector/front-end/ResourcesPanel.js:
3871         (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
3872         the _resourcesTreeElement property.
3873         (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
3874
3875 2008-10-28  Alp Toker  <alp@nuanti.com>
3876
3877         GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
3878         isn't defined.
3879
3880         * platform/graphics/gtk/FontGtk.cpp:
3881         (WebCore::getDefaultPangoLayout):
3882         * platform/graphics/gtk/FontPlatformDataPango.cpp:
3883
3884 2008-10-28  Alexey Proskuryakov  <ap@webkit.org>
3885
3886         Reviewed by Darin Adler.
3887
3888         https://bugs.webkit.org/show_bug.cgi?id=21893
3889         Character set is incorrect for external scripts in XHTML pages
3890
3891         <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
3892
3893         Test: fast/encoding/external-script-charset.xhtml
3894
3895         Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
3896
3897         * dom/ScriptElement.h:
3898         * dom/XMLTokenizerLibxml2.cpp:
3899         (WebCore::XMLTokenizer::endElementNs):
3900         * dom/XMLTokenizerQt.cpp:
3901         (WebCore::XMLTokenizer::parseEndElement):
3902         * html/HTMLScriptElement.h:
3903         * svg/SVGScriptElement.cpp:
3904         (WebCore::SVGScriptElement::scriptCharset):
3905         * svg/SVGScriptElement.h:
3906
3907 2008-10-28  Alp Toker  <alp@nuanti.com>
3908
3909         Include copyright license files in the autotools dist target and
3910         exclude unused zlib headers.
3911
3912         Change suggested by Mike Hommey.
3913
3914         * GNUmakefile.am:
3915
3916 2008-10-27  Sam Weinig  <sam@webkit.org>
3917
3918         Reviewed by Maciej Stachowiak.
3919
3920         Clear the window shell when destroying a page to allow documents
3921         which have no way of being reached anymore, to be torn down.
3922
3923         * page/Frame.cpp:
3924         (WebCore::Frame::pageDestroyed):
3925
3926 2008-10-27  Kevin Watters  <kevinwatters@gmail.com>
3927
3928         Reviewed by Kevin Ollivier.
3929         
3930         Update the active state as well as the focused state as both need to be true
3931         for the caret to be drawn.
3932         
3933         https://bugs.webkit.org/show_bug.cgi?id=21900
3934
3935         * WebView.cpp:
3936         (wxWebView::OnSetFocus):
3937         (wxWebView::OnKillFocus):
3938
3939 2008-10-27  Kevin Ollivier  <kevino@theolliviers.com>
3940
3941         wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
3942
3943         * webcore-wx.bkl:
3944
3945 2008-10-27  Michael Knaup  <michael.knaup@mac.com>
3946
3947         Reviewed and tweaked by Darin Adler.
3948
3949         - https://bugs.webkit.org/show_bug.cgi?id=8988
3950
3951         Bug 8988: Add support for Mozilla CSS custom cursors.
3952         Added -webkit-grab and -webkit-grabbing cursor suppport
3953         for the Mac, dummy implementations for other platforms.
3954
3955         * css/CSSParser.cpp:
3956         (WebCore::CSSParser::parseValue): Updated since the
3957         -webkit-grabbing cursor is now the last one.
3958
3959         * css/CSSPrimitiveValueMappings.h:
3960         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
3961         CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
3962
3963         * css/CSSValueKeywords.in: Added -webkit-grab and
3964         -webkit-grabbing.
3965
3966         * manual-tests/cursor.html: Added -webkit-zoom-in,
3967         webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
3968
3969         * page/EventHandler.cpp:
3970         (WebCore::EventHandler::selectCursor): Added
3971         CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
3972
3973         * platform/Cursor.h: Added grabCursor and grabbingCursor.
3974
3975         * platform/gtk/CursorGtk.cpp:
3976         (WebCore::grabCursor): Added.
3977         (WebCore::grabbingCursor): Added.
3978         * platform/mac/CursorMac.mm:
3979         (WebCore::grabCursor): Added.
3980         (WebCore::grabbingCursor): Added.
3981         * platform/qt/CursorQt.cpp:
3982         (WebCore::grabCursor): Added.
3983         (WebCore::grabbingCursor): Added.
3984         * platform/win/CursorWin.cpp:
3985         (WebCore::grabCursor): Added.
3986         (WebCore::grabbingCursor): Added.
3987         * platform/wx/CursorWx.cpp:
3988         (WebCore::grabCursor): Added.
3989         (WebCore::grabbingCursor): Added.
3990
3991         * rendering/style/RenderStyleConstants.h:
3992         Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
3993         Also broke ECursor out into a single constant per line.
3994         Also added a couple of comments.
3995
3996 2008-10-27  Dimitri Glazkov  <dglazkov@chromium.org>
3997
3998         Reviewed by Darin Adler.
3999
4000         * svg/SVGAnimatedTemplate.h: needed a HashMap define
4001
4002 2008-10-21  Eric Seidel  <eric@webkit.org>
4003
4004         Reviewed by Dave Hyatt.
4005
4006         Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
4007         https://bugs.webkit.org/show_bug.cgi?id=20400
4008
4009         Test: svg/custom/stop-crash.svg
4010
4011         * WebCore.xcodeproj/project.pbxproj:
4012         * rendering/RenderSVGGradientStop.h:
4013         (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
4014
4015 2008-10-27  Anders Carlsson  <andersca@apple.com>
4016
4017         Reviewed by Sam Weinig.
4018
4019         No need to call release if the connection is null.
4020         
4021         * platform/network/mac/ResourceHandleMac.mm:
4022         (WebCore::ResourceHandle::start):
4023
4024 2008-10-27  Anders Carlsson  <andersca@apple.com>
4025
4026         Reviewed by Kevin Decker.
4027
4028         <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
4029         
4030         Make sure to null check the NSURLConnection object.
4031         
4032         * platform/network/mac/ResourceHandleMac.mm:
4033         (WebCore::ResourceHandle::start):
4034         (WebCore::ResourceHandle::setDefersLoading):
4035
4036 2008-10-27  Alexey Proskuryakov  <ap@webkit.org>
4037
4038         Fix non-Mac builds.
4039
4040         * GNUmakefile.am:
4041         * WebCore.pro:
4042         * WebCore.vcproj/WebCore.vcproj:
4043         * WebCoreSources.bkl:
4044         Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
4045
4046 2008-10-26  Alexey Proskuryakov  <ap@webkit.org>
4047
4048         Reviewed by Sam Weinig.
4049
4050         https://bugs.webkit.org/show_bug.cgi?id=21886
4051         window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
4052
4053         Test: fast/dom/HTMLOptionElement/option-prototype.html
4054
4055         We now have separate objects for window.Option and window.HTMLOptionElement - the latter
4056         "constructor" cannot be used to construct anything. This matches Firefox behavior.
4057
4058         * WebCore.xcodeproj/project.pbxproj:
4059         * bindings/js/JSDOMWindowBase.cpp:
4060         (jsDOMWindowBaseOption):
4061         * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
4062         * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
4063         * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
4064         * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
4065         * html/HTMLOptionElement.idl:
4066         Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
4067
4068         * html/HTMLOptionElement.idl: Generate a constructor.
4069
4070 2008-10-25  Geoffrey Garen  <ggaren@apple.com>
4071
4072         Not reviewed.
4073         
4074         Try to fix Mac debug build on the buildbot.
4075
4076         * platform/FileChooser.cpp:
4077         (WebCore::FileChooserClient::~FileChooserClient):
4078         * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
4079         weak exported symbol.
4080
4081 2008-10-25  Jade Han  <jade.han@nokia.com>
4082
4083         Reviewed by Anders.
4084
4085         Enable custom properties for Qt runtime objects in QtWebKit
4086
4087         https://bugs.webkit.org/show_bug.cgi?id=21813
4088
4089         * bridge/runtime_object.cpp:
4090         (JSC::RuntimeObjectImp::getOwnPropertySlot):
4091         (JSC::RuntimeObjectImp::put):
4092
4093 2008-10-24  Sam Weinig  <sam@webkit.org>
4094
4095         Fix windows build.
4096
4097         * page/Chrome.cpp:
4098         * page/Chrome.h:
4099
4100 2008-10-24  Sam Weinig  <sam@webkit.org>
4101
4102         Fix Qt build.
4103
4104         * platform/qt/FileChooserQt.cpp:
4105
4106 2008-10-24  Sam Weinig  <sam@webkit.org>
4107
4108         Reviewed by Dan Bernstein.
4109
4110         Fix https://bugs.webkit.org/show_bug.cgi?id=21759
4111         Layering violation: FileChooser should not depend on Document/Frame/Page
4112
4113         Move file choosing into WebKit ChromeClient.
4114
4115         * loader/EmptyClients.h:
4116         (WebCore::EmptyChromeClient::runOpenPanel):
4117         * page/Chrome.cpp:
4118         (WebCore::Chrome::runOpenPanel):
4119         * page/Chrome.h:
4120         * page/ChromeClient.h:
4121         * page/mac/ChromeMac.mm:
4122         * platform/FileChooser.h:
4123         * platform/mac/FileChooserMac.mm:
4124         * platform/qt/FileChooserQt.cpp:
4125         * platform/win/FileChooserWin.cpp:
4126         * platform/wx/TemporaryLinkStubs.cpp:
4127         * rendering/RenderFileUploadControl.cpp:
4128         (WebCore::RenderFileUploadControl::click):
4129
4130 2008-10-24  Kevin Ollivier  <kevino@theolliviers.com>
4131
4132         wx build fix - add newIconForFiles stub.
4133
4134         * platform/wx/TemporaryLinkStubs.cpp:
4135         (Icon::newIconForFiles):
4136
4137 2008-10-24  Kevin Watters  <kevinwatters@gmail.com>
4138
4139         Reviewed by Kevin Ollivier.
4140
4141         Use the CGFont metrics APIs for more accurate measurements, and tweak the y
4142         value the text is drawn at (it was a couple pixels off before because wx
4143         internally adds to the y value.
4144
4145         https://bugs.webkit.org/show_bug.cgi?id=21853
4146
4147         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
4148         (wxFontProperties::wxFontProperties):
4149         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
4150         (WebCore::drawTextWithSpacing):
4151
4152 2008-10-24  Eric Seidel  <eric@webkit.org>
4153
4154         Reviewed by Sam Weinig.
4155
4156         Generate missing constructors and add test to prevent missing ones in the future
4157         https://bugs.webkit.org/show_bug.cgi?id=21846
4158
4159         Test: fast/js/global-constructors.html
4160
4161         * css/CSSStyleSheet.idl:
4162         * css/RGBColor.idl:
4163         * dom/NodeIterator.idl:
4164         * dom/TreeWalker.idl:
4165         * xml/XPathExpression.idl:
4166
4167 2008-10-24  Alexey Proskuryakov  <ap@webkit.org>
4168
4169         Reviewed by Darin Adler.
4170
4171         https://bugs.webkit.org/show_bug.cgi?id=21836
4172         REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
4173
4174         Test: http/tests/xmlhttprequest/detaching-frame.html
4175
4176         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
4177         even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
4178         when dispatching the same callback that results in this function being called.
4179
4180 2008-10-24  David Kilzer  <ddkilzer@apple.com>
4181
4182         Gtk build fix.
4183
4184         * platform/gtk/TemporaryLinkStubs.cpp:
4185         (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
4186
4187 2008-10-24  Mark Rowe  <mrowe@apple.com>
4188
4189         Reviewed by Sam Weinig.
4190
4191         <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
4192
4193         * platform/graphics/cg/GraphicsContextCG.cpp:
4194         (WebCore::GraphicsContext::setImageInterpolationQuality):
4195         (WebCore::GraphicsContext::imageInterpolationQuality):
4196
4197 2008-10-24  Anders Carlsson  <andersca@apple.com>
4198
4199         Reviewed by Sam Weinig.
4200
4201         <rdar://problem/5440917> Support NPN_Construct
4202                 
4203         * WebCore.NPAPI.exp:
4204         Export _NPN_Construct.
4205         
4206         * bridge/NP_jsobject.cpp:
4207         (_NPN_Construct):
4208         Implement this.
4209         
4210         * bridge/c/c_instance.cpp:
4211         (JSC::Bindings::CInstance::supportsConstruct):
4212         (JSC::Bindings::CInstance::invokeConstruct):
4213         Have this call the appropriate NPClass method.