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