2009-07-07 Yury Semikhatsky <yurys@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-07-07  Yury Semikhatsky  <yurys@chromium.org>
2
3         Reviewed by Timothy Hatcher.
4
5         Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug.
6
7         https://bugs.webkit.org/show_bug.cgi?id=23849
8
9         * inspector/front-end/ScriptsPanel.js:
10         (WebInspector.ScriptsPanel):
11
12 2009-07-06  Albert J. Wong  <ajwong@chromium.org>
13
14         Reviewed by Maciej Stachowiak.
15
16         Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API
17         change.
18
19         Fix compile RenderThemeChromiumMac.mm due to API changes from r45572
20         https://bugs.webkit.org/show_bug.cgi?id=27018
21
22         This is mainly an API change update to fix the chromium compile.  It
23         also has a small fix of a typo in RenderThemeMac.mm.
24
25         Compilation against the head of chromium trunk passed.  Since this is
26         a compile fix, that should be sufficient.
27
28         * rendering/RenderThemeChromiumMac.mm:
29         (WebCore::):
30         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
31         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
32         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
33         (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
34         (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
35         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
36         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
37         * rendering/RenderThemeMac.mm:
38         (WebCore::):
39
40 2009-07-06  David Kilzer  <ddkilzer@apple.com>
41
42         Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter
43
44         <https://bugs.webkit.org/show_bug.cgi?id=27002>
45
46         Reviewed by Geoff Garen.
47
48         * html/CanvasRenderingContext2D.cpp:
49         (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
50         Mark gradient as an unused parameter when DASHBOARD_SUPPORT is
51         disabled.
52
53 2009-07-06  David Kilzer  <ddkilzer@apple.com>
54
55         Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node>
56
57         <https://bugs.webkit.org/show_bug.cgi?id=27001>
58
59         Reviewed by Geoff Garen.
60
61         PassRefPtr<> should only be used for arguments to functions that
62         take ownership of the object, or as return values from functions
63         that relinquish ownership of the object.
64
65         * editing/Editor.cpp:
66         (WebCore::Editor::increaseSelectionListLevelOrdered): Changed
67         stack-allocated PassRefPtr<Node> to RefPtr<Node> and call
68         release() on returned object.
69         (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto.
70
71 2009-07-06  Eric Carlson  <eric.carlson@apple.com>
72
73         Reviewed by Simon Fraser.
74
75         <rdar://problem/7035474> Make new media controller UI default on SnowLeopard
76
77         * rendering/RenderThemeMac.mm:
78         (WebCore::mediaControllerTheme):
79             New media controller UI is enabled by default on SnowLeopard.
80
81 2009-07-06  Nate Chapin  <japhet@chromium.org>
82
83         Unreviewed, build fix.
84
85         Roll out r45559 to fix Chromium canary.
86
87         https://bugs.webkit.org/show_bug.cgi?id=26857
88
89         * bindings/scripts/CodeGeneratorV8.pm:
90         * bindings/v8/V8Binding.cpp: Removed.
91         * bindings/v8/V8Binding.h:
92         (WebCore::toInt32):
93         (WebCore::toWebCoreString):
94         (WebCore::fromWebCoreString):
95         (WebCore::toWebCoreStringWithNullCheck):
96         (WebCore::isUndefinedOrNull):
97         (WebCore::v8Boolean):
98         * bindings/v8/V8LazyEventListener.cpp:
99         (WebCore::V8LazyEventListener::getListenerFunction):
100         * bindings/v8/V8Proxy.cpp:
101         (WebCore::handleConsoleMessage):
102         (WebCore::V8Proxy::compileScript):
103         (WebCore::V8Proxy::sourceName):
104         * bindings/v8/WorkerContextExecutionProxy.cpp:
105         (WebCore::handleConsoleMessage):
106         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
107         (WebCore::NAMED_PROPERTY_SETTER):
108         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
109         (WebCore::CALLBACK_FUNC_DECL):
110         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
111         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
112         * bindings/v8/custom/V8DOMWindowCustom.cpp:
113         (WebCore::CALLBACK_FUNC_DECL):
114         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
115         (WebCore::CALLBACK_FUNC_DECL):
116         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
117         (WebCore::ACCESSOR_SETTER):
118         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
119         (WebCore::CALLBACK_FUNC_DECL):
120         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
121         (WebCore::removeElement):
122         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
123         (WebCore::CALLBACK_FUNC_DECL):
124         * bindings/v8/custom/V8WorkerContextCustom.cpp:
125         (WebCore::SetTimeoutOrInterval):
126         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
127         (WebCore::CALLBACK_FUNC_DECL):
128
129 2009-07-06  Eric Carlson  <eric.carlson@apple.com>
130
131         Reviewed by Darin Adler.
132
133         <rdar://problem/7008093> Media controller can’t be used to scrub when movie is 
134         narrow — track is too narrow
135
136         Do not show media controller time display elements when the a movie is too narrow.
137
138         * platform/mac/WebCoreSystemInterface.h:
139         * platform/mac/WebCoreSystemInterface.mm:
140             The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
141
142         * rendering/MediaControlElements.cpp:
143         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
144             Give current time and time remaining controls a common base class.
145         (WebCore::MediaControlTimeDisplayElement::setVisible):
146             New method, hide and show the element.
147         * rendering/MediaControlElements.h:
148
149         * rendering/RenderMedia.cpp:
150         (WebCore::RenderMedia::RenderMedia):
151             Initialize m_previousVisible.
152         (WebCore::RenderMedia::layout):
153             Show/hide the time display elements as the movie width changes.
154         (WebCore::RenderMedia::createCurrentTimeDisplay):
155         (WebCore::RenderMedia::createTimeRemainingDisplay):
156             Base class is now MediaControlTimeDisplayElement, not MediaControlElement.
157         (WebCore::RenderMedia::shouldShowTimeDisplayControls):
158             New, decide if time display elements should be visible or not.
159         * rendering/RenderMedia.h:
160
161         * rendering/RenderThemeMac.mm:
162         (WebCore::):
163         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
164         (WebCore::RenderThemeMac::paintMediaMuteButton):
165         (WebCore::RenderThemeMac::paintMediaPlayButton):
166         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
167         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
168         (WebCore::RenderThemeMac::paintMediaSliderTrack):
169         (WebCore::RenderThemeMac::paintMediaSliderThumb):
170         (WebCore::RenderThemeMac::paintMediaRewindButton):
171         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
172         (WebCore::RenderThemeMac::paintMediaControlsBackground):
173         (WebCore::RenderThemeMac::paintMediaCurrentTime):
174         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
175             The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
176
177 2009-07-06  David Kilzer  <ddkilzer@apple.com>
178
179         Bug 27000: Minor clean up to runtime_root.{cpp|h}
180
181         <https://bugs.webkit.org/show_bug.cgi?id=27000>
182
183         Reviewed by Geoff Garen.
184
185         * bridge/runtime_root.cpp: Added blank line between license and
186         the first #include statement.
187         * bridge/runtime_root.h: Added comment to #endif.
188
189 2009-07-06  Roland Steiner  <rolandsteiner@google.com>
190
191         Reviewed by Maciej Stachowiak.
192
193         generalize the special height treatment for SVG (to be re-used for ruby):
194             renamed InlineBox::m_isSVG to m_hasVirtualHeight
195             renamed InlineBox::isSVG() to hasVirtualHeight()
196             renamed InlineBox::setIsSVG() to setHasVirtualHeight()
197
198         * rendering/InlineBox.cpp:
199         (WebCore::InlineBox::height):
200         * rendering/InlineBox.h:
201         (WebCore::InlineBox::InlineBox):
202         (WebCore::InlineBox::isText):
203         (WebCore::InlineBox::setIsText):
204         (WebCore::InlineBox::isSVGRootInlineBox):
205         (WebCore::InlineBox::hasVirtualHeight):
206         (WebCore::InlineBox::setHasVirtualHeight):
207         (WebCore::InlineBox::virtualHeight):
208         * rendering/RenderSVGInline.cpp:
209         (WebCore::RenderSVGInline::createFlowBox):
210         * rendering/RenderSVGInlineText.cpp:
211         (WebCore::RenderSVGInlineText::createTextBox):
212         * rendering/RenderSVGText.cpp:
213         (WebCore::RenderSVGText::createRootBox):
214         * rendering/SVGInlineFlowBox.h:
215         (WebCore::SVGInlineFlowBox::virtualHeight):
216         * rendering/SVGInlineTextBox.h:
217         (WebCore::SVGInlineTextBox::virtualHeight):
218         * rendering/SVGRootInlineBox.h:
219         (WebCore::SVGRootInlineBox::virtualHeight):
220
221 2009-07-06  Alice Liu  <alice.liu@apple.com>
222
223         Reviewed by Darin Adler.
224
225         REGRESSION(r45285): focus rings are black on windows safari
226         https://bugs.webkit.org/show_bug.cgi?id=26821
227         <rdar://problem/7018252>
228
229         Add a mechanism for setting a custom focus ring color, and relocate the 
230         determination of focus ring color to base class RenderTheme.
231
232         No new tests.  Already-existing tests run in pixel mode would have caught this regression
233
234         * css/CSSStyleSelector.cpp:
235         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility
236         of determining focus color to base class RenderTheme.
237         * rendering/RenderTheme.cpp:
238         (WebCore::customFocusRingColor): Added static local.
239         (WebCore::RenderTheme::setCustomFocusRingColor): Added
240         (WebCore::RenderTheme::focusRingColor): Use custom color over platform color.
241         * rendering/RenderTheme.h:
242         (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color
243         * rendering/RenderThemeSafari.cpp:
244         (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin
245         are the same under which we want to use the focus ring color from SafariTheme.
246         (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor
247         * rendering/RenderThemeSafari.h:
248
249         Renaming focusRingColor to platformFocusRingColor in these files:
250         * rendering/RenderThemeChromiumMac.h:
251         * rendering/RenderThemeChromiumMac.mm:
252         (WebCore::RenderThemeChromiumMac::platformFocusRingColor):
253         * rendering/RenderThemeChromiumSkia.cpp:
254         (WebCore::RenderThemeChromiumSkia::platformFocusRingColor):
255         * rendering/RenderThemeChromiumSkia.h:
256         * rendering/RenderThemeMac.h:
257         * rendering/RenderThemeMac.mm:
258         (WebCore::RenderThemeMac::platformFocusRingColor):
259
260         Cleanup leftover from removal of WebCore::Color in r45285 in these files:
261         * WebCore.order:
262         * platform/graphics/Color.h:
263
264 2009-07-06  Shinichiro Hamaji  <hamaji@chromium.org>
265
266         Reviewed by David Hyatt.
267
268         Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's
269         contents makes its container scroll to the top
270         https://bugs.webkit.org/show_bug.cgi?id=15135
271
272         Delay updateing scroll bar of descendants of flexbox until their
273         positions are determined.  In this way we can prevent descendants
274         of flexible boxes from changing positions of their scrollbars
275         using tentative positions.
276
277         Test: fast/flexbox/repaint-scrollbar.html
278
279         * rendering/RenderBlock.cpp:
280         (WebCore::RenderBlock::startDelayUpdateScrollInfo):
281         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
282         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
283         (WebCore::RenderBlock::layoutBlock):
284         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
285         * rendering/RenderBlock.h:
286         * rendering/RenderFlexibleBox.cpp:
287         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
288         (WebCore::RenderFlexibleBox::layoutVerticalBox):
289
290 2009-07-06  Hironori Bono  <hbono@chromium.org>
291
292         Reviewed by Maciej Stachowiak.
293
294         Make unconfirmed IME text affect textarea's value.
295         This matches input and contentEditable elements as well
296         IE and Firefox.
297
298         This fixes https://bugs.webkit.org/show_bug.cgi?id=25061.
299
300         Input elements would go down this code path because it
301         would always get a null compositionNode from frame->editor().
302         Special casing compositionNodes is wrong because we explicitly
303         want unconfirmed IME input in the textarea's value (assuming we
304         want to match IE and Firefox here).
305
306         This change is originally created by Ojan Vafai <ojan@chromium.org> and
307         I just changed its manual tests with an automated test on his behalf.
308
309         Test: platform/mac/editing/input/text-control-ime-input.html
310
311         * rendering/RenderTextControl.cpp:
312         (WebCore::RenderTextControl::text):
313         (WebCore::RenderTextControl::textWithHardLineBreaks):
314
315 2009-07-06  Anders Carlsson  <andersca@apple.com>
316
317         Reviewed by Adele Peterson.
318
319         Add the ability for wheel events to latch to a node.
320         
321         * WebCore.base.exp:
322         * page/EventHandler.cpp:
323         (WebCore::EventHandler::EventHandler):
324         (WebCore::EventHandler::clear):
325         (WebCore::EventHandler::handleWheelEvent):
326         * page/EventHandler.h:
327         * page/mac/EventHandlerMac.mm:
328         (WebCore::EventHandler::wheelEvent):
329         * platform/mac/WebCoreSystemInterface.h:
330         * platform/mac/WebCoreSystemInterface.mm:
331
332 2009-07-06  Nate Chapin  <japhet@chromium.org>
333
334         Reviewed by Dimitri Glazkov.
335
336         Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL.
337
338         https://bugs.webkit.org/show_bug.cgi?id=26997
339
340         * bindings/v8/V8Binding.cpp:
341         (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL.
342
343 2009-07-06  Pavel Feldman  <pfeldman@chromium.org>
344
345         Reviewed by Timothy Hatcher.
346
347         WebInspector: suggest global properties based on async evaluation.
348
349         https://bugs.webkit.org/show_bug.cgi?id=26976
350
351         Before this change, empty string was evaluated to the global object
352         (or scope chain object) synchronously. This is now fixed and global
353         object is evaluated using the same control flow.
354
355         * inspector/front-end/Console.js:
356         (WebInspector.Console.prototype.completions):
357         (WebInspector.Console.prototype._evalInInspectedWindow):
358         * inspector/front-end/ScriptsPanel.js:
359         (WebInspector.ScriptsPanel.prototype._variablesInScope):
360
361 2009-07-06  Ojan Vafai  <ojan@chromium.org>
362
363         Reviewed by Eric Seidel.
364
365         Fix crash when indenting in an empty table cell.
366         https://bugs.webkit.org/show_bug.cgi?id=26872
367
368         The crash is that we would call splitTreeToNode where the node
369         and the nodeToSplitTo were the same node.
370
371         Test: editing/execCommand/indent-empty-table-cell.html
372
373         * editing/CompositeEditCommand.cpp:
374         (WebCore::CompositeEditCommand::splitTreeToNode):
375         Added an assert in that node and nodeToSplitTo
376         are different nodes to make this assumption explicit.
377
378         * editing/IndentOutdentCommand.cpp:
379         (WebCore::IndentOutdentCommand::isAtUnsplittableElement):
380         (WebCore::IndentOutdentCommand::indentRegion):
381         * editing/IndentOutdentCommand.h:
382
383 2009-07-06  Nate Chapin  <japhet@chromium.org>
384
385         Reviewed by David Levin.
386
387         Upstream V8Binding and update some function names.
388
389         https://bugs.webkit.org/show_bug.cgi?id=26857
390
391         * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files.
392         * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org.
393         * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org.
394         * bindings/v8/V8LazyEventListener.cpp:
395         (WebCore::V8LazyEventListener::getListenerFunction):
396         * bindings/v8/V8Proxy.cpp:
397         (WebCore::handleConsoleMessage):
398         (WebCore::V8Proxy::compileScript):
399         (WebCore::V8Proxy::sourceName):
400         * bindings/v8/WorkerContextExecutionProxy.cpp:
401         (WebCore::handleConsoleMessage):
402         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
403         (WebCore::NAMED_PROPERTY_SETTER):
404         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
405         (WebCore::CALLBACK_FUNC_DECL):
406         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
407         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
408         * bindings/v8/custom/V8DOMWindowCustom.cpp:
409         (WebCore::CALLBACK_FUNC_DECL):
410         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
411         (WebCore::CALLBACK_FUNC_DECL):
412         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
413         (WebCore::ACCESSOR_SETTER):
414         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
415         (WebCore::CALLBACK_FUNC_DECL):
416         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
417         (WebCore::removeElement):
418         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
419         (WebCore::CALLBACK_FUNC_DECL):
420         * bindings/v8/custom/V8WorkerContextCustom.cpp:
421         (WebCore::SetTimeoutOrInterval):
422         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
423         (WebCore::CALLBACK_FUNC_DECL):
424
425 2009-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
426
427         Reviewed by Jan Alonzo.
428
429         Use soup's content sniffing
430         https://bugs.webkit.org/show_bug.cgi?id=26982
431
432         Drop our hackish content sniffing code, and use the new libsoup
433         feature to do that job for us.
434
435         Testing this is in a cross-platform way is not obvious or possible
436         while we are using platform-specific code for sniffing.
437
438         * platform/network/ResourceHandleInternal.h:
439         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
440         * platform/network/soup/ResourceHandleSoup.cpp:
441         (WebCore::gotHeadersCallback):
442         (WebCore::contentSniffedCallback):
443         (WebCore::gotChunkCallback):
444         (WebCore::ResourceHandle::startHttp):
445
446 2009-07-05  Antonio Gomes  <antonio.gomes@openbossa.org>
447
448         Reviewed by Darin Adler.
449
450         REGRESSION (r40499): fast/dom/cssTarget-crash.html fails
451         https://bugs.webkit.org/show_bug.cgi?id=20342
452
453         Re-added code removed by commit r40499.
454         Without this, both Qt and Mac were crashing while running the test.
455
456         Note that this does not entirely fix the bug. It fixes the WebCore
457         crash, but the test no longer seems to work due to loader changes.
458         So this patch does not reenable the test. The test probably has to
459         be rewritten.
460
461         * dom/ContainerNode.cpp:
462         (WebCore::ContainerNode::removedFromDocument): Re-added code to
463         set the CSS target of the document to 0.
464
465 2009-07-05  Chris Marrin  <cmarrin@apple.com>
466
467         Reviewed by Simon Fraser.
468
469         https://bugs.webkit.org/show_bug.cgi?id=26943
470
471         When one transition finishes slightly before another the longer
472         one will fire a second time. This is because the second
473         ImplicitAnmation object is culled too early, before its final
474         RenderStyle is in place. This is done by cleanupFinishedAnimations()
475         so I got rid of that method completely and now cleanup each
476         transition or animation at the point where I am setting the final
477         style, or when I detect that the transition or animation has been
478         terminated early (which happens when you remove it from the style).
479
480         Test: transitions/extra-transition.html
481
482         * page/animation/AnimationController.cpp:
483         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
484         * page/animation/CompositeAnimation.cpp:
485         (WebCore::CompositeAnimation::updateTransitions):
486         (WebCore::CompositeAnimation::updateKeyframeAnimations):
487         (WebCore::CompositeAnimation::animate):
488         * page/animation/CompositeAnimation.h:
489
490         * page/animation/AnimationBase.cpp:
491         (WebCore::AnimationBase::getTimeToNextEvent):
492         Avoid a divide by zero if m_animation->duration() is zero, which can happen
493         if the duration is changed to zero while the animation is running.
494
495 2009-07-05  Simon Fraser  <simon.fraser@apple.com>
496
497         Revert the previous commit because it broke the
498         animations/transition-and-animation-1.html
499         testcase.
500
501         * page/animation/AnimationBase.cpp:
502         (WebCore::AnimationBase::getTimeToNextEvent):
503         * page/animation/AnimationController.cpp:
504         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
505         * page/animation/CompositeAnimation.cpp:
506         (WebCore::CompositeAnimation::updateTransitions):
507         (WebCore::CompositeAnimation::updateKeyframeAnimations):
508         (WebCore::CompositeAnimation::animate):
509         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
510         * page/animation/CompositeAnimation.h:
511
512 2009-07-05  Chris Marrin  <cmarrin@apple.com>
513
514         Reviewed by Simon Fraser.
515
516         https://bugs.webkit.org/show_bug.cgi?id=26943
517
518         When one transition finishes slightly before another the longer
519         one will fire a second time. This is because the second 
520         ImplicitAnmation object is culled too early, before its final
521         RenderStyle is in place. This is done by cleanupFinishedAnimations()
522         so I got rid of that method completely and now cleanup each 
523         transition or animation at the point where I am setting the final
524         style, or when I detect that the transition or animation has been
525         terminated early (which happens when you remove it from the style).
526
527         Test: transitions/extra-transition.html
528
529         * page/animation/AnimationController.cpp:
530         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
531         * page/animation/CompositeAnimation.cpp:
532         (WebCore::CompositeAnimation::updateTransitions):
533         (WebCore::CompositeAnimation::updateKeyframeAnimations):
534         (WebCore::CompositeAnimation::animate):
535         * page/animation/CompositeAnimation.h:
536
537         * page/animation/AnimationBase.cpp:
538         (WebCore::AnimationBase::getTimeToNextEvent):
539         Avoid a divide by zero if m_animation->duration() is zero, which can happen
540         if the duration is changed to zero while the animation is running.
541
542 2009-07-05  Lars Knoll  <lars.knoll@nokia.com>
543
544         Reviewed by Maciej Stachowiak.
545
546         https://bugs.webkit.org/show_bug.cgi?id=26843
547
548         Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
549
550         The Metrowerks compiler on the Symbian platform moves the globally
551         defined Hashtables into read-only memory, despite one of the members
552         being mutable. This causes crashes at run-time due to write access to
553         read-only memory.
554
555         Avoid the use of const with this compiler by introducing the
556         JSC_CONST_HASHTABLE macro.
557
558         Based on idea by Norbert Leser.
559
560         * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables
561         define in the bindings.
562
563 2009-07-05  Rob Buis  <rwlbuis@gmail.com>
564
565         Reviewed by Maciej Stachowiak.
566
567         Bug 26897 - Dynamic SVG images do not display correctly
568         https://bugs.webkit.org/show_bug.cgi?id=26897
569
570         Use repaint() to fix a rendering problem with a SVG image embedded in xhtml.
571
572         Test: svg/custom/createImageElement2.xhtml
573
574         * rendering/RenderSVGImage.cpp:
575         (WebCore::RenderSVGImage::imageChanged):
576
577 2009-07-05  Xan Lopez  <xlopez@igalia.com>
578
579         Reviewed by Jan Alonzo.
580
581         https://bugs.webkit.org/show_bug.cgi?id=26960
582         [Gtk] caret offset not updated when selecting text
583
584         Report the caret offset from the end of the selection so it works
585         correctly for multi-char selections too (ie, anything that is not
586         the zero width caret).
587
588         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
589         (webkit_accessible_text_get_caret_offset):
590
591 2009-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>
592
593         Unreviewed link fix for Qt.
594
595         Fix Qt link error by adding two new localized strings
596
597         In r45474 two new strings got added to LocalizedStrings.h add
598         the definition of them to Qt.
599
600         * platform/qt/Localizations.cpp:
601         (WebCore::mediaElementLoadingStateText):
602         (WebCore::mediaElementLiveBroadcastStateText):
603
604 2009-07-03  Darin Adler  <darin@apple.com>
605
606         Reviewed by Adele Peterson.
607
608         REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com
609         https://bugs.webkit.org/show_bug.cgi?id=26959
610         rdar://problem/7029882
611
612         The code to handle iteration boundaries was malfunctioning when the boundary was
613         at the edge of a shadow tree. This happens all the time with <input> elements.
614
615         It's not immediately obvious how to make a regression test for this since the
616         symptom was a performance problem, not incorrect behavior. I'll add a test if I
617         figure out a way to make one.
618
619         * editing/TextIterator.cpp:
620         (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent.
621         (WebCore::depthCrossingShadowBoundaries): Updated for name change.
622         (WebCore::nextInPreOrderCrossingShadowBoundaries): Added.
623         (WebCore::previousInPostOrderCrossingShadowBoundaries): Added.
624         (WebCore::setUpFullyClippedStack): Updated for name change.
625         (WebCore::TextIterator::TextIterator): Updated for name change. Use
626         nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug.
627         (WebCore::TextIterator::advance): Updated for name change.
628         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
629         Tweaked formatting.
630         (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that
631         initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries.
632         (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting.
633         (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
634
635 2009-07-03  Simon Fraser  <simon.fraser@apple.com>
636
637         Reviewed by Sam Weinig.
638
639         Background audio stops playing when JS GC runs
640         https://bugs.webkit.org/show_bug.cgi?id=26956
641         
642         Ensure we keep the Audio object around while it is playing, so that it
643         doesn't get collected.
644         
645         Not testable because there's no way to know whether the audio keeps
646         playing without holding a reference to it.
647
648         * bindings/js/JSDOMBinding.cpp:
649         (WebCore::isObservableThroughDOM):
650
651 2009-07-02  Xan Lopez  <xlopez@igalia.com>
652
653         Reviewed by Jan Alonzo.
654
655         https://bugs.webkit.org/show_bug.cgi?id=26814
656         [Gtk] Caret-moved events are not issued for the correct offset
657         when text is selected forward
658
659         Report the caret offset from the end of the selection, otherwise
660         we'll report the same offset when moving the caret while
661         modififying the selection (eg, with Shift + Right).
662
663         * editing/gtk/SelectionControllerGtk.cpp:
664         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
665
666 2009-07-02  Xan Lopez  <xlopez@igalia.com>
667
668         Reviewed by Jan Alonzo.
669
670         https://bugs.webkit.org/show_bug.cgi?id=26815
671         [Gtk] text-selection-changed events are not issued for the correct
672         object when the selection spans multiple objects
673
674         Get the focused node from the end of the selection, not the start,
675         so we can detect when we cross object boundaries.
676
677         * editing/gtk/SelectionControllerGtk.cpp:
678         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
679
680 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
681
682         Reviewed by Simon Fraser.
683
684         https://bugs.webkit.org/show_bug.cgi?id=26947
685
686         Fix the media controls hit tests. They may lose click events.
687
688         Test cases already covered in the video-controls-zoomed tests.
689
690         Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough.
691
692         * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart.
693         * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart.
694
695 2009-07-02  Roland Steiner  <rolandsteiner@google.com>
696
697         Reviewed by Eric Seidel.
698
699         RenderBlock and RenderInline have confusingly named object creation methods:
700         RenderBlock::createRootBox/createRootInlineBox
701         RenderInline::createFlowBox/createInlineFlowBox
702         where the 2nd method in both cases just calls the first and then appends the created object.
703         I therefore renamed those methods to something IMHO more informative:
704         
705         createRootBox()         -> createRootInlineBox()
706         createRootInlineBox()   -> createAndAppendRootInlineBox();
707         createFlowBox()         -> createInlineFlowBox();
708         createInlineFlowBox()   -> createAndAppendInlineFlowBox();
709
710         https://bugs.webkit.org/show_bug.cgi?id=26828
711
712         * rendering/RenderBlock.cpp:
713         (WebCore::RenderBlock::createRootInlineBox):
714         (WebCore::RenderBlock::createAndAppendRootInlineBox):
715         * rendering/RenderBlock.h:
716         * rendering/RenderInline.cpp:
717         (WebCore::RenderInline::createInlineFlowBox):
718         (WebCore::RenderInline::createAndAppendInlineFlowBox):
719         * rendering/RenderInline.h:
720         * rendering/RenderSVGInline.cpp:
721         (WebCore::RenderSVGInline::createInlineFlowBox):
722         * rendering/RenderSVGInline.h:
723         * rendering/RenderSVGText.cpp:
724         (WebCore::RenderSVGText::createRootInlineBox):
725         * rendering/RenderSVGText.h:
726         * rendering/bidi.cpp:
727         (WebCore::createInlineBoxForRenderer):
728
729 2009-07-02  Pavel Feldman  <pfeldman@chromium.org>
730
731         Reviewed by Timothy Hatcher.
732
733         WebInspector: Fix typo in the resource panel enabler caption.
734
735         https://bugs.webkit.org/show_bug.cgi?id=26753
736
737         * English.lproj/localizedStrings.js:
738         * inspector/front-end/ResourcesPanel.js:
739         (WebInspector.ResourcesPanel):
740
741 2009-07-02  Erik Arvidsson  <arv@chromium.org>
742
743         Reviewed by Adam Roben.
744
745         [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
746         https://bugs.webkit.org/show_bug.cgi?id=26699
747
748         * manual-tests/drag-escape.html: Added.
749         * page/EventHandler.cpp:
750         (WebCore::EventHandler::dragSourceEndedAt):
751
752 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
753
754         Reviewed by Simon Fraser. 
755         
756         https://bugs.webkit.org/show_bug.cgi?id=26944
757
758         Make sure we support full page zoom in video controls.
759
760         This is tracked by a the video-controls-zoom test case.
761
762         * css/mediaControlsQT.css: Make sure we don't have any inherited margin.
763         * rendering/MediaControlElements.cpp:
764         (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext.
765         * rendering/RenderThemeMac.mm: Adjust the painting rect.
766         (WebCore::getUnzoomedRectAndAdjustCurrentContext):
767         (WebCore::RenderThemeMac::paintMediaSliderTrack):
768         (WebCore::RenderThemeMac::paintMediaCurrentTime):
769         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
770
771 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
772
773         Fix the Gtk build after r45474. The localized strings should
774         have been added there.
775
776         * platform/gtk/LocalizedStringsGtk.cpp:
777         (WebCore::mediaElementLoadingStateText):
778         (WebCore::mediaElementLiveBroadcastStateText):
779
780 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
781
782         Reviewed by Simon Fraser.
783
784         https://bugs.webkit.org/show_bug.cgi?id=26939
785
786         Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html
787
788         We fix two things:
789         - We use px instead of em, because px is used everywhere else
790         and because 0.09em hit the font size limit.
791         - We use -webkit-box instead of inline-block because in strict mode
792         inline-block has a different behavior.
793
794         Test: media/controls-strict.html
795
796         * css/mediaControlsQT.css:
797
798 2009-07-02  David Hyatt  <hyatt@apple.com>
799
800         Reviewed by Dan Bernstein.
801
802         TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style.
803         https://bugs.webkit.org/show_bug.cgi?id=26942
804
805         * editing/TextIterator.cpp:
806         (WebCore::fullyClipsContents):
807
808 2009-07-02  Sam Weinig  <sam@webkit.org>
809
810         Reviewed by Dave Hyatt.
811
812         Fix for <rdar://problem/5230700>
813         Remove local .xhtml file workaround
814
815         * platform/network/mac/ResourceResponseMac.mm:
816         (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary.
817
818 2009-07-02  Anders Carlsson  <andersca@apple.com>
819
820         Reviewed by Dan Bernstein.
821
822         Sort, add functions used by WebKit.
823         
824         * WebCore.base.exp:
825
826 2009-07-02  Brady Eidson  <beidson@apple.com>
827
828         Rubberstamped by Sam Weinig.
829
830         More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
831
832         * platform/network/mac/WebCoreURLResponse.mm:
833         (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery.
834
835 2009-07-02  Adam Langley  <agl@google.com>
836
837         Reviewed by Eric Seidel.
838
839         Chromium Linux: fix complex text rendering with line break characters.
840
841         https://bugs.webkit.org/show_bug.cgi?id=26935
842
843         If the CSS white-space property is inhibiting line breaking, we might
844         find end-of-line characters rendered via the complex text path. Fonts
845         don't provide glyphs for these code points so, if we find one, we
846         simulate the space glyph being interposed in this case.  Because the
847         input is variable-length per code point, we walk the input in step
848         with the output.
849
850         Covered by:
851             LayoutTests/fast/text/international/bidi-linebreak-002.html
852             LayoutTests/fast/text/international/bidi-linebreak-003.html
853             LayoutTests/fast/text/international/hindi-whitespace.html
854
855         * platform/graphics/chromium/HarfbuzzSkia.cpp:
856         (WebCore::stringToGlyphs):
857
858 2009-07-02  Victor Wang  <victorw@chromium.org>
859
860         Reviewed by Darin Fisher.
861
862         https://bugs.webkit.org/show_bug.cgi?id=26521
863         Expose file size to chromium.
864
865         Implement getFileSize() for Chromium.
866
867         * platform/chromium/ChromiumBridge.h:
868         * platform/chromium/FileSystemChromium.cpp:
869         (WebCore::getFileSize):
870
871 2009-07-02  Nate Chapin  <japhet@chromium.org>
872
873         Unreviewed, build fix.
874
875         * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list.
876
877 2009-07-02  Simon Fraser  <simon.fraser@apple.com>
878
879         Build fix: add missing #include.
880
881         * platform/mac/ThemeMac.mm:
882
883 2009-07-02  Simon Fraser  <simon.fraser@apple.com>
884
885         Reviewed by Dave Hyatt.
886
887         <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed
888
889         Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code
890         that can possibly throw Objective-C exceptions when drawing Mac form controls.
891
892         * platform/mac/ThemeMac.mm:
893         (WebCore::paintCheckbox):
894         (WebCore::paintRadio):
895         (WebCore::paintButton):
896         (WebCore::ThemeMac::inflateControlPaintRect):
897
898 2009-07-02  Nate Chapin  <japhet@chromium.org>
899
900         Reviewed by David Levin.
901
902         Upstream V8SVGPODTypeWrapper.
903
904         https://bugs.webkit.org/show_bug.cgi?id=26907
905
906         * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h.
907         * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org.
908
909 2009-07-02  Dumitru Daniliuc  <dumi@chromium.org>
910
911         Reviewed by Dimitri Glazkov.
912
913         Adds an abstraction layer between the DB classes and the file
914         system, which allows us to add our own logic for storing, opening,
915         deleting, etc. databases.
916
917         The patch was tested using the tests in WebCore/storage.
918
919         https://bugs.webkit.org/show_bug.cgi?id=26054
920
921         * GNUmakefile.am:
922         * WebCore.pro:
923         * WebCore.vcproj/WebCore.vcproj:
924         * WebCore.xcodeproj/project.pbxproj:
925         * platform/sql/SQLiteDatabase.cpp:
926         (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs.
927         * platform/sql/SQLiteFileSystem.cpp: Added.
928         * platform/sql/SQLiteFileSystem.h: Added.
929         * platform/win/FileSystemWin.cpp:
930         (WebCore::directoryName): Implemented.
931         * storage/Database.cpp:
932         (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem.
933         * storage/DatabaseTracker.cpp:
934         (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS.
935         (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem.
936         (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem.
937         (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem.
938         (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem.
939         (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem.
940         (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem.
941         (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem.
942         * storage/OriginUsageRecord.cpp:
943         (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem.
944
945 2009-07-02  David Hyatt  <hyatt@apple.com>
946
947         Reviewed by Simon Fraser.
948
949         Always clip replaced elements to border radii.
950         https://bugs.webkit.org/show_bug.cgi?id=26933
951
952         Make sure to always clip replaced elements to border radii, even when overflow is visible.
953         Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer
954         necessary.
955
956         Covered by existing tests (since the UA default changing keeps the behavior exactly the same).
957
958         * css/html.css:
959         * rendering/RenderReplaced.cpp:
960         (WebCore::RenderReplaced::paint):
961         * rendering/RenderWidget.cpp:
962         (WebCore::RenderWidget::paint):
963
964 2009-07-02  Jeremy Orlow  <jorlow@chromium.org>
965
966         Reviewed by Simon Fraser.
967
968         convertFromScrollbarToContainingView and friends should be in ScrollView
969         https://bugs.webkit.org/show_bug.cgi?id=26929
970
971         This is breaking Chromium's build because PopupMenuChromium inherits
972         from ScrollView, but these functions are pure virtual in it.  I could
973         put it directly in PopupMenuChromium, but that seems a bit silly since
974         the functions are fairly generic.
975
976         Passes existing layout tests.
977
978         * page/FrameView.cpp:  Remove the 4 functions Hyatt just added
979         (IntRect WebCore::FrameView::convertFromScrollbarToContainingView):
980         (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar):
981         (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView):
982         (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar):
983         * page/FrameView.h: ditto
984         * platform/ScrollView.cpp:  Move the 4 functions from FrameView here
985         (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView):
986         (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar):
987         (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView):
988         (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar):
989         * platform/ScrollView.h: ditto
990
991 2009-07-02  Dirk Pranke  <dpranke@chromium.org>
992
993         Reviewed by Darin Fisher.
994
995         Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin 
996         doesn't handle errors well at all; revise it to fail silently 
997         (drawing nothing), and bulletproof FontChromiumWin to handle the
998         failure accordingly.
999
1000         Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html
1001                fast/text/text-letter-spacing.html
1002
1003         * platform/graphics/chromium/FontChromiumWin.cpp:
1004         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
1005         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
1006         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
1007         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
1008         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
1009         (WebCore::Font::drawGlyphs):
1010         (WebCore::Font::drawComplexText):
1011         * platform/graphics/chromium/TransparencyWin.cpp:
1012         (WebCore::TransparencyWin::TransparencyWin):
1013         (WebCore::TransparencyWin::setupLayerForNoLayer):
1014         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
1015         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
1016         (WebCore::TransparencyWin::setupTransformForKeepTransform):
1017         (WebCore::TransparencyWin::setupTransformForScaleTransform):
1018         (WebCore::TransparencyWin::initializeNewContext):
1019         (WebCore::TransparencyWin::compositeOpaqueComposite):
1020         (WebCore::TransparencyWin::compositeTextComposite):
1021         (WebCore::TransparencyWin::makeLayerOpaque):
1022         * platform/graphics/chromium/TransparencyWin.h:
1023         (WebCore::TransparencyWin::platformContext):
1024
1025 2009-07-02  Eric Carlson  <eric.carlson@apple.com>
1026
1027         Change #import to #include to fix non-ObjC builds.
1028
1029         * rendering/MediaControlElements.cpp:
1030
1031 2009-07-02  Anders Carlsson  <andersca@apple.com>
1032
1033         Build fix.
1034         
1035         * platform/network/mac/WebCoreURLResponse.mm:
1036         (mimeTypeFromUTITree):
1037
1038 2009-07-02  David Hyatt  <hyatt@apple.com>
1039
1040         Reviewed by Simon Fraser.
1041
1042         Fix for bug 22119, clicks in the scrollbars of transformed content don't work.  Add new
1043         conversion methods for going across parent/child widget boundaries that can be implemented
1044         by the FrameView and ScrollbarClient to be transform-aware.
1045
1046         Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow.
1047
1048         * WebCore.base.exp:
1049         * page/EventHandler.cpp:
1050         (WebCore::EventHandler::handleMouseMoveEvent):
1051         * page/FrameView.cpp:
1052         (WebCore::FrameView::convertFromScrollbarToContainingView):
1053         (WebCore::FrameView::convertFromContainingViewToScrollbar):
1054         (WebCore::FrameView::convertFromRenderer):
1055         (WebCore::FrameView::convertToRenderer):
1056         (WebCore::FrameView::convertToContainingView):
1057         (WebCore::FrameView::convertFromContainingView):
1058         * page/FrameView.h:
1059         * platform/ScrollView.h:
1060         * platform/Scrollbar.cpp:
1061         (WebCore::Scrollbar::convertToContainingView):
1062         (WebCore::Scrollbar::convertFromContainingView):
1063         * platform/Scrollbar.h:
1064         * platform/ScrollbarClient.h:
1065         (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
1066         (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
1067         * platform/Widget.cpp:
1068         (WebCore::Widget::convertFromContainingWindow):
1069         (WebCore::Widget::convertToContainingWindow):
1070         (WebCore::Widget::convertFromRootToContainingWindow):
1071         (WebCore::Widget::convertFromContainingWindowToRoot):
1072         (WebCore::Widget::convertToContainingView):
1073         (WebCore::Widget::convertFromContainingView):
1074         * platform/Widget.h:
1075         * platform/graphics/IntPoint.h:
1076         (WebCore::IntPoint::move):
1077         * platform/mac/WidgetMac.mm:
1078         (WebCore::Widget::convertFromRootToContainingWindow):
1079         (WebCore::Widget::convertFromContainingWindowToRoot):
1080         * rendering/RenderBlock.cpp:
1081         (WebCore::RenderBlock::isPointInOverflowControl):
1082         * rendering/RenderDataGrid.cpp:
1083         (WebCore::RenderDataGrid::convertFromScrollbarToContainingView):
1084         (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar):
1085         * rendering/RenderDataGrid.h:
1086         * rendering/RenderLayer.cpp:
1087         (WebCore::RenderLayer::convertFromScrollbarToContainingView):
1088         (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
1089         (WebCore::RenderLayer::scrollbarOffset):
1090         (WebCore::RenderLayer::hitTestOverflowControls):
1091         * rendering/RenderLayer.h:
1092         * rendering/RenderListBox.cpp:
1093         (WebCore::RenderListBox::isPointInOverflowControl):
1094         (WebCore::RenderListBox::convertFromScrollbarToContainingView):
1095         (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
1096         * rendering/RenderListBox.h:
1097
1098 2009-07-02  Dan Bernstein  <mitz@apple.com>
1099
1100         Reviewed by Dave Hyatt and Simon Fraser.
1101
1102         - fix <rdar://problem/6933052> SPOD playing video in a div with a box
1103           shadow
1104
1105         Test: fast/box-shadow/transform-fringing.html
1106
1107         * rendering/RenderBoxModelObject.cpp:
1108         (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the
1109         box even if it has an opaque background, but in that case, inset the
1110         clip path by 1 pixel, to avoid antialiasing artifacts.
1111         Do not inset the clip rect by 1 pixel if the CTM is purely a
1112         translation.
1113         Move the shadow-casting path away in the non-rounded-rect case (it
1114         was already being done in the rounded-rect case), to avoid a black
1115         fringe when the CTM is not purely a translation.
1116
1117 2009-07-02  Brady Eidson  <beidson@apple.com>
1118
1119         Reviewed by Sam Weinig.
1120
1121         <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
1122
1123         Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found.
1124
1125         For many types of text files (such as source code files) this ends up being text/plain.
1126
1127         * platform/network/mac/ResourceHandleMac.mm:
1128         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output.
1129
1130         * platform/network/mac/WebCoreURLResponse.h:
1131         * platform/network/mac/WebCoreURLResponse.mm:
1132         (mimeTypeFromUTITree): 
1133         (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension.
1134         (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us.
1135
1136 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
1137
1138         Reviewed by Simon Fraser.
1139
1140         <rdar://problem/6518119>
1141
1142         Add a rewind button and hide the timeline for live broadcasts when
1143         in MediaUI mode.
1144
1145         * css/CSSPrimitiveValueMappings.h: 
1146         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element.
1147
1148         * css/CSSSelector.cpp:
1149         (WebCore::CSSSelector::extractPseudoType): Ditto.
1150         * css/CSSSelector.h: 
1151
1152         * css/CSSStyleSelector.cpp:
1153         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
1154
1155         * css/CSSValueKeywords.in: Ditto.
1156         * css/mediaControls.css: Ditto.
1157         * css/mediaControlsQT.css: Ditto.
1158
1159         * html/HTMLMediaElement.cpp:
1160         (WebCore::HTMLMediaElement::rewind): New.
1161         (WebCore::HTMLMediaElement::returnToRealTime): New.
1162         (WebCore::HTMLMediaElement::isStreaming): New.
1163         * html/HTMLMediaElement.h:
1164
1165         * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText.
1166
1167         * platform/LocalizedStrings.h: Add localized media state messages.
1168
1169         * platform/ThemeTypes.h: Add the new pseudo element.
1170
1171         * platform/mac/LocalizedStringsMac.mm: 
1172         (WebCore::mediaElementLoadingStateText): Add localized media state.
1173         (WebCore::mediaElementLiveBroadcastStateText): Ditto.
1174
1175         * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support
1176            multiple states.
1177         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1178
1179         * rendering/MediaControlElements.cpp: 
1180         (WebCore::MediaControlElement::MediaControlElement): Deal with new elements.
1181         (WebCore::MediaControlElement::attachToParent): Ditto.
1182         (WebCore::MediaControlElement::update): Ditto.
1183         (WebCore::MediaControlElement::updateStyle): Ditto.
1184         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
1185         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto.
1186         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
1187         (WebCore::MediaControlStatusDisplayElement::update): Ditto.
1188         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto.
1189         (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto.
1190         (WebCore::MediaControlInputElement::attachToParent): Ditto.
1191         (WebCore::MediaControlInputElement::updateStyle): Ditto.
1192         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
1193         (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
1194         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
1195         (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
1196         (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto.
1197         (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
1198         (WebCore::MediaControlTimelineElement::update): Ditto.
1199         (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto.
1200         * rendering/MediaControlElements.h: Ditto.
1201
1202         * rendering/RenderMedia.cpp: 
1203         (WebCore::RenderMedia::styleDidChange): Deal with the new elements.
1204         (WebCore::RenderMedia::createPanel): Ditto.
1205         (WebCore::RenderMedia::createRewindButton): Ditto.
1206         (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto.
1207         (WebCore::RenderMedia::createStatusDisplay): Ditto.
1208         (WebCore::RenderMedia::createTimelineContainer): Ditto.
1209         (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto.
1210         (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto.
1211         (WebCore::RenderMedia::updateControls): Ditto.
1212         (WebCore::RenderMedia::forwardEvent): Ditto.
1213         * rendering/RenderMedia.h:
1214
1215         * rendering/RenderTheme.cpp:
1216         (WebCore::RenderTheme::paint): Deal with the new elements.
1217
1218         * rendering/RenderTheme.h:
1219         (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements.
1220         (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto.
1221         (WebCore::RenderTheme::paintMediaControlsBackground): Ditto.
1222
1223         * rendering/RenderThemeMac.h:
1224         * rendering/RenderThemeMac.mm:
1225         (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements.
1226         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
1227         (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
1228
1229         * rendering/style/RenderStyleConstants.h: Add constants for the new elements.
1230
1231 2009-07-01  John Abd-El-Malek  <jam@chromium.org>
1232
1233         Reviewed by Darin Fisher.
1234
1235         Small refactoring of MessagePortChannel so that PlatformMessagePortChannel
1236         may be defined at the WebKit layer.
1237
1238         https://bugs.webkit.org/show_bug.cgi?id=26905
1239
1240         * dom/MessageChannel.cpp:
1241         (WebCore::MessageChannel::MessageChannel):
1242         * dom/MessagePortChannel.cpp:
1243         * dom/MessagePortChannel.h:
1244         * dom/default/PlatformMessagePortChannel.cpp:
1245         (WebCore::MessagePortChannel::createChannel):
1246         (WebCore::MessagePortChannel::create):
1247         (WebCore::MessagePortChannel::MessagePortChannel):
1248         (WebCore::MessagePortChannel::~MessagePortChannel):
1249
1250 2009-07-01  Simon Fraser  <simon.fraser@apple.com>
1251
1252         Reviewed by Dan Bernstein.
1253
1254         <video> fails to show on http://camendesign.com/code/video_for_everybody
1255         <rdar://problem/7026010>
1256         https://bugs.webkit.org/show_bug.cgi?id=26919
1257
1258         Fix an issue introduced in r44961. In that revision we changed to only update
1259         compositing layer geometry when all siblings had been laid out (i.e. we pushed
1260         the updates one level down). However, that left out the root layer, so this
1261         fix ensures that the root layer geometry gets updated at the end.
1262
1263         Test: compositing/geometry/root-layer-update.html
1264
1265         * rendering/RenderLayerBacking.cpp:
1266         (WebCore::RenderLayerBacking::updateAfterLayout):
1267
1268 2009-07-01  Simon Fraser  <simon.fraser@apple.com>
1269
1270         Reviewed by Dan Bernstein
1271         
1272         <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody
1273
1274         First part of fix: when outline width changes, don't to a synchronous
1275         layer update right away, but just set the flag to say that compositing
1276         layers need updating. The synchronous layer update left the layer geometries
1277         out of whack when it happened in the middle of layout (e.g. when inside ::first-letter).
1278         
1279         Test: compositing/geometry/outline-change.html
1280
1281         * rendering/RenderView.cpp:
1282         (WebCore::RenderView::setMaximalOutlineSize):
1283
1284 2009-07-01  Kwang Yul Seo  <skyul@company100.net>
1285
1286         Reviewed by Eric Seidel.
1287
1288         https://bugs.webkit.org/show_bug.cgi?id=26842
1289         Build fix when ENABLE_DATABASE is off
1290
1291         Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE
1292         off does not break builds.
1293
1294         * bindings/js/ScriptObjectQuarantine.cpp:
1295
1296 2009-07-01  Daniel Bates  <dbates@intudata.com>
1297
1298         Reviewed by Adam Barth.
1299         
1300         https://bugs.webkit.org/show_bug.cgi?id=26899
1301         
1302         Modified XSSAuditor::decodeURL to only remove null characters so that 
1303         it is consistent with the behavior of HTMLTokenizer and prevents 
1304         injected scripts that contain control characters. 
1305
1306         Tests: http/tests/security/xssAuditor/script-tag-control-char.html
1307                http/tests/security/xssAuditor/script-tag-null-char.html
1308
1309         * page/XSSAuditor.cpp:
1310         (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters. 
1311         * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL
1312         from allowControlCharacters back to allowNullCharacters.
1313         * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003.
1314         (WebCore::isControlCharacter):
1315         * platform/network/ResourceResponseBase.h: Reverted back to rev #45003.  
1316
1317 2009-07-01  Yury Semikhatsky  <yurys@chromium.org>
1318
1319         Reviewed by Timothy Hatcher.
1320
1321         - supported keyboard shortcuts compatible with Firebug in Scripts Debugger:
1322         F5, Ctrl+/ (win,lin), Command+/ (mac) - continue
1323         F10, Ctrl+' (win, lin), Command+' (mac) - step over
1324         F11, Ctrl+; (win, lin), Command+; (mac) - step into
1325         Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out
1326
1327         - added call stack navigation shortcuts:
1328         Ctrl+. - next call frame
1329         Ctrl+, - previouse call frame
1330
1331         https://bugs.webkit.org/show_bug.cgi?id=23849
1332
1333         * inspector/front-end/CallStackSidebarPane.js:
1334         (WebInspector.CallStackSidebarPane):
1335         (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent):
1336         (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack):
1337         (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack):
1338         (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
1339         (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
1340         * inspector/front-end/KeyboardShortcut.js: Added.
1341         (WebInspector.KeyboardShortcut):
1342         (WebInspector.KeyboardShortcut.makeKey):
1343         (WebInspector.KeyboardShortcut.makeKeyFromEvent):
1344         (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_):
1345         * inspector/front-end/ScriptsPanel.js:
1346         (WebInspector.ScriptsPanel):
1347         (WebInspector.ScriptsPanel.prototype.handleKeyEvent):
1348         * inspector/front-end/WebKit.qrc:
1349         * inspector/front-end/inspector.html:
1350
1351 2009-07-01  Daniel Erat  <derat@google.com>
1352
1353         Reviewed by David Levin.
1354
1355         Chromium Linux: Move the scrollbar thumb on middle-click.
1356
1357         https://bugs.webkit.org/show_bug.cgi?id=26910
1358         http://code.google.com/p/chromium/issues/detail?id=11976
1359
1360         Tested by building Chrome and checking that the scrollbar moves as expected.
1361
1362         * platform/chromium/ScrollbarThemeChromium.cpp:
1363         * platform/chromium/ScrollbarThemeChromium.h:
1364         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1365         * platform/chromium/ScrollbarThemeChromiumLinux.h:
1366         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1367         * platform/chromium/ScrollbarThemeChromiumWin.h:
1368
1369 2009-07-01  Brady Eidson  <beidson@apple.com>
1370
1371         Reviewed by Sam Weinig.
1372
1373         Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
1374
1375         * WebCore.base.exp:
1376
1377         * page/Settings.cpp:
1378         (WebCore::Settings::setLocalFileContentSniffingEnabled):
1379         * page/Settings.h:
1380         (WebCore::Settings::localFileContentSniffingEnabled):
1381
1382         * platform/network/mac/ResourceHandleMac.mm:
1383         (WebCore::ResourceHandle::start):
1384         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
1385
1386 2009-07-01  Chris Fleizach  <cfleizach@apple.com>
1387
1388         Reviewed by Oliver Hunt.
1389
1390         Bug 26909: aria-label needs to be supported
1391         https://bugs.webkit.org/show_bug.cgi?id=26909
1392
1393         Test: accessibility/aria-label.html
1394
1395         * accessibility/AccessibilityRenderObject.cpp:
1396         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1397         * html/HTMLAttributeNames.in:
1398
1399 2009-07-01  David Hyatt  <hyatt@apple.com>
1400
1401         Reviewed by Oliver Hunt.
1402
1403         More datagrid columns work.  Make sure columns cache both a style for the column header as well
1404         as a style for the column background (behind the cells).
1405
1406         Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and
1407         unimplemented).
1408
1409         * css/CSSStyleSelector.cpp:
1410         (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn):
1411         (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader):
1412         * css/CSSStyleSelector.h:
1413         * html/DataGridColumn.h:
1414         (WebCore::DataGridColumn::setColumnList):
1415         (WebCore::DataGridColumn::columnStyle):
1416         (WebCore::DataGridColumn::setColumnStyle):
1417         (WebCore::DataGridColumn::headerStyle):
1418         (WebCore::DataGridColumn::setHeaderStyle):
1419         * rendering/RenderDataGrid.cpp:
1420         (WebCore::RenderDataGrid::recalcStyleForColumn):
1421         (WebCore::RenderDataGrid::columnStyle):
1422         (WebCore::RenderDataGrid::headerStyle):
1423         (WebCore::RenderDataGrid::paintColumnHeaders):
1424         * rendering/RenderDataGrid.h:
1425
1426 2009-07-01  Eric Carlson  <eric.carlson@apple.com>
1427
1428         Reviewed by Oliver Hunt.
1429         
1430         <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change 
1431         back to Play button
1432
1433         Grab onto the current time when QTKit "ended" notification fires and use it as 
1434         duration from that point on as QuickTime sometimes refuses to play all the way to
1435         the time it reports for duration and buffered. HTMLMediaElement assumes that there
1436         more to play in this situation and tries to restart playback, endlessly.
1437
1438         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1439             Rename m_duration to m_reportedDuration. Declare m_cachedDuration.
1440         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1441         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1442             Rename m_duration to m_reportedDuration. Initialize m_cachedDuration.
1443         (WebCore::MediaPlayerPrivate::duration):
1444             Return m_cachedDuration once it has been set.
1445         (WebCore::MediaPlayerPrivate::updateStates):
1446             Rename m_duration to m_reportedDuration.
1447         (WebCore::MediaPlayerPrivate::didEnd):
1448             Set m_cachedDuration to currentTime().
1449
1450 2009-07-01  Chris Fleizach  <cfleizach@apple.com>
1451
1452         Reviewed by Beth Dakin.
1453
1454         Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
1455         https://bugs.webkit.org/show_bug.cgi?id=26900
1456
1457         Editable web areas should have a clickpoint that uses where the selection is.
1458
1459         Test: accessibility/editable-webarea-context-menu-point.html
1460
1461         * accessibility/AccessibilityObject.h:
1462         * accessibility/AccessibilityRenderObject.cpp:
1463         (WebCore::AccessibilityRenderObject::clickPoint):
1464         * accessibility/AccessibilityRenderObject.h:
1465         * accessibility/mac/AccessibilityObjectWrapper.mm:
1466         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1467
1468 2009-07-01  David Levin  <levin@chromium.org>
1469
1470         Reviewed by Eric Seidel.
1471
1472         Remove unused code in SVGTransformList and SVGTransformDistance
1473         <https://bugs.webkit.org/show_bug.cgi?id=26891>
1474
1475         * svg/SVGTransformDistance.cpp:
1476         (WebCore::SVGTransformDistance::SVGTransformDistance):
1477         * svg/SVGTransformList.cpp:
1478         * svg/SVGTransformList.h:
1479
1480 2009-07-01  David Hyatt  <hyatt@apple.com>
1481
1482         Reviewed by Anders Carlsson.
1483
1484         Begin stubbing out functions for layout, painting and style/geometry caching on columns.  Not enough
1485         is implemented for this to do much of anything yet, but it should help keep patch sizes down. :)
1486
1487         * html/DataGridColumn.cpp:
1488         (WebCore::DataGridColumn::columnChanged):
1489         * html/DataGridColumn.h:
1490         (WebCore::DataGridColumn::setId):
1491         (WebCore::DataGridColumn::setLabel):
1492         (WebCore::DataGridColumn::setType):
1493         (WebCore::DataGridColumn::setSortable):
1494         (WebCore::DataGridColumn::setSortDirection):
1495         (WebCore::DataGridColumn::setColumnList):
1496         (WebCore::DataGridColumn::style):
1497         (WebCore::DataGridColumn::setStyle):
1498         (WebCore::DataGridColumn::rect):
1499         (WebCore::DataGridColumn::setRect):
1500         * html/DataGridColumnList.cpp:
1501         (WebCore::DataGridColumnList::DataGridColumnList):
1502         (WebCore::DataGridColumnList::setDataGridNeedsLayout):
1503         (WebCore::DataGridColumnList::add):
1504         (WebCore::DataGridColumnList::remove):
1505         (WebCore::DataGridColumnList::move):
1506         (WebCore::DataGridColumnList::clear):
1507         (WebCore::DataGridColumnList::primaryColumnChanged):
1508         * html/DataGridColumnList.h:
1509         (WebCore::DataGridColumnList::create):
1510         (WebCore::DataGridColumnList::dataGrid):
1511         (WebCore::DataGridColumnList::clearDataGrid):
1512         * html/HTMLDataGridColElement.cpp:
1513         (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
1514         (WebCore::HTMLDataGridColElement::findDataGridAncestor):
1515         (WebCore::HTMLDataGridColElement::insertedIntoTree):
1516         (WebCore::HTMLDataGridColElement::removedFromTree):
1517         * html/HTMLDataGridColElement.h:
1518         (WebCore::HTMLDataGridColElement::dataGrid):
1519         * html/HTMLDataGridElement.cpp:
1520         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
1521         (WebCore::HTMLDataGridElement::~HTMLDataGridElement):
1522         * rendering/RenderDataGrid.cpp:
1523         (WebCore::RenderDataGrid::styleDidChange):
1524         (WebCore::RenderDataGrid::recalcStyleForColumns):
1525         (WebCore::RenderDataGrid::recalcStyleForColumn):
1526         (WebCore::RenderDataGrid::styleForColumn):
1527         (WebCore::RenderDataGrid::layout):
1528         (WebCore::RenderDataGrid::layoutColumns):
1529         (WebCore::RenderDataGrid::paintColumnHeaders):
1530         (WebCore::RenderDataGrid::paintColumnHeader):
1531         * rendering/RenderDataGrid.h:
1532         (WebCore::RenderDataGrid::renderName):
1533         (WebCore::RenderDataGrid::canHaveChildren):
1534
1535 2009-07-01  Daniel Bates  <dbates@intudata.com>
1536
1537         Reviewed by Adam Barth.
1538
1539         https://bugs.webkit.org/show_bug.cgi?id=26807
1540         
1541         Fixes this address by checking whether frame->document()->decoder() is null. 
1542
1543         * page/XSSAuditor.cpp:
1544         (WebCore::XSSAuditor::findInRequest):
1545
1546 2009-07-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1547
1548         Reviewed by George Staikos.
1549
1550         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885
1551
1552         Correctly reset history length to '0', not '1'. Old relict from early WML days.
1553         Add some new WML testcases covering the use of history length (by onenterforward event handling)
1554
1555         Tests: wml/onenterforward-event.html
1556                wml/onenterforward-inline-event.html
1557                wml/ontimer-event.html
1558  
1559         * wml/WMLPageState.cpp:
1560         (WebCore::WMLPageState::reset):
1561
1562 2009-07-01  David Hyatt  <hyatt@apple.com>
1563
1564         Reviewed by Simon Fraser.
1565
1566         Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object.
1567
1568         Added new test in fast/dom/HTMLDataGridElement.
1569
1570         * html/HTMLDataGridColElement.cpp:
1571         (WebCore::HTMLDataGridColElement::parseMappedAttribute):
1572         * html/HTMLDataGridColElement.h:
1573
1574 2009-07-01  David Hyatt  <hyatt@apple.com>
1575
1576         Reviewed by Tim Hatcher.
1577
1578         <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
1579         even though the field is not actually focused for keyboard input
1580         
1581         Add the concept of whether or not the Page is focused by adding a boolean to the focusController.  This allows the
1582         focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't
1583         actually happen to have focus at that time.
1584
1585         * WebCore.base.exp:
1586         * page/FocusController.cpp:
1587         (WebCore::FocusController::FocusController):
1588         (WebCore::FocusController::setFocusedFrame):
1589         (WebCore::FocusController::setFocused):
1590         (WebCore::FocusController::setActive):
1591         * page/FocusController.h:
1592         (WebCore::FocusController::isFocused):
1593
1594 2009-07-01  Jakub Wieczorek  <faw217@gmail.com>
1595
1596         Reviewed by Simon Hausmann.
1597
1598         [Qt] Move some API headers from WebCore.pro to headers.pri so that they
1599         get installed when running make install from the build directory.
1600
1601         * WebCore.pro:
1602
1603 2009-07-01  Simon Hausmann  <simon.hausmann@nokia.com>
1604
1605         Rubber-stamped by Ariya Hidayat.
1606
1607         Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the
1608         qrc file with new png files from the web inspector.
1609
1610         * inspector/front-end/WebKit.qrc:
1611
1612 2009-06-30  Mark Rowe  <mrowe@apple.com>
1613
1614         Land some code that has a hope of compiling.
1615
1616         * platform/graphics/cg/ImageSourceCG.cpp:
1617         (WebCore::imageSourceOptions):
1618
1619 2009-06-30  Stephanie Lewis  <slewis@apple.com>
1620
1621         Reviewed by Simon Fraser.
1622
1623         Flip back on block caching. Throwing away block data, while 
1624         a perceived memory win, is a performance hit in cases where we 
1625         are repainting large images (i.e. backgrounds) frequently 
1626         (i.e. a flash video playing on top).  
1627         <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are 
1628         decoded on drawing, slowing down painting of sites that frequently 
1629         repaint e.g. because of Flash (pandora.com, Starcraft 2)
1630
1631         * platform/graphics/cg/ImageSourceCG.cpp:
1632         (WebCore::imageSourceOptions):
1633
1634 2009-06-30  Maciej Stachowiak  <mjs@apple.com>
1635
1636         Reviewed by Sam Weinig.
1637
1638         - Rename html4.css to html.css, since we target HTML5 now
1639         https://bugs.webkit.org/show_bug.cgi?id=26873
1640
1641         * DerivedSources.make:
1642         * GNUmakefile.am:
1643         * WebCore.pro:
1644         * WebCore.vcproj/WebCore.vcproj:
1645         * WebCore.xcodeproj/project.pbxproj:
1646         * css/CSSStyleSelector.cpp:
1647         (WebCore::loadFullDefaultStyle):
1648         * css/html.css: Copied from css/html4.css.
1649         * css/html4.css: Removed.
1650         * css/themeWin.css:
1651         * platform/Theme.h:
1652         * platform/qt/RenderThemeQt.cpp:
1653         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
1654         * rendering/RenderTheme.h:
1655
1656 2009-06-30  Zan Dobersek  <zandobersek@gmail.com>
1657
1658         Reviewed by Gustavo Noronha.
1659
1660         [GTK] Drag and drop support
1661         https://bugs.webkit.org/show_bug.cgi?id=23642
1662
1663         Define DragImageRef as GdkPixbuf and implement essential
1664         functions which manipulate drag images.
1665
1666         * platform/DragImage.h:
1667         * platform/gtk/DragImageGtk.cpp:
1668         (WebCore::dragImageSize):
1669         (WebCore::deleteDragImage):
1670         (WebCore::scaleDragImage):
1671         (WebCore::createDragImageFromImage):
1672
1673 2009-06-30  Maxime Simon  <simon.maxime@gmail.com>
1674
1675         Reviewed by Eric Seidel.
1676
1677         StorageNamespace.cpp build issue
1678         https://bugs.webkit.org/show_bug.cgi?id=26859
1679
1680         Moved #endif //ENABLE(DOM_STORAGE) position
1681         so that the build doesn't fail.
1682         The namespace WebCore was started after the #if ENABLE(DOM_STORAGE)
1683         but closed after the #endif.
1684
1685         * storage/StorageNamespace.cpp:
1686
1687 2009-06-30  Eric Carlson  <eric.carlson@apple.com>
1688
1689         Reviewed by Oliver Hunt.
1690
1691         <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in 
1692         buffered time ranges
1693
1694         * html/HTMLMediaElement.cpp:
1695             Don't ASSERT if the network state goes to Idle when when the ready state is 
1696             HaveEnoughData or higher, it is perfectly legal.
1697         (WebCore::HTMLMediaElement::setReadyState): 
1698             Don't clear m_seeking after posting a 'seeking' event.
1699
1700         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1701         (WebCore::MediaPlayerPrivate::seek):
1702             Do nothing when asked to seek to the same time we are already seeking to. Check requested
1703             seek time against maxTimeSeekable, not maxTimeLoaded.
1704         (WebCore::MediaPlayerPrivate::doSeek):
1705             Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable.
1706         (WebCore::MediaPlayerPrivate::seekTimerFired):
1707             Check requested seek time against maxTimeSeekable, not maxTimeLoaded.
1708         (WebCore::MediaPlayerPrivate::updateStates):
1709             A streaming movie has as much data as it needs once it reaches "playable", so 
1710             set the ready state to HaveFutureData. A movie with metadata doesn't drop back 
1711             to "have nothing" when seeking. A streaming movie doesn't use the network when paused.
1712         (WebCore::MediaPlayerPrivate::timeChanged):
1713             It may not be possible to seek to a specific time in a streamed movie but when seeking 
1714             in a streaming movie QuickTime sets the time to closest time possible and posts a  
1715             timechanged notification, so update m_seekTo so we can detect when the seek completes.
1716
1717 2009-06-30  Steve Falkenburg  <sfalken@apple.com>
1718
1719         https://bugs.webkit.org/show_bug.cgi?id=26860
1720
1721         Reviewed by Sam Weinig.
1722
1723         Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6.
1724         Earlier versions cause corruption crashes.
1725
1726         * plugins/win/PluginPackageWin.cpp:
1727         (WebCore::PluginPackage::isPluginBlacklisted):
1728
1729 2009-06-30  Dean Jackson  <dino@apple.com>
1730
1731         Reviewed by Simon Fraser.
1732
1733         <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING
1734         
1735         Fix drawImage of video in CanvasRenderingContext2D when
1736         accelerated compositing is enabled. This is done by
1737         adding a new paint method to HTMLVideoElement that
1738         is only called from canvas, which will create the software
1739         renderer if necessary, but otherwise calls the regular
1740         paint method. Meanwhile, add logic to the software video
1741         renderer so that it can be created without calling repaint
1742         every time it sees a new frame.
1743         
1744         * html/CanvasRenderingContext2D.cpp:
1745         (WebCore::CanvasRenderingContext2D::drawImage):
1746         * html/HTMLVideoElement.cpp:
1747         (WebCore::HTMLVideoElement::paintCurrentFrameInContext):
1748         * html/HTMLVideoElement.h:
1749         * platform/graphics/MediaPlayer.cpp:
1750         (WebCore::MediaPlayer::paintCurrentFrameInContext):
1751         * platform/graphics/MediaPlayer.h:
1752         * platform/graphics/MediaPlayerPrivate.h:
1753         (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
1754         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1755         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1756         (WebCore::MediaPlayerPrivate::createQTMovie):
1757         (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
1758         (WebCore::MediaPlayerPrivate::currentRenderingMode):
1759         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
1760         (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
1761         (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
1762
1763 2009-06-30  David Hyatt  <hyatt@apple.com>
1764
1765         Reviewed by Beth Dakin.
1766
1767         https://bugs.webkit.org/show_bug.cgi?id=26858
1768
1769         Get <dcol> elements reflected into the datagrid's column list.  Make sure columns get added/removed
1770         properly.  (Attribute changes are still not caught.  That is coming in a separate patch.)
1771
1772         Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
1773
1774         * html/DataGridColumn.h:
1775         (WebCore::DataGridColumn::create):
1776         (WebCore::DataGridColumn::setColumnList):
1777         (WebCore::DataGridColumn::DataGridColumn):
1778         * html/DataGridColumnList.cpp:
1779         (WebCore::DataGridColumnList::add):
1780         (WebCore::DataGridColumnList::remove):
1781         (WebCore::DataGridColumnList::clear):
1782         * html/DataGridColumnList.h:
1783         * html/HTMLDataGridColElement.cpp:
1784         (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
1785         (WebCore::HTMLDataGridColElement::findDatagridAncestor):
1786         (WebCore::HTMLDataGridColElement::ensureColumn):
1787         (WebCore::HTMLDataGridColElement::insertedIntoTree):
1788         (WebCore::HTMLDataGridColElement::removedFromTree):
1789         (WebCore::HTMLDataGridColElement::sortable):
1790         (WebCore::HTMLDataGridColElement::setSortable):
1791         * html/HTMLDataGridColElement.h:
1792         (WebCore::HTMLDataGridColElement::column):
1793         (WebCore::HTMLDataGridColElement::setColumn):
1794         (WebCore::HTMLDataGridColElement::datagrid):
1795         * html/HTMLDataGridElement.cpp:
1796         (WebCore::HTMLDataGridElement::setDataSource):
1797         (WebCore::HTMLDataGridElement::dataSource):
1798
1799 2009-06-30  Jeremy Orlow (jorlow@chromium.org)
1800
1801         Reviewed by David Levin.
1802
1803         https://bugs.webkit.org/show_bug.cgi?id=26852
1804
1805         Fix some minor build issues in the v8 bindings.
1806
1807         * bindings/v8/custom/V8StorageCustom.cpp:
1808         (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
1809         (WebCore::storageGetter):
1810         (WebCore::storageSetter):
1811         (WebCore::storageDeleter):
1812         * storage/StorageArea.cpp:
1813
1814 2009-06-30  Adam Langley  <agl@google.com>
1815
1816         Reviewed by Eric Seidel.
1817
1818         Chromium Linux: use different fonts for each script run.
1819
1820         https://bugs.webkit.org/show_bug.cgi?id=26853
1821
1822         Previously, when rendering complex text, we picked a single font which
1823         could render all the glyphs needed for the run. However, this meant
1824         that sometimes lines were rendered with, for example, [LATIN, THAI,
1825         LATIN] and we could end up with a different font for the Latin parts
1826         than for lines without Thai in them.
1827
1828         With this patch, we pick a font for each script run.
1829
1830         This change is covered by existing layout tests.
1831
1832         * platform/graphics/chromium/FontLinux.cpp:
1833         (WebCore::Font::drawGlyphs):
1834         (WebCore::TextRunWalker::TextRunWalker):
1835         (WebCore::TextRunWalker::~TextRunWalker):
1836         (WebCore::TextRunWalker::nextScriptRun):
1837         (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
1838         (WebCore::TextRunWalker::setupFontForScriptRun):
1839         (WebCore::TextRunWalker::allocHarfbuzzFont):
1840         (WebCore::setupForTextPainting):
1841         (WebCore::Font::drawComplexText):
1842         (WebCore::Font::floatWidthForComplexText):
1843         (WebCore::Font::offsetForPositionForComplexText):
1844         (WebCore::Font::selectionRectForComplexText):
1845         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1846         (WebCore::FontPlatformData::setupPaint):
1847
1848 2009-06-30  Simon Fraser  <simon.fraser@apple.com>
1849
1850         Reviewed by Dave Hyatt, Dan Bernstein.
1851         
1852         <rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing
1853
1854         There are two parts to this fix. First, if a compositing layer has overflow clipping
1855         or a mask, then the compositing layer does not need to be sized to encompass all
1856         non-composited children.
1857         
1858         Second, when scrolling, we have to back up to the compositing ancestor and have
1859         it reposition descendant compositing layers, because overflow doesn't follow
1860         the z-order tree.
1861         
1862         Test: compositing/overflow/overflow-scroll.html
1863
1864         * page/FrameView.cpp:
1865         (WebCore::FrameView::layout):
1866         Pass the UpdateCompositingLayers flag when updating layers after layout, so that
1867         we can reposition compositing layers if we're not about to do a layer rebuild.
1868         
1869         * rendering/RenderLayer.cpp:
1870         (WebCore::RenderLayer::updateLayerPositions):
1871         Only update compositing layers if the flag is set.
1872         
1873         (WebCore::RenderLayer::scrollToOffset):
1874         Do compositing layer updates from the compositing ancestor in one fell swoop.
1875
1876         * rendering/RenderLayer.h:
1877         Replace the unused FullUpdate flag with one that allows us to specify whether
1878         compositing layers should be updated.
1879         
1880         * rendering/RenderLayerBacking.cpp:
1881         (WebCore::RenderLayerBacking::updateAfterLayout):
1882         * rendering/RenderLayerBacking.h:
1883         New param that we can pass to updateCompositingDescendantGeometry to control
1884         whether the update goes deep.
1885
1886         * rendering/RenderLayerCompositor.cpp:
1887         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
1888         We can return earlier if this is not a self-painting layer.
1889         If the layer has overflow clip or a mask, then the composited bounds are just the
1890         local bounds, excluding descendants.
1891         
1892         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
1893         * rendering/RenderLayerCompositor.h:
1894         Renamed from updateCompositingChildrenGeometry, and added a flag that allows
1895         us to do a deep update.
1896
1897 2009-06-30  Alexey Proskuryakov  <ap@webkit.org>
1898
1899         Reviewed by Dan Bernstein.
1900
1901         https://bugs.webkit.org/show_bug.cgi?id=26764
1902         Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file
1903
1904         Test: fast/parser/empty-text-resource.html
1905
1906         * loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it
1907         hasn't been created yet.
1908
1909 2009-06-30  Brian Weinstein  <bweinstein@apple.com>
1910
1911         Reviewed by Adam Roben.
1912
1913         Renamed scrollbarUnderPoint to scrollbarAtPoint.
1914
1915         * page/EventHandler.cpp:
1916         (WebCore::EventHandler::hitTestResultAtPoint):
1917         (WebCore::EventHandler::handleMousePressEvent):
1918         (WebCore::EventHandler::handleMouseMoveEvent):
1919         * platform/ScrollView.cpp:
1920         (WebCore::ScrollView::scrollbarAtPoint):
1921         * platform/ScrollView.h:
1922         * platform/chromium/PopupMenuChromium.cpp:
1923         (WebCore::PopupListBox::handleMouseDownEvent):
1924         (WebCore::PopupListBox::handleMouseMoveEvent):
1925
1926 2009-06-30  Oliver Hunt  <oliver@apple.com>
1927
1928         Reviewed by Geoff Garen.
1929
1930         <rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const + 62
1931
1932         <select> elements and other elements the produce popups can keep their popups
1933         live across a page load.  If this occurs and the <select> element has an
1934         onchange handler it is possible to get into a state where we try to execute
1935         JS on a page that no longer has an execution context. 
1936
1937         * bindings/js/JSLazyEventListener.cpp:
1938         (WebCore::JSLazyEventListener::parseCode):
1939           Be paranoid and add a null check, but assert as well because we shouldn't
1940           actually get to this point.
1941         * rendering/RenderMenuList.cpp:
1942         (WebCore::RenderMenuList::valueChanged):
1943
1944 2009-06-30  Drew Wilson  <atwilson@google.com>
1945
1946         Reviewed by David Levin.
1947
1948         <https://bugs.webkit.org/show_bug.cgi?id=25435>
1949
1950         Added support for sending MessagePorts to/from Workers via postMessage().
1951
1952         * bindings/js/JSWorkerContextCustom.cpp:
1953         (WebCore::JSWorkerContext::messageChannel):
1954         Exposes MessageChannel constructor WorkerContext.
1955         * bindings/js/JSWorkerCustom.cpp:
1956         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1957         (WebCore::CALLBACK_FUNC_DECL):
1958         Now correctly handles being instantiated from within a Worker.
1959        * platform/CrossThreadCopier.h:
1960         (WebCore::GenericWorkerTaskTraits<PassOwnPtr>):
1961         Added support for passing PassOwnPtr as argument to GenericWorkerTask
1962        * workers/GenericWorkerTask.h:
1963         (WebCore::):
1964         * workers/Worker.cpp:
1965         (WebCore::Worker::postMessage):
1966         Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
1967         (WebCore::Worker::dispatchMessage):
1968         * workers/Worker.h:
1969         * workers/Worker.idl:
1970         Added an optional MessagePort argument to postMessage()
1971         * workers/WorkerContext.cpp:
1972         (WebCore::WorkerContext::hasPendingActivity):
1973         Workers now report pending activity whenever there are remotely entangled ports.
1974         (WebCore::WorkerContext::postMessage):
1975         Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
1976         (WebCore::WorkerContext::dispatchMessage):
1977         * workers/WorkerContext.h:
1978         * workers/WorkerContext.idl:
1979         Added an optional MessagePort argument to postMessage()
1980         * workers/WorkerContextProxy.h:
1981         * workers/WorkerMessagingProxy.cpp:
1982         Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel.
1983         (WebCore::MessageWorkerContextTask::create):
1984         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
1985         (WebCore::MessageWorkerContextTask::performTask):
1986         (WebCore::MessageWorkerTask::create):
1987         (WebCore::MessageWorkerTask::MessageWorkerTask):
1988         (WebCore::MessageWorkerTask::performTask):
1989         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
1990         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
1991         * workers/WorkerMessagingProxy.h:
1992         Added additional postMessage() API that accepts a MessagePort
1993         * workers/WorkerObjectProxy.h:
1994         Added additional postMessage() API that accepts a MessagePort
1995
1996 2009-06-30  Adam Langley  <agl@google.com>
1997
1998         Reviewed by Eric Seidel.
1999
2000         Chromium: Add complex text support on Linux.
2001
2002         https://bugs.webkit.org/show_bug.cgi?id=25068
2003
2004         This patch adds complex text support on Linux using Harfbuzz. It's not
2005         the fastest code possible: some caching of font tables will certainly
2006         be required. However, it's probably the simplest code that works.
2007
2008         This will require checking in new baselines in the Chromium tree for
2009         those layout tests which now pass.
2010
2011         * platform/graphics/chromium/FontLinux.cpp:
2012         (WebCore::Font::drawGlyphs):
2013         (WebCore::truncateFixedPointToInteger):
2014         (WebCore::TextRunWalker::TextRunWalker):
2015         (WebCore::TextRunWalker::~TextRunWalker):
2016         (WebCore::TextRunWalker::reset):
2017         (WebCore::TextRunWalker::setXOffsetToZero):
2018         (WebCore::TextRunWalker::rtl):
2019         (WebCore::TextRunWalker::setBackwardsIteration):
2020         (WebCore::TextRunWalker::nextScriptRun):
2021         (WebCore::TextRunWalker::glyphs):
2022         (WebCore::TextRunWalker::length):
2023         (WebCore::TextRunWalker::xPositions):
2024         (WebCore::TextRunWalker::advances):
2025         (WebCore::TextRunWalker::width):
2026         (WebCore::TextRunWalker::logClusters):
2027         (WebCore::TextRunWalker::numCodePoints):
2028         (WebCore::TextRunWalker::widthOfFullRun):
2029         (WebCore::TextRunWalker::allocHarfbuzzFont):
2030         (WebCore::TextRunWalker::deleteGlyphArrays):
2031         (WebCore::TextRunWalker::createGlyphArrays):
2032         (WebCore::TextRunWalker::expandGlyphArrays):
2033         (WebCore::TextRunWalker::shapeGlyphs):
2034         (WebCore::TextRunWalker::setGlyphXPositions):
2035         (WebCore::setupForTextPainting):
2036         (WebCore::fontPlatformDataForTextRun):
2037         (WebCore::Font::drawComplexText):
2038         (WebCore::Font::floatWidthForComplexText):
2039         (WebCore::glyphIndexForXPositionInScriptRun):
2040         (WebCore::Font::offsetForPositionForComplexText):
2041         (WebCore::Font::selectionRectForComplexText):
2042         * platform/graphics/chromium/HarfbuzzSkia.cpp: Added.
2043         (WebCore::SkiaScalarToHarfbuzzFixed):
2044         (WebCore::stringToGlyphs):
2045         (WebCore::glyphsToAdvances):
2046         (WebCore::canRender):
2047         (WebCore::getOutlinePoint):
2048         (WebCore::getGlyphMetrics):
2049         (WebCore::getFontMetric):
2050         (WebCore::harfbuzzSkiaGetTable):
2051
2052 2009-06-30  Eric Carlson  <eric.carlson@apple.com>
2053
2054         Reviewed by Simon Fraser.
2055
2056         <rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily
2057
2058         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2059         (WebCore::MediaPlayerPrivate::updateStates):
2060             Always fall back to a plug-in if m_hasUnsupportedTracks is set.
2061         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
2062             Set m_hasUnsupportedTracks if we disable a track.
2063
2064 2009-06-30  Nate Chapin  <japhet@chromium.org>
2065
2066         Reviewed by Dimitri Glazkov.
2067
2068         Fix inverted if/else that's causing a layout test in src.chromium.org to fail.
2069
2070         https://bugs.webkit.org/show_bug.cgi?id=26820
2071
2072         * bindings/v8/V8Proxy.cpp:
2073         (WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2).
2074
2075 2009-06-30  Dan Bernstein  <mitz@apple.com>
2076
2077         Reviewed by Dave Hyatt.
2078
2079         - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
2080           to Grid" window is clipping
2081
2082         Added an app-specific quirk to revert the behavior of <link> elements
2083         to the way it was before r30673, namely that if the rel attribute
2084         is not "stylesheet" but the type attribute contains "text/css", the
2085         link behaves as a stylesheet link.
2086
2087         * WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet().
2088         * html/HTMLLinkElement.cpp:
2089         (WebCore::HTMLLinkElement::process): Check
2090             Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a
2091             style sheet link if the type contains "text/css".
2092         * page/Settings.cpp:
2093         (WebCore::Settings::Settings):
2094             Initialize m_treatsAnyTextCSSLinkAsStylesheet.
2095         (WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added.
2096         * page/Settings.h:
2097         (WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added.
2098
2099 2009-06-30  Adrien Nader  <camaradetux@gmail.com>
2100
2101         Reviewed by Xan Lopez.
2102
2103         Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore.
2104
2105         * GNUmakefile.am:
2106
2107 2009-06-30  Jan Michael Alonzo  <jmalonzo@webkit.org>
2108
2109         Reviewed by Xan Lopez.
2110
2111         [Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests.
2112
2113         * GNUmakefile.am:
2114
2115 2009-06-30  Raju Kunnath  <raju.kunnath@nokia.com>
2116
2117         Reviewed by Simon Hausmann.
2118
2119         <https://bugs.webkit.org/show_bug.cgi?id=26752>
2120
2121         [Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008. 
2122
2123         * WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008.
2124
2125 2009-06-30  Xan Lopez  <xlopez@igalia.com>
2126
2127         Reviewed by Jan Alonzo.
2128
2129         Initialize member variables in the right order. Fixes compiler
2130         warning.
2131
2132         * platform/image-decoders/bmp/BMPImageReader.cpp:
2133         (WebCore::BMPImageReader::BMPImageReader):
2134
2135 2009-06-29  Xan Lopez  <xlopez@igalia.com>
2136
2137         Reviewed by David Levin.
2138
2139         https://bugs.webkit.org/show_bug.cgi?id=26831
2140         Fix compiler warning in WorkerLoaderProxy.h
2141
2142         Forward declaration of a class within a class is not allowed,
2143         since the compiler can't know if the declaration is legal at that
2144         point. This gives the following compiler warning:
2145
2146         ../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration
2147         "class WebCore::ScriptExecutionContext::Task" does not declare
2148         anything
2149
2150         Include the full ScriptExecutionHeader header instead.
2151
2152         * workers/WorkerLoaderProxy.h:
2153
2154 2009-06-29  Xan Lopez  <xlopez@igalia.com>
2155
2156         Reviewed by Jan Alonzo.
2157
2158         Remove unused function.
2159
2160         * plugins/gtk/PluginPackageGtk.cpp:
2161
2162 2009-06-29  Simon Fraser  <simon.fraser@apple.com>
2163
2164         Reviewed by Dan Bernstein.
2165
2166         Change RenderLayer::updateLayerPositions() to use a bitmask instead of two
2167         boolean arguments. FullUpdate is unused at present, but will be used soon.
2168
2169         * page/FrameView.cpp:
2170         (WebCore::FrameView::layout):
2171         * rendering/RenderLayer.cpp:
2172         (WebCore::RenderLayer::updateLayerPositions):
2173         (WebCore::RenderLayer::scrollToOffset):
2174         * rendering/RenderLayer.h:
2175         (WebCore::RenderLayer::):
2176
2177 2009-06-29  Nate Chapin  <japhet@chromium.org>
2178
2179         Reviewed by Dimitri Glazkov.
2180
2181         Fix one more bad merge in V8Proxy.
2182
2183         https://bugs.webkit.org/show_bug.cgi?id=26819
2184
2185         * bindings/v8/V8Proxy.cpp:
2186         (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object().
2187
2188 2009-06-29  Sam Weinig  <sam@webkit.org>
2189
2190         Reviewed by Mark Rowe.
2191
2192         Remove more unused scons support.
2193
2194         * SConstruct: Removed.
2195
2196 2009-06-29  Sam Weinig  <sam@webkit.org>
2197
2198         Reviewed by Dave Hyatt.
2199
2200         Fix some incorrect create functions.
2201
2202         * html/DataGridColumn.h:
2203         (WebCore::DataGridColumn::create):
2204         * html/DataGridColumnList.h:
2205         (WebCore::DataGridColumnList::create):
2206
2207 2009-06-29  Sam Weinig  <sam@webkit.org>
2208
2209         Reviewed by Dave Hyatt.
2210
2211         Remove initialize method from DataGridDataSource and add
2212         DOMDataGridDataSource.
2213
2214         * GNUmakefile.am:
2215         * WebCore.pro:
2216         * WebCore.vcproj/WebCore.vcproj:
2217         * WebCore.xcodeproj/project.pbxproj:
2218         * WebCoreSources.bkl:
2219         * bindings/js/JSDataGridDataSource.cpp:
2220         * bindings/js/JSDataGridDataSource.h:
2221         * bindings/js/JSHTMLDataGridElementCustom.cpp:
2222         (WebCore::JSHTMLDataGridElement::setDataSource):
2223         * html/DOMDataGridDataSource.cpp: Added.
2224         (WebCore::DOMDataGridDataSource::DOMDataGridDataSource):
2225         (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource):
2226         * html/DOMDataGridDataSource.h: Added.
2227         (WebCore::DOMDataGridDataSource::create):
2228         (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource):
2229         (WebCore::asDOMDataGridDataSource):
2230         * html/DataGridDataSource.h:
2231         (WebCore::DataGridDataSource::isDOMDataGridDataSource):
2232         (WebCore::DataGridDataSource::isJSDataGridDataSource):
2233         * html/HTMLDataGridElement.cpp:
2234         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
2235         (WebCore::HTMLDataGridElement::setDataSource):
2236         (WebCore::HTMLDataGridElement::dataSource):
2237         * html/HTMLDataGridElement.h:
2238
2239 2009-06-29  Nate Chapin  <japhet@chromium.org>
2240
2241         Reviewed by Dimitri Glazkov.
2242
2243         Fix a couple of bad merge items from my previous V8Proxy patch.
2244
2245         https://bugs.webkit.org/show_bug.cgi?id=26813
2246
2247         * bindings/v8/V8Collection.h:
2248         (WebCore::nodeCollectionNamedPropertyGetter):  Fix a bad function name that slipped through.
2249         * bindings/v8/V8Proxy.cpp:
2250         (WebCore::V8Proxy::setDOMException):  Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in.
2251
2252 2009-06-29  Chris Marrin  <cmarrin@apple.com>
2253
2254         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
2255
2256         https://bugs.webkit.org/show_bug.cgi?id=26706
2257
2258         Fixed crash due to dereference of m_toStyle
2259
2260         * page/animation/ImplicitAnimation.cpp:
2261         (WebCore::ImplicitAnimation::isTargetPropertyEqual):
2262
2263 2009-06-29  Eric Carlson  <eric.carlson@apple.com>
2264
2265         Reviewed by Simon Fraser.
2266
2267         <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
2268
2269         * WebCore.base.exp: 
2270             Export _wkQTMovieGetType
2271
2272         * platform/graphics/MediaPlayer.cpp:
2273         (WebCore::MediaPlayer::hasSingleSecurityOrigin):
2274             Move to keep with other non-callback functions.
2275         (WebCore::MediaPlayer::movieLoadType):
2276             New, returns the movie type.
2277         * platform/graphics/MediaPlayer.h:
2278             Declare MovieLoadType enum and movieLoadType method.
2279
2280         * platform/graphics/MediaPlayerPrivate.h:
2281         (WebCore::MediaPlayerPrivateInterface::movieLoadType):
2282             Default implementation of movieLoadType
2283
2284         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2285         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2286         (WebCore::MediaPlayerPrivate::createQTMovie):
2287             Don't base m_isStreaming on protocol, there are other types of streaming movies.
2288         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
2289             Don't assume all streams are unbuffered.
2290         (WebCore::MediaPlayerPrivate::updateStates):
2291             Update m_isStreaming once we have metadata.
2292         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
2293             Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount.
2294         (WebCore::MediaPlayerPrivate::movieLoadType):
2295             New, return movie type.
2296
2297         * platform/mac/WebCoreSystemInterface.h:
2298         * platform/mac/WebCoreSystemInterface.mm:
2299             Add wkQTMovieGetType.
2300
2301 2009-06-29  Alice Liu  <alice.liu@apple.com>
2302
2303         Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery
2304
2305         Reviewed by Anders Carlsson.
2306
2307         No test added because the crash requires a flash plugin
2308
2309         * plugins/win/PluginMessageThrottlerWin.cpp:
2310         Rely on the hWnd of the plugin to tell us whether the PluginView has 
2311         been deleted during execution of its wndProc.
2312         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
2313
2314 2009-06-29  Dmitry Titov  <dimich@chromium.org>
2315
2316         Reviewed by David Levin.
2317
2318         https://bugs.webkit.org/show_bug.cgi?id=26811
2319          [Chromium] Remove a flag and functions used to enable workers in runtime.
2320
2321         * bindings/v8/WorkerContextExecutionProxy.cpp:
2322         * bindings/v8/WorkerContextExecutionProxy.h:
2323
2324 2009-06-29  Simon Fraser  <simon.fraser@apple.com>
2325
2326         Reviewed by Dave Hyatt.
2327         
2328         <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers.
2329         
2330         Improve the appearance of text in compositing layers by making use of
2331         CA's layer geometry flipping, rather that doing it ourselves with a flip
2332         transform. This allows CG to use font autohinting in the layer text.
2333
2334         * platform/graphics/GraphicsLayer.h:
2335         (WebCore::GraphicsLayer::setGeometryOrientation):
2336         (WebCore::GraphicsLayer::geometryOrientation):
2337         New methods to set whether this layer uses flipped geometry.
2338         
2339         * platform/graphics/mac/GraphicsLayerCA.h:
2340         * platform/graphics/mac/GraphicsLayerCA.mm:
2341         (WebCore::GraphicsLayerCA::setGeometryOrientation):
2342         (WebCore::GraphicsLayerCA::geometryOrientation):
2343         Subclass in order to call into CA
2344         
2345         (WebCore::GraphicsLayerCA::setContentsLayer):
2346         Now that CA is doing the geometry flipping, we no longer need to flip the content
2347         layers for image and video manually
2348         
2349         * rendering/RenderLayerCompositor.cpp:
2350         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
2351         Turn on flipping on the root layer.
2352
2353 2009-06-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2354
2355         Reviewed by Adam Treat.
2356
2357         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26246
2358
2359         Implement most WML specific <select> element features.
2360         Add 'iname' / 'ivalue' support and support variable references.
2361
2362         Add two tests covering most select/variable related functionality.
2363         Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick).
2364
2365         Tests: http/tests/wml/post-data-to-server.html
2366                wml/select-element-variables.html
2367
2368         * dom/SelectElement.cpp:
2369         (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML.
2370         * dom/SelectElement.h:
2371         * html/HTMLSelectElement.cpp:
2372         (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML).
2373         * wml/WMLCardElement.cpp:
2374         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization.
2375         * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing.
2376         (WebCore::WMLSelectElement::title):
2377         (WebCore::WMLSelectElement::formControlName):
2378         (WebCore::WMLSelectElement::defaultEventHandler):
2379         (WebCore::WMLSelectElement::selectInitialOptions):
2380         (WebCore::WMLSelectElement::calculateDefaultOptionIndices):
2381         (WebCore::WMLSelectElement::selectDefaultOptions):
2382         (WebCore::WMLSelectElement::initializeVariables):
2383         (WebCore::WMLSelectElement::updateVariables):
2384         (WebCore::WMLSelectElement::parseIndexValueString):
2385         (WebCore::WMLSelectElement::valueStringToOptionIndices):
2386         (WebCore::WMLSelectElement::optionIndicesToValueString):
2387         (WebCore::WMLSelectElement::optionIndicesToString):
2388         (WebCore::WMLSelectElement::name):
2389         (WebCore::WMLSelectElement::value):
2390         (WebCore::WMLSelectElement::iname):
2391         (WebCore::WMLSelectElement::ivalue):
2392         * wml/WMLSelectElement.h:
2393
2394 2009-06-29  David Hyatt  <hyatt@apple.com>
2395
2396         Reviewed by Adam Roben.
2397
2398         Put <datagrid> behind an ifdef.
2399
2400         * Configurations/FeatureDefines.xcconfig:
2401         * bindings/js/JSDataGridColumnListCustom.cpp:
2402         * bindings/js/JSDataGridDataSource.cpp:
2403         * bindings/js/JSDataGridDataSource.h:
2404         * bindings/js/JSHTMLDataGridElementCustom.cpp:
2405         * html/DataGridColumn.cpp:
2406         * html/DataGridColumn.h:
2407         * html/DataGridColumn.idl:
2408         * html/DataGridColumnList.cpp:
2409         * html/DataGridColumnList.h:
2410         * html/DataGridColumnList.idl:
2411         * html/DataGridDataSource.h:
2412         * html/HTMLDataGridCellElement.cpp:
2413         * html/HTMLDataGridCellElement.h:
2414         * html/HTMLDataGridCellElement.idl:
2415         * html/HTMLDataGridColElement.cpp:
2416         * html/HTMLDataGridColElement.h:
2417         * html/HTMLDataGridColElement.idl:
2418         * html/HTMLDataGridElement.cpp:
2419         * html/HTMLDataGridElement.h:
2420         * html/HTMLDataGridElement.idl:
2421         * html/HTMLDataGridRowElement.cpp:
2422         * html/HTMLDataGridRowElement.h:
2423         * html/HTMLDataGridRowElement.idl:
2424         * html/HTMLTagNames.in:
2425         * page/DOMWindow.idl:
2426         * rendering/RenderDataGrid.cpp:
2427         * rendering/RenderDataGrid.h:
2428
2429 2009-06-29  Simon Hausmann  <simon.hausmann@nokia.com>
2430
2431         Reviewed by Ariya Hidayat and Adam Roben.
2432
2433         Fix compilation with MINGW. Ported MSVC inline assembly to
2434         GNU inline assembly. Also fixed casting errors where gcc
2435         refused to cast a pointer-to-function to a pointer-to-object,
2436         without an intermediate cast to a non-pointer type.
2437
2438         * plugins/win/PluginViewWin.cpp:
2439         (WebCore::PluginView::hookedBeginPaint):
2440         (WebCore::PluginView::hookedEndPaint):
2441         (WebCore::hook):
2442         (WebCore::setUpOffscreenPaintingHooks):
2443
2444 2009-06-26  John Sullivan  <sullivan@apple.com>
2445
2446         Added Speech submenu to context menu on Mac when there's a non-editable selection
2447         (it was already present when there's an editable selection). 
2448         Also added support for disabling "Stop Speaking" when there is no speaking to stop.
2449
2450         Reviewed by Tim Hatcher.
2451
2452         * loader/EmptyClients.h:
2453         (WebCore::EmptyContextMenuClient::isSpeaking):
2454         implemented this new virtual function to return false
2455         
2456         * page/ContextMenuClient.h:
2457         declared this new pure virtual function
2458         
2459         * platform/ContextMenu.cpp:
2460         (WebCore::ContextMenu::populate):
2461         insert Speech item (after a separator) on Mac when there's selected non-editable text
2462         (WebCore::ContextMenu::checkOrEnableIfNeeded):
2463         enable Stop Speaking item only if the context menu client returns true for isSpeaking()
2464
2465 2009-06-28  Dan Bernstein  <mitz@apple.com>
2466
2467         Reviewed by Simon Fraser.
2468
2469         - fix https://bugs.webkit.org/show_bug.cgi?id=26783
2470           <rdar://problem/7014543> REGRESSION (r45296): Subfolders not displayed
2471           in MobileMe iDisk Web App
2472
2473         Test: added a case to fast/dom/Element/scrollWidth.html
2474
2475         Ensure that scroll{Width, Height} is greater or equal to
2476         client{Width, Height}.
2477
2478         * rendering/RenderBox.cpp:
2479         (WebCore::RenderBox::scrollWidth):
2480         (WebCore::RenderBox::scrollHeight):
2481
2482 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
2483
2484         Reviewed by Eric Seidel.
2485
2486         https://bugs.webkit.org/show_bug.cgi?id=26780
2487         
2488         Do not make compositing layers for non-self-painting RenderLayers,
2489         since these exist only to push a clip onto the clipping stack. If such
2490         a layer gets compositied for some other reason, it should not paint.
2491         
2492         Also ensure that we update composited layer positions correctly
2493         inside overflow:scroll layers. We can't assume that the contents
2494         are child layers, so we have to go up to the compositing ancestor,
2495         and tell it to update all its child layer positions as we do 
2496         after layout.
2497
2498         Tests: compositing/layers-inside-overflow-scroll.html
2499                compositing/self-painting-layers.html
2500
2501         * rendering/RenderLayer.cpp:
2502         (WebCore::RenderLayer::scrollToOffset):
2503         * rendering/RenderLayerBacking.cpp:
2504         (WebCore::RenderLayerBacking::paintIntoLayer):
2505         * rendering/RenderLayerCompositor.cpp:
2506         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2507         (WebCore::RenderLayerCompositor::needsToBeComposited):
2508
2509 2009-06-28  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
2510
2511         Reviewed by Eric Seidel.
2512
2513         PurgeableBuffer #defines leave out functions on gtk MacOSX 10.4 build
2514         https://bugs.webkit.org/show_bug.cgi?id=23057
2515
2516         Define these functions for Gtk as well.
2517
2518         * platform/PurgeableBuffer.h:
2519
2520 2009-06-28  Nate Chapin  <japhet@chromium.org>
2521
2522         Reviewed by Dimitri Glazkov.
2523
2524         Update CodeGeneratorV8.pm to match the new api for V8Proxy.
2525
2526         https://bugs.webkit.org/show_bug.cgi?id=26765
2527
2528         * bindings/scripts/CodeGeneratorV8.pm: Match the current version of V8Proxy.
2529
2530 2009-06-28  Nicolas Sylvain  <nsylvain@chromium.org>
2531
2532         Reviewed by Dimitri Glazkov.
2533
2534         If loading a font fails because of the sandbox, we ask the browser process to 
2535         try to load it by calling ensureFontLoaded. If it still fails after 
2536         ensureFontLoaded, we hit a ASSERT_NOT_REACHED. 
2537
2538         This case happens once in a while during browser shutdown. The browser will 
2539         queue a message to the renderer to shutdown, and will then stop answering sync 
2540         messages from the renderer. If the renderer is still loading a page during this 
2541         time, it might try to call the browser process to ask to load a font. The 
2542         browser process will ignore the request, and the font will fail to load, even 
2543         after the second try. 
2544
2545         This is unfortunate, but there is no real risk here, since the renderer will be 
2546         going away as soon as it processes another message. 
2547
2548         This can't be layout tested as it depends on the sandbox. 
2549
2550         https://bugs.webkit.org/show_bug.cgi?id=26743 
2551
2552         * platform/graphics/chromium/FontChromiumWin.cpp:
2553         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2554         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
2555         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2556
2557 2009-06-28  John Abd-El-Malek  <jam@chromium.org>
2558
2559         Reviewed by Eric Seidel.
2560
2561         https://bugs.webkit.org/show_bug.cgi?id=15457
2562
2563         Test: plugins/netscape-plugin-map-data-to-src.html
2564
2565         Fix problems with Real or WMP plugins not displaying because "data" was set
2566         on the OBJECT tag instead of "src".  This is based on what Firefox does, see
2567         http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3045
2568
2569         * rendering/RenderPartObject.cpp:
2570         (WebCore::mapDataParamToSrc):
2571         (WebCore::RenderPartObject::updateWidget):
2572
2573 2009-06-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2574
2575         Reviewed by Jan Alonzo.
2576
2577         [Qt] Build fix after r45290
2578         https://bugs.webkit.org/show_bug.cgi?id=26769
2579
2580         * WebCore.pro:
2581
2582 2009-06-27  Emilio Pozuelo Monfort  <pochu27@gmail.com>
2583
2584         Reviewed by Jan Alonzo.
2585
2586         [GTK] Don't use deprecated GTK+ symbols.
2587         https://bugs.webkit.org/show_bug.cgi?id=26583
2588
2589         * plugins/gtk/gtk2xtbin.c:
2590         (gtk_xtbin_class_init):
2591         (gtk_xtbin_new):
2592         (gtk_xtbin_destroy):
2593
2594 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
2595
2596         Reviewed by Dan Bernstein.
2597
2598         https://bugs.webkit.org/show_bug.cgi?id=26780
2599         
2600         Fix up previous change. When computeCompositingRequirements() determines
2601         that the current layer is composited, it needs to inform its parent
2602         by setting compositingState.m_subtreeIsCompositing() to true. That didn't
2603         always happen after the previous patch. Clarified the logic here.
2604         
2605         * rendering/RenderLayerCompositor.cpp:
2606         (WebCore::CompositingState::CompositingState):
2607         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2608
2609 2009-06-27  Simon Fraser  <simon.fraser@apple.com>
2610
2611         Reviewed by Dan Bernstein.
2612
2613         https://bugs.webkit.org/show_bug.cgi?id=26780
2614         
2615         First part: fix the RenderLayer::hasCompositingDescendant() flag to be set
2616         correctly.
2617
2618         * rendering/RenderLayerCompositor.cpp:
2619         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2620         Do not unconditionally set compositingState.m_subtreeIsCompositing, because
2621         that can clobber the value from an earlier sibling. Add some more comments.
2622         
2623         Remove a final use of Vector iterators.
2624         
2625         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
2626         Move the normalFlowList() processing outside the test for isStackingContext().
2627
2628 2009-06-27  Dan Bernstein  <mitz@apple.com>
2629
2630         Reviewed by Simon Fraser and Antti Koivisto.
2631
2632         - make paintFillLayerExtended() non-virtual and remove its clipY and
2633           clipH parameters
2634
2635         These parameters were computed and passed along to
2636         paintFillLayerExtended in order to vertically constrain the rect fill to
2637         the damage rect, because Qt cannot paint tall rectangles (see
2638         <http://websvn.kde.org/?view=rev&revision=42721>). Since the damage rect
2639         is passed along in the PaintInfo, the extra parameters are redundant,
2640         and the intersection can just take place in paintFillLayerExtended().
2641
2642         * rendering/InlineFlowBox.cpp:
2643         (WebCore::InlineFlowBox::paintFillLayers):
2644         (WebCore::InlineFlowBox::paintFillLayer):
2645         (WebCore::InlineFlowBox::paintBoxDecorations):
2646         (WebCore::InlineFlowBox::paintMask):
2647         * rendering/InlineFlowBox.h:
2648         * rendering/RenderBox.cpp:
2649         (WebCore::RenderBox::paintRootBoxDecorations):
2650         (WebCore::RenderBox::paintBoxDecorations):
2651         (WebCore::RenderBox::paintMask):
2652         (WebCore::RenderBox::paintMaskImages):
2653         (WebCore::RenderBox::paintFillLayers):
2654         (WebCore::RenderBox::paintFillLayer):
2655         * rendering/RenderBox.h:
2656         * rendering/RenderBoxModelObject.cpp:
2657         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2658         * rendering/RenderBoxModelObject.h:
2659         * rendering/RenderFieldset.cpp:
2660         (WebCore::RenderFieldset::paintBoxDecorations):
2661         (WebCore::RenderFieldset::paintMask):
2662         * rendering/RenderTable.cpp:
2663         (WebCore::RenderTable::paintBoxDecorations):
2664         (WebCore::RenderTable::paintMask):
2665         * rendering/RenderTableCell.cpp:
2666         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2667         (WebCore::RenderTableCell::paintMask):
2668
2669 2009-06-27  Ryosuke Niwa  <rniwa@google.com>
2670
2671         Reviewed by Eric Seidel.
2672
2673         https://bugs.webkit.org/show_bug.cgi?id=26762
2674
2675         Clean up for IndentOutdentCommand::indentRegion, and solved most of problems related to the bug 21712.
2676         https://bugs.webkit.org/show_bug.cgi?id=21712
2677
2678         Added few utility functions to htmlediting.h/cpp
2679
2680         isVisibilyAdjacent checks whether the first position is visibly next to the second position.
2681         i.e. there is no visible node between the first and second positions
2682
2683         canMergeLists checks whether two lists can be merged.
2684         It checks the type of list, the editing boundary, and adjacency of the lists.
2685
2686         Tests: editing/execCommand/indent-nested-lists-1.html
2687                editing/execCommand/indent-nested-lists-2.html
2688                editing/execCommand/indent-nested-lists-3.html
2689                editing/execCommand/indent-nested-lists-4.html
2690                editing/execCommand/indent-nested-lists-5.html
2691                editing/execCommand/indent-nested-lists-6.html
2692                editing/execCommand/indent-nested-lists-7.html
2693                editing/execCommand/outdent-nested-lists-1.html
2694                editing/execCommand/outdent-nested-lists-2.html
2695                editing/execCommand/outdent-nested-lists-3.html
2696                editing/execCommand/outdent-nested-lists-4.html
2697
2698         * editing/IndentOutdentCommand.cpp:
2699         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
2700         (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
2701         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
2702         (WebCore::IndentOutdentCommand::indentRegion):
2703         * editing/IndentOutdentCommand.h:
2704         * editing/htmlediting.cpp:
2705         (WebCore::enclosingListChild):
2706         (WebCore::canMergeLists):
2707         (WebCore::isVisibilyAdjacent):
2708         * editing/htmlediting.h:
2709
2710 2009-06-27  Pavel Feldman  <pfeldman@chromium.org>
2711
2712         Reviewed by Timothy Hatcher.
2713
2714         WebInspector: Fix completion when iterating options using Tab.
2715
2716         https://bugs.webkit.org/show_bug.cgi?id=26722
2717
2718         * inspector/front-end/TextPrompt.js:
2719         (WebInspector.TextPrompt.prototype._completionsReady):
2720
2721 2009-06-27  Gustavo Noronha Silva  <gns@gnome.org>
2722
2723         Reviewed by Holger Freyther.
2724
2725         https://bugs.webkit.org/show_bug.cgi?id=25889
2726         [GTK] scrollbar policy for main frame is not implementable
2727
2728         Override visibleContentRect to handle GTK+'s case, in which
2729         scrollbars or equivalent decoration are painted by the parent
2730         widget.
2731
2732         * platform/ScrollView.cpp:
2733         * platform/gtk/ScrollViewGtk.cpp:
2734         (WebCore::ScrollView::visibleContentRect):
2735
2736 2009-06-27  Daniel Bates  <dbates@intudata.com>
2737
2738         Reviewed by Adam Barth.
2739
2740         https://bugs.webkit.org/show_bug.cgi?id=26708
2741         
2742         Fix addresses false negatives with respect to scheme relative paths, iFrame JavaScript URLs,
2743         and UTF-7 encoded payloads.   
2744
2745         Tests: http/tests/security/xssAuditor/http-equiv-utf-7-encoded.html
2746                http/tests/security/xssAuditor/iframe-javascript-url.html
2747                http/tests/security/xssAuditor/script-tag-utf-7-encoded.html
2748                http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html
2749
2750         * html/HTMLTokenizer.cpp:
2751         (WebCore::HTMLTokenizer::scriptHandler): Moved XSSAuditor check to HTMLTokenizer::parseTag.
2752         (WebCore::HTMLTokenizer::parseTag):
2753         * loader/FrameLoader.cpp:
2754         (WebCore::FrameLoader::loadSubframe): Modified to inform XSSAuditor of parent frame so
2755         as to compare against iFrame javascript URL.
2756         * page/XSSAuditor.cpp: Removed method XSSAuditor::isControlCharacter. Instead, exposed method
2757         isControlCharacter in ResourceResponseBase.cpp.
2758         (WebCore::XSSAuditor::XSSAuditor):
2759         (WebCore::XSSAuditor::decodeURL): Modified to decode string using specified encoder.
2760         (WebCore::XSSAuditor::findInRequest): Generalized to arbitrary frame so as to prevent execution
2761         of iFrame javascript URL.
2762         * page/XSSAuditor.h: Added field m_parentFrame.
2763         * platform/network/ResourceResponseBase.cpp:
2764         (WebCore::isControlCharacter):
2765         * platform/network/ResourceResponseBase.h:
2766
2767 2009-06-27  Oliver Hunt  <oliver@apple.com>
2768
2769         Reviewed by Maciej Stachowiak.
2770
2771         Bug 26771: Canvas is incorrectly tainted when drawing from a video element that uses <source> elements
2772
2773         The drawImage(<video>) logic naively assumes that it just needs
2774         to check the src attribute of the video element when in fact it
2775         needs to look at the url that is being played instead.  Failure
2776         to do this means that video provided through source elements 
2777         taints the canvas.
2778
2779         Test: media/video-canvas-source.html
2780
2781         * html/CanvasRenderingContext2D.cpp:
2782         (WebCore::CanvasRenderingContext2D::checkOrigin):
2783         (WebCore::CanvasRenderingContext2D::drawImage):
2784         * html/CanvasRenderingContext2D.h:
2785
2786 2009-06-26  Brian Weinstein  <bweinstein@apple.com>
2787
2788         Reviewed by Simon Fraser.
2789
2790         https://bugs.webkit.org/show_bug.cgi?id=26695
2791         
2792         Added the ability to do scrollbar hit testing in EventHandler, changed the
2793         signature of a PlatformWheelEvent constructor, and changed scrollbarUnderMouse
2794         to scrollbarUnderPoint, and updated all calls to that function.        
2795
2796         * page/EventHandler.cpp:
2797         (WebCore::EventHandler::hitTestResultAtPoint):
2798         (WebCore::EventHandler::handleMousePressEvent):
2799         (WebCore::EventHandler::handleMouseMoveEvent):
2800         * page/EventHandler.h:
2801         (WebCore::):
2802         * platform/PlatformWheelEvent.h:
2803         * platform/ScrollView.cpp:
2804         (WebCore::ScrollView::scrollbarUnderPoint):
2805         * platform/ScrollView.h:
2806         * platform/chromium/PopupMenuChromium.cpp:
2807         (WebCore::PopupListBox::handleMouseDownEvent):
2808         (WebCore::PopupListBox::handleMouseMoveEvent):
2809         * platform/win/WheelEventWin.cpp:
2810         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2811
2812
2813 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
2814
2815         Reviewed by Dan Bernstein.
2816
2817         <rdar://problem/7011924> Opacity transitions should not trigger hardware compositing mode
2818         
2819         Don't go into compositing mode just for opacity transitions, but they will be
2820         hardware acclerated if we're already compositing.
2821
2822         * rendering/RenderLayerCompositor.cpp:
2823         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
2824         (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
2825         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
2826         * rendering/RenderLayerCompositor.h:
2827
2828 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
2829
2830         Rubber-stamped by Dave Levin
2831
2832         Rename ioCompState to compositingState to better match WebCore coding style.
2833         
2834         * rendering/RenderLayerCompositor.cpp:
2835         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2836         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2837
2838 2009-06-26  Dan Bernstein  <mitz@apple.com>
2839
2840         Reviewed by Mark Rowe.
2841
2842         - revert unintentional project changes from r45277
2843
2844         * WebCore.xcodeproj/project.pbxproj:
2845
2846 2009-06-26  Mark Rowe  <mrowe@apple.com>
2847
2848         Fix the Windows build.
2849
2850         * WebCore.vcproj/WebCore.vcproj: Remove ColorSafari.cpp as
2851         the file was deleted from SVN.
2852
2853 2009-06-26  Simon Fraser  <simon.fraser@apple.com>
2854
2855         Reviewed by Dan Bernstein.
2856
2857         https://bugs.webkit.org/show_bug.cgi?id=26766
2858
2859         Change to use array indexing rather than Vector enumerators; the former
2860         are preferred style.
2861
2862         * rendering/RenderLayerBacking.cpp:
2863         (WebCore::RenderLayerBacking::hasNonCompositingContent):
2864         * rendering/RenderLayerCompositor.cpp:
2865         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2866         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2867         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2868         (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
2869         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
2870         (WebCore::RenderLayerCompositor::layerHas3DContent):
2871
2872 2009-06-26  Dan Bernstein  <mitz@apple.com>
2873
2874         Reviewed by Oliver Hunt.
2875
2876         - fix <rdar://problem/6961476> REGRESSION (r42043): scrollWidth reported
2877           as 1 px
2878
2879         Test: fast/dom/Element/scrollWidth.html
2880
2881         Changed scrollWidth and scrollHeight to use the same logic for
2882         visible overflow boxes that is used for clipped overflow boxes. In
2883         particular, borders are not included and
2884         {leftmost,rightmost,lowest}Position() are used. This logic matches IE8.
2885
2886         * rendering/RenderBox.cpp:
2887         (WebCore::RenderBox::scrollWidth):
2888         (WebCore::RenderBox::scrollHeight):
2889
2890 2009-06-26  Chris Fleizach  <cfleizach@apple.com>
2891
2892         Reviewed by Oliver Hunt.
2893
2894         Bug 26725: aria-hidden, aria-disabled, aria-readonly need to be implemented
2895         https://bugs.webkit.org/show_bug.cgi?id=26725
2896
2897         Tests: accessibility/aria-disabled.html
2898                accessibility/aria-hidden.html
2899                accessibility/aria-readonly.html
2900
2901         * accessibility/AccessibilityRenderObject.cpp:
2902         (WebCore::AccessibilityRenderObject::ariaIsHidden):
2903         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2904         (WebCore::AccessibilityRenderObject::isEnabled):
2905         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
2906         * accessibility/AccessibilityRenderObject.h:
2907         * html/HTMLAttributeNames.in:
2908
2909 2009-06-26  Brett Wilson  <brettw@chromium.org>
2910
2911         Reviewed by David Levin.
2912
2913         https://bugs.webkit.org/show_bug.cgi?id=26759
2914
2915         GIFImageDecoder is broken.
2916
2917         Make the GIFImageDecoder.repetitionCount function const to match the
2918         base class. The mismatched definitions were causing the function to not
2919         get called.
2920
2921         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2922         (WebCore::GIFImageDecoder::repetitionCount):
2923         * platform/image-decoders/gif/GIFImageDecoder.h:
2924
2925 2009-06-26  Chris Marrin  <cmarrin@apple.com>
2926
2927         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
2928
2929         Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651
2930
2931         The flag should always default to true to avoid it getting set
2932         to false in a build with accelerated compositing turned off
2933         and then disabling accelerated compositing when subsequently
2934         running a build with it turned on.
2935
2936         * page/Settings.cpp:
2937         (WebCore::Settings::Settings):
2938
2939 2009-06-26  Brady Eidson  <beidson@apple.com>
2940
2941         Reviewed by Sam Weinig.
2942
2943         Followup for the fix for <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
2944
2945         Now that other MIME type correction stuff is in our swizzled method, Tiger needs it too!
2946
2947         * platform/network/mac/ResourceHandleMac.mm:
2948         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
2949         * platform/network/mac/WebCoreURLResponse.h:
2950
2951 2009-06-26  Jeremy Orlow  <jorlow@chromium.org>
2952
2953         Reviewed by Darin Fisher.
2954
2955         https://bugs.webkit.org/show_bug.cgi?id=26732
2956
2957         For the final step of https://bugs.webkit.org/show_bug.cgi?id=25376,
2958         combine LocalStorage and SessionStorage into StorageNamespace. The
2959         synching code (for LocalStorage) has already been removed, so these
2960         classes are now very similar.  All they do is essentially contain a
2961         logical grouping of origins that are attached to specific contexts
2962         (be it PageGroups for LocalStorage and Page for SessionStorage).
2963
2964         * GNUmakefile.am:
2965         * WebCore.vcproj/WebCore.vcproj:
2966         * WebCore.xcodeproj/project.pbxproj:
2967         * WebCoreSources.bkl:
2968         * page/Chrome.cpp:
2969         (WebCore::Chrome::createWindow):
2970         * page/DOMWindow.cpp:
2971         (WebCore::DOMWindow::localStorage):
2972         * page/DOMWindow.h:
2973         * page/Page.cpp:
2974         (WebCore::Page::sessionStorage):
2975         (WebCore::Page::setSessionStorage):
2976         * page/Page.h:
2977         * page/PageGroup.cpp:
2978         (WebCore::PageGroup::localStorage):
2979         * page/PageGroup.h:
2980         * storage/LocalStorage.cpp: Removed.
2981         * storage/LocalStorage.h: Removed.
2982         * storage/LocalStorageTask.cpp:
2983         * storage/LocalStorageThread.cpp:
2984         * storage/SessionStorage.cpp: Removed.
2985         * storage/SessionStorage.h: Removed.
2986         * storage/StorageArea.cpp:
2987         (WebCore::StorageArea::create):
2988         (WebCore::StorageArea::StorageArea):
2989         (WebCore::StorageArea::copy):
2990         (WebCore::StorageArea::length):
2991         (WebCore::StorageArea::key):
2992         (WebCore::StorageArea::getItem):
2993         (WebCore::StorageArea::setItem):
2994         (WebCore::StorageArea::removeItem):
2995         (WebCore::StorageArea::clear):
2996         (WebCore::StorageArea::contains):
2997         (WebCore::StorageArea::importItem):
2998         (WebCore::StorageArea::close):
2999         (WebCore::StorageArea::dispatchStorageEvent):
3000         * storage/StorageArea.h:
3001         (WebCore::):
3002         * storage/StorageAreaSync.cpp:
3003         (WebCore::StorageAreaSync::scheduleFinalSync):
3004         * storage/StorageNamespace.cpp: Copied from WebCore/storage/LocalStorage.cpp.
3005         (WebCore::localStorageNamespaceMap):
3006         (WebCore::StorageNamespace::localStorageNamespace):
3007         (WebCore::StorageNamespace::sessionStorageNamespace):
3008         (WebCore::StorageNamespace::StorageNamespace):
3009         (WebCore::StorageNamespace::~StorageNamespace):
3010         (WebCore::StorageNamespace::copy):
3011         (WebCore::StorageNamespace::storageArea):
3012         (WebCore::StorageNamespace::close):
3013         * storage/StorageNamespace.h: Copied from WebCore/storage/LocalStorage.h.
3014
3015 2009-06-26  Nate Chapin  <japhet@chromium.org>
3016
3017         Reviewed by David Levin.
3018
3019         Upstream V8Proxy.  This involved updating a lot of function and variable names to match WebKit style, hence the large size.
3020
3021         https://bugs.webkit.org/show_bug.cgi?id=26623
3022
3023         * bindings/v8/ScheduledAction.cpp:
3024         (WebCore::ScheduledAction::ScheduledAction):
3025         (WebCore::ScheduledAction::~ScheduledAction):
3026         (WebCore::ScheduledAction::execute):
3027         * bindings/v8/ScriptCallStack.cpp:
3028         (WebCore::ScriptCallStack::ScriptCallStack):
3029         * bindings/v8/ScriptController.cpp:
3030         (WebCore::ScriptController::isSafeScript):
3031         (WebCore::ScriptController::gcProtectJSWrapper):
3032         (WebCore::ScriptController::gcUnprotectJSWrapper):
3033         (WebCore::ScriptController::processingUserGesture):
3034         (WebCore::ScriptController::evaluate):
3035         (WebCore::ScriptController::setEventHandlerLineNumber):
3036         (WebCore::ScriptController::bindToWindowObject):
3037         (WebCore::ScriptController::collectGarbage):
3038         (WebCore::ScriptController::haveInterpreter):
3039         (WebCore::createScriptObject):
3040         (WebCore::ScriptController::createScriptObjectForPluginElement):
3041         * bindings/v8/ScriptInstance.cpp:
3042         (WebCore::V8ScriptInstance::clear):
3043         (WebCore::V8ScriptInstance::set):
3044         * bindings/v8/ScriptObject.cpp:
3045         (WebCore::ScriptGlobalObject::set):
3046         * bindings/v8/ScriptObjectQuarantine.cpp:
3047         (WebCore::getQuarantinedScriptObject):
3048         * bindings/v8/ScriptScope.cpp:
3049         (WebCore::ScriptScope::ScriptScope):
3050         * bindings/v8/ScriptValue.h:
3051         (WebCore::ScriptValue::ScriptValue):
3052         (WebCore::ScriptValue::operator=):
3053         (WebCore::ScriptValue::clear):
3054         * bindings/v8/V8AbstractEventListener.cpp:
3055         (WebCore::V8AbstractEventListener::invokeEventHandler):
3056         (WebCore::V8AbstractEventListener::handleEvent):
3057         (WebCore::V8AbstractEventListener::disposeListenerObject):
3058         (WebCore::V8AbstractEventListener::getReceiverObject):
3059         * bindings/v8/V8Collection.cpp:
3060         (WebCore::toOptionsCollectionSetter):
3061         * bindings/v8/V8Collection.h:
3062         (WebCore::getV8Object):
3063         (WebCore::getNamedPropertyOfCollection):
3064         (WebCore::nodeCollectionNamedPropertyGetter):
3065         (WebCore::getIndexedPropertyOfCollection):
3066         (WebCore::nodeCollectionIndexedPropertyGetter):
3067         (WebCore::nodeCollectionIndexedPropertyEnumerator):
3068         (WebCore::collectionIndexedPropertyEnumerator):
3069         (WebCore::collectionStringOrNullIndexedPropertyGetter):
3070         * bindings/v8/V8DOMMap.cpp:
3071         (WebCore::weakDOMObjectCallback):
3072         (WebCore::DOMData::removeObjectsFromWrapperMap):
3073         * bindings/v8/V8Helpers.cpp:
3074         (WebCore::wrapNPObject):
3075         (WebCore::toV8Context):
3076         * bindings/v8/V8LazyEventListener.cpp:
3077         (WebCore::V8LazyEventListener::~V8LazyEventListener):
3078         (WebCore::V8LazyEventListener::getListenerFunction):
3079         (WebCore::V8LazyEventListener::callListenerFunction):
3080         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
3081         * bindings/v8/V8NodeFilterCondition.cpp:
3082         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
3083         (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
3084         (WebCore::V8NodeFilterCondition::acceptNode):
3085         * bindings/v8/V8ObjectEventListener.cpp:
3086         (WebCore::weakObjectEventListenerCallback):
3087         (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
3088         * bindings/v8/V8Proxy.cpp: Added.
3089         * bindings/v8/V8Proxy.h:
3090         (WebCore::):
3091         (WebCore::GlobalHandleInfo::GlobalHandleInfo):
3092         (WebCore::V8Proxy::):
3093         (WebCore::V8Proxy::V8Proxy):
3094         (WebCore::V8Proxy::frame):
3095         (WebCore::V8Proxy::inlineCode):
3096         (WebCore::V8Proxy::setInlineCode):
3097         (WebCore::V8Proxy::timerCallback):
3098         (WebCore::V8Proxy::setTimerCallback):
3099         (WebCore::V8Proxy::setEventHandlerLineNumber):
3100         (WebCore::V8Proxy::finishedWithEvent):
3101         (WebCore::V8Proxy::wrapCPointer):
3102         (WebCore::V8Proxy::extractCPointer):
3103         (WebCore::V8Proxy::convertDOMWrapperToNative):
3104         (WebCore::V8Proxy::convertDOMWrapperToNode):
3105         (WebCore::V8Proxy::convertToV8Object):
3106         (WebCore::V8Proxy::convertToNativeObject):
3107         (WebCore::V8Proxy::convertToNativeEvent):
3108         (WebCore::V8Proxy::context):
3109         (WebCore::V8Proxy::extractCPointerImpl):
3110         (WebCore::V8Proxy::utilityContext):
3111         (WebCore::V8Proxy::constructDOMObject):
3112         (WebCore::throwError):
3113         (WebCore::toV8):
3114         * bindings/v8/V8Utilities.h:
3115         * bindings/v8/WorkerContextExecutionProxy.cpp:
3116         (WebCore::WorkerContextExecutionProxy::retrieve):
3117         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3118         (WebCore::WorkerContextExecutionProxy::GetConstructor):
3119         (WebCore::WorkerContextExecutionProxy::ToV8Object):
3120         (WebCore::WorkerContextExecutionProxy::EventToV8Object):
3121         (WebCore::WorkerContextExecutionProxy::toV8):
3122         (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
3123         (WebCore::WorkerContextExecutionProxy::evaluate):
3124         (WebCore::WorkerContextExecutionProxy::runScript):
3125         * bindings/v8/custom/V8AttrCustom.cpp:
3126         (WebCore::ACCESSOR_SETTER):
3127         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3128         (WebCore::NAMED_PROPERTY_GETTER):
3129         (WebCore::NAMED_PROPERTY_SETTER):
3130         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
3131         (WebCore::INDEXED_PROPERTY_GETTER):
3132         (WebCore::INDEXED_PROPERTY_SETTER):
3133         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3134         (WebCore::toV8):
3135         (WebCore::toCanvasStyle):
3136         (WebCore::ACCESSOR_GETTER):
3137         (WebCore::ACCESSOR_SETTER):
3138         (WebCore::CALLBACK_FUNC_DECL):
3139         * bindings/v8/custom/V8ClientRectListCustom.cpp:
3140         (WebCore::INDEXED_PROPERTY_GETTER):
3141         * bindings/v8/custom/V8ClipboardCustom.cpp:
3142         (WebCore::ACCESSOR_GETTER):
3143         (WebCore::CALLBACK_FUNC_DECL):
3144         * bindings/v8/custom/V8CustomBinding.cpp:
3145         (WebCore::allowSettingFrameSrcToJavascriptUrl):
3146         (WebCore::ACCESSOR_GETTER):
3147         (WebCore::INDEXED_ACCESS_CHECK):
3148         (WebCore::NAMED_ACCESS_CHECK):
3149         (WebCore::V8Custom::GetTargetFrame):
3150         * bindings/v8/custom/V8CustomEventListener.cpp:
3151         (WebCore::V8EventListener::V8EventListener):
3152         (WebCore::V8EventListener::~V8EventListener):
3153         (WebCore::V8EventListener::callListenerFunction):
3154         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
3155         (WebCore::V8CustomSQLStatementCallback::handleEvent):
3156         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
3157         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
3158         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
3159         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
3160         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
3161         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
3162         * bindings/v8/custom/V8CustomVoidCallback.cpp:
3163         (WebCore::V8CustomVoidCallback::handleEvent):
3164         (WebCore::invokeCallback):
3165         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
3166         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
3167         * bindings/v8/custom/V8DOMParserConstructor.cpp:
3168         (WebCore::CALLBACK_FUNC_DECL):
3169         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3170         (WebCore::V8Custom::WindowSetTimeoutImpl):
3171         (WebCore::convertBase64):
3172         (WebCore::ACCESSOR_SETTER):
3173         (WebCore::CALLBACK_FUNC_DECL):
3174         (WebCore::ACCESSOR_GETTER):
3175         (WebCore::createWindow):
3176         (WebCore::INDEXED_PROPERTY_GETTER):
3177         (WebCore::NAMED_PROPERTY_GETTER):
3178         (WebCore::V8Custom::ClearTimeoutImpl):
3179         (WebCore::NAMED_ACCESS_CHECK):
3180         (WebCore::INDEXED_ACCESS_CHECK):
3181         * bindings/v8/custom/V8DatabaseCustom.cpp:
3182         (WebCore::CALLBACK_FUNC_DECL):
3183         * bindings/v8/custom/V8DocumentCustom.cpp:
3184         (WebCore::CALLBACK_FUNC_DECL):
3185         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
3186         (WebCore::ACCESSOR_GETTER):
3187         (WebCore::ACCESSOR_SETTER):
3188         * bindings/v8/custom/V8ElementCustom.cpp:
3189         (WebCore::CALLBACK_FUNC_DECL):
3190         (WebCore::ACCESSOR_SETTER):
3191         (WebCore::ACCESSOR_GETTER):
3192         * bindings/v8/custom/V8EventCustom.cpp:
3193         (WebCore::ACCESSOR_SETTER):
3194         (WebCore::ACCESSOR_GETTER):
3195         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3196         (WebCore::CALLBACK_FUNC_DECL):
3197         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3198         (WebCore::getNamedItems):
3199         (WebCore::getItem):
3200         (WebCore::NAMED_PROPERTY_GETTER):
3201         (WebCore::CALLBACK_FUNC_DECL):
3202         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3203         (WebCore::NAMED_PROPERTY_GETTER):
3204         (WebCore::CALLBACK_FUNC_DECL):
3205         (WebCore::ACCESSOR_GETTER):
3206         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
3207         (WebCore::INDEXED_PROPERTY_GETTER):
3208         (WebCore::NAMED_PROPERTY_GETTER):
3209         (WebCore::CALLBACK_FUNC_DECL):
3210         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
3211         (WebCore::ACCESSOR_SETTER):
3212         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
3213         (WebCore::NAMED_PROPERTY_GETTER):
3214         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
3215         (WebCore::ACCESSOR_SETTER):
3216         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3217         (WebCore::CALLBACK_FUNC_DECL):
3218         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
3219         (WebCore::ACCESSOR_GETTER):
3220         (WebCore::ACCESSOR_SETTER):
3221         (WebCore::CALLBACK_FUNC_DECL):
3222         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
3223         (WebCore::CALLBACK_FUNC_DECL):
3224         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3225         (WebCore::CALLBACK_FUNC_DECL):
3226         (WebCore::ACCESSOR_GETTER):
3227         (WebCore::ACCESSOR_SETTER):
3228         (WebCore::INDEXED_PROPERTY_GETTER):
3229         (WebCore::INDEXED_PROPERTY_SETTER):
3230         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3231         (WebCore::NAMED_PROPERTY_GETTER):
3232         (WebCore::NAMED_PROPERTY_SETTER):
3233         (WebCore::INDEXED_PROPERTY_GETTER):
3234         (WebCore::INDEXED_PROPERTY_SETTER):
3235         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
3236         (WebCore::NAMED_PROPERTY_GETTER):
3237         (WebCore::INDEXED_PROPERTY_SETTER):
3238         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
3239         (WebCore::CALLBACK_FUNC_DECL):
3240         (WebCore::removeElement):
3241         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
3242         (WebCore::CALLBACK_FUNC_DECL):
3243         * bindings/v8/custom/V8LocationCustom.cpp:
3244         (WebCore::ACCESSOR_SETTER):
3245         (WebCore::ACCESSOR_GETTER):
3246         (WebCore::CALLBACK_FUNC_DECL):
3247         (WebCore::INDEXED_ACCESS_CHECK):
3248         (WebCore::NAMED_ACCESS_CHECK):
3249         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
3250         (WebCore::CALLBACK_FUNC_DECL):
3251         * bindings/v8/custom/V8MessagePortCustom.cpp:
3252         (WebCore::ACCESSOR_GETTER):
3253         (WebCore::ACCESSOR_SETTER):
3254         (WebCore::CALLBACK_FUNC_DECL):
3255         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3256         (WebCore::INDEXED_PROPERTY_GETTER):
3257         (WebCore::NAMED_PROPERTY_GETTER):
3258         * bindings/v8/custom/V8NavigatorCustom.cpp:
3259         (WebCore::ACCESSOR_GETTER):
3260         * bindings/v8/custom/V8NodeCustom.cpp:
3261         (WebCore::CALLBACK_FUNC_DECL):
3262         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
3263         (WebCore::toV8):
3264         (WebCore::CALLBACK_FUNC_DECL):
3265         * bindings/v8/custom/V8NodeListCustom.cpp:
3266         (WebCore::NAMED_PROPERTY_GETTER):
3267         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3268         (WebCore::CALLBACK_FUNC_DECL):
3269         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3270         (WebCore::CALLBACK_FUNC_DECL):
3271         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
3272         (WebCore::CALLBACK_FUNC_DECL):
3273         * bindings/v8/custom/V8SVGLengthCustom.cpp:
3274         (WebCore::ACCESSOR_GETTER):
3275         (WebCore::CALLBACK_FUNC_DECL):
3276         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
3277         (WebCore::CALLBACK_FUNC_DECL):
3278         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
3279         (WebCore::NAMED_PROPERTY_GETTER):
3280         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
3281         (WebCore::toV8):
3282         (WebCore::CALLBACK_FUNC_DECL):
3283         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
3284         (WebCore::CALLBACK_FUNC_DECL):
3285         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
3286         (WebCore::CALLBACK_FUNC_DECL):
3287         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3288         (WebCore::ACCESSOR_GETTER):
3289         (WebCore::ACCESSOR_SETTER):
3290         (WebCore::SetTimeoutOrInterval):
3291         (WebCore::CALLBACK_FUNC_DECL):
3292         * bindings/v8/custom/V8WorkerCustom.cpp:
3293         (WebCore::CALLBACK_FUNC_DECL):
3294         (WebCore::getEventListener):
3295         (WebCore::ACCESSOR_GETTER):
3296         (WebCore::ACCESSOR_SETTER):
3297         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
3298         (WebCore::CALLBACK_FUNC_DECL):
3299         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3300         (WebCore::getEventListener):
3301         (WebCore::ACCESSOR_GETTER):
3302         (WebCore::ACCESSOR_SETTER):
3303         (WebCore::CALLBACK_FUNC_DECL):
3304         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
3305         (WebCore::ACCESSOR_GETTER):
3306         (WebCore::ACCESSOR_SETTER):
3307         (WebCore::CALLBACK_FUNC_DECL):
3308         * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
3309         (WebCore::CALLBACK_FUNC_DECL):
3310         * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
3311         (WebCore::CALLBACK_FUNC_DECL):
3312         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
3313         (WebCore::CALLBACK_FUNC_DECL):
3314
3315 2009-06-26  Kevin McCullough  <kmccullough@apple.com>
3316
3317         Reviewed by Tim Hatcher.
3318
3319         <rdar://problem/7011047> Profiler shows the record button 'on' even
3320         though it's finished
3321
3322         I consolidated the creation of the user initiated profile name into
3323         its own function and then called it from console::profile instead of
3324         calling startUserInitiatedProfiling().  This way we don't call
3325         toggleRecordButton() which turns on the record button.
3326
3327         * inspector/InspectorController.cpp:
3328         (WebCore::InspectorController::didCommitLoad):
3329         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
3330         (WebCore::InspectorController::startUserInitiatedProfiling):
3331         (WebCore::InspectorController::stopUserInitiatedProfiling):
3332         * inspector/InspectorController.h:
3333         * page/Console.cpp:
3334         (WebCore::Console::profile):
3335         (WebCore::Console::profileEnd):
3336
3337 2009-06-26  Jeremy Moskovich  <jeremy@chromium.org>
3338
3339         Reviewed by Eric Seidel.
3340
3341         https://bugs.webkit.org/show_bug.cgi?id=26691
3342
3343         Cleanup: Move focusRingColor to RenderTheme.
3344
3345         Most of this CL involves deleting files and removing dead code.
3346
3347         focusRingColor() is now defined in RenderTheme rather than in
3348         misc. places on each port.  The default color is specified as
3349         black in renderTheme and ports can override it in their own
3350         custom renderThemes.
3351
3352         Behavior should be identical except for the following cases,
3353         this lists platform and what the focus ring color used to be
3354         before this cl and the file where it used to be defined:
3355
3356         Android - red
3357         WebCore/platform/android/TemporaryLinkStubs.cpp
3358
3359         Cairo - aqua focus ring color - 0xFF7DADD9
3360         WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
3361
3362         wx - red
3363         WebCore/platform/wx/TemporaryLinkStubs.cpp
3364
3365         QT - black
3366         WebCore/platform/graphics/qt/GraphicsContextQt.cpp
3367
3368         Manual test: manual-tests/focusringcolor-change-on-theme-change.html
3369
3370         * css/CSSStyleSelector.cpp:
3371         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
3372         * manual-tests/focusringcolor-change-on-theme-change.html: Added.
3373         * platform/android/TemporaryLinkStubs.cpp:
3374         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3375         * platform/graphics/chromium/ColorChromium.cpp: Removed.
3376         * platform/graphics/chromium/ColorChromiumMac.mm: Removed.
3377         * platform/graphics/mac/ColorMac.h:
3378         * platform/graphics/mac/ColorMac.mm:
3379         (WebCore::oldAquaFocusRingColor):
3380         (WebCore::setUsesTestModeFocusRingColor):
3381         (WebCore::usesTestModeFocusRingColor):
3382         * platform/graphics/qt/GraphicsContextQt.cpp:
3383         * platform/graphics/skia/GraphicsContextSkia.cpp:
3384         (WebCore::GraphicsContext::drawFocusRing):
3385         * platform/graphics/win/ColorSafari.cpp: Removed.
3386         * platform/wx/TemporaryLinkStubs.cpp:
3387         * rendering/RenderTheme.cpp:
3388         (WebCore::RenderTheme::focusRingColor):
3389         * rendering/RenderTheme.h:
3390         * rendering/RenderThemeChromiumMac.h:
3391         * rendering/RenderThemeChromiumMac.mm:
3392         (WebCore::RenderThemeChromiumMac::focusRingColor):
3393         (WebCore::RenderThemeChromiumMac::systemColor):
3394         * rendering/RenderThemeChromiumSkia.cpp:
3395         (WebCore::RenderThemeChromiumSkia::focusRingColor):
3396         * rendering/RenderThemeChromiumSkia.h:
3397         * rendering/RenderThemeMac.h:
3398         * rendering/RenderThemeMac.mm:
3399         (WebCore::RenderThemeMac::focusRingColor):
3400         (WebCore::RenderThemeMac::systemColor):
3401         * rendering/RenderThemeSafari.cpp:
3402         (WebCore::makeRGBAFromCGColor):
3403         (WebCore::RenderThemeSafari::focusRingColor):
3404         * rendering/RenderThemeSafari.h:
3405
3406 2009-06-26  Dmitry Titov  <dimich@chromium.org>
3407
3408         Reviewed by David Levin.
3409
3410         https://bugs.webkit.org/show_bug.cgi?id=26761
3411         [Chromium] Enable Dedicated Workers in Chromium.
3412
3413         * bindings/v8/custom/V8WorkerCustom.cpp:
3414         (WebCore::CALLBACK_FUNC_DECL):
3415         Remove the check that prevented workers from being created w/o a command-line switch.
3416         The flag itself and methods will be removed in a subsequent patch, after
3417         corresponding change in Chromium.
3418
3419 2009-06-26  Jessie Berlin  <jberlin@apple.com>
3420
3421         Reviewed by Mark Rowe.
3422         
3423         Fix: https://bugs.webkit.org/show_bug.cgi?id=26723
3424         Where the m_mouseDown event was never being set on windows, so the
3425         client X and Y coordinates were always being reported as zero in a
3426         dragstart handler.
3427
3428         Test: editing/selection/drag-start-event-client-x-y.html
3429
3430         * page/EventHandler.cpp:
3431         (WebCore::EventHandler::handleMousePressEvent):
3432         Set the m_mouseDown event when the mouse press is handled.
3433         * page/mac/EventHandlerMac.mm:
3434         (WebCore::EventHandler::mouseDown):
3435         Removed now redundant setting of m_mouseDown.
3436
3437 2009-06-26  Brady Eidson  <beidson@apple.com>
3438
3439         Tiger build fix
3440
3441         * WebCore.xcodeproj/project.pbxproj:
3442         * platform/network/mac/WebCoreURLResponse.mm:
3443         (swizzleMIMETypeMethodIfNecessary):
3444
3445 2009-06-26  Alexey Proskuryakov  <ap@webkit.org>
3446
3447         Reviewed by Sam Weinig.
3448
3449         https://bugs.webkit.org/show_bug.cgi?id=26681
3450         Problem updating applicationCache when server returns 304
3451         
3452         Improve the fix, make the test pass on Tiger.
3453
3454         * loader/appcache/ApplicationCacheGroup.cpp:
3455         (WebCore::ApplicationCacheGroup::didReceiveResponse): Fix another code path to remove the
3456         current item from list.
3457
3458         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): On Tiger,
3459         conditional requests that cannot be cached by network layer cause errors with default cache
3460         policy.
3461
3462 2009-06-26  Brady Eidson  <beidson@apple.com>
3463
3464         Reviewed by Sam Weinig
3465
3466         <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
3467
3468         When we disabled content sniffing for file urls we lost knowledge of many file extensions that we
3469         didn't intend to lose.  Turns out the CoreTypes UTI database doesn't know about every extension Gatekeeper
3470         knew about.
3471
3472         By comparing CoreTypes' database to Gatekeepers, this patch adds a hardcoded list of file extension to MIME
3473         type mappings that are missing in CoreType's database.
3474
3475         Test: platform/mac/fast/loader/file-url-mimetypes.html
3476
3477         * platform/network/mac/ResourceHandleMac.mm:
3478         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Move the MIME Type swizzling code to
3479           WebCoreURLResponse.
3480
3481         * platform/network/mac/ResourceResponseMac.mm:
3482         (WebCore::ResourceResponse::platformLazyInit): _webcore_MIMEType -> MIMEType, as we now have only one place
3483           where we do all MIMEType correction.
3484
3485         * platform/network/mac/WebCoreURLResponse.h: Remove _webcore_MIMEType, as it is now folded into the swizzled
3486           implementation of MIMEType.
3487         * platform/network/mac/WebCoreURLResponse.mm:
3488         (createBinaryExtensionsSet):
3489         (createExtensionToMIMETypeMap):
3490         (swizzleMIMETypeMethodIfNecessary):
3491         (webNSURLResponseMIMEType): If it's a file URL and there's no MIME type, see if the extension exists in the 
3492           extension -> MIME type map before turning to the default MIME type.  Also roll in what was previously
3493           implemented in _webcore_MIMEType.
3494
3495         * svg/graphics/SVGImage.cpp:
3496         (WebCore::SVGImage::~SVGImage): Tweak this ASSERT - SVGImages might get destroyed without ever having a client.
3497
3498 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
3499
3500         Reviewed by Simon Fraser.
3501
3502         Show the fullscreen button only if the backend has support for it.
3503
3504         https://bugs.webkit.org/show_bug.cgi?id=26661
3505
3506         No test since this is not reachable via the DOM.
3507
3508         * html/HTMLMediaElement.h:
3509         (WebCore::HTMLMediaElement::supportsFullscreen): new
3510         * html/HTMLVideoElement.h:
3511         (WebCore::HTMLVideoElement::supportsFullscreen): new
3512         * platform/graphics/MediaPlayer.cpp:
3513         (WebCore::NullMediaPlayerPrivate::supportsFullscreen): new
3514         (WebCore::MediaPlayer::supportsFullscreen): new
3515         * platform/graphics/MediaPlayer.h: new
3516         * platform/graphics/MediaPlayerPrivate.h: new
3517         (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): new
3518         * rendering/MediaControlElements.cpp:
3519         (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): new
3520         * rendering/MediaControlElements.h:
3521
3522 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
3523
3524         Reviewed by Simon Fraser.
3525
3526         <rdar://problem/7007776> Controller doesn't automatically update counters when file
3527         is playing ( http://www.jazzguitar.be/mp3/Michael%20Lewis%20-%20SSSJ.mp3 )
3528
3529         Update the time display when the movie time changes.
3530
3531         * rendering/RenderMedia.cpp:
3532         (WebCore::RenderMedia::updateControls):
3533
3534 2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
3535
3536         Reviewed by Simon Fraser.
3537
3538         https://bugs.webkit.org/show_bug.cgi?id=26659
3539
3540         Support hidding a control bar element from the Media element controller.
3541
3542         Update layout tests since the fullscreen button no longer has a renderer.
3543
3544         * rendering/MediaControlElements.cpp:
3545         (WebCore::MediaTextDisplayElement::update): call updateStyle() so everything
3546         is updated properly.
3547         (WebCore::MediaControlInputElement::MediaControlInputElement):
3548         (WebCore::MediaControlInputElement::update): call updateStyle()
3549         (WebCore::MediaControlInputElement::updateStyle): create the renderer properly
3550         or not depending on what rendererIsNeeded() return.
3551         * rendering/MediaControlElements.h:
3552
3553 2009-06-26  Kevin McCullough  <kmccullough@apple.com>
3554
3555         Reviewed by Oliver Hunt.
3556
3557         <rdar://problem/6968137> Profiler title numbers increment even after a
3558         reload.
3559
3560         - Now the numbers are reset when the profiles are.
3561
3562         * inspector/InspectorController.cpp:
3563         (WebCore::InspectorController::didCommitLoad):
3564
3565 2009-06-26  Adele Peterson  <adele@apple.com>
3566
3567         Reviewed by Darin Adler.
3568
3569         Fix for <rdar://problem/7000796>
3570         REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages
3571
3572         Test: editing/inserting/break-blockquote-after-delete.html
3573
3574         Keep track of whether the typing style should be preserved after the TypingCommand is applied.  When adding onto an open
3575         typing command, keep that flag up to date.
3576
3577         In this case, an InsertParagraphSeparatorInQuotedContent command, which should not preserve typing style, 
3578         was following an open Delete command, which does preserve the typing style.  So we were applying the original
3579         typing style (from before the delete, so blue text) to the cursor in the unquoted area after breaking up the blockquote.
3580
3581         * editing/TypingCommand.cpp:
3582         (WebCore::TypingCommand::TypingCommand):
3583         (WebCore::TypingCommand::typingAddedToOpenCommand):
3584         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
3585         (WebCore::TypingCommand::insertLineBreak):
3586         (WebCore::TypingCommand::insertParagraphSeparator):
3587         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
358