4207b954029a6ad4732b9b0fe3e1dbd147cd0422
[WebKit-https.git] / WebCore / ChangeLog
1 2008-07-21  Timothy Hatcher  <timothy@apple.com>
2
3         Fixes a regression where TreeOutline.findTreeElement would
4         return the parent TreeElement of the representedObject instead
5         of the TreeElement for the representedObject. Regressed with the
6         fix for bug 19164.
7
8         Reviewed by Adam Roben.
9
10         * page/inspector/treeoutline.js:
11         (TreeOutline.prototype.findTreeElement): When performing a slow search,
12         do a final search for representedObject instead of returning item, which
13         is the parent of representedObject.
14
15 2008-07-23  Adele Peterson  <adele@apple.com>
16
17         Reviewed by Adam.
18
19         WebCore part of fix for <rdar://problem/5698672>  Add drawing callback for a WebKit app to draw its own scrollbars
20
21         * WebCore.base.exp: Added symbols.
22         * page/Chrome.cpp:
23         (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method.
24         (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
25         * page/ChromeClient.h:
26         * page/Settings.cpp:
27         (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars.
28         (WebCore::Settings::setShouldPaintCustomScrollbars):
29         * page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
30         * platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
31         * platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
32         * platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
33         * platform/win/PlatformScrollBarSafari.cpp:
34         (WebCore::ScrollbarPartToScrollBarPiece): Added helper function.
35         (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto.
36         (WebCore::ScrollbarControlStateFromThemeState): ditto.
37         (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place.
38          Added new code to paint the custom scrollbars if necessary.
39         * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.
40
41 2008-07-23  Sam Weinig  <sam@webkit.org>
42
43         Reviewed by Anders Carlsson.
44
45         Cleanup and pack the member variables in Node.
46
47         * bindings/js/JSNodeCustom.cpp:
48         (WebCore::JSNode::mark):
49         * dom/Attr.cpp:
50         (WebCore::Attr::Attr):
51         * dom/Attr.h:
52         (WebCore::Attr::specified):
53         (WebCore::Attr::setSpecified):
54         * dom/ContainerNode.cpp:
55         (WebCore::ContainerNode::setFocus):
56         * dom/Document.cpp:
57         (WebCore::Document::adoptNode):
58         * dom/Element.cpp:
59         (WebCore::Element::~Element):
60         (WebCore::Element::rareData):
61         (WebCore::Element::createRareData):
62         * dom/Element.h:
63         (WebCore::Element::hasRareData):
64         (WebCore::Element::setHasRareData):
65         * dom/Node.h:
66         (WebCore::Node::setIsLink):
67         (WebCore::Node::inSubtreeMark):
68         (WebCore::Node::setInSubtreeMark):
69         (WebCore::Node::attrWasSpecifiedOrElementHasRareData):
70         (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
71         * html/HTMLAnchorElement.cpp:
72         (WebCore::HTMLAnchorElement::supportsFocus):
73         (WebCore::HTMLAnchorElement::isFocusable):
74         (WebCore::HTMLAnchorElement::defaultEventHandler):
75         (WebCore::HTMLAnchorElement::parseMappedAttribute):
76         (WebCore::HTMLAnchorElement::isLiveLink):
77         * html/HTMLImageElement.cpp:
78         (WebCore::HTMLImageElement::parseMappedAttribute):
79         * html/HTMLInputElement.cpp:
80         (WebCore::HTMLInputElement::setInputType):
81         * html/HTMLTableElement.cpp:
82         (WebCore::HTMLTableElement::attach):
83         * svg/SVGAElement.cpp:
84         (WebCore::SVGAElement::svgAttributeChanged):
85         (WebCore::SVGAElement::defaultEventHandler):
86
87 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
88
89         Reviewed by Adele.
90
91         Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
92
93         Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.
94
95         * platform/graphics/win/QTMovieWin.cpp:
96         (QTMovieWinPrivate::QTMovieWinPrivate):
97         (QTMovieWinPrivate::~QTMovieWinPrivate):
98         (QTMovieWinPrivate::task):
99         (QTMovieWinPrivate::createMovieController):
100         (QTMovieWinPrivate::createGWorld):
101         (QTMovieWinPrivate::setSize):
102         (QTMovieWinPrivate::deleteGWorld):
103         (QTMovieWin::play):
104         (QTMovieWin::pause):
105         (QTMovieWin::setRate):
106         (QTMovieWin::setCurrentTime):
107         (QTMovieWin::load):
108
109 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
110
111         Reviewed by Adele.
112
113         Added a debug mode for viewing frames per second for videos.  This is controlled by two 
114         independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
115         Unless either flags is turned on there is no change to the code for video frame drawing.
116
117         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
118         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
119         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
120         (WebCore::MediaPlayerPrivate::play):
121         (WebCore::MediaPlayerPrivate::pause):
122         (WebCore::MediaPlayerPrivate::didEnd):
123         (WebCore::MediaPlayerPrivate::repaint):
124         (WebCore::MediaPlayerPrivate::paint):
125         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
126         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
127         (WebCore::MediaPlayerPrivate::play):
128         (WebCore::MediaPlayerPrivate::pause):
129         (WebCore::MediaPlayerPrivate::didEnd):
130         (WebCore::MediaPlayerPrivate::paint):
131         (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
132         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
133
134 2008-07-23  Adele Peterson  <adele@apple.com>
135
136         Reviewed by Sam.
137
138         Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance
139
140         * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage):
141         Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
142         * platform/graphics/GraphicsContext.h:
143         (WebCore::): Added InterpolationQuality enum.
144         (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation.
145         The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low".
146         (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
147         * platform/graphics/cg/GraphicsContextCG.cpp:
148         (WebCore::GraphicsContext::setImageInterpolationQuality): Added.
149         (WebCore::GraphicsContext::imageInterpolationQuality): Added.
150         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint):
151         Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.
152
153 2008-07-23  Sam Weinig  <sam@webkit.org>
154
155         Reviewed by Anders Carlsson.
156
157         Remove extraneous allocations by using equalIgnoringCase rather than
158         String::lower.
159
160         * dom/StyledElement.cpp:
161         (WebCore::StyledElement::addCSSColor):
162         * html/HTMLCollection.cpp:
163         (WebCore::HTMLCollection::checkForNameMatch):
164         * html/HTMLFormCollection.cpp:
165         (WebCore::HTMLFormCollection::getNamedFormItem):
166         * html/HTMLLinkElement.cpp:
167         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
168         * html/HTMLObjectElement.cpp:
169         (WebCore::HTMLObjectElement::containsJavaApplet):
170         * html/PreloadScanner.cpp:
171         (WebCore::PreloadScanner::emitCSSRule):
172         * loader/FrameLoader.cpp:
173         (WebCore::FrameLoader::createJavaAppletWidget):
174         * page/DOMSelection.cpp:
175         (WebCore::DOMSelection::modify):
176         * rendering/RenderPartObject.cpp:
177         (WebCore::RenderPartObject::updateWidget):
178
179 2008-07-23  Maxime Britto  <britto@apple.com>
180
181         Reviewed by Adam Roben.
182
183         <rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
184         Add a check for the m_page member value before asking for page()->mainFrame()
185
186         * page/EventHandler.cpp:
187         (WebCore::EventHandler::stopAutoscrollTimer):
188
189 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
190
191        Reviewed by Adele.
192
193        Fix for <rdar://problem/5710065> QT movies should be inactive when opened
194
195        Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and 
196        until after movie tracks of unsupported types have been disabled, to make sure they never draw.
197
198         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
199         (WebCore::MediaPlayerPrivate::load):
200         (WebCore::MediaPlayerPrivate::updateStates):
201         (WebCore::MediaPlayerPrivate::setVisible):
202
203 2008-07-22  Maxime Britto  <britto@apple.com>
204
205         Reviewed by John Sullivan.
206
207         <rdar://problem/6083116>
208         When pan-scrolling, Back then Forward causes pan-scrolling to start again
209
210         * page/Frame.cpp:
211         (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
212         * loader/FrameLoader.cpp:
213         (WebCore::FrameLoader::scrollToAnchor): When the link is an anchor we Frame::clearTimers() isn't called since we're only scrolling the page so we need to ask to stop the autoscroll timer here too.
214
215 2008-07-22  Geoffrey Garen  <ggaren@apple.com>
216
217         Reviewed by Oliver Hunt and Sam Weinig.
218
219         Next step toward putting doubles in registers: Prepare the Register class
220         and its clients for registers that don't contain JSValue*s.
221         
222 2008-07-22  Sam Weinig  <sam@webkit.org>
223
224         Reviewed by Mark Rowe.
225
226         <rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
227         Add additional support for JPEG and GIF for toDataURL encoding canvases.
228
229         * platform/MIMETypeRegistry.cpp:
230         (WebCore::initializeSupportedImageMIMETypesForEncoding):
231         * platform/graphics/cg/ImageBufferCG.cpp:
232         (WebCore::utiFromMIMEType):
233
234 2008-07-22  Chris Fleizach  <cfleizach@apple.com>
235
236         Reviewed by Dave Hyatt.
237
238         <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements
239         Test: accessibility/internal-link-anchors2.html
240
241         * page/AccessibilityRenderObject.cpp:
242         (WebCore::AccessibilityRenderObject::internalLinkElement):
243
244 2008-07-22  Anders Carlsson  <andersca@apple.com>
245
246         Reviewed by Adam.
247
248         Allocate the empty StringImpl from the heap.
249         
250         * platform/text/StringImpl.cpp:
251         (WebCore::StringImpl::empty):
252
253 2008-07-21  Kevin McCullough  <kmccullough@apple.com>
254
255         Reviewed by Tim.
256
257         <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
258         view (19228)
259         - Implement UI for Heavy (Bottom Up) view.
260
261         * English.lproj/localizedStrings.js:
262         * page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree
263         profile from a profile to the Web Inspector's JavaScript.
264         (WebCore::getHeavyProfileCallback):
265         (WebCore::getTreeProfileCallback):
266         (WebCore::ProfileClass):
267         * page/inspector/ProfileView.js: Implement the dropdown for changing
268         profile views.
269         * page/inspector/inspector.css:
270
271 2008-07-22  Alexey Proskuryakov  <ap@webkit.org>
272
273         Reviewed by Adam Roben.
274
275         <rdar://problem/5955602> WebKit should support charset name x-windows-949
276
277         Test: fast/encoding/char-decoding.html
278
279         * platform/text/TextCodecICU.cpp:
280         (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for
281         Firefox compatibility.
282
283 2008-07-22  Gavin Barraclough  <barraclough@apple.com>
284
285         Reviewed by Alexey Proskuryakov.
286
287         New test to check that arrays fail gracefully (throw an out of memory exception)
288         when the vector grows to large.
289
290         * manual-tests/array-out-of-memory.html:         Added.
291
292 2008-07-21  Alexey Proskuryakov  <ap@webkit.org>
293
294         Reviewed by Dan Bernstein.
295
296         https://bugs.webkit.org/show_bug.cgi?id=20117
297         setBaseAndExtent fails to reverse the current selection
298
299         Test: editing/selection/setBaseAndExtent-revert-selection.html
300
301         * editing/Selection.h: (WebCore::operator==): Compare direction, too.
302
303 2008-07-21  Julien Chaffraix  <jchaffraix@webkit.org>
304
305         Reviewed by Sam Weinig.
306
307         Bug 19919: Add selectors' string parsing in CSSParser
308         https://bugs.webkit.org/show_bug.cgi?id=19919
309
310         No functional change.
311
312         * css/CSSGrammar.y: Added entry for parsing only a selector.
313         * css/CSSParser.cpp:
314         (WebCore::CSSParser::CSSParser):
315         (WebCore::CSSParser::parseSelector):
316         * css/CSSParser.h: Added m_floatingSelector to hold the
317         Selector parsed in parseSelector.
318
319         * css/tokenizer.flex: Added "@-webkit-selector" token.
320         * dom/Node.cpp:
321         (WebCore::Node::querySelector):
322         (WebCore::Node::querySelectorAll): Switched to parseSelector
323         method.
324
325 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
326
327         Reviewed by Adele.
328
329         Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed
330
331         * platform/graphics/win/QTMovieWin.cpp:
332         (initializeSupportedTypes): Do a Quicktime version minimum version check.
333         (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well.
334
335 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
336
337         Reviewed by Adele.
338
339         Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page
340
341         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache
342         so that everything starts back up normally when the page is retrieved from the cache.
343
344 2008-07-21  Sam Weinig  <sam@webkit.org>
345
346         Reviewed by Mark Rowe.
347
348         Remove unused interface declaration.
349
350         * platform/network/mac/ResourceHandleMac.mm:
351
352 2008-07-21  Mark Rowe  <mrowe@apple.com>
353
354         Reviewed by Sam Weinig.
355
356         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
357
358         * Configurations/Version.xcconfig:
359         * Info.plist:
360
361 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
362
363         Reviewed by Adele.
364
365         Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
366
367         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added.
368         * platform/graphics/MediaPlayer.h:
369         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):
370         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
371
372 2008-07-21  Anders Carlsson  <andersca@apple.com>
373
374         Reviewed by Jon.
375
376         Don't allow requests to be made when the document loader is stopping all loaders.
377
378         * plugins/PluginView.cpp:
379         (WebCore::PluginView::load):
380
381 2008-07-20  Maxime Britto  <britto@apple.com>
382
383         Reviewed by John Sullivan.
384
385         [PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF
386         Accelerate and enhance the smoothness of the pan scrollling.
387
388         * page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this.
389         * rendering/RenderLayer.cpp: 
390         (WebCore::RenderLayer::panScrollFromPoint): Differentiate the speed within a 200 pixel side square, around the original click location to the speed for farther distances. This way we allow easyier handle when we are close to the center and very fast scrolling when we go far from the original point.
391
392 2008-07-18  David Hyatt  <hyatt@apple.com>
393
394         Change the cached clip rects to not assume they should be infinite when the root layer has been
395         shifted as the result of a transformation.
396
397         Reviewed by Maciej
398
399         Added fast/transforms/overflow-with-transform.html
400
401         * rendering/RenderLayer.cpp:
402         (WebCore::RenderLayer::calculateClipRects):
403
404 2008-07-21  Rob Buis  <buis@kde.org>
405
406         Reviewed by Mitz.
407
408         https://bugs.webkit.org/show_bug.cgi?id=19966
409         CSS variables crash when using hex notation for colors
410
411         Support hex colors as values for the css variables.
412
413         Test: fast/css/variables/color-hex-test.html
414
415         * css/CSSParserValues.cpp:
416         (WebCore::CSSParserValue::createCSSValue):
417         * css/CSSPrimitiveValue.cpp:
418         (WebCore::CSSPrimitiveValue::parserValue):
419         * css/CSSVariablesRule.cpp:
420
421 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
422
423         Reviewed by Holger.
424
425         Fix drawing of windowless plugins on Windows with the Qt port by
426         avoiding the reset of the translation of the HDC to 0, 0.
427
428         * plugins/win/PluginViewWin.cpp:
429         (WebCore::PluginView::paint):
430
431 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
432
433         Reviewed by Holger.
434
435         Fix rendering of transparent windowless netscape plugins by passing
436         the right conversion parameter to QPixmap::fromWinHBITMAP when
437         converting from HBITMAP to QPixmap.
438
439         * platform/graphics/qt/GraphicsContextQt.cpp:
440         (WebCore::GraphicsContext::releaseWindowsContext):
441
442 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
443
444         Reviewed by Holger.
445
446         In the implementation of getValue for NPNVnetscapeWindow treat
447         windowHandleForPlatformWidget on the return value of
448         containingWindow() to receive the correct HWND for the Qt port.
449
450         * plugins/win/PluginViewWin.cpp:
451         (WebCore::PluginView::getValue):
452
453 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
454
455         Reviewed by Holger.
456
457         Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have
458         a QWidget. This can happen on page/view destruction for example.
459
460         * plugins/win/PluginViewWin.cpp:
461         (windowHandleForPlatformWidget):
462
463 2008-07-20  Steve Falkenburg  <sfalken@apple.com>
464
465         Touch file to force rebuild for vsprops change.
466
467         * WebCorePrefix.h:
468
469 2008-07-20  Sam Weinig  <sam@webkit.org>
470
471         Remove extra space Oliver Hunt left in.
472
473         * page/Console.cpp:
474         (WebCore::Console::reportException):
475         (WebCore::Console::reportCurrentException):
476
477 2008-07-20  Oliver Hunt  <oliver@apple.com>
478
479         Reviewed by Dan Bernstein.
480
481         Bug 19757: Crash when an ondragstart handler hides the element
482         <https://bugs.webkit.org/show_bug.cgi?id=19757>
483
484         The solution to this is problem is just to null check the renderer
485         immediately before launching the system drag, and terminate the
486         drag if the renderer is gone.
487
488         * page/EventHandler.cpp:
489         (WebCore::EventHandler::handleDrag):
490
491 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
492
493         Reviewed by Oliver.
494
495         Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171
496
497         Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
498         Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)
499
500         * svg/SVGPointList.cpp:
501         (WebCore::SVGPointList::valueAsString):
502         * svg/SVGPointList.h:
503         (WebCore::SVGPointList::create):
504         * svg/SVGPolyElement.cpp:
505         (WebCore::SVGPolyElement::SVGPolyElement):
506         (WebCore::SVGPolyElement::svgAttributeChanged):
507         (WebCore::SVGPolyElement::updateAnimatedSVGAttribute):
508         * svg/SVGPolyElement.h:
509
510 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
511
512         Reviewed by Oliver.
513
514         Cleanup JSSVGPODTypeWrapper code.
515
516         Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
517                 JSSVGPODTypeWrapperReadWrite       -> JSSVGDynamicPODTypeWrapper
518                 JSSVGPODTypeWrapperCache           -> JSSVGDynamicPODTypeWrapperCacheCache
519
520         No functional changes.
521
522         * bindings/js/JSSVGMatrixCustom.cpp:
523         (WebCore::JSSVGMatrix::multiply):
524         (WebCore::JSSVGMatrix::inverse):
525         (WebCore::JSSVGMatrix::translate):
526         (WebCore::JSSVGMatrix::scale):
527         (WebCore::JSSVGMatrix::scaleNonUniform):
528         (WebCore::JSSVGMatrix::rotate):
529         (WebCore::JSSVGMatrix::rotateFromVector):
530         (WebCore::JSSVGMatrix::flipX):
531         (WebCore::JSSVGMatrix::flipY):
532         (WebCore::JSSVGMatrix::skewX):
533         (WebCore::JSSVGMatrix::skewY):
534         * bindings/js/JSSVGPODTypeWrapper.h:
535         (WebCore::JSSVGDynamicPODTypeWrapper::create):
536         (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType):
537         (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper):
538         (WebCore::JSSVGStaticPODTypeWrapper::create):
539         (WebCore::JSSVGStaticPODTypeWrapper::operator PODType):
540         (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper):
541         (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
542         (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
543         (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
544         (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
545         (WebCore::PODTypeWrapperCacheInfo::operator==):
546         (WebCore::PODTypeWrapperCacheInfoHash::hash):
547         (WebCore::PODTypeWrapperCacheInfoHash::equal):
548         (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
549         (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue):
550         (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue):
551         (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
552         (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
553         (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
554         * bindings/js/JSSVGPointListCustom.cpp:
555         (WebCore::finishGetter):
556         (WebCore::finishSetter):
557         (WebCore::finishSetterReadOnlyResult):
558         (WebCore::JSSVGPointList::initialize):
559         (WebCore::JSSVGPointList::insertItemBefore):
560         (WebCore::JSSVGPointList::replaceItem):
561         (WebCore::JSSVGPointList::appendItem):
562         * bindings/js/JSSVGTransformListCustom.cpp:
563         (WebCore::finishGetter):
564         (WebCore::finishSetter):
565         (WebCore::finishSetterReadOnlyResult):
566         (WebCore::JSSVGTransformList::initialize):
567         (WebCore::JSSVGTransformList::getItem):
568         (WebCore::JSSVGTransformList::insertItemBefore):
569         (WebCore::JSSVGTransformList::replaceItem):
570         (WebCore::JSSVGTransformList::removeItem):
571         (WebCore::JSSVGTransformList::appendItem):
572         * bindings/scripts/CodeGeneratorJS.pm:
573
574 2008-07-19  Oliver Hunt  <oliver@apple.com>
575
576         Reviewed by Mark Rowe.
577
578         Bug 15979: Console logs in a database callback lose line number information
579         <https://bugs.webkit.org/show_bug.cgi?id=15979>
580
581         The problem was that there were multiple versions of the logic to
582         log an exception to the console, many of which were incorrect.  We
583         resolve this by making one single shared reportException method,
584         which handles the exceptions correctly.
585
586         This improves fidelity of callback errors, and ensures that
587         exceptions thrown in timer callbacks correctly report line numbers,
588         etc.
589
590         Test: fast/js/exceptions-thrown-in-callbacks.html
591
592         * bindings/js/JSCustomSQLStatementCallback.cpp:
593         (WebCore::JSCustomSQLStatementCallback::handleEvent):
594         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
595         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
596         * bindings/js/JSCustomSQLTransactionCallback.cpp:
597         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
598         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
599         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
600         * bindings/js/JSCustomVoidCallback.cpp:
601         (WebCore::JSCustomVoidCallback::handleEvent):
602         * bindings/js/JSCustomXPathNSResolver.cpp:
603         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
604         * bindings/js/JSEventListener.cpp:
605         (WebCore::JSAbstractEventListener::handleEvent):
606         * bindings/js/ScheduledAction.cpp:
607         (WebCore::ScheduledAction::execute):
608         * bindings/js/ScriptController.cpp:
609         (WebCore::ScriptController::evaluate):
610         * bindings/objc/WebScriptObject.mm:
611         (WebCore::addExceptionToConsole):
612         * page/Console.cpp:
613         (WebCore::Console::reportException):
614         * page/Console.h:
615
616 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
617
618         Rubber stamped by Oliver.
619
620         Another attempt to fix the win build.
621
622         * svg/SVGAnimatedProperty.h:
623
624 2008-07-20  Alexey Proskuryakov  <ap@webkit.org>
625
626         Reviewed by David Kilzer.
627
628         Fix high CPU usage on testmyiphone.com.
629
630         - Made the logic for determining when to stop looking for meta charset more strainghtforward.
631         Previously, this happened if a tag that's disallowed in HEAD was seen past the first 512
632         bytes. Now, the algorithm bails out at the boundary if we are lo longer in HEAD (i.e, an
633         offending tag was seen at any point before).
634
635         - The above change made one of our regression tests fail, because it had its <meta>
636         declaration past the 512 byte boundary. Fixed it by raising the boundary to 1024 bytes.
637
638         - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary.
639
640         - Moved a check for XML content type out of the loop.
641
642         * loader/TextResourceDecoder.cpp:
643         (WebCore::TextResourceDecoder::checkForHeadCharset): 
644
645 2008-07-20  Oliver Hunt  <oliver@apple.com>
646
647         Reviewed by NOBODY (build fix).
648
649         Attempt to fix windows build
650
651         * svg/SVGAnimatedProperty.h:
652
653 2008-07-19  Nikolas Zimmermann  <zimmermann@kde.org>
654
655         Reviewed by Oliver & parts by Eric.
656
657         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20051
658
659         Rewrite animated property concept without heavy macro usage, replace by a templatified solution.
660         Fewer virtual function calls, no more usage of the tear-off's within internal code (synchronization needed it before.)
661
662         * dom/Element.cpp:
663         (WebCore::Element::attributes):
664         (WebCore::Element::getAttribute):
665         (WebCore::Element::hasAttributes):
666         * dom/Element.h:
667         (WebCore::Element::updateAnimatedSVGAttribute): Take const String&, not StringImpl*.
668         * svg/SVGAElement.cpp:
669         (WebCore::SVGAElement::SVGAElement):
670         * svg/SVGAElement.h:
671         * svg/SVGAltGlyphElement.h:
672         * svg/SVGAnimatedProperty.h: Added.
673         * svg/SVGAnimatedTemplate.h:
674         (WebCore::lookupOrCreateWrapper):
675         * svg/SVGAnimationElement.h:
676         * svg/SVGCircleElement.cpp:
677         (WebCore::SVGCircleElement::SVGCircleElement):
678         * svg/SVGCircleElement.h:
679         * svg/SVGClipPathElement.cpp:
680         (WebCore::SVGClipPathElement::SVGClipPathElement):
681         * svg/SVGClipPathElement.h:
682         * svg/SVGComponentTransferFunctionElement.cpp:
683         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
684         * svg/SVGComponentTransferFunctionElement.h:
685         * svg/SVGCursorElement.cpp:
686         (WebCore::SVGCursorElement::SVGCursorElement):
687         * svg/SVGCursorElement.h:
688         * svg/SVGDefsElement.h:
689         (WebCore::SVGDefsElement::contextElement):
690         * svg/SVGElement.cpp:
691         (WebCore::SVGElement::updateAnimatedSVGAttribute):
692         * svg/SVGElement.h:
693         (WebCore::SVGElement::supplementalTransform):
694         (WebCore::SVGElement::invokeSVGPropertySynchronizer):
695         (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
696         (WebCore::SVGElement::addSVGPropertySynchronizer):
697         * svg/SVGEllipseElement.cpp:
698         (WebCore::SVGEllipseElement::SVGEllipseElement):
699         * svg/SVGEllipseElement.h:
700         * svg/SVGExternalResourcesRequired.cpp:
701         (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
702         * svg/SVGExternalResourcesRequired.h:
703         * svg/SVGFEBlendElement.cpp:
704         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
705         * svg/SVGFEBlendElement.h:
706         * svg/SVGFEColorMatrixElement.cpp:
707         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
708         * svg/SVGFEColorMatrixElement.h:
709         * svg/SVGFEComponentTransferElement.cpp:
710         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
711         * svg/SVGFEComponentTransferElement.h:
712         * svg/SVGFECompositeElement.cpp:
713         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
714         * svg/SVGFECompositeElement.h:
715         * svg/SVGFEDiffuseLightingElement.cpp:
716         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
717         * svg/SVGFEDiffuseLightingElement.h:
718         * svg/SVGFEDisplacementMapElement.cpp:
719         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
720         * svg/SVGFEDisplacementMapElement.h:
721         * svg/SVGFEFloodElement.h:
722         * svg/SVGFEGaussianBlurElement.cpp:
723         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
724         * svg/SVGFEGaussianBlurElement.h:
725         * svg/SVGFEImageElement.cpp:
726         (WebCore::SVGFEImageElement::SVGFEImageElement):
727         * svg/SVGFEImageElement.h:
728         * svg/SVGFELightElement.cpp:
729         (WebCore::SVGFELightElement::SVGFELightElement):
730         * svg/SVGFELightElement.h:
731         (WebCore::SVGFELightElement::contextElement):
732         * svg/SVGFEMergeElement.h:
733         * svg/SVGFEMergeNodeElement.cpp:
734         (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
735         * svg/SVGFEMergeNodeElement.h:
736         * svg/SVGFEOffsetElement.cpp:
737         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
738         * svg/SVGFEOffsetElement.h:
739         * svg/SVGFESpecularLightingElement.cpp:
740         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
741         * svg/SVGFESpecularLightingElement.h:
742         * svg/SVGFETileElement.cpp:
743         (WebCore::SVGFETileElement::SVGFETileElement):
744         * svg/SVGFETileElement.h:
745         * svg/SVGFETurbulenceElement.cpp:
746         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
747         * svg/SVGFETurbulenceElement.h:
748         * svg/SVGFilterElement.cpp:
749         (WebCore::SVGFilterElement::SVGFilterElement):
750         * svg/SVGFilterElement.h:
751         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
752         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
753         * svg/SVGFilterPrimitiveStandardAttributes.h:
754         * svg/SVGFitToViewBox.cpp:
755         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
756         * svg/SVGFitToViewBox.h:
757         * svg/SVGFontElement.h:
758         (WebCore::SVGFontElement::rendererIsNeeded):
759         (WebCore::SVGFontElement::contextElement):
760         * svg/SVGForeignObjectElement.cpp:
761         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
762         * svg/SVGForeignObjectElement.h:
763         * svg/SVGGElement.h:
764         * svg/SVGGradientElement.cpp:
765         (WebCore::SVGGradientElement::SVGGradientElement):
766         * svg/SVGGradientElement.h:
767         (WebCore::SVGGradientElement::contextElement):
768         * svg/SVGImageElement.cpp:
769         (WebCore::SVGImageElement::SVGImageElement):
770         * svg/SVGImageElement.h:
771         * svg/SVGLineElement.cpp:
772         (WebCore::SVGLineElement::SVGLineElement):
773         * svg/SVGLineElement.h:
774         * svg/SVGLinearGradientElement.cpp:
775         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
776         * svg/SVGLinearGradientElement.h:
777         * svg/SVGMarkerElement.cpp:
778         (WebCore::SVGMarkerElement::SVGMarkerElement):
779         (WebCore::SVGMarkerElement::canvasResource):
780         * svg/SVGMarkerElement.h:
781         * svg/SVGMaskElement.cpp:
782         (WebCore::SVGMaskElement::SVGMaskElement):
783         * svg/SVGMaskElement.h:
784         * svg/SVGPathElement.cpp:
785         (WebCore::SVGPathElement::SVGPathElement):
786         (WebCore::SVGPathElement::parseMappedAttribute):
787         * svg/SVGPathElement.h:
788         * svg/SVGPatternElement.cpp:
789         (WebCore::SVGPatternElement::SVGPatternElement):
790         * svg/SVGPatternElement.h:
791         (WebCore::SVGPatternElement::contextElement):
792         * svg/SVGPolyElement.h:
793         * svg/SVGPreserveAspectRatio.cpp:
794         * svg/SVGRadialGradientElement.cpp:
795         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
796         * svg/SVGRadialGradientElement.h:
797         * svg/SVGRectElement.cpp:
798         (WebCore::SVGRectElement::SVGRectElement):
799         * svg/SVGRectElement.h:
800         * svg/SVGSVGElement.cpp:
801         (WebCore::SVGSVGElement::SVGSVGElement):
802         * svg/SVGSVGElement.h:
803         * svg/SVGScriptElement.cpp:
804         * svg/SVGScriptElement.h:
805         * svg/SVGStopElement.cpp:
806         (WebCore::SVGStopElement::SVGStopElement):
807         * svg/SVGStopElement.h:
808         * svg/SVGStyledElement.cpp:
809         (WebCore::SVGStyledElement::SVGStyledElement):
810         * svg/SVGStyledElement.h:
811         * svg/SVGStyledTransformableElement.cpp:
812         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
813         * svg/SVGStyledTransformableElement.h:
814         * svg/SVGSwitchElement.h:
815         * svg/SVGSymbolElement.h:
816         (WebCore::SVGSymbolElement::contextElement):
817         * svg/SVGTRefElement.h:
818         * svg/SVGTSpanElement.h:
819         * svg/SVGTextContentElement.cpp:
820         (WebCore::SVGTextContentElement::SVGTextContentElement):
821         * svg/SVGTextContentElement.h:
822         (WebCore::SVGTextContentElement::contextElement):
823         * svg/SVGTextElement.cpp:
824         (WebCore::SVGTextElement::SVGTextElement):
825         * svg/SVGTextElement.h:
826         * svg/SVGTextPathElement.cpp:
827         (WebCore::SVGTextPathElement::SVGTextPathElement):
828         * svg/SVGTextPathElement.h:
829         * svg/SVGTextPositioningElement.cpp:
830         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
831         * svg/SVGTextPositioningElement.h:
832         * svg/SVGTransformable.h:
833         * svg/SVGURIReference.cpp:
834         (WebCore::SVGURIReference::SVGURIReference):
835         * svg/SVGURIReference.h:
836         * svg/SVGUseElement.cpp:
837         (WebCore::SVGUseElement::SVGUseElement):
838         * svg/SVGUseElement.h:
839         * svg/SVGViewElement.h:
840         * svg/SVGViewSpec.h:
841
842 2008-07-18  Maxime Britto  <britto@apple.com>
843
844         Reviewed by Adele.
845         
846         Fixed <rdar://problem/6049803>
847         Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field.
848
849         Test: fast/events/autoscroll-with-non-scrollable-parent.html
850
851         * ChangeLog:
852         * page/EventHandler.cpp: Edited
853         (WebCore::EventHandler::handleMousePressEvent): changed the name of the funtion called to canBeProgramaticallyScrolled()
854         (WebCore::EventHandler::handleMouseDraggedEvent): prevent the autoscroll to keep looking for a renderer when it's already triggered
855         * rendering/RenderLayer.cpp:
856         (WebCore::RenderLayer::scrollRectToVisible): verifies that the top layer can be programmatically scrolled before asking him to make the rect visible
857         * rendering/RenderListBox.h:
858         (WebCore::RenderListBox::canBeProgramaticallyScrolled):
859         * rendering/RenderObject.cpp:
860         (WebCore::RenderObject::canBeProgramaticallyScrolled): Edited : For the 3rd case we want document's renderer to have scrollbar as it's the top layer   
861         (WebCore::RenderObject::hasScrollableView): Verifies that the Object has a view with scrollBars
862         * rendering/RenderObject.h: Renamed shouldAutosroll() for canBeProgramaticallyScrolled()
863         * rendering/RenderTextControl.h:
864         (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
865
866 2008-07-18  Sam Weinig  <sam@webkit.org>
867
868         Reviewed by Anders Carlsson.
869
870         <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest
871
872         - Overload XMLHttpRequests send() method to accept File tokens.
873
874         * bindings/js/JSXMLHttpRequestCustom.cpp:
875         (WebCore::JSXMLHttpRequest::send): 
876         * xml/XMLHttpRequest.cpp:
877         (WebCore::XMLHttpRequest::send):
878         * xml/XMLHttpRequest.h:
879
880 2008-07-18  Geoffrey Garen  <ggaren@apple.com>
881
882         Reviewed by Cameron Zwarich.
883         
884         Three renames:
885         
886         "CallTypeNative" => "CallTypeHost"
887         "code" => "byteCode"
888         "generatedCode" => "generatedByteCode"
889
890 2008-07-18  Adele Peterson  <adele@apple.com>
891
892         Reviewed by Dan Bernstein.
893
894         I recently made a change to avoid fading media controls in and out if a video element actually only contains audio,
895         which broke the code that did the same thing for audio elements that contain video (but don't actually display that video).
896         This change will now check both the media element and the player to decide whether or not to make the controls persistent.
897
898         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
899
900 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
901
902         Reviewed by mitz
903
904         Remove braces around single-line conditional.
905         
906         * css/CSSComputedStyleDeclaration.cpp:
907         (WebCore::computedTransform):
908
909 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
910
911         Reviewed by Dave Hyatt
912
913         getComputedStyle() for -webkit-transform should return 
914         'none' for elements with no renderer, or those with no
915         transform.
916
917         https://bugs.webkit.org/show_bug.cgi?id=20008
918
919         Testcase: LayoutTests/fast/css/computed-style-without-renderer
920                   LayoutTests/fast/css/computed-style-expected.txt
921
922         * css/CSSComputedStyleDeclaration.cpp:
923         (WebCore::computedTransform):
924
925 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
926
927         Reviewed by Dave Hyatt
928
929         Fix assertion about creating Length values with percentage types
930         when blending transforms.
931         https://bugs.webkit.org/show_bug.cgi?id=20086
932
933         * rendering/style/RenderStyle.cpp:
934         (WebCore::TranslateTransformOperation::blend):
935
936 2008-07-17  Jacob Refstrup  <jacob.refstrup@hp.com>
937
938         Reviewed by rwlbuis@gmail.com
939
940         https://bugs.webkit.org/show_bug.cgi?id=19965
941
942         - Added "@"{ident} rule (below other @-rules) to use flex for longest match
943           (if an earlier rule - e.g. @media - also matches then flex chooses that one
944            however, if a longer match - e.g. @mediaall matches flex will choose that)
945         - Updated grammar to defined ATKEYWORD token and to use that instead of '@'
946           in the error recovery grammar. 
947
948         Test: css2.1/atrule_longest_match.html
949
950         * ChangeLog:
951         * css/CSSGrammar.y:
952         * css/tokenizer.flex:
953
954 2008-07-17  David Hyatt  <hyatt@apple.com>
955
956         Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
957         recursive (and checks for transparency layers all the way up the ancestor document chain back to
958         the top-level frame).
959
960         Reviewed by Dan
961
962         * rendering/RenderView.cpp:
963         (WebCore::RenderView::paintBoxDecorations):
964
965 2008-07-16  Jon Honeycutt  <jhoneycutt@apple.com>
966
967         REGRESSION: Can't create windowless plug-in with Flash 9
968         https://bugs.webkit.org/show_bug.cgi?id=20070
969
970         Reviewed by Mark Rowe.
971
972         * plugins/win/PluginPackageWin.cpp:
973         (WebCore::PluginPackage::determineQuirks): Reverse argument order;
974         PlatformModuleVersion constructor takes leastSig, mostSig.
975
976 2008-07-16  Eric Seidel  <eric@webkit.org>
977
978         Reviewed by mitz.
979
980         Attempt to make initializeATSUStyle human-readable by
981         splitting it out into better-named static inline functions.
982
983         No functional changes, thus no tests.
984
985         * platform/graphics/mac/FontMac.mm:
986         (WebCore::fontHasMirroringInfo):
987         (WebCore::disableLigatures):
988         (WebCore::initializeATSUStyle):
989
990 2008-07-16  Eric Seidel  <eric@webkit.org>
991
992         No review, build fix only.
993
994         Attempt to fix Mac build
995
996         * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.
997
998 2008-07-16  Eric Seidel  <eric@webkit.org>
999
1000         Reviewed by mitz.
1001
1002         Make ATSULayoutParameters a real C++ class
1003         (Give it a destructor to clean up after itself)
1004         (Also use OwnArrayPtr instead of manual member cleanup)
1005
1006         * platform/graphics/mac/FontMac.mm:
1007         (WebCore::ATSULayoutParameters::ATSULayoutParameters):
1008         (WebCore::ATSULayoutParameters::~ATSULayoutParameters):
1009         (WebCore::overrideLayoutOperation):
1010         (WebCore::ATSULayoutParameters::initialize):
1011         (WebCore::Font::selectionRectForComplexText):
1012         (WebCore::Font::drawComplexText):
1013         (WebCore::Font::floatWidthForComplexText):
1014         (WebCore::Font::offsetForPositionForComplexText):
1015
1016 2008-07-16  Eric Seidel  <eric@webkit.org>
1017
1018         Reviewed by mitz.
1019
1020         Make ownership of copied UChar buffer clearer
1021         (and more leak-proof) by using a OwnArrayPtr.
1022
1023         No functional changes, thus no tests.
1024
1025         * platform/graphics/mac/FontMac.mm:
1026         (WebCore::copyRunForDirectionalOverrideIfNecessary):
1027         (WebCore::Font::selectionRectForComplexText):
1028         (WebCore::Font::drawComplexText):
1029         (WebCore::Font::offsetForPositionForComplexText):
1030
1031 2008-07-16  Eric Seidel  <eric@webkit.org>
1032
1033         Reviewed by Sam.
1034
1035         Split out TextRun into its own header file.
1036         Re-order members to place all bools together
1037         (to allow compilers to better pack the struct)
1038
1039         No functional changes, thus no tests.
1040
1041         * WebCore.vcproj/WebCore.vcproj:
1042         * WebCore.xcodeproj/project.pbxproj:
1043         * platform/graphics/Font.h: Moved TextRun into its own file.
1044         * platform/graphics/TextRun.h: Split out from Font.h
1045
1046 2008-07-16  Simon Fraser  <simon.fraser@apple.com>
1047
1048         Reviewed by Dave Hyatt
1049
1050         AnimationController needs to adjust z-index in the blended
1051         style in case opacity or transform were changed by blending.
1052
1053         https://bugs.webkit.org/show_bug.cgi?id=20047
1054         
1055         Test: transitions/opacity-transition-zindex.html
1056
1057         * page/AnimationController.cpp:
1058         (WebCore::AnimationController::updateImplicitAnimations):
1059
1060 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
1061
1062         Reviewed by Sam.
1063
1064         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052 
1065         Prepare SVGAnimatedProperty introduction.
1066
1067         Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty
1068         contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters.
1069         See https://bugs.webkit.org/show_bug.cgi?id=20051 for details.
1070
1071         * dom/make_names.pl: Handle new params "exportString" / "exportStrings".
1072         * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string.
1073         * svg/svgattrs.in: Export all SVG attributes as strings.
1074         * svg/svgtags.in: Export all SVG tags as strings.
1075         * svg/xlinkattrs.in: Expose all XLink attributes as strings.
1076
1077 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
1078
1079         Reviewed by Eric.
1080
1081         Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
1082         Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.
1083
1084         Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
1085
1086         * GNUmakefile.am:
1087         * WebCore.pro:
1088         * WebCore.vcproj/WebCore.vcproj:
1089         * WebCore.xcodeproj/project.pbxproj:
1090         * bindings/js/JSSVGLengthCustom.cpp: Added.
1091         (WebCore::JSSVGLength::value):
1092         (WebCore::JSSVGLength::convertToSpecifiedUnits):
1093         * bindings/scripts/CodeGeneratorObjC.pm:
1094         * css/CSSCursorImageValue.cpp:
1095         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
1096         * rendering/RenderForeignObject.cpp:
1097         (WebCore::RenderForeignObject::translationForAttributes):
1098         * rendering/RenderSVGImage.cpp:
1099         (WebCore::RenderSVGImage::layout):
1100         * rendering/RenderSVGRoot.cpp:
1101         (WebCore::RenderSVGRoot::calcViewport):
1102         * rendering/RenderSVGText.cpp:
1103         (WebCore::RenderSVGText::layout):
1104         * rendering/RenderSVGViewportContainer.cpp:
1105         (WebCore::RenderSVGViewportContainer::calcViewport):
1106         * rendering/SVGCharacterLayoutInfo.cpp:
1107         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
1108         (WebCore::SVGCharacterLayoutInfo::addStackContent):
1109         * rendering/SVGCharacterLayoutInfo.h:
1110         * rendering/SVGRootInlineBox.cpp:
1111         (WebCore::SVGRootInlineBox::buildTextChunks):
1112         * svg/SVGAnimateElement.h:
1113         * svg/SVGAnimateMotionElement.h:
1114         * svg/SVGAnimateTransformElement.h:
1115         * svg/SVGAnimationElement.h:
1116         (WebCore::SVGAnimationElement::contextElement):
1117         * svg/SVGCircleElement.cpp:
1118         (WebCore::SVGCircleElement::SVGCircleElement):
1119         (WebCore::SVGCircleElement::parseMappedAttribute):
1120         (WebCore::SVGCircleElement::toPathData):
1121         * svg/SVGCursorElement.cpp:
1122         (WebCore::SVGCursorElement::SVGCursorElement):
1123         (WebCore::SVGCursorElement::parseMappedAttribute):
1124         * svg/SVGEllipseElement.cpp:
1125         (WebCore::SVGEllipseElement::SVGEllipseElement):
1126         (WebCore::SVGEllipseElement::parseMappedAttribute):
1127         (WebCore::SVGEllipseElement::toPathData):
1128         * svg/SVGFilterElement.cpp:
1129         (WebCore::SVGFilterElement::SVGFilterElement):
1130         (WebCore::SVGFilterElement::parseMappedAttribute):
1131         (WebCore::SVGFilterElement::canvasResource):
1132         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1133         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
1134         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
1135         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1136         * svg/SVGForeignObjectElement.cpp:
1137         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
1138         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
1139         * svg/SVGImageElement.cpp:
1140         (WebCore::SVGImageElement::SVGImageElement):
1141         (WebCore::SVGImageElement::parseMappedAttribute):
1142         * svg/SVGLength.cpp:
1143         (WebCore::SVGLength::SVGLength):
1144         (WebCore::SVGLength::value):
1145         (WebCore::SVGLength::convertToSpecifiedUnits):
1146         (WebCore::SVGLength::PercentageOfViewport):
1147         * svg/SVGLength.h:
1148         * svg/SVGLength.idl:
1149         * svg/SVGLengthList.cpp:
1150         (WebCore::SVGLengthList::parse):
1151         * svg/SVGLengthList.h:
1152         * svg/SVGLineElement.cpp:
1153         (WebCore::SVGLineElement::SVGLineElement):
1154         (WebCore::SVGLineElement::parseMappedAttribute):
1155         (WebCore::SVGLineElement::toPathData):
1156         * svg/SVGLinearGradientElement.cpp:
1157         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
1158         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
1159         * svg/SVGMarkerElement.cpp:
1160         (WebCore::SVGMarkerElement::SVGMarkerElement):
1161         (WebCore::SVGMarkerElement::parseMappedAttribute):
1162         (WebCore::SVGMarkerElement::canvasResource):
1163         * svg/SVGMaskElement.cpp:
1164         (WebCore::SVGMaskElement::SVGMaskElement):
1165         (WebCore::SVGMaskElement::parseMappedAttribute):
1166         (WebCore::SVGMaskElement::drawMaskerContent):
1167         * svg/SVGPatternElement.cpp:
1168         (WebCore::SVGPatternElement::SVGPatternElement):
1169         (WebCore::SVGPatternElement::parseMappedAttribute):
1170         (WebCore::SVGPatternElement::buildPattern):
1171         * svg/SVGRadialGradientElement.cpp:
1172         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
1173         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
1174         * svg/SVGRectElement.cpp:
1175         (WebCore::SVGRectElement::SVGRectElement):
1176         (WebCore::SVGRectElement::parseMappedAttribute):
1177         (WebCore::SVGRectElement::toPathData):
1178         * svg/SVGSVGElement.cpp:
1179         (WebCore::SVGSVGElement::SVGSVGElement):
1180         (WebCore::SVGSVGElement::viewport):
1181         (WebCore::SVGSVGElement::parseMappedAttribute):
1182         (WebCore::SVGSVGElement::getCTM):
1183         (WebCore::SVGSVGElement::getScreenCTM):
1184         * svg/SVGTextContentElement.cpp:
1185         (WebCore::SVGTextContentElement::SVGTextContentElement):
1186         (WebCore::SVGTextContentElement::parseMappedAttribute):
1187         * svg/SVGTextPathElement.cpp:
1188         (WebCore::SVGTextPathElement::SVGTextPathElement):
1189         (WebCore::SVGTextPathElement::parseMappedAttribute):
1190         * svg/SVGTextPositioningElement.cpp:
1191         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
1192         * svg/SVGUseElement.cpp:
1193         (WebCore::SVGUseElement::SVGUseElement):
1194         (WebCore::SVGUseElement::parseMappedAttribute):
1195         (WebCore::SVGUseElement::buildPendingResource):
1196         (WebCore::SVGUseElement::buildInstanceTree):
1197         (WebCore::SVGUseElement::handleDeepUseReferencing):
1198         (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
1199         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1200         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
1201         * svg/SVGUseElement.h:
1202         * svg/SynchronizableTypeWrapper.h:
1203         * svg/graphics/SVGImage.cpp:
1204         (WebCore::SVGImage::size):
1205
1206 2008-07-16  Geoffrey Garen  <ggaren@apple.com>
1207
1208         Reviewed by Oliver Hunt.
1209
1210         Support for JavaScriptCore's first step toward putting doubles in
1211         registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
1212
1213         * bindings/js/ScheduledAction.cpp:
1214         (WebCore::ScheduledAction::ScheduledAction):
1215
1216 2008-07-15  Maxime Britto  <britto@apple.com>
1217
1218         Reviewed by Eric.
1219
1220         https://bugs.webkit.org/show_bug.cgi?id=17589
1221         <rdar://problem/5770893>
1222         Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
1223         Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
1224         For the other platforms, nothing is changed but if someone want to activate this feature 
1225         he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.
1226
1227         * ChangeLog:
1228         * page/EventHandler.cpp:
1229         (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
1230         (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters 
1231         * platform/PlatformWheelEvent.h:
1232         (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
1233         (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
1234         (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
1235         (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
1236         * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1237         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1238         * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1239         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1240         * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1241         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1242         * platform/win/ScrollViewWin.cpp: Added the page scroll (horiz/vertical) and reduced the number of pixels to scroll per line to keep the standard behavior with the factor
1243         (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
1244         (WebCore::ScrollView::updateScrollbars):
1245         (WebCore::ScrollView::wheelEvent):
1246         * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
1247         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1248         * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
1249         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1250
1251 2008-07-15  Kevin Ollivier  <kevino@theolliviers.com>
1252
1253         wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
1254
1255         * WebCoreSources.bkl:
1256
1257 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
1258
1259         Reviewed by Dan.
1260
1261         <rdar://problem/5620273> REGRESSION: Apparent caching between form
1262         submits twice (on Maconomy) (18401)
1263
1264         Frames did not set the createdByParser flag even when they were.
1265
1266         * html/HTMLElementFactory.cpp:
1267         (WebCore::frameConstructor):
1268         (WebCore::iframeConstructor):
1269
1270 2008-07-15  Dan Bernstein  <mitz@apple.com>
1271
1272         Reviewed by Dave Hyatt.
1273
1274         - fix https://bugs.webkit.org/show_bug.cgi?id=19525
1275           <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
1276
1277         Test: fast/reflections/inline-crash.html
1278
1279         * rendering/RenderInline.cpp:
1280         (WebCore::RenderInline::setStyle): Added setHasReflection(false).
1281         Inline flows never have reflections.
1282
1283 2008-07-14  David Hyatt  <hyatt@apple.com>
1284
1285         Allow <style> and <link> pretty much anywhere.  They will still be moved to the <head> if
1286         no <body> exists yet though.
1287
1288         Reviewed by Sam
1289
1290         Added fast/css/style-parsed-outside-of-head.html
1291
1292         * html/HTMLElement.cpp:
1293         (WebCore::inlineTagList):
1294
1295 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
1296
1297         Reviewed by Geoff.
1298
1299         Rename pageGroupIdentifier to profileGroup to keep mention of a
1300         pageGroup out of JavaScriptCore.
1301
1302         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1303         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
1304         * bindings/js/ScriptController.cpp:
1305         (WebCore::ScriptController::clear):
1306         (WebCore::ScriptController::initScript):
1307         * history/CachedPage.cpp:
1308         (WebCore::CachedPage::restore):
1309
1310 2008-07-15  Adam Roben  <aroben@apple.com>
1311
1312         WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
1313
1314         <rdar://6059127>
1315
1316         Reviewed by John Sullivan.
1317
1318         * platform/graphics/win/FontCGWin.cpp:
1319         (WebCore::Font::drawGlyphs): Pass the result of
1320         WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
1321         * platform/win/WebCoreTextRenderer.cpp:
1322         (WebCore::WebCoreSetShouldUseFontSmoothing):
1323         (WebCore::WebCoreShouldUseFontSmoothing):
1324         Added.
1325         * platform/win/WebCoreTextRenderer.h:
1326
1327 2008-07-15  Adam Roben  <aroben@apple.com>
1328
1329         Windows build fix
1330
1331         * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
1332         to the project.
1333
1334 2008-07-15  Holger Hans Peter Freyther  <zecke@selfish.org>
1335
1336         Build fix for the Gtk+ and Qt platform.
1337
1338         * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
1339         * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
1340
1341 2008-07-14  Dan Bernstein  <mitz@apple.com>
1342
1343         - Tiger build fix
1344
1345         * platform/mac/WidgetMac.mm:
1346         (WebCore::Widget::paint):
1347
1348 2008-07-14  Dan Bernstein  <mitz@apple.com>
1349
1350         Reviewed by John Sullivan.
1351
1352         - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
1353
1354         * platform/mac/WidgetMac.mm:
1355         (WebCore::Widget::paint): Changed to account for the case of drawing
1356         into a bitmap context that is not a window's backing store. In that
1357         case, -displayRectIgnoringOpacity:inContext: is used to redirect the
1358         drawing to the correct context, after setting up the right transform
1359         on it. For subframes, additional code ensures that the scroll view will
1360         not paint the background behind a transparent frame.
1361
1362 2008-07-14  chris fleizach  <cfleizach@apple.com>
1363
1364         Reviewed by Beth Dakin
1365
1366         <rdar://problem/6038106> AXChildren returned for this web area is null
1367         Accessibility of image maps needed to be updated
1368
1369         Tests: accessibility/image-map1.html
1370                accessibility/image-map2.html
1371
1372         * WebCore.xcodeproj/project.pbxproj:
1373         * page/AXObjectCache.cpp:
1374         (WebCore::AXObjectCache::get):
1375         * page/AccessibilityImageMapLink.cpp: Added.
1376         (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
1377         (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
1378         (WebCore::AccessibilityImageMapLink::create):
1379         (WebCore::AccessibilityImageMapLink::parentObject):
1380         (WebCore::AccessibilityImageMapLink::anchorElement):
1381         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
1382         (WebCore::AccessibilityImageMapLink::title):
1383         (WebCore::AccessibilityImageMapLink::elementRect):
1384         (WebCore::AccessibilityImageMapLink::size):
1385         * page/AccessibilityImageMapLink.h: Added.
1386         (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
1387         (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
1388         (WebCore::AccessibilityImageMapLink::roleValue):
1389         (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
1390         (WebCore::AccessibilityImageMapLink::isLink):
1391         * page/AccessibilityListBoxOption.h:
1392         * page/AccessibilityObject.cpp:
1393         (WebCore::AccessibilityObject::selectedChildren):
1394         (WebCore::AccessibilityObject::visibleChildren):
1395         * page/AccessibilityObject.h:
1396         (WebCore::):
1397         * page/AccessibilityRenderObject.cpp:
1398         (WebCore::AccessibilityRenderObject::parentObject):
1399         (WebCore::AccessibilityRenderObject::isAnchor):
1400         (WebCore::AccessibilityRenderObject::anchorElement):
1401         (WebCore::AccessibilityRenderObject::helpText):
1402         (WebCore::AccessibilityRenderObject::intValue):
1403         (WebCore::AccessibilityRenderObject::stringValue):
1404         (WebCore::AccessibilityRenderObject::title):
1405         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1406         (WebCore::AccessibilityRenderObject::elementRect):
1407         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1408         (WebCore::AccessibilityRenderObject::roleValue):
1409         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
1410         (WebCore::AccessibilityRenderObject::addChildren):
1411         * page/AccessibilityRenderObject.h:
1412         * page/mac/AccessibilityObjectWrapper.mm:
1413         (convertToNSArray):
1414         (RoleEntry::):
1415
1416 2008-07-14  Sam Weinig  <sam@webkit.org>
1417
1418         Rubber-stamped by David Hyatt.
1419
1420         Remove unused ExceptionCode parameter from compareDocumentPosition.
1421
1422         * dom/Document.cpp:
1423         (WebCore::Document::addStyleSheetCandidateNode):
1424         * dom/Node.cpp:
1425         (WebCore::Node::compareDocumentPosition):
1426         * dom/Node.h:
1427         * dom/Node.idl:
1428
1429 2008-07-14  David Hyatt  <hyatt@apple.com>
1430
1431         Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.
1432
1433         Reviewed by Sam
1434
1435         Added fast/css/style-outside-head.html
1436         Added fast/css/link-outside-head.html
1437
1438         * dom/Document.cpp:
1439         (WebCore::Document::addStyleSheetCandidateNode):
1440         (WebCore::Document::removeStyleSheetCandidateNode):
1441         (WebCore::Document::recalcStyleSelector):
1442         * dom/Document.h:
1443         * dom/Node.cpp:
1444         (WebCore::Node::compareDocumentPosition):
1445         * dom/ProcessingInstruction.cpp:
1446         (WebCore::ProcessingInstruction::checkStyleSheet):
1447         (WebCore::ProcessingInstruction::insertedIntoDocument):
1448         (WebCore::ProcessingInstruction::removedFromDocument):
1449         (WebCore::ProcessingInstruction::finishParsingChildren):
1450         * dom/ProcessingInstruction.h:
1451         (WebCore::ProcessingInstruction::setCreatedByParser):
1452         * dom/StyleElement.cpp:
1453         (WebCore::StyleElement::removedFromDocument):
1454         * dom/XMLTokenizer.cpp:
1455         (WebCore::XMLTokenizer::startElementNs):
1456         (WebCore::XMLTokenizer::processingInstruction):
1457         (WebCore::):
1458         * html/HTMLElementFactory.cpp:
1459         (WebCore::linkConstructor):
1460         * html/HTMLLinkElement.cpp:
1461         (WebCore::HTMLLinkElement::HTMLLinkElement):
1462         (WebCore::HTMLLinkElement::insertedIntoDocument):
1463         (WebCore::HTMLLinkElement::removedFromDocument):
1464         (WebCore::HTMLLinkElement::finishParsingChildren):
1465         * html/HTMLLinkElement.h:
1466         (WebCore::HTMLLinkElement::setCreatedByParser):
1467         * html/HTMLStyleElement.cpp:
1468         (WebCore::HTMLStyleElement::insertedIntoDocument):
1469         (WebCore::HTMLStyleElement::removedFromDocument):
1470         * svg/SVGStyleElement.cpp:
1471         (WebCore::SVGStyleElement::insertedIntoDocument):
1472         (WebCore::SVGStyleElement::removedFromDocument):
1473
1474 2008-07-14  Sam Weinig  <sam@webkit.org>
1475
1476         Reviewed by Mark Rowe.
1477
1478         Sort interface extended attributes to appease *the* Mark Rowe.
1479
1480         * page/DOMWindow.idl:
1481
1482 2008-07-14  Anders Carlsson  <andersca@apple.com>
1483
1484         Reviewed by Geoff.
1485
1486         <rdar://problem/6073974>
1487         https://bugs.webkit.org/show_bug.cgi?id=18106
1488         The "onscroll" event bubbles, which is inconsistent with Firefox and IE
1489
1490         Don't bubble the scroll event.
1491         
1492         * rendering/RenderLayer.cpp:
1493         (WebCore::RenderLayer::scrollToOffset):
1494         * rendering/RenderListBox.cpp:
1495         (WebCore::RenderListBox::valueChanged):
1496
1497 2008-07-14  Adele Peterson  <adele@apple.com>
1498
1499         Reviewed by Geoff.
1500
1501         Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings
1502
1503         The web server on this particular piece of hardware doesn't handle "text/xml" in the 
1504         Accept header if the headers are sent in a certain order.  Safari 2 used to send "*/*" in 
1505         the Accept header.  Firefox 2 sent "text/xml" but in an acceptable order for the web 
1506         server.  And Firefox 3 doesn't send "text/xml" at all in the Accept header since it 
1507         is being deprecated in favor of "application/xml".  We decided that the best solution is 
1508         to match Firefox 3 and stop sending "text/xml" in the Accept header.
1509
1510         No test.  There appears to be no way to get the raw headers in the original order in perl/php.
1511
1512         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
1513
1514 2008-07-14  Sam Weinig  <sam@webkit.org>
1515
1516         Reviewed by Adele Peterson.
1517
1518         Fix for <rdar://problem/5769819>
1519
1520         Test: http/tests/security/cross-frame-access-object-prototype.html
1521
1522         * bindings/js/JSDOMWindowCustom.cpp:
1523         (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check.
1524         (WebCore::JSDOMWindow::defineGetter): Ditto.
1525         (WebCore::JSDOMWindow::defineSetter): Ditto.
1526         (WebCore::JSDOMWindow::lookupGetter): Ditto.
1527         (WebCore::JSDOMWindow::lookupSetter): Ditto.
1528         * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions
1529         of all the core JSObject functionality.
1530         * page/DOMWindow.idl: Override remaining core JSObject functionality,
1531         to inject security checks.
1532
1533 2008-07-14  Adam Roben  <aroben@apple.com>
1534
1535         Windows build fixes
1536
1537         * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
1538         path.
1539         * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM
1540         bindings to regenerate.
1541         * loader/FTPDirectoryDocument.cpp:
1542         * loader/FTPDirectoryParser.cpp:
1543         Fixed some duplicate macro definitions now that we're including
1544         pthread.h again.
1545
1546 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
1547
1548         Reviewed by Kevin McCullough.
1549
1550         Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
1551         global data.
1552
1553         * bindings/js/JSDOMWindowBase.cpp:
1554         (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.
1555
1556 2008-07-14  Simon Hausmann  <hausmann@webkit.org>
1557
1558         Reviewed by Holger.
1559
1560         Make listDirectory() in the Qt port work with empty namefilters.
1561         Don't include . and .. to avoid scanning the parent directory.
1562
1563         * platform/qt/FileSystemQt.cpp:
1564         (WebCore::listDirectory):
1565
1566 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
1567
1568         Reviewed by Geoff Garen.
1569
1570         Eliminate per-thread JavaScript global data instance support and make arbitrary
1571         global data/global object combinations possible.
1572
1573         * bindings/js/JSDOMWindowBase.h:
1574         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added.
1575         WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one.
1576
1577         * bindings/js/JSDOMWindowShell.cpp:
1578         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
1579         (WebCore::JSDOMWindowShell::operator new):
1580         * bindings/js/ScriptController.cpp:
1581         (WebCore::ScriptController::clear):
1582         * bindings/scripts/CodeGeneratorJS.pm:
1583         Pass commonJSGlobalData() as an allocator.
1584
1585         * bridge/c/c_utility.cpp:
1586         (KJS::Bindings::identifierFromNPIdentifier):
1587         * bridge/jni/jni_class.cpp:
1588         (JavaClass::JavaClass):
1589         * history/CachedPage.cpp:
1590         (WebCore::CachedPage::restore):
1591         * storage/Database.cpp:
1592         (WebCore::Database::Database):
1593         * bindings/js/GCController.cpp:
1594         (WebCore::collect):
1595         (WebCore::GCController::gcTimerFired):
1596         (WebCore::GCController::garbageCollectNow):
1597         Use JSDOMWindow::commonJSGlobalData().
1598
1599         * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
1600         it need to be accesible outside of JSC).
1601
1602         * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().
1603
1604 2008-07-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1605
1606         Reviewed by Simon.
1607
1608         MinGW build fixes
1609
1610         * plugins/win/PluginDatabaseWin.cpp:
1611         * plugins/win/PluginViewWin.cpp:
1612         (WebCore::PluginView::handleKeyboardEvent):
1613         (WebCore::PluginView::handleMouseEvent):
1614         * svg/SynchronizableTypeWrapper.h:
1615         (WebCore::::SynchronizableTypeWrapper):
1616
1617 2008-07-13  Sam Weinig  <sam@webkit.org>
1618
1619         Reviewed by Oliver Hunt and Dan Bernstein.
1620
1621         Fix for <rdar://problem/5888127>
1622         https://bugs.webkit.org/show_bug.cgi?id=18699
1623
1624         - Match Firefox in restricting the size of custom cursor to images to
1625           128x128 px.
1626         - Restrict custom cursor hotspots to values within the bounds of the
1627           cursor image.
1628
1629         * manual-tests/cursor-max-size.html: Added.
1630         * page/EventHandler.cpp:
1631         (WebCore::EventHandler::selectCursor):
1632
1633 2008-07-13  Kevin Ollivier  <kevino@theolliviers.com>
1634
1635         wx build fix.
1636
1637         * platform/graphics/wx/AffineTransformWx.cpp:
1638         (WebCore::AffineTransform::a):
1639         (WebCore::AffineTransform::b):
1640         (WebCore::AffineTransform::c):
1641         (WebCore::AffineTransform::d):
1642         (WebCore::AffineTransform::e):
1643         (WebCore::AffineTransform::f):
1644
1645 2008-07-12  Dan Bernstein  <mitz@apple.com>
1646
1647         Reviewed by Oliver Hunt.
1648
1649         - fix https://bugs.webkit.org/show_bug.cgi?id=18088
1650           <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
1651
1652         Test: fast/block/basic/min-pref-width-nowrap-floats.html
1653
1654         * rendering/RenderBlock.cpp:
1655         (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
1656         float's width was added to the minimum preferred widths instead of just
1657         acting as a lower bound on the minimum preferred width (since the float
1658         can always be pushed down to be the only thing on the line).
1659
1660 2008-07-12  David D. Kilzer  <ddkilzer@webkit.org>
1661
1662         Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page
1663
1664         <https://bugs.webkit.org/show_bug.cgi?id=13067>
1665
1666         Reviewed by Darin.
1667
1668         Test: WebCore/manual-tests/hash-ref.html
1669
1670         * loader/FrameLoader.cpp:
1671         (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer,
1672              FrameLoadType newLoadType, const String& frameName, Event* event,
1673              PassRefPtr<FormState> formState)): Extracted logic into
1674         shouldScrollToAnchor() for determining when to scroll to an anchor.
1675
1676         (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type,
1677              PassRefPtr<FormState> formState)): Added check for
1678         shouldScrollToAnchor() to catch cases when the user manually added a
1679         hash ref to the URL in the address bar.  This is the bug fix.
1680
1681         (WebCore::FrameLoader::shouldReload): Simplified early return logic.
1682         We only need to check if the destinationURL has a hash ref, not the
1683         currentURL, per the comment in the method.
1684
1685         (WebCore::FrameLoader::shouldScrollToAnchor): Added.  Logic extracted
1686         from the FrameLoader::load(const KURL& newURL, ...) method.  Fixed order
1687         of arguments to shouldReload() since they were backwards, although the
1688         previous logic in the method made this irrelevant.
1689
1690         (WebCore::FrameLoader::loadItem): Removed call to shouldReload().  Since
1691         we're navigating to a HistoryItem, it doesn't make sense to ask whether
1692         we need to reload the page or not.  Additionally, the logic at the end
1693         of shouldReload() is also checked in urlsMatchItem(), so there's no need
1694         to call the method.  This fixed the fast/css/target-fragment-match.html
1695         test from continuously reloading after the other changes.
1696
1697         * loader/FrameLoader.h:
1698         (WebCore::FrameLoader::shouldScrollToAnchor): Added.
1699
1700         * manual-tests/hash-ref.html: Added.
1701         * manual-tests/resources/hash-ref-test.html: Added.
1702
1703 2008-07-11  Stephanie Lewis  <slewis@apple.com>
1704
1705         Reviewed by Darin Adler.
1706
1707         No Functionality Changed.  Change all the leak counting code to use the new WTF leak counter class.
1708
1709         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1710         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
1711         (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
1712         * bindings/js/JSEventListener.cpp:
1713         (WebCore::JSEventListener::JSEventListener):
1714         (WebCore::JSEventListener::~JSEventListener):
1715         * dom/Node.cpp:
1716         (WebCore::Node::Node):
1717         (WebCore::Node::~Node):
1718         * dom/Range.cpp:
1719         (WebCore::Range::Range):
1720         (WebCore::Range::~Range):
1721         * history/CachedPage.cpp:
1722         (WebCore::CachedPage::CachedPage):
1723         (WebCore::CachedPage::~CachedPage):
1724         * loader/SubresourceLoader.cpp:
1725         (WebCore::SubresourceLoader::SubresourceLoader):
1726         (WebCore::SubresourceLoader::~SubresourceLoader):
1727         * page/Frame.cpp:
1728         (WebCore::Frame::Frame):
1729         (WebCore::Frame::~Frame):
1730         * page/Page.cpp:
1731         (WebCore::Page::Page):
1732         (WebCore::Page::~Page):
1733         * rendering/RenderObject.cpp:
1734         (WebCore::RenderObject::RenderObject):
1735         (WebCore::RenderObject::~RenderObject):
1736         * rendering/bidi.cpp:
1737         (WebCore::throw):
1738         (WebCore::BidiRun::operator delete):
1739
1740 2008-07-11  Sam Weinig  <sam@webkit.org>
1741
1742         Reviewed by Mark Rowe.
1743
1744         Update getSubStringLength and selectSubString methods exception throwing conditions
1745         based on SVG working group errata.
1746
1747         Test: svg/custom/selectSubString.html
1748
1749         * svg/SVGTextContentElement.cpp:
1750         (WebCore::SVGTextContentElement::getSubStringLength):
1751         (WebCore::SVGTextContentElement::selectSubString):
1752
1753 2008-07-11  Sam Weinig  <sam@webkit.org>
1754
1755         Reviewed by Mark Rowe.
1756
1757         We can only use the Id fast path for querySelector and querySelectorAll
1758         if the selector is purely an Id selector.
1759
1760         Test: fast/dom/SelectorAPI/id-fastpath.html
1761
1762         * dom/Node.cpp:
1763         (WebCore::Node::querySelector):
1764         * dom/SelectorNodeList.cpp:
1765         (WebCore::createSelectorNodeList):
1766
1767 2008-07-11  David Hyatt  <hyatt@apple.com>
1768
1769         Implement the DOM level 3 compareDocumentPosition method on Node.
1770
1771         Reviewed by Darin
1772
1773         * dom/Node.cpp:
1774         (WebCore::Node::compareDocumentPosition):
1775         * dom/Node.h:
1776         * dom/Node.idl:
1777
1778 2008-07-11  Brady Eidson  <beidson@apple.com>
1779
1780         Rubberstamped by Sam
1781
1782         Removed unneeded export
1783
1784         * WebCore.base.exp:
1785
1786 2008-07-11  Kevin McCullough  <kmccullough@apple.com>
1787
1788         Reviewed by Geoff.
1789
1790         <rdar://problem/6067178> REGRESSION: Start profile button in profiler
1791         now profiles inspector rather than actual page (19833)
1792         - The JSQuarantinedObjectWrapper should use the wrapped exec state
1793         so that calls to it execute in its quarantined world.
1794
1795         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1796         (WebCore::JSQuarantinedObjectWrapper::construct):
1797         (WebCore::JSQuarantinedObjectWrapper::call):
1798
1799 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
1800
1801         Reviewed by Dave Hyatt
1802
1803         StyleRareNonInheritedData needs to initialize and compare
1804         m_maskBoxImage.
1805         <https://bugs.webkit.org/show_bug.cgi?id=20005>
1806
1807         * rendering/style/RenderStyle.cpp:
1808         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1809         (WebCore::StyleRareNonInheritedData::operator==):
1810
1811 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
1812
1813         Reviewed by Dave Hyatt
1814
1815         Bug 18885: RenderLayer::enclosingPositionedAncestor() should
1816         look for transforms, since transforms create containing
1817         blocks.
1818         <https://bugs.webkit.org/show_bug.cgi?id=18885>
1819
1820         Test: fast/transforms/transform-positioned-ancestor.html
1821
1822         * rendering/RenderLayer.cpp:
1823         (WebCore::RenderLayer::stackingContext):
1824         (WebCore::RenderLayer::enclosingPositionedAncestor):
1825         (WebCore::RenderLayer::enclosingTransformedAncestor):
1826
1827 2008-07-11  Jacob Refstrup  <jacob.refstrup@hp.com>
1828
1829         Reviewed by Darin Adler
1830
1831         http://bugs.webkit.org/show_bug.cgi?id=19978
1832         GTK port always ends up with # at the end of resource URLs (and hence can't load files)
1833
1834         - Optimized KURL::removeRef() and used it rather than setRef("")
1835           which after r35040 does the wrong thing.
1836
1837         * platform/KURL.cpp:
1838         (WebCore::KURL::removeRef):
1839         * platform/network/curl/ResourceHandleManager.cpp:
1840         (WebCore::ResourceHandleManager::initializeHandle):
1841
1842 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
1843
1844         Fix the Qt/Windows build, include windows.h for HWND directly
1845         instead of implicit inclusion through Timer.h.
1846
1847         * plugins/win/PluginMessageThrottlerWin.h:
1848
1849 2008-07-11  Dan Bernstein  <mitz@apple.com>
1850
1851         Reviewed by Darin Adler.
1852
1853         - fix popularity tracking for cached resources, which regressed in r23923
1854
1855         * loader/Cache.cpp:
1856         (WebCore::Cache::requestResource): Changed to increase the access count
1857         whenever this function returns a CachedResource and the cache is
1858         enabled, instead of only when creating a new CachedResources. The
1859         incorrect behavior resulted in all resources in the cache having an
1860         access count of exactly 1 at all times.
1861         (WebCore::Cache::requestUserCSSStyleSheet): Ditto.
1862
1863 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1864
1865         Reviewed by Simon.
1866
1867         Enable Netscape plugins for the Qt/Windows build.
1868
1869         This required various smaller fixes across a wider set of
1870         files described below.
1871
1872         * WebCore.pro: Add various windows specific files to the build.
1873         * page/Page.h: Extend the #ifdeffery for windows types to include the
1874         Qt/Windows build.
1875         * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for
1876         the Qt port, as PluginViewWin.cpp uses it.
1877         * platform/graphics/qt/GraphicsContextQt.cpp:
1878         (WebCore::GraphicsContext::inTransparencyLayer): Implemented function.
1879         * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they
1880         are now implemented through *Win.cpp files.
1881         * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS.
1882         * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS.
1883         (WebCore::PluginView::setFrameGeometry): Ditto.
1884         (WebCore::PluginView::PluginView): Ditto.
1885         * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef,
1886         which expands to HWND directly for the Qt/Windows build and
1887         PlatformWidget for the remaining platforms. That is because
1888         PlatformWidget is QWidget* for the Qt build but for the plugin
1889         window we need a native window, aka HWND.
1890         * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h
1891         after config.h.
1892         * plugins/win/PluginViewWin.cpp:
1893         (windowHandleForPlatformWidget): Added a little helper function to
1894         determine the HWND from a PlatformWidget.
1895         (WebCore::registerPluginView): For the Qt port we need to set the
1896         global application instance handle here in the library, as the
1897         browser doesn't do it.
1898         (WebCore::PluginView::handleMouseEvent): Mask out
1899         ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used.
1900         (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT
1901         manually just here to avoid compiling in IntRectWin.cpp.
1902         (WebCore::PluginView::invalidateRegion): Ditto.
1903         (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget
1904         on containingWindow() to get the correct HWND for the Qt port.
1905         (WebCore::PluginView::init): Determine the parent HWND for m_window
1906         using windowHandleForPlatformWidget.
1907
1908 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
1909
1910         Rubber-stamped by Holger.
1911
1912         Enable Database and Icondatabase functionality for the Qt/Windows
1913         build when building inside Qt, as we can use the builtin copy of
1914         sqlite then.
1915
1916         * WebCore.pro:
1917
1918 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1919
1920         Reviewed by Adam Roben.
1921
1922         Fix compile with MinGW since it does not like friend static function.
1923
1924         * plugins/PluginView.h:
1925         * plugins/win/PluginViewWin.cpp:
1926
1927 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1928
1929         Reviewed by Simon.
1930
1931         Fix Qt/Win32 build.
1932
1933         * platform/graphics/qt/GraphicsContextQt.cpp:
1934
1935 2008-07-10  Sam Weinig  <sam@webkit.org>
1936
1937         Reviewed by Oliver Hunt.
1938
1939         Add support for NSResolver to resolve namespaces for querySelector 
1940         and querySelectorAll.
1941
1942         - Namespace resolution is done after parsing by iterating over all the
1943           parts of the CSSSelector.
1944
1945         Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
1946                fast/dom/SelectorAPI/NSResolver-exceptions.xhtml
1947
1948         * GNUmakefile.am: Updated with new files.
1949         * WebCore.pro: Ditto.
1950         * WebCore.vcproj/WebCore.vcproj: Ditto.
1951         * WebCore.xcodeproj/project.pbxproj: Ditto.
1952         * WebCoreSources.bkl: Ditto.
1953
1954         * bindings/js/JSDOMBinding.cpp:
1955         (WebCore::execStateFromNode):
1956         * bindings/js/JSDOMBinding.h:
1957         Move execStateFromNode here from NodeFilter.
1958
1959         * bindings/js/JSDocumentCustom.cpp:
1960         (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver
1961         and instead create one if the argument is not undefined or null.
1962         (WebCore::JSDocument::querySelectorAll): Ditto.
1963         * bindings/js/JSDocumentFragmentCustom.cpp:
1964         (WebCore::JSDocumentFragment::querySelector): Ditto.
1965         (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
1966         * bindings/js/JSElementCustom.cpp:
1967         (WebCore::JSElement::querySelector): Ditto.
1968         (WebCore::JSElement::querySelectorAll): Ditto.
1969
1970         * bindings/js/JSNSResolver.cpp: Added.
1971         (WebCore::JSNSResolver::JSNSResolver):
1972         (WebCore::JSNSResolver::mark):
1973         (WebCore::JSNSResolver::lookupNamespaceURI): Try and get the function
1974         from the passed in argument, either the value itself, or the result of
1975         getting the lookupNamespaceURI property, and call it.
1976         (WebCore::toNSResolver):
1977         * bindings/js/JSNSResolver.h: Added.
1978         (WebCore::JSNSResolver::create):
1979
1980         * dom/Document.idl: Update with NSResolver parameter.
1981         * dom/DocumentFragment.idl: Ditto.
1982         * dom/Element.idl: Ditto.
1983
1984         * dom/NSResolver.h: Added.
1985         (WebCore::NSResolver::~NSResolver):
1986         (WebCore::NSResolver::mark):
1987         Abstract base class.
1988
1989         * dom/NSResolver.idl: Added.
1990
1991         * dom/Node.cpp:
1992         (WebCore::forEachTagSelector):
1993         (WebCore::forEachSelector):
1994         Functions to iterate over all parts of the selector.
1995
1996         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
1997         Functor to be passed to forEachSelector to determine if a selector
1998         needs namespace resolution, for the case when no NSResolver is passed
1999         and we need to determine whether to throw a NAMESPACE_ERR.
2000
2001         (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
2002         (WebCore::ResolveNamespaceFunctor::operator()):
2003         Functor to resolve namespaces for the selector.
2004
2005         (WebCore::selectorNeedsNamespaceResolution):
2006         (WebCore::resolveNamespacesForSelector):
2007         (WebCore::Node::querySelector): Resolve namepspaces, including the defaultNamespace
2008         if a NSResolver is passed in.
2009         (WebCore::Node::querySelectorAll): Ditto.
2010         * dom/Node.h:
2011
2012         * dom/NodeFilter.cpp:
2013         * dom/NodeFilter.h:
2014         * dom/NodeIterator.h:
2015         (WebCore::NodeIterator::nextNode):
2016         (WebCore::NodeIterator::previousNode):
2017         * dom/TreeWalker.h:
2018         (WebCore::TreeWalker::parentNode):
2019         (WebCore::TreeWalker::firstChild):
2020         (WebCore::TreeWalker::lastChild):
2021         (WebCore::TreeWalker::previousSibling):
2022         (WebCore::TreeWalker::nextSibling):
2023         (WebCore::TreeWalker::previousNode):
2024         (WebCore::TreeWalker::nextNode):
2025         Use the version of execStateFromNode in JSDOMBinding.
2026
2027 2008-07-10  Mark Rowe  <mrowe@apple.com>
2028
2029         Reviewed by Sam Weinig.
2030
2031         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
2032
2033         * Configurations/WebCore.xcconfig:
2034
2035 2008-07-10  Dean Jackson  <dino@apple.com>
2036
2037         Reviewed by hyatt.
2038
2039         Calculate computed style for -webkit-transform property
2040         https://bugs.webkit.org/show_bug.cgi?id=19864
2041
2042         Test: css3/transform-computed-style-001.html
2043
2044         * css/CSSComputedStyleDeclaration.cpp:
2045         (WebCore::computedTransform):
2046         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2047             handles -webkit-transform property now
2048         * manual-tests/computed-transform-value.html: Added.
2049
2050 2008-07-10  Dan Bernstein  <mitz@apple.com>
2051
2052         Reviewed by Adam Roben.
2053
2054         - fix a parse error in inspector.js
2055
2056         * page/inspector/inspector.js: Added missing brace.
2057
2058 2008-07-10  Adam Roben  <aroben@apple.com>
2059
2060         Build fix
2061
2062         * WebCore.vcproj/QTMovieWin.vcproj: Add
2063         OSXCompatibilityHeaders[/GNUCompatibility] to the include path.
2064
2065 2008-07-10  Chris Fleizach  <cfleizach@apple.com>
2066
2067         Reviewed by Dan Bernstein
2068
2069         <rdar://problem/6067408> AX: internal anchors broken
2070
2071         * page/AccessibilityRenderObject.cpp:
2072         (WebCore::AccessibilityRenderObject::internalLinkElement):
2073         * platform/KURL.cpp:
2074         (WebCore::KURL::removeRef):
2075         * platform/KURL.h:
2076
2077 2008-07-10  Mark Rowe  <mrowe@apple.com>
2078
2079         Build fix.
2080
2081         * bridge/npapi.h: Remove extra comma.
2082
2083 2008-07-10  Sam Weinig  <sam@webkit.org>
2084
2085         Reviewed by Mark Rowe.
2086
2087         Remove no-op debug method.
2088
2089         * css/CSSSelector.cpp:
2090         * css/CSSSelector.h:
2091
2092 2008-07-10  Sam Weinig  <sam@webkit.org>
2093
2094         Reviewed by Dave Hyatt and Darin Adler.
2095
2096         Add support for calling querySelector and querySelectorAll on DocumentFragments
2097
2098         - Fixes bug where nodes not in the document tree would not match based on ID due
2099           to over optimization.
2100
2101         Test: fast/dom/SelectorAPI/detached-element.html
2102
2103         * GNUmakefile.am:
2104         * WebCore.pro:
2105         * WebCore.vcproj/WebCore.vcproj:
2106         * WebCore.xcodeproj/project.pbxproj:
2107         * WebCoreSources.bkl:
2108         * bindings/js/JSDocumentFragmentCustom.cpp: Added.
2109         (WebCore::JSDocumentFragment::querySelector): Add custom code matching JSElement
2110         and JSDocument that checks for a 2nd arguments and throws an exception indicating
2111         we do not currently support the optional NSResolver part of the Selectors API spec.
2112         (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
2113         * dom/DocumentFragment.idl: Add querySelector and querySelectorAll declarations.
2114
2115         * dom/Node.cpp:
2116         (WebCore::Node::querySelector): Make the CSS parser parse the selector
2117         according to the strictness of the document so that mixed case ID selectors
2118         match in quirks mode.  Also, don't use the fast ID path if the root is not
2119         in the DOM tree, as it won't work.
2120         (WebCore::Node::querySelectorAll): Ditto.
2121         * dom/SelectorNodeList.cpp:
2122         (WebCore::createSelectorNodeList): Don't use the fast ID path if the root is not
2123         in the DOM tree, as it won't work.
2124
2125 2008-07-10  Anthony Ricaud  <rik24d@gmail.com>
2126
2127         Bug 19389: querySelectorAll exception while searching invalid CSS selector
2128         <https://bugs.webkit.org/show_bug.cgi?id=19389>
2129
2130         Reviewed by Tim Hatcher.
2131
2132         * page/inspector/inspector.js: Added a try/catch block.
2133
2134 2008-07-10  Brent Fulgham  <bfulgham@gmail.com>
2135
2136         Correct a build regression due to an uninitialized variable.
2137
2138         <https://bugs.webkit.org/show_bug.cgi?id=19976>
2139
2140         Reviewed by Darin.
2141
2142         * platform/graphics/cairo/FontCairo.cpp:
2143         (WebCore::Font::drawGlyphs):
2144
2145 2008-07-10  Adam Roben  <aroben@apple.com>
2146
2147         Fix Bug 19580: REGRESSION (r34432): PGO-only crash in
2148         HTMLCollection::resetCollectionInfo (codegen issue?)
2149
2150         <https://bugs.webkit.org/show_bug.cgi?id=19580>
2151         <rdar://6029794>
2152
2153         Reviewed by Cameron Zwarich.
2154
2155         * WebCore.vcproj/WebCore.vcproj: Disable LTCG for HTMLFormElement.cpp,
2156         which was causing some bad codegen in HTMLFormElement::elements.
2157         * html/HTMLFormElement.cpp: Touched this file to force it to rebuild.
2158
2159 2008-07-10  Anders Carlsson  <andersca@apple.com>
2160
2161         Reviewed by Jon.
2162
2163         <rdar://problem/6067135>
2164         WebKit should respond true to a query for NPNVSupportsWindowless.
2165         
2166         Handle NPNVSupportsWindowless and return true.
2167         
2168         * bridge/npapi.h:
2169         * plugins/win/PluginViewWin.cpp:
2170         (WebCore::PluginView::getValue):
2171
2172 2008-07-10  Kevin McCullough  <kmccullough@apple.com>
2173
2174         Reviewed by Darin.
2175
2176         -Minor cleanup. Renamed callTree() to head() and no longer use m_head
2177         directly but instead keep it private and access via a method().
2178
2179         * page/JavaScriptProfile.cpp:
2180         (WebCore::getHeadCallback):
2181
2182 2008-07-10  Simon Fraser  <simon.fraser@apple.com>
2183
2184         When a mask image changes, ensure that elements
2185         that use that mask image are repainted correctly.
2186         
2187         <https://bugs.webkit.org/show_bug.cgi?id=19954>
2188         
2189         Reviewed by Dave Hyatt
2190
2191         * manual-tests/canvas-mask-redraw.html
2192           Manual testcase
2193         * rendering/RenderBox.cpp:
2194         (WebCore::RenderBox::imageChanged):
2195         (WebCore::RenderBox::repaintLayerRectsForImage):
2196         * rendering/RenderBox.h:
2197         Loop through background layers and mask layers, and
2198         if this image is used in a layer, compute a repaint
2199         rect and repaint.
2200         * rendering/RenderImage.cpp:
2201         (WebCore::RenderImage::imageChanged):
2202         If this image has a mask, call the base class method.
2203         * rendering/RenderObject.cpp:
2204         Remove a bogus 'return'.
2205
2206 2008-07-10  Simon Fraser  <simon.fraser@apple.com>
2207
2208         Transforms create a containing block, so
2209         RenderLayer::shouldBeOverflowOnly() needs to look for transforms.
2210         <https://bugs.webkit.org/show_bug.cgi?id=18886>
2211         
2212         Reviewed by Dave Hyatt
2213
2214         Test: fast/transforms/transform-overflow.html
2215
2216         * rendering/RenderLayer.cpp:
2217         (WebCore::RenderLayer::shouldBeOverflowOnly):
2218
2219 2008-07-09  Alex Mathews  <possessedpenguinbob@gmail.com>
2220
2221         Reviewed by Oliver Hunt.
2222
2223         bug 19835: WebKit needs cross-platform filter system
2224         <https://bugs.webkit.org/show_bug.cgi?id=19835>
2225
2226         More class refactoring in preparation for cross-platform filter 
2227         implementation.
2228
2229         * WebCore.xcodeproj/project.pbxproj:
2230         * rendering/SVGRenderTreeAsText.h:
2231         (WebCore::operator<<):
2232         * svg/FilterEffect.cpp:
2233         (WebCore::FilterEffect::externalRepresentation):
2234         * svg/FilterEffect.h:
2235         * svg/SVGFEBlendElement.cpp:
2236         (WebCore::SVGFEBlendElement::build):
2237         * svg/SVGFEBlendElement.h:
2238         * svg/SVGFEColorMatrixElement.cpp:
2239         (WebCore::SVGFEColorMatrixElement::build):
2240         * svg/SVGFEColorMatrixElement.h:
2241         * svg/SVGFEComponentTransferElement.cpp:
2242         (WebCore::SVGFEComponentTransferElement::build):
2243         * svg/SVGFEComponentTransferElement.h:
2244         * svg/SVGFECompositeElement.cpp:
2245         (WebCore::SVGFECompositeElement::build):
2246         * svg/SVGFECompositeElement.h:
2247         * svg/SVGFEDiffuseLightingElement.cpp:
2248         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
2249         (WebCore::SVGFEDiffuseLightingElement::build):
2250         (WebCore::SVGFEDiffuseLightingElement::findLights):
2251         * svg/SVGFEDiffuseLightingElement.h:
2252         * svg/SVGFEDisplacementMapElement.cpp:
2253         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
2254         (WebCore::SVGFEDisplacementMapElement::stringToChannel):
2255         (WebCore::SVGFEDisplacementMapElement::filterEffect):
2256         (WebCore::SVGFEDisplacementMapElement::build):
2257         * svg/SVGFEDisplacementMapElement.h:
2258         * svg/SVGFEFloodElement.cpp:
2259         (WebCore::SVGFEFloodElement::filterEffect):
2260         (WebCore::SVGFEFloodElement::build):
2261         * svg/SVGFEFloodElement.h:
2262         (WebCore::SVGFEFloodElement::contextElement):
2263         * svg/SVGFEGaussianBlurElement.cpp:
2264         (WebCore::SVGFEGaussianBlurElement::filterEffect):
2265         (WebCore::SVGFEGaussianBlurElement::build):
2266         * svg/SVGFEGaussianBlurElement.h:
2267         * svg/SVGFEImageElement.cpp:
2268         (WebCore::SVGFEImageElement::filterEffect):
2269         (WebCore::SVGFEImageElement::build):
2270         * svg/SVGFEImageElement.h:
2271         * svg/SVGFEMergeElement.cpp:
2272         (WebCore::SVGFEMergeElement::filterEffect):
2273         (WebCore::SVGFEMergeElement::build):
2274         * svg/SVGFEMergeElement.h:
2275         (WebCore::SVGFEMergeElement::contextElement):
2276         * svg/SVGFEOffsetElement.cpp:
2277         (WebCore::SVGFEOffsetElement::filterEffect):
2278         (WebCore::SVGFEOffsetElement::build):
2279         * svg/SVGFEOffsetElement.h:
2280         * svg/SVGFESpecularLightingElement.cpp:
2281         (WebCore::SVGFESpecularLightingElement::filterEffect):
2282         (WebCore::SVGFESpecularLightingElement::findLights):
2283         (WebCore::SVGFESpecularLightingElement::build):
2284         * svg/SVGFESpecularLightingElement.h:
2285         * svg/SVGFETileElement.cpp:
2286         (WebCore::SVGFETileElement::filterEffect):
2287         (WebCore::SVGFETileElement::build):
2288         * svg/SVGFETileElement.h:
2289         * svg/SVGFETurbulenceElement.cpp:
2290         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
2291         (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
2292         (WebCore::SVGFETurbulenceElement::filterEffect):
2293         (WebCore::SVGFETurbulenceElement::build):
2294         * svg/SVGFETurbulenceElement.h:
2295         * svg/SVGFilterPrimitiveStandardAttributes.h:
2296         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
2297         (WebCore::FEConvolveMatrix::FEConvolveMatrix):
2298         (WebCore::FEConvolveMatrix::create):
2299         (WebCore::FEConvolveMatrix::kernelSize):
2300         (WebCore::FEConvolveMatrix::setKernelSize):
2301         (WebCore::FEConvolveMatrix::kernel):
2302         (WebCore::FEConvolveMatrix::setKernel):
2303         (WebCore::FEConvolveMatrix::divisor):
2304         (WebCore::FEConvolveMatrix::setDivisor):
2305         (WebCore::FEConvolveMatrix::bias):
2306         (WebCore::FEConvolveMatrix::setBias):
2307         (WebCore::FEConvolveMatrix::targetOffset):
2308         (WebCore::FEConvolveMatrix::setTargetOffset):
2309         (WebCore::FEConvolveMatrix::edgeMode):
2310         (WebCore::FEConvolveMatrix::setEdgeMode):
2311         (WebCore::FEConvolveMatrix::kernelUnitLength):
2312         (WebCore::FEConvolveMatrix::setKernelUnitLength):
2313         (WebCore::FEConvolveMatrix::preserveAlpha):
2314         (WebCore::FEConvolveMatrix::setPreserveAlpha):
2315         (WebCore::FEConvolveMatrix::apply):
2316         (WebCore::FEConvolveMatrix::dump):
2317         (WebCore::operator<<):
2318         (WebCore::FEConvolveMatrix::externalRepresentation):
2319         * svg/graphics/filters/SVGFEConvolveMatrix.h:
2320         (WebCore::):
2321         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
2322         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
2323         (WebCore::FEDiffuseLighting::create):
2324         (WebCore::FEDiffuseLighting::~FEDiffuseLighting):
2325         (WebCore::FEDiffuseLighting::lightingColor):
2326         (WebCore::FEDiffuseLighting::setLightingColor):
2327         (WebCore::FEDiffuseLighting::surfaceScale):
2328         (WebCore::FEDiffuseLighting::setSurfaceScale):
2329         (WebCore::FEDiffuseLighting::diffuseConstant):
2330         (WebCore::FEDiffuseLighting::setDiffuseConstant):
2331         (WebCore::FEDiffuseLighting::kernelUnitLengthX):
2332         (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
2333         (WebCore::FEDiffuseLighting::kernelUnitLengthY):
2334         (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
2335         (WebCore::FEDiffuseLighting::lightSource):
2336         (WebCore::FEDiffuseLighting::setLightSource):
2337         (WebCore::FEDiffuseLighting::apply):
2338         (WebCore::FEDiffuseLighting::dump):
2339         (WebCore::FEDiffuseLighting::externalRepresentation):
2340         * svg/graphics/filters/SVGFEDiffuseLighting.h:
2341         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
2342         (WebCore::FEDisplacementMap::FEDisplacementMap):
2343         (WebCore::FEDisplacementMap::create):
2344         (WebCore::FEDisplacementMap::xChannelSelector):
2345         (WebCore::FEDisplacementMap::setXChannelSelector):
2346         (WebCore::FEDisplacementMap::yChannelSelector):
2347         (WebCore::FEDisplacementMap::setYChannelSelector):
2348         (WebCore::FEDisplacementMap::scale):
2349         (WebCore::FEDisplacementMap::setScale):
2350         (WebCore::FEDisplacementMap::apply):
2351         (WebCore::FEDisplacementMap::dump):
2352         (WebCore::operator<<):
2353         (WebCore::FEDisplacementMap::externalRepresentation):
2354         * svg/graphics/filters/SVGFEDisplacementMap.h:
2355         (WebCore::):
2356         * svg/graphics/filters/SVGFEFlood.cpp:
2357         (WebCore::FEFlood::FEFlood):
2358         (WebCore::FEFlood::create):
2359         (WebCore::FEFlood::floodColor):
2360         (WebCore::FEFlood::setFloodColor):
2361         (WebCore::FEFlood::floodOpacity):
2362         (WebCore::FEFlood::setFloodOpacity):
2363         (WebCore::FEFlood::apply):
2364         (WebCore::FEFlood::dump):
2365         (WebCore::FEFlood::externalRepresentation):
2366         * svg/graphics/filters/SVGFEFlood.h:
2367         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
2368         (WebCore::FEGaussianBlur::FEGaussianBlur):
2369         (WebCore::FEGaussianBlur::create):
2370         (WebCore::FEGaussianBlur::stdDeviationX):
2371         (WebCore::FEGaussianBlur::setStdDeviationX):
2372         (WebCore::FEGaussianBlur::stdDeviationY):
2373         (WebCore::FEGaussianBlur::setStdDeviationY):
2374         (WebCore::FEGaussianBlur::apply):
2375         (WebCore::FEGaussianBlur::dump):
2376         (WebCore::FEGaussianBlur::externalRepresentation):
2377         * svg/graphics/filters/SVGFEGaussianBlur.h:
2378         * svg/graphics/filters/SVGFEImage.cpp:
2379         (WebCore::FEImage::FEImage):
2380         (WebCore::FEImage::create):
2381         (WebCore::FEImage::~FEImage):
2382         (WebCore::FEImage::cachedImage):
2383         (WebCore::FEImage::apply):
2384         (WebCore::FEImage::dump):
2385         (WebCore::FEImage::externalRepresentation):
2386         * svg/graphics/filters/SVGFEImage.h:
2387         * svg/graphics/filters/SVGFEMerge.cpp:
2388         (WebCore::FEMerge::FEMerge):
2389         (WebCore::FEMerge::create):
2390         (WebCore::FEMerge::mergeInputs):
2391         (WebCore::FEMerge::setMergeInputs):
2392         (WebCore::FEMerge::apply):
2393         (WebCore::FEMerge::dump):
2394         (WebCore::FEMerge::externalRepresentation):
2395         * svg/graphics/filters/SVGFEMerge.h:
2396         * svg/graphics/filters/SVGFEMorphology.cpp:
2397         (WebCore::FEMorphology::FEMorphology):
2398         (WebCore::FEMorphology::create):
2399         (WebCore::FEMorphology::morphologyOperator):
2400         (WebCore::FEMorphology::setMorphologyOperator):
2401         (WebCore::FEMorphology::radiusX):
2402         (WebCore::FEMorphology::setRadiusX):
2403         (WebCore::FEMorphology::radiusY):
2404         (WebCore::FEMorphology::setRadiusY):
2405         (WebCore::FEMorphology::apply):
2406         (WebCore::FEMorphology::dump):
2407         (WebCore::operator<<):
2408         (WebCore::FEMorphology::externalRepresentation):
2409         * svg/graphics/filters/SVGFEMorphology.h:
2410         (WebCore::):
2411         * svg/graphics/filters/SVGFEOffset.cpp:
2412         (WebCore::FEOffset::FEOffset):
2413         (WebCore::FEOffset::create):
2414         (WebCore::FEOffset::dx):
2415         (WebCore::FEOffset::setDx):
2416         (WebCore::FEOffset::dy):
2417         (WebCore::FEOffset::setDy):
2418         (WebCore::FEOffset::apply):
2419         (WebCore::FEOffset::dump):
2420         (WebCore::FEOffset::externalRepresentation):
2421         * svg/graphics/filters/SVGFEOffset.h:
2422         * svg/graphics/filters/SVGFESpecularLighting.cpp:
2423         (WebCore::FESpecularLighting::FESpecularLighting):
2424         (WebCore::FESpecularLighting::create):
2425         (WebCore::FESpecularLighting::~FESpecularLighting):
2426         (WebCore::FESpecularLighting::lightingColor):
2427         (WebCore::FESpecularLighting::setLightingColor):
2428         (WebCore::FESpecularLighting::surfaceScale):
2429         (WebCore::FESpecularLighting::setSurfaceScale):
2430         (WebCore::FESpecularLighting::specularConstant):
2431         (WebCore::FESpecularLighting::setSpecularConstant):
2432         (WebCore::FESpecularLighting::specularExponent):
2433         (WebCore::FESpecularLighting::setSpecularExponent):
2434         (WebCore::FESpecularLighting::kernelUnitLengthX):
2435         (WebCore::FESpecularLighting::setKernelUnitLengthX):
2436         (WebCore::FESpecularLighting::kernelUnitLengthY):
2437         (WebCore::FESpecularLighting::setKernelUnitLengthY):
2438         (WebCore::FESpecularLighting::lightSource):
2439         (WebCore::FESpecularLighting::setLightSource):
2440         (WebCore::FESpecularLighting::apply):
2441         (WebCore::FESpecularLighting::dump):
2442         (WebCore::FESpecularLighting::externalRepresentation):
2443         * svg/graphics/filters/SVGFESpecularLighting.h:
2444         * svg/graphics/filters/SVGFETile.cpp:
2445         (WebCore::FETile::FETile):
2446         (WebCore::FETile::create):
2447         (WebCore::FETile::apply):
2448         (WebCore::FETile::dump):
2449         (WebCore::FETile::externalRepresentation):
2450         * svg/graphics/filters/SVGFETile.h:
2451         * svg/graphics/filters/SVGFETurbulence.cpp:
2452         (WebCore::FETurbulence::FETurbulence):
2453         (WebCore::FETurbulence::create):
2454         (WebCore::FETurbulence::type):
2455         (WebCore::FETurbulence::setType):
2456         (WebCore::FETurbulence::baseFrequencyY):
2457         (WebCore::FETurbulence::setBaseFrequencyY):
2458         (WebCore::FETurbulence::baseFrequencyX):
2459         (WebCore::FETurbulence::setBaseFrequencyX):
2460         (WebCore::FETurbulence::seed):
2461         (WebCore::FETurbulence::setSeed):
2462         (WebCore::FETurbulence::numOctaves):
2463         (WebCore::FETurbulence::setNumOctaves):
2464         (WebCore::FETurbulence::stitchTiles):
2465         (WebCore::FETurbulence::setStitchTiles):
2466         (WebCore::FETurbulence::apply):
2467         (WebCore::FETurbulence::dump):
2468         (WebCore::operator<<):
2469         (WebCore::FETurbulence::externalRepresentation):
2470         * svg/graphics/filters/SVGFETurbulence.h:
2471         (WebCore::):
2472         * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
2473         * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
2474         * svg/graphics/filters/cg/SVGFEFloodCg.mm:
2475         * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
2476         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
2477         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
2478         (WebCore::getVectorForChannel):
2479         * svg/graphics/filters/cg/SVGFEImageCg.mm:
2480         * svg/graphics/filters/cg/SVGFEMergeCg.mm:
2481         * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
2482         * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
2483         * svg/graphics/filters/cg/SVGFETileCg.mm:
2484
2485 2008-07-09  Mark Rowe  <mrowe@apple.com>
2486
2487         Reviewed by Geoff Garen.
2488
2489         Don't warn about deprecated functions in production builds.
2490
2491         * Configurations/Base.xcconfig:
2492         * Configurations/DebugRelease.xcconfig:
2493
2494 2008-07-09  Brady Eidson  <beidson@apple.com>
2495
2496         Reviewed by Darin
2497
2498         <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
2499         has been installed in a frame tree.
2500
2501         The root of this problem was that calling init() on a new frame could end up calling arbitrary
2502         javascript that might end up removing the frame from the tree.  This opened up a small can of worms
2503         such as the frame not having yet been installed in its frame tree, and other assumed behavior while
2504         destroying the frame.
2505
2506         Test: fast/loader/frame-creation-removal.html
2507
2508         * loader/FrameLoader.cpp:
2509         (WebCore::FrameLoader::endIfNotLoadingMainResource):  If the frame doesn't have a page, don't close up
2510           the document and parser because they don't exist, and this frame is on its way out.
2511         (WebCore::FrameLoader::finishedParsing):  We can't rely on the refCount check to discover "am I being deleted?"
2512           because we no longer store refCounts of 0.  The new check is "do I have a FrameView?" while will always be
2513           false if the Frame is being destroyed.
2514
2515 2008-07-09  Dean Jackson  <dino@apple.com>
2516
2517         Changed to use the correct license in header comment (via Darin)
2518
2519         * css/WebKitCSSTransformValue.idl:
2520
2521 2008-07-09  Dean Jackson  <dino@apple.com>
2522
2523         Add DOM interface for WebKitCSSTransformValue.
2524         https://bugs.webkit.org/show_bug.cgi?id=19863
2525
2526         Reviewed by Hyatt.
2527
2528         * bindings/objc/DOMInternal.h:
2529         * css/WebKitCSSTransformValue.idl: Added.
2530
2531         * bindings/scripts/CodeGeneratorObjC.pm:
2532             make sure new class inherits from CSSValue not Node
2533
2534         * DerivedSources.make:
2535         * GNUmakefile.am:
2536         * WebCore.pro:
2537         * WebCore.vcproj/WebCore.vcproj:
2538         * WebCore.xcodeproj/project.pbxproj:
2539         * WebCoreSources.bkl:
2540             Adding new generated files
2541
2542 2008-07-09  Maxime Britto  <britto@apple.com>
2543
2544         Reviewed by Adele.
2545
2546         http://bugs.webkit.org/show_bug.cgi?id=14227
2547         Add the middle click panning feature to the windows release.
2548         Details on almost each method below.
2549         Manual test is included in the patch.
2550
2551         * ChangeLog:
2552         * WebCore.vcproj/WebCore.vcproj:
2553         * manual-tests/panScroll.html: Added.
2554         * manual-tests/resources/big-page.html: Added.
2555         * page/EventHandler.cpp: Added the panScroll start/stop handlers and adapted the autoscroll for both to share some functions.
2556         (WebCore::EventHandler::EventHandler): Initialize the new class members for the panScroll
2557         (WebCore::EventHandler::handleMouseDraggedEvent): Prevent the autoscroll to trigger if the panScroll is in progress
2558         (WebCore::EventHandler::handleMouseReleaseEvent): Prevent the autoscroll to stop the panScroll on mouse release
2559         (WebCore::EventHandler::handleAutoscroll): Added the specific calls for the panScroll (save mouse position, draw the panScroll icon) to the shared code
2560         (WebCore::EventHandler::autoscrollTimerFired): Specify the calls to perform for each function (autoscroll and panScroll)
2561         (WebCore::EventHandler::stopAutoscrollTimer): Specify the calls to perform for each function (autoscroll and panScroll)
2562         (WebCore::EventHandler::handleMousePressEvent): Trigger for the panScroll. Test is the button is the middle button and try to find a renderer where the panScroll is possible. If it finds one, it calls the handleAutoscroll method.
2563         * page/EventHandler.h:
2564         (WebCore::EventHandler::panScrollInProgress): Getter used by the sub frames's EventHandler to notice the main frame EventHandler
2565         (WebCore::EventHandler::setPanScrollInProgress): Setter used by the sub frames's EventHandler to notice the main frame EventHandler
2566         * platform/ScrollView.h: Added a method used by the RenderObject to test if the view can be scrolled. Added the print/remove panScroll icon methods between the windows platform flags
2567         * platform/gtk/ScrollViewGtk.cpp:
2568         (WebCore::ScrollView::isScrollable): Not implemented : returns true
2569         * platform/mac/ScrollViewMac.mm: Implemented because it was useful for the autoscroll feature.
2570         (WebCore::ScrollView::isScrollable):
2571         * platform/qt/ScrollViewQt.cpp:
2572         (WebCore::ScrollView::isScrollable): Not implemented : returns true
2573         * platform/win/ScrollViewWin.cpp:
2574         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added a boolean and an IntPoint to draw the icon.
2575         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): If the icon must be drawn, define the rect to invalidate to erase the previous icon and to display the new one.
2576         (WebCore::ScrollView::updateContents): I split this method to be able to invalidate a rect with window coordinates instead of contents coordinates. This function now converts the contents coord in window coord and calls the new updateWindowRect() method  
2577         (WebCore::ScrollView::updateWindowRect): New method which performs the work that was doing the end of the old updateContents : invalidate a rect with window coordinates
2578         (WebCore::ScrollView::isScrollable): checks is the view has scrollbars
2579         (WebCore::ScrollView::printPanScrollIcon): sets the boolean and the IntPoint for the icon. Invalidate his rect and ask for repaint.
2580         (WebCore::ScrollView::removePanScrollIcon): sets the boolean to false. Invalidate his rect and ask for repaint.
2581         (WebCore::ScrollView::paint): Modified to draw the icon if needed.
2582         * platform/wx/ScrollViewWx.cpp:
2583         (WebCore::ScrollView::isScrollable): Not implemented : returns true
2584         * rendering/RenderLayer.cpp:
2585         (WebCore::RenderLayer::panScrollFromPoint): Receives the Middle click location and retrieves the currentMouse position from the EventHandler. With these informations it computes the direction to scroll to and the speed then calls for the final scroll.
2586         * rendering/RenderLayer.h:
2587         * rendering/RenderListBox.cpp: Adapt the panScroll to the ListBox object to scroll by lines instead of pixels
2588         (WebCore::RenderListBox::panScroll):
2589         (WebCore::RenderListBox::scrollToward):
2590         (WebCore::RenderListBox::autoscroll):
2591         * rendering/RenderListBox.h:
2592         (WebCore::RenderListBox::shouldPanScroll):
2593         * rendering/RenderObject.cpp: 
2594         (WebCore::RenderObject::shouldAutoscroll): Improved the verification to avoid triggering the autoscroll/panScroll when the root object can't scroll
2595         (WebCore::RenderObject::panScroll): Calls the RenderLayer's panScrollFromPoint() method
2596         * rendering/RenderObject.h:
2597         (WebCore::RenderObject::stopPanScroll): 
2598
2599 2008-07-09  Dean Jackson  <dino@apple.com>
2600
2601         Rename CSSTransformValue to WebKitCSSTransformValue as it is non-standard for
2602         the moment. Also, WebKitCSSTransformValue is a CSSValueList (comma sep)
2603         https://bugs.webkit.org/show_bug.cgi?id=19861
2604
2605         Reviewed by Hyatt
2606
2607         * css/CSSParser.cpp:
2608         * css/CSSStyleSelector.cpp:
2609         * css/CSSTransformValue.cpp: Removed.
2610         * css/CSSTransformValue.h: Removed.
2611         * css/CSSValueList.h:
2612         * css/WebKitCSSTransformValue.cpp: Added.
2613         * css/WebKitCSSTransformValue.h: Added.
2614
2615         * GNUmakefile.am:
2616         * WebCore.order:
2617         * WebCore.pro:
2618         * WebCore.vcproj/WebCore.vcproj:
2619         * WebCore.xcodeproj/project.pbxproj:
2620         * WebCoreSources.bkl:
2621             updated for new file names
2622         
2623
2624 2008-07-09  David Hyatt  <hyatt@apple.com>
2625
2626         Switch transitions back to a "destination" model as far as choosing which transitions should apply on a style
2627         change.  Preserve the behavior of allowing stale transitions (in the absence of property changes) to run to
2628         completion.
2629
2630         Reviewed by Dean
2631
2632         * manual-tests/transitions.html:
2633         * manual-tests/transitions2.html:
2634         * page/AnimationController.cpp:
2635         (WebCore::ImplicitAnimation::reset):
2636         (WebCore::CompositeImplicitAnimation::animate):
2637         (WebCore::AnimationControllerPrivate::get):
2638         (WebCore::AnimationController::updateImplicitAnimations):
2639
2640 2008-07-09  Michelangelo De Simone  <m.des@mac.com>
2641
2642         Reviewed by Adele.
2643
2644         Added the virtual function Node::isTextControl() in order to simplify text field and textarea checks.
2645
2646         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2647         Clean up in PseudoReadOnly and PseudoReadWrite cases removing unnecessary checks and casts in favor of the sole isTextControl() check.
2648         * dom/Node.h: Added base isTextControl().
2649         * html/HTMLInputElement.h: Added isTextControl() which wraps HTMLInputElement::isTextField().
2650         * html/HTMLTextAreaElement.h: Added isTextControl().
2651
2652 2008-07-09  Rob Buis  <buis@kde.org>
2653
2654         Reviewed by Eric.
2655
2656         https://bugs.webkit.org/show_bug.cgi?id=15431
2657         SVGRenderStyle should store pre-modified resource URIs
2658
2659         Store pre-modified resource URIs to decrease string
2660         operations during layout/rendering.
2661
2662         * css/SVGCSSStyleSelector.cpp:
2663         (WebCore::CSSStyleSelector::applySVGProperty):
2664         * rendering/RenderPath.cpp:
2665         (WebCore::RenderPath::absoluteClippedOverflowRect):
2666         (WebCore::RenderPath::drawMarkersIfNeeded):
2667         * rendering/RenderSVGContainer.cpp:
2668         (WebCore::RenderSVGContainer::selfWillPaint):
2669         (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
2670         * rendering/RenderSVGImage.cpp:
2671         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
2672         * rendering/RenderSVGRoot.cpp:
2673         (WebCore::RenderSVGRoot::paint):
2674         (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
2675         * rendering/RenderSVGText.cpp:
2676         (WebCore::RenderSVGText::absoluteClippedOverflowRect):
2677         * rendering/SVGRenderSupport.cpp:
2678         (WebCore::prepareToRenderSVGContent):
2679
2680 2008-07-09  Anders Carlsson  <andersca@apple.com>
2681
2682         Reviewed by Mitz.
2683
2684         Remove an unused instance variable.
2685
2686         * loader/DocumentLoader.h:
2687
2688 2008-07-09  Dan Bernstein  <mitz@apple.com>
2689
2690         Reviewed by Anders Carlsson.
2691
2692         - remove unused #includes
2693
2694         * dom/XMLTokenizer.cpp:
2695         * html/PreloadScanner.cpp:
2696         * loader/CachedCSSStyleSheet.cpp:
2697         * loader/CachedScript.cpp:
2698         * loader/CachedXBLDocument.cpp:
2699         * loader/CachedXSLStyleSheet.cpp:
2700         * page/mac/FrameMac.mm:
2701         * xml/XSLTProcessor.cpp:
2702
2703 2008-07-08  Geoffrey Garen  <ggaren@apple.com>
2704
2705         Reviewed by Oliver Hunt.
2706         
2707         Only artificially mark JS DOM wrappers if they have custom properties.
2708         
2709         21X speedup on http://nerget.com/jstests/dom-mandelbrot.html.
2710         
2711         No, that is not a typo.
2712
2713         * bindings/js/JSDOMBinding.cpp:
2714         (WebCore::ScriptInterpreter::markDOMNodesForDocument):
2715
2716 2008-07-08  Kevin Watters  <kevinwatters@gmail.com>
2717
2718         Reviewed by Kevin Ollivier.
2719
2720         Fix to previous patch for handling mouse up events.
2721         
2722         https://bugs.webkit.org/show_bug.cgi?id=18464
2723
2724         * platform/wx/MouseEventWx.cpp:
2725         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2726
2727 2008-07-08  Dan Bernstein  <mitz@apple.com>
2728
2729         Reviewed by Brady Eidson.
2730
2731         - initialize the Archives log channel's state
2732
2733         * platform/mac/LoggingMac.mm:
2734         (WebCore::InitializeLoggingChannelsIfNecessary):
2735
2736 2008-07-08  Kevin McCullough  <kmccullough@apple.com>
2737
2738         Added manual test for the new heavy view.
2739
2740         * manual-tests/inspector/profiler-test-heavy-view.html: Added.
2741
2742 2008-07-08  Darin Adler  <darin@apple.com>
2743
2744         Reviewed by Mitz.
2745
2746         - fix <rdar://problem/6043731> REGRESSION (3-4): RedEnvelope.com
2747           looks wrong due to OpenCube QuickMenu appVersion check
2748
2749         * page/Navigator.cpp:
2750         (WebCore::shouldHideFourDot): Add dqm_loader.js as another filename.
2751
2752 2008-07-08  Dan Bernstein  <mitz@apple.com>
2753
2754         Reviewed by John Sullivan.
2755
2756         - WebCore part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
2757
2758         Added a setting, updatesWhenOffscreen(), which controls whether an
2759         offscreen web view gets marked as needing update when its contents
2760         change (the existing behavior) or not (a new behavior), in which case it
2761         will be marked as needing update just before it goes on screen. The
2762         existing behavior (updating while offscreen) remains the default.
2763
2764         * WebCore.base.exp: Added Settings::setUpdatesWhenOffscreen().
2765         * page/FrameView.cpp:
2766         (WebCore::FrameView::shouldUpdateWhenOffscreen): Added. Returns the
2767         value from settings.
2768         * page/FrameView.h:
2769         * page/Settings.cpp:
2770         (WebCore::Settings::setUpdatesWhenOffscreen): Added.
2771         * page/Settings.h:
2772         (WebCore::Settings::updatesWhenOffscreen): Added.
2773         * platform/ScrollView.h:
2774         * platform/mac/ScrollViewMac.mm:
2775         (WebCore::ScrollView::updateContents): Added code to return early and
2776         not call -setNeedsDisplayInRect: if the view is not in a visible window
2777         and the setting is not to update when offscreen.
2778
2779 2008-07-08  Simon Hausmann  <hausmann@webkit.org>
2780
2781         Fix the build with enabled SVG filters.
2782
2783         * svg/SVGFESpecularLightingElement.cpp: The last argument to
2784         ANIMATED_PROPERTY_DEFINITIONS has to be full class name, including
2785         the attr suffix.
2786
2787 2008-07-07  Sam Weinig  <sam@webkit.org>
2788
2789         Reviewed by Anders Carlsson.
2790
2791         Remove extraneous null check.
2792
2793         * dom/Node.cpp:
2794         (WebCore::Node::querySelector):
2795         (WebCore::Node::querySelectorAll):
2796
2797 2008-07-07  Sam Weinig  <sam@webkit.org>
2798
2799         Reviewed by Anders Carlsson.
2800
2801         Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
2802         Use of CSS3 Namespaces syntax in Selectors API should throw an exception
2803
2804         - Throw an NAMESPACE_ERR exception if a non-null or "*" namespace is
2805           used in a selector passed to querySelector or querySelectorAll.
2806
2807         Test: fast/dom/SelectorAPI/not-supported-namespace-in-selector.html
2808
2809         * dom/Node.cpp:
2810         (WebCore::selectorNeedsNamespaceResolution):
2811         (WebCore::Node::querySelector):
2812         (WebCore::Node::querySelectorAll):
2813
2814 2008-07-07  Simon Fraser  <simon.fraser@apple.com>
2815
2816         Reviewed by Darin.
2817
2818         Fix for https://bugs.webkit.org/show_bug.cgi?id=19933
2819         nodeIterator with filter fails on documents not in a frame
2820
2821         Tests: traversal/node-iterator-009.html
2822                traversal/tree-walker-006.html
2823
2824         * bindings/js/JSNodeFilterCondition.cpp:
2825         * bindings/js/JSNodeFilterCondition.h:
2826         * bindings/js/JSNodeFilterCustom.cpp:
2827         * bindings/js/JSNodeIteratorCustom.cpp:
2828         * bindings/js/JSTreeWalkerCustom.cpp:
2829         * bindings/objc/DOM.mm:
2830         * dom/NodeFilter.cpp:
2831         * dom/NodeFilter.h:
2832         * dom/NodeFilterCondition.cpp:
2833         * dom/NodeFilterCondition.h:
2834         * dom/NodeIterator.cpp:
2835         * dom/NodeIterator.h:
2836         * dom/Traversal.cpp:
2837         * dom/Traversal.h:
2838         * dom/TreeWalker.cpp:
2839         * dom/TreeWalker.h:
2840
2841 2008-07-07  Adele Peterson  <adele@apple.com>
2842
2843         Reviewed by Dan Bernstein.
2844
2845         Fix for https://bugs.webkit.org/show_bug.cgi?id=19924
2846         <rdar://problem/6057160> Disabled file input element updates its displayed file info when a file is dropped from the Finder.
2847
2848         * page/DragController.cpp: (WebCore::DragController::concludeDrag):
2849         Check that the file control is enabled before taking dropped files.
2850
2851 2008-07-07  Adele Peterson  <adele@apple.com>
2852
2853         Reviewed by Beth.
2854
2855         Fix for <rdar://problem/5860507> <AUDIO> playback noticeably more quiet than QuickTime
2856
2857         Change default volume setting to 1.0.
2858
2859         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement):
2860         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer):
2861
2862 2008-07-07  Darin Adler  <darin@apple.com>
2863
2864         Reviewed by Mark Rowe.
2865
2866         - fix <rdar://problem/6020441> REGRESSION: Layers on NWA.com render ugly
2867
2868         The old version of the OpenCube QuickMenu library used on this site still has code
2869         that detects Netscape 4 by checking appVersion to see if it has the substring "4."
2870         in it. We decided to special-case the filename of the script and tweak the appVersion
2871         for files with that name.
2872
2873         * bindings/js/ScriptController.cpp:
2874         (WebCore::ScriptController::ScriptController): Replace m_processingInlineCode with
2875         m_sourceURL. Use false instead of 0 to initialize a boolean.
2876         (WebCore::ScriptController::evaluate): Call argument sourceURL, not filename.
2877         Store current sourceURL in m_sourceURL. This fixes a mistake in the code that
2878         maintained the value of m_processingInlineCode, since the old code set it to
2879         false rather than restoring it. Renamed a local variable named sourceURL to
2880         exceptionSourceURL for clarity.
2881         (WebCore::ScriptController::processingUserGesture): Code that formerly used
2882         m_processingInlineCode to detect that it was evaluating code with no URL now
2883         uses m_sourceURL to do the same check.
2884
2885         * bindings/js/ScriptController.h: Renamed filename argument to sourceURL; it has always
2886         been a URL, not a file path. Added a public sourceURL function and m_sourceURL and
2887         removed m_processingInlineCode.
2888
2889         * page/Navigator.cpp:
2890         (WebCore::shouldHideFourDot): Added. Returns true if the currently running script has
2891         a source URL ending in "/dqm_script.js" and if the settings say we should do
2892         site-specific quirks (really JavaScript-library-specific in this case).
2893         (WebCore::Navigator::appVersion): Replace "4." with "4_" if shouldHideFourDot is true.
2894
2895 2008-07-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
2896
2897         Reviewed by Geoff.
2898
2899         Bug 19907: REGRESSION(r34824-r34941): Reproducible crash trying to log in to MediaTemple.net Account Center
2900         <https://bugs.webkit.org/show_bug.cgi?id=19907>
2901
2902         Clear exceptions set on ExecStates before returning from NPAPI
2903         callbacks, in order to avoid causing problems for the next script that
2904         executes.
2905
2906         While fixing this bug, the question was raised of whether we are
2907         correctly propagating exception information back to the caller:
2908
2909         Bug 19936: Correctly propagate exception information from NPAPI callbacks
2910         <https://bugs.webkit.org/show_bug.cgi?id=19936>
2911
2912         * bridge/NP_jsobject.cpp:
2913         (_NPN_InvokeDefault):
2914         (_NPN_Invoke):
2915         (_NPN_Evaluate):
2916         (_NPN_GetProperty):
2917         (_NPN_SetProperty):
2918         (_NPN_RemoveProperty):
2919         (_NPN_HasProperty):
2920         (_NPN_HasMethod):
2921         (_NPN_Enumerate):
2922
2923 2008-07-07  Dan Bernstein  <mitz@apple.com>
2924
2925         Reviewed by Darin Adler.
2926
2927         - fix <rdar://problem/6057650> REGRESSION (r35025): Crash beneath FontCache::invalidate() when activating Safari with no windows open
2928
2929         * css/CSSFontFaceSource.cpp:
2930         (WebCore::CSSFontFaceSource::getFontData): Added a null check because
2931         docLoader() can return 0 now.
2932         * css/CSSFontSelector.cpp:
2933         (WebCore::CSSFontSelector::docLoader): Added a null check of m_document.
2934         (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
2935         (WebCore::CSSFontSelector::fontLoaded): Ditto.
2936         (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
2937         (WebCore::fontDataForGenericFamily): Added a null check of document.
2938         * css/CSSFontSelector.h:
2939         (WebCore::CSSFontSelector::clearDocument): Added.
2940         * css/CSSStyleSelector.cpp:
2941         (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a call to
2942         CSSFontSelector::clearDocument(). When the style selector is destroyed,
2943         there is no guarantee that the document will continue to exist.
2944
2945 2008-07-07  Julien Chaffraix  <jchaffraix@webkit.org>
2946
2947         Not reviewed.
2948
2949         No svg build fix.
2950
2951         * DerivedSources.make: Add JSSVGElementWrapperFactory.cpp target.
2952         * svg/animation/SMILTimeContainer.cpp: Add ENABLE(SVG) guard.
2953
2954 2008-07-07  Michelangelo De Simone  <m.des@mac.com>
2955
2956         Reviewed by Adele.
2957
2958         Support for CSS3 :read-only and :read-write pseudoclasses for readonly text controls.
2959
2960         URL: http://www.w3.org/TR/web-forms-2/#relation
2961
2962         Tests: fast/css/readonly-pseudoclass-opera-001.html
2963                fast/css/readonly-pseudoclass-opera-002.html
2964                fast/css/readonly-pseudoclass-opera-003.html
2965                fast/css/readonly-pseudoclass-opera-004.html
2966                fast/css/readonly-pseudoclass-opera-005.html
2967
2968         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
2969         Added "read-only" and "read-write" values for PseudoType extraction.
2970         * css/CSSSelector.h: (WebCore::CSSSelector::):
2971         Added PseudoReadOnly and PseudoReadWrite entries in PseudoType enum.
2972         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2973         Checks to determine whether to match :read-only and :read-write pseudoclasses on
2974         text controls.
2975
2976 2008-07-07  Sam Weinig  <sam@webkit.org>
2977
2978         Reviewed by Geoffrey Garen.
2979
2980         Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
2981         querySelectorAll should throw an exception if a NSResolver is passed in.
2982
2983         - Throw an NOT_SUPPORTED_ERR if a non-null or undefined parameter is passed
2984           as the second argument to querySelector or querySelectorAll.
2985
2986         Test: fast/dom/SelectorAPI/not-supported-NSResolver.html
2987
2988         * bindings/js/JSDocumentCustom.cpp:
2989         (WebCore::JSDocument::querySelector):
2990         (WebCore::JSDocument::querySelectorAll):
2991         * bindings/js/JSElementCustom.cpp:
2992         (WebCore::JSElement::querySelector):
2993         (WebCore::JSElement::querySelectorAll):
2994         * dom/Document.idl:
2995         * dom/Element.idl:
2996
2997 2008-07-07  Brady Eidson  <beidson@apple.com>
2998
2999         Reviewed by Mitz and Geoff
3000
3001         Test: fast/loader/empty-ref-versus-no-ref.html
3002
3003         Fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760>
3004         "all DOM operations stop working when location.hash set to '#'"
3005
3006         The underlying problem is that KURL didn't really know the difference between "empty ref"
3007         and "no ref at all" when changing the ref.  So changing to the empty ref in JS ended up 
3008         affecting removal of the ref, which ended up causing an infinite load load, also killing
3009         javascript.
3010
3011         * platform/KURL.cpp:
3012         (WebCore::KURL::setRef):  Changed "isEmpty()" to "isNull()", since NULL has the special 
3013           meaning of "no ref at all" while empty means "empty ref"
3014
3015 2008-07-07  Kevin McCullough  <kmccullough@apple.com>
3016
3017         Reviewed by Darin.
3018
3019         Because profiler.h no longer #includes profile.h we need to explicitly
3020         include it in console.cpp.
3021
3022         * page/Console.cpp:
3023
3024 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
3025
3026         Not reviewed. Build fix.
3027
3028         Fix --svg-filters build (affects Qt build, mac/win don't have it on by default)
3029
3030         * svg/SVGFEColorMatrixElement.cpp:
3031         * svg/SVGFEDiffuseLightingElement.cpp:
3032         * svg/SVGFEImageElement.cpp:
3033         * svg/SVGFELightElement.cpp:
3034         * svg/SVGFESpecularLightingElement.cpp:
3035
3036 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
3037
3038         Reviewed by Antti.
3039
3040         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
3041
3042         Revised version of the patch, not using pointer-to-member function callbacks anymore - after discussion with Adam Roben.
3043         Remove unneccessary parameters of all macros.
3044
3045         SVG Errata states: "All SVG DOM objects that directly correspond to an
3046         attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
3047         means that any changes made to the attribute are immediately reflected in the
3048         corresponding SVG DOM object." (see linked URL on bug report)
3049
3050         Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
3051         element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
3052
3053         Add a new synchronization layer to handle SVG DOM -> XML changes.
3054
3055         Added test: svg/custom/svg-xml-dom-sync.html
3056         Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
3057
3058         * dom/Element.cpp:
3059         (WebCore::Element::Element): Initialize the two new bits.
3060         (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
3061         (WebCore::Element::getAttribute): Ditto.
3062         (WebCore::Element::hasAttributes): Ditto.
3063         * dom/Element.h: Add two bits: m_areSVGAttributesValid/m_synchronizingSVGAttributes, to track synchronization status.
3064         (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
3065         * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
3066         * svg/SVGAElement.cpp:
3067         * svg/SVGAElement.h:
3068         * svg/SVGAnimatedTemplate.h:
3069         (WebCore::lookupOrCreateWrapper): Take new AnimatedPropertySynchronizer callback as parameter, and associate it with the wrappers.
3070         * svg/SVGCircleElement.cpp:
3071         (WebCore::SVGCircleElement::SVGCircleElement):
3072         * svg/SVGCircleElement.h:
3073         * svg/SVGClipPathElement.cpp:
3074         * svg/SVGClipPathElement.h:
3075         * svg/SVGComponentTransferFunctionElement.cpp:
3076         * svg/SVGComponentTransferFunctionElement.h:
3077         * svg/SVGCursorElement.cpp:
3078         (WebCore::SVGCursorElement::SVGCursorElement):
3079         * svg/SVGCursorElement.h:
3080         * svg/SVGElement.cpp:
3081         (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
3082         (WebCore::SVGElement::setSynchronizedSVGAttributes):
3083         * svg/SVGElement.h:
3084         (WebCore::SVGElement::invokeSVGPropertySynchronizer):
3085         (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
3086         (WebCore::SVGElement::addSVGPropertySynchronizer):
3087         * svg/SVGEllipseElement.cpp:
3088         * svg/SVGEllipseElement.h:
3089         * svg/SVGExternalResourcesRequired.cpp:
3090         * svg/SVGExternalResourcesRequired.h:
3091         * svg/SVGFEBlendElement.cpp:
3092         * svg/SVGFEBlendElement.h:
3093         * svg/SVGFEColorMatrixElement.cpp:
3094         * svg/SVGFEColorMatrixElement.h:
3095         * svg/SVGFEComponentTransferElement.cpp:
3096         * svg/SVGFEComponentTransferElement.h:
3097         * svg/SVGFECompositeElement.cpp:
3098         * svg/SVGFECompositeElement.h:
3099         * svg/SVGFEDiffuseLightingElement.cpp:
3100         * svg/SVGFEDiffuseLightingElement.h:
3101         * svg/SVGFEDisplacementMapElement.cpp:
3102         * svg/SVGFEDisplacementMapElement.h:
3103         * svg/SVGFEGaussianBlurElement.cpp:
3104         * svg/SVGFEGaussianBlurElement.h:
3105         * svg/SVGFEImageElement.cpp:
3106         * svg/SVGFEImageElement.h:
3107         * svg/SVGFELightElement.cpp:
3108         * svg/SVGFELightElement.h:
3109         * svg/SVGFEMergeNodeElement.cpp:
3110         * svg/SVGFEMergeNodeElement.h:
3111         * svg/SVGFEOffsetElement.cpp:
3112         * svg/SVGFEOffsetElement.h:
3113         * svg/SVGFESpecularLightingElement.cpp:
3114         * svg/SVGFESpecularLightingElement.h:
3115         * svg/SVGFETileElement.cpp:
3116         * svg/SVGFETileElement.h:
3117         * svg/SVGFETurbulenceElement.cpp:
3118         * svg/SVGFETurbulenceElement.h:
3119         * svg/SVGFilterElement.cpp:
3120         * svg/SVGFilterElement.h:
3121         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3122         * svg/SVGFilterPrimitiveStandardAttributes.h:
3123         * svg/SVGFitToViewBox.cpp:
3124         * svg/SVGFitToViewBox.h:
3125         * svg/SVGForeignObjectElement.cpp:
3126         * svg/SVGForeignObjectElement.h:
3127         * svg/SVGGradientElement.cpp:
3128         * svg/SVGGradientElement.h:
3129         * svg/SVGImageElement.cpp:
3130         * svg/SVGImageElement.h:
3131         * svg/SVGLineElement.cpp:
3132         * svg/SVGLineElement.h:
3133         * svg/SVGLinearGradientElement.cpp:
3134         * svg/SVGLinearGradientElement.h:
3135         * svg/SVGMarkerElement.cpp:
3136         * svg/SVGMarkerElement.h:
3137         * svg/SVGMaskElement.cpp:
3138         * svg/SVGMaskElement.h:
3139         * svg/SVGPathElement.cpp:
3140         * svg/SVGPathElement.h:
3141         * svg/SVGPatternElement.cpp:
3142         * svg/SVGPatternElement.h:
3143         * svg/SVGRadialGradientElement.cpp:
3144         * svg/SVGRadialGradientElement.h:
3145         * svg/SVGRectElement.cpp:
3146         * svg/SVGRectElement.h:
3147         * svg/SVGSVGElement.cpp:
3148         * svg/SVGSVGElement.h:
3149         * svg/SVGScriptElement.h:
3150         * svg/SVGStopElement.cpp:
3151         * svg/SVGStopElement.h:
3152         * svg/SVGStyledElement.cpp:
3153         * svg/SVGStyledElement.h:
3154         * svg/SVGStyledTransformableElement.cpp:
3155         * svg/SVGStyledTransformableElement.h:
3156         * svg/SVGSymbolElement.h:
3157         * svg/SVGTextContentElement.cpp:
3158         * svg/SVGTextContentElement.h:
3159         * svg/SVGTextElement.cpp:
3160         * svg/SVGTextElement.h:
3161         * svg/SVGTextPathElement.cpp:
3162         * svg/SVGTextPathElement.h:
3163         * svg/SVGTextPositioningElement.cpp:
3164         * svg/SVGTextPositioningElement.h:
3165         * svg/SVGURIReference.cpp:
3166         * svg/SVGURIReference.h:
3167         * svg/SVGUseElement.cpp:
3168         * svg/SVGUseElement.h:
3169         * svg/SVGViewElement.h:
3170         * svg/SynchronizableTypeWrapper.h: Added.
3171
3172 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
3173
3174         Reviewed by Oliver.
3175
3176         Working on: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
3177
3178         Splitting up large patch in small chunk: Land valueAsString() implementation on it's own.
3179
3180         Added valueAsString() conversion for all SVG primitive types, needed by the SVG<->XML synchronization layer.
3181         Unify "null value for a SVG animated type" concept, which was implemented in SVGDocumentExtensions before,
3182         in SVGAnimatedTemplate.
3183
3184         * svg/SVGAnimatedTemplate.h:
3185         (WebCore::SVGAnimatedTemplate::associatedAttributeName):
3186         (WebCore::lookupOrCreateWrapper):
3187         (WebCore::SVGAnimatedTypeValue::null):
3188         (WebCore::SVGAnimatedTypeValue::toString):
3189         (WebCore::):
3190         * svg/SVGDocumentExtensions.h:
3191         (WebCore::SVGDocumentExtensions::baseValue):
3192         * svg/SVGLengthList.cpp:
3193         (WebCore::SVGLengthList::valueAsString):
3194         * svg/SVGLengthList.h:
3195         * svg/SVGNumberList.cpp:
3196         (WebCore::SVGNumberList::valueAsString):
3197         * svg/SVGNumberList.h:
3198         * svg/SVGPreserveAspectRatio.cpp:
3199         (WebCore::SVGPreserveAspectRatio::valueAsString):
3200         * svg/SVGPreserveAspectRatio.h:
3201         * svg/SVGTransformList.cpp:
3202         (SVGTransformList::valueAsString):
3203         * svg/SVGTransformList.h:
3204
3205 2008-07-06  Sam Weinig  <sam@webkit.org>
3206
3207         Reviewed by Dan Bernstein.
3208
3209         Rename "Access-Contol-Origin" to "Origin" to match the latest
3210         Access Control for Cross-Site Request draft. (Editor's Draft 25 May 2008)
3211
3212         * xml/XMLHttpRequest.cpp:
3213         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
3214         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
3215         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
3216
3217 2008-07-06  Dan Bernstein  <mitz@apple.com>
3218
3219         - try to fix the Windows build
3220
3221         * WebCore.vcproj/WebCore.vcproj:
3222
3223 2008-07-06  Dan Bernstein  <mitz@apple.com>
3224
3225         - add missing brace
3226
3227         * platform/graphics/qt/FontCacheQt.cpp:
3228
3229 2008-07-06  Dan Bernstein  <mitz@apple.com>
3230
3231         - try to fix the Qt build
3232
3233         * platform/graphics/qt/FontCacheQt.cpp:
3234         (WebCore::FontCache::addClient):
3235         (WebCore::FontCache::removeClient):
3236
3237 2008-07-06  Sam Weinig  <sam@webkit.org>
3238
3239         Reviewed by Cameron Zwarich.
3240
3241         Add #include for kjs/protect.h.
3242
3243         * xml/XMLHttpRequest.cpp:
3244         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
3245
3246 2008-07-06  David Kilzer  <ddkilzer@apple.com>
3247
3248         Save a few more bits in RenderStyle
3249
3250         Reviewed by Darin.
3251
3252         No test cases added since there is no change in behavior.
3253
3254         This changes WebCore::StyleMarqueeData from using 6 bits to 5 bits,
3255         WebCore::RenderStyle::inherited_flags from using 36 bits to 35 bits,
3256         and WebCore::RenderStyle::noninherited_flags from using 49 bits to
3257         47 bits.
3258
3259         * rendering/style/RenderStyle.h:
3260         (WebCore::StyleMarqueeData::behavior): Reduce from 3 bits to 2 bits
3261         since EMarqueeBehavior has 4 items.
3262         (WebCore::RenderStyle::inherited_flags._text_align): Reduce from
3263         4 bits to 3 bits since ETextAlign has 8 items.
3264         (WebCore::RenderStyle::noninherited_flags._overflowX): Reduce from
3265         4 bits to 3 bits since EOverflow has 6 items.
3266         (WebCore::RenderStyle::noninherited_flags._overflowY): Ditto.
3267
3268 2008-07-06  Dan Bernstein  <mitz@apple.com>
3269
3270         Reviewed by Darin Adler.
3271
3272         - fix <rdar://problem/5735163> WebCore caching makes text look wrong after font changes; need to respond appropriately instead
3273
3274         * css/CSSFontSelector.cpp:
3275         (WebCore::CSSFontSelector::CSSFontSelector): Added a call to
3276         FontCache::addClient().
3277         (WebCore::CSSFontSelector::~CSSFontSelector): Added a call to
3278         FontCache::removeClient().
3279         (WebCore::CSSFontSelector::fontCacheInvalidated): Added. Called by the
3280         font cache when it is invalidated, and ensures that the document is
3281         updated.
3282
3283         * css/CSSFontSelector.h:
3284
3285         * platform/graphics/Font.cpp:
3286         (WebCore::Font::operator==): Added code to compare the font fallback
3287         lists' font cache generations.
3288
3289         * platform/graphics/FontCache.cpp:
3290         (WebCore::FontCache::addClient): Added.
3291         (WebCore::FontCache::removeClient): Added.
3292         (WebCore::FontCache::generation): Added.
3293         (WebCore::FontCache::invalidate): Added. Deletes the platform data
3294         cache, increments the generation counter, and notifies all clients.
3295
3296         * platform/graphics/FontCache.h:
3297
3298         * platform/graphics/FontFallbackList.cpp:
3299         (WebCore::FontFallbackList::FontFallbackList): Added initialization of
3300         m_generation.
3301         (WebCore::FontFallbackList::invalidate): Added code to reset
3302         m_generation.
3303         (WebCore::FontFallbackList::fontDataAt): Added an assertion.
3304         (WebCore::FontFallbackList::fontDataForCharacters): Ditto.
3305         (WebCore::FontFallbackList::setPlatformFont): Ditto.
3306
3307         * platform/graphics/FontFallbackList.h:
3308         (WebCore::FontFallbackList::generation): Added. Returns the font cache
3309         generation used to populate the list.
3310
3311         * platform/graphics/FontSelector.h:
3312         (WebCore::FontSelector::fontCacheInvalidated): Added.
3313
3314         * platform/graphics/mac/FontCacheMac.mm:
3315         (WebCore::fontCacheATSNotificationCallback): Added. Calls
3316         FontCache::invalidate().
3317         (WebCore::FontCache::platformInit): Added code to register for ATS
3318         notifications.
3319
3320         * svg/SVGFontFaceElement.cpp: Removed unneeded #inlcudes.
3321
3322 2008-07-05  Sam Weinig  <sam@webkit.org>
3323
3324         Rubber-stamped by Cameron Zwarich.
3325
3326         Rename list.h/cpp to ArgList.h/cpp.
3327
3328         * ForwardingHeaders/kjs/ArgList.h: Copied from WebCore/ForwardingHeaders/kjs/list.h.
3329         * ForwardingHeaders/kjs/list.h: Removed.
3330         * WebCore.vcproj/WebCore.vcproj:
3331         * bridge/qt/qt_instance.cpp:
3332         * page/Console.cpp:
3333
3334 2008-07-05  Sam Weinig  <sam@webkit.org>
3335
3336         Rubber-stamped by Cameron Zwarich.
3337
3338         Split Arguments, IndexToNameMap, PrototypeFunction, GlobalEvalFunction and 
3339         the functions on the global object out of JSFunction.h/cpp.
3340
3341         * ForwardingHeaders/kjs/PrototypeFunction.h: Added.
3342         * bindings/js/JSDOMBinding.cpp:
3343
3344 2008-07-05  Dan Bernstein  <mitz@apple.com>
3345
3346         Rubber-stamped by Sam Weinig.
3347
3348         - rename BidiIterator and BidiState
3349
3350         Renamed BidiIterator to InlineIterator and BidiState
3351         to InlineBidiResolver. Renamed variables of type InlineBidiResolver{*,&}
3352         to "resolver".
3353
3354         * rendering/RenderBlock.h:
3355         * rendering/RootInlineBox.h:
3356         * rendering/bidi.cpp:
3357         (WebCore::InlineIterator::InlineIterator):
3358         (WebCore::operator==):
3359         (WebCore::operator!=):
3360         (WebCore::bidiNext):
3361         (WebCore::bidiFirst):
3362         (WebCore::InlineIterator::increment):
3363         (WebCore::InlineBidiResolver::increment):
3364         (WebCore::InlineIterator::atEnd):
3365         (WebCore::InlineIterator::current):
3366         (WebCore::InlineIterator::direction):
3367         (WebCore::chopMidpointsAt):
3368         (WebCore::checkMidpoints):
3369         (WebCore::addMidpoint):
3370         (WebCore::appendRunsForObject):
3371         (WebCore::InlineBidiResolver::appendRun):
3372         (WebCore::RenderBlock::bidiReorderLine):
3373         (WebCore::buildCompactRuns):
3374         (WebCore::RenderBlock::layoutInlineChildren):
3375         (WebCore::RenderBlock::determineStartPosition):
3376         (WebCore::RenderBlock::determineEndPosition):
3377         (WebCore::RenderBlock::matchedEndLine):
3378         (WebCore::skipNonBreakingSpace):
3379         (WebCore::requiresLineBox):
3380         (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
3381         (WebCore::RenderBlock::skipWhitespace):
3382         (WebCore::shouldSkipWhitespaceAfterStartObject):
3383         (WebCore::RenderBlock::findNextLineBreak):
3384
3385 2008-07-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
3386
3387         Rubber-stamped by Oliver Hunt
3388
3389         Coding style fix
3390
3391         * html/CanvasRenderingContext2D.cpp: Indentation fix
3392
3393 2008-07-04  Oliver Hunt  <oliver@apple.com>
3394
3395         Fix windows build
3396
3397         * WebCore.vcproj/WebCore.vcproj:
3398
3399 2008-07-04  Sam Weinig  <sam@webkit.org>
3400
3401         Fix Qt build.
3402
3403         * bridge/qt/qt_instance.cpp:
3404
3405 2008-07-04  Sam Weinig  <sam@webkit.org>
3406
3407         Rubber-stamped by Dan Bernstein.
3408
3409         Split Error and GetterSetter out of JSObject.h.
3410
3411         * ForwardingHeaders/kjs/Error.h: Added.
3412         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3413         * bindings/js/JSClipboardCustom.cpp:
3414         * bindings/js/JSDOMWindowBase.cpp:
3415         * bindings/js/JSEventTargetBase.cpp:
3416         * bindings/js/JSHTMLDocumentCustom.cpp:
3417         * bindings/js/JSXMLHttpRequestCustom.cpp:
3418         * bindings/scripts/CodeGeneratorJS.pm:
3419         * bridge/NP_jsobject.cpp:
3420         * bridge/jni/jni_instance.cpp:
3421         * bridge/jni/jni_runtime.cpp:
3422         * bridge/objc/objc_instance.mm:
3423         * bridge/objc/objc_runtime.mm:
3424         * bridge/objc/objc_utility.h:
3425         * bridge/runtime_array.cpp:
3426         * bridge/runtime_method.cpp:
3427         * bridge/runtime_object.cpp:
3428
3429 2008-07-04  David D. Kilzer  <ddkilzer@webkit.org>
3430
3431         Bug 15290: REGRESSION (r14184-r14216): Duplicate DOCTYPE definitions when saving files as webarchives
3432
3433         <https://bugs.webkit.org/show_bug.cgi?id=15290>
3434         <rdar://problem/5509173>
3435
3436         Reviewed by Dan Bernstein.
3437
3438         Tests: webarchive/archive-empty-frame-dom.html
3439                webarchive/doctype.html
3440
3441         * editing/markup.cpp:
3442         (WebCore::createFullMarkup): If the Node is a Document or a
3443         DocumentType, don't prepend the <!DOCTYPE> tag since that will
3444         cause it to be duplicated.
3445         * loader/archive/cf/LegacyWebArchive.cpp:
3446         (WebCore::LegacyWebArchive::create): Ditto.
3447
3448 2008-07-04  Jan Michael Alonzo  <jmalonzo@webkit.org>
3449
3450         Gtk build fix
3451
3452         * GNUmakefile.am:
3453
3454 2008-07-04  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
3455
3456         Reviewed by Eric Seidel.
3457
3458         Bring our implementation of the Netscape plugin API closer to current
3459         code style guidelines.
3460
3461         * bridge/NP_jsobject.cpp:
3462         (getListFromVariantArgs):
3463         (jsAllocate):
3464         (jsDeallocate):
3465         (_NPN_CreateScriptObject):
3466         (_NPN_CreateNoScriptObject):
3467         (_NPN_InvokeDefault):
3468         (_NPN_Invoke):
3469         (_NPN_Evaluate):
3470         (_NPN_GetProperty):
3471         (_NPN_SetProperty):
3472         (_NPN_RemoveProperty):
3473         (_NPN_HasProperty):
3474         (_NPN_HasMethod):
3475         (_NPN_Enumerate):
3476         * bridge/npruntime_impl.h:
3477
3478 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
3479
3480         Fix the Qt/Windows build.
3481
3482         * WebCore.pro: Moved PluginMainThreadScheduler.cpp to the main
3483         sources, so that it is always compiled.
3484         * platform/qt/CursorQt.cpp: #undef CopyCursor, as it's defined by some
3485         Windows header.
3486         * platform/qt/KeyboardCodes.h: Don't re-define some of the keycodes
3487         that are defined by Windows already.
3488         * platform/qt/TemporaryLinkStubs.cpp: Removed the PluginDatabase stubs
3489         that are now platform-independent in plugin/PluginDatabase.cpp.
3490
3491 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
3492
3493         Fix the Mac build for real, don't define listDirectory() twice.
3494
3495         * platform/mac/FileSystemMac.mm:
3496
3497 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
3498
3499         Prospective Mac build fix.
3500
3501         * platform/mac/FileSystemMac.mm: Include NotImplemented.h.
3502         * platform/posix/FileSystemPOSIX.cpp: Ditto.
3503
3504 2008-07-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
3505
3506         Reviewed by Simon.
3507
3508         Move duplicated code from each PluginDatabaseXX-implementation
3509         to PluginDabase.cpp -- ifdefed based on the XP_PLATFORM we are
3510         compiling plugins for.
3511
3512         This make the code cleaner and we can share common patterns.
3513         The only implementation left which is specific is the Win
3514         implementation (also used by QtWebKit/Win), but we might
3515         want to move that too.
3516
3517         * GNUmakefile.am: Removed PluginDatabaseGtk.cpp from the build.
3518         * WebCore.pro: Removed PluginDatabaseQt.cpp from the build.
3519         * plugins/PluginDatabase.cpp:
3520         (WebCore::PluginDatabase::defaultPluginDirectories):
3521         (WebCore::PluginDatabase::isPreferredPluginDirectory):
3522         (WebCore::PluginDatabase::getPluginPathsInDirectories):
3523         * plugins/gtk/PluginDatabaseGtk.cpp: Removed.
3524         * plugins/qt/PluginDatabaseQt.cpp: Removed.
3525         * plugins/wx/PluginDatabaseWx.cpp: Removed.
3526         * webcore-wx.bkl: Removed PluginDatabaseWx.cpp from the build.
3527
3528 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
3529
3530         Fix the Wx build.
3531
3532         * WebCoreSources.bkl: Add plugins/PluginMainThreadScheduler.cpp to the
3533         build.
3534         * page/FocusController.cpp:
3535         (WebCore::FocusController::setActive): Extend MAC #ifdef to WX as
3536         layoutIfNeededRecursive does not exist for the Wx port.
3537
3538 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
3539
3540         Fix the Gtk build, adapt to renamed files.
3541
3542         * GNUmakefile.am:
3543
3544 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
3545
3546         Fix the Qt build, adapt to renamed files.
3547
3548         * WebCore.pro:
3549
3550 2008-07-03  Oliver Hunt  <oliver@apple.com>
3551
3552         Reviewed by Eric Seidel.
3553
3554         Move filter implementations to platform directory.
3555
3556         * WebCore.vcproj/WebCore.vcproj
3557         * WebCore.xcodeproj/project.pbxproj:
3558         * svg/SVGComponentTransferFunctionElement.h:
3559         * svg/SVGFEBlendElement.h:
3560         * svg/SVGFEColorMatrixElement.h:
3561         * svg/SVGFEComponentTransferElement.h:
3562         * svg/SVGFECompositeElement.h:
3563         * platform/graphics/filters/FEBlend.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.cpp.
3564         * platform/graphics/filters/FEBlend.h: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.h.
3565         * platform/graphics/filters/FEColorMatrix.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.cpp.
3566         * platform/graphics/filters/FEColorMatrix.h: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.h.
3567         * platform/graphics/filters/FEComponentTransfer.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.cpp.
3568         * platform/graphics/filters/FEComponentTransfer.h: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.h.
3569         * platform/graphics/filters/FEComposite.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.cpp.
3570         * platform/graphics/filters/FEComposite.h: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.h.
3571
3572 2008-07-03  Alex Mathews  <possessedpenguinbob@gmail.com>
3573
3574         Reviewed by Oliver Hunt.
3575
3576         Bug 19835: WebKit needs cross-platform filter system
3577         <https://bugs.webkit.org/show_bug.cgi?id=19835>
3578
3579         More class refactoring in preparation for cross-platform filter
3580         implementation.
3581
3582         * WebCore.xcodeproj/project.pbxproj:
3583         * svg/FilterEffect.h:
3584         * svg/SVGComponentTransferFunctionElement.cpp:
3585         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
3586         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
3587         (WebCore::SVGComponentTransferFunctionElement::transferFunction):
3588         * svg/SVGComponentTransferFunctionElement.h:
3589         * svg/SVGFEColorMatrixElement.cpp:
3590         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
3591         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
3592         (WebCore::SVGFEColorMatrixElement::filterEffect):
3593         (WebCore::SVGFEColorMatrixElement::build):
3594         * svg/SVGFEColorMatrixElement.h:
3595         * svg/SVGFEComponentTransferElement.cpp:
3596         (WebCore::SVGFEComponentTransferElement::filterEffect):
3597         (WebCore::SVGFEComponentTransferElement::build):
3598         * svg/SVGFEComponentTransferElement.h:
3599         * svg/SVGFECompositeElement.cpp:
3600         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
3601         (WebCore::SVGFECompositeElement::parseMappedAttribute):
3602         (WebCore::SVGFECompositeElement::filterEffect):
3603         (WebCore::SVGFECompositeElement::build):
3604         * svg/SVGFECompositeElement.h:
3605         * svg/graphics/filters/SVGFEBlend.cpp:
3606         * svg/graphics/filters/SVGFEBlend.h:
3607         * svg/graphics/filters/SVGFEColorMatrix.cpp:
3608         (WebCore::FEColorMatrix::FEColorMatrix):
3609         (WebCore::FEColorMatrix::create):
3610         (WebCore::FEColorMatrix::type):
3611         (WebCore::FEColorMatrix::setType):
3612         (WebCore::FEColorMatrix::values):
3613         (WebCore::FEColorMatrix::setValues):
3614         (WebCore::FEColorMatrix::apply):
3615         (WebCore::FEColorMatrix::dump):
3616         * svg/graphics/filters/SVGFEColorMatrix.h:
3617         (WebCore::):
3618         * svg/graphics/filters/SVGFEComponentTransfer.cpp:
3619         (WebCore::FEComponentTransfer::FEComponentTransfer):
3620         (WebCore::FEComponentTransfer::create):
3621         (WebCore::FEComponentTransfer::redFunction):
3622         (WebCore::FEComponentTransfer::setRedFunction):
3623         (WebCore::FEComponentTransfer::greenFunction):
3624         (WebCore::FEComponentTransfer::setGreenFunction):
3625         (WebCore::FEComponentTransfer::blueFunction):
3626         (WebCore::FEComponentTransfer::setBlueFunction):
3627         (WebCore::FEComponentTransfer::alphaFunction):
3628         (WebCore::FEComponentTransfer::setAlphaFunction):
3629         (WebCore::FEComponentTransfer::apply):
3630         (WebCore::FEComponentTransfer::dump):
3631         * svg/graphics/filters/SVGFEComponentTransfer.h:
3632         (WebCore::):
3633         (WebCore::ComponentTransferFunction::ComponentTransferFunction):
3634         * svg/graphics/filters/SVGFEComposite.cpp:
3635         (WebCore::FEComposite::FEComposite):
3636         (WebCore::FEComposite::create):
3637         (WebCore::FEComposite::operation):
3638         (WebCore::FEComposite::setOperation):
3639         (WebCore::FEComposite::k1):
3640         (WebCore::FEComposite::setK1):
3641         (WebCore::FEComposite::k2):
3642         (WebCore::FEComposite::setK2):
3643         (WebCore::FEComposite::k3):
3644         (WebCore::FEComposite::setK3):
3645         (WebCore::FEComposite::k4):
3646         (WebCore::FEComposite::setK4):
3647         (WebCore::FEComposite::apply):
3648         (WebCore::FEComposite::dump):
3649         * svg/graphics/filters/SVGFEComposite.h:
3650         (WebCore::):
3651         * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm: Removed.
3652         * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm: Removed.
3653         * svg/graphics/filters/cg/SVGFECompositeCg.mm: Removed.
3654
3655 2008-07-03  Dan Bernstein  <mitz@apple.com>
3656
3657         Reviewed by John Sullivan.
3658
3659         - fix <rdar://problem/6020930> Bidi Problem When Resizing Window
3660
3661         Test: fast/text/international/bidi-AN-after-empty-run.html
3662
3663         * platform/text/BidiResolver.h:
3664         (WebCore::::appendRun): Changed to reset the current direction and
3665         "end of run" direction even in the empty run case.
3666         * rendering/bidi.cpp:
3667         (WebCore::BidiState::appendRun): Ditto.
3668
3669 2008-07-02  Jon Honeycutt  <jhoneycutt@apple.com>
3670
3671         <rdar://5983747> Safari crashes trying to load the SilverLight plugin
3672
3673         If a plug-in returned an error code from NPP_NewStream, we would call
3674         NPP_DestroyStream while cleaning up the request. We now only call
3675         NPP_DestroyStream if NPP_NewStream was successful, matching Firefox.
3676
3677         Reviewed by Anders.
3678
3679         * plugins/PluginStream.cpp:
3680         (WebCore::PluginStream::startStream): If NPP_NewStream returns an error,
3681         don't set m_streamState to StreamStarted, and return after calling
3682         cancelAndDestroyStream.
3683         (WebCore::PluginStream::destroyStream): Don't call NPP_DestroyStream if
3684         the stream didn't start successfully.
3685
3686 2008-07-03  David Hyatt  <hyatt@apple.com>
3687
3688         Revise Dan's fix for an assert on Windows, since layoutIfNeededRecursive doesn't exist on the
3689         Mac.  Revert updateControlTints and add the layout call outside of it in the already-existing
3690         !PLATFORM(MAC) ifdef in FocusController's setActive method.
3691
3692         Reviewed by ggaren, weinig
3693
3694         * page/FocusController.cpp:
3695         (WebCore::FocusController::setActive):
3696         * page/FrameView.cpp:
3697         (WebCore::FrameView::updateControlTints):
3698
3699 2008-07-03  Alexey Proskuryakov  <ap@webkit.org>
3700
3701         Reviewed by Darin.
3702
3703         https://bugs.webkit.org/show_bug.cgi?id=19884
3704         Locating a store at www.366.ru doesn't work
3705
3706         Test: fast/forms/submit-with-base.html
3707
3708         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Treat empty action the same
3709         as missing one - ignore base URL.
3710
3711 2008-07-03  Dan Bernstein  <mitz@apple.com>
3712
3713         Reviewed by John Sullivan.
3714
3715         - fix <rdar://problem/6048904> Assert in WebCore::Frame::paint in Windows
3716
3717         * page/FrameView.cpp:
3718         (WebCore::FrameView::updateControlTints): Changed to update layout
3719         recursively and not just for the top-level frame.
3720
3721 2008-07-03  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
3722
3723         Reviewed by Geoff.
3724
3725         Bug 19853: REGRESSION (r34838): Crash when visiting http://www.thewebsiteisdown.com/salesguy.html
3726         https://bugs.webkit.org/show_bug.cgi?id=19853
3727
3728         Remove the body of _NPN_SetException(), because it was simply calling
3729         throwError(), which sets an exception on an ExecState but does not
3730         actually handle it. The presence of an exception on the global ExecState
3731         causes assertions that there is no exception set on that ExecState to
3732         fail, as well as causing Machine::execute() to mistakingly return 0 in
3733         some cases, as it assumes the presence of an exception implies that it
3734         has run out of memory.
3735
3736         * bridge/NP_jsobject.cpp:
3737         (_NPN_SetException):
3738
3739 2008-07-03  Maciej Katafiasz  <mathrick@gmail.com>
3740
3741         Gtk build fix with SVG filters enabled
3742
3743         * GNUmakefile.am: Include missing SVG filter sources
3744
3745 2008-07-03  Simon Hausmann  <hausmann@webkit.org>
3746
3747         Fix the Qt build, added FilterEffect to the build.
3748
3749         * WebCore.pro:
3750
3751 2008-07-02  Brady Eidson  <beidson@apple.com>
3752
3753         Reviewed by Mitz Pettel and John Sullivan
3754
3755         Fix for <rdar://problem/5549871> - Crash when calling [WebView stopLoading:] or [WebFrame stopLoading] 
3756         inside of the frame load delegate method -webView:didStartProvisionalLoadForFrame:.
3757
3758         Test: fast/loader/stop-provisional-loads.html
3759
3760         * loader/FrameLoader.cpp:
3761         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Since the provisionalDocumentLoader may have been cleared
3762           by the prepareForLoadStart() call, null check it again.
3763
3764 2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
3765
3766         Reviewed by Oliver Hunt.
3767
3768         Renaming of class SVGFEBlend to FEBlend as well as removing
3769         a little bit of antiquated code. This includes the removal of
3770         SVGFEBlendCg.mm; the feBlend element will now no longer
3771         render. 
3772
3773         * WebCore.xcodeproj/project.pbxproj:
3774         * svg/FilterBuilder.h:
3775         (WebCore::FilterBuilder::add):
3776         (WebCore::FilterBuilder::getEffectById):
3777         * svg/SVGFEBlendElement.cpp:
3778         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
3779         (WebCore::SVGFEBlendElement::parseMappedAttribute):
3780         (WebCore::SVGFEBlendElement::filterEffect):
3781         (WebCore::SVGFEBlendElement::build):
3782         * svg/SVGFEBlendElement.h:
3783         * svg/SVGFilterPrimitiveStandardAttributes.h:
3784         * svg/graphics/filters/SVGFEBlend.cpp:
3785         (WebCore::FEBlend::FEBlend):
3786         (WebCore::FEBlend::create):
3787         (WebCore::FEBlend::in2):
3788         (WebCore::FEBlend::setIn2):
3789         (WebCore::FEBlend::blendMode):
3790         (WebCore::FEBlend::setBlendMode):
3791         (WebCore::FEBlend::apply):
3792         (WebCore::FEBlend::dump):
3793         * svg/graphics/filters/SVGFEBlend.h:
3794         (WebCore::):
3795         * svg/graphics/filters/cg/SVGFEBlendCg.mm: Removed.
3796
3797 2008-07-02  Beth Dakin  <bdakin@apple.com>
3798
3799         Reviewed by Darin.
3800
3801         Fix for <rdar://problem/6015523> Implement ARIA ranges/sliders
3802         and
3803         <rdar://problem/5934355> Need to implement ARIA role="spinbutton"
3804
3805         * page/AccessibilityObject.h:
3806         (WebCore::AccessibilityObject::isSlider):
3807         * page/AccessibilityRenderObject.cpp:
3808         (WebCore::AccessibilityRenderObject::isSlider):
3809         (WebCore::AccessibilityRenderObject::valueForRange):
3810         (WebCore::AccessibilityRenderObject::maxValueForRange):
3811         (WebCore::AccessibilityRenderObject::minValueForRange):
3812         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): We 
3813         were addressing the generic has-an-ARIA-role case too early here.
3814         (WebCore::AccessibilityRenderObject::focusedUIElement): This is a 
3815         bug I ran into while testing role='spinbutton', spinbutton is a 
3816         role that can have an active descendant. But we were always trying 
3817         to forward focus to the active descendant, even if one was not 
3818         specified. 
3819         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant): 
3820         'spinbutton' maps to ProgressIndicatorRole.
3821         (WebCore::RoleEntry::):
3822         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
3823         * page/AccessibilityRenderObject.h:
3824         * page/mac/AccessibilityObjectWrapper.mm:
3825         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3826         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3827
3828 2008-07-02  Dan Bernstein  <mitz@apple.com>
3829
3830         Reviewed by Adam Roben.
3831
3832         - Windows build fix
3833
3834         Renamed the ERROR token in the XPath grammar to XPATH_ERROR, because
3835         the ERROR macro is defined in <wingdi.h>.
3836
3837         * xml/XPathGrammar.y:
3838         * xml/XPathParser.cpp:
3839         (WebCore::XPath::Parser::lexString):
3840         (WebCore::XPath::Parser::nextTokenInternal):
3841
3842 2008-07-02  Alexey Proskuryakov  <ap@webkit.org>
3843
3844         Inspired and reviewed by Mark Rowe.
3845
3846         Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
3847
3848         * bindings/objc/ExceptionHandlers.h:
3849         * bindings/objc/WebScriptObject.mm:
3850         * dom/Document.cpp:
3851         * dom/Node.cpp:
3852         * page/Frame.cpp:
3853         * page/InspectorController.cpp:
3854         * page/JavaScriptProfileNode.cpp:
3855         * page/mac/FrameMac.mm:
3856         * platform/mac/ThreadCheck.mm:
3857         * xml/XMLHttpRequest.cpp:
3858
3859 2008-07-02  Simon Hausmann  <hausmann@webkit.org>
3860
3861         Fix the Gtk build.
3862
3863         * plugins/gtk/PluginViewGtk.cpp: Adapt to JSLock API changes.
3864         (WebCore::PluginView::paint):
3865         (WebCore::PluginView::handleKeyboardEvent):
3866         (WebCore::PluginView::handleMouseEvent):
3867         (WebCore::PluginView::setNPWindowRect):
3868         (WebCore::PluginView::stop):
3869         (WebCore::PluginView::init):
3870
3871 2008-07-02  Simon Hausmann  <hausmann@webkit.org>
3872
3873         Build fixes.
3874
3875         * WebCore.pro: Added plugins/PluginMainThreadScheduler.cpp to the
3876         build.
3877         * bridge/qt/qt_instance.cpp: Adjust to JSLock API change.
3878         * bridge/qt/qt_runtime.cpp: Ditto.
3879         (KJS::Bindings::convertValueToQVariant):
3880         (KJS::Bindings::convertQVariantToValue):
3881         (KJS::Bindings::QtRuntimeMetaMethod::call):
3882         (KJS::Bindings::QtRuntimeConnectionMethod::call):
3883         (KJS::Bindings::QtConnectionObject::execute):
3884         * page/JavaScriptProfileNode.cpp: Inlude kjs/JSValue.h instead of
3885         JavaScriptCore/JSValue.h.
3886         * plugins/qt/PluginViewQt.cpp: Adjust to JSLock API changes.
3887         (WebCore::PluginView::setNPWindowRect): Ditto.
3888         (WebCore::PluginView::stop): Ditto.
3889         (WebCore::PluginView::init): Ditto.
3890
3891 2008-07-02  Alexey Proskuryakov  <ap@webkit.org>
3892
3893         Build fix.
3894
3895         * plugins/PluginView.cpp:
3896         (WebCore::PluginView::start):
3897         (WebCore::getString):
3898         (WebCore::PluginView::performRequest):
3899         (WebCore::PluginView::bindingInstance):
3900         * plugins/win/PluginViewWin.cpp:
3901         (WebCore::PluginView::dispatchNPEvent):
3902         (WebCore::PluginView::setNPWindowRect):
3903         (WebCore::PluginView::stop):
3904         Pass false to JSLock and JSLock::DropAllLocks constructors.
3905
3906 2008-07-01  Oliver Hunt  <oliver@apple.com>
3907
3908         Reviewed by Geoff Garen.
3909
3910         <rdar://problem/5974306> CanvasRenderingContext2D becomes invalid when source canvas element is collected
3911
3912         In order to fix this we now make the rendering context and the canvas element
3913         share the same reference count, ensuring that references to the rendering
3914         context will force the canvas element to remain live as well.
3915
3916         Test: fast/canvas/canvas-longlived-context.html
3917
3918         * html/CanvasRenderingContext2D.cpp:
3919         (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
3920         (WebCore::CanvasRenderingContext2D::createImageData):
3921         (WebCore::CanvasRenderingContext2D::getImageData):
3922         (WebCore::CanvasRenderingContext2D::putImageData):
3923         * html/CanvasRenderingContext2D.h:
3924         (WebCore::CanvasRenderingContext2D::create):
3925         * html/HTMLCanvasElement.cpp:
3926         (WebCore::HTMLCanvasElement::getContext):
3927         * html/HTMLCanvasElement.h:
3928
3929 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
3930
3931         Reviewed by Darin.
3932
3933         Disable JSLock for per-thread contexts.
3934
3935         * bridge/runtime_root.cpp:
3936         (KJS::Bindings::RootObject::invalidate):
3937         (KJS::Bindings::RootObject::gcProtect):
3938         (KJS::Bindings::RootObject::gcUnprotect):
3939         Don't lock while calling gcProtect/gcUnprotect, which now has its own implicit lock.
3940
3941         * storage/Database.cpp: (WebCore::Database::Database): Call Heap::setGCProtectNeedsLocking
3942         to indicate that protected value list can be concurrently accessed from multiple threads now.
3943
3944         * xml/XMLHttpRequest.cpp:
3945         (WebCore::XMLHttpRequest::loadRequestSynchronously): There is no need to drop the locks here,
3946         as fake locks cannot deadlock, and there is no danger that someone will try to take a real
3947         JSLock on the main thread while we are waiting for response.
3948         (WebCore::XMLHttpRequest::loadRequestAsynchronously): There is no need to explicitly lock
3949         around gcProtect/gcUnprotect now.
3950         (WebCore::XMLHttpRequest::dropProtection): Access heap directly, rather than via
3951         JSGlobalData::threadInstance().
3952
3953         * bindings/js/GCController.cpp:
3954         (WebCore::collect):
3955         (WebCore::GCController::gcTimerFired):
3956         (WebCore::GCController::garbageCollectNow):
3957         (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
3958         * bindings/js/JSCustomSQLStatementCallback.cpp:
3959         (WebCore::JSCustomSQLStatementCallback::handleEvent):
3960         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3961         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
3962         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3963         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
3964         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3965         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
3966         * bindings/js/JSCustomVoidCallback.cpp:
3967         (WebCore::JSCustomVoidCallback::handleEvent):
3968         * bindings/js/JSCustomXPathNSResolver.cpp:
3969         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3970         * bindings/js/JSDOMWindowBase.cpp:
3971         (WebCore::DOMWindowTimer::~DOMWindowTimer):
3972         (WebCore::JSDOMWindowBase::clear):
3973         (WebCore::JSDOMWindowBase::timerFired):
3974         * bindings/js/JSEventCustom.cpp:
3975         (WebCore::toJS):
3976         * bindings/js/JSEventListener.cpp:
3977         (WebCore::JSAbstractEventListener::handleEvent):
3978         (WebCore::JSLazyEventListener::parseCode):
3979         * bindings/js/JSNodeFilterCondition.cpp:
3980         (WebCore::JSNodeFilterCondition::acceptNode):
3981         * bindings/js/ScheduledAction.cpp:
3982         (WebCore::ScheduledAction::execute):
3983         * bindings/js/ScriptController.cpp:
3984         (WebCore::ScriptController::evaluate):
3985         (WebCore::ScriptController::clear):
3986         (WebCore::ScriptController::createHTMLEventHandler):
3987         (WebCore::ScriptController::createSVGEventHandler):
3988         (WebCore::ScriptController::initScript):
3989         (WebCore::ScriptController::updateDocument):
3990         * bindings/objc/WebScriptObject.mm:
3991         (-[WebScriptObject callWebScriptMethod:withArguments:]):
3992         (-[WebScriptObject evaluateWebScript:]):
3993         (-[WebScriptObject setValue:forKey:]):
3994         (-[WebScriptObject valueForKey:]):
3995         (-[WebScriptObject removeWebScriptKey:]):
3996         (-[WebScriptObject stringRepresentation]):
3997         (-[WebScriptObject webScriptValueAtIndex:]):
3998         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
3999         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
4000         * bridge/NP_jsobject.cpp:
4001         (_NPN_InvokeDefault):
4002         (_NPN_Invoke):
4003         (_NPN_Evaluate):
4004         (_NPN_GetProperty):
4005         (_NPN_SetProperty):
4006         (_NPN_RemoveProperty):
4007         (_NPN_HasProperty):
4008         (_NPN_HasMethod):
4009         (_NPN_SetException):
4010         (_NPN_Enumerate):
4011         * bridge/c/c_class.cpp:
4012         (KJS::Bindings::CClass::~CClass):
4013         (KJS::Bindings::CClass::methodsNamed):
4014         (KJS::Bindings::CClass::fieldNamed):
4015         * bridge/c/c_instance.cpp:
4016         (KJS::Bindings::CInstance::invokeMethod):
4017         (KJS::Bindings::CInstance::invokeDefaultMethod):
4018         (KJS::Bindings::CInstance::getPropertyNames):
4019         * bridge/c/c_runtime.cpp:
4020         (KJS::Bindings::CField::valueFromInstance):
4021         (KJS::Bindings::CField::setValueToInstance):
4022         * bridge/c/c_utility.cpp:
4023         (KJS::Bindings::convertValueToNPVariant):
4024         (KJS::Bindings::convertNPVariantToValue):
4025         * bridge/jni/jni_class.cpp:
4026         (JavaClass::JavaClass):
4027         (JavaClass::~JavaClass):
4028         * bridge/jni/jni_instance.cpp:
4029         (JavaInstance::stringValue):
4030         * bridge/jni/jni_jsobject.mm:
4031         (JavaJSObject::call):
4032         (JavaJSObject::eval):
4033         (JavaJSObject::getMember):
4034         (JavaJSObject::setMember):
4035         (JavaJSObject::removeMember):
4036         (JavaJSObject::getSlot):
4037         (JavaJSObject::setSlot):
4038         (JavaJSObject::toString):
4039         (JavaJSObject::convertValueToJObject):
4040         (JavaJSObject::convertJObjectToValue):
4041         * bridge/jni/jni_objc.mm:
4042         (KJS::Bindings::dispatchJNICall):
4043         * bridge/jni/jni_runtime.cpp:
4044         (JavaMethod::signature):
4045         * bridge/jni/jni_runtime.h:
4046         (KJS::Bindings::JavaString::JavaString):
4047         (KJS::Bindings::JavaString::_commonInit):
4048         (KJS::Bindings::JavaString::~JavaString):
4049         (KJS::Bindings::JavaString::UTF8String):
4050         * bridge/jni/jni_utility.cpp:
4051         (KJS::Bindings::convertArrayInstanceToJavaArray):
4052         (KJS::Bindings::convertValueToJValue):
4053         * bridge/npruntime.cpp:
4054         (_NPN_GetStringIdentifier):
4055         * bridge/objc/objc_instance.mm:
4056         (ObjcInstance::moveGlobalExceptionToExecState):
4057         (ObjcInstance::invokeMethod):
4058         (ObjcInstance::invokeDefaultMethod):
4059         (ObjcInstance::setValueOfUndefinedField):
4060         (ObjcInstance::getValueOfUndefinedField):
4061         * bridge/objc/objc_runtime.mm:
4062         (ObjcField::valueFromInstance):
4063         (ObjcField::setValueToInstance):
4064         * bridge/objc/objc_utility.mm:
4065         (KJS::Bindings::convertValueToObjcValue):
4066         (KJS::Bindings::convertNSStringToString):
4067         (KJS::Bindings::convertObjcValueToValue):
4068         * bridge/runtime.cpp:
4069         (KJS::Bindings::Instance::createRuntimeObject):
4070         * dom/Document.cpp:
4071         (WebCore::Document::~Document):
4072         * dom/Node.cpp:
4073         (WebCore::Node::setDocument):
4074         * history/CachedPage.cpp:
4075         (WebCore::CachedPage::CachedPage):
4076         (WebCore::CachedPage::restore):
4077         (WebCore::CachedPage::clear):
4078         * html/HTMLPlugInElement.cpp:
4079         (WebCore::HTMLPlugInElement::createNPObject):
4080         * loader/FrameLoader.cpp:
4081         (WebCore::getString):
4082         * page/Frame.cpp:
4083         (WebCore::Frame::bindingRootObject):
4084         (WebCore::Frame::windowScriptNPObject):
4085         (WebCore::Frame::clearScriptObjects):
4086         * page/InspectorController.cpp:
4087         (WebCore::jsStringRef):
4088         (WebCore::ConsoleMessage::ConsoleMessage):
4089         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
4090         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
4091         (WebCore::getResourceDocumentNode):
4092         (WebCore::search):
4093         (WebCore::inspectedWindow):
4094         (WebCore::wrapCallback):
4095         (WebCore::currentCallFrame):
4096         (WebCore::profiles):
4097         (WebCore::InspectorController::focusNode):
4098         (WebCore::InspectorController::addDatabaseScriptResource):
4099         (WebCore::InspectorController::addScriptProfile):
4100         * page/JavaScriptCallFrame.cpp:
4101         (WebCore::JavaScriptCallFrame::evaluate):
4102         * page/JavaScriptProfileNode.cpp:
4103         (WebCore::getTotalTime):
4104         (WebCore::getSelfTime):
4105         (WebCore::getTotalPercent):
4106         (WebCore::getSelfPercent):
4107         (WebCore::getNumberOfCalls):
4108         (WebCore::getChildren):
4109         (WebCore::getVisible):
4110         * page/mac/FrameMac.mm:
4111         (WebCore::Frame::windowScriptObject):
4112         Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebCore
4113         doesn't need locking. In the future, it may be possible to remove some of these if we
4114         establish that this won't make JSC assertions fail (and that we don't want to add such
4115         assertions either).
4116         Added includes that are now needed.
4117
4118 2008-07-01  Dan Bernstein  <mitz@apple.com>
4119
4120         Reviewed by Oliver Hunt.
4121
4122         - fix a CSSParserValueList leak seen on the build bot
4123
4124         * css/CSSParser.cpp:
4125         (WebCore::BorderImageParseContext::commitBorderImage):
4126
4127 2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
4128
4129         Reviewed by Oliver Hunt.
4130
4131         Prep for more Filter class name changes. Added the first few files for
4132         the new Filter architecture to come.
4133
4134         * WebCore.xcodeproj/project.pbxproj:
4135         * svg/Filter.cpp: Added.
4136         (WebCore::Filter::Filter):
4137         (WebCore::Filter::create):
4138         * svg/Filter.h: Added.
4139         * svg/FilterBuilder.h: Added.
4140         (WebCore::FilterBuilder::add):
4141         (WebCore::FilterBuilder::getEffectById):
4142         (WebCore::FilterBuilder::filter):
4143         * svg/FilterEffect.cpp: Added.
4144         (WebCore::FilterEffect::FilterEffect):
4145         (WebCore::FilterEffect::~FilterEffect):
4146         * svg/FilterEffect.h: Added.
4147
4148 2008-07-01  Christian Dywan  <christian@twotoasts.de>
4149
4150         Gtk+ build fix.
4151
4152         * GNUmakefile.am: add WebCore/plugins/PluginMainThreadScheduler.cpp
4153
4154 2008-07-01  Anders Carlsson  <andersca@apple.com>
4155
4156         Reviewed by Darin.
4157
4158         Add PluginMainThreadScheduler.{cpp|h} to build.
4159         
4160         * WebCore.base.exp:
4161         * WebCore.xcodeproj/project.pbxproj:
4162         * plugins/PluginMainThreadScheduler.cpp:
4163
4164 2008-07-01  Dan Bernstein  <mitz@apple.com>
4165
4166         Reviewed by Darin Adler.
4167
4168         - move the method to set the base writing direction from Frame to Editor
4169
4170         * WebCore.base.exp: Updated.
4171         * editing/Editor.cpp:
4172         (WebCore::Editor::setBaseWritingDirection): Changed the parameter to a
4173         WritingDirection enum value and added the special behavior when the
4174         focused node is a text field or a text area.
4175         * editing/Editor.h:
4176         * page/ContextMenuController.cpp:
4177         (WebCore::ContextMenuController::contextMenuItemSelected): Changed back
4178         to call the Editor method.
4179         * page/Frame.cpp: Removed setSelectionBaseWritingDirection().
4180         * page/Frame.h:
4181
4182 2008-07-01  Darin Adler  <darin@apple.com>
4183
4184         Reviewed by Oliver.
4185
4186         - slight tweak of the setHash fix
4187
4188         * bindings/js/JSLocationCustom.cpp:
4189         (WebCore::JSLocation::setHash): Use oldRef instead of recomputing url.ref().
4190
4191 2008-07-01  Dan Bernstein  <mitz@apple.com>
4192
4193         Reviewed by Anders Carlsson.
4194
4195         - Mac release build fix
4196
4197         * page/Console.cpp:
4198
4199 2008-07-01  Dan Bernstein  <mitz@apple.com>
4200
4201         Reviewed by Anders Carlsson.
4202
4203         - fix <rdar://problem/6045896> REGRESSION: Leak in WebCore::StringImpl::create
4204
4205         * css/CSSPrimitiveValue.cpp:
4206         (WebCore::CSSPrimitiveValue::cleanup):
4207
4208 2008-07-01  Anders Carlsson  <andersca@apple.com>
4209
4210         Reviewed by Jon.
4211
4212         Don't add the Mozilla user agent quirk for Flash 10.
4213         
4214         * plugins/win/PluginPackageWin.cpp:
4215         (WebCore::PluginPackage::isPluginBlacklisted):
4216         (WebCore::PluginPackage::determineQuirks):
4217
4218 2008-07-01  David Kilzer  <ddkilzer@apple.com>
4219
4220         Move data: URL parsing code in HTMLObjectElement to KURL
4221
4222         Reviewed by Ada and Darin.
4223
4224         No test cases added since there is no change in behavior.
4225
4226         * html/HTMLObjectElement.cpp:
4227         (WebCore::HTMLObjectElement::isImageType): Extracted data: URL
4228         parsing code into WebCore::mimeTypeFromDataURL() in KURL.cpp.
4229         * platform/KURL.cpp:
4230         (WebCore::mimeTypeFromDataURL): Added.
4231         * platform/KURL.h:
4232         (WebCore::mimeTypeFromDataURL): Added.
4233
4234 2008-07-01  Dan Bernstein  <mitz@apple.com>
4235
4236         Reviewed by Dave Hyatt.
4237
4238         - fix <rdar://problem/6045890> REGRESSION: Leak in WebCore::CSSParser::createFloatingValueList()
4239
4240         * css/CSSParser.cpp:
4241         (WebCore::CSSParser::addUnresolvedProperty):
4242
4243 2008-07-01  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
4244
4245         Reviewed by Brady Eidson.