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