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