2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-04-18  Pierre d'Herbemont  <pdherbemont@apple.com>
2
3         Reviewed by Mark Rowe.
4
5         <rdar://problem/6747241> work around QTKit no longer reaching
6         QTMovieLoadStateComplete
7
8         * WebCore.base.exp: Export wkQTMovieMaxTimeLoadedChangeNotification.
9
10         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
11         (WebCore::MediaPlayerPrivate::createQTMovie): observe QTMovieMaxTimeLoadedChangeNotification.
12         (WebCore::MediaPlayerPrivate::updateStates): compare duuration() with maxTimeLoaded() instead of
13         using QTMovieLoadStateComplete to determine if a movie are fully loaded.
14
15         * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieMaxTimeLoadedChangeNotification.
16         * platform/mac/WebCoreSystemInterface.mm: Ditto.
17
18 2009-04-18  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
19
20         Reviewed by George Staikos.
21
22         Make WML work again, most regressions test were failing.
23
24         * dom/Document.cpp: Be sure to create WML elements in WML namespace. Otherwhise hasTagName() comparisions fail.
25         (WebCore::Document::createElement):
26         * wml/WMLCardElement.cpp: Add ASSERT(hasTagName(cardTag)) to catch errors like this in future.
27         (WebCore::WMLCardElement::WMLCardElement):
28         * wml/WMLTagNames.in: Wrap comment in #if 0/#endif blocks, to silence the generation script.
29
30 2009-04-17  Justin Garcia  <justin.garcia@apple.com>
31
32         Reviewed by Dan Bernstein.
33
34         https://bugs.webkit.org/show_bug.cgi?id=25277
35         If there is no line wrapping, a caret can leave its containing block but it shouldn't leave its root line box
36         
37         Also added code to handle a caret wider than one pixel.
38         
39         Added fast/inline/25277.html and fast/inline/25277-2.html
40
41         * rendering/RenderText.cpp:
42         (WebCore::RenderText::localCaretRect): Distribute a caret's width to either side of the offset,
43         so that a caret between two characters doesn't hang over one character more than the other.
44         If there is no wrapping, the caret can leave its containing block, but not its root line box.
45
46 2009-04-17  Geoffrey Garen  <ggaren@apple.com>
47
48         Reviewed by Oliver Hunt.
49
50         More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
51         Unbounded memory growth when churning elements with anonymous event handler functions
52         
53         Some refactoring of "inline" event listeners.
54         
55         Renames:
56             dispatchEventForType => dispatchEvent
57             setWindowInlineEventListenerForTypeAndAttribute => setWindowInlineEventListener
58             removeInlineEventListenerForType => clearInlineEventListener
59             setInlineEventListenerForType => setInlineEventListener
60             inlineEventListenerForType => getInlineEventListener
61
62         * bindings/js/JSLazyEventListener.cpp:
63         (WebCore::eventParameterName):
64         (WebCore::JSLazyEventListener::JSLazyEventListener):
65         (WebCore::createInlineEventListener):
66         * bindings/js/JSLazyEventListener.h: Added two helper functions for
67         creating "inline" event listeners. These replace Document::createEventListener,
68         and abstract the creation of JS event listeners for DOM attributes out
69         of the DOM. Removed legacy JSProtectedEventListener constructor code for
70         adding the event listener's function to a map, since lazy event listeners
71         don't have functions at construction time.
72
73         * dom/Document.cpp:
74         (WebCore::Document::setFocusedNode):
75         * dom/Document.h:
76         (WebCore::Document::isSVGDocument):
77         * dom/Element.cpp:
78         (WebCore::Element::setWindowInlineEventListener):
79         * dom/Element.h: Updated for renames. Nixed Document::createEventListener,
80         mentioned above. Moved setWindowInlineEventListenerForTypeAndAttribute
81         to Element, for simplicity.
82
83         * dom/InputElement.cpp:
84         (WebCore::InputElement::setValueFromRenderer):
85         * dom/Node.cpp:
86         (WebCore::Node::dispatchFocusEvent):
87         (WebCore::Node::dispatchBlurEvent):
88         (WebCore::Node::dispatchEvent):
89         (WebCore::Node::clearInlineEventListener):
90         (WebCore::Node::setInlineEventListener):
91         (WebCore::Node::getInlineEventListener):
92         (WebCore::Node::onabort):
93         (WebCore::Node::setOnabort):
94         (WebCore::Node::etc.):
95         * dom/Node.h: Updated for renames.
96         
97         * editing/ReplaceSelectionCommand.cpp:
98         (WebCore::ReplacementFragment::ReplacementFragment): Updated for renames.
99         
100         Updated these files for renames, and to use the new createInlineEventListener
101         helper function:
102
103         * html/HTMLBodyElement.cpp:
104         (WebCore::HTMLBodyElement::parseMappedAttribute):
105         * html/HTMLButtonElement.cpp:
106         (WebCore::HTMLButtonElement::parseMappedAttribute):
107         * html/HTMLElement.cpp:
108         (WebCore::HTMLElement::parseMappedAttribute):
109         * html/HTMLFormControlElement.cpp:
110         (WebCore::HTMLFormControlElement::onChange):
111         * html/HTMLFormElement.cpp:
112         (WebCore::HTMLFormElement::prepareSubmit):
113         (WebCore::HTMLFormElement::reset):
114         (WebCore::HTMLFormElement::parseMappedAttribute):
115         * html/HTMLFrameElementBase.cpp:
116         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
117         * html/HTMLFrameSetElement.cpp:
118         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
119         * html/HTMLImageElement.cpp:
120         (WebCore::HTMLImageElement::parseMappedAttribute):
121         * html/HTMLImageLoader.cpp:
122         (WebCore::HTMLImageLoader::dispatchLoadEvent):
123         * html/HTMLInputElement.cpp:
124         (WebCore::HTMLInputElement::parseMappedAttribute):
125         (WebCore::HTMLInputElement::onSearch):
126         * html/HTMLMediaElement.cpp:
127         (WebCore::HTMLMediaElement::loadInternal):
128         * html/HTMLObjectElement.cpp:
129         (WebCore::HTMLObjectElement::parseMappedAttribute):
130         * html/HTMLScriptElement.cpp:
131         (WebCore::HTMLScriptElement::parseMappedAttribute):
132         (WebCore::HTMLScriptElement::dispatchLoadEvent):
133         (WebCore::HTMLScriptElement::dispatchErrorEvent):
134         * html/HTMLSelectElement.cpp:
135         (WebCore::HTMLSelectElement::parseMappedAttribute):
136         * html/HTMLTextAreaElement.cpp:
137         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
138         * html/HTMLTokenizer.cpp:
139         (WebCore::HTMLTokenizer::notifyFinished):
140         * page/AccessibilityRenderObject.cpp:
141         (WebCore::AccessibilityRenderObject::mouseButtonListener):
142         * page/DOMWindow.cpp:
143         * page/DOMWindow.h:
144         (WebCore::DOMWindow::eventListeners):
145         * page/EventHandler.cpp:
146         (WebCore::EventHandler::canMouseDownStartSelect):
147         (WebCore::EventHandler::canMouseDragExtendSelect):
148         (WebCore::EventHandler::sendScrollEvent):
149         * page/Page.cpp:
150         (WebCore::networkStateChanged):
151         * rendering/RenderListBox.cpp:
152         (WebCore::RenderListBox::valueChanged):
153         * rendering/RenderTextControl.cpp:
154         (WebCore::RenderTextControl::selectionChanged):
155         * svg/SVGElement.cpp:
156         (WebCore::SVGElement::parseMappedAttribute):
157         * svg/SVGElementInstance.cpp:
158         * svg/SVGImageLoader.cpp:
159         (WebCore::SVGImageLoader::dispatchLoadEvent):
160         * svg/SVGSVGElement.cpp:
161         (WebCore::SVGSVGElement::parseMappedAttribute):
162         * svg/SVGScriptElement.cpp:
163         (WebCore::SVGScriptElement::dispatchErrorEvent):
164         * wml/WMLInputElement.cpp:
165         (WebCore::WMLInputElement::defaultEventHandler):
166
167 2009-04-17  David Kilzer  <ddkilzer@apple.com>
168
169         Simplify FEATURE_DEFINES definition
170
171         Reviewed by Darin Adler.
172
173         This moves FEATURE_DEFINES and its related ENABLE_FEATURE_NAME
174         variables to their own FeatureDefines.xcconfig file.  It also
175         extracts a new ENABLE_GEOLOCATION variable so that
176         FEATURE_DEFINES only needs to be defined once.
177
178         * Configurations/FeatureDefines.xcconfig: Added.
179         * Configurations/WebCore.xcconfig: Removed definition of
180         ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES.  Added include
181         of FeatureDefines.xcconfig.
182         * WebCore.xcodeproj/project.pbxproj: Added
183         FeatureDefines.xcconfig file.
184         * bindings/scripts/CodeGeneratorObjC.pm: When creating a list of
185         command-line macro definitions, split on one-or-more spaces
186         instead of a single space since the FEATURE_DEFINES macro may
187         now contain more than one space between macros if some macros
188         aren't defined.
189
190 2009-04-17  Brady Eidson  <beidson@apple.com>
191
192         Reviewed by Mark Rowe
193
194         <rdar://problem/6786999> Tiger WebKit shouldn't try to POST on back/forward without nagging.
195
196         * platform/network/mac/ResourceHandleMac.mm:
197         (WebCore::ResourceHandle::willLoadFromCache):
198
199 2009-04-17  Darin Adler  <darin@apple.com>
200
201         Reviewed by Timothy Hatcher.
202
203         Added sudden termination functions that can be called without involving
204         the page or client.
205
206         * GNUmakefile.am: Added SuddenTermination.h.
207         * WebCore.vcproj/WebCore.vcproj: Ditto.
208         * WebCore.xcodeproj/project.pbxproj: Ditto. Also added SuddenTermination.mm.
209
210         * platform/SuddenTermination.h: Added.
211         * platform/mac/SuddenTermination.mm: Added.
212
213 2009-04-17  Eric Seidel  <eric@webkit.org>
214
215         Reviewed by Simon Fraser.
216
217         Move more code into RenderSVGModelObject
218
219         needsLayer() already returns false from RenderSVGModelObject
220         lineHeight and baselinePosition are from days of RenderPath having RenderBox parents.
221
222         I also added comments to explain how focus rings work (now that I understand)
223         I got rid of two more uses of m_absoluteBounds (nearly dead!)
224
225         * rendering/RenderPath.cpp:
226         * rendering/RenderPath.h:
227         * rendering/RenderSVGContainer.cpp:
228         (WebCore::RenderSVGContainer::paint):
229         (WebCore::RenderSVGContainer::addFocusRingRects):
230         * rendering/RenderSVGContainer.h:
231         * rendering/RenderSVGModelObject.cpp:
232         (WebCore::RenderSVGModelObject::absoluteRects):
233         (WebCore::RenderSVGModelObject::absoluteQuads):
234         * rendering/RenderSVGModelObject.h:
235
236 2009-04-16  Peter Kasting  <pkasting@google.com>
237
238         Reviewed by Adele Peterson.
239
240         https://bugs.webkit.org/show_bug.cgi?id=25238
241         Invalidate the hovered scrollbar part when resetting the pressed part,
242         since once there is no pressed part we can draw a hovered state.
243
244         * platform/Scrollbar.cpp:
245         (WebCore::Scrollbar::setHoveredPart):
246         (WebCore::Scrollbar::setPressedPart):
247
248 2009-04-16  Darin Fisher  <darin@chromium.org>
249
250         Reviewed by Darin Adler.
251
252         https://bugs.webkit.org/show_bug.cgi?id=25223
253         REGRESSION: Back button after form submission to the same URL fails to navigate.
254
255         Test: http/tests/navigation/post-goback-same-url.html
256
257         * loader/FrameLoader.cpp:
258         (WebCore::FrameLoader::loadItem): Check if the page we are leaving has
259         FormData.
260
261 2009-04-17  Nikolas Zimmermann  <nikolas.zimmerman@torchmobile.com>
262
263         Not reviewed. Fix WML enabled builds.
264
265         * rendering/RenderTableRow.cpp: Remove dead code, which is no longer necessary.
266         (WebCore::RenderTableRow::addChild):
267         * wml/WMLInputElement.cpp: Apply same fix HTMLInputElement received. Covert RenderObject's to RenderTextControl where needed.
268         (WebCore::WMLInputElement::defaultEventHandler):
269
270 2009-04-17  Pierre d'Herbemont  <pdherbemont@apple.com>
271
272         Reviewed by Simon Fraser.
273
274         Add support for the media element 'played' attribute.
275         This involves support of "normalized TimeRanges" as described by
276         the spec.
277
278         Test: media/video-played.html
279
280         * html/HTMLMediaElement.cpp:
281         (WebCore::HTMLMediaElement::HTMLMediaElement): Renamed 
282         m_currentTimeDuringSeek->m_lastSeekTime. Added m_playing and m_playedTimeRanges.
283         (WebCore::HTMLMediaElement::loadInternal): Reset m_playing, m_lastSeekTime, and
284         m_playedTimeRanges
285         (WebCore::HTMLMediaElement::seek): Set current time to m_playedTimeRanges
286         (WebCore::HTMLMediaElement::currentTime): m_currentTimeDuringSeek -> m_lastSeekTime
287         (WebCore::HTMLMediaElement::played): Returns m_playedTimeRanges.
288         (WebCore::HTMLMediaElement::updatePlayState): Add the new played time ranges when pausing. 
289         Set the m_playing flag.
290         * html/HTMLMediaElement.h:
291
292         * html/TimeRanges.cpp:
293         (TimeRanges::add): Merge range(s) if overlap.
294         * html/TimeRanges.h: Add various helpers (below).
295         (WebCore::TimeRanges::Range::isPointInRange): Added.
296         (WebCore::TimeRanges::Range::isOverlappingRange): Ditto.
297         (WebCore::TimeRanges::Range::unionWithOverlappingRange): Ditto.
298         (WebCore::TimeRanges::Range::isBeforeRange): Ditto.
299
300 2009-04-17  Darin Adler  <darin@apple.com>
301
302         Reviewed by Antti Koivisto.
303
304         Bug 25210: don't use ObjC methods to wrap/unwrap DOM objects with ObjC
305         https://bugs.webkit.org/show_bug.cgi?id=25210
306
307         * WebCore.base.exp: Export the core and kit function overloads that are used
308         in WebKit. Also resorted this file.
309
310         * WebCore.xcodeproj/project.pbxproj: Re-added DOMHTMLCanvasElement.h to fix
311         a strange problem with the file type.
312
313         * bindings/objc/DOM.mm: Removed the many extraneous includes. Added new includes
314         so we can use and implement the new core and kit functions. Import DOMInternal.h
315         first so it can do its public/private magic.
316         (-[DOMNode _rootObject]): Changed to use early-return style.
317         (kitClass): Added. Tells the wrapper generator what kind of node class to create
318         to wrap DOM nodes. This has the code that used to be in the _wrapNode method.
319         (kit): Added. Takes an EventTarget and makes the appropriate type of wrapper,
320         dpending on whether it's a Node or an SVGElementInstance. This replace methods
321         that used to be on both of those classes.
322         (-[DOMNode boundingBox]): Changed to use early return, and the core function.
323         (-[DOMNode lineBoxRects]): Ditto.
324         (-[DOMNode renderedImage]): Ditto.
325         (-[DOMRange boundingBox]): Ditto.
326         (-[DOMRange lineBoxRects]): Ditto.
327         (-[DOMElement image]): Ditto.
328         (-[DOMElement _font]): Ditto.
329         (-[DOMElement _imageTIFFRepresentation]): Ditto.
330         (-[DOMElement _getURLAttribute:]): Ditto.
331         (-[DOMElement isFocused]): Ditto.
332         (kit): Hand-wrote the version of this for NodeFilter, since it's a protocol,
333         not a class in the binding.
334         (core): Ditto.
335         (-[DOMNodeFilter acceptNode:]): Use core.
336
337         * bindings/objc/DOMAbstractView.mm:
338         (-[DOMAbstractView document]): Use kit.
339         (-[DOMAbstractView _disconnectFrame]): Call removeDOMWrapper, which is no longer
340         in the WebCore namespace, since it's headed for WebKit in the future.
341         (core): Hand-wrote the version of this for DOMAbstractView.mm, since we store
342         a pointer to the Frame, not the DMWindow.
343         (kit): Ditto.
344
345         * bindings/objc/DOMCSS.mm:
346         (kitClass): Added. Tells the wrapper generator what kind of node class to create
347         to wrap CSS objects. This has the code that used to be in the _wrapStyleSheet,
348         _wrapCSSRule, and _wrapCSSValue methods.
349
350         * bindings/objc/DOMEvents.mm:
351         (kitClass): Added. Tells the wrapper generator what kind of node class to create
352         to wrap event objects. This has the code that used to be in the _wrapEvent methods.
353
354         * bindings/objc/DOMHTML.mm:
355         (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]): Use kit and core.
356         (-[DOMHTMLDocument createDocumentFragmentWithText:]): Ditto.
357         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Ditto.
358         (-[DOMHTMLInputElement _rectOnScreen]): Ditto.
359         (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): Ditto.
360         (-[DOMHTMLInputElement _selectedRange]): Ditto.
361         (-[DOMHTMLInputElement _setAutofilled:]): Ditto.
362         (-[DOMHTMLSelectElement _activateItemAtIndex:]): Ditto.
363         (-[DOMHTMLInputElement _isEdited]): Ditto.
364         (-[DOMHTMLTextAreaElement _isEdited]): Ditto.
365         (kitClass): Added. Gives HTMLOptionCollection objects an appropriate wrapper.
366
367         * bindings/objc/DOMInternal.h: Removed most of the imports. There's no reason
368         to have this header include all the other internal DOM headers. Removed unneeded
369         interfaces, including the redeclaration of _init in DOMObject, since it's already
370         inherited from WebScriptObject. Moved all the functions out of the WebCore
371         namespace since this code is destined for WebKit, which doesn't use a namespace.
372         Added kit and core functions for the two classes that live in this header.
373
374         * bindings/objc/DOMInternal.mm:
375         (-[WebScriptObject _initializeScriptDOMNodeImp]): Use core.
376
377         * bindings/objc/DOMObject.h: Made the _internal field be private instead of
378         protected. This also allows the "#define private public" trick to be used to
379         make the field accessible inside the bindings code.
380
381         * bindings/objc/DOMObject.mm:
382         (-[DOMObject dealloc]): Updated for namespace change.
383         (-[DOMObject sheet]): Use core and kit functions.
384
385         * bindings/objc/DOMRGBColor.mm:
386         (-[DOMRGBColor dealloc]): Updated for namespace change.
387         (-[DOMRGBColor red]): Use kit function.
388         (-[DOMRGBColor green]): Ditto.
389         (-[DOMRGBColor blue]): Ditto.
390         (-[DOMRGBColor alpha]): Ditto.
391         (core): Added. Replaces the _RGBColor method.
392         (kit): Added. Replaces the _wrapRGBColor method.
393
394         * bindings/objc/DOMSVGPathSegInternal.mm:
395         (kitClass): Added. Replaces the _wrapSVGPathSeg method.
396
397         * bindings/objc/DOMUtility.mm:
398         (JSC::createDOMWrapper): Use kit function.
399         (createDOMWrapper): Ditto.
400
401         * bindings/objc/DOMXPath.mm:
402         (core): Added. Replaces the _xpathNSResolver method.
403         (kit): Added. Replaces the _wrapXPathNSResolver method.
404
405         * bindings/objc/ObjCEventListener.mm:
406         (WebCore::ObjCEventListener::find): Changed to use early return.
407         (WebCore::ObjCEventListener::handleEvent): Use kit function.
408
409         * bindings/objc/ObjCNodeFilterCondition.mm:
410         (WebCore::ObjCNodeFilterCondition::acceptNode): Use kit function.
411
412         * bindings/objc/WebScriptObject.mm:
413         (+[WebScriptObject scriptObjectForJSObject:originRootObject:rootObject:]):
414         Updated for namespace change.
415
416         * bindings/scripts/CodeGeneratorObjC.pm: Changed spelling of "license"
417         to U.S. spelling. Removed GetObjCTypeMaker, GetObjCTypeGetterName,
418         GetInternalTypeGetterSignature, and GetInternalTypeMakerSignature.
419         Changed includes to conform to new scheme. Generate core and kit
420         functions instead of methods and calls to those functions. Added a new
421         attribute, Polymorphic, to indicate classes that have derived subclasses.
422         Removed the old ObjCCustomInternalImpl attribute.
423
424         * css/CSSRule.idl: Use Polymorphic attribute, so core and kit functions
425         will be generated, with kit calling kitClass. This requires less hand-
426         written code than the old ObjCCustomInternalImpl.
427         * css/CSSValue.idl: Ditto.
428         * css/StyleSheet.idl: Ditto.
429         * dom/Event.idl: Ditto.
430         * dom/Node.idl: Ditto.
431         * html/HTMLCollection.idl: Ditto.
432         * svg/SVGPathSeg.idl: Ditto.
433
434         * editing/TextAffinity.h: Moved kit and core functions out of the
435         WebCore namespace since this code is destined for WebKit, which
436         doesn't use a namespace
437
438         * platform/mac/ClipboardMac.mm:
439         (WebCore::ClipboardMac::declareAndWriteDragImage): Use kit function.
440
441         * platform/mac/DragDataMac.mm:
442         (WebCore::DragData::asFragment): Use core function.
443
444         * platform/mac/PasteboardMac.mm:
445         (WebCore::Pasteboard::writeSelection): Use kit function.
446
447         * svg/SVGElementInstance.idl: Removed now-unneeded ObjCCustomInternalImpl
448         function. This can be generated in a standard way now.
449         * svg/SVGViewSpec.idl: Ditto.
450
451 2009-04-17  Brady Eidson  <beidson@apple.com>
452
453         Reviewed by Maciej Stachowiak
454
455         <rdar://problem/5753299> "Private Browsing" doesn't affect HTML 5 Database storage
456
457         If the Page is in private browsing mode when a statement is queued up, flag that 
458         statement as read-only.
459
460         It would be better to set the read-only flag on the database thread when it actually
461         executes, but that would either require making Settings access a lock-protected operation
462         or involve a synchronous callback to the WebCore thread, neither of which seem worth it.
463         If it becomes an issue in practice, we can revisit this later.
464
465         Test: storage/private-browsing-readonly.html
466
467         * storage/Database.cpp:
468         (WebCore::Database::setAuthorizerReadOnly):
469         * storage/Database.h:
470
471         * storage/DatabaseAuthorizer.cpp:  For all action types that would alter the database,
472           deny when in read-only mode.
473         (WebCore::DatabaseAuthorizer::reset):
474         (WebCore::DatabaseAuthorizer::createTable):
475         (WebCore::DatabaseAuthorizer::dropTable):
476         (WebCore::DatabaseAuthorizer::allowAlterTable):
477         (WebCore::DatabaseAuthorizer::createIndex):
478         (WebCore::DatabaseAuthorizer::dropIndex):
479         (WebCore::DatabaseAuthorizer::createTrigger):
480         (WebCore::DatabaseAuthorizer::dropTrigger):
481         (WebCore::DatabaseAuthorizer::createVTable):
482         (WebCore::DatabaseAuthorizer::dropVTable):
483         (WebCore::DatabaseAuthorizer::allowDelete):
484         (WebCore::DatabaseAuthorizer::allowInsert):
485         (WebCore::DatabaseAuthorizer::allowUpdate):
486         (WebCore::DatabaseAuthorizer::setReadOnly):
487         * storage/DatabaseAuthorizer.h:
488
489         * storage/SQLStatement.cpp:
490         (WebCore::SQLStatement::create): Add a m_readOnly flag.
491         (WebCore::SQLStatement::SQLStatement): Ditto.
492         (WebCore::SQLStatement::execute): If m_readOnly is set, tell the authorizer to change
493           to read-only mode.
494         * storage/SQLStatement.h:
495
496         * storage/SQLTransaction.cpp:
497         (WebCore::SQLTransaction::executeSQL): Flag the statement as read-only if the Page is
498           currently in private browsing mode.
499
500 2009-04-17  Eric Seidel  <eric@webkit.org>
501
502         Reviewed by Antti Koivisto.
503
504         Move RenderPath and RenderSVGContainer onto a unified clippedOverflowRectForRepaint
505         https://bugs.webkit.org/show_bug.cgi?id=25268
506
507         Lots of minus lines.  Now we're sharing more sane code
508         (which will respect -webkit-transforms! and scroll offsets correctly)
509
510         Which means this fixes:
511         https://bugs.webkit.org/show_bug.cgi?id=20769 and
512         https://bugs.webkit.org/show_bug.cgi?id=21968 too!
513
514         We're no longer expanding the paint rect "for anti-aliasing", since
515         I can't find a case where that's required.  If it is, repaintRectInLocalCoordinates()
516         should be fixed to handle those cases instead of here.
517
518         This fixes svg/custom/scroll-hit-test (now that we respect scroll offsets when repainting)
519         as well as improves our focus ring drawing seen in svg/custom/focus-ring
520         focus rings are now closer to transformed content by a couple pixels (they were needlessly outset by the antialiasing hack)
521         Also, it fixes the dumped rects for markers, causing a progression in svg/custom/marker-overflow-clip
522
523         * rendering/RenderPath.cpp:
524         (WebCore::RenderPath::repaintRectInLocalCoordinates):
525         (WebCore::RenderPath::setPath):
526         * rendering/RenderPath.h:
527         * rendering/RenderSVGContainer.cpp:
528         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
529         * rendering/RenderSVGContainer.h:
530         * rendering/RenderSVGModelObject.cpp:
531         (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
532         (WebCore::RenderSVGModelObject::computeRectForRepaint):
533         * rendering/RenderSVGModelObject.h:
534         * rendering/RenderSVGRoot.cpp:
535         (WebCore::RenderSVGRoot::computeRectForRepaint):
536         * rendering/RenderSVGRoot.h:
537
538 2009-04-17  Chris Fleizach  <cfleizach@apple.com>
539
540         Reviewed by Darin Adler.
541
542         Bug 25259: AX: VoiceOver cmd-cntl-space does not follow the google.com->more link
543         https://bugs.webkit.org/show_bug.cgi?id=25259
544   
545         When a node becomes visible or hidden, accessibility needs to be told to update.
546
547         Test: accessibility/visible-elements.html
548
549         * rendering/RenderObject.cpp:
550         (WebCore::RenderObject::styleWillChange):
551
552 2009-04-17  Kevin Ollivier  <kevino@theolliviers.com>
553
554         wx build fix, added missing header.
555
556         * platform/graphics/wx/TransformationMatrixWx.cpp:
557
558 2009-04-17  Simon Hausmann  <simon.hausmann@nokia.com>
559
560         Unreviewed build fix.
561
562         Fix the build with enabled SVG filters
563
564         * rendering/RenderSVGModelObject.cpp: Include SVGResourceFilter.h.
565
566 2009-04-16  Eric Roman  <eroman@chromium.org>
567
568         Reviewed by Dimitri Glazkov.
569
570         https://bugs.webkit.org/show_bug.cgi?id=25196
571         Add a missing V8DOMMap include.
572
573         * bindings/v8/WorkerScriptController.cpp: Included V8DOMMap.h.
574
575 2009-04-16  Dimitri Glazkov  <dglazkov@chromium.org>
576
577         Reviewed by Darin Fisher.
578
579         https://bugs.webkit.org/show_bug.cgi?id=25260
580         Finish V8 custom bindings for InspectorController.
581
582         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
583         (WebCore::CALLBACK_FUNC_DECL): Added.
584
585 2009-04-16  Kevin Watters  <kevinwatters@gmail.com>
586
587         Reviewed by Kevin Ollivier.
588
589         Switch to wxGraphicsBitmap when using wxGraphicsContext so that we're not doing
590         unnecessary conversions internally when drawing bitmaps.
591         
592         https://bugs.webkit.org/show_bug.cgi?id=25248
593
594         * platform/graphics/ImageSource.h:
595         * platform/graphics/wx/ImageSourceWx.cpp:
596         (WebCore::ImageSource::createFrameAtIndex):
597         * platform/graphics/wx/ImageWx.cpp:
598         (WebCore::BitmapImage::draw):
599         (WebCore::BitmapImage::drawPattern):
600
601 2009-04-16  Justin Garcia  <justin.garcia@apple.com>
602
603         Reviewed by Dan Bernstein.
604
605         Performing a block style change in an editable root that contains only a br adds a newline
606         https://bugs.webkit.org/show_bug.cgi?id=25256
607
608         * editing/CompositeEditCommand.cpp:
609         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Fix a bad check for an root
610         block that didn't handle a root that contained a placeholder.
611
612 2009-04-16  Eric Seidel  <eric@webkit.org>
613
614         Reviewed by Simon Fraser.
615
616         Fix computeContainerBoundingBox to respect viewport translations
617         https://bugs.webkit.org/show_bug.cgi?id=25254
618
619         Previously computeContainerBoundingBox was just adding the viewportTranslation.
620         Which, although it has a confusing name, only contains the scale and translation
621         for the viewBox/preserveAspectRatio adjustment.  It does not contain the
622         translation for the x/y offset of the viewport.
623         localToParentTransform() does contain this offset, so we use that instead
624         of the previous hacky code.
625
626         * rendering/RenderSVGContainer.h:
627         * rendering/RenderSVGViewportContainer.h:
628         * rendering/SVGRenderSupport.cpp:
629         (WebCore::computeContainerBoundingBox):
630
631 2009-04-16  Eric Seidel  <eric@webkit.org>
632
633         Reviewed by Simon Fraser.
634
635         Add a localToParentTransform() method which includes the
636         full transform between local and parent local coordinates.
637         https://bugs.webkit.org/show_bug.cgi?id=25226
638
639         Moved m_localTransform up into RenderSVGTransformableContainer
640         and added a comment to RenderSVGViewportContainer to make it more
641         clear that it does not have a localTransform().
642
643         This patch reveals two more failed design decisions:
644         1.  Use of RenderBox::absoluteTransform() to mean "absoluteTransform()
645             including only my localTransform()" callers are probably using it
646             incorrectly anyway and are just masking bugs in the confused code.
647         2.  computeContainerBoundingBox does not include viewport translations in
648             its computed bounding box, so bounding boxes will be off for parents of
649             inner <svg> elements.  I'll fix this an updated the results in a separate change.
650
651         No functional changes, thus no tests.
652
653         * rendering/RenderObject.cpp:
654         (WebCore::RenderObject::localToParentTransform):
655         (WebCore::RenderObject::absoluteTransform):
656         * rendering/RenderObject.h:
657         * rendering/RenderSVGContainer.cpp:
658         (WebCore::RenderSVGContainer::layout):
659         * rendering/RenderSVGContainer.h:
660         (WebCore::RenderSVGContainer::viewportTransform):
661         * rendering/RenderSVGHiddenContainer.cpp:
662         * rendering/RenderSVGHiddenContainer.h:
663         (WebCore::RenderSVGHiddenContainer::absoluteTransform):
664         * rendering/RenderSVGRoot.cpp:
665         (WebCore::RenderSVGRoot::localToParentTransform):
666         (WebCore::RenderSVGRoot::absoluteTransform):
667         * rendering/RenderSVGRoot.h:
668         * rendering/RenderSVGTransformableContainer.cpp:
669         (WebCore::RenderSVGTransformableContainer::localToParentTransform):
670         (WebCore::RenderSVGTransformableContainer::localTransform):
671         * rendering/RenderSVGTransformableContainer.h:
672         * rendering/RenderSVGViewportContainer.cpp:
673         (WebCore::RenderSVGViewportContainer::localToParentTransform):
674         (WebCore::RenderSVGViewportContainer::absoluteTransform):
675         * rendering/RenderSVGViewportContainer.h:
676         * rendering/SVGRenderSupport.cpp:
677         (WebCore::computeContainerBoundingBox):
678
679 2009-04-16  Adam Langley  <agl@google.com>
680
681         Reviewed by Darin Fisher.
682
683         Fix Chromium's rendering of <option> elements inside of <optgroups>.
684
685         https://bugs.webkit.org/show_bug.cgi?id=25244
686
687         Test (will included as a manual test by https://bugs.webkit.org/show_bug.cgi?id=24900):
688
689         <select>
690           <optgroup label="Should be bold">
691             <option>Should not be bold</option>
692           </optgroup>
693         </select>
694
695         * css/themeWin.css: adding comments
696         * platform/chromium/PopupMenuChromium.cpp:
697         (WebCore::PopupListBox::getRowFont): use menuStyle() rather than the item's style
698
699 2009-04-16  Eric Roman  <eroman@chromium.org>
700
701         Reviewed by Alexey Proskuryakov.
702
703         https://bugs.webkit.org/show_bug.cgi?id=25218
704
705         Make DOMWindow::inlineEventListenerForType not have the "inline"
706         keyword. As this method gets used outside of DOMWindow.
707
708         * page/DOMWindow.cpp:
709         (WebCore::DOMWindow::inlineEventListenerForType):
710
711 2009-04-16  Greg Bolsinga  <bolsinga@apple.com>
712
713         Reviewed by Antti Koivisto.
714
715         Fix <rdar://problem/6766969>
716         
717         When deferred repaints are enabled and being reset and there is a active
718         timer, stop the timer and do the deferred repaints immediately.
719
720         * page/FrameView.cpp:
721         (WebCore::FrameView::resetDeferredRepaintDelay):
722
723 2009-04-16  Xan Lopez  <xlopez@igalia.com>
724
725         Reviewed by Sam Weinig.
726
727         https://bugs.webkit.org/show_bug.cgi?id=25241
728         Remove superfluous NotImplemented.h includes.
729
730         * html/CanvasRenderingContext2D.cpp:
731         * html/CanvasStyle.cpp:
732         * page/AccessibilityRenderObject.cpp:
733         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
734         * platform/graphics/GraphicsContext.cpp:
735         * platform/graphics/cairo/ImageBufferCairo.cpp:
736         * platform/graphics/cairo/PathCairo.cpp:
737         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
738         * platform/graphics/gtk/FontGtk.cpp:
739         * platform/graphics/gtk/IconGtk.cpp:
740         * platform/graphics/qt/IconQt.cpp:
741         * platform/graphics/qt/ImageQt.cpp:
742         * platform/graphics/qt/ImageSourceQt.cpp:
743         * platform/graphics/skia/ImageBufferSkia.cpp:
744         * platform/graphics/skia/ImageSkia.cpp:
745         * platform/graphics/win/ColorSafari.cpp:
746         * platform/graphics/win/FontWin.cpp:
747         * platform/graphics/win/GraphicsContextCGWin.cpp:
748         * platform/graphics/win/GraphicsContextCairoWin.cpp:
749         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
750         * platform/graphics/wx/ImageWx.cpp:
751         * platform/graphics/wx/TransformationMatrixWx.cpp:
752         * platform/gtk/PlatformScreenGtk.cpp:
753         * platform/gtk/PopupMenuGtk.cpp:
754         * platform/gtk/ScrollViewGtk.cpp:
755         * platform/gtk/ScrollbarGtk.cpp:
756         * platform/network/cf/ResourceHandleCFNet.cpp:
757         * platform/posix/FileSystemPOSIX.cpp:
758         * platform/qt/DragDataQt.cpp:
759         * platform/qt/FileSystemQt.cpp:
760         * platform/qt/Localizations.cpp:
761         * platform/qt/PopupMenuQt.cpp:
762         * platform/win/EditorWin.cpp:
763         * platform/win/PasteboardWin.cpp:
764         * platform/wx/KeyboardEventWx.cpp:
765         * platform/wx/PopupMenuWx.cpp:
766         * platform/wx/SharedTimerWx.cpp:
767         * plugins/gtk/PluginViewGtk.cpp:
768         * plugins/mac/PluginPackageMac.cpp:
769         * plugins/qt/PluginPackageQt.cpp:
770         * plugins/win/PluginViewWin.cpp:
771         * rendering/RenderThemeChromiumLinux.cpp:
772         * svg/graphics/SVGImage.cpp:
773
774 2009-04-16  Geoffrey Garen  <ggaren@apple.com>
775
776         Reviewed by Sam Weinig.
777
778         More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
779         Unbounded memory growth when churning elements with anonymous event handler functions
780         
781         Some cleanup in event handling code.
782
783         * bindings/js/JSDOMGlobalObject.cpp:
784         * bindings/js/JSDOMGlobalObject.h: Removed findJSProtectedEventListener
785         and findJSProtectedEventListener because they are now unused.
786
787         * bindings/js/JSEventListener.cpp:
788         * bindings/js/JSEventListener.h:
789         (WebCore::JSEventListener::clearGlobalObject):
790         * bindings/js/JSLazyEventListener.cpp:
791         (WebCore::JSLazyEventListener::JSLazyEventListener):
792         (WebCore::JSLazyEventListener::~JSLazyEventListener):
793         (WebCore::JSLazyEventListener::globalObject):
794         * bindings/js/JSLazyEventListener.h:
795         (WebCore::JSLazyEventListener::clearGlobalObject): Nixed JSProtectedEventListener,
796         and merged it with JSLazyEventListener, the only remaining event listener
797         that still GC-protects its function and global object.
798
799         * bindings/js/ScriptController.cpp:
800         (WebCore::ScriptController::ScriptController):
801         * bindings/js/ScriptController.h:
802         (WebCore::ScriptController::setEventHandlerLineNumber):
803         (WebCore::ScriptController::eventHandlerLineNumber): Renamed handlerLineno =>
804         handlerLineNumber, because anything less would be uncivilized. Removed
805         createInlineEventListener because it mostly did irrelevent work, so it
806         just got in the way of understanding how event handler creation works.
807
808         * dom/Document.cpp:
809         (WebCore::Document::createEventListener):
810         * dom/XMLTokenizerLibxml2.cpp:
811         (WebCore::XMLTokenizer::startElementNs):
812         * html/HTMLTokenizer.cpp:
813         (WebCore::HTMLTokenizer::processToken): Ditto.
814
815 2009-04-16  Beth Dakin  <bdakin@apple.com>
816
817         Reviewed by Dave Hyatt.
818
819         Fix for https://bugs.webkit.org/show_bug.cgi?id=20765 Website 
820         crashes on load due to messy HTML in search form
821         -and corresponding-
822         <rdar://problem/6210633>
823
824         Before this patch, <form>s were allowed to sit inside tables 
825         without being wrapped by anonymous table parts. There was also a 
826         concept that such a form could be "demoted" and would not be 
827         allowed to have any children. This patch has the HTML parser mark 
828         form elements that have been demoted as such, and then the demoted 
829         forms are not given renderers. I also removed the code that allowed 
830         forms to sit in tables without anonymous table sections. So now any 
831         forms that do manage to get a renderer inside a table will also be 
832         wrapped with appropriate table parts.
833
834         * html/HTMLFormElement.cpp:
835         (WebCore::HTMLFormElement::HTMLFormElement):
836         (WebCore::HTMLFormElement::rendererIsNeeded):
837         * html/HTMLFormElement.h:
838         (WebCore::HTMLFormElement::setDemoted):
839         (WebCore::HTMLFormElement::isDemoted):
840         * html/HTMLParser.cpp:
841         (WebCore::HTMLParser::insertNode):
842         * rendering/RenderTable.cpp:
843         (WebCore::RenderTable::addChild):
844         * rendering/RenderTableRow.cpp:
845         (WebCore::RenderTableRow::addChild):
846         * rendering/RenderTableSection.cpp:
847         (WebCore::RenderTableSection::addChild):
848
849 2009-04-16  Xiaomei Ji  <xji@chromium.org>
850
851         Reviewed by Simon Fraser.
852
853         Fix https://bugs.webkit.org/show_bug.cgi?id=24527
854         caret does not paint the first time you focus on a 0px right padding RTL div
855
856         Test: fast/forms/caret-rtl.html
857
858         * rendering/RenderBlock.cpp:
859         (WebCore::RenderBlock::localCaretRect): When calculating x-axis if 
860         alignment is alignRight, we need to subtract the caretWidth so that the
861         caret at IntRect(x, y, caretWidth, height) is inside the block.
862
863 2009-04-16  Justin Garcia  <justin.garcia@apple.com>
864
865         Reviewed by Simon Fraser.
866
867         https://bugs.webkit.org/show_bug.cgi?id=25228
868         SelectionController::absoluteCaretBounds returns an inflated caret (the caret repaint rect)
869         
870         Return the bounds of the transformed caret, not the transformed repaint rect for the caret (which is inflated).
871
872         * editing/SelectionController.cpp:
873         (WebCore::SelectionController::localCaretRect):
874         (WebCore::SelectionController::absoluteBoundsForLocalRect):
875         (WebCore::SelectionController::caretRepaintRect):
876         (WebCore::SelectionController::recomputeCaretRect):
877         * editing/SelectionController.h:
878
879 2009-04-16  Pierre d'Herbemont  <pdherbemont@apple.com>
880
881         Reviewed by Simon Fraser.
882
883         https://bugs.webkit.org/show_bug.cgi?id=25187
884         Bug 25187: <video> may not be rendered upon certain racy conditions
885
886         Always create the video renderer when the load state reaches QTMovieLoadStateLoaded and
887         the element is visible, not just when the movie has just been opened.
888
889         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
890         (WebCore::MediaPlayerPrivate::updateStates): Make sure we do not make false
891         assumption on the state changes order. Create the renderer if none is present,
892         when movie is loaded instead.
893
894 2009-04-16  Eric Seidel  <eric@webkit.org>
895
896         Reviewed by Geoffrey Garen.
897
898         Add filterBoundingBox() to RenderSVGModelObject to share a tiny bit of code
899
900         RenderSVGModelObject has much more interesting code it can share,
901         but I'm just trying to get the commits out of my local branch and into
902         the repository in any order I can. :)  This one was small.
903
904         This will be used by the unified RenderSVGModelObject
905         clippedOverflowRectForRepaint patch coming soon.
906
907         * rendering/RenderPath.cpp:
908         (WebCore::RenderPath::clippedOverflowRectForRepaint):
909         * rendering/RenderSVGContainer.cpp:
910         (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
911         * rendering/RenderSVGModelObject.cpp:
912         (WebCore::RenderSVGModelObject::filterBoundingBox):
913         * rendering/RenderSVGModelObject.h:
914
915 2009-04-16  Geoffrey Garen  <ggaren@apple.com>
916
917         Reviewed by Eric Seidel and Adam Roben.
918
919         More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
920         Unbounded memory growth when churning elements with anonymous event handler functions
921         
922         Simplified some EventHandler creation code.
923         
924         Removed a pile of code whose sole purpose was to allow SVG event handlers
925         to supply a parameter named "evt" instead of the normal "event", and
926         replaced it with a single parameter to JSLazyEventListener's constructor
927         specifying the parameter name to use.
928
929         * bindings/js/JSDOMWindowBase.h:
930         * bindings/js/JSLazyEventListener.cpp:
931         (WebCore::JSLazyEventListener::JSLazyEventListener):
932         (WebCore::JSLazyEventListener::parseCode):
933         * bindings/js/JSLazyEventListener.h:
934         (WebCore::JSLazyEventListener::create):
935         * bindings/js/ScriptController.cpp:
936         (WebCore::ScriptController::createInlineEventListener):
937         * bindings/js/ScriptController.h:
938         * dom/Document.cpp:
939         (WebCore::Document::createEventListener):
940
941 2009-04-15  Eric Seidel  <eric@webkit.org>
942
943         Reviewed by David Hyatt.
944
945         Split out objectBoundingBox and repaintRectInLocalCoordinates from relativeBBox
946         in preparation for simplifying (and fixing) repaint logic in the SVG rendering tree.
947         https://bugs.webkit.org/show_bug.cgi?id=25224
948
949         objectBoundingBox() matches the SVG 1.1 concept of a "bounding box"
950
951         repaintRectInLocalCoordinates() should return the a rect covering all painted content.
952         However, repaintRectInLocalCoordinates() still only returns the "stroke bounding box"
953         in this patch.  In a future patch, repaintRectInLocalCoordinates will be fixed to return
954         a rect covering all painted content.  In order to avoid changing several hundred layout test results, I've left
955         the behavior as-is for now.  The returned rect is used by various repaintRectInLocalCoordinates
956         implementations and sometimes adjusted to include all painted content, but not always, and
957         the places where the adjustments are made are sometimes wrong.  Again, will be fixed in
958         an upcoming patch.
959
960         This patch discovered a bug in Font::drawTextUsingSVGFont, which is probably causing
961         bounding-box relative gradients on SVGFont glyphs to not paint correctly.
962         I chose not to try and fix the bug in this patch and instead left a FIXME.
963
964         This patch also discovered that at least tspan.getBBox() is broken.  This
965         along with the foreignObject.getBBox() change will be tested (and fixed) in a
966         later patch.  https://bugs.webkit.org/show_bug.cgi?id=25225
967
968         No change in behavior (besides the above mentioned foreignObject.getBBox()), thus no tests.
969
970         * rendering/RenderForeignObject.cpp:
971         (WebCore::RenderForeignObject::objectBoundingBox): this is a behavior improvement for getBBox() test case coming in a later patch
972         (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): only really used for layout test results, might some day be used for repaint.
973         * rendering/RenderForeignObject.h:
974         * rendering/RenderObject.cpp:
975         (WebCore::RenderObject::objectBoundingBox): new methods, ASSERT if used but not implemented.
976         (WebCore::RenderObject::repaintRectInLocalCoordinates):
977         * rendering/RenderObject.h:
978         * rendering/RenderPath.cpp:
979         (WebCore::RenderPath::objectBoundingBox):
980         (WebCore::RenderPath::repaintRectInLocalCoordinates):
981         (WebCore::RenderPath::clippedOverflowRectForRepaint):
982         (WebCore::RenderPath::lineHeight):
983         (WebCore::RenderPath::baselinePosition):
984         (WebCore::RenderPath::paint):
985         (WebCore::RenderPath::addFocusRingRects):
986         * rendering/RenderPath.h:
987         * rendering/RenderSVGContainer.cpp:
988         (WebCore::RenderSVGContainer::paint):
989         (WebCore::RenderSVGContainer::objectBoundingBox):
990         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
991         * rendering/RenderSVGContainer.h:
992         * rendering/RenderSVGGradientStop.h:
993         (WebCore::RenderSVGGradientStop::objectBoundingBox):
994         (WebCore::RenderSVGGradientStop::repaintRectInLocalCoordinates):
995         * rendering/RenderSVGHiddenContainer.cpp:
996         (WebCore::RenderSVGHiddenContainer::objectBoundingBox):
997         (WebCore::RenderSVGHiddenContainer::repaintRectInLocalCoordinates):
998         * rendering/RenderSVGHiddenContainer.h:
999         * rendering/RenderSVGImage.cpp:
1000         (WebCore::RenderSVGImage::objectBoundingBox):
1001         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
1002         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
1003         (WebCore::RenderSVGImage::addFocusRingRects):
1004         * rendering/RenderSVGImage.h:
1005         * rendering/RenderSVGRoot.cpp:
1006         (WebCore::RenderSVGRoot::paint):
1007         (WebCore::RenderSVGRoot::objectBoundingBox):
1008         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
1009         * rendering/RenderSVGRoot.h:
1010         * rendering/RenderSVGTSpan.h:
1011         (WebCore::RenderSVGTSpan::objectBoundingBox):
1012         (WebCore::RenderSVGTSpan::repaintRectInLocalCoordinates):
1013         * rendering/RenderSVGText.cpp:
1014         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
1015         (WebCore::RenderSVGText::absoluteRects):
1016         (WebCore::RenderSVGText::absoluteQuads):
1017         (WebCore::RenderSVGText::objectBoundingBox):
1018         (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
1019         * rendering/RenderSVGText.h:
1020         * rendering/RenderSVGViewportContainer.cpp:
1021         (WebCore::RenderSVGViewportContainer::viewportTransform):
1022         * rendering/SVGRenderSupport.cpp:
1023         (WebCore::computeContainerBoundingBox):
1024         * rendering/SVGRenderSupport.h:
1025         * rendering/SVGRenderTreeAsText.cpp:
1026         (WebCore::operator<<):
1027         * svg/SVGFont.cpp:
1028         (WebCore::Font::drawTextUsingSVGFont):
1029         * svg/SVGLocatable.cpp:
1030         (WebCore::SVGLocatable::getBBox):
1031         * svg/SVGPatternElement.cpp:
1032         (WebCore::SVGPatternElement::buildPattern):
1033         * svg/graphics/SVGPaintServerGradient.cpp:
1034         (WebCore::createMaskAndSwapContextForTextGradient):
1035         (WebCore::clipToTextMask):
1036         (WebCore::SVGPaintServerGradient::setup):
1037         * svg/graphics/SVGPaintServerPattern.cpp:
1038         (WebCore::SVGPaintServerPattern::setup):
1039
1040 2009-04-16  Dan Bernstein  <mitz@apple.com>
1041
1042         Reviewed by Darin Adler.
1043
1044         - fix <rdar://problem/6032139> Table cell widths calculated
1045           incorrectly on table that uses table-layout:fixed, colspans, and a mix
1046           of percentage and pixel widths
1047
1048         Test: fast/table/fixed-granular-cols.html
1049
1050         The incorrect widths resulted from incorrect handling of the case where
1051         the <col> elements are more granular than the table cells.
1052
1053         * rendering/FixedTableLayout.cpp:
1054         (WebCore::FixedTableLayout::calcWidthArray): When processing <col>
1055         elements, append effective columns or split existing effective columns
1056         as needed.
1057
1058 2009-04-16  Alexey Proskuryakov  <ap@webkit.org>
1059
1060         <rdar://problem/6795285> Infinite recursion in ResourceHandle::receivedRequestToContinueWithoutCredential
1061
1062         Rolled out <http://trac.webkit.org/projects/webkit/changeset/42536> - the two instances of
1063         authentication challenge are different, after all. Added a FIXME comment about a possible
1064         future improvement.
1065
1066         * platform/network/ResourceHandle.cpp:
1067         (WebCore::ResourceHandle::clearAuthentication):
1068         * platform/network/ResourceHandleInternal.h:
1069         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1070         * platform/network/cf/ResourceHandleCFNet.cpp:
1071         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1072         (WebCore::ResourceHandle::receivedCredential):
1073         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
1074         (WebCore::ResourceHandle::receivedCancellation):
1075         * platform/network/mac/ResourceHandleMac.mm:
1076         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1077         (WebCore::ResourceHandle::didCancelAuthenticationChallenge):
1078         (WebCore::ResourceHandle::receivedCredential):
1079         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
1080         (WebCore::ResourceHandle::receivedCancellation):
1081
1082 2009-04-15  Geoffrey Garen  <ggaren@apple.com>
1083
1084         Reviewed by Sam Weinig.
1085         
1086         More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
1087         Unbounded memory growth when churning elements with anonymous event handler functions
1088
1089         Also fixed <rdar://problem/6792909> WebInspector crashes when reloading
1090         a page with breakpoints set
1091         
1092         * bindings/js/JSEventListener.cpp:
1093         (WebCore::JSEventListener::clearJSFunctionInline):
1094         (WebCore::JSEventListener::markJSFunction):
1095         * bindings/js/JSEventListener.h: Actually clear our function and global
1096         object pointers when our client instructs us to. (Oops!) Also, mark
1097         our global object while we still intend to use it.
1098
1099         * bindings/js/JSSVGElementInstanceCustom.cpp:
1100         (WebCore::JSSVGElementInstance::mark):
1101         (WebCore::toJS):
1102         * bindings/scripts/CodeGeneratorJS.pm:
1103         * svg/SVGElementInstance.idl: For every SVGElementInstance wrapper, ensure
1104         that the corresponding element also has a wrapper, to keep its event
1105         listeners alive.
1106
1107 2009-04-15  Dimitri Glazkov  <dglazkov@chromium.org>
1108
1109         Reviewed by Darin Fisher.
1110
1111         https://bugs.webkit.org/show_bug.cgi?id=25201
1112         Add ScriptFunctionCall/ScriptObject for V8.
1113
1114         * bindings/v8/ScriptFunctionCall.cpp: Added.
1115         * bindings/v8/ScriptFunctionCall.h: Added.
1116         * bindings/v8/ScriptObject.cpp: Added.
1117         * bindings/v8/ScriptObject.h: Added.
1118         * bindings/v8/ScriptObjectQuarantine.cpp: Added.
1119         * bindings/v8/ScriptObjectQuarantine.h: Added.
1120         * bindings/v8/ScriptScope.cpp: Added.
1121         * bindings/v8/ScriptScope.h: Added.
1122         * bindings/v8/ScriptState.h:
1123         (WebCore::ScriptState::ScriptState): Added new constructors.
1124         (WebCore::ScriptState::frame): Added Frame ptr accessor.
1125         * bindings/v8/ScriptString.h:
1126         (WebCore::ScriptString::ScriptString): Added default constructor.
1127         * bindings/v8/ScriptValue.h:
1128         (WebCore::ScriptValue::isEqual): Added.
1129
1130 2009-04-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1131
1132         Unreviewed build fix. Add RenderSVGModelObject.* to GTK+'s build.
1133
1134         * GNUmakefile.am:
1135
1136 2009-04-15  Steve Falkenburg  <sfalken@apple.com>
1137
1138         <rdar://problem/6785760> WebCore should use a maximum of 6 connections per host, not 4
1139
1140         Reviewed by Adam Roben.
1141
1142         * platform/network/ResourceRequestBase.cpp:
1143         * platform/network/cf/ResourceRequestCFNet.cpp:
1144         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
1145
1146 2009-04-15  Sam Weinig  <sam@webkit.org>
1147
1148         Reviewed by Mark Rowe.
1149
1150         Add special casing to bindings generator so that custom functions
1151         starting with xml or xslt conform to WebKit style guidelines.
1152
1153         * bindings/js/JSDOMWindowCustom.cpp:
1154         (WebCore::JSDOMWindow::xmlHttpRequest):
1155         (WebCore::JSDOMWindow::xsltProcessor):
1156         * bindings/scripts/CodeGenerator.pm:
1157
1158 2009-04-15  Eric Seidel  <eric@webkit.org>
1159
1160         Reviewed by Simon Fraser.
1161
1162         Add minimal RenderSVGModelObject and make RenderPath and RenderSVGContainer use it.
1163         https://bugs.webkit.org/show_bug.cgi?id=25221
1164         
1165         RenderSVGModelObject is the base rendering class for things which live
1166         in the SVG rendering tree.  Not all SVG renders are RenderSVGModelObjects yet.
1167         
1168         More patches coming.  This is just adding the class, future patches
1169         will pull more logic out of RenderPath and RenderSVGContainer into RenderSVGModelObject.
1170
1171         * WebCore.pro:
1172         * WebCore.scons:
1173         * WebCore.vcproj/WebCore.vcproj:
1174         * WebCore.xcodeproj/project.pbxproj:
1175         * rendering/RenderPath.cpp:
1176         (WebCore::RenderPath::RenderPath):
1177         * rendering/RenderPath.h:
1178         * rendering/RenderSVGContainer.cpp:
1179         (WebCore::RenderSVGContainer::RenderSVGContainer):
1180         * rendering/RenderSVGContainer.h:
1181         * rendering/RenderSVGModelObject.cpp: Added.
1182         (WebCore::RenderSVGModelObject::RenderSVGModelObject):
1183         * rendering/RenderSVGModelObject.h: Added.
1184         (WebCore::RenderSVGModelObject::requiresLayer):
1185         * rendering/RenderTreeAsText.cpp:
1186         * rendering/SVGRenderTreeAsText.cpp:
1187
1188 2009-04-15  Eric Seidel  <eric@webkit.org>
1189
1190         Reviewed by Simon Fraser.
1191
1192         Remove more dead code from RenderSVGHiddenContainer.
1193
1194         lineHeight and baselinePosition used to be on RenderSVGContainer
1195         (of which this is a subclass) because RenderSVGContainer used
1196         to be a RenderBox and always the renderer for <svg>
1197         Now <svg> uses RenderSVGRoot when needing a RenderBox (inside HTML)
1198         and RenderSVGViewportContainer (when inside SVG content)
1199         so there is no need for RenderSVGHiddenContainer to have these HTML-specific methods.
1200
1201         * rendering/RenderSVGHiddenContainer.cpp:
1202         * rendering/RenderSVGHiddenContainer.h:
1203
1204 2009-04-15  Eric Seidel  <eric@webkit.org>
1205
1206         Reviewed by Simon Fraser.
1207
1208         Remove unneeded (broken) code from SVG renderers
1209         https://bugs.webkit.org/show_bug.cgi?id=25214
1210
1211         Mostly due to my historical confusions about the render tree
1212         and some methods not being removed after classes were split.
1213
1214         RenderSVGRoot is an RenderBox and should just use all the
1215         standard RenderBox methods for inspector and repaint rects.
1216
1217         RenderSVGContainer is *not* a RenderBox (any more) and thus
1218         doesn't need lineHeight or width/height or calcBounds.
1219
1220         RenderSVGViewportContainer had some broken code which tried
1221         to see if the click was inside the container at all, but it
1222         was using width/height metrics based off of the containing
1223         block (from calcWidth) which is wrong (since its real
1224         width/height are from its containing viewport not containing block).
1225
1226         * rendering/RenderSVGContainer.cpp:
1227         (WebCore::RenderSVGContainer::RenderSVGContainer):
1228         (WebCore::RenderSVGContainer::layout):
1229         * rendering/RenderSVGContainer.h:
1230         * rendering/RenderSVGRoot.cpp:
1231         * rendering/RenderSVGRoot.h:
1232         * rendering/RenderSVGViewportContainer.cpp:
1233         (WebCore::RenderSVGViewportContainer::layout):
1234         (WebCore::RenderSVGViewportContainer::nodeAtPoint):
1235
1236 2009-04-15  Eric Seidel  <eric@webkit.org>
1237
1238         Reviewed by Simon Fraser and Sam Weinig.
1239
1240         https://bugs.webkit.org/show_bug.cgi?id=25217
1241         Simplify nearestViewportElement and farthestViewportElement using isViewportElement and a for loop
1242         Add ASSERT(element) to all these functions since they should never be passed a null element.
1243
1244         * svg/SVGLocatable.cpp:
1245         (WebCore::isViewportElement):
1246         (WebCore::SVGLocatable::nearestViewportElement):
1247         (WebCore::SVGLocatable::farthestViewportElement):
1248         (WebCore::SVGLocatable::getBBox):
1249         (WebCore::SVGLocatable::getCTM):
1250         (WebCore::SVGLocatable::getScreenCTM):
1251
1252 2009-04-15  Sam Weinig  <sam@webkit.org>
1253
1254         Reviewed by Anders Carlsson.
1255
1256         Remove support for the ObjCIvar extended attribute from the Objective-C
1257         bindings generator.  It is not used anymore.
1258
1259         * bindings/scripts/CodeGeneratorObjC.pm:
1260
1261 2009-04-15  Justin Garcia  <justin.garcia@apple.com>
1262
1263         Reviewed by Dan Bernstein.
1264
1265         https://bugs.webkit.org/show_bug.cgi?id=25204
1266         Create a fast path for ReplaceSelectionCommand that merges text nodes
1267         
1268         During simple pastes, where we're just pasting a text node into a run of text, we would split the current
1269         text and insert the new node in between.  This is slow and we hit this bug:
1270
1271         https://bugs.webkit.org/show_bug.cgi?id=6148
1272
1273         in the layout and rendering code where adjacent text nodes don't shape correctly in Arabic.
1274         
1275         This change creates a fast path for ReplaceSelectionCommand that inserts text directly into the
1276         text node that holds the selection (very similar to the fast path we wrote for InsertTextCommand).
1277
1278         * editing/ReplaceSelectionCommand.cpp:
1279         (WebCore::ReplaceSelectionCommand::doApply):
1280         (WebCore::ReplaceSelectionCommand::performTrivialReplace):
1281         * editing/ReplaceSelectionCommand.h:
1282         * editing/TextIterator.cpp:
1283
1284 2009-04-15  Adam Langley  <agl@google.com>
1285
1286         Reviewed by Darin Fisher.
1287
1288         Move VDMX parsing into the Chromium Linux port.
1289
1290         https://bugs.webkit.org/show_bug.cgi?id=25116
1291
1292         VDMX tables are optional tables in TrueType fonts which contain the
1293         exact pixel height of a given font at a given pel size. In order to
1294         match Windows font metrics we have to use these numbers.
1295
1296         Previously, the parsing was performed in Skia. As part of the merge
1297         with upstream Skia, an interface for getting table data from a font
1298         has been added to Skia and we're moving the parsing into WebKit.
1299
1300         This does not change any layout tests.
1301
1302         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1303         (WebCore::FontPlatformData::uniqueID):
1304         * platform/graphics/chromium/FontPlatformDataLinux.h:
1305         * platform/graphics/chromium/FontTrueTypeLinux.cpp: Added.
1306         * platform/graphics/chromium/FontTrueTypeLinux.h: Added.
1307         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
1308         (WebCore::SimpleFontData::platformInit):
1309         (WebCore::SimpleFontData::platformWidthForGlyph):
1310
1311 2009-04-15  Stephen White  <senorblanco@chromium.org>
1312
1313         Reviewed by Dimitri Glazkov.
1314
1315         https://bugs.webkit.org/show_bug.cgi?id=25180
1316
1317         Restore stroked outlines to PlatformContextSkia::drawRect().
1318         These were removed inadvertently in r41805, aka
1319         https://bugs.webkit.org/show_bug.cgi?id=24662.
1320         SkRect is { left, top, right, bottom }, not { left, top, width, height }.
1321
1322         * platform/graphics/skia/PlatformContextSkia.cpp:
1323         (PlatformContextSkia::drawRect):
1324
1325 2009-04-15  Dan Bernstein  <mitz@apple.com>
1326
1327         Reviewed by Dave Hyatt.
1328
1329         - fix <rdar://problem/6777374> Generated content with display: run-in
1330           causes a crash
1331
1332         Test: fast/runin/generated.html
1333
1334         * rendering/RenderBlock.cpp:
1335         (WebCore::RenderBlock::handleRunInChild): Check if the run-in block is
1336         generated, and if so, make the RenderInline anonymous instead of passing
1337         a 0 node to the RenderInline constructor. If the run-in itself is
1338         generated, do move :before and :after children from the block into the
1339         inline, as they will not be regenerated. Changed nested ifs into early
1340         returns.
1341
1342 2009-04-15  Eric Roman  <eroman@chromium.org>
1343
1344         Reviewed by Geoffrey Garen.
1345
1346         https://bugs.webkit.org/show_bug.cgi?id=25192
1347
1348         Expose DOMWindow::removeInlineEventListenerForType and
1349         DOMWindow::inlineEventListenerForType as public.
1350
1351         * page/DOMWindow.h:
1352
1353 2009-04-14  Eric Roman  <eroman@chromium.org>
1354
1355         Reviewed by Darin Adler.
1356
1357         https://bugs.webkit.org/show_bug.cgi?id=25198
1358
1359         Wrap RegisteredEventListener's markEventListeners and invalidateEventListeners
1360         in a USE(JSC), since it doesn't compile with V8 bindings.
1361
1362         * dom/RegisteredEventListener.h:
1363
1364 2009-04-15  Eric Roman  <eroman@chromium.org>
1365
1366         Reviewed by Darin Adler.
1367
1368         https://bugs.webkit.org/show_bug.cgi?id=25194
1369
1370         Fix a caller of Settings::javaScriptCanOpenWindowsAutomatically() to
1371         use the new name.
1372
1373         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1374
1375 2009-04-14  Alexey Proskuryakov  <ap@webkit.org>
1376
1377         Rubber-stamped by Darin Adler.
1378
1379         Don't keep platform objects for authentication challenge in ResourceHandleInternal.
1380         We already have a copy in AuthenticationChallenge object.
1381
1382         * platform/network/ResourceHandle.cpp:
1383         (WebCore::ResourceHandle::clearAuthentication):
1384         * platform/network/ResourceHandleInternal.h:
1385         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1386         * platform/network/cf/ResourceHandleCFNet.cpp:
1387         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1388         (WebCore::ResourceHandle::receivedCredential):
1389         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
1390         (WebCore::ResourceHandle::receivedCancellation):
1391         * platform/network/mac/ResourceHandleMac.mm:
1392         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1393         (WebCore::ResourceHandle::didCancelAuthenticationChallenge):
1394         (WebCore::ResourceHandle::receivedCredential):
1395         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
1396         (WebCore::ResourceHandle::receivedCancellation):
1397
1398 2009-04-14  Geoffrey Garen  <ggaren@apple.com>
1399
1400         Reviewed by Sam Weinig.
1401
1402         Nixed some now-defunct autogeneration code.
1403
1404         * bindings/scripts/CodeGeneratorJS.pm:
1405
1406 2009-04-14  Eric Carlson  <eric.carlson@apple.com>
1407
1408         Reviewed by Alexey Proskuryakov.
1409         
1410         Fix <rdar://problem/6755724> <audio> and <video> elements can reference local 
1411         file:/// URLs from remote in Safari
1412
1413         Tests: http/tests/security/local-video-poster-from-remote.html
1414                http/tests/security/local-video-source-from-remote.html
1415                http/tests/security/local-video-src-from-remote.html
1416
1417         * html/HTMLMediaElement.cpp:
1418         (WebCore::HTMLMediaElement::loadResource): Don't pass url to media engine unless loader->canLoad()
1419         says it is OK.
1420
1421 2009-04-14  Sam Weinig  <sam@webkit.org>
1422
1423         Reviewed by Darin Adler.
1424
1425         Part of <rdar://problem/6150868>
1426         Fix incorrect handling of content that needs to go into the head element
1427         once the head element has been removed.
1428
1429         Test: fast/parser/head-content-after-head-removal.html
1430
1431         * html/HTMLParser.cpp:
1432         (WebCore::HTMLParser::HTMLParser): Remove unneeded initializer of m_head.
1433         (WebCore::HTMLParser::handleError): Update since m_head is now a RefPtr.
1434         (WebCore::HTMLParser::createHead): Ditto.
1435         * html/HTMLParser.h: Make m_head a RefPtr.
1436
1437 2009-04-14  Geoffrey Garen  <ggaren@apple.com>
1438
1439         Used svn merge -r42529:42528 to roll out my last patch because it broke
1440         the build.
1441
1442         * bindings/js/JSDOMGlobalObject.cpp:
1443         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
1444         (WebCore::JSDOMGlobalObject::findJSProtectedEventListener):
1445         (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
1446         (WebCore::JSDOMGlobalObject::jsProtectedEventListeners):
1447         (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners):
1448         * bindings/js/JSDOMGlobalObject.h:
1449
1450 2009-04-14  Geoffrey Garen  <ggaren@apple.com>
1451
1452         Reviewed by Sam Weinig.
1453
1454         Nixed some now-dead code related to protected event listeners.
1455
1456         * bindings/js/JSDOMGlobalObject.cpp:
1457         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
1458         * bindings/js/JSDOMGlobalObject.h:
1459
1460 2009-04-14  Geoffrey Garen  <ggaren@apple.com>
1461
1462         Reviewed by Sam Weinig.
1463
1464         More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
1465         Unbounded memory growth when churning elements with anonymous event handler functions
1466
1467         Stop using protected event listeners on SVGElementInstance.
1468
1469         * bindings/js/JSSVGElementInstanceCustom.cpp:
1470         (WebCore::JSSVGElementInstance::mark): Mark our event listeners, since
1471         they're not protected anymore.
1472
1473         (WebCore::JSSVGElementInstance::addEventListener):
1474         (WebCore::JSSVGElementInstance::removeEventListener): Make unprotected
1475         event listeners, since we mark them now.
1476
1477         * bindings/scripts/CodeGeneratorJS.pm: Autogenerate event listener
1478         invalidation for SVGElementInstance.
1479
1480         * svg/SVGElementInstance.h:
1481         (WebCore::SVGElementInstance::eventListeners): Added an accessor, for
1482         the sake of autogenerated code.
1483
1484         * svg/SVGElementInstance.idl: Removed the ProtectedEventListener attribute
1485         from event listener properties. Added a CustomMarkFunction attribute,
1486         since we need to mark our event listeners.
1487
1488 2009-04-14  Steve Falkenburg  <sfalken@apple.com>
1489
1490         Windows build fix.
1491
1492         * WebCore.vcproj/WebCore.vcproj:
1493
1494 2009-04-14  Steve Falkenburg  <sfalken@apple.com>
1495
1496         Add header guards to WebCore forwarding headers.
1497         
1498         Speeds up WebCore debug build on Windows by 12% on my system,
1499         since Visual Studio appears to not optimize for standard header
1500         guards in included files.
1501         
1502         Rubber stamped by Ada Chan.
1503
1504         * ForwardingHeaders/debugger/Debugger.h:
1505         * ForwardingHeaders/debugger/DebuggerActivation.h:
1506         * ForwardingHeaders/debugger/DebuggerCallFrame.h:
1507         * ForwardingHeaders/interpreter/CallFrame.h:
1508         * ForwardingHeaders/interpreter/Interpreter.h:
1509         * ForwardingHeaders/masm/X86Assembler.h:
1510         * ForwardingHeaders/parser/Parser.h:
1511         * ForwardingHeaders/parser/SourceCode.h:
1512         * ForwardingHeaders/parser/SourceProvider.h:
1513         * ForwardingHeaders/pcre/pcre.h:
1514         * ForwardingHeaders/profiler/Profile.h:
1515         * ForwardingHeaders/profiler/ProfileNode.h:
1516         * ForwardingHeaders/profiler/Profiler.h:
1517         * ForwardingHeaders/runtime/ArgList.h:
1518         * ForwardingHeaders/runtime/ArrayPrototype.h:
1519         * ForwardingHeaders/runtime/BooleanObject.h:
1520         * ForwardingHeaders/runtime/CallData.h:
1521         * ForwardingHeaders/runtime/Collector.h:
1522         * ForwardingHeaders/runtime/CollectorHeapIterator.h:
1523         * ForwardingHeaders/runtime/Completion.h:
1524         * ForwardingHeaders/runtime/ConstructData.h:
1525         * ForwardingHeaders/runtime/DateInstance.h:
1526         * ForwardingHeaders/runtime/Error.h:
1527         * ForwardingHeaders/runtime/FunctionConstructor.h:
1528         * ForwardingHeaders/runtime/FunctionPrototype.h:
1529         * ForwardingHeaders/runtime/Identifier.h:
1530         * ForwardingHeaders/runtime/InitializeThreading.h:
1531         * ForwardingHeaders/runtime/InternalFunction.h:
1532         * ForwardingHeaders/runtime/JSArray.h:
1533         * ForwardingHeaders/runtime/JSByteArray.h:
1534         * ForwardingHeaders/runtime/JSFunction.h:
1535         * ForwardingHeaders/runtime/JSGlobalData.h:
1536         * ForwardingHeaders/runtime/JSGlobalObject.h:
1537         * ForwardingHeaders/runtime/JSLock.h:
1538         * ForwardingHeaders/runtime/JSNumberCell.h:
1539         * ForwardingHeaders/runtime/JSObject.h:
1540         * ForwardingHeaders/runtime/JSString.h:
1541         * ForwardingHeaders/runtime/JSValue.h:
1542         * ForwardingHeaders/runtime/Lookup.h:
1543         * ForwardingHeaders/runtime/ObjectPrototype.h:
1544         * ForwardingHeaders/runtime/Operations.h:
1545         * ForwardingHeaders/runtime/PropertyMap.h:
1546         * ForwardingHeaders/runtime/PropertyNameArray.h:
1547         * ForwardingHeaders/runtime/Protect.h:
1548         * ForwardingHeaders/runtime/PrototypeFunction.h:
1549         * ForwardingHeaders/runtime/StringObject.h:
1550         * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h:
1551         * ForwardingHeaders/runtime/StringPrototype.h:
1552         * ForwardingHeaders/runtime/Structure.h:
1553         * ForwardingHeaders/runtime/SymbolTable.h:
1554         * ForwardingHeaders/runtime/UString.h:
1555         * ForwardingHeaders/wrec/WREC.h:
1556         * ForwardingHeaders/wtf/ASCIICType.h:
1557         * ForwardingHeaders/wtf/AlwaysInline.h:
1558         * ForwardingHeaders/wtf/Assertions.h:
1559         * ForwardingHeaders/wtf/ByteArray.h:
1560         * ForwardingHeaders/wtf/CurrentTime.h:
1561         * ForwardingHeaders/wtf/Deque.h:
1562         * ForwardingHeaders/wtf/DisallowCType.h:
1563         * ForwardingHeaders/wtf/FastMalloc.h:
1564         * ForwardingHeaders/wtf/Forward.h:
1565         * ForwardingHeaders/wtf/GetPtr.h:
1566         * ForwardingHeaders/wtf/HashCountedSet.h:
1567         * ForwardingHeaders/wtf/HashFunctions.h:
1568         * ForwardingHeaders/wtf/HashMap.h:
1569         * ForwardingHeaders/wtf/HashSet.h:
1570         * ForwardingHeaders/wtf/HashTable.h:
1571         * ForwardingHeaders/wtf/HashTraits.h:
1572         * ForwardingHeaders/wtf/ListHashSet.h:
1573         * ForwardingHeaders/wtf/ListRefPtr.h:
1574         * ForwardingHeaders/wtf/Locker.h:
1575         * ForwardingHeaders/wtf/MainThread.h:
1576         * ForwardingHeaders/wtf/MathExtras.h:
1577         * ForwardingHeaders/wtf/MessageQueue.h:
1578         * ForwardingHeaders/wtf/Noncopyable.h:
1579         * ForwardingHeaders/wtf/NotFound.h:
1580         * ForwardingHeaders/wtf/OwnArrayPtr.h:
1581         * ForwardingHeaders/wtf/OwnPtr.h:
1582         * ForwardingHeaders/wtf/PassRefPtr.h:
1583         * ForwardingHeaders/wtf/Platform.h:
1584         * ForwardingHeaders/wtf/PtrAndFlags.h:
1585         * ForwardingHeaders/wtf/RandomNumber.h:
1586         * ForwardingHeaders/wtf/RefCounted.h:
1587         * ForwardingHeaders/wtf/RefCountedLeakCounter.h:
1588         * ForwardingHeaders/wtf/RefPtr.h:
1589         * ForwardingHeaders/wtf/RetainPtr.h:
1590         * ForwardingHeaders/wtf/StdLibExtras.h:
1591         * ForwardingHeaders/wtf/StringExtras.h:
1592         * ForwardingHeaders/wtf/ThreadSpecific.h:
1593         * ForwardingHeaders/wtf/Threading.h:
1594         * ForwardingHeaders/wtf/TypeTraits.h:
1595         * ForwardingHeaders/wtf/UnusedParam.h:
1596         * ForwardingHeaders/wtf/Vector.h:
1597         * ForwardingHeaders/wtf/VectorTraits.h:
1598         * ForwardingHeaders/wtf/dtoa.h:
1599         * ForwardingHeaders/wtf/unicode/Collator.h:
1600         * ForwardingHeaders/wtf/unicode/UTF8.h:
1601         * ForwardingHeaders/wtf/unicode/Unicode.h:
1602         * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h:
1603
1604 2009-04-14  Sam Weinig  <sam@webkit.org>
1605
1606         Reviewed by Adele Peterson.
1607
1608         Use a template function to generalize the way we create non-caching
1609         JS function getters.
1610
1611         * bindings/js/JSDOMWindowCustom.cpp:
1612         * bindings/js/JSDOMWindowCustom.h:
1613         (WebCore::nonCachingStaticFunctionGetter):
1614         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
1615
1616 2009-04-14  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>
1617
1618         Reviewed by George Staikos.
1619
1620         https://bugs.webkit.org/show_bug.cgi?id=25099
1621
1622         When creating a QNetworkRequest make sure to populate the
1623         CacheLoadControlAttribute with the value set by the ResourceRequest::cachePolicy() so that the cache will be used as WebKit expects.
1624
1625         * WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:
1626         (tst_QWebPage::requestCache):
1627
1628         * platform/network/qt/ResourceRequestQt.cpp:
1629         (WebCore::ResourceRequest::toNetworkRequest):
1630
1631 2009-04-14  Timothy Hatcher  <timothy@apple.com>
1632
1633         Fix a world leak caused by opening the Web Inspector. This was
1634         a regression caused by the InspectorController becoming refcounted.
1635
1636         <rdar://problem/6782944>
1637
1638         Reviewed by Darin Adler.
1639
1640         * bindings/js/ScriptObject.cpp:
1641         (WebCore::ScriptGlobalObject::get): Renamed to better match the
1642         other functions.
1643         (WebCore::ScriptGlobalObject::remove): Added. Deletes the property.
1644         * bindings/js/ScriptObject.h:
1645         * inspector/InspectorController.cpp:
1646         (WebCore::InspectorController::~InspectorController): Do less work
1647         at destruction time since the object lifetime is tied to JS GC.
1648         Assert that inspectedPageDestroyed cleared everything needed.
1649         (WebCore::InspectorController::inspectedPageDestroyed): Do most
1650         of the work that ~InspectorController was doing.
1651         (WebCore::InspectorController::scriptObjectReady): Renamed getObject.
1652
1653 2009-04-14  Antony Sargent  <asargent@chromium.org>
1654
1655         Reviewed by Dimitri Glazkov.
1656
1657         This is some cleanup motivated by the crash in http://crbug.com/9775 , which 
1658         happens because of calling window.open inside a window.onload handler. 
1659
1660         These changes are just part of the fix, along with some asserts to help prevent
1661         breakage on future changes. 
1662
1663         https://bugs.webkit.org/show_bug.cgi?id=25132
1664
1665         * bindings/v8/V8EventListenerList.cpp:
1666         (WebCore::V8EventListenerList::add):
1667         (WebCore::V8EventListenerList::remove):
1668         (WebCore::V8EventListenerList::clear):
1669         * bindings/v8/V8EventListenerList.h:
1670         (WebCore::V8EventListenerList::size):
1671
1672 2009-04-14  Evan Martin  <evan@chromium.org>
1673
1674         Reviewed by Darin Adler.
1675
1676         https://bugs.webkit.org/show_bug.cgi?id=25142
1677         Fix a race that can occur between flex and the perl script that parses
1678         its output.
1679
1680         * css/maketokenizer: Consume all input.
1681
1682 2009-04-14  Rohit Rao  <rohitrao@google.com>
1683
1684         Reviewed by Dan Bernstein.
1685
1686         https://bugs.webkit.org/show_bug.cgi?id=25184
1687         Do not change the text color for selected text in Mac Chromium.
1688
1689         * rendering/RenderThemeChromiumMac.h:
1690         (WebCore::RenderThemeChromiumMac::supportsSelectionForegroundColors):
1691         Now returns false, matching the behavior of Safari on Mac.
1692
1693 2009-04-14  Justin Garcia  <justin.garcia@apple.com>
1694
1695         Reviewed by Eric Seidel.
1696
1697         https://bugs.webkit.org/show_bug.cgi?id=25172
1698         Extra partial layout during the first keypress in an empty block
1699         
1700         Determining if a placeholder needs to be removed requires the creation of a VisiblePosition 
1701         which was triggering layout before we were finished modifying the DOM for the insert operation.
1702         
1703         Find out if we need to remove a placeholder near the start of the operation, and if we do remember 
1704         where it's located.  Then, later, remove it along with all of the other DOM operations we perform.
1705         
1706         Renamed lineBreakExistsAtPosition to lineBreakExistsAtVisiblePosition and added a lineBreakExistsAtPosition
1707         that takes in a Position.  In InsertTextCommand, we can use the latter, since we normalize manually.
1708         
1709         removePlaceholderAt now takes in a Position that it assumes has already been checked for a placeholder.
1710         
1711         No test added as this only effects performance.
1712
1713         * editing/BreakBlockquoteCommand.cpp:
1714         (WebCore::BreakBlockquoteCommand::doApply):
1715         * editing/CompositeEditCommand.cpp:
1716         (WebCore::CompositeEditCommand::removePlaceholderAt):
1717         (WebCore::CompositeEditCommand::moveParagraphs):
1718         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
1719         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
1720         * editing/CompositeEditCommand.h:
1721         * editing/DeleteSelectionCommand.cpp:
1722         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
1723         (WebCore::DeleteSelectionCommand::doApply):
1724         * editing/FormatBlockCommand.cpp:
1725         (WebCore::FormatBlockCommand::doApply):
1726         * editing/InsertLineBreakCommand.cpp:
1727         (WebCore::InsertLineBreakCommand::doApply):
1728         * editing/InsertParagraphSeparatorCommand.cpp:
1729         (WebCore::InsertParagraphSeparatorCommand::doApply):
1730         * editing/InsertTextCommand.cpp:
1731         (WebCore::InsertTextCommand::input):
1732         * editing/htmlediting.cpp:
1733         (WebCore::lineBreakExistsAtVisiblePosition):
1734         (WebCore::lineBreakExistsAtPosition):
1735         * editing/htmlediting.h:
1736
1737 2009-04-14  Adam Roben  <aroben@apple.com>
1738
1739         Remove support for profile-guided optimization on Windows
1740
1741         Rubber-stamped by Steve Falkenburg.
1742
1743         * WebCore.vcproj/WebCore.vcproj: Removed the Release_PGO
1744         configuration.
1745
1746 2009-04-14  Dmitry Titov  <dimich@chromium.org>
1747
1748         Reviewed by Dimitri Glazkov.
1749
1750         https://bugs.webkit.org/show_bug.cgi?id=25163
1751         Upstream fix for releasing v8 objects on worker thread termination in Chromium.
1752
1753         * bindings/v8/V8DOMMap.cpp:
1754         (WebCore::domDataList): Now uses Vector instead of HashMap.
1755         (WebCore::domDataListMutex):
1756         (WebCore::ThreadSpecificDOMData::ThreadSpecificDOMData):  remove usage of currentThread();
1757         (WebCore::ThreadSpecificDOMData::~ThreadSpecificDOMData): ditto.
1758         (WebCore::NonMainThreadSpecificDOMData::~NonMainThreadSpecificDOMData): moved call to removeAllDOMObjectsInCurrentThread() to ~WorkerScriptController.
1759         (WebCore::handleWeakObjectInOwningThread):
1760         (WebCore::derefDelayedObjects):
1761         (WebCore::removeAllDOMObjectsInCurrentThread): not static anymore.
1762         * bindings/v8/V8DOMMap.h:
1763         * bindings/v8/WorkerContextExecutionProxy.cpp:
1764         (WebCore::WorkerContextExecutionProxy::dispose): removed code that avoided dual-dereference of WorkerContext.
1765         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): this ref() is countered in removeAllDOMObjectsInCurrentThread(), when the WorkerContext is removed from the v8 map.
1766         * bindings/v8/WorkerScriptController.cpp:
1767         (WebCore::WorkerScriptController::~WorkerScriptController):
1768
1769 2009-04-14  Adam Roben  <aroben@apple.com>
1770
1771         Fix Bug 25183: Split up WebCore.vcproj's settings into vsprops files
1772
1773         <https://bugs.webkit.org/show_bug.cgi?id=25183>
1774
1775         WebCore.vcproj now uses a set of .vsprops files to store most of its
1776         settings.
1777
1778         Reviewed by Darin Adler.
1779
1780         * WebCore.vcproj/WebCore.vcproj: Moved settings from here into the new
1781         .vsprops files.
1782
1783         * WebCore.vcproj/WebCoreCFNetwork.vsprops: Added. Contains settings
1784         for ports that build against CFNetwork.
1785         * WebCore.vcproj/WebCoreCG.vsprops: Added. Contains settings for ports
1786         that build against CoreGraphics.
1787         * WebCore.vcproj/WebCoreCURL.vsprops: Added. Contains settings for
1788         ports that build against libcurl.
1789         * WebCore.vcproj/WebCoreCairo.vsprops: Added. Contains settings for
1790         ports that build against Cairo.
1791         * WebCore.vcproj/WebCoreCommon.vsprops: Added. Contains settings
1792         shared by all ports.
1793         * WebCore.vcproj/WebCoreMediaQT.vsprops: Added. Contains settings for
1794         ports that use QTMovieWin to implement the MediaPlayerPrivate
1795         interface.
1796         * WebCore.vcproj/WebCorePthreads.vsprops: Added. Contains settings for
1797         ports that build against pthreads.
1798
1799 2009-04-14  Alexey Proskuryakov  <ap@webkit.org>
1800
1801         Reviewed by Darin Adler.
1802
1803         http/tests/xmlhttprequest/basic-auth.html fails on Tiger.
1804
1805         Turns out that NSURLCredentialPersistenceNone doesn't work on Tiger, so we have to use
1806         session persistence.
1807
1808         * platform/network/mac/ResourceHandleMac.mm:
1809         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Route the credential through
1810         receivedCredential(), ensuring that the Tiger-specific need to use session credentials
1811         is honored.
1812         (WebCore::ResourceHandle::receivedCredential): On Tiger, change PersistenceNone to
1813         PersistenceForSession, because the former doesn't work.
1814
1815 2009-04-14  Adele Peterson  <adele@apple.com>
1816
1817         Reviewed by Darin Adler.
1818
1819         Fix for <rdar://problem/6703873> Triple-click quoted line and type Return creates an extra quoted blank line
1820
1821         Test: editing/inserting/6703873.html
1822
1823         * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply):
1824         If the startNode's original parent is now empty, we can remove it.  Its already been cloned and copied with the startNode,
1825         so we only need to keep it around if it actually holds some original content, otherwise it will look like an extra empty 
1826         container in the document.
1827
1828 2009-04-14  Xan Lopez  <xlopez@igalia.com>
1829
1830         Reviewed by Holger Freyther.
1831
1832         https://bugs.webkit.org/show_bug.cgi?id=21546
1833         [GTK] ATK accessibility enhancements
1834
1835         Add a proper implementation of AtkText::get_text and
1836         AtkText::get_character_count, which takes into account non
1837         TextControl text. With this the 'Text' field in Accerciser's
1838         Interface Viewer is filled correctly.
1839
1840         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
1841
1842 2009-04-14  Xan Lopez  <xlopez@igalia.com>
1843
1844         Reviewed by Holger Freyther.
1845
1846         https://bugs.webkit.org/show_bug.cgi?id=21546
1847         [GTK] ATK accessibility enhancements
1848
1849         Remove some dead code and g_return_if_fail from static functions.
1850
1851         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
1852
1853 2009-04-14  Xan Lopez  <xlopez@igalia.com>
1854
1855         Reviewed by Holger Freyther.
1856
1857         https://bugs.webkit.org/show_bug.cgi?id=21546
1858         [GTK] ATK accessibility enhancements
1859
1860         Also implement text interface for StaticTextRole, which covers
1861         most of the text in web pages.
1862
1863         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
1864
1865 2009-04-14  Alexey Proskuryakov  <ap@webkit.org>
1866
1867         Another Windows build fix.
1868
1869         * platform/network/cf/ResourceHandleCFNet.cpp:
1870         (WebCore::WebCoreSynchronousLoader::load):
1871
1872 2009-04-14  Alexey Proskuryakov  <ap@webkit.org>
1873
1874         Windows build fix.
1875
1876         * platform/network/cf/ResourceHandleCFNet.cpp:
1877         (WebCore::WebCoreSynchronousLoader::willSendRequest):
1878         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
1879
1880 2009-04-13  Alexey Proskuryakov  <ap@webkit.org>
1881
1882         Reviewed by Sam Weinig.
1883
1884         <rdar://problem/6698851> Implement XMLHttpRequest withCredentials attribute
1885
1886         * WebCore.xcodeproj/project.pbxproj: Made ThreadableLoader.h private, as enum definitions
1887         from it are now used in otehr private headers.
1888
1889         * xml/XMLHttpRequest.h:
1890         * xml/XMLHttpRequest.idl:
1891         Added withCredentials attribute. When it is false (default), neither credentials nor cookies
1892         are sent with cross origin requests, When it is true, those are sent, but the server needs
1893         to allow handling results via Access-Control-Allow-Credentials header. It was always possible
1894         to send a cross-site request with credentials via IFRAME or IMG, so this just adds a way to
1895         read results, as long as the server reports that it's allowed.
1896         Having the default set to false ensures that requests won't fail unexpectedly because of
1897         stored credentials and cookies for other resources in the target protection space.
1898
1899         * xml/XMLHttpRequest.cpp:
1900         (WebCore::XMLHttpRequest::loadRequestSynchronously): Allow stored credentials for same origin
1901         requests, and for cross origin ones that have withCredentials attribute set. Such code already
1902         existed for cookies (but it's simpler, because we could just set a ResourceRequest flag).
1903         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
1904
1905         * platform/network/ResourceHandle.h: Added willSendRequest() - just like for other callbacks,
1906         is is easier to have code in the class. Also, loadResourceSynchronously() now takes a
1907         StoredCredentials option, matching async case.
1908
1909         * platform/network/ResourceHandleClient.h:
1910         (WebCore::ResourceHandleClient::receivedCredential): Removed. This method could never be
1911         called, and no client used it.
1912         (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential): Ditto.
1913
1914         * platform/network/ResourceHandleInternal.h:
1915         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Split username and password out
1916         of request URL. We want to always get a callback for credentials to manage them in WebCore,
1917         so network back-end shouldn't see them too early.
1918
1919         * platform/network/ResourceRequestBase.cpp:
1920         (WebCore::ResourceRequestBase::removeCredentials):
1921         * platform/network/ResourceRequestBase.h:
1922         Added a removeCredentials() method that removes login and password parts from request URL.
1923
1924         * platform/network/mac/ResourceHandleMac.mm:
1925         (WebCoreCredentialStorage): Added a simple storage class for per-session credentials.
1926         (WebCore::ResourceHandle::loadResourceSynchronously): Pass allowStoredCredentials through.
1927         (WebCore::ResourceHandle::willSendRequest): On a redirect, credentials should be replaced.
1928         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Try credentials from the URL
1929         and per-session credentials. Code was partially moved from Obj-C callback.
1930         (WebCore::ResourceHandle::receivedCredential): Intercept per-session credentials and store
1931         them in WebCore storage.
1932         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Don't
1933         store the redirected URL - we only needed credentials, which are now stored separately.
1934         (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): Removed
1935         code that was setting credentials from URL. First, the code is now in ResourceHandle, and
1936         also, it wasn't actually needed in Leopard release before this patch, see <rdar://problem/5298142>.
1937         (-[WebCoreSynchronousLoader dealloc]): Release credentials. Note that unlike ResourceHandle,
1938         this class still needs to track URL for checking whether a redirect is allowed. This is
1939         not a great solution, and we should unify client code to use the same checks in sync and
1940         async cases.
1941         (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Just like in
1942         async case, put credentials aside to ensure that network back-end asks for them.
1943         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Use credentials
1944         from URL, or from WebCore storage.
1945         (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Don't use stored
1946         credentials when not allowed to.
1947         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
1948         Put credentials aside to ensure that network back-end asks for them.
1949
1950         * platform/network/cf/ResourceHandleCFNet.cpp:
1951         (WebCore::WebCoreCredentialStorage::set):
1952         (WebCore::WebCoreCredentialStorage::get):
1953         (WebCore::willSendRequest):
1954         (WebCore::ResourceHandle::start):
1955         (WebCore::ResourceHandle::willSendRequest):
1956         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1957         (WebCore::ResourceHandle::receivedCredential):
1958         (WebCore::ResourceHandle::loadResourceSynchronously):
1959         (WebCore::WebCoreSynchronousLoader::willSendRequest):
1960         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
1961         (WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage):
1962         (WebCore::WebCoreSynchronousLoader::load):
1963         Same changes as in Mac case.
1964
1965         * platform/network/curl/ResourceHandleCurl.cpp:
1966         (WebCore::ResourceHandle::loadResourceSynchronously):
1967         * platform/network/qt/ResourceHandleQt.cpp:
1968         (WebCore::ResourceHandle::loadResourceSynchronously):
1969         * platform/network/soup/ResourceHandleSoup.cpp:
1970         (WebCore::ResourceHandle::loadResourceSynchronously):
1971         Trying not to break the build.
1972
1973         * dom/XMLTokenizerLibxml2.cpp: (WebCore::openFunc):
1974         * xml/XSLTProcessor.cpp: (WebCore::docLoaderFunc):
1975         Unconditionally allow stored credentials for these, as they only support same origin loads.
1976
1977         * workers/WorkerContext.cpp: (WebCore::WorkerContext::importScripts):
1978         WorkerContext.importScripts() can be cross-origin, but sending credentials with it is no worse
1979         than sending them with <script src=...>, so this is also unconditionally allowed.
1980
1981         * loader/DocumentThreadableLoader.cpp:
1982         (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Pass through storedCredentials.
1983         (WebCore::DocumentThreadableLoader::create): Ditto.
1984         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Save storedCredentials and
1985         sameOrigin flags foruse in callbacks.
1986         (WebCore::DocumentThreadableLoader::willSendRequest): Assert that loaders aren't all confused.
1987         (WebCore::DocumentThreadableLoader::didSendData): Ditto.
1988         (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto.
1989         (WebCore::DocumentThreadableLoader::didReceiveData): Ditto.
1990         (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto.
1991         (WebCore::DocumentThreadableLoader::didFail): Ditto.
1992         (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Don't use credential
1993         storage if that's not allowed by the code that invoked DocumentThreadableLoader.
1994         (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Simulate a failure
1995         and cancel the request if we are about to ask the user for credentials for a cross-origin
1996         request, which is forbidden by CORS (and would have been very confusing if allowed).
1997         (WebCore::DocumentThreadableLoader::receivedCancellation): Assert that loaders aren't all confused.
1998
1999         * loader/DocumentThreadableLoader.h: Updated for the new flags (storedCredentials and
2000         sameOrigin) that affect the loader. Eventually, we need to move all CORS logic from XHR here.
2001
2002         * loader/ThreadableLoader.h: (StoredCredentials): Added another flag that affects loader
2003         behavior. We should combine all of these into a structure, and use it for sync requests, too.
2004
2005         * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously):
2006         * loader/FrameLoader.h:
2007         * loader/ThreadableLoader.cpp:
2008         (WebCore::ThreadableLoader::create):
2009         (WebCore::ThreadableLoader::loadResourceSynchronously):
2010         * loader/WorkerThreadableLoader.cpp:
2011         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2012         (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
2013         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2014         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2015         * loader/WorkerThreadableLoader.h:
2016         (WebCore::WorkerThreadableLoader::create):
2017         Pass through storedCredentials.
2018
2019 2009-04-13  David Hyatt  <hyatt@apple.com>
2020
2021         Reviewed by Cameron Zwarich.
2022
2023         Remove an outdated comment in ScrollView.h
2024
2025         * platform/ScrollView.h:
2026
2027 2009-04-13  Eric Carlson  <eric.carlson@apple.com>
2028
2029         Reviewed by Mark Rowe.
2030
2031         https://bugs.webkit.org/show_bug.cgi?id=25177
2032
2033         QTTrack's -media method always return NULL in 64-bit QTKit, so
2034         MediaPlayerPrivate::disableUnsupportedTracks should use 
2035         QTTrackMediaTypeAttribute to get a track's type.
2036
2037         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2038         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
2039
2040 2009-04-13  Geoffrey Garen  <ggaren@apple.com>
2041
2042         Reviewed by Cameron Zwarich.
2043
2044         More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
2045         Unbounded memory growth when churning elements with anonymous event handler functions
2046
2047         Stop using protected event listeners on the window object.
2048
2049         * bindings/js/JSDOMWindowCustom.cpp:
2050         (WebCore::JSDOMWindow::mark): Mark our event listeners, since they're
2051         no longer protected.
2052
2053         (WebCore::JSDOMWindow::addEventListener):
2054         (WebCore::JSDOMWindow::removeEventListener): Create unprotected event
2055         listeners, since we mark them now.
2056
2057         * bindings/js/JSEventListener.h: Made some functions public so
2058         DOMWindow could call them.
2059
2060         * bindings/js/JSNodeCustom.cpp: Moved markEventListeners to a header,
2061         so it could be shared.
2062
2063         * bindings/scripts/CodeGeneratorJS.pm: Generate event listener marking
2064         and invalidating code for the DOMWindow.
2065
2066         * dom/RegisteredEventListener.h:
2067         (WebCore::markEventListeners):
2068         (WebCore::invalidateEventListeners): Added helper functions.
2069
2070         * page/DOMWindow.idl: Make the window's event listener attributes not
2071         protected.
2072
2073 2009-04-13  Eric Carlson  <eric.carlson@apple.com>
2074
2075         Reviewed by Mark Rowe.
2076         
2077         https://bugs.webkit.org/show_bug.cgi?id=25155
2078
2079         OS X standalone media documents should not switch from <video> to <embed> when 
2080         QTKit load state is QTMovieLoadStateLoading as that happens frequently when a loading
2081         with a slow network connection or when a movie is not saved fast-start.
2082
2083         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2084         (WebCore::MediaPlayerPrivate::updateStates): Don't open movie with plug-in when QTKit's
2085         loadstate is QTMovieLoadStateLoading, wait until it drops below QTMovieLoadStateError.
2086
2087 2009-04-13  Dmitry Titov  <dimich@chromium.org>
2088
2089         Reviewed by Darin Adler.
2090
2091         https://bugs.webkit.org/show_bug.cgi?id=24453
2092         REGRESSION: If setTimeout is called on a iframe's window, the DOM changes to
2093         the main document that timer callback makes are not flushed.
2094
2095         * bindings/js/ScheduledAction.cpp:
2096         (WebCore::ScheduledAction::execute):
2097         Use Document::updateStyleForAllDocuments() instead of document->updateStyleIfNeeded()
2098         since timers may affect documents other then their own.
2099
2100 2009-04-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2101
2102         Reviewed by David Hyatt.
2103
2104         Check document for nullity to avoid crashing on GTK+, when
2105         creating the WebView.
2106
2107         * page/FrameView.cpp:
2108         (WebCore::FrameView::needsLayout):
2109
2110 2009-04-13  Ada Chan  <adachan@apple.com>
2111
2112         Forgot to capitalize the "US".
2113
2114         * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
2115         (WebCore::currentTextBreakLocaleID):
2116
2117 2009-04-13  Ada Chan  <adachan@apple.com>
2118
2119         <rdar://problem/6564956> URL field double-click selects entire domain, rather than single word or entire URL
2120         Revert back to the old word breaking behavior by using en_US_POSIX locale.        
2121
2122         Reviewed by Steve Falkenburg.
2123
2124         * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
2125         (WebCore::currentTextBreakLocaleID):
2126
2127 2009-04-13  Darin Adler  <darin@apple.com>
2128
2129         Reviewed by Dan Bernstein.
2130
2131         * platform/cf/BinaryPropertyList.cpp: Added comment.
2132         * platform/cf/BinaryPropertyList.h: Fixed mistakes in comments.
2133
2134 2009-04-13  Darin Adler  <darin@apple.com>
2135
2136         Reviewed by Dan Bernstein.
2137
2138         Bug 25158: hit testing doesn't work right in some cases involving anonymous blocks
2139         https://bugs.webkit.org/show_bug.cgi?id=25158
2140         rdar://problem/6769693
2141
2142         Test: editing/selection/click-after-nested-block.html
2143
2144         * rendering/RenderBlock.cpp:
2145         (WebCore::isChildHitTestCandidate): Added. Helper so the two loops in positionForPoint
2146         can share code.
2147         (WebCore::RenderBlock::positionForPoint): Removed unneeded special case for first
2148         child box. Changed special case for last child box to propertly handle the various
2149         types of child box that are not hit test candidates (the same ones already handled
2150         by the hit test loop below), adding in a loop so we find the last candidate.
2151
2152 2009-04-13  David Hyatt  <hyatt@apple.com>
2153
2154         Reviewed by Sam Weinig.
2155
2156         Fix for https://bugs.webkit.org/show_bug.cgi?id=25125.  Rework scrolling so that a layout happens first when
2157         it's already needed so that the code doesn't end up making bad decisions based off invalid document sizes.
2158
2159         * WebCore.base.exp:
2160         * page/FrameView.h:
2161         (WebCore::FrameView::visibleContentsResized):
2162         * platform/ScrollView.cpp:
2163         (WebCore::ScrollView::ScrollView):
2164         (WebCore::ScrollView::updateScrollbars):
2165         * platform/ScrollView.h:
2166
2167 2009-04-13  Adam Roben  <aroben@apple.com>
2168
2169         Add SharedBuffer::wrapCFData
2170
2171         This is the CF-equivalent of wrapNSData.
2172
2173         Reviewed by Brady Eidson.
2174
2175         * platform/SharedBuffer.h:
2176         * platform/cf/SharedBufferCF.cpp:
2177         (WebCore::SharedBuffer::wrapCFData):
2178
2179 2009-04-13  Dan Bernstein  <mitz@apple.com>
2180
2181         - build fix
2182
2183         * page/EventHandler.cpp:
2184         (WebCore::documentPointForWindowPoint):
2185
2186 2009-04-13  Antti Koivisto  <antti@apple.com>
2187
2188         Reviewed by Darin Adler.
2189
2190         <rdar://problem/6740294> Increase the connection count per host
2191         
2192         Try to use six connections per host if possible.
2193
2194         * WebCore.base.exp:
2195         * loader/loader.cpp:
2196         (WebCore::Loader::Loader):
2197         * platform/mac/WebCoreSystemInterface.h:
2198         * platform/mac/WebCoreSystemInterface.mm:
2199         * platform/network/ResourceRequestBase.cpp:
2200         (WebCore::initMaximumHTTPConnectionCountPerHost):
2201         * platform/network/ResourceRequestBase.h:
2202         * platform/network/mac/ResourceRequestMac.mm:
2203         (WebCore::initMaximumHTTPConnectionCountPerHost):
2204
2205 2009-04-13  Justin Garcia  <justin.garcia@apple.com>
2206
2207         Reviewed by Adele Peterson.
2208
2209         https://bugs.webkit.org/show_bug.cgi?id=25153
2210         Can't place the caret into text field that scrolls the window on focus
2211         
2212         We refetch the target node in the shadow node case, and when we do so the window coordinate for the mouse event may
2213         be invalid because of scrolling that the focus handler did.  Cache the document point (that we derived from the window
2214         coordinate) and use that any time we refetch.
2215
2216         * page/EventHandler.cpp:
2217         (WebCore::documentPointForWindowPoint):
2218         (WebCore::EventHandler::handleMousePressEvent):
2219         (WebCore::EventHandler::prepareMouseEvent):
2220
2221 2009-04-13  Sam Weinig  <sam@webkit.org>
2222
2223         Reviewed by Geoffrey Garen.
2224
2225         Rename JavaScriptCanOpenWindowsAutomatically to javaScriptCanOpenWindowsAutomatically
2226         to conform to our style guidelines.
2227
2228         * page/DOMWindow.cpp:
2229         (WebCore::DOMWindow::allowPopUp):
2230         * page/Settings.h:
2231         (WebCore::Settings::javaScriptCanOpenWindowsAutomatically):
2232
2233 2009-04-13  Geoffrey Garen  <ggaren@apple.com>
2234
2235         Mac build fix: Made another header private.
2236
2237         * WebCore.xcodeproj/project.pbxproj:
2238
2239 2009-04-13  Jian Li  <jianli@chromium.org>
2240
2241         Reviewed by Darin Fisher.
2242
2243         https://bugs.webkit.org/show_bug.cgi?id=25121
2244         Upstream changes to handle error messages from V8 when running worker script.
2245
2246         * bindings/v8/WorkerContextExecutionProxy.cpp:
2247         (WebCore::reportFatalErrorInV8):
2248         (WebCore::handleConsoleMessage):
2249         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
2250         (WebCore::WorkerContextExecutionProxy::dispose):
2251         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
2252         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
2253         (WebCore::WorkerContextExecutionProxy::evaluate):
2254         * bindings/v8/WorkerContextExecutionProxy.h:
2255
2256 2009-04-13  Geoffrey Garen  <ggaren@apple.com>
2257
2258         Build fix: Made setInlineEventListenerForType not inline, since Document
2259         calls it now. Made RegisteredEventListener.h a private header on Mac,
2260         so WebKit can use it.
2261
2262         * page/DOMWindow.cpp:
2263         (WebCore::DOMWindow::setInlineEventListenerForType):
2264
2265 2009-04-13  Dan Bernstein  <mitz@apple.com>
2266
2267         Reviewed by Sam Weinig.
2268
2269         - fix <rdar://problem/6404439> REGRESSION: Overlapping text and other
2270           layout issues in View Sample feature of MYOB FIrstEdge v3
2271
2272         * page/Navigator.cpp:
2273         (WebCore::shouldHideFourDot): Added "tdqm_loader.js" to the list of
2274         JavaScript files this quirk applies to.
2275
2276 2009-04-13  Sam Weinig  <sam@webkit.org>
2277
2278         Reviewed by Oliver Hunt.
2279
2280         Move open and showModalDialog functions out of JSDOMWindowBase
2281         and into JSDOMWindow by partially generating them.
2282
2283         This slightly changes the behavior of getting window.showModalDialog
2284         when the embedding app does not support it to return undefined regardless
2285         of shadowing.  This should not be an issue in a practice, but will be addressed
2286         when we add a generic way to handle runtime specialization of property
2287         access.
2288
2289         * DerivedSources.make: Remove JSDOMWindowBase.lut.h
2290         * WebCore.xcodeproj/project.pbxproj: Ditto.
2291         * bindings/js/JSDOMWindowBase.cpp:
2292         (WebCore::):
2293         (WebCore::JSDOMWindowBase::getOwnPropertySlot): Move canShowModalDialog check from
2294         here to JSDOMWindow::customGetOwnPropertySlot.
2295         (WebCore::JSDOMWindowBase::put): Remove dead code.
2296         * bindings/js/JSDOMWindowCustom.cpp:
2297         (WebCore::createWindow):
2298         (WebCore::JSDOMWindow::open):
2299         (WebCore::JSDOMWindow::showModalDialog):
2300         * bindings/js/JSDOMWindowCustom.h:
2301         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2302         * page/DOMWindow.cpp:
2303         (WebCore::DOMWindow::parseModalDialogFeatures): Move from JSDOMWindowBase.
2304         (WebCore::DOMWindow::allowPopUp): Ditto.
2305         (WebCore::DOMWindow::canShowModalDialog): Ditto.
2306         (WebCore::DOMWindow::canShowModalDialogNow): Ditto.
2307         * page/DOMWindow.h:
2308         * page/DOMWindow.idl:
2309
2310 2009-04-13  Geoffrey Garen  <ggaren@apple.com>
2311
2312         Reviewed by Sam Weinig.
2313
2314         Moved storage for window event listeners into the window object.
2315
2316         * bindings/js/JSDOMWindowCustom.cpp:
2317         (WebCore::JSDOMWindow::addEventListener):
2318         (WebCore::JSDOMWindow::removeEventListener): Add / remove window event
2319         listeners to / from the window object.
2320
2321         * dom/Document.cpp:
2322         (WebCore::Document::removeAllEventListeners):
2323         (WebCore::Document::clear):
2324         (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute): Moved
2325         a bunch of code to the DOMWindow class, and left behind a few calls through
2326         to DOMWindow, to support legacy clients. (Eventually, these will go away, too.)
2327
2328         * dom/Document.h: ditto.
2329
2330         * dom/Node.cpp:
2331         (WebCore::Node::dispatchGenericEvent):
2332         (WebCore::Node::dispatchWindowEvent): Dipatch window events on the window
2333         object, not the document.
2334
2335         * dom/Node.h:
2336         * dom/RegisteredEventListener.h: Moved RegisteredEventListenerVector
2337         declaration, since it's required in more places now.
2338
2339         * history/CachedFrame.cpp:
2340         (WebCore::CachedFrame::clear): Updated for rename. Also, remove event
2341         listeners before detaching and clearing the document's window pointer,
2342         since the the document needs its window pointer in order to tell the window
2343         to clear its event listeners.
2344
2345         * loader/FrameLoader.cpp:
2346         (WebCore::FrameLoader::stopLoading):
2347         (WebCore::FrameLoader::canCachePageContainingThisFrame):
2348         (WebCore::FrameLoader::logCanCacheFrameDecision): Updated for rename, and
2349         movement of window event listeners into the window.
2350
2351         * loader/ImageDocument.cpp:
2352         (WebCore::ImageDocument::createDocumentStructure): Updated for movement
2353         of window event listeners into the window.
2354
2355         * page/DOMWindow.cpp:
2356         (WebCore::DOMWindow::handleEvent):
2357         (WebCore::DOMWindow::addEventListener):
2358         (WebCore::DOMWindow::removeEventListener):
2359         (WebCore::DOMWindow::removeAllEventListeners):
2360         (WebCore::DOMWindow::hasEventListener):
2361         (WebCore::DOMWindow::setInlineEventListenerForType):
2362         (WebCore::DOMWindow::removeInlineEventListenerForType):
2363         (WebCore::DOMWindow::inlineEventListenerForType):
2364         (WebCore::DOMWindow::addPendingFrameUnloadEventCount):
2365         (WebCore::DOMWindow::removePendingFrameUnloadEventCount):
2366         (WebCore::DOMWindow::addPendingFrameBeforeUnloadEventCount):
2367         (WebCore::DOMWindow::removePendingFrameBeforeUnloadEventCount):
2368         * page/DOMWindow.h: Moved a bunch of code to the DOMWindow class, from the Document.
2369
2370         * page/Frame.cpp:
2371         (WebCore::Frame::shouldClose): Updated for movement of window event listeners into the window.
2372
2373 2009-04-13  Greg Bolsinga  <bolsinga@apple.com>
2374
2375         Reviewed by Sam Weinig.
2376
2377         https://bugs.webkit.org/show_bug.cgi?id=25149
2378
2379         The Geolocation timer needs to start after the UA has granted permission.
2380
2381         * bindings/js/JSGeolocationCustom.cpp: Use PassRefPtr<PositionOptions>
2382         (WebCore::JSGeolocation::getCurrentPosition):
2383         (WebCore::JSGeolocation::watchPosition):
2384         * page/Geolocation.cpp: Add a RefPtr<PositionOptions> so it can be used
2385         later when the timer is started. Change PositionOptions* to PassRefPtr<PositionOptions>
2386         where needed.
2387         (WebCore::Geolocation::GeoNotifier::GeoNotifier):
2388         (WebCore::Geolocation::GeoNotifier::startTimer):
2389         (WebCore::Geolocation::getCurrentPosition):
2390         (WebCore::Geolocation::watchPosition):
2391         (WebCore::Geolocation::setIsAllowed): Start the timer is the UA allows
2392         (WebCore::Geolocation::startTimer):
2393         (WebCore::Geolocation::startTimersForOneShots):
2394         (WebCore::Geolocation::startTimersForWatchers):
2395         (WebCore::Geolocation::startTimers):
2396         * page/Geolocation.h:
2397         (WebCore::Geolocation::GeoNotifier::create):
2398
2399 2009-04-13  Pamela Greene  <pam@chromium.org>
2400
2401         Reviewed by Darin Fisher.
2402
2403         Fix Chromium (V8) build by renaming methods to match changes
2404         in http://trac.webkit.org/changeset/42377.
2405
2406         https://bugs.webkit.org/show_bug.cgi?id=25141
2407
2408         * bindings/v8/ScheduledAction.cpp:
2409      (WebCore::ScheduledAction::execute): updateRendering() -> updateStyleIfNeeded()
2410         * bindings/v8/V8AbstractEventListener.cpp:
2411         (WebCore::V8AbstractEventListener::handleEvent): updateDocumentsRendering() -> updateStyleForAllDocuments()
2412
2413 2009-04-13  Darin Fisher  <darin@chromium.org>
2414
2415         Reviewed by Darin Adler.
2416
2417         https://bugs.webkit.org/show_bug.cgi?id=25136
2418         CRASH in DocumentLoader::removeSubresourceLoader due to null m_frame
2419
2420         Test: fast/frames/frame-unload-crash.html
2421
2422         * loader/DocumentLoader.cpp:
2423         (WebCore::DocumentLoader::updateLoading): Added null check of m_frame.
2424
2425 2009-04-13  Sam Weinig  <sam@webkit.org>
2426
2427         Reviewed by Tim Hatcher.
2428
2429         Put the MessagePort constructor back in ENABLE_CHANNEL_MESSAGING.
2430
2431         * page/DOMWindow.idl:
2432
2433 2009-04-13  Greg Bolsinga  <bolsinga@apple.com>
2434
2435         Fix GTK build break.
2436
2437         * platform/gtk/GeolocationServiceGtk.cpp:
2438         (WebCore::GeolocationServiceGtk::updatePosition):
2439
2440 2009-04-13  David Hyatt  <hyatt@apple.com>
2441
2442         Reviewed by Darin Adler and Dan Bernstein.
2443
2444         Assertion in updateStyleForAllDocuments.  Make sure to unscheduleStyleRecalc when an object goes into
2445         the page cache.  Disallow scheduling of style recalcs on a document that is already in the page cache.
2446         Schedule a style recalc if needed when an object comes out of the page cache.
2447
2448         * dom/Document.cpp:
2449         (WebCore::Document::scheduleStyleRecalc):
2450         (WebCore::Document::setInPageCache):
2451
2452 2009-04-13  Timothy Hatcher  <timothy@apple.com>
2453
2454         Correctly sort (program) scripts in the Scripts panel popup menu.
2455
2456         Reviewed by Ada Chan.
2457
2458         * inspector/front-end/ScriptsPanel.js:
2459         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Refactor the code
2460         and sort "(program)" options by the sourceID to maintain some order.
2461         * inspector/front-end/utilities.js:
2462         (indexOfObjectInListSortedByFunction): Fix a bug where identical objects would cause
2463         an incorrect return value that confuses insertionIndexForObjectInListSortedByFunction.
2464         Just set 'first' and break so the correct result will be returned.
2465
2466 2009-04-13  Greg Bolsinga  <bolsinga@apple.com>
2467
2468         Reviewed by Darin Adler.
2469
2470         https://bugs.webkit.org/show_bug.cgi?id=24770
2471         
2472         Add custom code for Coordinates that returns null when required by the
2473         Geolocation spec.
2474         
2475         http://dev.w3.org/geo/api/spec-source.html#coordinates
2476
2477         * WebCore.xcodeproj/project.pbxproj:
2478         * bindings/js/JSCoordinatesCustom.cpp: Added.
2479         (WebCore::JSCoordinates::altitude): returns null if the value cannot be provided.
2480         (WebCore::JSCoordinates::altitudeAccuracy): Ditto
2481         (WebCore::JSCoordinates::heading): Ditto
2482         (WebCore::JSCoordinates::speed): Ditto
2483         * page/Coordinates.h:
2484         (WebCore::Coordinates::create): Add 'canProvide' parameters and values
2485         (WebCore::Coordinates::canProvideAltitude):
2486         (WebCore::Coordinates::canProvideAltitudeAccuracy):
2487         (WebCore::Coordinates::canProvideHeading):
2488         (WebCore::Coordinates::canProvideSpeed):
2489         (WebCore::Coordinates::Coordinates):
2490         * page/Coordinates.idl: specify custom getters
2491         * platform/mac/GeolocationServiceMac.mm: Set the values correctly if they cannot be provided.
2492         (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
2493
2494 2009-04-13  Adele Peterson  <adele@apple.com>
2495
2496         Reviewed by Darin Adler.
2497
2498         Fix for <rdar://problem/5510537> Typing return at start of block quote yields empty quoted line
2499
2500         Test: editing/inserting/5510537.html
2501
2502         * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): If the break insertion position
2503         is at the beginning of the topmost quote, then just insert the <br> before the blockquote.  Otherwise, if the break
2504         insertion position is at the beginning of any quote, adjust the position so the break comes before the current quote level
2505         so we don't end up with an empty line in that quote in addition to the new line we're adding with the <br>.
2506
2507 2009-04-11  Darin Adler  <darin@apple.com>
2508
2509         Reviewed by Dan Bernstein.
2510
2511         Fix problem when encoding history files with duplicate integer arrays near the end of the file.
2512         This results in an assertion failure, and if assertions are turned off, corrupted output.
2513
2514         When writing an integer array it's important not to add an object reference to the
2515         aggregate buffer. The writing of the array does not depend on the aggregate buffer. But,
2516         more importantly, it's possible this instance integer array is a duplicate and won't be
2517         written out. If so, there's no guarantee there's enough space in the aggregate buffer to
2518         store the object references (the references will be ignored). In some cases the aggregate
2519         buffer can then overrun the data being written; normally this is prevented by the fact that
2520         the data being written will include a copy of the aggregate buffer.
2521
2522         Also removed a bit of unneeded dead code to handle the integer -1.
2523
2524         * platform/cf/BinaryPropertyList.cpp:
2525         (WebCore::BinaryPropertyListPlan::BinaryPropertyListPlan): Removed unneeded
2526         m_integerNegativeOneObjectReference, since property lists support only non-negative integers.
2527         (WebCore::BinaryPropertyListPlan::writeInteger): Removed support for
2528         m_integerNegativeOneObjectReference.
2529         (WebCore::BinaryPropertyListPlan::integerObjectReference): Ditto.
2530         (WebCore::BinaryPropertyListSerializer::writeIntegerWithoutAddingAggregateObjectReference):
2531         Added. Factored out most of writeInteger, for use in writeIntegerArray, without calling
2532         addAggregateObjectReference.
2533         (WebCore::BinaryPropertyListSerializer::writeInteger): Changed to call the new
2534         writeIntegerWithoutAddingAggregateObjectReference function.
2535         (WebCore::BinaryPropertyListSerializer::writeIntegerArray): Call the new
2536         writeIntegerWithoutAddingAggregateObjectReference function and therefore remove the
2537         code to save and restore m_currentAggregateBufferByte, which is no longer needed.
2538
2539 2009-04-13  Holger Hans Peter Freyther  <zecke@selfish.org>
2540
2541         Unreviewed Qt build fix.
2542
2543         * platform/graphics/qt/FontQt.cpp:
2544         (WebCore::Font::floatWidthForComplexText):
2545
2546 2009-04-12  Sam Weinig  <sam@webkit.org>
2547
2548         Reviewed by Mark Rowe.
2549
2550         Move the event and crypto attributes and the captureEvents and releaseEvents
2551         functions out of JSDOMWindowBase by partially generating them.
2552
2553         * bindings/js/JSDOMGlobalObject.cpp:
2554         (WebCore::JSDOMGlobalObject::currentEvent): Make const.
2555         * bindings/js/JSDOMGlobalObject.h:
2556         * bindings/js/JSDOMWindowBase.cpp:
2557         * bindings/js/JSDOMWindowCustom.cpp:
2558         (WebCore::JSDOMWindow::crypto): Not implemented.
2559         (WebCore::JSDOMWindow::event):
2560         (WebCore::JSDOMWindow::captureEvents): Not implemented.
2561         (WebCore::JSDOMWindow::releaseEvents): Ditto.
2562         * page/DOMWindow.idl:
2563
2564 2009-04-12  Sam Weinig  <sam@webkit.org>
2565
2566         Reviewed by Mark Rowe.
2567
2568         Move more attributes out of JSDOMWindowBase by
2569         partially generating them.
2570
2571         - Expose the MessagePort constructor.
2572
2573         * bindings/js/JSDOMGlobalObject.h:
2574         (WebCore::getDOMConstructor):
2575         * bindings/js/JSDOMWindowBase.cpp:
2576         (setJSDOMWindowBaseEvent):
2577         * bindings/js/JSDOMWindowCustom.cpp:
2578         (WebCore::JSDOMWindow::image):
2579         (WebCore::JSDOMWindow::option):
2580         (WebCore::JSDOMWindow::audio):
2581         (WebCore::JSDOMWindow::webKitPoint):
2582         (WebCore::JSDOMWindow::webKitCSSMatrix):
2583         (WebCore::JSDOMWindow::xMLHttpRequest):
2584         (WebCore::JSDOMWindow::xSLTProcessor):
2585         (WebCore::JSDOMWindow::messageChannel):
2586         (WebCore::JSDOMWindow::worker):
2587         * page/DOMWindow.idl:
2588
2589 2009-04-12  Timothy Hatcher  <timothy@apple.com>
2590
2591         A resource's filename is not correct after a redirect in the Inspector.
2592
2593         Reviewed by Dan Bernstein.
2594
2595         * inspector/InspectorResource.cpp:
2596         (WebCore::InspectorResource::updateScriptObject): Fix a typo in the
2597         lastPathComponent property name.
2598
2599 2009-04-12  Adele Peterson  <adele@apple.com>
2600
2601         Reviewed by Darin Adler.
2602
2603         Test: editing/inserting/6609479-1.html
2604
2605         Follow-up to <rdar://problem/6609479>.
2606
2607         Before my last change, a Mail blockquote would've been broken up earlier, and you would've been guaranteed that the inserted content
2608         was at the start of a paragraph.  Now we need to check for that explicitly, and only merge the start of the inserted content if it is 
2609         at the start of a paragraph.
2610
2611         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::shouldMergeStart):
2612
2613 2009-04-11  Adele Peterson  <adele@apple.com>
2614
2615         Reviewed by Dan Bernstein.
2616
2617         Fix for <rdar://problem/6609479> Pressing return inside a table cell that's inside quoted content will split the table
2618
2619         Test: editing/inserting/6609479.html
2620
2621         Don't break a blockquote if pasting or inserting into a table.
2622
2623         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
2624         * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
2625
2626 2009-04-11  Dan Bernstein  <mitz@apple.com>
2627
2628         Reviewed by Darin Adler.
2629
2630         - fix <rdar://problem/6643103> Unscaled values from body.scrollHeight
2631
2632         Test: fast/css/zoom-body-scroll.html
2633
2634         Adjust scroll{Left,Top,Width,Height} values for zoom in getters and
2635         setters.
2636
2637         * html/HTMLBodyElement.cpp:
2638         (WebCore::adjustForZoom):
2639         (WebCore::HTMLBodyElement::scrollLeft):
2640         (WebCore::HTMLBodyElement::setScrollLeft):
2641         (WebCore::HTMLBodyElement::scrollTop):
2642         (WebCore::HTMLBodyElement::setScrollTop):
2643         (WebCore::HTMLBodyElement::scrollHeight):
2644         (WebCore::HTMLBodyElement::scrollWidth):
2645
2646 2009-04-10  Timothy Hatcher  <timothy@apple.com>
2647
2648         Allow page navigation and reload while stopped at a breakpoint.
2649
2650         <rdar://problem/6781108> Having a breakpoint active prevents page reload
2651
2652         Reviewed by Darin Adler.
2653
2654         * inspector/InspectorController.cpp:
2655         (WebCore::InspectorController::didContinue): Call the resumedScript function.
2656         * inspector/InspectorController.h: Added didContinue.
2657         * inspector/JavaScriptDebugListener.h: Ditto.
2658         * inspector/JavaScriptDebugServer.cpp:
2659         (WebCore::JavaScriptDebugServer::pauseIfNeeded): Call didContinue on the listeners.
2660         * inspector/front-end/ScriptsPanel.js:
2661         (WebInspector.ScriptsPanel.prototype.debuggerResumed): Update the interface and state.
2662         * inspector/front-end/inspector.js:
2663         (WebInspector.resumedScript): Call ScriptsPanel.debuggerResumed.
2664         * loader/FrameLoader.cpp:
2665         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Call resumeDebugger.
2666
2667 2009-04-10  Sam Weinig  <sam@webkit.org>
2668
2669         Reviewed by Adele Peterson.
2670
2671         Remove unused include for JSLock.
2672
2673         * page/mac/FrameMac.mm:
2674
2675 2009-04-10  Sam Weinig  <sam@webkit.org>
2676
2677         Reviewed by Darin Adler.
2678
2679         Add back the keepAlive timer for after the script execution to
2680         protect the callers of evaluate, as was part of the original intent
2681         of timer.
2682
2683         * bindings/js/ScriptController.cpp:
2684         (WebCore::ScriptController::evaluate):
2685         * page/mac/FrameMac.mm:
2686
2687 2009-04-10  Chris Marrin  <cmarrin@apple.com>
2688
2689         Reviewed by Simon Fraser.
2690
2691         Fixed https://bugs.webkit.org/show_bug.cgi?id=25137
2692
2693         If we reload, the animation controller sticks around and has
2694         a stale animation time. So the needed delay is computed wrong.
2695         I added a reset of the animation timer on load.
2696
2697         I did not do a test case because this only happens on reload so I
2698         couldn't make an automated test. I tried using an iframe and using
2699         reload() but that doesn't tickle the bug.
2700
2701         * dom/Document.cpp:
2702         (WebCore::Document::implicitOpen):
2703
2704 2009-04-10  Grace Kloba  <klobag@gmail.com>
2705
2706         Reviewed by Darin Adler.
2707
2708         Move WORKERS header files inside ENABLE(WORKERS).
2709         So if WORKERS is not enabled and the generated files are not generated, the build is still working.
2710
2711         * bindings/js/JSDOMGlobalObject.cpp:
2712         * bindings/js/JSMessageChannelConstructor.cpp:
2713         * bindings/js/ScheduledAction.cpp:
2714
2715 2009-04-10  Darin Adler  <darin@apple.com>
2716
2717         Reviewed by Brady Eidson.
2718
2719         <rdar://problem/6773515> crash in push_heap inside WebCore when printing
2720
2721         The crash was due to manipulating a timer on a different thread than the one it was created on.
2722         This adds some diagnostics so we'll catch that kind of mistake immediately.
2723
2724         * platform/Timer.cpp:
2725         (WebCore::TimerBase::TimerBase): Store the thread identifier in debug versions.
2726         (WebCore::TimerBase::start): Assert it's the same thread the timer was created on.
2727         (WebCore::TimerBase::stop): Ditto.
2728         (WebCore::TimerBase::isActive): Ditto.
2729         (WebCore::TimerBase::setNextFireTime): Ditto.
2730
2731         * platform/Timer.h: Added the thread identifier data member.
2732
2733 2009-04-10  Chris Marrin  <cmarrin@apple.com>
2734
2735         Reviewed by Dan Bernstein
2736
2737         https://bugs.webkit.org/show_bug.cgi?id=25108
2738
2739         If you remove a class with a transition while that transition is running
2740         the animation timer will continue to fire after the transition is finished.
2741         This has no visual indication, but it does drain the processor. And in some
2742         cases it might even cause a glitch in future animations. Unfortunately there
2743         is no way to test this without putting in printfs.
2744
2745         This happens because the animation logic is never traversed after a transition
2746         is removed, so we never get a chance to cleanup. So I added cleanup in the logic
2747         that fires the dispatch of the last style change when the animation finishes.
2748
2749         Test: transitions/remove-transition-style.html
2750
2751         * page/animation/AnimationController.cpp:
2752         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
2753         * page/animation/CompositeAnimation.cpp:
2754         (WebCore::CompositeAnimation::updateTransitions):
2755         (WebCore::CompositeAnimation::animate):
2756         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
2757         * page/animation/CompositeAnimation.h:
2758
2759 2009-04-10  Sam Weinig  <sam@webkit.org>
2760
2761         Reviewed by Geoffrey Garen.
2762
2763         Fix for <rdar://problem/6648858>
2764         CrashTracer: [REGRESSION(Safari 4)] 60 crashes in Safari at com.apple.WebCore • WebCore::ScriptController::evaluate + 241
2765
2766         The Frame (and therefore ScriptController) were being destroyed
2767         during JavaScript execution causing the JSDOMWindowShell to become
2768         null.
2769
2770         * bindings/js/ScriptController.cpp:
2771         (WebCore::ScriptController::evaluate): Use a RefPtr to protect the Frame
2772         instead of the keep-alive timer, since a nested event loop used from with-in 
2773         JavaScript execution could cause the timer to fire before returning.
2774
2775 2009-04-10  Dimitri Glazkov  <dglazkov@chromium.org>
2776
2777         Reviewed by Timothy Hatcher.
2778
2779         https://bugs.webkit.org/show_bug.cgi?id=25133
2780         Fix an error in InspectorController's bindings, clean up a few header
2781         includes, make empty object construction in ScriptObject less ambiguous.
2782
2783         * bindings/js/JSInspectorControllerCustom.cpp:
2784         (WebCore::JSInspectorController::setSetting): Send correct argument from
2785             the bindings.
2786         * bindings/js/ScriptObject.cpp:
2787         (WebCore::ScriptObject::createNew): Added.
2788         * bindings/js/ScriptObject.h: Removed constructor, added decl for createNew.
2789         * inspector/ConsoleMessage.cpp: Remove unused header.
2790         * inspector/ConsoleMessage.h: Ditto.
2791         * inspector/InspectorResource.cpp:
2792         (WebCore::createHeadersObject): Changed to use ScriptObject::createNew.
2793
2794 2009-04-10  Chris Marrin  <cmarrin@apple.com>
2795
2796         Reviewed by Simon Fraser.
2797
2798         Fixed https://bugs.webkit.org/show_bug.cgi?id=25134
2799
2800         This both fixes a bug where I was not sending in the right time
2801         to continue the animation and was not recomputing current time
2802         when coming out of suspend.
2803
2804         * page/animation/AnimationBase.cpp:
2805         (WebCore::AnimationBase::updateStateMachine):
2806         * page/animation/AnimationController.cpp:
2807         (WebCore::AnimationControllerPrivate::suspendAnimations):
2808         (WebCore::AnimationControllerPrivate::resumeAnimations):
2809
2810 2009-04-10  Adam Roben  <aroben@apple.com>
2811
2812         Give Windows's <select> popup menus drop shadows
2813
2814         Rubber-stamped by Steve Falkenburg.
2815
2816         No test possible.
2817
2818         * platform/win/PopupMenuWin.cpp:
2819         (WebCore::registerPopup): Use the CS_DROPSHADOW window class style.
2820
2821 2009-04-10  Timothy Hatcher  <timothy@apple.com>
2822
2823         Fix a bug in the Web Inspector where it would show scripts
2824         from previous pages when toggling the debugger off and back on.
2825
2826         https://bugs.webkit.org/show_bug.cgi?id=25095
2827         rdar://problem/6769970
2828
2829         Reviewed by John Sullivan.
2830
2831         * bindings/js/ScriptCachedFrameData.cpp:
2832         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): Null out the
2833         debugger for the scriptController. This balances the attachDebugger
2834         that was already in ScriptCachedFrameData::restore.
2835         (WebCore::ScriptCachedFrameData::restore): Clean up an if statement.
2836         * bindings/js/ScriptController.cpp:
2837         (WebCore::ScriptController::clearWindowShell): Clear the debugger from
2838         the current window before setting the new window.
2839         * inspector/JavaScriptDebugServer.cpp:
2840         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): Only accumulate
2841         source providers for code associated this as the debugger.
2842
2843 2009-04-10  Pierre d'Herbemont  <pdherbemont@apple.com>
2844
2845         Reviewed by Adele Peterson.
2846
2847         <rdar://problem/6646998> Avoid starting QTKitServer if possible
2848         When possible avoid asking QTKit for the MIME types that require QTKitServer
2849         when running 64-bit.
2850
2851         * WebCore.base.exp: Added new entry point.
2852
2853         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2854         (WebCore::addFileTypesToCache): Add an NSArray of types to the cache.
2855         (WebCore::mimeCommonTypesCache): Add all "common" QTKit types to the cache.
2856         (WebCore::mimeModernTypesCache): Add only "modern" QTKit types to the cache (this list does 
2857         not start QTKitServer if it is not already running).
2858         (WebCore::MediaPlayerPrivate::getSupportedTypes): Refactored.
2859         (WebCore::MediaPlayerPrivate::supportsType): Look in list of "modern" types first to avoid
2860         starting QTKitServer if possible.
2861
2862         * platform/mac/WebCoreSystemInterface.h: Add wkQTIncludeOnlyModernMediaFileTypes.
2863         * platform/mac/WebCoreSystemInterface.mm: Ditto.
2864
2865 2009-04-10  Adam Roben  <aroben@apple.com>
2866
2867         Turn on window animations for <select> popup menus
2868
2869         We turned these off back when <select> popup menus were partially
2870         transparent. Now that they're opaque, there's no reason not to
2871         animate them.
2872
2873         Reviewed by Steve Falkenburg.
2874
2875         No test possible.
2876
2877         * platform/win/PopupMenuWin.cpp:
2878         (WebCore::PopupMenu::show): Remove the #ifdef that was disabling the
2879         window animation.
2880
2881 2009-04-10  Dan Bernstein  <mitz@apple.com>
2882
2883         Reviewed by Sam Weinig.
2884
2885         - fix a regression from r42379 which made zero-width characters affect
2886           line height
2887
2888         Test: fixes fast/text/wide-zero-width-space.html
2889
2890         * platform/graphics/mac/FontMacATSUI.mm:
2891         (WebCore::overrideLayoutOperation): Add to the fallback font list set
2892         here, and only if the glyph is not zero-width...
2893         (WebCore::ATSULayoutParameters::initialize): ...instead of doing it
2894         here. This matches WidthIterator's behavior.
2895
2896 2009-04-10  Darin Fisher  <darin@chromium.org>
2897
2898         Fixing build bustage caused by warnings being treated as errors.
2899         1- A local variable was only be used inside a debug assertion, which
2900            caused grief for the release build.
2901         2- Missing initializer for member 'DocumentMarker::activeMatch'
2902
2903         * dom/Document.cpp:
2904         (WebCore::Document::addMarker):
2905         (WebCore::Document::setMarkersActive):
2906
2907 2009-04-10  Finnur Thorarinsson  <finnur.webkit@gmail.com>
2908
2909         Reviewed by John Sullivan.
2910
2911         Fixing: https://bugs.webkit.org/show_bug.cgi?id=25117
2912         (TextMatches don't have a concept of active match)
2913
2914         For the ports that use the DocumentMarker as highlighting for FindInPage it is
2915         useful to have a flag that specifies which marker is active, so it can be drawn
2916         in a different color.
2917
2918         This allows me to remove the hack to use the SelectionController to highlight
2919         the active match (in the ChromiumWin port).
2920
2921         * dom/Document.cpp:
2922         (WebCore::Document::setMarkersActive):
2923         * dom/Document.h:
2924         * dom/DocumentMarker.h:
2925         * rendering/InlineTextBox.cpp:
2926         (WebCore::InlineTextBox::paintTextMatchMarker):
2927         * rendering/RenderTheme.cpp:
2928         (WebCore::RenderTheme::platformActiveTextSearchHighlightColor):
2929         (WebCore::RenderTheme::platformInactiveTextSearchHighlightColor):
2930         * rendering/RenderTheme.h:
2931         * rendering/RenderThemeChromiumWin.cpp:
2932         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
2933         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
2934         (WebCore::RenderThemeChromiumWin::platformActiveTextSearchHighlightColor):
2935         (WebCore::RenderThemeChromiumWin::platformInactiveTextSearchHighlightColor):
2936         * rendering/RenderThemeChromiumWin.h:
2937
2938 2009-04-10  Pamela Greene  <pam@chromium.org>
2939
2940         Reviewed by Dimitri Glazkov.
2941
2942         Build fix for Chromium.
2943         https://bugs.webkit.org/show_bug.cgi?id=12440
2944
2945         * page/chromium/FrameChromium.cpp:
2946         (WebCore::computePageRectsForFrame): change docWidth() to overflowWidth()
2947
2948 2009-04-09  David Hyatt  <hyatt@apple.com>
2949
2950         Reviewed by Oliver Hunt
2951
2952         Add a timer for style recalc (similar to the one used for scheduling layouts).  For now in order
2953         to reduce the risk of regressions, I have left in all the synchronous machinery for updating style
2954         following DOM events and JavaScript timeouts.  Eventually these calls will be removed.
2955
2956         Where the timer will really kick in and be useful is for clients that do style changes from
2957         Objective-C DOM bindings or that execute JavaScript to manipulate style from the JavaScriptCore C API.
2958
2959         * dom/ContainerNode.cpp:
2960         (WebCore::ContainerNode::insertBefore):
2961         (WebCore::ContainerNode::replaceChild):
2962         (WebCore::ContainerNode::removeChild):
2963         (WebCore::ContainerNode::appendChild):
2964         * dom/Document.cpp:
2965         (WebCore::Document::Document):
2966         (WebCore::Document::~Document):
2967         (WebCore::Document::scheduleStyleRecalc):
2968         (WebCore::Document::unscheduleStyleRecalc):
2969         (WebCore::Document::styleRecalcTimerFired):
2970         (WebCore::Document::updateStyleForAllDocuments):
2971         (WebCore::Document::detach):
2972         * dom/Document.h:
2973         * dom/Node.cpp:
2974         (WebCore::Node::setNeedsStyleRecalc):
2975         (WebCore::Node::lazyAttach):
2976
2977 2009-04-09  Oliver Hunt  <oliver@apple.com>
2978
2979         Reviewed by Gavin Barraclough.
2980
2981         <rdar://problem/6586787> JS debugger does not work in 64-bit
2982
2983         Don't truncate the source id in JSCallFrame
2984
2985         * inspector/JavaScriptCallFrame.h:
2986
2987 2009-04-09  Adam Roben  <aroben@apple.com>
2988
2989         Start compiling HistoryPropertyList on Windows
2990
2991         Reviewed by Darin Adler.
2992
2993         * WebCore.vcproj/WebCore.vcproj: Added HistoryPropertyList and its
2994         dependencies to the project. Copy headers from history/cf to
2995         $WebKitOutputDir.
2996         * history/cf/HistoryPropertyList.cpp: Added StringExtras.h so that
2997         this file will compile on Windows.
2998
2999 2009-04-09  Dan Bernstein  <mitz@apple.com>
3000
3001         Reviewed by Dave Hyatt.
3002
3003         - fix <rdar://problem/6166612> Text boxes' metrics should be based on
3004           the actual fonts used in them, not just the primary font
3005
3006         Covered by many existing layout tests
3007
3008         * platform/graphics/Font.cpp:
3009         (WebCore::Font::floatWidth): Added a fallbackFonts parameter. If the
3010         platform supports collecting fallback fonts in its complex font path
3011         and fallbackFonts is not null, all fallback fonts used for the text run
3012         will be added to it.
3013
3014         * platform/graphics/Font.h:
3015         (WebCore::Font::width): Ditto.
3016
3017         * platform/graphics/FontFastPath.cpp:
3018         (WebCore::Font::glyphDataForCharacter): Removed an unnecessary namespace
3019         qualifier.
3020         (WebCore::Font::floatWidthForSimpleText): Added a fallbackFonts
3021         parameter, which is passed down to WidthIterator.
3022
3023         * platform/graphics/WidthIterator.cpp:
3024         (WebCore::WidthIterator::WidthIterator): Added a fallbackFonts parameter
3025         and used it to initialize the m_fallbackFonts member.
3026         (WebCore::WidthIterator::advance): Track the fonts being used and add
3027         any fallback fonts to the m_fallbackFonts set. Make sure to only add
3028         non-small-caps fonts.
3029
3030         * platform/graphics/WidthIterator.h:
3031
3032         * platform/graphics/chromium/FontChromiumWin.cpp:
3033         (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
3034         implementation that returns false, meaning this platform's
3035         implementation of floatWidthForComplexText() does not populate the
3036         fallbackFonts set.
3037         (WebCore::Font::floatWidthForComplexText): Updated for the new
3038         prototype.
3039
3040         * platform/graphics/chromium/FontLinux.cpp: Ditto.
3041
3042         * platform/graphics/gtk/FontGtk.cpp: Ditto.
3043
3044         * platform/graphics/mac/CoreTextController.cpp:
3045         (WebCore::CoreTextController::CoreTextController): Added a fallbackFonts
3046         parameter and used it to initialize the m_fallbackFonts member.
3047         (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Add
3048         fallback fonts to m_fallbackFonts.
3049
3050         * platform/graphics/mac/CoreTextController.h:
3051
3052         * platform/graphics/mac/FontMac.mm:
3053         (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
3054         implementation that returns true, indicating that the Mac
3055         implementations of floatWidthForComplexText() populate the fallbackFonts
3056         set.
3057         * platform/graphics/mac/FontMacATSUI.mm:
3058         (WebCore::ATSULayoutParameters::ATSULayoutParameters): Added a
3059         fallbackFonts parameter and used it to initialize the m_fallbackFonts
3060         member.
3061         (WebCore::ATSULayoutParameters::initialize): Add fallback fonts to
3062         m_fallbackFonts.
3063         (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts
3064         parameter, which is passed down to ATSULayoutParameters.
3065
3066         * platform/graphics/mac/FontMacCoreText.cpp:
3067         (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts
3068         parameter, which is passed down to CoreTextController.
3069
3070         * platform/graphics/win/FontWin.cpp:
3071         (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
3072         implementation that returns true, indicating that the
3073         UniscribeController-based implementations of floatWidthForComplexText()
3074         populate the fallbackFonts set.
3075         (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts
3076         parameter, which is passed down to UniscribeController.
3077
3078         * platform/graphics/win/UniscribeController.cpp:
3079         (WebCore::UniscribeController::UniscribeController): Added a
3080         fallbackfonts parameter and used it to initialize m_fallbackFonts.
3081         (WebCore::UniscribeController::advance): Add fallback fonts to
3082         m_fallbackFonts.
3083
3084         * platform/graphics/win/UniscribeController.h:
3085         
3086         * platform/graphics/wx/FontWx.cpp:
3087         (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
3088         implementation that returns false, meaning this platform's
3089         implementation of floatWidthForComplexText() does not populate the
3090         fallbackFonts set.
3091         (WebCore::Font::floatWidthForComplexText): Updated for the new
3092         prototype.
3093
3094         * rendering/InlineFlowBox.cpp:
3095         (WebCore::InlineFlowBox::computeLogicalBoxHeights): For an InlineTextBox
3096         with multiple fonts, compute a common baseline and line height by
3097         considering all fonts' ascents and descents (and line spacing, if
3098         applicable).
3099
3100         * rendering/InlineTextBox.cpp:
3101         (WebCore::InlineTextBox::setFallbackFonts): Added. Temporarily stores
3102         the set of fallback fonts in a vector.
3103         (WebCore::InlineTextBox::takeFallbackFonts): Added. Returns the fallback
3104         fonts previously stored and removes them from storage.
3105
3106         * rendering/InlineTextBox.h:
3107
3108         * rendering/RenderText.cpp:
3109         (WebCore::RenderText::RenderText): Initialized the
3110         m_knownNotToUseFallbackFonts to false.
3111         (WebCore::RenderText::styleDidChange): Reset
3112         m_knownNotToUseFallbackFonts to false if the style difference is such that
3113         affects layout.
3114         (WebCore::RenderText::widthFromCache): Added a fallbackFonts parameter,
3115         which is passed down to Font::width().
3116         (WebCore::RenderText::trimmedPrefWidths): Updated for the change to
3117         widthFromCache().
3118         (WebCore::RenderText::calcPrefWidths): Made this call a private version
3119         of calcPrefWidths() that takes a fallbackFonts parameter and set the
3120         m_knownNotToUseFallbackFonts to true if the set comes back empty.
3121         The private version passes the fallbackFonts set to widthFromCache().
3122         (WebCore::RenderText::setText): Reset m_knownNotToUseFallbackFonts to
3123         false.
3124         (WebCore::RenderText::createFallbackFontMetricsBox): Added.
3125         (WebCore::RenderText::width): Added a fallbackFonts parameter, which is
3126         passed down to calcPrefWidths(), widthFromCache() and Font::width().
3127         Set m_knownNotToUseFallbackFonts to true when appropriate.
3128
3129         * rendering/RenderText.h:
3130
3131         * rendering/bidi.cpp:
3132         (WebCore::RenderBlock::constructLine): Added an assertion and a continue
3133         statement to remove one level of indentation.
3134         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Temporarily
3135         store the set of fallback fonts in the InlineTextBox.
3136         (WebCore::RenderBlock::computeVerticalPositionsForLine): Added an
3137         assertion.
3138
3139 2009-04-09  David Hyatt  <hyatt@apple.com>
3140
3141         Reviewed by Adam Roben
3142
3143         Rename all of the changed()/setChanged()/setDocumentChanged() methods to mention style recalc
3144         explicitly instead.
3145
3146         * bindings/js/JSCustomPositionCallback.cpp:
3147         (WebCore::JSCustomPositionCallback::handleEvent):
3148         * bindings/js/JSCustomPositionErrorCallback.cpp:
3149         (WebCore::JSCustomPositionErrorCallback::handleEvent):
3150         * bindings/js/JSCustomSQLStatementCallback.cpp:
3151         (WebCore::JSCustomSQLStatementCallback::handleEvent):
3152         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3153         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
3154         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3155         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
3156         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3157         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
3158         * bindings/js/JSCustomVoidCallback.cpp:
3159         (WebCore::JSCustomVoidCallback::handleEvent):
3160         * bindings/js/JSCustomXPathNSResolver.cpp:
3161         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3162         * bindings/js/JSEventListener.cpp:
3163         (WebCore::JSAbstractEventListener::handleEvent):
3164         * bindings/js/ScheduledAction.cpp:
3165         (WebCore::ScheduledAction::execute):
3166         * bindings/js/ScriptControllerMac.mm:
3167         (WebCore::updateStyleIfNeededForBindings):
3168         (WebCore::ScriptController::initJavaJSBindings):
3169         * css/CSSMutableStyleDeclaration.cpp:
3170         (WebCore::CSSMutableStyleDeclaration::removeProperty):
3171         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
3172         (WebCore::CSSMutableStyleDeclaration::setProperty):
3173         (WebCore::CSSMutableStyleDeclaration::setStringProperty):
3174         (WebCore::CSSMutableStyleDeclaration::setImageProperty):
3175         (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
3176         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
3177         (WebCore::CSSMutableStyleDeclaration::setCssText):
3178         (WebCore::CSSMutableStyleDeclaration::merge):
3179         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
3180         * css/CSSMutableStyleDeclaration.h:
3181         * css/CSSStyleSelector.cpp:
3182         (WebCore::CSSStyleSelector::SelectorChecker::allVisitedStateChanged):
3183         (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
3184         * css/CSSVariablesDeclaration.cpp:
3185         (WebCore::CSSVariablesDeclaration::removeVariable):
3186         (WebCore::CSSVariablesDeclaration::setVariable):
3187         (WebCore::CSSVariablesDeclaration::setNeedsStyleRecalc):
3188         * css/CSSVariablesDeclaration.h:
3189         * dom/ContainerNode.cpp:
3190         (WebCore::ContainerNode::insertBefore):
3191         (WebCore::ContainerNode::replaceChild):
3192         (WebCore::ContainerNode::removeChild):
3193         (WebCore::ContainerNode::appendChild):
3194         (WebCore::ContainerNode::detach):
3195         (WebCore::ContainerNode::setFocus):
3196         (WebCore::ContainerNode::setActive):
3197         (WebCore::ContainerNode::setHovered):
3198         * dom/Document.cpp:
3199         (WebCore::Document::Document):
3200         (WebCore::Document::~Document):
3201         (WebCore::Document::scheduleStyleRecalc):
3202         (WebCore::Document::unscheduleStyleRecalc):
3203         (WebCore::Document::recalcStyle):
3204         (WebCore::Document::updateStyleIfNeeded):
3205         (WebCore::Document::updateStyleForAllDocuments):
3206         (WebCore::Document::updateLayout):
3207         (WebCore::Document::implicitClose):
3208         (WebCore::Document::prepareMouseEvent):
3209         (WebCore::Document::setFocusedNode):
3210         (WebCore::Document::setCSSTarget):
3211         * dom/Document.h:
3212         * dom/Element.cpp:
3213         (WebCore::Element::recalcStyle):
3214         (WebCore::checkForSiblingStyleChanges):
3215         * dom/InputElement.cpp:
3216         (WebCore::InputElement::parseMaxLengthAttribute):
3217         * dom/MouseRelatedEvent.cpp:
3218         (WebCore::MouseRelatedEvent::receivedTarget):
3219         * dom/Node.cpp:
3220         (WebCore::Node::Node):
3221         (WebCore::Node::setNeedsStyleRecalc):
3222         (WebCore::Node::lazyAttach):
3223         (WebCore::Node::dispatchGenericEvent):
3224         * dom/Node.h:
3225         (WebCore::Node::needsStyleRecalc):
3226         (WebCore::Node::childNeedsStyleRecalc):
3227         (WebCore::Node::setChildNeedsStyleRecalc):
3228         * dom/OptionElement.cpp:
3229         (WebCore::OptionElement::setSelectedState):
3230         * dom/ScriptElement.cpp:
3231         (WebCore::ScriptElementData::evaluateScript):
3232         * dom/StyledElement.cpp:
3233         (WebCore::StyledElement::attributeChanged):
3234         (WebCore::StyledElement::classAttributeChanged):
3235         (WebCore::StyledElement::parseMappedAttribute):
3236         * dom/Text.cpp:
3237         (WebCore::Text::recalcStyle):
3238         * dom/XMLTokenizer.cpp:
3239         (WebCore::XMLTokenizer::insertErrorMessageBlock):
3240         * editing/DeleteButtonController.cpp:
3241         (WebCore::DeleteButtonController::enable):
3242         * editing/Editor.cpp:
3243         (WebCore::Editor::setBaseWritingDirection):
3244         * editing/SelectionController.cpp:
3245         (WebCore::SelectionController::nodeWillBeRemoved):
3246         (WebCore::SelectionController::layout):
3247         (WebCore::SelectionController::focusedOrActiveStateChanged):
3248         * html/HTMLAnchorElement.cpp:
3249         (WebCore::HTMLAnchorElement::parseMappedAttribute):
3250         * html/HTMLElement.cpp:
3251         (WebCore::HTMLElement::setInnerText):
3252         (WebCore::HTMLElement::isContentEditable):
3253         (WebCore::HTMLElement::isContentRichlyEditable):
3254         (WebCore::HTMLElement::contentEditable):
3255         * html/HTMLEmbedElement.cpp:
3256         (WebCore::HTMLEmbedElement::updateWidget):
3257         * html/HTMLFormControlElement.cpp:
3258         (WebCore::HTMLFormControlElement::parseMappedAttribute):
3259         * html/HTMLFrameSetElement.cpp:
3260         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
3261         (WebCore::HTMLFrameSetElement::recalcStyle):
3262         * html/HTMLInputElement.cpp:
3263         (WebCore::HTMLInputElement::parseMappedAttribute):
3264         (WebCore::HTMLInputElement::setChecked):
3265         (WebCore::HTMLInputElement::setIndeterminate):
3266         (WebCore::HTMLInputElement::setValue):
3267         (WebCore::HTMLInputElement::setAutofilled):
3268         * html/HTMLMediaElement.cpp:
3269         (WebCore::HTMLMediaElement::finishParsingChildren):
3270         * html/HTMLObjectElement.cpp:
3271         (WebCore::HTMLObjectElement::updateWidget):
3272         (WebCore::HTMLObjectElement::finishParsingChildren):
3273         (WebCore::HTMLObjectElement::childrenChanged):
3274         * html/HTMLSelectElement.cpp:
3275         (WebCore::HTMLSelectElement::recalcStyle):
3276         (WebCore::HTMLSelectElement::restoreState):
3277         (WebCore::HTMLSelectElement::setRecalcListItems):
3278         (WebCore::HTMLSelectElement::reset):
3279         (WebCore::HTMLSelectElement::typeAheadFind):
3280         * html/HTMLTableElement.cpp:
3281         (WebCore::setTableCellsChanged):
3282         (WebCore::HTMLTableElement::parseMappedAttribute):
3283         * html/HTMLTextAreaElement.cpp:
3284         (WebCore::HTMLTextAreaElement::setValue):
3285         * loader/FrameLoader.cpp:
3286         (WebCore::FrameLoader::stopLoading):
3287         (WebCore::FrameLoader::executeScript):
3288         (WebCore::FrameLoader::gotoAnchor):
3289         * page/DOMWindow.cpp:
3290         (WebCore::DOMWindow::alert):
3291         (WebCore::DOMWindow::confirm):
3292         (WebCore::DOMWindow::prompt):
3293         * page/EventHandler.cpp:
3294         (WebCore::EventHandler::hoverTimerFired):
3295         * page/FrameView.cpp:
3296         (WebCore::FrameView::layout):
3297         (WebCore::FrameView::needsLayout):
3298         * page/animation/AnimationBase.cpp:
3299         (WebCore::AnimationBase::setNeedsStyleRecalc):
3300         (WebCore::AnimationBase::updateStateMachine):
3301         * page/animation/AnimationBase.h:
3302         * page/animation/AnimationController.cpp:
3303         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
3304         (WebCore::AnimationControllerPrivate::clear):
3305         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
3306         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
3307         (WebCore::AnimationControllerPrivate::startupdateStyleIfNeededDispatcher):
3308         (WebCore::AnimationControllerPrivate::addEventToDispatch):
3309         (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
3310         (WebCore::AnimationControllerPrivate::animationTimerFired):
3311         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
3312         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
3313         (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
3314         (WebCore::AnimationController::cancelAnimations):
3315         * page/animation/AnimationControllerPrivate.h:
3316         * page/animation/ImplicitAnimation.cpp:
3317         (WebCore::ImplicitAnimation::sendTransitionEvent):
3318         * page/animation/KeyframeAnimation.cpp:
3319         (WebCore::KeyframeAnimation::endAnimation):
3320         (WebCore::KeyframeAnimation::sendAnimationEvent):
3321         * rendering/RenderObject.cpp:
3322         (WebCore::RenderObject::updateDragState):
3323         * rendering/RenderView.cpp:
3324         (WebCore::RenderView::selectionBounds):
3325         * svg/SVGAElement.cpp:
3326         (WebCore::SVGAElement::svgAttributeChanged):
3327         * svg/SVGAnimationElement.cpp:
3328         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
3329         * svg/SVGCursorElement.cpp:
3330         (WebCore::SVGCursorElement::svgAttributeChanged):
3331         * svg/SVGElementInstance.cpp:
3332         (WebCore::SVGElementInstance::setNeedsUpdate):
3333         * svg/SVGForeignObjectElement.cpp:
3334         (WebCore::addCSSPropertyAndNotifyAttributeMap):
3335         * svg/SVGStopElement.cpp:
3336         (WebCore::SVGStopElement::parseMappedAttribute):
3337         * svg/SVGStyledElement.cpp:
3338         (WebCore::SVGStyledElement::parseMappedAttribute):
3339         * svg/SVGUseElement.cpp:
3340         (WebCore::SVGUseElement::svgAttributeChanged):
3341         (WebCore::SVGUseElement::childrenChanged):
3342         (WebCore::SVGUseElement::recalcStyle):
3343         * svg/animation/SMILTimeContainer.cpp:
3344         (WebCore::SMILTimeContainer::updateAnimations):
3345         * wml/WMLAElement.cpp:
3346         (WebCore::WMLAElement::parseMappedAttribute):
3347         * wml/WMLInputElement.cpp:
3348         (WebCore::WMLInputElement::setValue):
3349         (WebCore::WMLInputElement::parseMappedAttribute):
3350         * wml/WMLNoopElement.cpp:
3351         (WebCore::WMLNoopElement::insertedIntoDocument):
3352
3353 2009-04-09  Brett Wilson  <brettw@chromium.org>
3354
3355         Reviewed by Darin Fisher.
3356
3357         When there is a shadow set but it specifies "no shadow", clear the
3358         shadow shader. This will prevent Chromium from thinking there's a
3359         shadow and using the Skia codepath rather than Windows.
3360
3361         * platform/graphics/skia/GraphicsContextSkia.cpp:
3362         (WebCore::GraphicsContext::setPlatformShadow):
3363
3364 2009-04-09  Eric Seidel  <eric@webkit.org>
3365
3366         Reviewed by Simon Fraser.
3367
3368         Crash when accessing svg.viewport on a detached SVGSVGElement
3369         https://bugs.webkit.org/show_bug.cgi?id=25105
3370
3371         * svg/SVGSVGElement.cpp:
3372         (WebCore::SVGSVGElement::isOutermostSVG): return "true" that we are the "outermost" SVG element if we have no parent.  (The spec is unclear as to what behavior we should have in this case, and I doubt anyone cares for now).
3373
3374 2009-04-09  Jian Li  <jianli@chromium.org>
3375
3376         Reviewed by Dimitri Glazkov.
3377
3378         https://bugs.webkit.org/show_bug.cgi?id=25084
3379         Upstream changes to V8 bindings for XHR so that it can work under either DOMWindow or WorkerContext.
3380
3381         * bindings/v8/WorkerContextExecutionProxy.cpp:
3382         (WebCore::WorkerContextExecutionProxy::dispose):
3383         (WebCore::WorkerContextExecutionProxy::retrieve):
3384         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3385         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListenerHelper):
3386         (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener):
3387         (WebCore::WorkerContextExecutionProxy::findOrCreateObjectEventListener):
3388         * bindings/v8/WorkerContextExecutionProxy.h:
3389         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
3390         (WebCore::CALLBACK_FUNC_DECL):
3391         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3392         (WebCore::getEventListener):
3393         (WebCore::ACCESSOR_SETTER):
3394         (WebCore::CALLBACK_FUNC_DECL):
3395
3396 2009-04-09  Darin Adler  <darin@apple.com>
3397
3398         Reviewed by Anders Carlsson and Sam Weinig.
3399
3400         Part of <rdar://problem/5438063> Saving history containing 100,000 entries causes pauses of 2s while browsing
3401
3402         Longer term solution is to change the design so Safari doesn't read and write all of history.
3403         This patch is step one: Do the serializing, which is done on the main thread, much faster.
3404
3405         * WebCore.base.exp: Added new entry points.
3406         * WebCore.xcodeproj/project.pbxproj: Added new source files.
3407
3408         * history/cf: Added.
3409
3410         * history/cf/HistoryPropertyList.cpp: Added.
3411         * history/cf/HistoryPropertyList.h: Added. Code to write history files. In the future we'll also
3412         have code for reading here too.
3413
3414         * platform/cf/BinaryPropertyList.cpp: Added.
3415         * platform/cf/BinaryPropertyList.h: Added. Code to write binary property list files.
3416
3417 2009-04-09  Simon Fraser  <simon.fraser@apple.com>
3418
3419         Reviewed by Antti Koivisto
3420
3421         https://bugs.webkit.org/show_bug.cgi?id=25122
3422
3423         If deferred repainting is active, we need to ensure that there are no repaints
3424         pending at the end of layoutIfNeededRecursive, which is called just before
3425         painting via -viewWillDraw.
3426
3427         * page/FrameView.cpp:
3428         (WebCore::FrameView::layoutIfNeededRecursive):
3429
3430 2009-04-09  John Grabowski  <jrg@chromium.org>
3431
3432         Reviewed by Darin Fisher.
3433
3434         https://bugs.webkit.org/show_bug.cgi?id=25117
3435         Fix Mac Chromium form controls.
3436
3437         * rendering/RenderThemeChromiumMac.mm:
3438         When rendering native controls in Mac Chromium, use a clean NSGraphicsContext.
3439         Properly save and restore native graphics context.
3440         (WebCore::RenderThemeChromiumMac::paintCheckbox):
3441         (WebCore::RenderThemeChromiumMac::paintRadio):
3442         (WebCore::RenderThemeChromiumMac::paintMenuList):
3443         (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
3444         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
3445         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
3446
3447 2009-04-09  Drew Wilson  <atwilson@google.com>
3448
3449         Reviewed by Alexey Proskuryakov.
3450
3451         https://bugs.webkit.org/show_bug.cgi?id=25030
3452         Refactor MessagePort code to enable Chrome to use a MessagePortProxy object
3453         instead of a real MessagePort for the entangledPort, since it could
3454         theoretically live in a separate process.
3455
3456         The goal of this refactoring is to remove all assumptions that the object
3457         representing the entangled port is actually of type MessagePort. All
3458         operations that were previously directly modifying private MessagePort member
3459         variables in the entangled port (i.e. entangle(), postMessage()) have been changed
3460         to invoke functions in the  MessagePortProxy interface instead which will allow
3461         the Chrome bindings to proxy these calls to another process.
3462
3463         No new layout tests, as this is just a refactoring with no bug fixes
3464         or new functionality.
3465
3466         * GNUmakefile.am:
3467         * WebCore.vcproj/WebCore.vcproj:
3468         * WebCore.xcodeproj/project.pbxproj:
3469         * bindings/js/JSMessagePortCustom.cpp:
3470         (WebCore::JSMessagePort::mark):
3471         * dom/MessagePort.cpp:
3472         (WebCore::MessagePort::clone):
3473         (WebCore::MessagePort::postMessage):
3474         (WebCore::MessagePort::deliverMessage):
3475         (WebCore::MessagePort::startConversation):
3476         (WebCore::MessagePort::close):
3477         (WebCore::MessagePort::entangle):
3478         (WebCore::MessagePort::unentangle):
3479         * dom/MessagePort.h:
3480         (WebCore::MessagePort::entangledPort):
3481         * dom/MessagePortProxy.h: Added.
3482         (WebCore::MessagePortProxy::~MessagePortProxy):
3483
3484 2009-04-08  Sam Weinig  <sam@webkit.org>
3485
3486         Reviewed by Geoffrey "Big Boy" Garen.
3487
3488         Fix for <rdar://problem/5745677> Possible to stop load during an unload event
3489         Also fixes https://bugs.webkit.org/show_bug.cgi?id=20605
3490
3491         Tests: fast/events/stop-load-in-unload-handler-using-document-write.html
3492                fast/events/stop-load-in-unload-handler-using-window-stop.html
3493
3494         Don't allow calling methods that would stop the new load inside the unload
3495         event.
3496
3497         * loader/FrameLoader.cpp:
3498         (WebCore::FrameLoader::FrameLoader):
3499         (WebCore::FrameLoader::stopLoading):
3500         (WebCore::FrameLoader::stopAllLoaders):
3501         * loader/FrameLoader.h:
3502
3503 2009-04-09  David Kilzer  <ddkilzer@apple.com>
3504
3505         Reinstating <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
3506
3507         Rolled r42345 back in.  The build failure was caused by an
3508         internal script which had not been updated the same way that
3509         build-webkit was updated.
3510
3511         * Configurations/WebCore.xcconfig:
3512         * DerivedSources.make:
3513         * bindings/objc/DOM.mm:
3514         (WebCore::createElementClassMap):
3515         (+[DOMNode _wrapNode:WebCore::]):
3516         * bindings/objc/DOMCSS.mm:
3517         (+[DOMCSSValue _wrapCSSValue:WebCore::]):
3518         * bindings/objc/DOMEvents.mm:
3519         (+[DOMEvent _wrapEvent:WebCore::]):
3520         * bindings/objc/DOMInternal.h:
3521         * bindings/objc/ExceptionHandlers.mm:
3522         (WebCore::raiseDOMException):
3523         * html/HTMLEmbedElement.idl:
3524         * html/HTMLFrameElement.idl:
3525         * html/HTMLIFrameElement.idl:
3526         * html/HTMLObjectElement.idl:
3527
3528 2009-04-09  Simon Fraser  <simon.fraser@apple.com>
3529
3530         Reviewed by Darin Adler
3531
3532         https://bugs.webkit.org/show_bug.cgi?id=25109
3533
3534         Eliminate CompositeAnimationPrivate, which was a needless level
3535         of abstraction. Remove the methods like addToStyleAvailableWaitList()
3536         that simply turn around and call the animation controller.
3537         
3538         Rename animationControllerPriv() to animationController().
3539         Rename willNeedService() to timeToNextService().
3540