Roll out r73477 and r73483 since they broke the Mac SnowLeopard build.
[WebKit-https.git] / WebCore / ChangeLog
1 2010-12-07  Dan Bernstein  <mitz@apple.com>
2
3         Reviewed by Darin Adler.
4
5         Made tables repaint correctly in all writing modes
6         Part of: Make tables work with vertical text
7         https://bugs.webkit.org/show_bug.cgi?id=46417
8
9         Tests: fast/repaint/table-writing-modes-h.html
10                fast/repaint/table-writing-modes-v.html
11
12         * rendering/RenderTableSection.cpp:
13         (WebCore::RenderTableSection::paintObject): Compute the ranges of rows and
14         columns to repaint based on the logical extent of the repaint rect.
15
16 2010-12-07  Alexey Marinichev  <amarinichev@chromium.org>
17
18         Reviewed by James Robinson.
19
20         [chromium] compositor lost context recovery fix
21         https://bugs.webkit.org/show_bug.cgi?id=50614
22
23         To test, load a page that triggers the compositor, kill the GPU
24         process and hover over a link to redraw and thus restart the GPU
25         process.  Without this patch it will assert in
26         ContentLayerChromium::updateTextureRect; with this patch it will not.
27
28         * platform/graphics/chromium/LayerChromium.cpp:
29         (WebCore::LayerChromium::setNeedsDisplay):
30
31 2010-12-07  Anders Carlsson  <andersca@apple.com>
32
33         Fix the last clang++ build error.
34
35         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
36         (PlatformCALayer::animationForKey):
37         Cast the returned animation to the correct type.
38
39 2010-12-07  Anders Carlsson  <andersca@apple.com>
40
41         Fix some clang++ build errors.
42
43         * platform/graphics/ca/GraphicsLayerCA.cpp:
44         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
45         Remove unused variable.
46
47         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
48         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
49         Fix constness of pointers.
50
51 2010-12-07  Simon Fraser  <simon.fraser@apple.com>
52
53         Reviewed by Chris Marrin.
54
55         Fix the Color -> CGColorRef conversions for the debug colors
56         used for compositing layers.
57
58         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
59         (PlatformCALayer::setBackgroundColor):
60         (PlatformCALayer::setBorderColor):
61
62 2010-12-07  Brian Weinstein  <bweinstein@apple.com>
63
64         Reviewed by John Sullivan.
65
66         Part of Layering Violation in ContextMenu
67         https://bugs.webkit.org/show_bug.cgi?id=50586
68         
69         ContextMenuMac.mm had a WebCoreMenuTarget class, which was responsible for wrapping
70         a ContextMenuItem, and calling through to the ContextMenuController to validate it
71         and call a function when it was selected.
72         
73         It was a layering violation to have this class here, because ContextMenu can't know
74         about ContextMenuController.
75         
76         This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm,
77         and sets up the menu targets there.
78
79         No change in behavior, no new tests.
80
81         * WebCore.exp.in: Added function that needs to be exported.
82         * platform/mac/ContextMenuMac.mm:
83         (WebCore::ContextMenu::ContextMenu): Don't set the sharedMenuTarget anymore.
84         (WebCore::ContextMenu::appendItem): Don't call setMenuItemTarget (this is done in WebKit now).
85         (WebCore::ContextMenu::insertItem): Ditto.
86
87 2010-12-07  Simon Fraser  <simon.fraser@apple.com>
88
89         Reviewed by Dan Bernstein.
90
91         -webkit-transition Fails on Multiple text-shadow Shadows
92         https://bugs.webkit.org/show_bug.cgi?id=42281
93         
94         When transitioning multiple shadows, the blend function for
95         ShadowData dropped all but the first and last shadow because
96         of a failure to append to the end of the list. Fixed.
97
98         Test: transitions/multiple-text-shadow-transition.html
99
100         * page/animation/AnimationBase.cpp:
101         (WebCore::PropertyWrapperShadow::blend):
102
103 2010-12-07  Simon Fraser  <simon.fraser@apple.com>
104
105         Reviewed by Beth Dakin.
106
107         CSS animation doesn't work for border-radius
108         https://bugs.webkit.org/show_bug.cgi?id=48340
109         
110         Include CSSPropertyBorderRadius in the list of shorthand
111         properties, so that the individual border-radius properties
112         get animated.
113
114         Test: transitions/border-radius-transition.html
115
116         * page/animation/AnimationBase.cpp:
117         (WebCore::addShorthandProperties):
118
119 2010-12-07  Maciej Stachowiak  <mjs@apple.com>
120
121         Reviewed by Kent Tamura.
122
123         Implement HTML5 hidden attribute
124         https://bugs.webkit.org/show_bug.cgi?id=40511
125
126         Test: fast/html/hidden-attr.html
127
128         * html/HTMLElement.cpp:
129         (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
130         (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.
131
132 2010-12-07  Kenneth Russell  <kbr@google.com>
133
134         Reviewed by David Levin.
135
136         Fix compilation of core web audio files on Windows
137         https://bugs.webkit.org/show_bug.cgi?id=50603
138
139         Changed a few constructs using C99 features of math.h to use
140         wtf/MathExtras.h instead. Changed inline definitions of a couple of
141         const static doubles in classes to out-of-line. Built Chrome with
142         web audio enabled on Windows and Mac OS X to test these changes.
143
144         No new tests since audio API is not yet implemented.
145
146         * WebCore.gypi:
147         * platform/audio/AudioResampler.cpp:
148         * platform/audio/Biquad.cpp:
149         (WebCore::Biquad::setLowpassParams):
150         (WebCore::Biquad::setHighpassParams):
151         (WebCore::Biquad::setLowShelfParams):
152         * platform/audio/Cone.cpp:
153         (WebCore::ConeEffect::gain):
154         * platform/audio/EqualPowerPanner.cpp:
155         (WebCore::EqualPowerPanner::pan):
156         * platform/audio/FFTFrame.cpp:
157         (WebCore::FFTFrame::interpolateFrequencyComponents):
158         (WebCore::FFTFrame::extractAverageGroupDelay):
159         (WebCore::FFTFrame::addConstantGroupDelay):
160         * platform/audio/HRTFKernel.cpp:
161         * platform/audio/HRTFPanner.cpp:
162         * webaudio/AudioBufferSourceNode.cpp:
163         (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
164         * webaudio/AudioPannerNode.cpp:
165         (WebCore::AudioPannerNode::getAzimuthElevation):
166         * webaudio/AudioParam.cpp: Added.
167         (AudioParam::setValue):
168         (AudioParam::smooth):
169         * webaudio/AudioParam.h:
170         * webaudio/RealtimeAnalyser.cpp:
171
172 2010-11-25  Philippe Normand  <pnormand@igalia.com>
173
174         Reviewed by Martin Robinson.
175
176         [GStreamer] faster elements linking
177         https://bugs.webkit.org/show_bug.cgi?id=50067
178
179         Perform less checks during GStreamer elements linking if building
180         against GStreamer >= 0.10.30.
181
182         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
183         (WebCore::GStreamerGWorld::enterFullscreen):
184         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
185         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
186
187 2010-12-07  Philippe Normand  <pnormand@igalia.com>
188
189         Reviewed by Gustavo Noronha Silva.
190
191         [GStreamer] ::buffered() should return multiple ranges in some cases
192         https://bugs.webkit.org/show_bug.cgi?id=45101
193
194         Improved the ::buffered() method thanks to the new buffering query
195         support that landed in GStreamer 0.10.31. The method now
196         queries the media buffered-ranges on the pipeline and queue2
197         handles it if it's buffering the media to disk.
198
199         The webkitwebsrc element also gained BYTES duration query
200         support. This is needed in the rare cases where uridecodebin
201         configures its queue before the HTTP server returns the media
202         Content-Length.
203
204         Test: http/tests/media/video-buffered.html
205
206         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
207         (WebCore::MediaPlayerPrivateGStreamer::buffered):
208         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
209         (webkit_web_src_init):
210         (webKitWebSrcQuery): Make webkitwebsrc handle the duration queries
211         if it's aware of the media content-length.
212         * platform/gtk/RenderThemeGtk.cpp:
213         (WebCore::RenderThemeGtk::paintMediaSliderTrack): Fix position of
214         the second and next buffered ranges.
215
216 2010-12-07  Yael Aharon  <yael.aharon@nokia.com>
217
218         Reviewed by Antonio Gomes.
219
220         Spatial navigation not Working for Map and Area Tags
221         https://bugs.webkit.org/show_bug.cgi?id=47142
222
223         Give area elements special treatment in spatial navigation algorithm by getting the
224         rect of the area from the associated image. Since area elements are likely to overlap
225         if they are not rects, or if authors are not careful, we flatten the rect of area elements.
226
227         Tests: fast/spatial-navigation/snav-imagemap-area-not-focusable.html
228                fast/spatial-navigation/snav-imagemap-area-without-image.html
229                fast/spatial-navigation/snav-imagemap-overlapped-areas.html
230                fast/spatial-navigation/snav-imagemap-simple.html
231
232         * page/FocusController.cpp:
233         (WebCore::FocusController::findFocusCandidateInContainer):
234         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
235         (WebCore::FocusController::advanceFocusDirectionally):
236         * page/SpatialNavigation.cpp:
237         (WebCore::FocusCandidate::FocusCandidate):
238         (WebCore::virtualRectForDirection):
239         (WebCore::virtualRectForAreaElementAndDirection):
240         * page/SpatialNavigation.h:
241         (WebCore::FocusCandidate::FocusCandidate):
242
243 2010-12-07  Darin Adler  <darin@apple.com>
244
245         Try to fix V8 build.
246
247         * bindings/generic/BindingDOMWindow.h:
248         (WebCore::BindingDOMWindow::createWindow): Pass security origin.
249
250 2010-12-07  Darin Adler  <darin@apple.com>
251
252         Another build fix.
253
254         * loader/CrossOriginAccessControl.cpp: Added a missing include.
255
256 2010-12-07  Darin Adler  <darin@apple.com>
257
258         Try to fix build.
259
260         * plugins/PluginView.cpp:
261         (WebCore::PluginView::start): Pass security origin.
262         (WebCore::PluginView::getURLNotify): Ditto.
263         (WebCore::PluginView::getURL): Ditto.
264         (WebCore::PluginView::handlePost): Ditto.
265
266 2010-12-06  Darin Adler  <darin@apple.com>
267
268         Reviewed by Sam Weinig.
269
270         Pass security origin to make local file decision correctly
271         https://bugs.webkit.org/show_bug.cgi?id=48603
272
273         * bindings/generic/BindingDOMWindow.h:
274         (WebCore::BindingDOMWindow::createWindow): Pass security origin.
275         (WebCore::BindingDOMWindow::open): Ditto.
276         * bindings/generic/BindingFrame.h:
277         (WebCore::BindingFrame::navigateIfAllowed): Ditto.
278
279         * bindings/js/JSDOMWindowCustom.cpp:
280         (WebCore::JSDOMWindow::setLocation): Pass security origin.
281         (WebCore::createWindow): Ditto.
282         (WebCore::JSDOMWindow::open): Ditto.
283
284         * bindings/js/JSDocumentCustom.cpp:
285         (WebCore::JSDocument::setLocation): Pass security origin.
286
287         * dom/Document.cpp:
288         (WebCore::Document::processHttpEquiv): Pass security origin.
289
290         * inspector/InspectorController.cpp:
291         (WebCore::InspectorController::openInInspectedWindow):
292         Pass security origin.
293
294         * loader/FrameLoader.cpp:
295         (WebCore::FrameLoader::changeLocation): Added a security origin
296         argument, passed through to urlSelected.
297         (WebCore::FrameLoader::urlSelected): Replaced the resource request
298         and frame name arguments with a frame load request arguments in one
299         overload, and changed the other overload to pass in the current
300         frame's document for the security origin.
301         (WebCore::FrameLoader::loadFrameRequest): Moved the canDisplay
302         check before the referrer computation because it no longer needs
303         to look at the referrer. Replaced the call to canDisplay that
304         used the target frame's security origin and the call to
305         deprecatedCanDisplay with a single call to canDisplay that uses
306         the requester security origin.
307
308         * loader/FrameLoader.h: Updated for argument changes above.
309
310         * loader/NavigationScheduler.cpp:
311         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added
312         a security origin.
313         (WebCore::ScheduledURLNavigation::fire): Pass the security origin
314         in to FrameLoader::changeLocation.
315         (WebCore::ScheduledURLNavigation::securityOrigin): Added.
316         (WebCore::ScheduledRedirect::ScheduledRedirect): Added a security
317         origin argument.
318         (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
319         (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
320         (WebCore::ScheduledRefresh::fire): Pass the security origin in to
321         FrameLoader::changeLocation.
322         (WebCore::ScheduledFormSubmission::fire): Include the security
323         origin when constructing form submission.
324         (WebCore::NavigationScheduler::scheduleRedirect): Include the security
325         origin when creating the scheduled navigation object.
326         (WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
327         (WebCore::NavigationScheduler::scheduleRefresh): Ditto.
328
329         * loader/NavigationScheduler.h: Added the security origin argument
330         to scheduleLocationChange.
331
332         * loader/SubframeLoader.cpp:
333         (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass in the security
334         origin when calling scheduleLocationChange.
335         * loader/appcache/ApplicationCacheGroup.cpp:
336         (WebCore::ApplicationCacheGroup::selectCache): Ditto.
337
338         * page/ContextMenuController.cpp:
339         (WebCore::openNewWindow): Pass in the security origin.
340         (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
341
342         * page/FrameLoadRequest.h: Added a security origin called the requester
343         to all FrameLoadRequest objects.
344
345         * page/XSSAuditor.cpp:
346         (WebCore::XSSAuditor::findInRequest): Added the security origin.
347
348 2010-12-07  Yury Semikhatsky  <yurys@chromium.org>
349
350         Reviewed by Pavel Feldman.
351
352         Web Inspector: avoid initializing Context on when creating attaching listener to ScriptDebugServer
353         https://bugs.webkit.org/show_bug.cgi?id=50627
354
355         * bindings/v8/ScriptDebugServer.cpp:
356         (WebCore::ScriptDebugServer::addListener): don't try to collect already parsed scripts if context has
357         not been initialized yet.
358
359 2010-12-07  Csaba Osztrogon√°c  <ossy@webkit.org>
360
361         Unreviewed. Rolling out r73421, because it made transitions/color-transition-all.html flakey.
362
363         * page/animation/AnimationBase.cpp:
364         (WebCore::addShorthandProperties):
365
366 2010-12-07  Martin Robinson  <mrobinson@igalia.com>
367
368         Unreviewed, rolling out r73392.
369         http://trac.webkit.org/changeset/73392
370         https://bugs.webkit.org/show_bug.cgi?id=50489
371
372         This commit caused crashes on the GTK+ bots
373
374         * bindings/ScriptControllerBase.cpp:
375         (WebCore::ScriptController::executeIfJavaScriptURL):
376         * dom/Document.cpp:
377         (WebCore::Document::Document):
378         (WebCore::Document::close):
379         (WebCore::Document::lastModified):
380         (WebCore::Document::finishedParsing):
381         (WebCore::Document::initSecurityContext):
382         (WebCore::Document::updateURLForPushOrReplaceState):
383         * dom/Document.h:
384         * dom/ProcessingInstruction.cpp:
385         (WebCore::ProcessingInstruction::checkStyleSheet):
386         * dom/ScriptElement.cpp:
387         (WebCore::ScriptElement::scriptCharset):
388         * html/HTMLLinkElement.cpp:
389         (WebCore::HTMLLinkElement::process):
390         * html/MediaDocument.cpp:
391         (WebCore::MediaDocument::replaceMediaElementTimerFired):
392         * html/PluginDocument.cpp:
393         (WebCore::PluginDocumentParser::createDocumentStructure):
394         * loader/DocumentLoader.cpp:
395         (WebCore::DocumentLoader::DocumentLoader):
396         (WebCore::DocumentLoader::finishedLoading):
397         (WebCore::DocumentLoader::commitData):
398         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
399         (WebCore::DocumentLoader::setFrame):
400         * loader/DocumentLoader.h:
401         * loader/DocumentWriter.cpp:
402         (WebCore::DocumentWriter::begin):
403         * loader/DocumentWriter.h:
404         * loader/FrameLoader.cpp:
405         (WebCore::FrameLoader::FrameLoader):
406         (WebCore::FrameLoader::init):
407         (WebCore::FrameLoader::clear):
408         (WebCore::FrameLoader::receivedFirstData):
409         (WebCore::FrameLoader::transitionToCommitted):
410         (WebCore::FrameLoader::open):
411         (WebCore::FrameLoader::finishedLoadingDocument):
412         (WebCore::FrameLoader::addExtraFieldsToRequest):
413         * loader/FrameLoader.h:
414         (WebCore::FrameLoader::writer):
415         * loader/cache/CachedResourceLoader.cpp:
416         (WebCore::CachedResourceLoader::requestPreload):
417         * platform/network/FormDataBuilder.cpp:
418         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
419         * svg/graphics/SVGImage.cpp:
420         (WebCore::SVGImage::dataChanged):
421
422 2010-12-07  Patrick Gansterer  <paroga@webkit.org>
423
424         Reviewed by Andreas Kling.
425
426         [CMake] Remove WebKitGenerators
427         https://bugs.webkit.org/show_bug.cgi?id=50445
428
429         Move remaining logic into main CMakeLists.txt.
430
431         * CMakeLists.txt:
432
433 2010-12-07  Justin Schuh  <jschuh@chromium.org>
434
435         Reviewed by Nikolas Zimmermann.
436
437         Clear old SVG cursor entry before adding a new one
438         https://bugs.webkit.org/show_bug.cgi?id=50549
439
440         Test: svg/css/cursor-replace.svg
441
442         * css/CSSCursorImageValue.cpp:
443         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
444         * svg/SVGCursorElement.cpp:
445         (WebCore::SVGCursorElement::~SVGCursorElement):
446         (WebCore::SVGCursorElement::removeClient):
447         (WebCore::SVGCursorElement::removeReferencedElement):
448         * svg/SVGCursorElement.h:
449         * svg/SVGElement.cpp:
450         (WebCore::SVGElement::setCursorElement):
451         (WebCore::SVGElement::cursorElementRemoved):
452         (WebCore::SVGElement::setCursorImageValue):
453         (WebCore::SVGElement::cursorImageElementRemoved):
454         * svg/SVGElement.h:
455
456 2010-12-07  Kenichi Ishibashi  <bashi@google.com>
457
458         Reviewed by Kent Tamura.
459
460         Let HTMLObjectElement be a form associated element
461         https://bugs.webkit.org/show_bug.cgi?id=48821
462
463         Introduces FormAssociatedElement class which would be a super class
464         of form assocated elements. Some of member functions and variables of
465         HTMLFormControlElement are migrated into this class.
466         Following the HTML5 spec, HTMLFormControlElement class and
467         HTMLObjectElement class are subclasses of it for now.
468
469         Test: fast/forms/form-collection-elements-order.html
470
471         * Android.mk: Added FormAssociatedElement.cpp
472         * CMakeLists.txt: Ditto.
473         * GNUmakefile.am: Added FormAssociatedElement.{cpp,h}
474         * WebCore.exp.in: Added the symbol for toHTMLElement(FormAssociatedElement*)
475         * WebCore.gypi: Added FormAssociatedElement.{cpp,h}
476         * WebCore.pro: Ditto.
477         * WebCore.vcproj/WebCore.vcproj: Ditto.
478         * WebCore.xcodeproj/project.pbxproj: Ditto.
479         * dom/CheckedRadioButtons.h: Fixed class forward declaration order.
480         * dom/Document.cpp:
481         (WebCore::Document::registerFormElementWithFormAttribute): Modified to
482         use FormAssociatedElement instead of HTMLFormControlElement
483         (WebCore::Document::unregisterFormElementWithFormAttribute): Ditto.
484         (WebCore::Document::resetFormElementsOwner):
485         * dom/Document.h: Ditto.
486         * html/DOMFormData.cpp: Ditto.
487         (WebCore::DOMFormData::DOMFormData):
488         * html/FormAssociatedElement.cpp: Copied and renamed from WebCore/html/HTMLFormControlElement.cpp.
489         (WebCore::FormAssociatedElement::FormAssociatedElement):
490         (WebCore::FormAssociatedElement::~FormAssociatedElement):
491         (WebCore::FormAssociatedElement::validity):
492         (WebCore::FormAssociatedElement::insertedIntoTree):
493         (WebCore::FormAssociatedElement::removedFromTree):
494         (WebCore::FormAssociatedElement::removeFromForm):
495         (WebCore::FormAssociatedElement::resetFormOwner):
496         (WebCore::FormAssociatedElement::formAttributeChanged):
497         (WebCore::toHTMLElement):
498         * html/FormAssociatedElement.h: Ditto.
499         (WebCore::FormAssociatedElement::ref):
500         (WebCore::FormAssociatedElement::deref):
501         (WebCore::FormAssociatedElement::formDestroyed):
502         (WebCore::FormAssociatedElement::setForm):
503         * html/HTMLElement.h: Changed the access level of findFormAncestor().
504         * html/HTMLFormCollection.cpp:
505         (WebCore::HTMLFormCollection::item): Modified to use FormAssociatedElement
506         instead of HTMLFormControlElement.
507         (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
508         (WebCore::HTMLFormCollection::updateNameCache): Ditto.
509         * html/HTMLFormControlElement.cpp: Modified regarding with the change of class
510         hierarchy.
511         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
512         (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
513         (WebCore::HTMLFormControlElement::insertedIntoTree):
514         (WebCore::HTMLFormControlElement::removedFromTree):
515         (WebCore::HTMLFormControlElement::supportsFocus):
516         (WebCore::HTMLFormControlElement::checkValidity):
517         (WebCore::HTMLFormControlElement::virtualForm):
518         (WebCore::HTMLFormControlElement::isDefaultButtonForForm):
519         (WebCore::HTMLFormControlElement::attributeChanged):
520         * html/HTMLFormControlElement.h: Ditto.
521         (WebCore::HTMLFormControlElement::form):
522         (WebCore::HTMLFormControlElement::disabled):
523         (WebCore::HTMLFormControlElement::type):
524         (WebCore::HTMLFormControlElement::refFormAssociatedElement):
525         (WebCore::HTMLFormControlElement::derefFormAssociatedElement):
526         * html/HTMLFormElement.cpp: Modified to use FormAssociatedElement
527         instead of HTMLFormControlElement.
528         (WebCore::HTMLFormElement::submitImplicitly):
529         (WebCore::HTMLFormElement::validateInteractively):
530         (WebCore::HTMLFormElement::submit):
531         (WebCore::HTMLFormElement::reset):
532         (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
533         (WebCore::HTMLFormElement::formElementIndex):
534         (WebCore::HTMLFormElement::registerFormElement):
535         (WebCore::HTMLFormElement::removeFormElement):
536         (WebCore::HTMLFormElement::defaultButton):
537         (WebCore::HTMLFormElement::checkValidity):
538         (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
539         (WebCore::HTMLFormElement::documentDidBecomeActive):
540         * html/HTMLFormElement.h: Ditto.
541         (WebCore::HTMLFormElement::associatedElements):
542         * html/HTMLInputElement.cpp: Ditto.
543         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
544         * html/HTMLObjectElement.cpp: Modified regarding with the change of class
545         hierarchy.
546         (WebCore::HTMLObjectElement::HTMLObjectElement):
547         (WebCore::HTMLObjectElement::~HTMLObjectElement):
548         (WebCore::HTMLObjectElement::create):
549         (WebCore::HTMLObjectElement::attributeChanged):
550         (WebCore::HTMLObjectElement::insertedIntoTree):
551         (WebCore::HTMLObjectElement::removedFromTree):
552         (WebCore::HTMLObjectElement::appendFormData):
553         (WebCore::HTMLObjectElement::formControlName):
554         * html/HTMLObjectElement.h: Ditto.
555         (WebCore::HTMLObjectElement::form):
556         (WebCore::HTMLObjectElement::isFormControlElement):
557         (WebCore::HTMLObjectElement::isEnumeratable):
558         (WebCore::HTMLObjectElement::refFormAssociatedElement):
559         (WebCore::HTMLObjectElement::derefFormAssociatedElement):
560         * html/HTMLTagNames.in: Added constructorNeedsFormElement to object tag.
561         * html/ValidationMessage.cpp: Modified to use FormAssociatedElement
562         instead of HTMLFormControlElement.
563         (WebCore::ValidationMessage::ValidationMessage):
564         (WebCore::ValidationMessage::create):
565         * html/ValidationMessage.h: Ditto.
566         * html/ValidityState.cpp: Ditto.
567         (WebCore::ValidityState::validationMessage):
568         (WebCore::ValidityState::setCustomErrorMessage):
569         (WebCore::ValidityState::valueMissing):
570         (WebCore::ValidityState::typeMismatch):
571         (WebCore::ValidityState::patternMismatch):
572         (WebCore::ValidityState::tooLong):
573         (WebCore::ValidityState::rangeUnderflow):
574         (WebCore::ValidityState::rangeOverflow):
575         (WebCore::ValidityState::stepMismatch):
576         * html/ValidityState.h: Ditto.
577         (WebCore::ValidityState::create):
578         (WebCore::ValidityState::ValidityState):
579         * loader/FormSubmission.cpp: Ditto.
580         (WebCore::FormSubmission::create):
581
582 2010-12-06  Pavel Feldman  <pfeldman@chromium.org>
583
584         Not reviewed. Rolling out r72988 for breaking iframes.
585
586         * css/CSSImportRule.cpp:
587         (WebCore::CSSImportRule::insertedIntoParent):
588
589 2010-12-06  Hironori Bono  <hbono@chromium.org>
590
591         Reviewed by David Levin.
592
593         [Chromium] Refactor FontCacheChromiumWin.cpp
594         https://bugs.webkit.org/show_bug.cgi?id=50611
595         
596         This change just moved the helper functions for the WebCore::FontCache class to the beginning of ths file.
597
598         No new tests are added since this is a refactoring.
599
600         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
601         (WebCore::fontDataFromDescriptionAndLogFont): Moved to the beginning of the file.
602         (WebCore::toGDIFontWeight): Moved to the beginning of the file.
603         (WebCore::FillLogFont): Moved to the beginning of the file.
604         (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Moved to the beginning of the file.
605         (WebCore::traitsInFamilyEnumProc): Moved to the beginning of the file.
606         (WebCore::FontCache::platformInit): Moved after the static functions.
607
608 2010-12-06  Alexey Marinichev  <amarinichev@chromium.org>
609
610         Reviewed by Kenneth Russell.
611
612         Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored.
613         https://bugs.webkit.org/show_bug.cgi?id=50364
614
615         No new tests since there is currently no way to force a context lost event.
616
617         * html/canvas/WebGLRenderingContext.cpp:
618         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
619         (WebCore::WebGLRenderingContext::create):
620         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
621         (WebCore::WebGLRenderingContext::isContextLost):
622         (WebCore::WebGLRenderingContext::loseContext):
623         (WebCore::WebGLRenderingContext::restoreContext):
624         * html/canvas/WebGLRenderingContext.h:
625         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):
626
627 2010-12-06  David Hyatt  <hyatt@apple.com>
628
629         Reviewed by Simon Fraser.
630
631         https://bugs.webkit.org/show_bug.cgi?id=50593
632         
633         Fix background canvas painting for documents with left/top overflow.  The math from the original RTL patch was incorrect.
634         
635         Just use the RenderView's document dimensions always.
636
637         * rendering/RenderBox.cpp:
638         (WebCore::RenderBox::paintRootBoxDecorations):
639
640 2010-12-06  Simon Fraser  <simon.fraser@apple.com>
641
642         Reviewed by Beth Dakin.
643
644         CSS animation doesn't work for border-radius
645         https://bugs.webkit.org/show_bug.cgi?id=48340
646         
647         Include CSSPropertyBorderRadius in the list of shorthand
648         properties, so that the individual border-radius properties
649         get animated.
650
651         Test: transitions/border-radius-transition.html
652
653         * page/animation/AnimationBase.cpp:
654         (WebCore::addShorthandProperties):
655
656 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
657
658         Reviewed by Tony Chang.
659
660         ApplyStyleCommand should take EditingStyle instead of CSSStyleDeclaration
661         https://bugs.webkit.org/show_bug.cgi?id=49938
662
663         Modified ApplyStyleCommand::ApplyStyleCommand and ApplyStyleCommand::create to take EditingStyle*
664         instead of CSSStyleDeclaration*. Also replaced much of code in Editor::computeAndSetTypingStyle
665         by calls to EditingStyle's member functions and extracted EditingStyle::overrideWith and
666         EditingStyle::extractAndRemoveBlockProperties.
667
668         No new tests are added since this is a refactoring.
669
670         * WebCore.exp.in: Added SelectionController::copyTypingStyle and EditingStyle::~EditingStyle.
671         * css/CSSMutableStyleDeclaration.cpp: Made CSSMutableStyleDeclaration* in the argument list const.
672         (WebCore::CSSMutableStyleDeclaration::merge):
673         * css/CSSMutableStyleDeclaration.h:
674         * editing/ApplyStyleCommand.cpp:
675         (WebCore::ApplyStyleCommand::ApplyStyleCommand): Takes EditingStyle* instead of CSSStyleDeclaration*.
676         (WebCore::ApplyStyleCommand::doApply): Uses EditingStyle.
677         * editing/ApplyStyleCommand.h: m_style is now a ref-pointer to EditingStyle instead of CSSMutableStyleDeclaration.
678         (WebCore::ApplyStyleCommand::create): Takes EditingStyle* instead of CSSStyleDeclaration*.
679         * editing/CompositeEditCommand.cpp:
680         (WebCore::CompositeEditCommand::applyStyle): Ditto.
681         (WebCore::CompositeEditCommand::moveParagraphs): Calls applyStyle.
682         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
683         * editing/CompositeEditCommand.h:
684         * editing/DeleteSelectionCommand.cpp:
685         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
686         * editing/EditCommand.cpp:
687         * editing/EditCommand.h:
688         * editing/EditingStyle.cpp:
689         (WebCore::EditingStyle::~EditingStyle): Added.
690         (WebCore::EditingStyle::overrideWithStyle): Extracted from Editor::calculateTypingStyleAfterDelete.
691         (WebCore::EditingStyle::copy): Added.
692         (WebCore::EditingStyle::extractAndRemoveBlockProperties): Extracted from Editor::calculateTypingStyleAfterDelete.
693         * editing/EditingStyle.h:
694         * editing/Editor.cpp:
695         (WebCore::Editor::applyStyle): Calls ApplyStyleCommand::create.
696         (WebCore::Editor::applyParagraphStyle): Ditto.
697         (WebCore::Editor::computeAndSetTypingStyle): Ditto.
698         * editing/InsertLineBreakCommand.cpp:
699         (WebCore::InsertLineBreakCommand::doApply): Calls applyStyle.
700         * editing/InsertParagraphSeparatorCommand.cpp:
701         (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
702         * editing/InsertTextCommand.cpp:
703         (WebCore::InsertTextCommand::input): Ditto.
704         * editing/RemoveFormatCommand.cpp:
705         (WebCore::RemoveFormatCommand::doApply): Calls ApplyStyleCommand::create.
706         * editing/ReplaceSelectionCommand.cpp:
707         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Calls applyStyle.
708         * editing/SelectionController.cpp:
709         (WebCore::SelectionController::copyTypingStyle): Moved from SelectionController.h
710         * editing/SelectionController.h:
711
712 2010-12-05  Ryosuke Niwa  <rniwa@webkit.org>
713
714         Reviewed by Tony Chang.
715
716         Executing FormatBlock on multiple paragraphs inside pre does not remove the outer pre
717         https://bugs.webkit.org/show_bug.cgi?id=47300
718
719         The bug was caused by FormatBlockCommand::formatRange's not removing refNode when the refNode
720         contains more than one paragraphs even when the refNode is fully selected.
721
722         Fixed the bug by modifying FormatBlockCommand::formatRange to correctly remove the node in
723         such a situation.
724
725         Also fixed a bug in ApplyBlockElementCommand::formatSelection that the end of selection
726         is not properly updated when the end of selection resides in the node split by
727         rangeForParagraphSplittingTextNodesIfNeeded or endOfNextParagrahSplittingTextNodesIfNeeded.
728
729         Test: editing/execCommand/format-block-multiple-paragraphs-in-pre.html
730
731         * editing/ApplyBlockElementCommand.cpp:
732         (WebCore::ApplyBlockElementCommand::formatSelection): Calls formatRange with m_endOfLastParagraph.
733         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Updates
734         m_endOfLastParagraph when the position points to the node split by this function.
735         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Ditto.
736         * editing/ApplyBlockElementCommand.h: Added m_endOfLastParagraph as a member variable.
737         * editing/FormatBlockCommand.cpp:
738         (WebCore::FormatBlockCommand::formatRange): See above.
739         * editing/FormatBlockCommand.h:
740         * editing/IndentOutdentCommand.cpp:
741         (WebCore::IndentOutdentCommand::formatRange): Ignores the end of selection.
742         * editing/IndentOutdentCommand.h:
743
744 2010-12-03  Zhenyao Mo  <zmo@google.com>
745
746         Reviewed by Kenneth Russell.
747
748         Postpone gl delete* calls until shaders/programs are no longer attached
749         https://bugs.webkit.org/show_bug.cgi?id=50501
750
751         * html/canvas/WebGLBuffer.cpp:
752         (WebCore::WebGLBuffer::deleteObjectImpl): Simply delete GL resource.
753         * html/canvas/WebGLFramebuffer.cpp:
754         (WebCore::WebGLFramebuffer::deleteObjectImpl): Ditto.
755         * html/canvas/WebGLObject.cpp:
756         (WebCore::WebGLObject::deleteObject): Tracking whether deleteObjectImpl should be called or not.
757         * html/canvas/WebGLObject.h:
758         (WebCore::WebGLObject::detachContext): Set attachmentCount to 0 to ensure OpenGL resource deletion.
759         (WebCore::WebGLObject::onDetached): No need to track attachmentCount here as we track it in deleteObject.
760         (WebCore::WebGLObject::isDeleted): Make this public.
761         * html/canvas/WebGLProgram.cpp:
762         (WebCore::WebGLProgram::deleteObjectImpl): Simply delete GL resource.
763         * html/canvas/WebGLRenderbuffer.cpp:
764         (WebCore::WebGLRenderbuffer::deleteObjectImpl): Ditto.
765         * html/canvas/WebGLRenderingContext.cpp:
766         (WebCore::WebGLRenderingContext::getProgramParameter): intercept DELETE_STATUS.
767         (WebCore::WebGLRenderingContext::getShaderParameter): Ditto.
768         * html/canvas/WebGLShader.cpp:
769         (WebCore::WebGLShader::deleteObjectImpl): Simply delete GL resource.
770         * html/canvas/WebGLTexture.cpp:
771         (WebCore::WebGLTexture::deleteObjectImpl): Simply delete GL resource.
772
773 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
774
775         Yet unreviewed another Leopard build fix for r73380.
776
777         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
778         (PlatformCAAnimation::setKeyTimes):
779         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
780         (PlatformCALayer::platformCALayer):
781
782 2010-12-06  Andy Estes  <aestes@apple.com>
783
784         Reviewed by Darin Adler.
785
786         Marquee elements do not stop animating when scrollAmount is set to 0.
787         https://bugs.webkit.org/show_bug.cgi?id=50434
788
789         Test: fast/html/marquee-scrollamount.html
790
791         * rendering/RenderMarquee.cpp:
792         (WebCore::RenderMarquee::timerFired): Allow increment to be 0.
793
794 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
795
796         Unreviewed Leopard buildfix for r73380.
797
798         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
799         (PlatformCAAnimation::setTimingFunctions):
800         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
801         (PlatformCALayer::PlatformCALayer):
802
803 2010-12-06  Philippe Normand  <pnormand@igalia.com>
804
805         Reviewed by Martin Robinson.
806
807         [GStreamer] use ResourceHandle::setDefersLoading in WebKitWebSourceGStreamer
808         https://bugs.webkit.org/show_bug.cgi?id=44157
809
810         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
811         (webKitWebSrcNeedDataMainCb):
812         (webKitWebSrcEnoughDataMainCb): Replaced platform-specific code
813         with cross-platform ResourceHandle::setDefersLoading calls.
814
815 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
816
817         Unreviewed Leopard build fix for r73388.
818
819         * accessibility/AccessibilitySlider.cpp:
820         (WebCore::AccessibilitySlider::maxValueForRange):
821         (WebCore::AccessibilitySlider::minValueForRange):
822
823 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
824
825         Unreviewed build fix for Leopard after r73379.
826
827         * platform/graphics/cg/GraphicsContextCG.cpp:
828         (WebCore::GraphicsContext::setAllowsFontSmoothing):
829
830 2010-12-06  Nate Chapin  <japhet@chromium.org>
831
832         Reviewed by Adam Barth.
833
834         Make DocumentWriter a member of DocumentLoader
835         instead of FrameLoader.
836         https://bugs.webkit.org/show_bug.cgi?id=50489
837
838         Refactor, no new tests.
839
840         * bindings/ScriptControllerBase.cpp:
841         (WebCore::ScriptController::executeIfJavaScriptURL):
842         * dom/Document.cpp:
843         (WebCore::Document::Document):
844         (WebCore::Document::close):
845         (WebCore::Document::lastModified):
846         (WebCore::Document::finishedParsing):
847         (WebCore::Document::initSecurityContext):
848         (WebCore::Document::updateURLForPushOrReplaceState):
849         * dom/Document.h:
850         (WebCore::Document::setDocumentLoader):
851         (WebCore::Document::loader):
852         * dom/ProcessingInstruction.cpp:
853         (WebCore::ProcessingInstruction::checkStyleSheet):
854         * dom/ScriptElement.cpp:
855         (WebCore::ScriptElement::scriptCharset):
856         * html/HTMLLinkElement.cpp:
857         (WebCore::HTMLLinkElement::process):
858         * html/MediaDocument.cpp:
859         (WebCore::MediaDocument::replaceMediaElementTimerFired):
860         * html/PluginDocument.cpp:
861         (WebCore::PluginDocumentParser::createDocumentStructure):
862         * loader/DocumentLoader.cpp:
863         (WebCore::DocumentLoader::DocumentLoader):
864         (WebCore::DocumentLoader::finishedLoading):
865         (WebCore::DocumentLoader::commitData):
866         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
867         (WebCore::DocumentLoader::setFrame):
868         * loader/DocumentLoader.h:
869         (WebCore::DocumentLoader::writer):
870         * loader/DocumentWriter.h:
871         (WebCore::DocumentWriter::setFrame):
872         * loader/FrameLoader.cpp:
873         (WebCore::FrameLoader::FrameLoader):
874         (WebCore::FrameLoader::init):
875         (WebCore::FrameLoader::clear):
876         (WebCore::FrameLoader::receivedFirstData):
877         (WebCore::FrameLoader::transitionToCommitted):
878         (WebCore::FrameLoader::open):
879         (WebCore::FrameLoader::finishedLoadingDocument):
880         (WebCore::FrameLoader::addExtraFieldsToRequest):
881         * loader/FrameLoader.h:
882         (WebCore::FrameLoader::notifier):
883         * loader/cache/CachedResourceLoader.cpp:
884         (WebCore::CachedResourceLoader::requestPreload):
885         * platform/network/FormDataBuilder.cpp:
886         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
887         * svg/graphics/SVGImage.cpp:
888         (WebCore::SVGImage::dataChanged):
889
890 2010-12-06  Mark Rowe  <mrowe@apple.com>
891
892         Build fix.
893
894         * WebCore.xcodeproj/project.pbxproj: Don't force WebCore to build against the 10.5 SDK.
895         That's just plain wrong.
896
897 2010-12-06  Chris Fleizach  <cfleizach@apple.com>
898
899         Reviewed by Darin Adler.
900
901         HTML5 Slider does not work correctly with VoiceOver
902         https://bugs.webkit.org/show_bug.cgi?id=50505
903
904         Address a few problems with the Mac implementation for the accessibility slider.
905             1) The value indicator is not hit testable.
906             2) The value indicator does not return an AXValue.
907             3) In the slider, the min/max values are not correct when min/max attributes are not present.
908             4) When you change the value with the keyboard, it doesn't send out the right notification.
909             5) Sliders were returning AXValue and AXTopLevelUIElement attributes twice in their list of attributes.
910  
911         Test: platform/mac/accessibility/html-slider-indicator.html
912
913         * accessibility/AccessibilityObject.cpp:
914         (WebCore::AccessibilityObject::getAttribute):
915             Use fastGetAttribute on Element, instead of getAttribute.
916         * accessibility/AccessibilityObject.h:
917         (WebCore::AccessibilityObject::isInputSlider):
918         * accessibility/AccessibilityRenderObject.cpp:
919         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
920         * accessibility/AccessibilitySlider.cpp:
921         (WebCore::AccessibilitySlider::doAccessibilityHitTest):
922         (WebCore::AccessibilitySlider::maxValueForRange):
923         (WebCore::AccessibilitySlider::minValueForRange):
924         * accessibility/AccessibilitySlider.h:
925         (WebCore::AccessibilitySlider::isInputSlider):
926         * accessibility/mac/AccessibilityObjectWrapper.mm:
927         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
928         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
929         * html/HTMLInputElement.cpp:
930         (WebCore::HTMLInputElement::applyStep):
931
932 2010-12-06  David Hyatt  <hyatt@apple.com>
933
934         Reviewed by Simon Fraser.
935
936         Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now
937         O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition.
938
939         This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow
940         in the engine to cache all the information required to properly handle scrolling.
941
942         In the old code, there were two types of overflow: layout overflow and visual overflow.  The former could
943         affect scrolling and the latter could not.  The distinction was largely meaningless, since layout overflow
944         wasn't actually used to determine scroll width or scroll height.  It didn't propagate across self-painting layer
945         boundaries either.  In the old code, the term visible overflow meant the union of the layout overflow and
946         visual overflow rects.
947
948         In the new code, the two types of overflow remain, but the distinction between the two is now clear.  Visual overflow
949         is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling.  It has
950         been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to
951         work with writing modes.
952
953         In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members.
954         Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful).
955         A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise
956         a huge number of tests would change.
957
958         Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow.  Existing tests cover the rest.
959
960         * page/FrameView.cpp:
961         (WebCore::FrameView::adjustViewSize):
962         (WebCore::FrameView::forceLayoutForPagination):
963         Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it
964         to account for writing modes.
965
966         * platform/graphics/IntRect.h:
967         (WebCore::IntRect::shiftLeftEdgeTo):
968         (WebCore::IntRect::shiftRightEdgeTo):
969         (WebCore::IntRect::shiftTopEdgeTo):
970         (WebCore::IntRect::shiftBottomEdgeTo):
971         New helper functions for sliding the edge of a rectangle without moving any of the other three edges.
972
973         * rendering/InlineBox.h:
974         (WebCore::InlineBox::frameRect):
975         frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect.
976
977         * rendering/InlineFlowBox.cpp:
978         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
979         All of the overflow setting in the inline direction has been removed from this function.  All line overflow is computed
980         at once now in a single function: computeOverflow.
981
982         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
983         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
984         (WebCore::InlineFlowBox::addReplacedChildOverflow):
985         Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow.
986
987         (WebCore::InlineFlowBox::computeOverflow):
988         The new function that computes both horizontal and vertical overflow for a line box.
989
990         (WebCore::InlineFlowBox::setLayoutOverflow):
991         (WebCore::InlineFlowBox::setVisualOverflow):
992         (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
993         New functions that set the overflow computed by computeOverflow.  These replace setBlockDirectionOverflowPositions
994         and setInlineDirectionOverflowPositions.  They essentially do the same thing, but they operate on rectangles.
995
996         (WebCore::InlineFlowBox::nodeAtPoint):
997         (WebCore::InlineFlowBox::paint):
998         Changed to use visual overflow instead of visible overflow.  (Visible overflow as a union of layout and visual
999         overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.)
1000
1001         * rendering/InlineFlowBox.h:
1002         (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
1003         (WebCore::InlineFlowBox::logicalVisualOverflowRect):
1004         Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before
1005         converting to block coordinates at the end.
1006
1007         * rendering/RenderBlock.cpp:
1008         (WebCore::RenderBlock::layoutBlock):
1009         (WebCore::RenderBlock::addOverflowFromChildren):
1010         (WebCore::RenderBlock::computeOverflow):
1011         (WebCore::RenderBlock::addOverflowFromFloats):
1012         (WebCore::RenderBlock::addOverflowFromPositionedObjects):
1013         Blocks now have a computeOverflow function called at the end of layout that adds in all the types of overflow.  The addOverflowFromChildren
1014         method is virtual so that RenderListItem and RenderTable can subclass it.  RenderListItem has to position its list marker and
1015         propagate marker overflow up, and RenderTable adds in overflow from its sections.
1016
1017         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
1018         (WebCore::RenderBlock::layoutPositionedObjects):
1019         When only positioned objects lay out, overflow must still be recomputed.  The refactoring of overflow computation into a single
1020         callable method: computeOverflow, makes it possible for this to be done easily.
1021
1022         (WebCore::RenderBlock::paint):
1023         visible -> visual.
1024
1025         (WebCore::RenderBlock::addOverhangingFloats):
1026         The propagation of float overflow has changed substantially.  The basic rules are:
1027             (1) The float must be in our floating objects list to contribute to overflow.
1028             (2) The float must be a descendant to contribute to overflow.
1029             (3) The block must have the outermost list that contains the float, or it has a self-painting layer and
1030                 so the float needs to be included in its overflow.
1031
1032         (WebCore::RenderBlock::nodeAtPoint):
1033         visible -> visual.
1034
1035         (WebCore::RenderBlock::layoutColumns):
1036         Remove column overflow computation from layoutColumns and move it to computeOverflow.
1037
1038         (WebCore::RenderBlock::adjustLinePositionForPagination):
1039         visible -> visual.
1040
1041         * rendering/RenderBlock.h:
1042         (WebCore::RenderBlock::scrollbarsChanged):
1043         Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go.
1044
1045         * rendering/RenderBlockLineLayout.cpp:
1046         (WebCore::RenderBlock::layoutInlineChildren):
1047         (WebCore::RenderBlock::determineStartPosition):
1048         (WebCore::RenderBlock::matchedEndLine):
1049         (WebCore::RenderBlock::addOverflowFromInlineChildren):
1050         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
1051         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
1052         visible -> visual.
1053
1054         * rendering/RenderBox.cpp:
1055         (WebCore::RenderBox::scrollWidth):
1056         (WebCore::RenderBox::scrollHeight):
1057         Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions.
1058
1059         (WebCore::RenderBox::paintRootBoxDecorations):
1060         Use docLeft and docTop here, so that writing modes are handled.
1061
1062         (WebCore::RenderBox::clippedOverflowRectForRepaint):
1063         visible -> visual.
1064
1065         (WebCore::RenderBox::addOverflowFromChild):
1066         (WebCore::RenderBox::addLayoutOverflow):
1067         (WebCore::RenderBox::addVisualOverflow):
1068         (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
1069         (WebCore::RenderBox::visualOverflowRectForPropagation):
1070         (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
1071         (WebCore::RenderBox::layoutOverflowRectForPropagation):
1072         * rendering/RenderBox.h:
1073         The new overflow system for boxes.  Layout overflow now crosses self-painting layer boundaries and adjusts child boxes
1074         for transforms, relative positioning and writing mode differences.
1075
1076         (WebCore::RenderBox::layoutOverflowRect):
1077         (WebCore::RenderBox::topLayoutOverflow):
1078         (WebCore::RenderBox::bottomLayoutOverflow):
1079         (WebCore::RenderBox::leftLayoutOverflow):
1080         (WebCore::RenderBox::rightLayoutOverflow):
1081         Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions.
1082
1083         (WebCore::RenderBox::clientLogicalBottom):
1084         New helper for obtaining the logical bottom of the client box.
1085
1086         (WebCore::RenderBox::clientBoxRect):
1087         New helper for obtaining the clientLeft/Top/Width/Height box.
1088
1089         * rendering/RenderBoxModelObject.h:
1090         (WebCore::RenderBoxModelObject::relativePositionLogicalOffset):
1091         Helper for obtaining the relative position offset transposed for vertical writing modes.  Used by line overflow.
1092
1093         * rendering/RenderFlexibleBox.cpp:
1094         (WebCore::RenderFlexibleBox::layoutBlock):
1095         Changed flexible boxes to just call the base class computeOverflow method.
1096
1097         * rendering/RenderInline.cpp:
1098         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1099         (WebCore::RenderInline::clippedOverflowRectForRepaint):
1100         visible -> visual.
1101
1102         * rendering/RenderInline.h:
1103         * rendering/RenderLayer.cpp:
1104         (WebCore::RenderLayer::updateLayerPosition):
1105         Changed layers to no longer incorporate right/bottom overflow into width/height.  This is the reason many layout
1106         tests change.  (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting
1107         layers now.)
1108
1109         (WebCore::RenderLayer::overflowTop):
1110         (WebCore::RenderLayer::overflowBottom):
1111         (WebCore::RenderLayer::overflowLeft):
1112         (WebCore::RenderLayer::overflowRight):
1113         overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used
1114         to set up the scroll area.
1115
1116         (WebCore::RenderLayer::computeScrollDimensions):
1117         Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow.
1118
1119         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1120         Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the
1121         bottom works.
1122
1123         (WebCore::performOverlapTests):
1124         (WebCore::RenderLayer::paintLayer):
1125         Fix a bug in performOverlapTests.  It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out
1126         of the layer (see why I hate layers even having dimensions?).  Changed it to use the bounding box of the layer instead.
1127
1128         (WebCore::RenderLayer::hitTest):
1129         Fix a bug in hit testing.  It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account
1130         for left/top overflow in a ScrollView (hate hate hate layers having dimensions).  I changed it to use the hit test rect instead,
1131         so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping).
1132
1133         (WebCore::RenderLayer::localBoundingBox):
1134         visible -> visual.
1135
1136         * rendering/RenderLayer.h:
1137         Added the new overflowTop/Left/Right/Bottom accessors.
1138
1139         * rendering/RenderLineBoxList.cpp:
1140         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
1141         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
1142         (WebCore::RenderLineBoxList::paint):
1143         (WebCore::RenderLineBoxList::hitTest):
1144         visible -> visual.
1145
1146         * rendering/RenderListItem.cpp:
1147         (WebCore::RenderListItem::addOverflowFromChildren):
1148         (WebCore::RenderListItem::positionListMarker):
1149         * rendering/RenderListItem.h:
1150         RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item.
1151
1152         * rendering/RenderListMarker.cpp:
1153         (WebCore::RenderListMarker::paint):
1154         visible -> visual.
1155
1156         * rendering/RenderMarquee.cpp:
1157         (WebCore::RenderMarquee::computePosition):
1158         Changed to use overflow functions instead of rightmost/lowestPosition.
1159
1160         * rendering/RenderMedia.cpp:
1161         * rendering/RenderMedia.h:
1162         Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already.
1163
1164         * rendering/RenderOverflow.h:
1165         (WebCore::RenderOverflow::RenderOverflow):
1166         (WebCore::RenderOverflow::setLayoutOverflow):
1167         (WebCore::RenderOverflow::setVisualOverflow):
1168         Add new setters for layout and visual overflow as rects.
1169
1170         * rendering/RenderReplaced.cpp:
1171         (WebCore::RenderReplaced::shouldPaint):
1172         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
1173         visible -> visual.
1174
1175         * rendering/RenderRubyRun.cpp:
1176         (WebCore::RenderRubyRun::layout):
1177         Call computeOverflow to recompute our overflow information after we adjust the ruby.
1178
1179         * rendering/RenderTable.cpp:
1180         (WebCore::RenderTable::layout):
1181         (WebCore::RenderTable::addOverflowFromChildren):
1182         (WebCore::RenderTable::paint):
1183         * rendering/RenderTable.h:
1184         Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow.
1185
1186         * rendering/RenderTableCell.cpp:
1187         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1188         visible -> visual.
1189
1190         (WebCore::RenderTableCell::scrollbarsChanged):
1191         Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed
1192         a bug in table layout.  If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the
1193         cell, then the cell won't lay out properly the second time (after the scrollbars have been added).  We have to adjust the intrinsic
1194         padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions.
1195
1196         * rendering/RenderTableCell.h:
1197         (WebCore::RenderTableCell::hasVisualOverflow):
1198         visible -> visual.
1199
1200         * rendering/RenderTableSection.cpp:
1201         (WebCore::RenderTableSection::layoutRows):
1202         * rendering/RenderTableSection.h:
1203         visible -> visual.  Removed the leftmost/rightmost/topmost/bottommostPosition functions.
1204
1205         * rendering/RenderTreeAsText.cpp:
1206         (WebCore::writeLayers):
1207         Added a hack to render tree dumping to include right/bottom overflow for the root layer only.  This keeps a zillion layout tests
1208         from failing.
1209
1210         * rendering/RenderView.cpp:
1211         (WebCore::RenderView::layout):
1212         (WebCore::RenderView::docTop):
1213         (WebCore::RenderView::docBottom):
1214         (WebCore::RenderView::docLeft):
1215         (WebCore::RenderView::docRight):
1216         * rendering/RenderView.h:
1217         (WebCore::RenderView::docHeight):
1218         (WebCore::RenderView::docWidth):
1219         RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes.  These methods
1220         are now the preferred way to query for the physical dimensions of a document.
1221
1222         * rendering/RootInlineBox.cpp:
1223         (WebCore::RootInlineBox::addHighlightOverflow):
1224         Changed to call setOverflowFromLogicalRects instead of the block/inline position functions.
1225
1226         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1227         Remove the computation of block direction overflow, since it now all happens at once after the line is built.
1228
1229         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
1230         * rendering/RootInlineBox.h:
1231         Added a new helper function for incorporating the end padding into a line.  This end padding also includes the single pixel for a caret
1232         in LTR if needed.
1233
1234 2010-12-06  Chris Marrin  <cmarrin@apple.com>
1235
1236         Reviewed by Simon Fraser.
1237
1238         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
1239         https://bugs.webkit.org/show_bug.cgi?id=49388
1240
1241         Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially 
1242         identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls 
1243         with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA 
1244         platform neutral as long as implementations of those two classes are available. 
1245         Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got 
1246         rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer() 
1247         to avoid confusion since both names were used to refer to the same thing. 
1248
1249         This patch is only for Mac. Windows implementation has not changed.
1250
1251         * WebCore.xcodeproj/project.pbxproj:
1252         * platform/graphics/GraphicsLayer.h:
1253         * platform/graphics/ca/GraphicsLayerCA.cpp: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
1254         * platform/graphics/ca/GraphicsLayerCA.h: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
1255         * platform/graphics/ca/PlatformCAAnimation.h: Copied from WebCore/platform/graphics/ca/PlatformCAAnimation.h.
1256         * platform/graphics/ca/PlatformCALayer.h: Copied from WebCore/platform/graphics/ca/PlatformCALayer.h.
1257         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm.
1258         (toCAMediaTimingFunction):
1259         * platform/graphics/ca/mac/PlatformCALayerMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm.
1260         (PlatformCALayer::PlatformCALayer):
1261         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1262         * platform/graphics/chromium/GraphicsLayerChromium.h:
1263         * platform/graphics/mac/GraphicsLayerMac.h: Removed.
1264         * platform/graphics/mac/GraphicsLayerMac.mm: Removed.
1265         * platform/graphics/mac/WebLayer.h:
1266         * platform/graphics/mac/WebLayer.mm:
1267         (-[WebLayer setNeedsDisplay]):
1268         (-[WebLayer setNeedsDisplayInRect:]):
1269         (-[WebLayer display]):
1270         (-[WebLayer drawInContext:]):
1271         * platform/graphics/mac/WebTiledLayer.h:
1272         * platform/graphics/mac/WebTiledLayer.mm:
1273         (-[WebTiledLayer setNeedsDisplay]):
1274         (-[WebTiledLayer setNeedsDisplayInRect:]):
1275         (-[WebTiledLayer display]):
1276         (-[WebTiledLayer drawInContext:]):
1277         * platform/graphics/qt/GraphicsLayerQt.cpp:
1278         (WebCore::GraphicsLayerQtImpl::flushChanges):
1279         * platform/graphics/qt/GraphicsLayerQt.h:
1280         * platform/graphics/win/GraphicsLayerCACF.cpp:
1281         * platform/graphics/win/GraphicsLayerCACF.h:
1282
1283 2010-12-06  Simon Fraser  <simon.fraser@apple.com>
1284
1285         Reviewed by Dan Bernstein.
1286
1287         Font antialiasing (smoothing) changes when elements are rendered into compositing layers
1288         https://bugs.webkit.org/show_bug.cgi?id=23364
1289
1290         Text rendered by Core Graphics over a transparent background looks bad because of 
1291         font smoothing, so turn off smoothing when rendering text into compositing layers.
1292
1293         * platform/graphics/GraphicsContext.h:
1294         * platform/graphics/cg/GraphicsContextCG.cpp:
1295         (WebCore::GraphicsContext::setAllowsFontSmoothing):
1296         * platform/graphics/mac/WebLayer.mm:
1297         (drawLayerContents):
1298
1299 2010-12-06  Patrick Gansterer  <paroga@webkit.org>
1300
1301         Reviewed by Andreas Kling.
1302
1303         [WINCE] Add build system
1304         https://bugs.webkit.org/show_bug.cgi?id=50522
1305
1306         * CMakeListsWinCE.txt: Added.
1307
1308 2010-12-06  Chris Fleizach  <cfleizach@apple.com>
1309
1310         Reviewed by Oliver Hunt.
1311
1312         AX does not support HTML5 "required"
1313         https://bugs.webkit.org/show_bug.cgi?id=50507
1314
1315         Test: platform/mac/accessibility/html5-required-attribute.html
1316
1317         * accessibility/AccessibilityRenderObject.cpp:
1318         (WebCore::AccessibilityRenderObject::isRequired):
1319
1320 2010-12-06  Alejandro G. Castro  <alex@igalia.com>
1321
1322         Reviewed by Martin Robinson.
1323
1324         [GTK] using shadows leaks memory
1325         https://bugs.webkit.org/show_bug.cgi?id=50541
1326
1327         Fixed leaks in the shadow code.
1328         * platform/graphics/cairo/CairoUtilities.cpp:
1329         (WebCore::drawPatternToCairoContext): adoptRef instead of just
1330         getting a new reference.
1331         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1332         (WebCore::drawPathShadow): handle cairo_path_t with smart
1333         pointers.
1334
1335 2010-12-06  Yury Semikhatsky  <yurys@chromium.org>
1336
1337         Reviewed by Pavel Feldman.
1338
1339         [v8] Web Inspector: remove duplicate code for capturing stack trace
1340         https://bugs.webkit.org/show_bug.cgi?id=50461
1341
1342         No new tests. Covered with existing inspector tests.
1343
1344         * bindings/js/ScriptCallStackFactory.cpp:
1345         (WebCore::createScriptCallStack):
1346         * bindings/js/ScriptCallStackFactory.h:
1347         * bindings/v8/ScriptCallStackFactory.cpp:
1348         (WebCore::toScriptCallFrame):
1349         (WebCore::toScriptCallFramesVector):
1350         (WebCore::createScriptCallStack):
1351         * bindings/v8/ScriptCallStackFactory.h:
1352         * bindings/v8/V8ConsoleMessage.cpp:
1353         (WebCore::V8ConsoleMessage::handler):
1354         * inspector/ScriptCallFrame.cpp:
1355         (WebCore::ScriptCallFrame::ScriptCallFrame):
1356         (WebCore::ScriptCallFrame::isEqual):
1357         (WebCore::ScriptCallFrame::buildInspectorObject):
1358         * inspector/ScriptCallFrame.h:
1359         (WebCore::ScriptCallFrame::sourceURL):
1360         * inspector/ScriptCallStack.h:
1361         * inspector/TimelineRecordFactory.cpp:
1362         (WebCore::TimelineRecordFactory::createGenericRecord):
1363         * inspector/front-end/ConsoleView.js:
1364         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
1365
1366 == Rolled over to ChangeLog-2010-12-06 ==