021bb4190a685ee1df836015f3d0bbe68a956bd6
[WebKit-https.git] / WebCore / ChangeLog
1 2009-02-23  Xan Lopez  <xan@gnome.org>
2
3         Reviewed by Alexey Proskuryakov.
4
5         https://bugs.webkit.org/show_bug.cgi?id=22624
6         [SOUP][GTK] Need API to get SoupSession from WebKit.
7
8         Remove CURL support.
9
10         * GNUmakefile.am:
11
12 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
13
14         Reviewed by Mark Rowe.
15
16         Test: fast/dom/empty-hash-and-search.html
17
18         https://bugs.webkit.org/show_bug.cgi?id=21147
19         hash property returns incorrect value for links w/o hash
20
21         Make hash() and search() behavior for empty and missing parts match IE and Firefox.
22
23         * platform/KURL.cpp:
24         (WebCore::KURL::query): Changed to return query without '?', as it is already done for ref().
25         (WebCore::KURL::prettyURL): Append the query with the question mark.
26
27         * page/Location.cpp:
28         (WebCore::Location::search): Return an empty string if query is empty or missing.
29         (WebCore::Location::hash): Return an empty string for empty hashes, not only missing ones.
30
31         * dom/WorkerLocation.cpp:
32         (WebCore::WorkerLocation::search):
33         (WebCore::WorkerLocation::hash):
34         Match document.location fixes above.
35
36         * html/HTMLAnchorElement.cpp:
37         (WebCore::HTMLAnchorElement::hash):
38         (WebCore::HTMLAnchorElement::search):
39         Return an empty string for empty and missing parts.
40
41 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
42
43         Reviewed by Darin Adler.
44
45         https://bugs.webkit.org/show_bug.cgi?id=20184
46         SELECT with no name generates invalid query string
47
48         Test: fast/forms/select-no-name.html
49
50         * html/HTMLSelectElement.cpp:
51         (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name.
52
53 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
54
55         Apply review comments for the previous check-in (forgot to save the file, oops).
56
57         * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren):
58
59 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
60
61         Reviewed by Darin Adler.
62
63         https://bugs.webkit.org/show_bug.cgi?id=15707
64         Crash when manipulating document from within an iframe onload function
65
66         Test: fast/dom/onload-open.html
67
68         * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Protect the container and
69         the current node, because anything can happen when dispatching events.
70
71 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
72
73         Reviewed by Darin Adler.
74
75         https://bugs.webkit.org/show_bug.cgi?id=18970
76         Numerically named input fields cause document.forms loop problems
77
78         Test: fast/forms/numeric-input-name.html
79
80         * bindings/scripts/CodeGeneratorJS.pm: Try index getter before name getter, even if the
81         latter overrides properties.
82
83 2009-02-23  Alexey Proskuryakov  <ap@webkit.org>
84
85         Reviewed by Sam Weinig.
86
87         https://bugs.webkit.org/show_bug.cgi?id=24059
88         Tokenizer::write() return value is never used
89
90         * dom/Tokenizer.h:
91         * dom/XMLTokenizer.cpp:
92         (WebCore::XMLTokenizer::write):
93         * dom/XMLTokenizer.h:
94         * html/HTMLTokenizer.cpp:
95         (WebCore::HTMLTokenizer::write):
96         * html/HTMLTokenizer.h:
97         * loader/FTPDirectoryDocument.cpp:
98         (WebCore::FTPDirectoryTokenizer::write):
99         * loader/ImageDocument.cpp:
100         (WebCore::ImageTokenizer::write):
101         * loader/MediaDocument.cpp:
102         (WebCore::MediaTokenizer::write):
103         * loader/PluginDocument.cpp:
104         (WebCore::PluginTokenizer::write):
105         * loader/TextDocument.cpp:
106         (WebCore::TextTokenizer::write):
107         Made write() return void, not bool.
108
109 2009-02-20  Geoffrey Garen  <ggaren@apple.com>
110
111         Reviewed by Sam Weinig.
112
113         Updated for JavaScriptCore changes to timeout checking.
114
115         * bindings/js/JSCustomPositionCallback.cpp:
116         (WebCore::JSCustomPositionCallback::handleEvent):
117         * bindings/js/JSCustomPositionErrorCallback.cpp:
118         (WebCore::JSCustomPositionErrorCallback::handleEvent):
119         * bindings/js/JSCustomSQLStatementCallback.cpp:
120         (WebCore::JSCustomSQLStatementCallback::handleEvent):
121         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
122         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
123         * bindings/js/JSCustomSQLTransactionCallback.cpp:
124         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
125         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
126         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
127         * bindings/js/JSCustomVoidCallback.cpp:
128         (WebCore::JSCustomVoidCallback::handleEvent):
129         * bindings/js/JSCustomXPathNSResolver.cpp:
130         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
131         * bindings/js/JSDOMWindowBase.cpp:
132         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
133         (WebCore::JSDOMWindowBase::commonJSGlobalData):
134         * bindings/js/JSEventListener.cpp:
135         (WebCore::JSAbstractEventListener::handleEvent):
136         * bindings/js/ScheduledAction.cpp:
137         (WebCore::ScheduledAction::executeFunctionInContext):
138         * bindings/js/ScriptController.cpp:
139         (WebCore::ScriptController::evaluate):
140         * bindings/js/WorkerScriptController.cpp:
141         (WebCore::WorkerScriptController::evaluate):
142         (WebCore::WorkerScriptController::forbidExecution):
143         * bindings/objc/WebScriptObject.mm:
144         (-[WebScriptObject callWebScriptMethod:withArguments:]):
145         (-[WebScriptObject evaluateWebScript:]):
146         * bridge/NP_jsobject.cpp:
147         (_NPN_InvokeDefault):
148         (_NPN_Invoke):
149         (_NPN_Evaluate):
150         (_NPN_Construct):
151         * bridge/jni/jni_jsobject.mm:
152         (JavaJSObject::call):
153         (JavaJSObject::eval):
154
155 2009-02-21  Hironori Bono  <hbono@chromium.org>
156
157         Reviewed by Alexey Proskuryakov.
158
159         https://bugs.webkit.org/show_bug.cgi?id=23786
160         [Chromium] line-break characters in a complex text are treated as zero-width spaces
161
162         This change prevents the UniscribeHelper class from treating the line-break characters
163         as whitespaces.
164
165         Tests: fast/text/international/bidi-linebreak-001.html
166                fast/text/international/bidi-linebreak-002.html
167                fast/text/international/bidi-linebreak-003.html
168
169         * platform/graphics/chromium/UniscribeHelper.cpp:
170         (WebCore::UniscribeHelper::adjustSpaceAdvances):
171         Make the UniscribeHelper::adjustSpaceAdvances() function treat all characters in
172         the treatAsSpace() function (e.g. U+0020, U+000A, U+000D, U+00A0) as whitespaces,
173         so does when Chromium renders a simple text.
174
175 2009-02-20  Julien Chaffraix  <jchaffraix@webkit.org>
176
177         Reviewed by Alexey Proskuryakov.
178
179         Bug 23940: Use Document::createElement(const QualifiedName&, bool) when creating a known element inside WebCore
180
181         Document::createElement(const QualifiedName&, bool) does not check for the prefix as opposed the the one taking an AtomicString
182         or Document::createElementNS. This is perfectly fine internally because we know the type of element created and the check is
183         unneeded.
184
185         It also removes the use of an ExceptionCode argument which was here only to check that the prefix check was fine. Finally it
186         enables us to use some generated QualifiedName.
187
188         * bindings/js/JSOptionConstructor.cpp:
189         (WebCore::constructHTMLOptionElement):
190         * dom/Document.cpp:
191         (WebCore::Document::setTitle):
192         * dom/XMLTokenizer.cpp:
193         (WebCore::createXHTMLParserErrorHeader):
194         (WebCore::XMLTokenizer::insertErrorMessageBlock):
195         * editing/CompositeEditCommand.cpp:
196         (WebCore::createBlockPlaceholderElement):
197         * editing/htmlediting.cpp:
198         (WebCore::createTabSpanElement):
199         * html/HTMLSelectElement.cpp:
200         (WebCore::HTMLSelectElement::setLength):
201         * loader/FTPDirectoryDocument.cpp:
202         (WebCore::FTPDirectoryTokenizer::appendEntry):
203         (WebCore::FTPDirectoryTokenizer::createTDForFilename):
204         (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
205         (WebCore::FTPDirectoryTokenizer::createBasicDocument):
206         * loader/ImageDocument.cpp:
207         (WebCore::ImageDocument::createDocumentStructure):
208         * loader/MediaDocument.cpp:
209         (WebCore::MediaTokenizer::createDocumentStructure):
210         * loader/PluginDocument.cpp:
211         (WebCore::PluginTokenizer::createDocumentStructure):
212         * loader/TextDocument.cpp:
213         (WebCore::TextTokenizer::write):
214         * page/Frame.cpp:
215         (WebCore::Frame::selectionComputedStyle):
216         (WebCore::Frame::styleForSelectionStart):
217         Document::createElement(const AtomicString&, ...) to Document::createElement(const QualifiedName&, ...) switch.
218
219         * xml/XPathFunctions.cpp:
220         (WebCore::XPath::FunLang::evaluate): Re-use langAttr instead of creating a new attribute.
221         * page/DragController.cpp:
222         (WebCore::documentFragmentFromDragData): Use the HTMLAnchorElement directly to get rid of the static cast.
223
224 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
225
226         Reviewed by Eric Seidel.
227
228         https://bugs.webkit.org/show_bug.cgi?id=24060
229         Fix up to accommodate for CanvasPixelArray return.
230
231         * platform/graphics/skia/ImageBufferSkia.cpp:
232         (WebCore::ImageBuffer::getImageData): Added an extra data() to call.
233         (WebCore::ImageBuffer::putImageData): Ditto.
234
235 2009-02-20  Eric Carlson  <eric.carlson@apple.com>
236
237         Simon Fraser
238
239         https://bugs.webkit.org/show_bug.cgi?id=24042
240         Bug 24042: MediaPlayer should cache plug-in proxy
241
242         The changes in https://bugs.webkit.org/show_bug.cgi?id=23917 assume that
243         MediaPlayer will always have created the private media player object before
244         the plug-in is instantiated and calls back with the proxy object. This is not
245         true on all platforms because of threading latency, so MediaPlayer should
246         cache the plug-in proxy so it can pass it to the media engine at a later time.
247
248         * platform/graphics/MediaPlayer.cpp:
249         (WebCore::NullMediaPlayerPrivate::setPoster): Null media engine implementation of proxy methods.
250         (WebCore::NullMediaPlayerPrivate::deliverNotification): Ditto.
251         (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Ditto.
252         (WebCore::MediaPlayer::MediaPlayer): Initialize m_playerProxy.
253         (WebCore::MediaPlayer::load): Pass m_playerProxy to newly created engine.
254         (WebCore::MediaPlayer::setMediaPlayerProxy): Cache m_playerProxy.
255         * platform/graphics/MediaPlayer.h: Declare m_playerProxy.
256
257 2009-02-20  Eric Carlson  <eric.carlson@apple.com>
258
259         Simon Fraser.
260
261         https://bugs.webkit.org/show_bug.cgi?id=24063
262         Make it possible for a port to require a user gesture to play/pause an <audio> or <video> element
263
264         * html/HTMLMediaElement.cpp:
265         (WebCore::HTMLMediaElement::HTMLMediaElement):  Rename m_loadRestrictions to m_Restrictions.
266         Initialize m_internalCall.
267         (WebCore::HTMLMediaElement::loadTimerFired): Increment m_internalCall around call to load().
268         (WebCore::HTMLMediaElement::load): Call loadInternal if restrictions check out.
269         (WebCore::HTMLMediaElement::loadInternal): New, guts of old load()
270         (WebCore::HTMLMediaElement::setNetworkState): Fix bug introduced in r40943
271         (WebCore::HTMLMediaElement::play): Call playInternal if restrictions check out.
272         (WebCore::HTMLMediaElement::playInternal): New, guts of old play()
273         (WebCore::HTMLMediaElement::pause): Call pauseInternal if restrictions check out.
274         (WebCore::HTMLMediaElement::pauseInternal): New, guts of old pause()
275         (WebCore::HTMLMediaElement::togglePlayState): Call playInternal/pauseInternal
276         (WebCore::HTMLMediaElement::deliverNotification): Remove unnecessary white space.
277         * html/HTMLMediaElement.h: Rename m_loadRestrictions to m_Restrictions, add m_internalCall,
278         add RequireUserGestureRateChangeRestriction.
279
280 2009-02-20  Darin Fisher  <darin@chromium.org>
281
282         Fix build bustage in FileSystemWin.cpp.
283
284         Need to return CString() instead of 0 since there are now two CString
285         constructors that take a pointer type.
286
287         * platform/win/FileSystemWin.cpp:
288         (WebCore::openTemporaryFile):
289
290 2009-02-20  Dimitri Glazkov  <dglazkov@chromium.org>
291
292         Reviewed by Sam Weinig.
293
294         https://bugs.webkit.org/show_bug.cgi?id=23999
295         Change license headers to accurately reflect code history.
296
297         * platform/ContentType.cpp:
298         * platform/ContentType.h:
299
300 2009-02-18  Dimitri Glazkov  <dglazkov@chromium.org>
301
302         Reviewed by Antti Koivisto.
303
304         https://bugs.webkit.org/show_bug.cgi?id=23999
305         Split off MIME type parsing into its own class.
306
307         * GNUmakefile.am: Added ContentType sources.
308         * WebCore.pro: Ditto.
309         * WebCore.scons: Ditto.
310         * WebCore.vcproj/WebCore.vcproj: Ditto.
311         * WebCore.xcodeproj/project.pbxproj: Ditto.
312         * WebCoreSources.bkl: Ditto.
313         * html/HTMLMediaElement.cpp: Changed to use ContentType.
314         (WebCore::HTMLMediaElement::selectMediaURL):
315         * platform/ContentType.cpp: Added.
316         (WebCore::ContentType::ContentType):
317         (WebCore::ContentType::parameter):
318         (WebCore::ContentType::type):
319         * platform/ContentType.h: Added.
320         (WebCore::ContentType::raw):
321         * platform/MIMETypeRegistry.cpp:
322         * platform/MIMETypeRegistry.h:
323         * platform/graphics/MediaPlayer.cpp:
324         (WebCore::MediaPlayer::load):
325         * rendering/style/ContentData.h: Renamed ContentType to StyleContentType.
326         * rendering/style/RenderStyleConstants.h: Ditto.
327         (WebCore::):
328
329 2009-02-20  Holger Hans Peter Freyther  <zecke@selfish.org>
330
331         Unreviewed build fix.
332
333         Use CString() instead of 0.
334
335         * platform/gtk/FileSystemGtk.cpp:
336         (WebCore::openTemporaryFile):
337         * platform/qt/FileSystemQt.cpp:
338         (WebCore::openTemporaryFile):
339
340 2009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
341
342         Reviewed by Holger Freyther.
343
344         When dealing with local files, use a path instead of an URI. GFile
345         has problems decoding URIs with percent signs on them.
346
347         * platform/network/soup/ResourceHandleSoup.cpp:
348         (WebCore::ResourceHandle::startGio):
349
350 2009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
351
352         Reviewed by Holger Freyther.
353
354         Protect the ResourceHandle instance from being destroyed by
355         didReceiveData inside the GIO readCallback call, so that
356         cancelling caused by scripts is handled correctly.
357
358         * platform/network/soup/ResourceHandleSoup.cpp:
359         (WebCore::readCallback):
360
361 2009-02-20  David Kilzer  <ddkilzer@apple.com>
362
363         Make IconDatabaseNone.cpp compile with -Wunused and pass check-for-exit-time-destructors
364
365         Reviewed by Sam Weinig.
366
367         * loader/icon/IconDatabaseNone.cpp:
368         (WebCore::IconDatabase::defaultDatabaseFilename): Use DEFINE_STATIC_LOCAL().
369         (WebCore::IconDatabase::open): Commented out unused parameter.
370         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto.
371         (WebCore::IconDatabase::iconForPageURL): Ditto.
372         (WebCore::IconDatabase::iconURLForPageURL): Ditto.
373         (WebCore::IconDatabase::defaultIcon): Ditto.
374         (WebCore::IconDatabase::retainIconForPageURL): Ditto.
375         (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
376         (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
377         (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
378         (WebCore::IconDatabase::setEnabled): Ditto.
379         (WebCore::IconDatabase::pageURLMappingCount): Added stub.
380         (WebCore::IconDatabase::retainedPageURLCount): Ditto.
381         (WebCore::IconDatabase::iconRecordCount): Ditto.
382         (WebCore::IconDatabase::iconRecordCountWithData): Ditto.
383
384 2009-02-20  David Kilzer  <ddkilzer@apple.com>
385
386         Add comment to generated code when shadowing a built-in object
387
388         Reviewed by Sam Weinig.
389
390         * bindings/scripts/CodeGeneratorJS.pm: Added comment to
391         generated code output.
392
393 2009-02-20  Avi Drissman  <avi@chromium.org>
394
395         Reviewed by Eric Seidel.
396
397         https://bugs.webkit.org/show_bug.cgi?id=24036
398         Keyboard events need disambiguation on the Linux platform too.
399
400         * platform/chromium/PlatformKeyboardEventChromium.cpp:
401         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
402
403 2009-02-19  Darin Fisher  <darin@chromium.org>
404
405         Reviewed by Eric Seidel.
406
407         https://bugs.webkit.org/show_bug.cgi?id=24046
408
409         Several improvements to CString:
410         1- Make it possible to initialize a CString from a CStringBuffer
411         2- Make it possible to get a CStringBuffer from a CString
412         3- Change CStringBuffer::data() to return a const pointer to ward off mutation
413         4- Remove unused releaseBuffer() methods.
414         5- Make CStringBuffer::create() private to force consumers to get a CStringBuffer from a CString.
415
416         * platform/text/CString.cpp:
417         (WebCore::CString::init):
418         (WebCore::CString::mutableData):
419         (WebCore::CString::newUninitialized):
420         (WebCore::CString::copyBufferIfNeeded):
421         * platform/text/CString.h:
422         (WebCore::CStringBuffer::data):
423         (WebCore::CStringBuffer::length):
424         (WebCore::CStringBuffer::create):
425         (WebCore::CStringBuffer::mutableData):
426         (WebCore::CString::CString):
427         (WebCore::CString::buffer):
428
429 2009-02-19  Dmitry Titov  <dimich@chromium.org>
430
431         Reviewed by Alexey Proskuryakov.
432
433         https://bugs.webkit.org/show_bug.cgi?id=24017
434         Remove some usage of Document in Worker.
435
436         * dom/WorkerContext.h:
437         (WebCore::WorkerContext::userAgent):
438         * dom/Document.cpp:
439         (WebCore::Document::userAgent):
440         * dom/Document.h:
441         * dom/ScriptExecutionContext.h:
442         Added virtual ScriptExecutionContext::userAgent(const KURL&).
443         Document implementation uses FrameLoader::userAgent and
444         WorkerContext receives the string on creation and stores it in a member.
445
446         * dom/Worker.cpp:
447         (WebCore::Worker::Worker):
448         (WebCore::Worker::notifyFinished):
449         * dom/Worker.h:
450         (WebCore::Worker::create):
451         Instead of Document the Worker constructor now gets a ScriptExecutionContext.
452         Start using some methods on SEC (like completeURL() and userAgent()).
453         For others, explicitly case to Document and add a FIXME.
454         Remove Worker::document() too.
455
456 2009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
457
458         Rubber-stamped by Holger Freyther.
459
460         Do not set httpStatus to SOUP_STATUS_OK when serving local files
461         to match other ports' behavior, fixing xmlhttprequest test
462         regressions.
463
464         * platform/network/soup/ResourceHandleSoup.cpp:
465         (WebCore::queryInfoCallback):
466
467 2009-02-19  Dan Bernstein  <mitz@apple.com>
468
469         Reviewed by Sam Weinig.
470
471         - WebCore part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
472           Do not send loader callbacks during CSS styling
473
474         Undo the iChat-specific quirk added in
475         <http://trac.webkit.org/changeset/41071>. Instead, always suspend memory
476         cache client callbacks during attach() and recalcStyle().
477
478         * WebCore.base.exp: Removed
479         Settings::setNeedsIChatMemoryCacheCallsQuirk().
480         * dom/ContainerNode.cpp:
481         (WebCore::ContainerNode::suspendPostAttachCallbacks): Disable memory
482         cache client callbacks and remember to enable them afterwards if needed.
483         (WebCore::ContainerNode::resumePostAttachCallbacks): Re-enable memory
484         cache client callbacks if they were disabled in
485         suspendPostAttachCallbacks().
486         (WebCore::ContainerNode::attach): Use suspendPostAttachCallbacks() and
487         resumePostAttachCallbacks().
488         * dom/ContainerNode.h: Made suspendPostAttachCallbacks()
489         and resumePostAttachCallbacks() non-static.
490         * dom/Document.cpp:
491         (WebCore::Document::dispatchImageLoadEventsNow): Reverted iChat-specific
492         workaround.
493         * page/Settings.cpp: Removed m_needsIChatMemoryCacheCallsQuirk and
494         related code.
495         (WebCore::Settings::Settings):
496         * page/Settings.h:
497
498 2009-02-19  Holger Hans Peter Freyther  <zecke@selfish.org>
499
500         Unreviewed build fix.
501
502         Build fix after r41092. Make the memoryUsage method
503         public. It will be shadowed by cf/mac and for curl/soup/qt
504         the implementation from ResourceResponseBase will be used.
505
506         * platform/network/ResourceResponseBase.h:
507         (WebCore::ResourceResponseBase::memoryUsage):
508
509 2009-02-19  Beth Dakin  <bdakin@apple.com>
510
511         Reviewed by Dave Hyatt.
512
513         Fix for <rdar://problem/6077775> Should be able to specify
514         inactive ::selection color
515
516         This patch makes the ::selction pseudo-element work with
517         the :window-inactive pseudo type. This was, a user can specify a
518         different ::selection style when a window is inactive.
519
520         * css/CSSStyleSelector.cpp:
521         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
522         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
523         * rendering/RenderObject.cpp:
524         (WebCore::RenderObject::selectionBackgroundColor):
525         (WebCore::RenderObject::selectionForegroundColor):
526
527 2009-02-19  Sam Weinig  <sam@webkit.org>
528
529         Reviewed by Beth Dakin.
530
531         Patch for https://bugs.webkit.org/show_bug.cgi?id=24044
532         Update querySelector/querySelectorAll to match the latest spec
533
534         Update querySelector and querySelectorAll to match the latest version
535         of the Selectors API spec.  We now stringify null and undefined to "null"
536         and "undefined" respectively instead of to "".
537
538         Test: fast/dom/SelectorAPI/undefined-null-stringify.html
539
540         * dom/Document.idl:
541         * dom/DocumentFragment.idl:
542         * dom/Element.idl:
543
544 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
545
546         Reviewed by Geoffrey Garen.
547
548         https://bugs.webkit.org/show_bug.cgi?id=23732
549         Rework CachedResource overhead accounting to allow platforms to diverge
550         in numbers.
551
552         * loader/CachedResource.cpp:
553         (WebCore::CachedResource::overheadSize): Changed to ask ResourceResponse
554         for its size and to use actual URL size.
555         * platform/network/ResourceResponseBase.h:
556         (WebCore::ResourceResponseBase::size): Added default size method.
557         * platform/network/cf/ResourceResponse.h:
558         (WebCore::ResourceResponse::size): Added Win/CF size method
559         * platform/network/mac/ResourceResponse.h:
560         (WebCore::ResourceResponse::size): Added Mac size method.
561
562 2009-02-19  Anders Carlsson  <andersca@apple.com>
563
564         Reviewed by Kevin Decker.
565
566         - Fix for <rdar://problem/6604968>
567
568         On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
569         after the call to -[NSView displayRectIgnoringOpacity:inContext:].
570
571         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
572         (WebCore::MediaPlayerPrivate::paint):
573
574 2009-02-19  David Hyatt  <hyatt@apple.com>
575
576         Fix a bug where reflections didn't work properly if opacity was < 1.  Make sure that replaced elements
577         also consider reflections to be part of their visual overflow.  This had already been done for blocks
578         and lines, but it wasn't being done yet for replaced elements.
579
580         Also make sure that when the object being reflected has opacity < 1 that we don't end up popping the outer
581         transparency layer early.  Since the reflected object paints twice, we don't want to end the transparency
582         layer it pushed until we're done painting the real object (rather than the reflection).
583
584         Reviewed by Dan Bernstein
585
586         Added fast/reflections/reflection-masks-opacity.html
587
588         * rendering/RenderLayer.cpp:
589         (WebCore::RenderLayer::paintLayer):
590         * rendering/RenderPartObject.cpp:
591         (WebCore::RenderPartObject::layout):
592         * rendering/RenderReplaced.cpp:
593         (WebCore::RenderReplaced::layout):
594         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect):
595         * rendering/RenderReplaced.h:
596
597 2009-02-19  David Levin  <levin@chromium.org>
598
599         Reviewed by Alexey Proskuryakov.
600
601         Bug 23980: WorkerRunLoop needs a way to run in a given mode similar to CFRunLoopInMode.
602         <https://bugs.webkit.org/show_bug.cgi?id=23980>
603
604         WorkerRunLoop has the ability to run in a mode which filters the tasks to be run.
605         * When WorkerRunLoop::runInMode is called, only task for that mode will run.
606         * When WorkerRunLoop::run is called (or the default mode is used), then all tasks
607           will run regardless of their posted mode.
608
609         Here's a demonstration of the api:
610
611             RefPtr<NameResolution> nameResolution = NameResolution::create(workerRunLoop);
612
613             //  Internally nameResolution will do workerRunLoop.postTaskForMode(task, "MyCoolMode")
614             //  for any tasks that need to be run during this loop.
615             nameResolution->setTaskMode("MyCoolMode");
616
617             nameResolution->start();
618             while (!nameResolution->done()) {
619                 // Only tasks which are posted for "MyCoolMode" will run.
620                 workerRunLoop.runInMode(context, "MyCoolMode");
621             }
622
623         No observable change in behavior, so no test.
624
625         * dom/WorkerRunLoop.cpp:
626         (WebCore::ModePredicate::ModePredicate):
627         (WebCore::ModePredicate::operator()):
628         (WebCore::WorkerRunLoop::WorkerRunLoop):
629         (WebCore::WorkerRunLoop::~WorkerRunLoop):
630         (WebCore::WorkerRunLoop::setSharedTimer):
631         (WebCore::WorkerRunLoop::resetSharedTimer):
632         (WebCore::WorkerRunLoop::run):
633         (WebCore::WorkerRunLoop::runInMode):
634         (WebCore::WorkerRunLoop::postTask):
635         (WebCore::WorkerRunLoop::postTaskForMode):
636         * dom/WorkerRunLoop.h:
637         (WebCore::WorkerRunLoop::Task::create):
638         (WebCore::WorkerRunLoop::Task::mode):
639         (WebCore::WorkerRunLoop::Task::performTask):
640         (WebCore::WorkerRunLoop::Task::Task):
641
642 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
643
644         Reviewed by Eric Seidel.
645
646         https://bugs.webkit.org/show_bug.cgi?id=24034
647         Fix up Selection->VisibleSelection change.
648
649         * page/chromium/EventHandlerChromium.cpp:
650         (WebCore::EventHandler::passMousePressEventToSubframe): Renamed Selection
651         to VisibleSelection.
652
653 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
654
655         Reviewed by Eric Seidel.
656
657         https://bugs.webkit.org/show_bug.cgi?id=24041
658         Correct Skia type conversion issues, fix Chromium Linux build.
659
660         * platform/graphics/chromium/FontLinux.cpp:
661         (WebCore::Font::drawGlyphs): changed parameters to RGBA32, not WebCore::Color.
662
663 2009-02-19  Jungshik Shin <jshin@chromium.org>
664
665         Reviewed by Eric Seidel.
666
667         https://bugs.webkit.org/show_bug.cgi?id=20531
668         Chromium-part follow-up to the patch landed in r40636
669         for bug 20531.
670         Remove a static member function alternateFamilyName
671         from Chromium's Win/Linux ports of FontCache. In r40636,
672         alternateFamilyName was customized using #ifdef PLATFORM(WIN_OS).
673         So, there's no more need for the static member function per
674         platform.
675
676         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
677         * platform/graphics/chromium/FontCacheLinux.cpp:
678
679 2009-02-19  Simon Fraser  <simon.fraser@apple.com>
680
681         Reviewed by Adele Peterson.
682
683         Call documentWillBecomeInactive() from Document::detach to ensure that
684         media elements are shut down, because they may be kept alive by references
685         from JS past document teardown.
686
687         documentWillBecomeInactive() calls  renderView()->willMoveOffscreen(), so no
688         need to do that in detach() as well.
689
690         We no longer need to call documentWillBecomeInactive() from ~Page() (which
691         was added for <https://bugs.webkit.org/show_bug.cgi?id=21116>), since this
692         supersedes that change.
693
694         * dom/Document.cpp:
695         (WebCore::Document::detach):
696         * page/Page.cpp:
697         (WebCore::Page::~Page):
698
699 2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
700
701         Reviewed by Eric Seidel.
702
703         https://bugs.webkit.org/show_bug.cgi?id=24028
704         Fix up Skia path changes.
705
706         * platform/graphics/skia/GraphicsContextSkia.cpp:
707         (WebCore::GraphicsContext::strokePath): Removed illegal indirection.
708         * platform/graphics/skia/PathSkia.cpp:
709         (WebCore::boundingBoxForCurrentStroke): Changed call name.
710
711 2009-02-19  Gustavo Noronha Silva  <gns@gnome.org>
712
713         Reviewed by Alexey Proskuryakov.
714
715         Ignore ports on local URLs. This fixes a regression in
716         fast/loader/file-URL-with-port-number.html
717
718         * platform/network/soup/ResourceHandleSoup.cpp:
719         (WebCore::ResourceHandle::startGio):
720
721 2009-02-19  Gustavo Noronha Silva  <gns@gnome.org>
722
723         Reviewed by Alexey Proskuryakov.
724
725         Make setPort remove port if 0 is given to it, as promised by the
726         comment in KURL's header.
727
728         * platform/KURL.cpp:
729         (WebCore::KURL::setPort):
730
731 2009-02-18  Dan Bernstein  <mitz@apple.com>
732
733         Reviewed by Brady Eidson.
734
735         - WebCore part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
736
737         The crash results from re-entry into
738         CSSMutableStyleDeclaration::setCssText, which in turn is caused by
739         the first style change causing a cached image to load from the memory
740         cache, causing load delegate dispatch, and iChat's delegate method
741         calling back into WebKit.
742
743         The workaround is to use defer delegate callbacks for memory cache. In
744         this case, deferring callbacks during image load event dispatch was
745         found to be sufficient.
746
747         The crash is a regression. See also the discussion in
748         <https://bugs.webkit.org/show_bug.cgi?id=22521>.
749
750         * WebCore.base.exp: Added
751         Settings::setNeedsIChatMemoryCacheCallsQuirk().
752         * dom/Document.cpp:
753         (WebCore::Document::dispatchImageLoadEventsNow): If the quirk is
754         enabled, defer memory cache callbacks during image load event dispatch.
755         * page/Settings.cpp:
756         (WebCore::Settings::Settings): Initialize
757         m_needsIChatMemoryCacheCallsQuirk.
758         (WebCore::Settings::setNeedsIChatMemoryCacheCallsQuirk): Added this
759         setter.
760         * page/Settings.h:
761         (WebCore::Settings::needsIChatMemoryCacheCallsQuirk): Added this getter.
762
763 2009-02-18  Adam Roben  <aroben@apple.com>
764
765         Export WebCore::handCursor and Cursor.h
766
767         Reviewed by John Sullivan.
768
769         * WebCore.base.exp: Added WebCore::handCursor.
770         * WebCore.xcodeproj/project.pbxproj: Made Cursor.h private.
771
772 2009-02-18  Ojan Vafai  <ojan@chromium.org>
773
774         Reviewed by Alexey Proskuryakov.
775
776         https://bugs.webkit.org/show_bug.cgi?id=23992
777         REGRESSION: crash on windows loading http://www.stickam.com/liveStreams.do
778
779         Unable to reduce to a layout test.
780
781         * page/Frame.cpp:
782         (WebCore::Frame::contentRenderer):
783
784 2009-02-18  Evan Stade  <estade@chromium.org>
785
786         Reviewed by Eric Seidel.
787
788         https://bugs.webkit.org/show_bug.cgi?id=23861
789         Stroke font outlines on chromium linux
790
791         TEST=LayoutTests/svg/custom/pointer-events-text.svg
792
793         * platform/graphics/chromium/FontLinux.cpp:
794         (WebCore::Font::drawGlyphs):
795
796 2009-02-18  Evan Stade  <estade@chromium.org>
797
798         Reviewed by Eric Seidel.
799
800         https://bugs.webkit.org/show_bug.cgi?id=23860
801         Resync some graphics/skia files with their chromium counterparts
802
803         This comes from chromium patches <http://codereview.chromium.org/17633>
804         and <http://codereview.chromium.org/17454>
805
806         * platform/graphics/skia/GraphicsContextSkia.cpp:
807         (WebCore::GraphicsContext::clipPath):
808         (WebCore::GraphicsContext::fillPath):
809         * platform/graphics/skia/PlatformContextSkia.cpp:
810         (PlatformContextSkia::addPath):
811         (PlatformContextSkia::currentPath):
812         * platform/graphics/skia/PlatformContextSkia.h:
813
814 2009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
815
816         Unreviewed.
817
818         Build fix after r41060.
819
820         * GNUmakefile.am:
821
822 2009-02-18  Dimitri Glazkov  <dglazkov@chromium.org>
823
824         Reviewed by Eric Seidel.
825
826         https://bugs.webkit.org/show_bug.cgi?id=24005
827         Add an include to fix Chromium build.
828
829         * page/animation/AnimationController.cpp: Add UnusedParam.h include.
830
831 2009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
832
833         Reviewed by Holger Freyther.
834
835         Fix symbols.filter location, and add other missing files to the
836         autotools build, so that make dist works.
837
838         * GNUmakefile.am:
839
840 2009-02-18  Zan Dobersek  <zandobersek@gmail.com>
841
842         Rubber-stamped by Holger Hans Peter Freyther.
843
844         Allow POST method for local requests.
845
846         * platform/network/soup/ResourceHandleSoup.cpp:
847         (WebCore::ResourceHandle::startGio):
848
849 2009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
850
851         Reviewed by Holger Hans Peter Freyther.
852
853         Use KURL in startGio instead of passing a string with the URL, so
854         that we can handle removing refs and queries more elegantly. This
855         is fixing more regressions that came from the curl->soup switch.
856
857         Original work by Zan Dobersek.
858
859         * platform/network/ResourceHandle.h:
860         * platform/network/soup/ResourceHandleSoup.cpp:
861         (WebCore::ResourceHandle::start):
862         (WebCore::ResourceHandle::startGio):
863
864 2009-02-18  Holger Hans Peter Freyther  <zecke@selfish.org>
865
866         Reviewed by Alexey Proskuryakov.
867
868         Implement ResourceHandle::loadResourceSynchronously in ResourceHandleSoup.cpp
869
870         The implementation is needed to have synchronous loading, e.g. for
871         JavaScript interaction. This is fixing various regressions that
872         came from the curl->soup switch.
873
874         * platform/network/soup/ResourceHandleSoup.cpp:
875         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
876         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
877         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
878         (WebCore::WebCoreSynchronousLoader::didReceiveData):
879         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
880         (WebCore::WebCoreSynchronousLoader::didFail):
881         (WebCore::WebCoreSynchronousLoader::run):
882         (WebCore::ResourceHandle::loadResourceSynchronously):
883
884 2009-02-18  Xan Lopez  <xan@gnome.org>
885
886         Reviewed by Mark Rowe.
887
888         https://bugs.webkit.org/show_bug.cgi?id=23989
889
890         Based on a patch by Bo Yang  <techrazy.yang@gmail.com>
891
892         Make the cursor cache global, that's all we really need and
893         otherwise we can miss cursor transitions in some situations (see
894         the bug for one testcase). Also remove some now useless code.
895
896         * platform/Widget.h:
897         * platform/gtk/WidgetGtk.cpp:
898         (WebCore::Widget::Widget):
899         (WebCore::Widget::~Widget):
900         (WebCore::Widget::setCursor):
901
902 2009-02-17  Adam Roben  <aroben@apple.com>
903
904         Windows build fix
905
906         * loader/FrameLoader.cpp:
907         (WebCore::toPlugInElement): Don't rely on #if being processed before
908         ASSERT.
909
910 2009-02-17  David Levin  <levin@chromium.org>
911
912         Reviewed by Alexey Proskuryakov.
913
914         Bug 23977: Unnecessary timer related headers in files.
915         <https://bugs.webkit.org/show_bug.cgi?id=23977>
916
917         No observable change in behavior, so no test.
918
919         * dom/Document.cpp:
920         * dom/WorkerRunLoop.cpp:
921         * dom/WorkerRunLoop.h:
922
923 2009-02-17  Peter Abrahamsen  <rainhead@gmail.com>
924
925         Reviewed by Sam Weinig.
926
927         https://bugs.webkit.org/show_bug.cgi?id=23958
928         <rdar://problem/6587815>
929
930         Updated XMLHttpRequest with new header names from the latest Access
931         Control draft: http://www.w3.org/TR/access-control/
932         - Access-Control-Origin becomes Access-Control-Allow-Origin
933         - Access-Control-Credentials becomes Access-Control-Allow-Credentials
934
935         * xml/XMLHttpRequest.cpp:
936         (WebCore::XMLHttpRequest::accessControlCheck):
937
938 2009-02-17  Kevin Ollivier  <kevino@theolliviers.com>
939
940         wx build fix. Add missing constructor used for empty values.
941
942         * platform/graphics/wx/FontPlatformData.h:
943         (WebCore::FontPlatformData::FontPlatformData):
944
945 2009-02-17  Antti Koivisto  <antti@apple.com>
946
947         Reviewed by Dave Kilzer.
948
949         <rdar://problem/6592446> dynamically updating page doesn't seem to draw when updated
950
951         Need update after callback.
952
953         * bindings/js/JSCustomPositionCallback.cpp:
954         (WebCore::JSCustomPositionCallback::handleEvent):
955         * bindings/js/JSCustomPositionErrorCallback.cpp:
956         (WebCore::JSCustomPositionErrorCallback::handleEvent):
957
958 2009-02-17  Eric Carlson  <eric.carlson@apple.com>
959
960         Reviewed by Antti Koivisto.
961
962         https://bugs.webkit.org/show_bug.cgi?id=23917
963         Allow a WebKit plug-in to act as a proxy for the <audio> and <video>
964         element.
965
966         * DerivedSources.make: add media element proxy exports to .exp file when feature is defined.
967
968         * WebCore.VideoProxy.exp: New, define the informal protocol exported by a media element proxy.
969
970         * WebCore.xcodeproj/project.pbxproj: Add MediaPlayerProxy.h.
971
972         * html/HTMLMediaElement.cpp:
973         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_needWidgetUpdate.
974         (WebCore::HTMLMediaElement::attributeChanged): Don't detach+attach when PLUGIN_PROXY_FOR_VIDEO, the
975         proxy plug-in handles the poster frame.
976         (WebCore::HTMLMediaElement::rendererIsNeeded): New logic for PLUGIN_PROXY_FOR_VIDEO.
977         (WebCore::HTMLMediaElement::createRenderer): Create RenderPartObject when PLUGIN_PROXY_FOR_VIDEO.
978         (WebCore::HTMLMediaElement::attach): Set m_needWidgetUpdate when PLUGIN_PROXY_FOR_VIDEO
979         (WebCore::HTMLMediaElement::load): Don't reallocate MediaPlayer when PLUGIN_PROXY_FOR_VIDEO, we keep the
980         same plug-in for the life of the element.
981         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): update m_networkState when media player
982         network state changes to EMPTY, otherwise we can get out of sync with engine.
983         (WebCore::HTMLMediaElement::defaultEventHandler): pass event to widget when PLUGIN_PROXY_FOR_VIDEO
984         (WebCore::HTMLMediaElement::deliverNotification): New, deliver notification from proxy plug-in to
985         media player.
986         (WebCore::HTMLMediaElement::setMediaPlayerProxy): New, pass proxy object to media player.
987         (WebCore::HTMLMediaElement::initialURL): New, return the url from the "src" attr or the appropriate
988         <source> element to be used as the initial url for the proxy.
989         (WebCore::HTMLMediaElement::finishParsingChildren): New, allocate MediaPlayer and update widget.
990         * html/HTMLMediaElement.h: Declare new methods for proxy, add m_needWidgetUpdate.
991         (WebCore::HTMLMediaElement::setNeedWidgetUpdate):
992
993         * html/HTMLVideoElement.cpp:
994         (WebCore::HTMLVideoElement::attach): Poster image is handled by proxy when PLUGIN_PROXY_FOR_VIDEO.
995         (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
996         * html/HTMLVideoElement.h:
997
998         * loader/FrameLoader.cpp:
999         (WebCore::toPlugInElement): Allow cast if element is <video> or <audio>
1000
1001         * platform/graphics/MediaPlayer.cpp:
1002         (WebCore::MediaPlayer::MediaPlayer): Remove white space.
1003         (WebCore::MediaPlayer::setPoster): New, forward call to private player.
1004         (WebCore::MediaPlayer::deliverNotification): Ditto.
1005         (WebCore::MediaPlayer::setMediaPlayerProxy): Ditto.
1006         * platform/graphics/MediaPlayer.h:
1007         (WebCore::MediaPlayer::mediaPlayerClient):
1008
1009         * platform/graphics/mac/MediaPlayerProxy.h: New, defines media player proxy interface.
1010
1011         * rendering/RenderPart.cpp:
1012         (WebCore::RenderPart::RenderPart): Change constructor to take Element* instead of Node* as a
1013         non-element node doesn't need a renderer
1014         * rendering/RenderPart.h: Ditto.
1015
1016         * rendering/RenderPartObject.cpp:
1017         (WebCore::RenderPartObject::RenderPartObject): Ditto.
1018         (WebCore::RenderPartObject::updateWidget): Package params for proxy plug-in when element is
1019         <video> or <audio>.
1020         * rendering/RenderPartObject.h:
1021
1022 2009-02-17  David Hyatt  <hyatt@apple.com>
1023
1024         Reviewed by Eric Seidel
1025
1026         Fix for https://bugs.webkit.org/show_bug.cgi?id=23985
1027
1028         Don't allow legends to be anything but display:block.
1029
1030         Added fast/forms/inline-ignored-on-legend.html
1031
1032         * GNUmakefile.am:
1033         * WebCore.pro:
1034         * WebCore.vcproj/WebCore.vcproj:
1035         * WebCore.xcodeproj/project.pbxproj:
1036         * WebCoreSources.bkl:
1037         * css/html4.css:
1038         * html/HTMLLegendElement.cpp:
1039         * html/HTMLLegendElement.h:
1040         * rendering/RenderLegend.cpp: Removed.
1041         * rendering/RenderLegend.h: Removed.
1042         * wml/WMLInsertedLegendElement.cpp:
1043         * wml/WMLInsertedLegendElement.h:
1044
1045 2009-02-13  Brett Wilson  <brettw@dhcp-172-22-71-167.mtv.corp.google.com>
1046
1047         Reviewed by Simon Fraser.
1048
1049         https://bugs.webkit.org/attachment.cgi?id=27666
1050         Fix Chromium build build: forgotten include in RenderObject, sync
1051         RenderTheme to the recent changes in RenderObject.
1052
1053         * rendering/RenderObject.cpp:
1054         * rendering/RenderThemeChromiumMac.mm:
1055         (WebCore::RenderThemeChromiumMac::updatePressedState):
1056
1057 2009-02-17  Gustavo Noronha Silva  <gns@gnome.org>
1058
1059         Reviewed by Darin Adler.
1060
1061         https://bugs.webkit.org/show_bug.cgi?id=22966
1062         crash when destroying a webview that opened a page containing <script>
1063         tags
1064
1065         Fix m_group being set to 0 instead of to m_singlePageGroup when
1066         GroupName is set to empty
1067
1068         * page/Page.cpp:
1069         (WebCore::Page::setGroupName):
1070
1071 2009-02-16  Beth Dakin  <bdakin@apple.com>
1072
1073         Reviewed by Sam Weinig.
1074
1075         Fix for <rdar://problem/6386623>
1076
1077         I made m_numParsedProperties and m_maxParsedProperties unsigned
1078         instead of int, and then added an early return from addPropery() if
1079         m_maxParsedProperties exceeds the max value.
1080
1081         * css/CSSParser.cpp:
1082         (WebCore::CSSParser::addProperty):
1083         (WebCore::CSSParser::rollbackLastProperties):
1084         (WebCore::CSSParser::clearProperties):
1085         (WebCore::CSSParser::createFontFaceRule):
1086         (WebCore::CSSParser::deleteFontFaceOnlyValues):
1087         * css/CSSParser.h:
1088
1089 2009-02-16  Justin Garcia  <justin.garcia@apple.com>
1090
1091         Reviewed by Mark Rowe.
1092
1093         https://bugs.webkit.org/show_bug.cgi?id=16309
1094         HTML5: The third execCommand argument for insert{un}orderedlist should be ignored
1095
1096         When we originally implemented this command, MSDN documentation said that IE set the
1097         id attribute of inserted lists to the third argument to execCommand, but IE doesn't
1098         do this nor do any other browsers.
1099
1100         * editing/EditorCommand.cpp:
1101         (WebCore::executeInsertOrderedList):
1102         (WebCore::executeInsertUnorderedList):
1103         * editing/IndentOutdentCommand.cpp:
1104         (WebCore::IndentOutdentCommand::outdentParagraph):
1105         * editing/InsertListCommand.cpp:
1106         (WebCore::InsertListCommand::insertList):
1107         (WebCore::InsertListCommand::InsertListCommand):
1108         (WebCore::InsertListCommand::doApply):
1109         * editing/InsertListCommand.h:
1110         (WebCore::InsertListCommand::create):
1111
1112 2009-02-16  Dan Bernstein  <mitz@apple.com>
1113
1114         Reviewed by Geoffrey Garen.
1115
1116         - fix <rdar://problem/6561077> REGRESSION (r39634): Unable to select an item in stocks widget with the mouse
1117
1118         Test: platform/mac/fast/events/pointer-events-dashboard.html
1119
1120         * css/CSSStyleSelector.cpp:
1121         (WebCore::CSSStyleSelector::applyProperty): Do not apply the
1122         pointer-events property in Dashboard backwards compatibility mode,
1123         in order to work around misuse of that property by the Stocks widget.
1124
1125 2009-02-16  Justin Garcia  <justin.garcia@apple.com>
1126
1127         Reviewed by Eric Seidel.
1128
1129         https://bugs.webkit.org/show_bug.cgi?id=15381
1130         execCommand justify modifies the contentEditable node
1131
1132         * editing/CompositeEditCommand.cpp:
1133         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Avoid modifying not just
1134         the body element, but any root editable element.
1135
1136 2009-02-16  Chris Fleizach  <cfleizach@apple.com>
1137
1138         Reviewed by Adele Peterson.
1139
1140         Bug 23979: AX: alt tag not returned for <input type="image">
1141         https://bugs.webkit.org/show_bug.cgi?id=23979
1142
1143         Test: accessibility/input-image-alt.html
1144
1145         * page/AccessibilityRenderObject.cpp:
1146         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1147
1148 2009-02-16  Kevin Watters  <kevinwatters@gmail.com>
1149
1150         Reviewed by Kevin Ollivier.
1151
1152         The ref data is not properly set unless we use the CreateMatrix function.
1153
1154         https://bugs.webkit.org/show_bug.cgi?id=23978
1155
1156         * platform/graphics/wx/TransformationMatrixWx.cpp:
1157         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
1158
1159 2009-02-16  Dan Bernstein  <mitz@apple.com>
1160
1161         Reviewed by John Sullivan.
1162
1163         - fix <rdar://problem/6516829> FontPlatformData constructor passes NULL to CTFontCopyGraphicsFont and CTFontGetPlatformFont
1164
1165         * platform/graphics/FontCache.cpp:
1166         (WebCore::FontDataCacheKeyTraits::emptyValue): Changed to use the
1167         FontPlatformData(float, bool, bool) constructor.
1168         * platform/graphics/mac/FontCacheMac.mm:
1169         (WebCore::FontCache::createFontPlatformData): Changed to pass a valid
1170         NSFont to the FontPlatformData constructor, instead of implicitly
1171         passing 0 and then calling setFont().
1172         * platform/graphics/mac/FontPlatformData.h: Made the NSFont parameter
1173         of the constructor mandatory.
1174
1175 2009-02-15  David Kilzer  <ddkilzer@apple.com>
1176
1177         Move duplicate caretWidth constants to RenderObject.h
1178
1179         Reviewed by Dan Bernstein.
1180
1181         No test since no change in behavior.
1182
1183         * rendering/RenderBlock.cpp:
1184         (WebCore::RenderBlock::localCaretRect): Removed caretWidth.
1185         * rendering/RenderBox.cpp:
1186         (WebCore::RenderBox::localCaretRect): Ditto.
1187         * rendering/RenderObject.h: Added caretWidth definition.
1188         * rendering/RenderText.cpp:
1189         (WebCore::RenderText::localCaretRect): Removed caretWidth.
1190
1191 2009-02-13  Dimitri Glazkov  <dglazkov@chromium.org>
1192
1193         Reviewed by Eric Seidel.
1194
1195         https://bugs.webkit.org/show_bug.cgi?id=23955
1196         V8HTMLPlugInCustom returns undefined, which fools interceptors.
1197
1198         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
1199         (WebCore::NAMED_PROPERTY_GETTER): Use deferToInterceptor() return value.
1200         (WebCore::NAMED_PROPERTY_SETTER): Ditto.
1201         (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
1202         (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
1203
1204 2009-02-13  Dimitri Glazkov  <dglazkov@chromium.org>
1205
1206         Reviewed by Eric Seidel.
1207
1208         https://bugs.webkit.org/show_bug.cgi?id=23954
1209         Add V8 custom bindings for CanvasRenderingContext2D.
1210
1211         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Added.
1212         (WebCore::toV8):
1213         (WebCore::toCanvasStyle):
1214         (WebCore::ACCESSOR_GETTER):
1215         (WebCore::ACCESSOR_SETTER):
1216
1217 2009-02-13  Anders Carlsson  <andersca@apple.com>
1218
1219         Reviewed by Darin Adler and Dan Bernstein.
1220
1221         <rdar://problem/6583187>
1222
1223         * page/NavigatorBase.cpp:
1224         Handle PPC64 and X86_64 as well.
1225
1226 2009-02-13  Darin Adler  <darin@apple.com>
1227
1228         Reviewed by Mark Rowe.
1229
1230         Fix broken tokenizer regression test that reflected a lifetime bug
1231         in the document.write optimization. The test failure was trivial to
1232         reproduce in COLLECT_ON_EVERY_ALLOCATION mode.
1233
1234         * bindings/js/JSHTMLDocumentCustom.cpp:
1235         (WebCore::documentWrite): Convert strings to String rather than passing
1236         the pointer and length to SegmentedString. The optimization is thus
1237         mostly gone. However, there are two ways to bring it back: 1) Apply
1238         the patch that makes UString and String share the same buffers.
1239         2) Add a UString feature to SegmentedString; simple to do but might
1240         risk slowing down normal document parsing.
1241
1242 2009-02-13  Adam Treat  <adam.treat@torchmobile.com>
1243
1244         Caught by Darin Adler.
1245
1246         No reason to check m_tokenizer twice for 0 in a row.
1247
1248         * dom/Document.cpp:
1249         (WebCore::Document::write):
1250
1251 2009-02-13  Lyon Chen  <lyon.chen@torchmobile.com>
1252
1253         Reviewed by Dave Hyatt.
1254
1255         Take into account y() + height() when calculating getLowerRightCorner.
1256
1257         * dom/ContainerNode.cpp:
1258         (WebCore::ContainerNode::getLowerRightCorner):
1259
1260 2009-02-13  Antti Koivisto  <antti@apple.com>
1261
1262         Reviewed by Dave Hyatt.
1263
1264         Most of this code was in RenderBox, restore the copyright lines.
1265
1266         * rendering/RenderBoxModelObject.cpp:
1267         * rendering/RenderBoxModelObject.h:
1268
1269 2009-02-13  David Hyatt  <hyatt@apple.com>
1270
1271         Get rid of printBoxDecorations, since it is dead code.
1272
1273         Reviewed by Dan Bernstein
1274
1275         * rendering/RenderObject.h:
1276
1277 2009-02-13  Adam Treat  <adam.treat@torchmobile.com>
1278
1279         Reviewed by Darin Adler.
1280
1281         https://bugs.webkit.org/show_bug.cgi?id=23952
1282         Add Document::write overload which takes a SegmentedString since this
1283         is what the tokenizer expects anyway.  Modified JSHTMLDocument so it once
1284         again calls Document::write instead of injecting the string directly into
1285         the tokenizer.  This ensures that all document.write's are funneled through
1286         one method again, but should still be just as fast for JSHTMLDocumentCustom.
1287
1288         * bindings/js/JSHTMLDocumentCustom.cpp:
1289         (WebCore::documentWrite):
1290         * dom/Document.cpp:
1291         (WebCore::Document::write):
1292         * dom/Document.h:
1293
1294 2009-02-13  David Hyatt  <hyatt@apple.com>
1295
1296         Reviewed by Simon Fraser
1297
1298         Remove updateWidgetPosition on RenderObject.  Change RenderView's set of widgets
1299         to have a tighter type: RenderWidget instead of RenderObject.  Devirtualize
1300         updateWidgetPosition, since all RenderWidgets (except for applets) are now
1301         RenderParts also.
1302
1303         * rendering/RenderObject.cpp:
1304         * rendering/RenderObject.h:
1305         * rendering/RenderPart.cpp:
1306         * rendering/RenderPart.h:
1307         * rendering/RenderView.cpp:
1308         (WebCore::RenderView::updateWidgetPositions):
1309         (WebCore::RenderView::addWidget):
1310         (WebCore::RenderView::removeWidget):
1311         * rendering/RenderView.h:
1312         * rendering/RenderWidget.cpp:
1313         (WebCore::RenderWidget::updateWidgetPosition):
1314         * rendering/RenderWidget.h:
1315
1316 2009-02-13  David Hyatt  <hyatt@apple.com>
1317
1318         Reviewed by Eric Seidel
1319
1320         Remove isEditable() on RenderObject.  It is dead code.
1321
1322         * rendering/RenderObject.cpp:
1323         * rendering/RenderObject.h:
1324
1325 2009-02-13  David Hyatt  <hyatt@apple.com>
1326
1327         Reviewed by Eric Seidel
1328
1329         Add isTextControl() to RenderObject.  Patch call sites thats asked isTextField() || isTextArea() to just use
1330         isTextControl() instead.
1331
1332         Add a toRenderTextControl converter for doing checked casting to RenderTextControls.
1333
1334         * dom/Document.cpp:
1335         (WebCore::Document::setFocusedNode):
1336         * dom/InputElement.cpp:
1337         (WebCore::InputElement::updateSelectionRange):
1338         * editing/ReplaceSelectionCommand.cpp:
1339         (WebCore::ReplacementFragment::ReplacementFragment):
1340         * editing/TextIterator.cpp:
1341         (WebCore::TextIterator::handleReplacedElement):
1342         * html/HTMLInputElement.cpp:
1343         (WebCore::HTMLInputElement::selectionStart):
1344         (WebCore::HTMLInputElement::selectionEnd):
1345         (WebCore::HTMLInputElement::setSelectionStart):
1346         (WebCore::HTMLInputElement::setSelectionEnd):
1347         (WebCore::HTMLInputElement::select):
1348         (WebCore::HTMLInputElement::defaultEventHandler):
1349         (WebCore::HTMLInputElement::selection):
1350         * html/HTMLTextAreaElement.cpp:
1351         (WebCore::HTMLTextAreaElement::selectionStart):
1352         (WebCore::HTMLTextAreaElement::selectionEnd):
1353         (WebCore::HTMLTextAreaElement::setSelectionStart):
1354         (WebCore::HTMLTextAreaElement::setSelectionEnd):
1355         (WebCore::HTMLTextAreaElement::select):
1356         (WebCore::HTMLTextAreaElement::setSelectionRange):
1357         (WebCore::HTMLTextAreaElement::appendFormData):
1358         (WebCore::HTMLTextAreaElement::updateValue):
1359         (WebCore::HTMLTextAreaElement::selection):
1360         * page/AccessibilityRenderObject.cpp:
1361         (WebCore::AccessibilityRenderObject::isNativeTextControl):
1362         (WebCore::AccessibilityRenderObject::text):
1363         (WebCore::AccessibilityRenderObject::selectedText):
1364         (WebCore::AccessibilityRenderObject::selectedTextRange):
1365         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
1366         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
1367         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
1368         (WebCore::AccessibilityRenderObject::observableObject):
1369         * page/Frame.cpp:
1370         (WebCore::Frame::notifyRendererOfSelectionChange):
1371         * rendering/RenderObject.h:
1372         (WebCore::RenderObject::isTextControl):
1373         (WebCore::objectIsRelayoutBoundary):
1374         * rendering/RenderTextControl.h:
1375         (WebCore::RenderTextControl::isTextControl):
1376         (WebCore::toRenderTextControl):
1377         * rendering/TextControlInnerElements.cpp:
1378         (WebCore::TextControlInnerTextElement::defaultEventHandler):
1379         * wml/WMLInputElement.cpp:
1380         (WebCore::WMLInputElement::select):
1381         (WebCore::WMLInputElement::defaultEventHandler):
1382         (WebCore::WMLInputElement::isConformedToInputMask):
1383
1384 2009-02-13  David Hyatt  <hyatt@apple.com>
1385
1386         Get rid of isEdited/setEdited on RenderObject.  Devirtualize isEdited/setEdited on RenderTextControl.
1387         Callers were already asking if the renderer was a text field (or a text area), so it was especially
1388         pointless to waste a second virtual function call after making one just to determine the object type.
1389
1390         Reviewed by Simon Fraser
1391
1392         * dom/Document.cpp:
1393         (WebCore::Document::setFocusedNode):
1394         * html/HTMLInputElement.cpp:
1395         (WebCore::HTMLInputElement::defaultEventHandler):
1396         * rendering/RenderObject.h:
1397         * rendering/RenderTextControl.h:
1398         (WebCore::RenderTextControl::isEdited):
1399         (WebCore::RenderTextControl::setEdited):
1400
1401 2009-02-13  Scott Violet  <sky@google.com>
1402
1403         Reviewed by Eric Seidel.
1404
1405         https://bugs.webkit.org/show_bug.cgi?id=23934
1406         Skia platform doesn't render text decoration shadows.
1407
1408         Makes Skia render text decoration shadows correctly. We weren't
1409         preparing the SkPaint correctly and didn't have a couple of checks
1410         CG has. Additionally makes the fillColor/strokeColor methods
1411         consistent.
1412
1413         This behavior is covered by existing layout tests (see bug for list).
1414
1415         * platform/graphics/chromium/FontChromiumWin.cpp:
1416         (WebCore::Font::drawGlyphs):
1417         (WebCore::Font::drawComplexText):
1418         * platform/graphics/skia/GraphicsContextSkia.cpp:
1419         (WebCore::GraphicsContext::drawLineForText):
1420         * platform/graphics/skia/PlatformContextSkia.cpp:
1421         (PlatformContextSkia::effectiveFillColor):
1422         (PlatformContextSkia::effectiveStrokeColor):
1423         * platform/graphics/skia/PlatformContextSkia.h:
1424
1425 2009-02-12  Darin Fisher  <darin@chromium.org>
1426
1427         Reviewed by Eric Seidel.
1428
1429         https://bugs.webkit.org/show_bug.cgi?id=23944
1430         KURLGoogle's pre-parsed canonicalSpec constructor should take a CString
1431
1432         * platform/KURL.h:
1433         * platform/KURLGoogle.cpp:
1434         (WebCore::KURLGooglePrivate::setUtf8):
1435         (WebCore::KURLGooglePrivate::setAscii):
1436         (WebCore::KURLGooglePrivate::init):
1437         (WebCore::KURLGooglePrivate::replaceComponents):
1438         (WebCore::KURL::KURL):
1439         * platform/KURLGooglePrivate.h:
1440
1441 2009-02-13  David Hyatt  <hyatt@apple.com>
1442
1443         Remove leftmost/rightmost/lowestPosition from RenderObject.  They only need to be called on boxes.
1444
1445         Reviewed by Dan Bernstein
1446
1447         * rendering/RenderBlock.cpp:
1448         (WebCore::RenderBlock::lowestPosition):
1449         (WebCore::RenderBlock::rightmostPosition):
1450         (WebCore::RenderBlock::leftmostPosition):
1451         * rendering/RenderLayer.cpp:
1452         (WebCore::RenderLayer::computeScrollDimensions):
1453         * rendering/RenderMedia.cpp:
1454         (WebCore::RenderMedia::lowestPosition):
1455         (WebCore::RenderMedia::rightmostPosition):
1456         (WebCore::RenderMedia::leftmostPosition):
1457         * rendering/RenderObject.h:
1458         * rendering/RenderTableSection.cpp:
1459         (WebCore::RenderTableSection::lowestPosition):
1460         (WebCore::RenderTableSection::rightmostPosition):
1461         (WebCore::RenderTableSection::leftmostPosition):
1462
1463 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
1464
1465         Fix build with ACCELERATED_COMPOSITING turned on.
1466
1467         toRenderBox()->x() asserts for a layer on an inline; use
1468         m_owningLayer->renderBoxX() instead.
1469
1470         * rendering/RenderLayerBacking.cpp:
1471         (WebCore::RenderLayerBacking::paintIntoLayer):
1472
1473 2009-02-12  Darin Adler  <darin@apple.com>
1474
1475         Reviewed by Oliver Hunt.
1476
1477         Speed up document.write a bit.
1478
1479         * bindings/js/JSHTMLDocumentCustom.cpp:
1480         (WebCore::documentWrite): Added. Uses SegmentedString to avoid conversion from
1481         UString to String and to avoid appending strings. Also added code to handle
1482         newlines efficiently.
1483         (WebCore::JSHTMLDocument::write): Changed to use documentWrite.
1484         (WebCore::JSHTMLDocument::writeln): Ditto.
1485
1486         * dom/Document.cpp:
1487         (WebCore::Document::prepareToWrite): Added. Refactored the initialization part
1488         of write into a separate function for use in the JavaScript binding.
1489         (WebCore::Document::write): Changed to call prepareToWrite.
1490
1491         * dom/Document.h: Added declaration for prepareToWrite.
1492
1493 2009-02-13  Prasanth Ullattil  <pullatti@trolltech.com>
1494
1495         Reviewed by Simon Hausmann.
1496
1497         Fixes crash in the Qt port on Windows with comboboxes
1498
1499         The focusWidget in the input context is not reset properly.
1500         The QApplication::setFocusWidget() wont reset the IC if the reason is
1501         PopupFocusReason, this is not ideal. For the time being we are going
1502         to do this from webkit itself.
1503
1504         * platform/qt/QWebPopup.cpp:
1505         (WebCore::QWebPopup::hidePopup):
1506
1507 2009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
1508
1509         wx build fix, typo while tweaking last patch for commit.
1510
1511         * platform/wx/wxcode/gtk/fontprops.cpp:
1512         (GetTextExtent):
1513
1514 2009-02-12  miggilin  <mr.diggilin@gmail.com>
1515
1516         Reviewed by Kevin Ollivier.
1517
1518         Use Cairo/PANGO to fix text measurements and implement proper
1519         non-kerned text drawing on wxGTK.
1520
1521         https://bugs.webkit.org/show_bug.cgi?id=17727
1522
1523         * platform/graphics/GlyphBuffer.h:
1524         * platform/graphics/wx/FontPlatformDataWx.cpp:
1525         (WebCore::fontWeightToWxFontWeight):
1526         * platform/graphics/wx/SimpleFontDataWx.cpp:
1527         (WebCore::SimpleFontData::platformWidthForGlyph):
1528         * platform/wx/wxcode/fontprops.h:
1529         * platform/wx/wxcode/gtk/fontprops.cpp:
1530         (wxFontProperties::wxFontProperties):
1531         (GetTextExtent):
1532         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
1533         (WebCore::pangoFontMap):
1534         (WebCore::createPangoFontForFont):
1535         (WebCore::createScaledFontForFont):
1536         (WebCore::pango_font_get_glyph):
1537         (WebCore::drawTextWithSpacing):
1538         * platform/wx/wxcode/non-kerned-drawing.h:
1539
1540 2009-02-12  Chris Marrin  <cmarrin@apple.com>
1541
1542         Reviewed by Simon Fraser
1543
1544         https://bugs.webkit.org/show_bug.cgi?id=23942
1545
1546         Hook up 3D CSS transforms to the accelerated compositor backend.
1547         Not enabled by default.
1548
1549         * page/animation/AnimationBase.cpp:
1550         (WebCore::blendFunc):
1551         (WebCore::ensurePropertyMap):
1552         * page/animation/CompositeAnimation.cpp:
1553         (WebCore::CompositeAnimationPrivate::updateTransitions):
1554         * page/animation/ImplicitAnimation.cpp:
1555         (WebCore::ImplicitAnimation::willNeedService):
1556         * page/animation/KeyframeAnimation.cpp:
1557         (WebCore::KeyframeAnimation::willNeedService):
1558         * platform/graphics/GraphicsLayer.cpp:
1559         (WebCore::GraphicsLayer::TransformValueList::makeFunctionList):
1560         (WebCore::GraphicsLayer::dumpProperties):
1561         * platform/graphics/mac/GraphicsLayerCA.mm:
1562         (WebCore::copyTransform):
1563         (WebCore::getValueFunctionNameForTransformOperation):
1564         (WebCore::GraphicsLayerCA::animateTransform):
1565         * rendering/RenderBox.cpp:
1566         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
1567         * rendering/RenderLayer.cpp:
1568         (WebCore::RenderLayer::updateTransform):
1569         (WebCore::RenderLayer::hasTransformStyle3D):
1570         (WebCore::RenderLayer::hasPerspective):
1571         (WebCore::RenderLayer::perspectiveTransform):
1572         * rendering/RenderLayer.h:
1573         * rendering/RenderLayerBacking.cpp:
1574         (WebCore::RenderLayerBacking::updateGraphicsLayers):
1575         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1576         (WebCore::RenderLayerBacking::computeTransformOrigin):
1577         (WebCore::RenderLayerBacking::computePerspectiveOrigin):
1578         * rendering/RenderLayerBacking.h:
1579         * rendering/RenderLayerCompositor.cpp:
1580         (WebCore::RenderLayerCompositor::has3DContent):
1581         (WebCore::requiresCompositingLayerForTransform):
1582         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1583         (WebCore::RenderLayerCompositor::layerHas3DContent):
1584         * rendering/RenderLayerCompositor.h:
1585
1586 2009-02-12  David Hyatt  <hyatt@apple.com>
1587
1588         Reviewed by Eric Seidel
1589
1590         Get rid of containingBlockHeight(), since it had only one implementation (despite being virtual) and just returned
1591         containingBlock()->availableHeight().  The latter reads better anyway.  Rename containingBlockWidth() to
1592         containingBlockWidthForContent() and move it to RenderBoxModelObject.
1593
1594         * rendering/RenderBlock.cpp:
1595         (WebCore::RenderBlock::localCaretRect):
1596         * rendering/RenderBox.cpp:
1597         (WebCore::RenderBox::containingBlockWidthForContent):
1598         (WebCore::RenderBox::calcWidth):
1599         (WebCore::RenderBox::calcReplacedWidthUsing):
1600         * rendering/RenderBox.h:
1601         * rendering/RenderBoxModelObject.cpp:
1602         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
1603         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
1604         (WebCore::RenderBoxModelObject::containingBlockWidthForContent):
1605         * rendering/RenderBoxModelObject.h:
1606         * rendering/RenderInline.cpp:
1607         (WebCore::RenderInline::marginLeft):
1608         (WebCore::RenderInline::marginRight):
1609         * rendering/RenderObject.cpp:
1610         * rendering/RenderObject.h:
1611         * rendering/RenderSVGContainer.cpp:
1612         (WebCore::RenderSVGContainer::calcReplacedWidth):
1613
1614 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
1615
1616         Fix non-Mac builds by adding Matrix3DTransformOperation.* and
1617         PerspectiveTransformOperation.*. Cleaned out some cruft in
1618         the WebCore.vcproj fle.
1619
1620         * GNUmakefile.am:
1621         * WebCore.pro:
1622         * WebCore.scons:
1623         * WebCore.vcproj/WebCore.vcproj:
1624
1625 2009-02-12  David Smith  <catfish.man@gmail.com>
1626
1627         Reviewed by Dave Hyatt.
1628
1629         Fix https://bugs.webkit.org/show_bug.cgi?id=23935
1630         Nested :not() and non-simple selectors in :not() should be invalid
1631
1632         * css/CSSGrammar.y: Reject nested :not()
1633         * css/CSSStyleSelector.cpp:
1634         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ASSERT() rather than checking, since the parser enforces it now
1635
1636 2009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
1637
1638         wx build fixes.
1639
1640         * WebCoreSources.bkl:
1641
1642 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
1643
1644         Fix build with ACCELERATED_COMPOSITING turned on.
1645
1646         Need to cast toRenderBox() in order to call overflowClipRect().
1647
1648         * rendering/RenderLayerBacking.cpp:
1649         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1650
1651 2009-02-12  Oliver Hunt  <oliver@apple.com>
1652
1653         Reviewed by NOBODY (Build fix).
1654
1655         Fix windows build.
1656
1657         * css/CSSParser.h:
1658
1659 2009-02-12  David Hyatt  <hyatt@apple.com>
1660
1661         Rename getOverflowClipRect and getClipRect to overflowClipRect and clipRect.  Move them to RenderBox, since these methods
1662         only apply to boxes.  Devirtualize clipRect, since it was not subclassed.  Move controlClip stuff to RenderBox also.
1663
1664         Reviewed by Simon Fraser
1665
1666         * editing/Editor.cpp:
1667         (WebCore::Editor::insideVisibleArea):
1668         * rendering/RenderBox.cpp:
1669         (WebCore::RenderBox::overflowClipRect):
1670         (WebCore::RenderBox::clipRect):
1671         * rendering/RenderBox.h:
1672         (WebCore::RenderBox::hasControlClip):
1673         (WebCore::RenderBox::controlClipRect):
1674         * rendering/RenderForeignObject.cpp:
1675         (WebCore::RenderForeignObject::paint):
1676         * rendering/RenderLayer.cpp:
1677         (WebCore::RenderLayer::calculateClipRects):
1678         (WebCore::RenderLayer::calculateRects):
1679         * rendering/RenderLayerBacking.cpp:
1680         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1681         * rendering/RenderObject.h:
1682         (WebCore::RenderObject::hasClip):
1683         (WebCore::RenderObject::hasOverflowClip):
1684         * rendering/RenderTable.cpp:
1685         (WebCore::RenderTable::overflowClipRect):
1686         * rendering/RenderTable.h:
1687
1688 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
1689
1690         Fix build with ACCELERATED_COMPOSITING turned on (simple copy/paste error)
1691
1692         * platform/graphics/mac/GraphicsLayerCA.mm:
1693         (WebCore::GraphicsLayerCA::setBasicAnimation):
1694
1695 2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
1696
1697         Not reviewed.
1698
1699         Release build fix when VIDEO is disabled (it should also
1700         help the builds with WORKERS or XSLT disabled).
1701
1702         * bindings/js/JSDOMWindowBase.cpp:
1703         (jsDOMWindowBaseAudio): Added an UNUSED_PARAM for exec and slot when
1704         VIDEO is disabled.
1705         (jsDOMWindowBaseWorker): Ditto for WORKERS.
1706         (jsDOMWindowBaseXSLTProcessor): Ditto for XSLT.
1707
1708 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
1709
1710         Reviewed by Simon Fraser.
1711
1712         https://bugs.webkit.org/show_bug.cgi?id=23923
1713         Implement mediaPlayerVolumeChanged so a media engine can report autonomous volume changes.
1714         Supporting this requires that we know when we are processing a media engine callback so
1715         we don't turn around and tell the media player to change the volume when it is reporting
1716         a volume change.
1717
1718         * html/HTMLMediaElement.cpp:
1719         (WebCore::HTMLMediaElement::HTMLMediaElement): initialize m_processingMediaPlayerCallback
1720         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): call begin/endProcessingMediaPlayerCallback
1721         (WebCore::HTMLMediaElement::setNetworkState): logic split out of mediaPlayerNetworkStateChanged
1722         to make it easier to maintain m_processingMediaPlayerCallback.
1723         (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): call begin/endProcessingMediaPlayerCallback
1724         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
1725         (WebCore::HTMLMediaElement::mediaPlayerRepaint): Ditto.
1726         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): New
1727         (WebCore::HTMLMediaElement::updateVolume): Don't change media engine volume if we are processing
1728         a callback from the engine.
1729         * html/HTMLMediaElement.h:
1730         (WebCore::HTMLMediaElement::processingMediaPlayerCallback): New, return true if (m_processingMediaPlayerCallback>0)
1731         (WebCore::HTMLMediaElement::beginProcessingMediaPlayerCallback): New, increment m_processingMediaPlayerCallback
1732         (WebCore::HTMLMediaElement::endProcessingMediaPlayerCallback): New, decrement m_processingMediaPlayerCallback
1733
1734 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
1735
1736         Reviewed by Simon Fraser.
1737
1738         Support MPEG content on Mac and Windows.
1739         <rdar://problem/5917509>
1740         https://bugs.webkit.org/show_bug.cgi?id=23495
1741
1742         Test: media/audio-mpeg-supported.html
1743
1744         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1745         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
1746
1747         * platform/graphics/win/QTMovieWin.cpp:
1748         (QTMovieWin::disableUnsupportedTracks):
1749
1750         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: fix typo added in r40925
1751
1752 2009-02-12  David Hyatt  <hyatt@apple.com>
1753
1754         Reviewed by Sam Weinig
1755
1756         Move containsFloats, hasOverhangingFloats, shrinkToAvoidFloats and avoidsFloats down to
1757         RenderBox, since these methods only apply to boxes.
1758
1759         * rendering/RenderBlock.cpp:
1760         (WebCore::RenderBlock::collapseMargins):
1761         (WebCore::RenderBlock::clearFloatsIfNeeded):
1762         (WebCore::RenderBlock::layoutBlockChildren):
1763         (WebCore::RenderBlock::clearFloats):
1764         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
1765         (WebCore::RenderBlock::calcBlockPrefWidths):
1766         * rendering/RenderBlock.h:
1767         (WebCore::RenderBlock::containsFloats):
1768         (WebCore::RenderBlock::hasOverhangingFloats):
1769         * rendering/RenderBox.cpp:
1770         (WebCore::RenderBox::shrinkToAvoidFloats):
1771         (WebCore::RenderBox::avoidsFloats):
1772         * rendering/RenderBox.h:
1773         * rendering/RenderObject.cpp:
1774         * rendering/RenderObject.h:
1775         (WebCore::RenderObject::isFloatingOrPositioned):
1776         * rendering/RenderView.h:
1777
1778 2009-02-12  Chris Marrin  <cmarrin@apple.com>
1779
1780         Reviewed by Dave Hyatt
1781
1782         https://bugs.webkit.org/show_bug.cgi?id=23908
1783
1784         Added parsing of 3d transform functions and properties
1785         (perspective, perspective-origin, transform-style-3d,
1786         and backface-visibility).
1787
1788         Test: transforms/3d/cssmatrix-3d-interface.xhtml
1789
1790         * css/CSSComputedStyleDeclaration.cpp:
1791         (WebCore::):
1792         (WebCore::computedTransform):
1793         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1794         * css/CSSMutableStyleDeclaration.cpp:
1795         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
1796         * css/CSSParser.cpp:
1797         (WebCore::CSSParser::parseValue):
1798         (WebCore::CSSParser::parseFillProperty):
1799         (WebCore::CSSParser::parseTransformOriginShorthand):
1800         (WebCore::TransformOperationInfo::TransformOperationInfo):
1801         (WebCore::CSSParser::parseTransform):
1802         (WebCore::CSSParser::parseTransformOrigin):
1803         (WebCore::CSSParser::parsePerspectiveOrigin):
1804         * css/CSSParser.h:
1805         * css/CSSPrimitiveValue.h:
1806         (WebCore::CSSPrimitiveValue::isUnitTypeLength):
1807         * css/CSSPropertyNames.in:
1808         * css/CSSStyleSelector.cpp:
1809         (WebCore::CSSStyleSelector::adjustRenderStyle):
1810         (WebCore::convertToLength):
1811         (WebCore::CSSStyleSelector::applyProperty):
1812         (WebCore::CSSStyleSelector::mapFillSize):
1813         (WebCore::CSSStyleSelector::mapFillXPosition):
1814         (WebCore::CSSStyleSelector::mapFillYPosition):
1815         (WebCore::getTransformOperationType):
1816         (WebCore::CSSStyleSelector::createTransformOperations):
1817         * css/CSSValueKeywords.in:
1818         * css/WebKitCSSTransformValue.cpp:
1819         (WebCore::WebKitCSSTransformValue::cssText):
1820         * css/WebKitCSSTransformValue.h:
1821         (WebCore::WebKitCSSTransformValue::):
1822         * css/WebKitCSSTransformValue.idl:
1823         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
1824         * platform/graphics/transforms/Matrix3DTransformOperation.h:
1825         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
1826         * platform/graphics/transforms/PerspectiveTransformOperation.h:
1827         * platform/graphics/transforms/RotateTransformOperation.cpp:
1828         (WebCore::RotateTransformOperation::blend):
1829         * platform/graphics/transforms/RotateTransformOperation.h:
1830         (WebCore::RotateTransformOperation::RotateTransformOperation):
1831         * platform/graphics/transforms/ScaleTransformOperation.h:
1832         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
1833         * platform/graphics/transforms/TransformOperation.h:
1834         (WebCore::TransformOperation::is3DOperation):
1835         * platform/graphics/transforms/TransformOperations.h:
1836         (WebCore::TransformOperations::has3DOperation):
1837         * platform/graphics/transforms/TranslateTransformOperation.h:
1838         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
1839
1840 2009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
1841
1842         wx build fix.
1843
1844         * webcore-base.bkl:
1845
1846 2009-02-12  Brady Eidson  <beidson@apple.com>
1847
1848         Reviewed by Darin Adler
1849
1850         Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
1851
1852         * platform/mac/SharedBufferMac.mm: Change to use RefPtr<> instead of ref()/deref().
1853         (-[WebCoreSharedBufferData dealloc]):
1854         (-[WebCoreSharedBufferData finalize]):
1855         (-[WebCoreSharedBufferData initWithSharedBuffer:]):
1856
1857 2009-02-12  David Hyatt  <hyatt@apple.com>
1858
1859         Remove calcWidth from RenderObject.  Nobody ever called it on RenderObjects.
1860
1861         Reviewed by Sam Weinig
1862
1863         * rendering/RenderObject.h:
1864
1865 2009-02-12  David Hyatt  <hyatt@apple.com>
1866
1867         Reviewed by Mark Rowe
1868
1869         Fix for regression where form controls would paint yellow highlights.  The containsComposition check needs to
1870         null check node() now.
1871
1872         * rendering/InlineTextBox.cpp:
1873         (WebCore::InlineTextBox::paint):
1874
1875 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
1876
1877         Build fix
1878
1879         Change Animation::setDirection() to take the new enum value, and fix
1880         the single caller.
1881
1882         Fix build error in MediaPlayerPrivateQTKit.h.
1883
1884         * css/CSSStyleSelector.cpp:
1885         (WebCore::CSSStyleSelector::mapAnimationDirection):
1886         * platform/animation/Animation.h:
1887         (WebCore::Animation::setDirection):
1888         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1889
1890 2009-02-12  David Hyatt  <hyatt@apple.com>
1891
1892         Reviewed by Simon Fraser
1893
1894         Remove the overrideSize methods from RenderObject.  Devirtualize all of the accessors on RenderBox.
1895
1896         * rendering/RenderBox.h:
1897         * rendering/RenderObject.h:
1898
1899 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
1900
1901         Darin Adler, Antti Koivisto, Holger Hans Peter Freyther
1902
1903         Bug 23797: A platform should be able to use more than one media engine for <video> and <audio>
1904         https://bugs.webkit.org/show_bug.cgi?id=23797
1905
1906         * WebCore.xcodeproj/project.pbxproj: add MediaPlayerPrivate.h
1907
1908         * html/HTMLMediaElement.cpp:
1909         (WebCore::HTMLMediaElement::load): selectMediaURL now also returns a MIME type, pass it to
1910         MediaPlayer::load so it can choose the right media engine
1911         (WebCore::HTMLMediaElement::selectMediaURL): renamed from pickMedia. use MIMETypeRegistry
1912         functions to strip params from the url and extract the codecs parameter. call
1913         MediaPlayer::supportsType to see if we can open the file since only a media engine can
1914         answer questions about supported type+codecs.
1915         * html/HTMLMediaElement.h:
1916
1917         * platform/MIMETypeRegistry.cpp:
1918         (WebCore::MIMETypeRegistry::getParameterFromMIMEType): New, find and return a MIME type parameter
1919         (WebCore::MIMETypeRegistry::stripParametersFromMIMEType): New, strip all parameters from a MIME type
1920         * platform/MIMETypeRegistry.h:
1921
1922         * platform/graphics/MediaPlayer.cpp:
1923         (WebCore::NullMediaPlayerPrivate::NullMediaPlayerPrivate):
1924         (WebCore::NullMediaPlayerPrivate::load):
1925         (WebCore::NullMediaPlayerPrivate::cancelLoad):
1926         (WebCore::NullMediaPlayerPrivate::play):
1927         (WebCore::NullMediaPlayerPrivate::pause):
1928         (WebCore::NullMediaPlayerPrivate::naturalSize):
1929         (WebCore::NullMediaPlayerPrivate::hasVideo):
1930         (WebCore::NullMediaPlayerPrivate::setVisible):
1931         (WebCore::NullMediaPlayerPrivate::duration):
1932         (WebCore::NullMediaPlayerPrivate::currentTime):
1933         (WebCore::NullMediaPlayerPrivate::seek):
1934         (WebCore::NullMediaPlayerPrivate::seeking):
1935         (WebCore::NullMediaPlayerPrivate::setEndTime):
1936         (WebCore::NullMediaPlayerPrivate::setRate):
1937         (WebCore::NullMediaPlayerPrivate::paused):
1938         (WebCore::NullMediaPlayerPrivate::setVolume):
1939         (WebCore::NullMediaPlayerPrivate::networkState):
1940         (WebCore::NullMediaPlayerPrivate::readyState):
1941         (WebCore::NullMediaPlayerPrivate::maxTimeSeekable):
1942         (WebCore::NullMediaPlayerPrivate::maxTimeBuffered):
1943         (WebCore::NullMediaPlayerPrivate::dataRate):
1944         (WebCore::NullMediaPlayerPrivate::totalBytesKnown):
1945         (WebCore::NullMediaPlayerPrivate::totalBytes):
1946         (WebCore::NullMediaPlayerPrivate::bytesLoaded):
1947         (WebCore::NullMediaPlayerPrivate::setRect):
1948         (WebCore::NullMediaPlayerPrivate::paint):
1949         (WebCore::createNullMediaPlayer):
1950         Do nothing media player so MediaPlayer doesn't have to NULL check before calling current engine.
1951
1952         (WebCore::MediaPlayerFactory::MediaPlayerFactory): New, factory constructor.
1953         (WebCore::installedMediaEngines): New, returns vector of all installed engines.
1954         (WebCore::addMediaEngine): New, add a media engine to the cache.
1955         (WebCore::chooseBestEngineForTypeAndCodecs): New, return an engine that might support a MIME type.
1956         (WebCore::MediaPlayer::MediaPlayer): create NULL media player so we have a default. Initialize m_currentMediaEngine.
1957         (WebCore::MediaPlayer::~MediaPlayer): don't need to delete m_private, it is now an OwnPtr.
1958         (WebCore::MediaPlayer::load): Take MIME type as well as url, since we need it to find the right
1959           media engine. If no MIME type is provided, try to devine one from the url. Choose a media engine
1960           based on the MIME type and codecs parameter.
1961         (WebCore::MediaPlayer::currentTime): Remove excess white space.
1962         (WebCore::MediaPlayer::supportsType): Take codecs param as well as MIME type. Return enum so we can
1963         indicate "maybe" condition.
1964         (WebCore::MediaPlayer::getSupportedTypes): Build up list of MIME types by consulting all engines.
1965         (WebCore::MediaPlayer::isAvailable): return true if any media engine is installed.
1966
1967         * platform/graphics/MediaPlayer.h:
1968         (WebCore::MediaPlayer::):
1969         (WebCore::MediaPlayer::frameView): accessor function.
1970
1971         * platform/graphics/MediaPlayerPrivate.h: New, declares abstract interface for media engines.
1972         (WebCore::MediaPlayerPrivateInterface::~MediaPlayerPrivateInterface):
1973         (WebCore::MediaPlayerPrivateInterface::totalBytesKnown):
1974
1975         * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Add support for engine factory
1976
1977         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1978         (WebCore::MediaPlayerPrivate::create): New, media engine factory function
1979         (WebCore::MediaPlayerPrivate::registerMediaEngine): Register engine with MediaPlayer factory
1980         (WebCore::MediaPlayerPrivate::load): URL is a const String.
1981         (WebCore::MediaPlayerPrivate::duration): Declare const.
1982         (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
1983         (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
1984         (WebCore::MediaPlayerPrivate::networkState): Ditto.
1985         (WebCore::MediaPlayerPrivate::readyState): Ditto.
1986         (WebCore::MediaPlayerPrivate::maxTimeBuffered): Ditto.
1987         (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
1988         (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
1989         (WebCore::MediaPlayerPrivate::bytesLoaded): Ditto.
1990         (WebCore::MediaPlayerPrivate::totalBytesKnown): Ditto.
1991         (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
1992         (WebCore::MediaPlayerPrivate::supportsType): Return MediaPlayer::SupportsType enum instead of bool.
1993         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1994         (WebCore::MediaPlayerPrivate::isAvailable):
1995
1996         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1997         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1998         (WebCore::MediaPlayerPrivateQTKit::create): New, media engine factory function
1999         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register engine with MediaPlayer factory
2000         (WebCore::MediaPlayerPrivate::createQTMovieView): don't access MediaPlayer->m_frameView directly,
2001         use accessor function.
2002         (WebCore::MediaPlayerPrivate::setUpVideoRendering): Ditto.
2003         (WebCore::MediaPlayerPrivate::paint): Ditto.
2004         (WebCore::mimeTypeCache): New.
2005         (WebCore::MediaPlayerPrivate::getSupportedTypes): New, media engine factory function.
2006         (WebCore::MediaPlayerPrivate::supportsType): return MediaPlayer::SupportsType enum instead of bool
2007         (-[WebCoreMovieObserver initWithCallback:]): fix formatting
2008
2009         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2010         (WebCore::MediaPlayerPrivate::create):
2011         (WebCore::MediaPlayerPrivate::registerMediaEngine):
2012         (WebCore::MediaPlayerPrivate::supportsType):
2013         (WebCore::MediaPlayerPrivate::load): URL is a const String.
2014         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
2015         (WebCore::MediaPlayerPrivate::isAvailable):
2016
2017         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2018         (WebCore::MediaPlayerPrivate::create): New, media engine factory function
2019         (WebCore::MediaPlayerPrivate::registerMediaEngine): New, register engine with MediaPlayer factory
2020         (WebCore::MediaPlayerPrivate::load): URL is a const String.
2021         (WebCore::MediaPlayerPrivate::paint): don't access MediaPlayer->m_frameView directly,
2022         use accessor function.
2023         (WebCore::mimeTypeCache): New.
2024         (WebCore::MediaPlayerPrivateQTWin::getSupportedTypes): New, media engine factory function.
2025         (WebCore::MediaPlayerPrivateQTWin::supportsType): return MediaPlayer::SupportsType enum instead of bool
2026         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2027
2028 2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
2029
2030         Reviewed by Darin Adler.
2031
2032         Test: fast/dom/prefixed-image-tag.xhtml
2033
2034         Bug 23915: Remove setPrefix work-around in Document::createElement(QualifiedName, bool)
2035
2036         Instead we now directly propage the QualifiedName inside the generated Factory.
2037
2038         Test: fast/dom/prefixed-image-tag.xhtml
2039
2040         * dom/Document.cpp:
2041         (WebCore::Document::createElement): Removed the setPrefix work-around
2042         and replaced it with an ASSERT to catch mistakes inside the Factory code.
2043         Remove the unneeded ExceptionCode argument.
2044
2045         (WebCore::Document::createElementNS): Removed ExceptionCode argument.
2046         * dom/Document.h: Updated the signature.
2047         * dom/XMLTokenizerLibxml2.cpp:
2048         (WebCore::XMLTokenizer::startElementNs): Removed ExceptionCode argument.
2049         * dom/XMLTokenizerQt.cpp: Ditto.
2050         (WebCore::XMLTokenizer::parseStartElement): Ditto.
2051
2052         * dom/make_names.pl: Implemented the QualifiedName propogation logic
2053         in the Factory.
2054
2055 2009-02-12  Simon Fraser  <simon.fraser@apple.com>
2056
2057         Reviewed by Dave Hyatt
2058
2059         https://bugs.webkit.org/show_bug.cgi?id=23188
2060
2061         Define enum values for Animation::direction(), and one for
2062         IterationCountInfinite to make the code more self-documenting.
2063
2064         Order the member vars of Animation to optimize packing.
2065
2066         * css/CSSComputedStyleDeclaration.cpp:
2067         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2068         * platform/animation/Animation.cpp:
2069         (WebCore::Animation::Animation):
2070         (WebCore::Animation::operator=):
2071         (WebCore::Animation::animationsMatch):
2072         * platform/animation/Animation.h:
2073         (WebCore::Animation::):
2074         (WebCore::Animation::direction):
2075         (WebCore::Animation::initialAnimationDirection):
2076         * platform/graphics/mac/GraphicsLayerCA.mm:
2077         (WebCore::GraphicsLayerCA::setBasicAnimation):
2078         (WebCore::GraphicsLayerCA::setKeyframeAnimation):
2079
2080 2009-02-12  Christian Dywan  <christian@twotoasts.de>
2081
2082         Reviewed by Holger Freyther.
2083
2084         * platform/network/soup/ResourceHandleSoup.cpp:
2085         (WebCore::ResourceHandle::startHttp): Don't use O_CLOEXEC for now.
2086
2087 2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
2088
2089         Reviewed by Darin Adler.
2090
2091         Bug 23826: Potential bug with before/after rule while moving element from one document to another
2092
2093         Moved the document before/after toggle from the constructor to insertedIntoDocument.
2094
2095         Test: fast/css-generated-content/beforeAfter-interdocument.html
2096
2097         * html/HTMLQuoteElement.cpp:
2098         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
2099         (WebCore::HTMLQuoteElement::insertedIntoDocument):
2100         * html/HTMLQuoteElement.h:
2101
2102 2009-02-12  David Hyatt  <hyatt@apple.com>
2103
2104         Reviewed by Simon Fraser
2105
2106         Fix for https://bugs.webkit.org/show_bug.cgi?id=23912
2107
2108         I have no idea why this broke.  As far as I can tell the old code never should have worked in
2109         the first place.  Add code to handleWheelEvent that will find an enclosing renderer for a node
2110         in order to attempt a wheel scroll.
2111
2112         * page/EventHandler.cpp:
2113         (WebCore::EventHandler::handleWheelEvent):
2114
2115 2009-02-12  David Hyatt  <hyatt@apple.com>
2116
2117         Move the functions that paint borders, box shadows and border images into RenderBoxModelObject.  drawBorder and drawBorderArc, because they are used
2118         for outlines as well as borders, need to stay in RenderObject.  Rename them to drawLineForBoxSide and drawArcForBoxSide in order to reflect their
2119         more generic use.  Rename the BorderSide struct to BoxSide, since the concept of "side" is just a rectangle concept and not a border concept.
2120
2121         Reviewed by Simon Fraser
2122
2123         * rendering/InlineFlowBox.cpp:
2124         (WebCore::InlineFlowBox::paintFillLayer):
2125         (WebCore::InlineFlowBox::paintBoxShadow):
2126         (WebCore::InlineFlowBox::paintBoxDecorations):
2127         (WebCore::InlineFlowBox::paintMask):
2128         * rendering/RenderBlock.cpp:
2129         (WebCore::RenderBlock::paintColumns):
2130         * rendering/RenderBoxModelObject.cpp:
2131         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2132         (WebCore::RenderBoxModelObject::paintBorder):
2133         (WebCore::RenderBoxModelObject::paintBoxShadow):
2134         * rendering/RenderBoxModelObject.h:
2135         * rendering/RenderFieldset.cpp:
2136         (WebCore::RenderFieldset::paintBorderMinusLegend):
2137         * rendering/RenderInline.cpp:
2138         (WebCore::RenderInline::paintOutlineForLine):
2139         * rendering/RenderObject.cpp:
2140         (WebCore::RenderObject::drawLineForBoxSide):
2141         (WebCore::RenderObject::drawArcForBoxSide):
2142         (WebCore::RenderObject::paintOutline):
2143         * rendering/RenderObject.h:
2144         (WebCore::):
2145         (WebCore::RenderObject::hasBoxDecorations):
2146         * rendering/RenderTableCell.cpp:
2147         (WebCore::CollapsedBorders::addBorder):
2148         (WebCore::RenderTableCell::paintCollapsedBorder):
2149
2150 2009-02-12  Eric Carlson  <eric.carlson@apple.com>
2151
2152         Reviewed by Simon Fraser
2153
2154         Bug 18322: video element should have ui when scripting is disabled
2155         https://bugs.webkit.org/show_bug.cgi?id=18322
2156
2157         * html/HTMLMediaElement.cpp:
2158         (WebCore::HTMLMediaElement::controls): always return 'true' when JavaScript is disabled.
2159         * manual-tests/media-controls-when-javascript-disabled.html: Added.
2160
2161 2009-02-12  Dimitri Glazkov  <dglazkov@chromium.org>
2162
2163         Reviewed by Eric Seidel.
2164
2165         https://bugs.webkit.org/show_bug.cgi?id=23906
2166         Add custom V8 bindings for HTMLPlugInElement.
2167
2168         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: Added.
2169         (WebCore::NAMED_PROPERTY_GETTER):
2170         (WebCore::NAMED_PROPERTY_SETTER):
2171         (WebCore::CALLBACK_FUNC_DECL):
2172         (WebCore::INDEXED_PROPERTY_GETTER):
2173         (WebCore::INDEXED_PROPERTY_SETTER):
2174
2175 2009-02-12  Gustavo Noronha Silva  <gns@gnome.org>
2176
2177         Reviewed by Mark Rowe.
2178
2179         [GTK] Soup backend must handle upload of multiple files
2180         https://bugs.webkit.org/show_bug.cgi?id=18343
2181
2182         * platform/network/soup/ResourceHandleSoup.cpp:
2183         (WebCore::):
2184         (WebCore::freeFileMapping):
2185         (WebCore::ResourceHandle::startHttp): Support multipart request bodies
2186         mmap'ing files to be uploaded.
2187
2188 2009-02-12  Adam Treat  <adam.treat@torchmobile.com>
2189
2190         Fix the Qt build following r40871 which changed RenderObject::element()
2191         into RenderObject::node().
2192
2193         * platform/qt/RenderThemeQt.cpp:
2194         (WebCore::RenderThemeQt::getMediaElementFromRenderObject):
2195         (WebCore::RenderThemeQt::getMediaControlForegroundColor):
2196
2197 2009-02-12  Alexey Proskuryakov  <ap@webkit.org>
2198
2199         Build fix.
2200
2201         * platform/graphics/transforms/RotateTransformOperation.cpp: Include <algorithm>.
2202
2203 2009-02-12  Jian Li  <jianli@chromium.org>
2204
2205         Reviewed by Alexey Proskuryakov.
2206
2207         Change worker code to use different proxy class pointers.
2208         https://bugs.webkit.org/show_bug.cgi?id=23859
2209
2210         This is a step towards using separate proxies in multi-process implementation.
2211
2212         * bindings/js/WorkerScriptController.cpp:
2213         (WebCore::WorkerScriptController::evaluate):
2214         * dom/Worker.cpp:
2215         (WebCore::Worker::Worker):
2216         (WebCore::Worker::~Worker):
2217         (WebCore::Worker::postMessage):
2218         (WebCore::Worker::terminate):
2219         (WebCore::Worker::hasPendingActivity):
2220         (WebCore::Worker::notifyFinished):
2221         (WebCore::Worker::dispatchMessage):
2222         * dom/Worker.h:
2223         * dom/WorkerContext.cpp:
2224         (WebCore::WorkerContext::~WorkerContext):
2225         (WebCore::WorkerContext::reportException):
2226         (WebCore::WorkerContext::addMessage):
2227         (WebCore::WorkerContext::postMessage):
2228         (WebCore::WorkerContext::dispatchMessage):
2229         * dom/WorkerContext.h:
2230         * dom/WorkerContextProxy.h:
2231         * dom/WorkerMessagingProxy.cpp:
2232         (WebCore::MessageWorkerContextTask::performTask):
2233         (WebCore::MessageWorkerTask::performTask):
2234         (WebCore::WorkerContextProxy::create):
2235         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
2236         (WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
2237         (WebCore::WorkerMessagingProxy::startWorkerContext):
2238         (WebCore::postConsoleMessageTask):
2239         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
2240         (WebCore::WorkerMessagingProxy::workerThreadCreated):
2241         * dom/WorkerMessagingProxy.h:
2242         * dom/WorkerObjectProxy.h:
2243         * dom/WorkerThread.cpp:
2244         (WebCore::WorkerThread::create):
2245         (WebCore::WorkerThread::WorkerThread):
2246         (WebCore::WorkerThread::workerThread):
2247         * dom/WorkerThread.h:
2248         (WebCore::WorkerThread::workerObjectProxy):
2249         * loader/WorkerThreadableLoader.cpp:
2250         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2251
2252 2009-02-12  David Levin  <levin@chromium.org>
2253
2254         Reviewed by Alexey Proskuryakov.
2255
2256         Bug 23688: ThreadableLoader needs a sync implementation for Workers.
2257         <https://bugs.webkit.org/show_bug.cgi?id=23688>
2258
2259         Add ResourceError to ThreadableLoaderClient.
2260
2261         No observable change in behavior, so no test.
2262
2263         * loader/DocumentThreadableLoader.cpp:
2264         (WebCore::DocumentThreadableLoader::create):
2265         (WebCore::DocumentThreadableLoader::willSendRequest):
2266         (WebCore::DocumentThreadableLoader::didFail):
2267         * loader/ThreadableLoaderClient.h:
2268         (WebCore::ThreadableLoaderClient::didFail):
2269         (WebCore::ThreadableLoaderClient::didFailWillSendRequestCheck):
2270         * loader/ThreadableLoaderClientWrapper.h:
2271         (WebCore::ThreadableLoaderClientWrapper::didFail):
2272         * loader/WorkerThreadableLoader.cpp:
2273         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2274         (WebCore::workerContextDidFail):
2275         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
2276         * loader/WorkerThreadableLoader.h:
2277         * xml/XMLHttpRequest.cpp:
2278         (WebCore::XMLHttpRequest::didFail):
2279         (WebCore::XMLHttpRequest::didFailWillSendRequestCheck):
2280         * xml/XMLHttpRequest.h:
2281
2282 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
2283
2284         Reviewed by Dave Hyatt
2285
2286         Fix the build on Leopard with ACCELERATED_COMPOSITING turned on.
2287
2288         * WebCore.xcodeproj/project.pbxproj:
2289         FloatPoint3D needs to be a private header, since it's included by GraphicsLayer.h
2290         * platform/graphics/mac/GraphicsLayerCA.mm:
2291         (WebCore::getTransformFunctionValue):
2292         (WebCore::caValueFunctionSupported):
2293         (WebCore::GraphicsLayerCA::setAnchorPoint):
2294         (WebCore::GraphicsLayerCA::setPreserves3D):
2295         (WebCore::GraphicsLayerCA::setContentsToImage):
2296         (WebCore::GraphicsLayerCA::setBasicAnimation):
2297         (WebCore::GraphicsLayerCA::setKeyframeAnimation):
2298         * rendering/RenderLayer.h:
2299         (WebCore::RenderLayer::isRootLayer):
2300         Fix isRootLayer to return true for the renderView's layer, not the root
2301         renderer's layer.
2302
2303 2009-02-11  Adele Peterson  <adele@apple.com>
2304
2305         Reviewed by Oliver Hunt.
2306
2307         Fix for https://bugs.webkit.org/show_bug.cgi?id=23910
2308         <rdar://problem/6160546> REGRESSION: In Full page mode, movie controller hides when I drag the knob if movie is playing
2309
2310         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::forwardEvent):
2311         When we get a mouseOut event, consider the mouse as still within the RenderMedia if the relatedTarget is a descendant.
2312
2313 2009-02-11  David Hyatt  <hyatt@apple.com>
2314
2315         Remove all of the inline box wrapper functions from RenderObject, since they only apply to RenderBox.  Devirtualize the functions.
2316         Patch all of the call sites to convert to a RenderBox.
2317
2318         Reviewed by Simon Fraser
2319
2320         * dom/Position.cpp:
2321         (WebCore::nextRenderedEditable):
2322         (WebCore::previousRenderedEditable):
2323         (WebCore::Position::getInlineBoxAndOffset):
2324         * rendering/InlineBox.cpp:
2325         (WebCore::InlineBox::deleteLine):
2326         (WebCore::InlineBox::extractLine):
2327         (WebCore::InlineBox::attachLine):
2328         * rendering/RenderLineBoxList.cpp:
2329         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
2330         * rendering/RenderObject.cpp:
2331         * rendering/RenderObject.h:
2332         * rendering/RenderObjectChildList.cpp:
2333         (WebCore::RenderObjectChildList::removeChildNode):
2334         * rendering/RenderTextControl.cpp:
2335         (WebCore::RenderTextControl::textWithHardLineBreaks):
2336
2337 2009-02-11  David Hyatt  <hyatt@apple.com>
2338
2339         Eliminate createInlineBox and dirtyLineBoxes from RenderObject.  These functions have been devirtualized.
2340         The single call site now calls a helper function that just bit checks and casts before calling the correct
2341         type.  RenderBlock's dirtyLineBoxes function was dead code (caused by the RenderFlow deletion), so it has
2342         just been removed.
2343
2344         Reviewed by Eric Seidel
2345
2346         * rendering/RenderBR.cpp:
2347         * rendering/RenderBR.h:
2348         * rendering/RenderBlock.cpp:
2349         (WebCore::RenderBlock::createRootInlineBox):
2350         * rendering/RenderBlock.h:
2351         * rendering/RenderBox.cpp:
2352         (WebCore::RenderBox::createInlineBox):
2353         * rendering/RenderBox.h:
2354         * rendering/RenderCounter.cpp:
2355         * rendering/RenderCounter.h:
2356         * rendering/RenderInline.cpp:
2357         (WebCore::RenderInline::createInlineFlowBox):
2358         * rendering/RenderInline.h:
2359         * rendering/RenderObject.cpp:
2360         * rendering/RenderObject.h:
2361         * rendering/RenderSVGInlineText.cpp:
2362         (WebCore::RenderSVGInlineText::createTextBox):
2363         * rendering/RenderSVGInlineText.h:
2364         (WebCore::RenderSVGInlineText::isSVGText):
2365         * rendering/RenderText.cpp:
2366         (WebCore::RenderText::createTextBox):
2367         (WebCore::RenderText::createInlineTextBox):
2368         * rendering/RenderText.h:
2369         * rendering/bidi.cpp:
2370         (WebCore::createInlineBoxForRenderer):
2371         (WebCore::RenderBlock::createLineBoxes):
2372         (WebCore::RenderBlock::constructLine):
2373         (WebCore::RenderBlock::layoutInlineChildren):
2374
2375 2009-02-11  Chris Marrin  <cmarrin@apple.com>
2376
2377         Reviewed by Dave Hyatt.
2378
2379         https://bugs.webkit.org/show_bug.cgi?id=23905
2380
2381         Adds support for 3D CSS properties (transform-style-3d, perspective,
2382         perspective-origin, and backface-visibility) to RenderStyle and friends
2383
2384         * platform/graphics/transforms/TransformOperation.h
2385         * rendering/style/RenderStyle.cpp:
2386         (WebCore::RenderStyle::diff):
2387         (WebCore::RenderStyle::applyTransform):
2388         * rendering/style/RenderStyle.h:
2389         (WebCore::InheritedFlags::transformOriginZ):
2390         (WebCore::InheritedFlags::hasTransformRelatedProperty):
2391         (WebCore::InheritedFlags::transformStyle3D):
2392         (WebCore::InheritedFlags::backfaceVisibility):
2393         (WebCore::InheritedFlags::perspective):
2394         (WebCore::InheritedFlags::perspectiveOriginX):
2395         (WebCore::InheritedFlags::perspectiveOriginY):
2396         (WebCore::InheritedFlags::setTransformOriginZ):
2397         (WebCore::InheritedFlags::setTransformStyle3D):
2398         (WebCore::InheritedFlags::setBackfaceVisibility):
2399         (WebCore::InheritedFlags::setPerspective):
2400         (WebCore::InheritedFlags::setPerspectiveOriginX):
2401         (WebCore::InheritedFlags::setPerspectiveOriginY):
2402         (WebCore::InheritedFlags::initialTransformOriginZ):
2403         (WebCore::InheritedFlags::initialTransformStyle3D):
2404         (WebCore::InheritedFlags::initialBackfaceVisibility):
2405         (WebCore::InheritedFlags::initialPerspective):
2406         (WebCore::InheritedFlags::initialPerspectiveOriginX):
2407         (WebCore::InheritedFlags::initialPerspectiveOriginY):
2408         * rendering/style/RenderStyleConstants.h:
2409         (WebCore::):
2410         * rendering/style/StyleRareNonInheritedData.cpp:
2411         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2412         (WebCore::StyleRareNonInheritedData::operator==):
2413         * rendering/style/StyleRareNonInheritedData.h:
2414         * rendering/style/StyleTransformData.cpp:
2415         (WebCore::StyleTransformData::StyleTransformData):
2416         (WebCore::StyleTransformData::operator==):
2417         * rendering/style/StyleTransformData.h:
2418
2419 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
2420
2421         No review.
2422
2423         Fix ACCELERATED_COMPOSITING build.
2424
2425         * rendering/RenderLayerBacking.cpp:
2426         (WebCore::RenderLayerBacking::createGraphicsLayer):
2427         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2428         * rendering/RenderLayerCompositor.cpp:
2429         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
2430
2431 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
2432
2433         Reviewed by Dave Hyatt
2434
2435         https://bugs.webkit.org/show_bug.cgi?id=23862
2436
2437         Add a bit on RenderStyle that gets set when running accelerated
2438         transitions of transform or opacity. These ensure that styles
2439         compare as different during the transition, so that interruption
2440         can be detected reliably.
2441
2442         * page/animation/ImplicitAnimation.cpp:
2443         (WebCore::ImplicitAnimation::animate):
2444         * rendering/style/RenderStyle.h:
2445         (WebCore::InheritedFlags::isRunningAcceleratedAnimation):
2446         (WebCore::InheritedFlags::setIsRunningAcceleratedAnimation):
2447         * rendering/style/StyleRareNonInheritedData.cpp:
2448         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2449         (WebCore::StyleRareNonInheritedData::operator==):
2450         * rendering/style/StyleRareNonInheritedData.h:
2451
2452 2009-02-11  David Hyatt  <hyatt@apple.com>
2453
2454         Eliminate the virtual position() function from RenderObject.  Rename the position() overrides
2455         in RenderText and RenderBox to positionLineBox and devirtualize them.
2456
2457         Patch the one call site to just check for isText() and isBox() and call the methods directly.
2458
2459         Remove some unnecessary overrides of position() on table sections and rows.
2460
2461         Reviewed by Simon Fraser
2462
2463         * rendering/RenderBox.cpp:
2464         (WebCore::RenderBox::positionLineBox):
2465         * rendering/RenderBox.h:
2466         * rendering/RenderObject.h:
2467         * rendering/RenderSVGRoot.cpp:
2468         * rendering/RenderSVGRoot.h:
2469         * rendering/RenderTableRow.h:
2470         (WebCore::RenderTableRow::lineHeight):
2471         * rendering/RenderTableSection.h:
2472         (WebCore::RenderTableSection::lineHeight):
2473         * rendering/RenderText.cpp:
2474         (WebCore::RenderText::positionLineBox):
2475         * rendering/RenderText.h:
2476         * rendering/bidi.cpp:
2477         (WebCore::RenderBlock::computeVerticalPositionsForLine):
2478
2479 2009-02-11  Dimitri Glazkov  <dglazkov@chromium.org>
2480
2481         Reviewed by Eric Seidel.
2482
2483         https://bugs.webkit.org/show_bug.cgi?id=23901
2484         Add HTML options/collections V8 custom bindings.
2485
2486         * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Added.
2487         (WebCore::getNamedItems):
2488         (WebCore::getItem):
2489         (WebCore::NAMED_PROPERTY_GETTER):
2490         (WebCore::CALLBACK_FUNC_DECL):
2491         * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Added.
2492         (WebCore::NAMED_PROPERTY_GETTER):
2493         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
2494         (WebCore::ACCESSOR_GETTER):
2495         (WebCore::ACCESSOR_SETTER):
2496         (WebCore::CALLBACK_FUNC_DECL):
2497         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2498         (WebCore::CALLBACK_FUNC_DECL):
2499         (WebCore::ACCESSOR_SETTER):
2500         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Added.
2501         (WebCore::CALLBACK_FUNC_DECL):
2502         (WebCore::removeElement):
2503         * bindings/v8/custom/V8HTMLSelectElementCustom.h: Added.
2504         * bindings/v8/custom/V8NamedNodesCollection.cpp: Added.
2505         (WebCore::V8NamedNodesCollection::item):
2506         (WebCore::V8NamedNodesCollection::itemWithName):
2507         * bindings/v8/custom/V8NamedNodesCollection.h: Added.
2508         (WebCore::V8NamedNodesCollection::V8NamedNodesCollection):
2509         (WebCore::V8NamedNodesCollection::length):
2510
2511 2009-02-11  Dimitri Dupuis-latour  <dupuislatour@apple.com>
2512
2513         Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645).
2514         This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown.
2515
2516         Reviewed by Timothy Hatcher.
2517
2518         * inspector/InspectorClient.h:
2519         * inspector/InspectorController.cpp:
2520         (WebCore::hiddenPanels):
2521         (WebCore::InspectorController::hiddenPanels):
2522         (WebCore::InspectorController::windowScriptObjectAvailable):
2523         * inspector/InspectorController.h:
2524         * inspector/front-end/inspector.js:
2525         (WebInspector.loaded):
2526         * loader/EmptyClients.h:
2527         (WebCore::EmptyInspectorClient::hiddenPanels):
2528
2529 2009-02-11  David Hyatt  <hyatt@apple.com>
2530
2531         Combine RenderObject::element() and RenderObject::node() into a single function.
2532         node() now has the "anonymous bit" checking behavior of element() and will
2533         return 0 for anonymous content.  This patch switches all callers of element()
2534         to node() and patches old callers of node() to deal with situations where they
2535         did not expect node() to be 0.  A bunch of node() calls were calling stuff on
2536         Document that they clearly didn't intend, so overall this is a nice improvement.
2537
2538         Reviewed by Sam Weinig
2539
2540         * dom/ContainerNode.cpp:
2541         (WebCore::ContainerNode::getUpperLeftCorner):
2542         * dom/Element.cpp:
2543         (WebCore::Element::offsetParent):
2544         * dom/Position.cpp:
2545         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
2546         * editing/ModifySelectionListLevel.cpp:
2547         (WebCore::getStartEndListChildren):
2548         (WebCore::IncreaseSelectionListLevelCommand::doApply):
2549         (WebCore::DecreaseSelectionListLevelCommand::doApply):
2550         * editing/TextIterator.cpp:
2551         (WebCore::TextIterator::advance):
2552         * editing/VisiblePosition.cpp:
2553         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
2554         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
2555         * editing/visible_units.cpp:
2556         (WebCore::startPositionForLine):
2557         (WebCore::endPositionForLine):
2558         * page/AXObjectCache.cpp:
2559         (WebCore::AXObjectCache::get):
2560         * page/AccessibilityList.cpp:
2561         (WebCore::AccessibilityList::isUnorderedList):
2562         (WebCore::AccessibilityList::isOrderedList):
2563         (WebCore::AccessibilityList::isDefinitionList):
2564         * page/AccessibilityListBox.cpp:
2565         (WebCore::AccessibilityListBox::doAccessibilityHitTest):
2566         * page/AccessibilityRenderObject.cpp:
2567         (WebCore::AccessibilityRenderObject::isPasswordField):
2568         (WebCore::AccessibilityRenderObject::isFileUploadButton):
2569         (WebCore::AccessibilityRenderObject::isInputImage):
2570         (WebCore::AccessibilityRenderObject::isMultiSelect):
2571         (WebCore::AccessibilityRenderObject::isControl):
2572         (WebCore::AccessibilityRenderObject::getAttribute):
2573         (WebCore::AccessibilityRenderObject::anchorElement):
2574         (WebCore::AccessibilityRenderObject::actionElement):
2575         (WebCore::AccessibilityRenderObject::mouseButtonListener):
2576         (WebCore::AccessibilityRenderObject::helpText):
2577         (WebCore::AccessibilityRenderObject::textUnderElement):
2578         (WebCore::AccessibilityRenderObject::hasIntValue):
2579         (WebCore::AccessibilityRenderObject::intValue):
2580         (WebCore::AccessibilityRenderObject::labelElementContainer):
2581         (WebCore::AccessibilityRenderObject::title):
2582         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2583         (WebCore::AccessibilityRenderObject::boundingBoxRect):
2584         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
2585         (WebCore::AccessibilityRenderObject::titleUIElement):
2586         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2587         (WebCore::AccessibilityRenderObject::text):
2588         (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange):
2589         (WebCore::AccessibilityRenderObject::accessKey):
2590         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
2591         (WebCore::AccessibilityRenderObject::url):
2592         (WebCore::AccessibilityRenderObject::isFocused):
2593         (WebCore::AccessibilityRenderObject::setFocused):
2594         (WebCore::AccessibilityRenderObject::setValue):
2595         (WebCore::AccessibilityRenderObject::isEnabled):
2596         (WebCore::AccessibilityRenderObject::visiblePositionRange):
2597         (WebCore::AccessibilityRenderObject::index):
2598         (WebCore::AccessibilityRenderObject::activeDescendant):
2599         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
2600         (WebCore::AccessibilityRenderObject::observableObject):
2601         (WebCore::AccessibilityRenderObject::roleValue):
2602         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
2603         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
2604         * page/AccessibilityTable.cpp:
2605         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2606         (WebCore::AccessibilityTable::title):
2607         * page/AccessibilityTableCell.cpp:
2608         (WebCore::AccessibilityTableCell::titleUIElement):
2609         * page/AccessibilityTableColumn.cpp:
2610         (WebCore::AccessibilityTableColumn::headerObjectForSection):
2611         * page/AccessibilityTableRow.cpp:
2612         (WebCore::AccessibilityTableRow::headerObject):
2613         * page/EventHandler.cpp:
2614         (WebCore::EventHandler::dispatchMouseEvent):
2615         (WebCore::EventHandler::canMouseDownStartSelect):
2616         (WebCore::EventHandler::canMouseDragExtendSelect):
2617         (WebCore::EventHandler::shouldDragAutoNode):
2618         * page/Frame.cpp:
2619         (WebCore::Frame::searchForLabelsAboveCell):
2620         (WebCore::Frame::setFocusedNodeIfNeeded):
2621         * page/FrameView.cpp:
2622         (WebCore::FrameView::updateOverflowStatus):
2623         * page/animation/AnimationBase.cpp:
2624         (WebCore::AnimationBase::updateStateMachine):
2625         * page/animation/AnimationController.cpp:
2626         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
2627         (WebCore::AnimationController::cancelAnimations):
2628         (WebCore::AnimationController::updateAnimations):
2629         * page/animation/KeyframeAnimation.cpp:
2630         (WebCore::KeyframeAnimation::KeyframeAnimation):
2631         (WebCore::KeyframeAnimation::endAnimation):
2632         * page/mac/AccessibilityObjectWrapper.mm:
2633         (blockquoteLevel):
2634         (AXAttributeStringSetHeadingLevel):
2635         * page/mac/FrameMac.mm:
2636         (WebCore::Frame::searchForNSLabelsAboveCell):
2637         * rendering/InlineFlowBox.cpp:
2638         (WebCore::InlineFlowBox::verticallyAlignBoxes):
2639         (WebCore::InlineFlowBox::paint):
2640         (WebCore::shouldDrawTextDecoration):
2641         * rendering/InlineTextBox.cpp:
2642         (WebCore::InlineTextBox::paintDocumentMarkers):
2643         * rendering/RenderBR.cpp:
2644         (WebCore::RenderBR::positionForCoordinates):
2645         * rendering/RenderBlock.cpp:
2646         (WebCore::RenderBlock::layoutBlock):
2647         (WebCore::RenderBlock::handleRunInChild):
2648         (WebCore::RenderBlock::paintObject):
2649         (WebCore::RenderBlock::isSelectionRoot):
2650         (WebCore::RenderBlock::rightmostPosition):
2651         (WebCore::RenderBlock::positionForBox):
2652         (WebCore::RenderBlock::positionForRenderer):
2653         (WebCore::RenderBlock::positionForCoordinates):
2654         (WebCore::RenderBlock::hasLineIfEmpty):
2655         (WebCore::RenderBlock::updateFirstLetter):
2656         (WebCore::RenderBlock::updateHitTestResult):
2657         (WebCore::RenderBlock::addFocusRingRects):
2658         * rendering/RenderBox.cpp:
2659         (WebCore::RenderBox::styleWillChange):
2660         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
2661         (WebCore::RenderBox::paintRootBoxDecorations):
2662         (WebCore::RenderBox::positionForCoordinates):
2663         * rendering/RenderButton.cpp:
2664         (WebCore::RenderButton::updateFromElement):
2665         (WebCore::RenderButton::canHaveChildren):
2666         * rendering/RenderCounter.cpp:
2667         (WebCore::planCounter):
2668         * rendering/RenderFieldset.cpp:
2669         (WebCore::RenderFieldset::findLegend):
2670         * rendering/RenderFlexibleBox.cpp:
2671         (WebCore::RenderFlexibleBox::layoutVerticalBox):
2672         * rendering/RenderForeignObject.cpp:
2673         (WebCore::RenderForeignObject::translationForAttributes):
2674         (WebCore::RenderForeignObject::calculateLocalTransform):
2675         * rendering/RenderFrame.h:
2676         (WebCore::RenderFrame::element):
2677         * rendering/RenderImage.cpp:
2678         (WebCore::RenderImage::paintReplaced):
2679         (WebCore::RenderImage::imageMap):
2680         (WebCore::RenderImage::nodeAtPoint):
2681         (WebCore::RenderImage::updateAltText):
2682         * rendering/RenderInline.cpp:
2683         (WebCore::RenderInline::cloneInline):
2684         (WebCore::RenderInline::updateHitTestResult):
2685         * rendering/RenderLayer.cpp:
2686         (WebCore::RenderLayer::isTransparent):
2687         (WebCore::RenderLayer::scrollToOffset):
2688         (WebCore::RenderLayer::resize):
2689         (WebCore::RenderLayer::createScrollbar):
2690         (WebCore::RenderLayer::updateOverflowStatus):
2691         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2692         (WebCore::RenderLayer::enclosingElement):
2693         (WebCore::RenderLayer::updateHoverActiveState):
2694         (WebCore::RenderLayer::updateScrollCornerStyle):
2695         (WebCore::RenderLayer::updateResizerStyle):
2696         * rendering/RenderLayer.h:
2697         (WebCore::RenderLayer::isRootLayer):
2698         * rendering/RenderListItem.cpp:
2699         (WebCore::getParentOfFirstLineBox):
2700         * rendering/RenderMarquee.cpp:
2701         (WebCore::RenderMarquee::marqueeSpeed):
2702         * rendering/RenderObject.cpp:
2703         (WebCore::RenderObject::RenderObject):
2704         (WebCore::RenderObject::isBody):
2705         (WebCore::RenderObject::isHR):
2706         (WebCore::RenderObject::isHTMLMarquee):
2707         (WebCore::RenderObject::isEditable):
2708         (WebCore::RenderObject::addPDFURLRect):
2709         (WebCore::RenderObject::showTreeForThis):
2710         (WebCore::RenderObject::draggableNode):
2711         (WebCore::RenderObject::hasOutlineAnnotation):
2712         (WebCore::RenderObject::positionForCoordinates):
2713         (WebCore::RenderObject::updateDragState):
2714         (WebCore::RenderObject::updateHitTestResult):
2715         (WebCore::RenderObject::getUncachedPseudoStyle):
2716         (WebCore::RenderObject::getTextDecorationColors):
2717         (WebCore::RenderObject::caretMaxOffset):
2718         (WebCore::RenderObject::offsetParent):
2719         * rendering/RenderObject.h:
2720         (WebCore::RenderObject::isRoot):
2721         (WebCore::RenderObject::isInlineContinuation):
2722         (WebCore::RenderObject::node):
2723         (WebCore::RenderObject::setNode):
2724         * rendering/RenderObjectChildList.cpp:
2725         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
2726         * rendering/RenderPart.cpp:
2727         (WebCore::RenderPart::updateWidgetPosition):
2728         * rendering/RenderPartObject.cpp:
2729         (WebCore::RenderPartObject::updateWidget):
2730         (WebCore::RenderPartObject::viewCleared):
2731         * rendering/RenderPath.cpp:
2732         (WebCore::RenderPath::calculateLocalTransform):
2733         (WebCore::RenderPath::layout):
2734         (WebCore::RenderPath::paint):
2735         (WebCore::RenderPath::drawMarkersIfNeeded):
2736         * rendering/RenderReplaced.cpp:
2737         (WebCore::RenderReplaced::positionForCoordinates):
2738         (WebCore::RenderReplaced::isSelected):
2739         * rendering/RenderSVGGradientStop.cpp:
2740         (WebCore::RenderSVGGradientStop::gradientElement):
2741         * rendering/RenderSVGImage.cpp:
2742         (WebCore::RenderSVGImage::calculateLocalTransform):
2743         * rendering/RenderSVGInlineText.cpp:
2744         (WebCore::RenderSVGInlineText::positionForCoordinates):
2745         * rendering/RenderSVGRoot.cpp:
2746         (WebCore::RenderSVGRoot::layout):
2747         (WebCore::RenderSVGRoot::applyContentTransforms):
2748         (WebCore::RenderSVGRoot::paint):
2749         (WebCore::RenderSVGRoot::calcViewport):
2750         (WebCore::RenderSVGRoot::absoluteTransform):
2751         * rendering/RenderSVGText.cpp:
2752         (WebCore::RenderSVGText::calculateLocalTransform):
2753         (WebCore::RenderSVGText::layout):
2754         * rendering/RenderSVGTextPath.cpp:
2755         (WebCore::RenderSVGTextPath::layoutPath):
2756         (WebCore::RenderSVGTextPath::startOffset):
2757         (WebCore::RenderSVGTextPath::exactAlignment):
2758         (WebCore::RenderSVGTextPath::stretchMethod):
2759         * rendering/RenderSVGTransformableContainer.cpp:
2760         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
2761         * rendering/RenderSVGViewportContainer.cpp:
2762         (WebCore::RenderSVGViewportContainer::calcViewport):
2763         (WebCore::RenderSVGViewportContainer::viewportTransform):
2764         (WebCore::RenderSVGViewportContainer::nodeAtPoint):
2765         * rendering/RenderTable.cpp:
2766         (WebCore::RenderTable::addChild):
2767         * rendering/RenderTableCell.cpp:
2768         (WebCore::RenderTableCell::updateFromElement):
2769         (WebCore::RenderTableCell::calcPrefWidths):
2770         * rendering/RenderTableCol.cpp:
2771         (WebCore::RenderTableCol::updateFromElement):
2772         * rendering/RenderTableRow.cpp:
2773         (WebCore::RenderTableRow::addChild):
2774         * rendering/RenderTableSection.cpp:
2775         (WebCore::RenderTableSection::addChild):
2776         * rendering/RenderText.cpp:
2777         (WebCore::RenderText::originalText):
2778         (WebCore::RenderText::positionForCoordinates):
2779         * rendering/RenderTextControlMultiLine.cpp:
2780         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
2781         * rendering/RenderTextControlSingleLine.cpp:
2782         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
2783         * rendering/RenderTextFragment.cpp:
2784         (WebCore::RenderTextFragment::originalText):
2785         (WebCore::RenderTextFragment::previousCharacter):
2786         * rendering/RenderTheme.cpp:
2787         (WebCore::RenderTheme::isActive):
2788         (WebCore::RenderTheme::isChecked):
2789         (WebCore::RenderTheme::isIndeterminate):
2790         (WebCore::RenderTheme::isEnabled):
2791         (WebCore::RenderTheme::isFocused):
2792         (WebCore::RenderTheme::isPressed):
2793         (WebCore::RenderTheme::isReadOnlyControl):
2794         (WebCore::RenderTheme::isHovered):
2795         * rendering/RenderThemeMac.mm:
2796         (WebCore::RenderThemeMac::updatePressedState):
2797         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
2798         (WebCore::RenderThemeMac::paintMediaMuteButton):
2799         (WebCore::RenderThemeMac::paintMediaPlayButton):
2800         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
2801         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
2802         (WebCore::RenderThemeMac::paintMediaSliderTrack):
2803         (WebCore::RenderThemeMac::paintMediaSliderThumb):
2804         (WebCore::RenderThemeMac::paintMediaTimelineContainer):
2805         (WebCore::RenderThemeMac::paintMediaCurrentTime):
2806         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
2807         * rendering/RenderThemeSafari.cpp:
2808         (WebCore::RenderThemeSafari::paintMediaMuteButton):
2809         (WebCore::RenderThemeSafari::paintMediaPlayButton):
2810         (WebCore::RenderThemeSafari::paintMediaSliderTrack):
2811         * rendering/RenderTreeAsText.cpp:
2812         (WebCore::operator<<):
2813         (WebCore::writeSelection):
2814         * rendering/RenderWidget.cpp:
2815         (WebCore::RenderWidget::setWidgetGeometry):
2816         (WebCore::RenderWidget::updateWidgetPosition):
2817         (WebCore::RenderWidget::nodeAtPoint):
2818         * rendering/RootInlineBox.cpp:
2819         (WebCore::isEditableLeaf):
2820         * rendering/SVGRenderSupport.cpp:
2821         (WebCore::prepareToRenderSVGContent):
2822         * rendering/SVGRenderTreeAsText.cpp:
2823         (WebCore::write):
2824         * rendering/SVGRootInlineBox.cpp:
2825         (WebCore::SVGRootInlineBox::buildLayoutInformation):
2826         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
2827         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2828         (WebCore::SVGRootInlineBox::buildTextChunks):
2829         * rendering/style/SVGRenderStyle.cpp:
2830         (WebCore::SVGRenderStyle::cssPrimitiveToLength):
2831         * svg/SVGFont.cpp:
2832         (WebCore::SVGTextRunWalker::walk):
2833         (WebCore::floatWidthOfSubStringUsingSVGFont):
2834         (WebCore::Font::drawTextUsingSVGFont):
2835         * svg/SVGTextContentElement.cpp:
2836         (WebCore::findInlineTextBoxInTextChunks):
2837         * svg/graphics/SVGPaintServer.cpp:
2838         (WebCore::SVGPaintServer::fillPaintServer):
2839         (WebCore::SVGPaintServer::strokePaintServer):
2840
2841 2009-02-11  Brady Eidson  <beidson@apple.com>
2842
2843         Reviewed by Darin Adler
2844
2845         <rdar://problem/3541409> - Further FrameLoader and page cache cleanup
2846
2847         * history/CachedFrame.cpp:
2848         (WebCore::CachedFrame::restore): Moved updatePlatformScriptObjects() here.
2849
2850         * loader/FrameLoader.cpp:
2851         (WebCore::FrameLoader::commitProvisionalLoad): Rolled opened() into this method.  This method was
2852           the only caller and - in the future - will benefit from doing parts of opened()'s work differently.
2853         (WebCore::FrameLoader::open): Split off per-frame logic into open(CachedFrame&) method.
2854         (WebCore::FrameLoader::closeAndRemoveChild): Added.  Do the non-tree related cleanup that
2855           FrameTree::removeChild() used to do.
2856         (WebCore::FrameLoader::detachFromParent): Call ::closeAndRemoveChild() instead.
2857         (WebCore::FrameLoader::cachePageForHistoryItem): Perform the "can cache page" check here.
2858         * loader/FrameLoader.h:
2859
2860         * page/FrameTree.cpp:
2861         (WebCore::FrameTree::removeChild): Just remove the Frame from the tree.  Closing it and other
2862           cleanup is the responsibility of the FrameLoader.
2863         * page/FrameTree.h:
2864         (WebCore::FrameTree::detachFromParent): Added to just clear a Frame's parent pointer
2865
2866 2009-02-11  Scott Violet  <sky@google.com>
2867
2868         Reviewed by Eric Seidel.
2869
2870         https://bugs.webkit.org/show_bug.cgi?id=23882
2871         GraphicsContextSkia draws round rects as solid rects
2872
2873         Fixes two bugs in Skia's GraphicsContext::fillRoundedRect:
2874         . fillRoundedRect had an extra call to fillRect, resulting in always
2875           drawing a solid rectangle.
2876         . if the total radius along a given axis is greater than the size of
2877           the axis to draw, a solid rect should be drawn.
2878
2879         The layout tests LayoutTests/fast/css/shadow-multiple.html and
2880         LayoutTests/fast/box-shadow/basic-shadows.html cover this.
2881
2882         * platform/graphics/skia/GraphicsContextSkia.cpp:
2883         (WebCore::GraphicsContext::fillRoundedRect):
2884
2885 2009-02-11  Julien Chaffraix  <jchaffraix@webkit.org>
2886
2887         Reviewed by Eric Seidel.
2888
2889         Bug 23536: Auto-generate HTMLElementFactory
2890
2891         Remove the HTMLElementFactory files. Farewell.
2892
2893         * html/HTMLElementFactory.cpp: Removed.
2894         * html/HTMLElementFactory.h: Removed.
2895
2896 2009-02-11  Julien Chaffraix  <jchaffraix@webkit.org>
2897
2898         Reviewed by Eric Seidel.
2899
2900         Bug 23536: Auto-generate HTMLElementFactory
2901
2902         Make the platform auto-generate the HTMLElementFactory.
2903
2904         * DerivedSources.make:
2905         * GNUmakefile.am:
2906         * WebCore.pro:
2907         * WebCore.scons:
2908         * WebCore.vcproj/WebCore.vcproj:
2909         * WebCore.xcodeproj/project.pbxproj:
2910         * WebCoreSources.bkl:
2911         * webcore-base.bkl:
2912
2913 2009-02-11  Sam Weinig  <sam@webkit.org>
2914
2915         Reviewed by David Hyatt.
2916
2917         Remove unneeded ASSERTS.
2918
2919         * rendering/RenderBox.h:
2920         (WebCore::RenderBox::width):
2921         (WebCore::RenderBox::height):
2922         (WebCore::RenderBox::size):
2923         (WebCore::RenderBox::frameRect):
2924
2925 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
2926
2927         Reviewed by Dave Hyatt
2928
2929         Add function to RenderStyle to ask whether a background image has been specified.
2930
2931         * rendering/style/RenderStyle.h:
2932         (WebCore::InheritedFlags::hasBackgroundImage):
2933
2934 2009-02-11  Simon Fraser  <simon.fraser@apple.com>
2935
2936         Reviewed by Dave Hyatt
2937
2938         https://bugs.webkit.org/show_bug.cgi?id=23548
2939
2940         When opacity or transform change on an object which has a compositing layer,
2941         avoid repainting the layer.
2942
2943         Added a new StyleDifference value, StyleDifferenceRecompositeLayer, which indicates
2944         that the only thing styleChanged() has to do is to update composited properties of
2945         the layer. RenderStyle::diff() now has an out param for a bitmask of "context sensitive"
2946         properties, currently for opacity and transform. When one of these changes, we need
2947         to see if we have a compositing layer before we decide whether to layout/repaint,
2948         or just update the composited layer, via adjustStyleDifference().
2949
2950         * rendering/RenderObject.cpp:
2951         (WebCore::RenderObject::adjustStyleDifference):
2952         (WebCore::RenderObject::setStyle):
2953         (WebCore::RenderObject::styleDidChange):
2954         * rendering/RenderObject.h:
2955         * rendering/style/RenderStyle.cpp:
2956         (WebCore::RenderStyle::diff):
2957         * rendering/style/RenderStyle.h:
2958         * rendering/style/RenderStyleConstants.h:
2959         (WebCore::):
2960
2961 2009-02-11  Alexey Proskuryakov  <ap@webkit.org>
2962
2963         Reviewed by Darin Adler.
2964
2965         <rdar://problem/6562920> Pasted text should be normalized to NFC
2966
2967         Testing requires putting non-HTML content in pasteboard, so it cannot be done with WebKit alone.
2968
2969         * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::plainText): Route the text through
2970         -[NSString precomposedStringWithCanonicalMapping].
2971
2972 2009-02-10  Chris Marrin  <cmarrin@apple.com>
2973
2974         Reviewed by Simon Fraser.
2975
2976         https://bugs.webkit.org/show_bug.cgi?id=23883
2977
2978         Added new TransformOperation subclasses and methods to existing ones
2979         to support 3D.
2980
2981         * WebCore.xcodeproj/project.pbxproj:
2982         * platform/graphics/transforms/IdentityTransformOperation.h:
2983         (WebCore::IdentityTransformOperation::isAffine):
2984         * platform/graphics/transforms/Matrix3DTransformOperation.cpp: Added.
2985         (WebCore::Matrix3DTransformOperation::blend):
2986         * platform/graphics/transforms/Matrix3DTransformOperation.h: Added.
2987         (WebCore::Matrix3DTransformOperation::create):
2988         (WebCore::Matrix3DTransformOperation::isIdentity):
2989         (WebCore::Matrix3DTransformOperation::isAffine):
2990         (WebCore::Matrix3DTransformOperation::getOperationType):
2991         (WebCore::Matrix3DTransformOperation::isSameType):
2992         (WebCore::Matrix3DTransformOperation::operator==):
2993         (WebCore::Matrix3DTransformOperation::apply):
2994         (WebCore::Matrix3DTransformOperation::Matrix3DTransformOperation):
2995         * platform/graphics/transforms/MatrixTransformOperation.h:
2996         (WebCore::MatrixTransformOperation::isAffine):
2997         (WebCore::MatrixTransformOperation::apply):
2998         * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Added.
2999         (WebCore::PerspectiveTransformOperation::blend):
3000         * platform/graphics/transforms/PerspectiveTransformOperation.h: Added.
3001         (WebCore::PerspectiveTransformOperation::create):
3002         (WebCore::PerspectiveTransformOperation::isIdentity):
3003         (WebCore::PerspectiveTransformOperation::isAffine):
3004         (WebCore::PerspectiveTransformOperation::getOperationType):
3005         (WebCore::PerspectiveTransformOperation::isSameType):
3006         (WebCore::PerspectiveTransformOperation::operator==):
3007         (WebCore::PerspectiveTransformOperation::apply):
3008         (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation):
3009         * platform/graphics/transforms/RotateTransformOperation.cpp:
3010         (WebCore::RotateTransformOperation::blend):
3011         * platform/graphics/transforms/RotateTransformOperation.h:
3012         (WebCore::RotateTransformOperation::create):
3013         (WebCore::RotateTransformOperation::angle):
3014         (WebCore::RotateTransformOperation::isAffine):
3015         (WebCore::RotateTransformOperation::operator==):
3016         (WebCore::RotateTransformOperation::apply):
3017         (WebCore::RotateTransformOperation::RotateTransformOperation):
3018         * platform/graphics/transforms/ScaleTransformOperation.cpp:
3019         (WebCore::ScaleTransformOperation::blend):
3020         * platform/graphics/transforms/ScaleTransformOperation.h:
3021         (WebCore::ScaleTransformOperation::create):
3022         (WebCore::ScaleTransformOperation::z):
3023         (WebCore::ScaleTransformOperation::isIdentity):
3024         (WebCore::ScaleTransformOperation::isAffine):
3025         (WebCore::ScaleTransformOperation::operator==):
3026         (WebCore::ScaleTransformOperation::apply):
3027         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
3028         * platform/graphics/transforms/SkewTransformOperation.h:
3029         (WebCore::SkewTransformOperation::isAffine):
3030         * platform/graphics/transforms/TransformOperation.h:
3031         (WebCore::TransformOperation::):
3032         (WebCore::TransformOperation::is3DOperation):
3033         * platform/graphics/transforms/TransformOperations.h:
3034         (WebCore::TransformOperations::isAffine):
3035         (WebCore::TransformOperations::has3DOperation):
3036         * platform/graphics/transforms/TranslateTransformOperation.cpp:
3037         (WebCore::TranslateTransformOperation::blend):
3038         * platform/graphics/transforms/TranslateTransformOperation.h:
3039         (WebCore::TranslateTransformOperation::create):
3040         (WebCore::TranslateTransformOperation::z):
3041         (WebCore::TranslateTransformOperation::isIdentity):
3042         (WebCore::TranslateTransformOperation::isAffine):
3043         (WebCore::TranslateTransformOperation::operator==):
3044         (WebCore::TranslateTransformOperation::apply):
3045         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
3046
3047 2009-02-11  David Hyatt  <hyatt@apple.com>
3048
3049         Move createAnonymousBlock() to RenderBlock.  Since anonymous blocks are always parented to some other block,
3050         we can move this function to RenderBlock.  Fix a couple of call sites as a result of this restriction.
3051
3052         Reviewed by Simon Fraser
3053
3054         * rendering/RenderBlock.cpp:
3055         (WebCore::RenderBlock::createAnonymousBlock):
3056         * rendering/RenderBlock.h:
3057         * rendering/RenderInline.cpp:
3058         (WebCore::RenderInline::childBecameNonInline):
3059         * rendering/RenderObject.cpp:
3060         (WebCore::RenderObject::handleDynamicFloatPositionChange):
3061         * rendering/RenderObject.h:
3062
3063 2009-02-11  David Hyatt  <hyatt@apple.com>
3064
3065         https://bugs.webkit.org/show_bug.cgi?id=23895
3066
3067         Remove two complete nonsense lines that I accidentally added from a cut and paste error.  This
3068         restores the original logic.
3069
3070         Reviewed by Simon Fraser
3071
3072         * rendering/RenderBox.cpp:
3073         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3074
3075 2009-02-11  David Hyatt  <hyatt@apple.com>
3076
3077         Rename getBaselineOfFirstLineBox to firstLineBoxBaseline.  Rename getBaselineOfLastLineBox to
3078         lastLineBoxBaseline.  Remove the functions from RenderObject and add them to RenderBox instead.
3079
3080         Reviewed by Eric Seidel
3081
3082         * rendering/RenderBlock.cpp:
3083         (WebCore::RenderBlock::baselinePosition):
3084         (WebCore::RenderBlock::firstLineBoxBaseline):
3085         (WebCore::RenderBlock::lastLineBoxBaseline):
3086         * rendering/RenderBlock.h:
3087         * rendering/RenderBox.h:
3088         (WebCore::RenderBox::firstLineBoxBaseline):
3089         (WebCore::RenderBox::lastLineBoxBaseline):
3090         * rendering/RenderFlexibleBox.cpp:
3091         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3092         * rendering/RenderObject.h:
3093         * rendering/RenderTable.cpp:
3094         (WebCore::RenderTable::firstLineBoxBaseline):
3095         * rendering/RenderTable.h:
3096         * rendering/RenderTableCell.cpp:
3097         (WebCore::RenderTableCell::baselinePosition):
3098         * rendering/RenderTableSection.cpp:
3099         (WebCore::RenderTableSection::firstLineBoxBaseline):
3100         * rendering/RenderTableSection.h:
3101
3102 2009-02-11  Eric Carlson  <eric.carlson@apple.com>
3103
3104         Reviewed by Simon Fraser
3105
3106         https://bugs.webkit.org/show_bug.cgi?id=23877
3107         Allow port to disable progress events from <video> and <audio> elements
3108
3109         * html/HTMLMediaElement.cpp: Initialize m_sendProgressEvents.
3110         (WebCore::HTMLMediaElement::HTMLMediaElement): Don't post progress events if m_sendProgressEvents is false.
3111         (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): Ditto.
3112         (WebCore::HTMLMediaElement::load): Ditto.
3113         * html/HTMLMediaElement.h: Add m_sendProgressEvents
3114
3115 2009-02-11  Adam Roben  <aroben@apple.com>
3116
3117         Windows build fix
3118
3119         * DerivedSources.cpp: Removed SVGElementFactory.cpp, since including
3120         it leads to ambiguities for symbols like "aTag", which exist in both
3121         the HTMLNames and SVGNames namespaces.
3122
3123         * WebCore.vcproj/WebCore.vcproj: Added SVGElementFactory.cpp to the
3124         project directly. VS also decided to reformat this file a little bit.
3125
3126 2009-02-10  Julien Chaffraix  <jchaffraix@webkit.org>
3127
3128         Reviewed by Eric Seidel.
3129
3130         Bug 23536: Auto-generate HTMLElementFactory
3131
3132         Those are the last auto-generation bits needed to have a working generated HTMLElementFactory:
3133
3134         - Added a new option mapToTagName that enables a tag to use another's options and tagName (<image>
3135           uses imgTag for example) and wired the code generation to be consistent with the current factory.
3136
3137         - Disabled dashboard compatibility check for HTMLElementFactory as it would make at least one test case fail.
3138
3139         - Pass the QualifiedName down to the Element constructor for shared constructors to make the generated code as
3140           close as possible to the current one. We will pass the QualifiedName for all Element in a forthcoming patch.
3141
3142         * dom/make_names.pl: Did all the above points and tweaked the code generation to match the current HTMLElementFactory
3143           as closely as possible.
3144
3145         * html/HTMLElementFactory.cpp:
3146         (WebCore::quoteConstructor):
3147         * html/HTMLQuoteElement.cpp:
3148         (WebCore::HTMLQuoteElement::HTMLQuoteElement): Moved setUsesBeforeAfterRules to HTMLQuoteElement' constructor because some
3149         part of the code creates elements without using the HTMLElementFactory. Also added a FIXME as it is not the right place.
3150
3151         * html/HTMLTagNames.in: Corrected <image> parameters.
3152
3153 2009-02-10  David Hyatt  <hyatt@apple.com>
3154
3155         Fix for pixel test regression in fast/text.  Make sure not to add in
3156         the borderTop and paddingTop of the block to the baseline when painting
3157         strict mode text decorations.
3158
3159         Reviewed by Mark Rowe
3160
3161         * rendering/InlineFlowBox.cpp:
3162         (WebCore::InlineFlowBox::paintTextDecorations):
3163         * rendering/InlineFlowBox.h:
3164
3165 2009-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
3166
3167         Windows build fix after r40837.
3168
3169         Not reviewed.
3170
3171         * DerivedSources.cpp:
3172
3173 2009-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
3174
3175         <rdar://6349412> REGRESSION(r37204): Page is not repainted during and
3176         after pan scrolling
3177
3178         Reviewed by Steve Falkenburg.
3179
3180         * platform/ScrollView.cpp:
3181         (WebCore::ScrollView::scrollContents): Don't repaint the pan scroll
3182         icon rect immediately; we will paint after the view has been scrolled.
3183
3184 2009-02-10  Oliver Hunt  <oliver@apple.com>
3185
3186         Reviewed by Adele Peterson.
3187
3188         <rdar://problem/6156755> onMouseOver events do not fire properly for cross frame drag and drop
3189
3190         This problem was caused by incorrectly ignoring whether or not the
3191         default behaviour of the mousedown event was suppressed.  If a
3192         mousedown handler in a frame prevents default handling then the
3193         subsequent mousemove events fired for the drag should not be
3194         captured by that frame, should the mouse move out of its bounds.
3195
3196         Test: fast/events/mouse-drag-from-frame.html
3197
3198         * page/EventHandler.cpp:
3199         (WebCore::EventHandler::EventHandler):
3200         (WebCore::EventHandler::clear):
3201         (WebCore::EventHandler::handleMouseReleaseEvent):
3202             Reset new m_capturesDragging flag
3203
3204         (WebCore::EventHandler::handleMousePressEvent):
3205             Respect the m_capturesDragging flag when we propagate
3206             a mousedown event to a subframe.
3207
3208         * page/EventHandler.h:
3209         (WebCore::EventHandler::capturesDragging):
3210
3211 2009-02-10  Kevin Ollivier  <kevino@theolliviers.com>
3212
3213         wx build fixes for recent changes to TransformationMatrix and DOMElement.
3214
3215         * WebCoreSources.bkl:
3216         * dom/Element.cpp:
3217         * platform/graphics/transforms/TransformationMatrix.h:
3218         * platform/graphics/wx/TransformationMatrixWx.cpp:
3219         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
3220
3221 2009-02-10  David Hyatt  <hyatt@apple.com>
3222
3223         Some renames on line boxes.  xPos()/yPos() -> x()/y().  setXPos()/setYPos() -> setX()/setY().  m_object/object() -> m_renderer/renderer().  textObject() -> textRenderer().
3224
3225         Reviewed by Sam Weinig
3226
3227         * dom/Position.cpp:
3228         (WebCore::Position::upstream):
3229         (WebCore::Position::downstream):
3230         * editing/VisiblePosition.cpp:
3231         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
3232         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
3233         (WebCore::VisiblePosition::localCaretRect):
3234         * editing/visible_units.cpp:
3235         (WebCore::startPositionForLine):
3236         (WebCore::endPositionForLine):
3237         (WebCore::previousLinePosition):
3238         (WebCore::nextLinePosition):
3239         * rendering/EllipsisBox.cpp:
3240         (WebCore::EllipsisBox::paint):
3241         (WebCore::EllipsisBox::nodeAtPoint):
3242         * rendering/InlineBox.cpp:
3243         (WebCore::InlineBox::showTreeForThis):
3244         (WebCore::InlineBox::height):
3245         (WebCore::InlineBox::caretMinOffset):
3246         (WebCore::InlineBox::caretMaxOffset):
3247         (WebCore::InlineBox::deleteLine):
3248         (WebCore::InlineBox::extractLine):
3249         (WebCore::InlineBox::attachLine):
3250         (WebCore::InlineBox::adjustPosition):
3251         (WebCore::InlineBox::paint):
3252         (WebCore::InlineBox::nodeAtPoint):
3253         (WebCore::InlineBox::selectionState):
3254         (WebCore::InlineBox::canAccommodateEllipsis):
3255         * rendering/InlineBox.h:
3256         (WebCore::InlineBox::InlineBox):
3257         (WebCore::InlineBox::renderer):
3258         (WebCore::InlineBox::setX):
3259         (WebCore::InlineBox::x):
3260         (WebCore::InlineBox::setY):
3261         (WebCore::InlineBox::y):
3262         (WebCore::InlineBox::topOverflow):
3263         (WebCore::InlineBox::bottomOverflow):
3264         (WebCore::InlineBox::leftOverflow):
3265         (WebCore::InlineBox::rightOverflow):
3266         (WebCore::InlineBox::visibleToHitTesting):
3267         (WebCore::InlineBox::boxModelObject):
3268         * rendering/InlineFlowBox.cpp:
3269         (WebCore::InlineFlowBox::height):
3270         (WebCore::InlineFlowBox::addToLine):
3271         (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
3272         (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
3273         (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
3274         (WebCore::InlineFlowBox::rendererLineBoxes):
3275         (WebCore::InlineFlowBox::onEndChain):
3276         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
3277         (WebCore::InlineFlowBox::placeBoxesHorizontally):
3278         (WebCore::InlineFlowBox::verticallyAlignBoxes):
3279         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
3280         (WebCore::verticalPositionForBox):
3281         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3282         (WebCore::InlineFlowBox::placeBoxesVertically):
3283         (WebCore::InlineFlowBox::nodeAtPoint):
3284         (WebCore::InlineFlowBox::paint):
3285         (WebCore::InlineFlowBox::paintFillLayer):
3286         (WebCore::InlineFlowBox::paintBoxShadow):
3287         (WebCore::InlineFlowBox::paintBoxDecorations):
3288         (WebCore::InlineFlowBox::paintMask):
3289         (WebCore::InlineFlowBox::paintTextDecorations):
3290         * rendering/InlineFlowBox.h:
3291         (WebCore::InlineFlowBox::borderLeft):
3292         (WebCore::InlineFlowBox::borderRight):
3293         (WebCore::InlineFlowBox::borderTop):
3294         (WebCore::InlineFlowBox::borderBottom):
3295         (WebCore::InlineFlowBox::baseline):
3296         * rendering/InlineTextBox.cpp:
3297         (WebCore::InlineTextBox::height):
3298         (WebCore::InlineTextBox::selectionState):
3299         (WebCore::InlineTextBox::selectionRect):
3300         (WebCore::InlineTextBox::deleteLine):
3301         (WebCore::InlineTextBox::extractLine):
3302         (WebCore::InlineTextBox::attachLine):
3303         (WebCore::InlineTextBox::placeEllipsisBox):
3304         (WebCore::InlineTextBox::isLineBreak):
3305         (WebCore::InlineTextBox::nodeAtPoint):
3306         (WebCore::InlineTextBox::paint):
3307         (WebCore::InlineTextBox::selectionStartEnd):
3308         (WebCore::InlineTextBox::paintSelection):
3309         (WebCore::InlineTextBox::paintCompositionBackground):
3310         (WebCore::InlineTextBox::paintCustomHighlight):
3311         (WebCore::InlineTextBox::paintDecoration):
3312         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
3313         (WebCore::InlineTextBox::paintTextMatchMarker):
3314         (WebCore::InlineTextBox::paintDocumentMarkers):
3315         (WebCore::InlineTextBox::paintCompositionUnderline):
3316         (WebCore::InlineTextBox::textPos):
3317         (WebCore::InlineTextBox::offsetForPosition):
3318         (WebCore::InlineTextBox::positionForOffset):
3319         * rendering/InlineTextBox.h:
3320         (WebCore::InlineTextBox::textRenderer):
3321         * rendering/ListMarkerBox.cpp:
3322         (WebCore::ListMarkerBox::isText):
3323         * rendering/RenderBlock.cpp:
3324         (WebCore::RenderBlock::paintEllipsisBoxes):
3325         (WebCore::RenderBlock::lowestPosition):
3326         (WebCore::RenderBlock::rightmostPosition):
3327         (WebCore::RenderBlock::leftmostPosition):
3328         (WebCore::RenderBlock::positionForBox):
3329         (WebCore::RenderBlock::positionForCoordinates):
3330         (WebCore::RenderBlock::getBaselineOfFirstLineBox):
3331         (WebCore::RenderBlock::getBaselineOfLastLineBox):
3332         (WebCore::RenderBlock::adjustForBorderFit):
3333         (WebCore::RenderBlock::addFocusRingRects):
3334         * rendering/RenderBox.cpp:
3335         (WebCore::RenderBox::paintCustomHighlight):
3336         (WebCore::RenderBox::position):
3337         (WebCore::RenderBox::containingBlockWidthForPositioned):
3338         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
3339         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3340         * rendering/RenderBoxModelObject.cpp:
3341         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3342         * rendering/RenderFlexibleBox.cpp:
3343         (WebCore::RenderFlexibleBox::layoutVerticalBox):
3344         * rendering/RenderInline.cpp:
3345         (WebCore::RenderInline::absoluteRects):
3346         (WebCore::RenderInline::absoluteQuads):
3347         (WebCore::RenderInline::offsetLeft):
3348         (WebCore::RenderInline::offsetTop):
3349         (WebCore::RenderInline::linesBoundingBox):
3350         (WebCore::RenderInline::relativePositionedInlineOffset):
3351         (WebCore::RenderInline::addFocusRingRects):
3352         (WebCore::RenderInline::paintOutline):
3353         * rendering/RenderLayer.cpp:
3354         (WebCore::RenderLayer::localBoundingBox):
3355         * rendering/RenderSVGTSpan.cpp:
3356         (WebCore::RenderSVGTSpan::absoluteRects):
3357         (WebCore::RenderSVGTSpan::absoluteQuads):
3358         * rendering/RenderSVGText.cpp:
3359         (WebCore::RenderSVGText::absoluteRects):
3360         (WebCore::RenderSVGText::absoluteQuads):
3361         (WebCore::RenderSVGText::relativeBBox):
3362         * rendering/RenderSVGTextPath.cpp:
3363         (WebCore::RenderSVGTextPath::absoluteRects):
3364         (WebCore::RenderSVGTextPath::absoluteQuads):
3365         * rendering/RenderText.cpp:
3366         (WebCore::RenderText::absoluteRects):
3367         (WebCore::RenderText::absoluteRectsForRange):
3368         (WebCore::RenderText::absoluteQuads):
3369         (WebCore::RenderText::absoluteQuadsForRange):
3370         (WebCore::RenderText::localCaretRect):
3371         (WebCore::RenderText::linesBoundingBox):
3372         * rendering/RootInlineBox.cpp:
3373         (WebCore::RootInlineBox::height):
3374         (WebCore::RootInlineBox::clearTruncation):
3375         (WebCore::RootInlineBox::placeEllipsis):
3376         (WebCore::RootInlineBox::paintEllipsisBox):
3377         (WebCore::RootInlineBox::addHighlightOverflow):
3378         (WebCore::RootInlineBox::paintCustomHighlight):
3379         (WebCore::RootInlineBox::paint):
3380         (WebCore::RootInlineBox::nodeAtPoint):
3381         (WebCore::RootInlineBox::childRemoved):
3382         (WebCore::RootInlineBox::fillLineSelectionGap):
3383         (WebCore::RootInlineBox::block):
3384         (WebCore::isEditableLeaf):
3385         (WebCore::RootInlineBox::closestLeafChildForXPos):
3386         (WebCore::RootInlineBox::setVerticalOverflowPositions):
3387         * rendering/RootInlineBox.h:
3388         (WebCore::RootInlineBox::bottomOverflow):
3389         (WebCore::RootInlineBox::floats):
3390         (WebCore::RootInlineBox::setHorizontalOverflowPositions):
3391         (WebCore::RootInlineBox::setVerticalSelectionPositions):
3392         * rendering/SVGCharacterLayoutInfo.cpp:
3393         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
3394         * rendering/SVGInlineTextBox.cpp:
3395         (WebCore::SVGInlineTextBox::calculateGlyphWidth):
3396         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
3397         (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
3398         (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
3399         (WebCore::SVGInlineTextBox::nodeAtPoint):
3400         (WebCore::SVGInlineTextBox::paintCharacters):
3401         (WebCore::SVGInlineTextBox::paintSelection):
3402         (WebCore::SVGInlineTextBox::paintDecoration):
3403         * rendering/SVGRenderTreeAsText.cpp:
3404         (WebCore::writeSVGInlineTextBox):
3405         * rendering/SVGRootInlineBox.cpp:
3406         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
3407         (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
3408         (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
3409         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback):
3410         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback):
3411         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
3412         (WebCore::SVGRootInlineBox::paint):
3413         (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
3414         (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
3415         (WebCore::svgTextRunForInlineTextBox):
3416         (WebCore::cummulatedWidthOrHeightOfTextChunk):
3417         (WebCore::applyTextAnchorToTextChunk):
3418         (WebCore::SVGRootInlineBox::buildLayoutInformation):
3419         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
3420         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
3421         (WebCore::SVGRootInlineBox::buildTextChunks):
3422         * rendering/bidi.cpp:
3423         (WebCore::RenderBlock::constructLine):
3424         (WebCore::RenderBlock::computeVerticalPositionsForLine):
3425         (WebCore::RenderBlock::layoutInlineChildren):
3426         (WebCore::RenderBlock::checkLinesForTextOverflow):
3427         * svg/SVGTextContentElement.cpp:
3428         (WebCore::cumulativeCharacterRangeLength):
3429         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
3430         (WebCore::findInlineTextBoxInTextChunks):
3431
3432 2009-02-10  Simon Fraser  <simon.fraser@apple.com>
3433
3434         Reviewed by Dave Hyatt
3435
3436         Clean up "fallbackAnimating" logic in AnimationBase. This flag indicates
3437         that animation of an accelerated property must run in software for some reason.
3438
3439         Also remove use of private headers in GraphicsLayerCA related to a case
3440         where we may have to fall back on software animation of transform.
3441
3442         * page/animation/AnimationBase.cpp:
3443         (WebCore::AnimationBase::blendProperties):
3444         * page/animation/AnimationBase.h:
3445         * page/animation/ImplicitAnimation.cpp:
3446         (WebCore::ImplicitAnimation::animate):
3447         * page/animation/KeyframeAnimation.cpp:
3448         (WebCore::KeyframeAnimation::animate):
3449         * platform/graphics/mac/GraphicsLayerCA.h:
3450         * platform/graphics/mac/GraphicsLayerCA.mm:
3451         (WebCore::getValueFunctionNameForTransformOperation):
3452         (WebCore::caValueFunctionSupported):
3453         (WebCore::GraphicsLayerCA::setBackgroundColor):
3454         (WebCore::GraphicsLayerCA::setOpacity):
3455         (WebCore::GraphicsLayerCA::animateTransform):
3456         (WebCore::GraphicsLayerCA::animateFloat):
3457         (WebCore::GraphicsLayerCA::setBasicAnimation):
3458         (WebCore::GraphicsLayerCA::setKeyframeAnimation):
3459
3460 2009-02-10  Simon Fraser  <simon.fraser@apple.com>
3461
3462         Reviewed by Dave Hyatt
3463
3464         Move enclosingCompositingLayer() from RenderObject to RenderLayer, since it
3465         relates to the RenderLayer z-order/overflow structure, rather than the render tree
3466         parent chain. Add a convenience method, ancestorCompositingLayer(), which finds
3467         the enclosing layer excluding self.
3468
3469         Fix enclosingCompositingLayer() to correctly look at stacking context and overflow
3470         lists.
3471
3472         Check for documentBeingDestroyed() in a few places to avoid work on document
3473         teardown.
3474
3475         * rendering/RenderLayer.cpp:
3476         (WebCore::RenderLayer::enclosingCompositingLayer):
3477         (WebCore::RenderLayer::setParent):
3478         (WebCore::RenderLayer::dirtyZOrderLists):
3479         (WebCore::RenderLayer::dirtyOverflowList):
3480         * rendering/RenderLayer.h:
3481         (WebCore::RenderLayer::ancestorCompositingLayer):
3482         * rendering/RenderLayerBacking.cpp:
3483         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3484         * rendering/RenderLayerCompositor.cpp:
3485         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
3486         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3487         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
3488         (WebCore::RenderLayerCompositor::clippedByAncestor):
3489         * rendering/RenderLayerCompositor.h:
3490         * rendering/RenderObject.cpp:
3491         (WebCore::RenderObject::containerForRepaint):
3492         * rendering/RenderObject.h:
3493
3494 2009-02-10  David Hyatt  <hyatt@apple.com>
3495
3496         Rename xPos() and yPos() on RenderLayer to x() and y() to match RenderBox.  Rename setPos to setLocation.
3497
3498         Reviewed by Simon Fraser
3499
3500         * dom/MouseRelatedEvent.cpp:
3501         (WebCore::MouseRelatedEvent::receivedTarget):
3502         * rendering/RenderLayer.cpp:
3503         (WebCore::RenderLayer::updateLayerPosition):
3504         (WebCore::RenderLayer::convertToLayerCoords):
3505         * rendering/RenderLayer.h:
3506         (WebCore::RenderLayer::x):
3507         (WebCore::RenderLayer::y):
3508         (WebCore::RenderLayer::setLocation):
3509         * rendering/RenderTreeAsText.cpp:
3510         (WebCore::write):
3511         (WebCore::externalRepresentation):
3512
3513 2009-02-10  Darin Fisher  <darin@chromium.org>
3514
3515         Reviewed by Eric Seidel.
3516
3517         https://bugs.webkit.org/show_bug.cgi?id=23879
3518         Add missing PLATFORM(SKIA) changes to TransformationMatrix.h
3519
3520         * platform/graphics/transforms/TransformationMatrix.h:
3521
3522 2009-02-10  Sam Weinig  <sam@webkit.org>
3523
3524         Reviewed by David Hyatt.
3525
3526         Fix for https://bugs.webkit.org/show_bug.cgi?id=15897
3527         Please implement getBoundingClientRect and getClientRects
3528         <rdar://problem/6139669>
3529
3530         Cursory implementation of Element.getBoundingClientRect and
3531         Element.getClientRects. Adds necessary infrastructure classes
3532         ClientRect and ClientRectList.
3533
3534         Tests: fast/dom/getBoundingClientRect.html
3535                fast/dom/getClientRects.html
3536
3537         * DerivedSources.make:
3538         * GNUmakefile.am:
3539         * WebCore.pro:
3540         * WebCore.vcproj/WebCore.vcproj:
3541         * WebCore.xcodeproj/project.pbxproj:
3542         * WebCoreSources.bkl:
3543         * dom/ClientRect.cpp: Added.
3544         (WebCore::ClientRect::ClientRect):
3545         * dom/ClientRect.h: Added.
3546         (WebCore::ClientRect::create):
3547         (WebCore::ClientRect::top):
3548         (WebCore::ClientRect::right):
3549         (WebCore::ClientRect::bottom):
3550         (WebCore::ClientRect::left):
3551         (WebCore::ClientRect::width):
3552         (WebCore::ClientRect::height):
3553         * dom/ClientRect.idl: Added.
3554         * dom/ClientRectList.cpp: Added.
3555         (WebCore::ClientRectList::ClientRectList):
3556         (WebCore::ClientRectList::~ClientRectList):
3557         (WebCore::ClientRectList::length):
3558         (WebCore::ClientRectList::item):
3559         * dom/ClientRectList.h: Added.
3560         (WebCore::ClientRectList::create):
3561         * dom/ClientRectList.idl: Added.
3562         * dom/Element.cpp:
3563         (WebCore::Element::getClientRects):
3564         (WebCore::Element::getBoundingClientRect):
3565         * dom/Element.h:
3566         * dom/Element.idl:
3567         * page/DOMWindow.idl:
3568         * rendering/RenderInline.cpp:
3569         (WebCore::RenderInline::absoluteRects):
3570         (WebCore::RenderInline::absoluteQuads):
3571
3572 2009-02-10  David Hyatt  <hyatt@apple.com>
3573
3574         Get rid of capsLockStateMayHaveChanged on RenderObject.  It is only implemented by one class (text fields),
3575         so devirtualize and just query at the single call site.
3576
3577         Reviewed by Eric Seidel
3578
3579         * page/EventHandler.cpp:
3580         (WebCore::EventHandler::capsLockStateMayHaveChanged):
3581         * rendering/RenderObject.h:
3582         * rendering/RenderTextControlSingleLine.h:
3583
3584 2009-02-10  David Hyatt  <hyatt@apple.com>
3585
3586         Shrink the size of all RenderObjects (except for RenderInlines) by 4 bytes.  This patch moves the cached vertical position member to RenderInlines,
3587         since they were the only objects being queried across multiple lines.
3588
3589         Reviewed by Sam Weinig
3590
3591         * rendering/InlineFlowBox.cpp:
3592         (WebCore::verticalPositionForBox):
3593         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3594         * rendering/RenderBoxModelObject.cpp:
3595         (WebCore::RenderBoxModelObject::verticalPosition):
3596         * rendering/RenderBoxModelObject.h:
3597         * rendering/RenderInline.cpp:
3598         (WebCore::RenderInline::RenderInline):
3599         (WebCore::RenderInline::verticalPositionFromCache):
3600         * rendering/RenderInline.h:
3601         (WebCore::RenderInline::invalidateVerticalPosition):
3602         * rendering/RenderObject.cpp:
3603         (WebCore::RenderObject::RenderObject):
3604         * rendering/RenderObject.h:
3605         * rendering/RenderText.cpp:
3606         * rendering/RenderText.h:
3607         * rendering/bidi.cpp:
3608         (WebCore::RenderBlock::layoutInlineChildren):
3609
3610 2009-02-10  Dimitri Glazkov  <dglazkov@chromium.org>
3611
3612         Reviewed by Mark Rowe.
3613
3614         https://bugs.webkit.org/show_bug.cgi?id=23868
3615         Fix code style issues: removed 80-col wrapping, incorrect include style, if statement body on same line.
3616
3617         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
3618         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3619
3620 2009-02-10  Dimitri Glazkov  <dglazkov@chromium.org>
3621
3622         Reviewed by Eric Seidel.
3623
3624         https://bugs.webkit.org/show_bug.cgi?id=23868
3625         Add HTMLInputElement and HTMLOptionsCollection V8 custom bindings.
3626
3627         * bindings/v8/custom/V8HTMLInputElementCustom.cpp: Added.
3628         (WebCore::ACCESSOR_GETTER):
3629         (WebCore::ACCESSOR_SETTER):
3630         (WebCore::CALLBACK_FUNC_DECL):
3631         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: Added.
3632         (WebCore::ACCESSOR_GETTER):
3633         (WebCore::ACCESSOR_SETTER):
3634
3635 2009-02-10  Adam Roben  <aroben@apple.com>
3636
3637         Fix Bug 23871: Assertion failure beneath WebCore::openFunc when
3638         running http/tests/security/xss-DENIED-xsl-document-redirect.xml
3639
3640         <https://bugs.webkit.org/show_bug.cgi?id=23871>
3641
3642         Reviewed by Alexey Proskuryakov.
3643
3644         Covered by existing tests.
3645
3646         * dom/XMLTokenizerLibxml2.cpp:
3647         (WebCore::openFunc): Use the two-parameter KURL constructor so that
3648         the string will be parsed. libxml2 gives us a UTF-8-encoded string
3649         that needs to be parsed.
3650
3651 2009-02-10  David Hyatt  <hyatt@apple.com>
3652
3653         Shrink the size of all replaced elements (images, form controls, plugins) by 4 bytes by packing the
3654         overflow boolean into the RenderObject base class.
3655
3656         Reviewed by Sam Weinig
3657
3658         * rendering/RenderObject.cpp:
3659         (WebCore::RenderObject::RenderObject):
3660         * rendering/RenderObject.h:
3661         (WebCore::RenderObject::replacedHasOverflow):
3662         (WebCore::RenderObject::setReplacedHasOverflow):
3663         * rendering/RenderReplaced.cpp:
3664         (WebCore::RenderReplaced::RenderReplaced):
3665         (WebCore::RenderReplaced::~RenderReplaced):
3666         (WebCore::RenderReplaced::adjustOverflowForBoxShadow):
3667         (WebCore::RenderReplaced::overflowHeight):
3668         (WebCore::RenderReplaced::overflowWidth):
3669         (WebCore::RenderReplaced::overflowLeft):
3670         (WebCore::RenderReplaced::overflowTop):
3671         (WebCore::RenderReplaced::overflowRect):
3672         * rendering/RenderReplaced.h:
3673
3674 2009-02-10  Eric Carlson  <eric.carlson@apple.com>
3675
3676         Reviewed by Simon Fraser.
3677
3678         https://bugs.webkit.org/show_bug.cgi?id=23870
3679         Make it possible for a port to require a user gesture for an <audio> or <video> element
3680         to load a url.
3681
3682         * html/HTMLMediaElement.cpp:
3683         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_loadRestrictions.
3684         (WebCore::HTMLMediaElement::attributeChanged): Only one attribute can change so put an "else" between tests.
3685         (WebCore::HTMLMediaElement::load): Return INVALID_STATE_ERR if RequireUserGestureLoadRestriction is set
3686         and we are not preocessing a user gesture.
3687         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): Remove unnecessary white space.
3688         (WebCore::HTMLMediaElement::play): Ditto.
3689         (WebCore::HTMLMediaElement::endScrubbing): Remove unnecessary braces added in r40789.
3690         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Cache currentTime() in a local instead of calling it
3691         multiple times.
3692         (WebCore::HTMLMediaElement::processingUserGesture): New.
3693         * html/HTMLMediaElement.h:
3694         (WebCore::HTMLMediaElement::): Define LoadRestrictions, add m_loadRestrictions.
3695
3696 2009-02-10  Holger Hans Peter Freyther  <zecke@selfish.org>
3697
3698         Reviewed by Sam Weinig.
3699
3700         Remove the SVG checks from FloatPoint3D as it is used
3701         by TransformationMatrix.
3702
3703         * platform/graphics/FloatPoint3D.cpp:
3704         * platform/graphics/FloatPoint3D.h:
3705
3706 2009-02-10  David Hyatt  <hyatt@apple.com>
3707
3708         Remove the m_baseline member variable from all line boxes, since it can easily be computed when needed and did not need to be cached.
3709
3710         Reviewed by Sam Weinig
3711
3712         * rendering/EllipsisBox.cpp:
3713         (WebCore::EllipsisBox::paint):
3714         (WebCore::EllipsisBox::nodeAtPoint):
3715         * rendering/EllipsisBox.h:
3716         (WebCore::EllipsisBox::EllipsisBox):
3717         * rendering/InlineBox.h:
3718         (WebCore::InlineBox::InlineBox):
3719         * rendering/InlineFlowBox.cpp:
3720         (WebCore::InlineFlowBox::verticallyAlignBoxes):
3721         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3722         (WebCore::InlineFlowBox::placeBoxesVertically):
3723         (WebCore::InlineFlowBox::paintTextDecorations):
3724         * rendering/InlineFlowBox.h:
3725         (WebCore::InlineFlowBox::marginBorderPaddingLeft):
3726         (WebCore::InlineFlowBox::marginBorderPaddingRight):
3727         (WebCore::InlineFlowBox::marginLeft):
3728         (WebCore::InlineFlowBox::marginRight):
3729         (WebCore::InlineFlowBox::borderLeft):
3730         (WebCore::InlineFlowBox::borderRight):
3731         (WebCore::InlineFlowBox::borderTop):
3732         (WebCore::InlineFlowBox::borderBottom):
3733         (WebCore::InlineFlowBox::paddingLeft):
3734         (WebCore::InlineFlowBox::paddingRight):
3735         (WebCore::InlineFlowBox::paddingTop):
3736         (WebCore::InlineFlowBox::paddingBottom):
3737         (WebCore::InlineFlowBox::includeLeftEdge):
3738         (WebCore::InlineFlowBox::includeRightEdge):
3739         (WebCore::InlineFlowBox::baseline):
3740         * rendering/InlineTextBox.cpp:
3741         (WebCore::InlineTextBox::paint):
3742         (WebCore::InlineTextBox::paintDecoration):
3743         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
3744         (WebCore::InlineTextBox::paintCompositionUnderline):
3745         * rendering/RenderBlock.cpp:
3746         (WebCore::RenderBlock::getBaselineOfFirstLineBox):
3747         (WebCore::RenderBlock::getBaselineOfLastLineBox):
3748         * rendering/RenderTableCell.cpp:
3749         (WebCore::RenderTableCell::baselinePosition):
3750         * rendering/RootInlineBox.cpp:
3751         (WebCore::RootInlineBox::placeEllipsis):
3752         * rendering/SVGInlineTextBox.cpp:
3753         (WebCore::SVGInlineTextBox::paintDecoration):
3754         * rendering/SVGRootInlineBox.cpp:
3755         (WebCore::applyTextAnchorToTextChunk):
3756         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
3757
3758 2009-02-10  Alexey Proskuryakov  <ap@webkit.org>
3759
3760         Reviewed by Darin Adler.
3761
3762         https://bugs.webkit.org/show_bug.cgi?id=23867
3763         Eliminate obsolete frame->document() checks
3764
3765         * page/FrameView.cpp: (WebCore::FrameView::paintContents): Apparently due to a typo
3766         (document vs. !document), fillWithRed was always set to false, and other branches were
3767         never taken. Removing the check for document restores debug-only red color filling.
3768
3769         * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Only call dispatchWindowObjectAvailable()
3770         after a document is created. A client can do anything in its delegate method, so we'd need
3771         to have frame->document() checks otherwise. DumpRenderTree uses this delegate to add its
3772         custom property, and it was crashing due to null document in JSDOMWindowBase::getOwnPropertySlot().
3773
3774         * bindings/js/JSDOMWindowBase.cpp:
3775         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
3776         * bindings/js/JSDOMWindowCustom.cpp:
3777         (WebCore::JSDOMWindow::addEventListener):
3778         (WebCore::JSDOMWindow::removeEventListener):
3779         * bindings/js/JSNavigatorCustom.cpp:
3780         (WebCore::needsYouTubeQuirk):
3781         * bindings/js/ScheduledAction.cpp:
3782         (WebCore::ScheduledAction::execute):
3783         * bindings/js/ScriptControllerMac.mm:
3784         (WebCore::updateRenderingForBindings):
3785         * dom/Document.cpp:
3786         (WebCore::Document::initSecurityContext):
3787         * editing/Editor.cpp:
3788         (WebCore::Editor::deleteWithDirection):
3789         (WebCore::Editor::dispatchCPPEvent):
3790         (WebCore::Editor::applyStyle):
3791         (WebCore::Editor::applyParagraphStyle):
3792         * editing/EditorCommand.cpp:
3793         (WebCore::Editor::Command::execute):
3794         (WebCore::Editor::Command::isEnabled):
3795         (WebCore::Editor::Command::state):
3796         (WebCore::Editor::Command::value):
3797         * editing/SelectionController.cpp:
3798         (WebCore::SelectionController::recomputeCaretRect):
3799         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
3800         (WebCore::SelectionController::selectAll):
3801         (WebCore::SelectionController::setFocused):
3802         * inspector/InspectorController.cpp:
3803         (WebCore::getResourceDocumentNode):
3804         * inspector/JavaScriptDebugServer.cpp:
3805         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
3806         * loader/DocumentLoader.cpp:
3807         (WebCore::canonicalizedTitle):
3808         (WebCore::DocumentLoader::stopLoading):
3809         (WebCore::DocumentLoader::isLoadingInAPISense):
3810         (WebCore::DocumentLoader::subresource):
3811         (WebCore::DocumentLoader::getSubresources):
3812         * loader/FrameLoader.cpp:
3813         (WebCore::FrameLoader::urlSelected):
3814         (WebCore::FrameLoader::stop):
3815         (WebCore::FrameLoader::iconURL):
3816         (WebCore::FrameLoader::executeIfJavaScriptURL):
3817         (WebCore::FrameLoader::clear):
3818         (WebCore::FrameLoader::endIfNotLoadingMainResource):
3819         (WebCore::FrameLoader::restoreDocumentState):
3820         (WebCore::FrameLoader::gotoAnchor):
3821         (WebCore::FrameLoader::loadDone):
3822         (WebCore::FrameLoader::checkCompleted):
3823         (WebCore::FrameLoader::checkCallImplicitClose):
3824         (WebCore::FrameLoader::scheduleRefresh):
3825         (WebCore::FrameLoader::outgoingOrigin):
3826         (WebCore::FrameLoader::canCachePageContainingThisFrame):
3827         (WebCore::FrameLoader::logCanCacheFrameDecision):
3828         (WebCore::FrameLoader::updatePolicyBaseURL):
3829         (WebCore::FrameLoader::setPolicyBaseURL):
3830         (WebCore::FrameLoader::frameDetached):
3831         (WebCore::FrameLoader::shouldScrollToAnchor):
3832         (WebCore::FrameLoader::saveDocumentState):
3833         * loader/archive/cf/LegacyWebArchive.cpp:
3834         (WebCore::LegacyWebArchive::create):
3835         * loader/icon/IconFetcher.cpp:
3836         (WebCore::IconFetcher::create):
3837         * loader/icon/IconLoader.cpp:
3838         (WebCore::IconLoader::startLoading):
3839         * page/AccessibilityRenderObject.cpp:
3840         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
3841         * page/Chrome.cpp:
3842         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
3843         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
3844         * page/DOMWindow.cpp:
3845         (WebCore::DOMWindow::sessionStorage):
3846         (WebCore::DOMWindow::alert):
3847         (WebCore::DOMWindow::confirm):
3848         (WebCore::DOMWindow::prompt):
3849         (WebCore::DOMWindow::scrollX):
3850         (WebCore::DOMWindow::scrollY):
3851         (WebCore::DOMWindow::getMatchedCSSRules):
3852         (WebCore::DOMWindow::openDatabase):
3853         (WebCore::DOMWindow::scrollBy):
3854         (WebCore::DOMWindow::scrollTo):
3855         * page/EventHandler.cpp:
3856         (WebCore::EventHandler::allowDHTMLDrag):
3857         (WebCore::EventHandler::scrollOverflow):
3858         (WebCore::EventHandler::handleMousePressEvent):
3859         (WebCore::EventHandler::handleMouseDoubleClickEvent):
3860         (WebCore::EventHandler::handleMouseMoveEvent):
3861         (WebCore::EventHandler::handleMouseReleaseEvent):
3862         (WebCore::EventHandler::updateDragAndDrop):
3863         (WebCore::EventHandler::handleWheelEvent):
3864         (WebCore::EventHandler::sendContextMenuEvent):
3865         (WebCore::EventHandler::capsLockStateMayHaveChanged):
3866         (WebCore::EventHandler::sendResizeEvent):
3867         (WebCore::EventHandler::sendScrollEvent):
3868         * page/FocusController.cpp:
3869         (WebCore::deepFocusableNode):
3870         (WebCore::FocusController::advanceFocus):
3871         * page/Frame.cpp:
3872         (WebCore::Frame::setFocusedNodeIfNeeded):
3873         (WebCore::Frame::shouldApplyTextZoom):
3874         (WebCore::Frame::shouldApplyPageZoom):
3875         (WebCore::Frame::setZoomFactor):
3876         (WebCore::Frame::setPrinting):
3877         (WebCore::Frame::reapplyStyles):
3878         (WebCore::Frame::isContentEditable):
3879         (WebCore::Frame::computeAndSetTypingStyle):
3880         (WebCore::Frame::selectionComputedStyle):
3881         (WebCore::Frame::applyEditingStyleToBodyElement):
3882         (WebCore::Frame::removeEditingStyleFromBodyElement):
3883         (WebCore::Frame::contentRenderer):
3884         (WebCore::Frame::styleForSelectionStart):
3885         (WebCore::Frame::setSelectionFromNone):
3886         (WebCore::Frame::findString):
3887         (WebCore::Frame::markAllMatchesForText):
3888         (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
3889         (WebCore::Frame::documentTypeString):
3890         (WebCore::Frame::shouldClose):
3891         (WebCore::Frame::respondToChangedSelection):
3892         * page/FrameView.cpp:
3893         (WebCore::FrameView::~FrameView):
3894         (WebCore::FrameView::createScrollbar):
3895         (WebCore::FrameView::layout):
3896         (WebCore::FrameView::layoutTimerFired):
3897         (WebCore::FrameView::scheduleRelayout):
3898         (WebCore::FrameView::needsLayout):
3899         (WebCore::FrameView::unscheduleRelayout):
3900         (WebCore::FrameView::windowClipRect):
3901         * page/Geolocation.cpp:
3902         (WebCore::Geolocation::disconnectFrame):
3903         * page/Page.cpp:
3904         (WebCore::networkStateChanged):
3905         (WebCore::Page::~Page):
3906         (WebCore::Page::unmarkAllTextMatches):
3907         (WebCore::Page::setMediaVolume):
3908         * page/animation/AnimationController.cpp:
3909         (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
3910         * page/mac/EventHandlerMac.mm:
3911         (WebCore::EventHandler::currentKeyboardEvent):
3912         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
3913         * page/mac/FrameMac.mm:
3914         (WebCore::Frame::dashboardRegionsDictionary):
3915         (WebCore::Frame::setUserStyleSheetLocation):
3916         (WebCore::Frame::setUserStyleSheet):
3917         * storage/LocalStorageArea.cpp:
3918         (WebCore::LocalStorageArea::dispatchStorageEvent):
3919         * storage/SessionStorageArea.cpp:
3920         (WebCore::SessionStorageArea::dispatchStorageEvent):
3921         * svg/graphics/SVGImage.cpp:
3922         (WebCore::SVGImage::setContainerSize):
3923         (WebCore::SVGImage::usesContainerSize):
3924         (WebCore::SVGImage::size):
3925         (WebCore::SVGImage::hasRelativeWidth):
3926         (WebCore::SVGImage::hasRelativeHeight):
3927         Removed frame->document() checks.
3928
3929 2009-02-10  Adam Treat  <adam.treat@torchmobile.com>
3930
3931         Reviewed by George Staikos.
3932
3933         Attempt to fix the Qt build after r40791.
3934
3935         * rendering/RenderSVGRoot.cpp:
3936
3937 2009-02-10  Adam Treat  <adam.treat@torchmobile.com>
3938
3939         Reviewed by George Staikos.
3940
3941         Minor code cleanup.
3942
3943         * dom/ContainerNode.cpp:
3944         (WebCore::ContainerNode::replaceChild):
3945
3946 2009-02-10  Adam Treat  <adam.treat@torchmobile.com>
3947
3948         Fix Qt build following r40793.
3949
3950         * editing/qt/EditorQt.cpp:
3951
3952 2009-02-10  Feng Qian <feng@chromium.org>
3953
3954         Reviewed by Alexey Proskuryakov.
3955
3956         Fix crashes when accessing navigator object of a deleted frame.
3957         https://bugs.webkit.org/show_bug.cgi?id=23626
3958         A layout test is added: fast/dom/navigator-detached-no-crash.html
3959
3960         * page/Navigator.cpp:
3961         (WebCore::Navigator::cookieEnabled):
3962         (WebCore::Navigator::javaEnabled):
3963
3964 2009-02-10  Sverrir Berg  <sverrir@chromium.org>
3965
3966         Reviewed by Eric Seidel.
3967
3968         https://bugs.webkit.org/show_bug.cgi?id=23630
3969         Add complex font rendering using Skia instead of Windows ScriptTextOut.
3970         This adds support for enhanced webkit styles when drawing complex
3971         glyphs.
3972
3973         * platform/graphics/chromium/FontChromiumWin.cpp:
3974         (WebCore::Font::drawGlyphs):
3975         (WebCore::Font::drawComplexText):
3976         * platform/graphics/chromium/UniscribeHelper.cpp:
3977         (WebCore::containsMissingGlyphs):
3978         (WebCore::UniscribeHelper::draw):
3979         (WebCore::UniscribeHelper::shape):
3980         * platform/graphics/chromium/UniscribeHelper.h:
3981         * platform/graphics/skia/SkiaFontWin.cpp:
3982         (WebCore::windowsCanHandleTextDrawing):
3983         (WebCore::skiaDrawText):
3984         (WebCore::paintSkiaText):
3985         * platform/graphics/skia/SkiaFontWin.h:
3986
3987 2009-02-10  Darin Fisher  <darin@chromium.org>
3988
3989         Revert r40797 as requested by Sam Weinig.
3990
3991         https://bugs.webkit.org/show_bug.cgi?id=23809
3992
3993         * bindings/scripts/CodeGeneratorJS.pm:
3994         * dom/Document.idl:
3995         * html/HTMLCanvasElement.idl:
3996
3997 2009-02-09  Darin Fisher  <darin@chromium.org>
3998
3999         Reviewed by Eric Seidel.
4000
4001         https://bugs.webkit.org/show_bug.cgi?id=23855
4002         Fix TransformationMatrixSkia.cpp and GraphicsContextSkia.cpp bustage
4003
4004         * platform/graphics/skia/GraphicsContextSkia.cpp:
4005         (WebCore::GraphicsContext::getCTM):
4006         * platform/graphics/skia/TransformationMatrixSkia.cpp:
4007         (WebCore::TransformationMatrix::operator SkMatrix):
4008
4009 2009-02-09  Dan Bernstein  <mitz@apple.com>
4010
4011         Reviewed by Dave Hyatt.
4012
4013         - fix <rdar://problem/6568942> REGRESSION: Font rendering in Wikipedia input field is incorrect (default GDI text mode)
4014
4015         * platform/graphics/win/SimpleFontDataWin.cpp:
4016         (WebCore::SimpleFontData::widthForGDIGlyph): Make sure that the DC is
4017         in the advanced graphics mode before calling GetCharWidthI(), because
4018         otherwise that function returns incorrect results for the default UI
4019         font at a certain size.
4020
4021 2009-02-09  Chris Marrin  <cmarrin@apple.com>
4022
4023         Reviewed by Simon Fraser
4024
4025         https://bugs.webkit.org/show_bug.cgi?id=23689
4026
4027         Added 3D functions to WebKitCSSMatrix. This depends on the 3D functions
4028         added to TransformationMatrix in https://bugs.webkit.org/show_bug.cgi?id=6868
4029
4030         Test: transforms/3d/cssmatrix-3d-interface.xhtml
4031
4032         * css/WebKitCSSMatrix.cpp:
4033         * css/WebKitCSSMatrix.h:
4034         * css/WebKitCSSMatrix.idl:
4035
4036 2009-02-09  Mark Rowe  <mrowe@apple.com>
4037
4038         Reviewed by Darin Adler.
4039
4040         Fix <https://bugs.webkit.org/show_bug.cgi?id=23858>
4041         Bug 23858: Crash when removing a HTMLSelectElement from the document from inside its focus event handler
4042
4043         * html/HTMLSelectElement.cpp:
4044         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Don't store the renderer in a local variable
4045         as it can be invalidated by any of the calls to focus() within the function.  Instead, retrieve it and
4046         null-check it when it is needed.
4047
4048 2009-02-09  David Hyatt  <hyatt@apple.com>
4049
4050         Remove the m_height member from InlineBox.  This shaves 4 bytes off of all inline boxes.  Unfortunately SVG
4051         sets heights that are independent of the renderer or of the font, and so all SVG boxes have to retain m_height
4052         member variables.
4053
4054         height() on InlineBox is now a virtual function that does a dynamic computation (including shrinking boxes
4055         with no text children).  For SVG boxes there is also a non-virtual setHeight function for updating the
4056         m_height member variable like before.
4057
4058         Reviewed by Darin Adler
4059
4060         * rendering/EllipsisBox.cpp:
4061         (WebCore::EllipsisBox::nodeAtPoint):
4062         * rendering/EllipsisBox.h:
4063         (WebCore::EllipsisBox::EllipsisBox):
4064         * rendering/InlineBox.cpp:
4065         (WebCore::InlineBox::height):
4066         (WebCore::InlineBox::root):
4067         * rendering/InlineBox.h:
4068         (WebCore::InlineBox::InlineBox):
4069         (WebCore::InlineBox::isInlineFlowBox):
4070         (WebCore::InlineBox::isRootInlineBox):
4071         (WebCore::InlineBox::topOverflow):
4072         (WebCore::InlineBox::bottomOverflow):
4073         (WebCore::InlineBox::leftOverflow):
4074         (WebCore::InlineBox::rightOverflow):
4075         * rendering/InlineFlowBox.cpp:
4076         (WebCore::InlineFlowBox::height):
4077         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
4078         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
4079         (WebCore::InlineFlowBox::placeBoxesVertically):
4080         (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
4081         (WebCore::InlineFlowBox::nodeAtPoint):
4082         * rendering/InlineFlowBox.h:
4083         (WebCore::InlineFlowBox::isInlineFlowBox):
4084         * rendering/InlineTextBox.cpp:
4085         (WebCore::InlineTextBox::height):
4086         (WebCore::InlineTextBox::nodeAtPoint):
4087         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
4088         (WebCore::InlineTextBox::paintCompositionUnderline):
4089         * rendering/InlineTextBox.h:
4090         * rendering/RootInlineBox.cpp:
4091         (WebCore::RootInlineBox::height):
4092         (WebCore::RootInlineBox::placeEllipsis):
4093         (WebCore::RootInlineBox::setVerticalOverflowPositions):
4094         * rendering/RootInlineBox.h:
4095         (WebCore::RootInlineBox::isRootInlineBox):
4096         (WebCore::RootInlineBox::topOverflow):
4097         (WebCore::RootInlineBox::bottomOverflow):
4098         (WebCore::RootInlineBox::leftOverflow):
4099         (WebCore::RootInlineBox::rightOverflow):
4100         (WebCore::RootInlineBox::selectionBottom):
4101         (WebCore::RootInlineBox::Overflow::Overflow):
4102         (WebCore::RootInlineBox::setVerticalSelectionPositions):
4103         * rendering/SVGInlineFlowBox.h:
4104         (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
4105         (WebCore::SVGInlineFlowBox::height):
4106         (WebCore::SVGInlineFlowBox::setHeight):
4107         * rendering/SVGInlineTextBox.cpp:
4108         (WebCore::SVGInlineTextBox::SVGInlineTextBox):
4109         * rendering/SVGInlineTextBox.h:
4110         (WebCore::SVGInlineTextBox::height):
4111         (WebCore::SVGInlineTextBox::setHeight):
4112         * rendering/SVGRootInlineBox.cpp:
4113         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
4114         * rendering/SVGRootInlineBox.h:
4115         (WebCore::SVGRootInlineBox::SVGRootInlineBox):
4116         (WebCore::SVGRootInlineBox::height):
4117         (WebCore::SVGRootInlineBox::setHeight):
4118
4119 2009-02-09  Eric Seidel  <eric@webkit.org>
4120
4121         Reviewed by Sam Weinig.
4122
4123         Document our Selection DOM extensions
4124         (in preparation for re-writing Selection to work with ranges)
4125
4126         * page/DOMSelection.cpp:
4127         (WebCore::DOMSelection::type):
4128         * page/DOMSelection.h:
4129         * page/DOMSelection.idl:
4130
4131 2009-02-09  Eric Seidel  <eric@webkit.org>
4132
4133         Attempt to fix wx build
4134
4135         * WebCoreSources.bkl: change Selection to VisibleSelection
4136
4137 2009-02-06  Darin Fisher  <darin@chromium.org>
4138
4139         Reviewed by Eric Seidel.
4140
4141         https://bugs.webkit.org/show_bug.cgi?id=23809
4142         Return CanvasRenderingContext2D instead of DOMObject in IDL to avoid V8 #ifdefs
4143
4144         * bindings/scripts/CodeGeneratorJS.pm:
4145         * dom/Document.idl:
4146         * html/HTMLCanvasElement.idl:
4147
4148 2009-02-09  Dirk Schulze  <krit@webkit.org>
4149
4150         Reviewed by Eric Seidel.
4151
4152         Transform the gradient instead of the context for most platforms and
4153         transform the context after CGContextReplacePathWithStrokedPath for CG.
4154
4155         REGRESSION: SVG gradient transformation/BoundingBox can cause ugly stroke thickness
4156         https://bugs.webkit.org/show_bug.cgi?id=23547
4157
4158         * platform/graphics/Gradient.h:
4159         (WebCore::Gradient::setGradientSpaceTransform):
4160         (WebCore::Gradient::gradientSpaceTransform):
4161         * platform/graphics/cairo/GradientCairo.cpp:
4162         (WebCore::Gradient::platformGradient):
4163         * platform/graphics/cg/GraphicsContextCG.cpp:
4164         (WebCore::GraphicsContext::fillPath):
4165         (WebCore::GraphicsContext::strokePath):
4166         (WebCore::GraphicsContext::fillRect):
4167         * platform/graphics/qt/GraphicsContextQt.cpp:
4168         (WebCore::GraphicsContext::fillPath):
4169         (WebCore::GraphicsContext::strokePath):
4170         (WebCore::GraphicsContext::fillRect):
4171         * platform/graphics/skia/GradientSkia.cpp:
4172         (WebCore::Gradient::platformGradient):
4173         * svg/graphics/SVGPaintServerGradient.cpp:
4174         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
4175         (WebCore::clipToTextMask):
4176         (WebCore::SVGPaintServerGradient::setup):
4177         (WebCore::SVGPaintServerGradient::teardown):
4178
4179 2009-02-09  Sam Weinig  <sam@webkit.org>
4180
4181         Reviewed by David Hyatt.
4182
4183         Fix the highlight when inspecting inline elements.
4184
4185         * inspector/InspectorController.cpp:
4186         (WebCore::drawHighlightForBox):
4187         (WebCore::drawHighlightForLineBoxes):
4188         (WebCore::InspectorController::drawNodeHighlight):
4189
4190 2009-02-09  Eric Seidel  <eric@webkit.org>
4191
4192         Fix the gtk build by adding VisibleSelection and removing Selection.
4193
4194         * GNUmakefile.am:
4195
4196 2009-02-09  Eric Seidel  <eric@webkit.org>
4197
4198         Reviewed by Dave Hyatt.
4199
4200         Rename Selection to VisibleSelection to allow us to separate
4201         the selections the user works with from the ones used by
4202         the JS editing APIs.
4203         https://bugs.webkit.org/show_bug.cgi?id=23852
4204
4205         No functional changes, thus no tests.
4206
4207         * WebCore.base.exp:
4208         * WebCore.pro:
4209         * WebCore.scons:
4210         * WebCore.vcproj/WebCore.vcproj:
4211         * WebCore.xcodeproj/project.pbxproj:
4212         * dom/Element.cpp:
4213         (WebCore::Element::updateFocusAppearance):
4214         * editing/ApplyStyleCommand.cpp:
4215         (WebCore::ApplyStyleCommand::updateStartEnd):
4216         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
4217         * editing/BreakBlockquoteCommand.cpp:
4218         (WebCore::BreakBlockquoteCommand::doApply):
4219         * editing/CompositeEditCommand.cpp:
4220         (WebCore::CompositeEditCommand::inputText):
4221         (WebCore::CompositeEditCommand::deleteSelection):
4222         (WebCore::CompositeEditCommand::rebalanceWhitespace):
4223         (WebCore::CompositeEditCommand::pushAnchorElementDown):
4224         (WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown):
4225         (WebCore::CompositeEditCommand::moveParagraphs):
4226         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
4227         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
4228         * editing/CompositeEditCommand.h:
4229         * editing/CreateLinkCommand.cpp:
4230         (WebCore::CreateLinkCommand::doApply):
4231         * editing/DeleteButtonController.cpp:
4232         (WebCore::enclosingDeletableElement):
4233         (WebCore::DeleteButtonController::respondToChangedSelection):
4234         * editing/DeleteButtonController.h:
4235         * editing/DeleteSelectionCommand.cpp:
4236         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
4237         (WebCore::DeleteSelectionCommand::clearTransientState):
4238         (WebCore::DeleteSelectionCommand::doApply):
4239         * editing/DeleteSelectionCommand.h:
4240         (WebCore::DeleteSelectionCommand::create):
4241         * editing/EditCommand.cpp:
4242         (WebCore::EditCommand::setStartingSelection):
4243   &nb