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