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