Sort all our Xcode projects
[WebKit-https.git] / WebCore / ChangeLog
1 2009-07-10  Adam Roben  <aroben@apple.com>
2
3         Sort all our Xcode projects
4
5         Accomplished using sort-Xcode-project-file.
6
7         Requested by Dave Kilzer.
8
9         * WebCore.xcodeproj/project.pbxproj:
10
11 2009-07-10  Adam Langley  <agl@google.com>
12
13         Reviewed by Darin Fisher.
14
15         Chromium Linux: use disabled images for disabled widgets.
16
17         https://bugs.webkit.org/show_bug.cgi?id=27106
18
19         Previously, checkboxes and radio controls rendered the same even if disabled.
20         The Chromium side of this change is r20224.
21
22         * rendering/RenderThemeChromiumSkia.cpp:
23         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
24         (WebCore::RenderThemeChromiumSkia::paintRadio):
25
26 2009-07-10  Simon Fraser  <simon.fraser@apple.com>
27
28         Reviewed by John Sullivan.
29
30         Fix crash when changing the zoom level in http://iphone.akamai.com/
31         <rdar://problem/7029077>
32
33         RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
34         which could potentially destroy that compositing layer, causing a crash.
35         Prevent this from happening by not doing a compositing update from paintIntoLayer().
36
37         The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
38         and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
39         compositing layers, and is still called from paintIntoLayer().
40         
41         * rendering/RenderLayer.cpp:
42         (WebCore::RenderLayer::paintLayer):
43         (WebCore::RenderLayer::hitTestLayer):
44         (WebCore::RenderLayer::updateLayerListsIfNeeded):
45         (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
46         * rendering/RenderLayer.h:
47
48 2009-07-10  Drew Wilson  <atwilson@google.com>
49
50         Reviewed by Darin Adler.
51
52         Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
53         https://bugs.webkit.org/show_bug.cgi?id=27010
54
55         Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().
56
57         This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.
58
59         * bindings/scripts/CodeGeneratorJS.pm:
60         Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
61         * css/CSSRule.idl:
62         * css/CSSValue.idl:
63         * css/StyleSheet.idl:
64         * dom/Document.idl:
65         * dom/Event.idl:
66         * dom/Node.idl:
67         * html/ImageData.idl:
68         * svg/SVGElementInstance.idl:
69         * svg/SVGPathSeg.idl:
70         Added CustomToJS attribute to all the above IDL files.
71
72 2009-07-10  Dan Bernstein  <mitz@apple.com>
73
74         - fix the build by reverting the ill-advised r45711
75
76         * page/FrameView.cpp:
77         (WebCore::FrameView::scrollToAnchor):
78
79 2009-07-09  Brian Weinstein  <bweinstein@apple.com>
80
81         Reviewed by Tim Hatcher.
82
83         Updated WebCore.base.exp to add some needed functions.
84
85         * WebCore.base.exp:
86
87 2009-07-10  Dan Bernstein  <mitz@apple.com>
88
89         - address a review comment from Simon Fraser which I forgot to include
90           in the last check-in
91
92         * page/FrameView.cpp:
93         (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
94         maximum transform friendliness!
95
96 2009-07-10  Dan Bernstein  <mitz@apple.com>
97
98         Reviewed by Simon Fraser.
99
100         - fix https://bugs.webkit.org/show_bug.cgi?id=27137
101           <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
102           to infinite recursion into FrameLoader::gotoAnchor() ->
103           FrameView::layout()
104
105         Test: fast/loader/goto-anchor-infinite-layout.html
106
107         * loader/FrameLoader.cpp:
108         (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
109         find the renderer to scroll to, and scroll from here to methods on
110         FrameView, and replaced it with a call to
111         FrameView::maintainScrollPositionAtAnchor().
112         (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
113         instead of setLockedToAnchor().
114
115         * page/FrameView.cpp:
116         (WebCore::FrameView::FrameView): Removed initialization of
117         m_lockedToAnchor.
118         (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
119         of m_lockedToAnchor.
120         (WebCore::FrameView::layout): Removed the code related to scrolling to
121         the anchor from here, because scrolling can trigger events which
122         invalidate the layout, and as such, belongs with the post-layout tasks.
123         (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
124         with a node scrolls the view to the top of that node and maintains it
125         scrolled to the top of the node during subsequent layouts, until
126         this function is called with 0 or other things trigger scrolling.
127         (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
128         m_maintainScrollPositionAnchor.
129         (WebCore::FrameView::setScrollPosition): Ditto.
130         (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
131         m_maintainScrollPositionAnchor, if it is set.
132         (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
133         (WebCore::FrameView::setWasScrolledByUser): Reset
134         m_maintainScrollPositionAnchor.
135
136         * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
137         and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
138         m_maintainScrollPositionAnchor.
139
140 2009-07-04  Sriram Yadavalli  <sriram.yadavalli@nokia.com>
141
142         Reviewed by Simon Hausmann.
143
144         https://bugs.webkit.org/show_bug.cgi?id=26439
145
146         QtWebKit fails in loading www.nytimes.com in Windows/Linux
147
148         QNetworkReplyHandler is ignoring content associated with 401 error.
149         This causes the XHR response handling to fail.
150
151         Simon: Added also ProxyAuthenticationRequiredError, to handle the same
152         case when going through proxies, as suggested by Prasanth.
153
154         * platform/network/qt/QNetworkReplyHandler.cpp:
155         (WebCore::QNetworkReplyHandler::finish):
156
157 2009-07-10  Simon Hausmann  <simon.hausmann@nokia.com>
158
159         Reviewed by Holger Freyther.
160
161         Enable HTML 5 Messaging to fix message channel Qt DRT failures in
162         fast/events.
163
164         * WebCore.pro:
165
166 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
167
168         Reviewed by Maciej Stachowiak.
169
170         added InlineBox::isLeaf()
171         firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
172         firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.   
173         Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
174         Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes
175
176         Currently, these methods are called on RootInlineBox objects only, so above changes should not have
177         any observable effect (only the removal of the square performance behavior could apply, 
178         but the conditions for that are probably of a rather theoretical nature).
179
180         * rendering/InlineBox.cpp:
181         (WebCore::InlineBox::nextLeafChild):
182         (WebCore::InlineBox::prevLeafChild):
183         * rendering/InlineBox.h:
184         (WebCore::InlineBox::isLeaf):
185         * rendering/InlineFlowBox.cpp:
186         (WebCore::InlineFlowBox::firstLeafChild):
187         (WebCore::InlineFlowBox::lastLeafChild):
188         * rendering/InlineFlowBox.h:
189         (WebCore::InlineFlowBox::firstChild):
190         (WebCore::InlineFlowBox::lastChild):
191         (WebCore::InlineFlowBox::isLeaf):
192         * rendering/RootInlineBox.cpp:
193         (WebCore::RootInlineBox::closestLeafChildForXPos):
194
195 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
196
197         Reviewed by Maciej Stachowiak.
198
199         Added InlineBox::baselinePosition() and lineHeight() methods
200         (adapted remaining code accordingly to use those methods)
201
202         No change in functionality.
203
204         * rendering/InlineBox.h:
205         (WebCore::InlineBox::baselinePosition):
206         (WebCore::InlineBox::lineHeight):
207         * rendering/InlineFlowBox.cpp:
208         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
209         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
210         (WebCore::InlineFlowBox::placeBoxesVertically):
211
212 2009-07-09  Oliver Hunt  <oliver@apple.com>
213
214         Reviewed by Maciej Stachowiak.
215
216         Bug 27142 - canPlayType() should return empty string for unsupported content
217         <https://bugs.webkit.org/show_bug.cgi?id=27142>
218
219         Return "" instead of "no" for unsupport media types. 
220
221         * html/HTMLMediaElement.cpp:
222         (WebCore::HTMLMediaElement::canPlayType):
223
224 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
225
226         Reviewed by Maciej Stachowiak.
227
228         Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
229         in that their end tags are optional if followed by <rp>/<rt>.
230
231         Also specify a new accessibility role "annotation" for <rp> and <rt>.
232
233         Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
234         is not affected by whether ruby is rendered properly or not (in fact, it may 
235         be more profound without ruby layouting, since the contents of <rp> are not hidden).
236
237         Test: fast/ruby/parse-rp.html
238
239         * accessibility/AccessibilityObject.h:
240         (WebCore::):
241         * accessibility/AccessibilityRenderObject.cpp:
242         (WebCore::AccessibilityRenderObject::roleValue):
243         * html/HTMLElement.cpp:
244         (WebCore::HTMLElement::endTagRequirement):
245         (WebCore::HTMLElement::tagPriority):
246         (WebCore::inlineTagList):
247         * html/HTMLParser.cpp:
248         (WebCore::HTMLParser::rpCreateErrorCheck):
249         (WebCore::HTMLParser::rtCreateErrorCheck):
250         (WebCore::HTMLParser::getNode):
251         * html/HTMLParser.h:
252         * html/HTMLTagNames.in:
253
254 2009-07-09  Dmitry Titov  <dimich@chromium.org>
255
256         Not reviewed, fix for previous commit.
257
258         The change http://trac.webkit.org/changeset/45695 did not correctly
259         enabled GTL and QT build flags. This caused layout tests failure.
260         This is speculative fix for those failures.
261
262         * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
263         * WebCore.pro: ditto.
264         * page/DOMWindow.idl: touched to cause recompile.
265         * workers/WorkerContext.idl: ditto.
266
267 2009-07-09  Drew Wilson  <atwilson@google.com>
268
269         Reviewed by Alexey Proskuryakov.
270
271         https://bugs.webkit.org/show_bug.cgi?id=26903
272
273         Turned on CHANNEL_MESSAGING by default because the MessageChannel API
274         is now implemented for Web Workers and is reasonably stable.
275
276         Tests: fast/events/message-channel-gc-2.html
277                fast/events/message-channel-gc-3.html
278                fast/events/message-channel-gc-4.html
279                fast/events/message-channel-gc.html
280                fast/events/message-channel-listener-circular-ownership.html
281                fast/events/message-port-clone.html
282                fast/events/message-port-constructor-for-deleted-document.html
283                fast/events/message-port-deleted-document.html
284                fast/events/message-port-deleted-frame.html
285                fast/events/message-port-inactive-document.html
286                fast/events/message-port-no-wrapper.html
287                fast/events/message-port.html
288                fast/workers/worker-cloneport.html
289                fast/workers/worker-messageport-gc.html
290                fast/workers/worker-messageport.html
291
292         * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
293         * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
294         * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
295         * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
296         * WebCore/workers/WorkerContext.idl: ditto.
297
298
299 2009-07-09  Pierre d'Herbemont  <pdherbemont@apple.com>
300
301         Reviewed by Simon Fraser.
302
303         Full page zoom breaks remaining and elapsed time display in the <video> controller.
304         https://bugs.webkit.org/show_bug.cgi?id=27123
305
306         We are changing the size of the time remaining and time elapsed field, to
307         automatically hide them, when the controller is too short.
308
309         Because we toggle the size between 0 and the previous value of the
310         controller, we miss any width change that may occur during full page zoom,
311         and we fail to restore a correct width.
312
313         This change fixes that problem by using a cloned style on which we
314         set the width to 0, and restoring the previous style when going back to
315         the normal width.
316
317         We take care about properly using the cloned style or the pseudo style,
318         by overriding styleForElement().
319
320         * rendering/MediaControlElements.cpp:
321         (WebCore::MediaControlElement::styleForElement):
322         (WebCore::MediaControlElement::attach):
323         (WebCore::MediaControlElement::updateStyle):
324         (WebCore::MediaControlInputElement::styleForElement):
325         (WebCore::MediaControlInputElement::attach):
326         (WebCore::MediaControlInputElement::updateStyle):
327         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
328         (WebCore::MediaControlTimeDisplayElement::styleForElement):
329         (WebCore::MediaControlTimeDisplayElement::setVisible):
330         * rendering/MediaControlElements.h:
331         * rendering/RenderMedia.cpp:
332         (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
333         we take in account the zoom level when deciding if we should hide the 
334         ellapsed and remaining time.
335
336 2009-07-09  Michael Nordman  <michaeln@google.com>
337
338         Reviewed by Darin Adler.
339
340         Fix chromium build bustage due to Widget being a RefCounted class.
341         https://bugs.webkit.org/show_bug.cgi?id=27139
342
343         * platform/chromium/PopupMenuChromium.cpp:
344         * platform/chromium/PopupMenuChromium.h:
345
346 2009-07-09  Chris Fleizach  <cfleizach@apple.com>
347
348         Reviewed by Darin Adler.
349
350         Bug 27130 - Need to implement ARIA role="toolbar"
351         https://bugs.webkit.org/show_bug.cgi?id=27130
352
353         Test: platform/mac/accessibility/aria-toolbar.html
354
355         * accessibility/AccessibilityRenderObject.cpp:
356         (WebCore::RoleEntry::):
357         * accessibility/mac/AccessibilityObjectWrapper.mm:
358         (-[AccessibilityObjectWrapper roleDescription]):
359
360 2009-07-09  Dimitri Glazkov  <dglazkov@chromium.org>
361
362         Reviewed by Darin Fisher.
363
364         [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
365         https://bugs.webkit.org/show_bug.cgi?id=27135
366
367         * WebCore.gypi: Added.
368
369 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
370
371         A more robust fix for <rdar://problem/6930280> Reproducible crash at
372         USA Today photo gallery
373
374         Reviewed by Steve Falkenburg.
375
376         * plugins/win/PluginMessageThrottlerWin.cpp:
377         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
378         Protect the PluginView from destruction before calling its window proc.
379
380 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
381
382         <rdar://problem/6978804> WER #16: Repro Access Violation in
383         WebCore::PluginView::bindingInstance (1310178023)
384
385         Reviewed by Darin Adler.
386
387         * plugins/PluginView.cpp:
388         (WebCore::PluginView::bindingInstance):
389         Protect the PluginView from destruction before calling NPN_GetValue. If
390         the renderer for the PluginView was destroyed during the call, and the
391         PluginView's ref count is now 1, return null.
392
393 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
394
395         Speculative fix for <rdar://problem/6991251> WER #13: Crash in
396         WebKit!WebCore::PluginView::performRequest+203 (1311461169)
397
398         Reviewed by Darin Adler.
399
400         * plugins/PluginView.cpp:
401         (WebCore::PluginView::performRequest):
402         Protect the PluginView from destruction before performing a load.
403         Removed some trailing whitespace.
404
405 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
406
407         Build fix.
408
409         * inspector/JavaScriptDebugServer.cpp:
410         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
411
412 2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
413
414         Reviewed by Dave Hyatt.
415
416         Make Widget RefCounted to fix or make fixable:
417
418         <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
419         at WebCore::Widget::afterMouseDown() after clicking To Do's close 
420         box
421         <rdar://problem/6978804> WER #16: Repro Access Violation in 
422         WebCore::PluginView::bindingInstance (1310178023)
423         -and-
424         <rdar://problem/6991251> WER #13: Crash in WebKit!
425         WebCore::PluginView::performRequest+203 (1311461169) 
426
427         * loader/EmptyClients.h:
428         (WebCore::EmptyFrameLoaderClient::createPlugin):
429         Changed to return PassRefPtr
430         (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
431         Ditto.
432
433         * loader/FrameLoader.cpp:
434         (WebCore::FrameLoader::loadSubframe):
435         (WebCore::FrameLoader::loadPlugin):
436         Make the widget variable a RefPtr. Use .get() when passing it to
437         RenderPart::setWidget().
438         (WebCore::FrameLoader::createJavaAppletWidget):
439         Make the widget variable a RefPtr.
440
441         * loader/FrameLoader.h:
442         Changed the return type of createJavaAppletWidget().
443
444         * loader/FrameLoaderClient.h:
445         Change the return types of createPlugin() and 
446         createJavaAppletWidget().
447
448         * page/Frame.cpp:
449         (WebCore::Frame::createView):
450         No need to call .get() since setWidget() takes a RefPtr.
451
452         * page/FrameView.cpp:
453         (WebCore::FrameView::layoutIfNeededRecursive):
454         children() now returns a HashSet of RefPtrs.
455
456         * page/FrameView.h:
457         Remove inheritance from RefCounted; we pick this up from ScrollView
458         through Widget.
459
460         * platform/ScrollView.cpp:
461         (WebCore::ScrollView::addChild):
462         addChild() now takes a PassRefPtr and m_children now keeps a 
463         HashSet of RefPtrs.
464
465         * platform/ScrollView.h:
466         ScrollView constructor is now protected.
467         (WebCore::ScrollView::children):
468         m_children is now a HashSet of RefPtrs.
469
470         * platform/Scrollbar.h:
471         Remove inheritance from RefCounted; we pick this up from ScrollView
472         through Widget.
473
474         * platform/Widget.h:
475         Inherit from RefCounted. Cleaned up some whitespace. Make m_widget 
476         a RefPtr.
477
478         * plugins/PluginView.cpp:
479         (WebCore::PluginView::create):
480         Adopt the PluginView when returning it.
481
482         * plugins/PluginView.h:
483         Changed create() to return a PassRefPtr.
484
485         * rendering/RenderApplet.cpp:
486         Receive result in a RefPtr when calling createJavaAppletWidget().
487
488         * rendering/RenderPart.cpp:
489         (WebCore::RenderPart::setWidget): 
490         setWidget() now takes a PassRefPtr. Also removed the manual ref of 
491         FrameViews. This is handled by having m_widget be a RefPtr. Removed 
492         deleteWidget().
493
494         * rendering/RenderPart.h:
495         Removed override of deleteWidget().
496
497         * rendering/RenderWidget.cpp:
498         (WebCore::RenderWidget::destroy):
499         (WebCore::RenderWidget::setWidget):
500         (WebCore::RenderWidget::paint):
501         (WebCore::RenderWidget::setOverlapTestResult):
502         (WebCore::RenderWidget::updateWidgetPosition):
503         Use .get().
504         (WebCore::RenderWidget::clearWidget):
505         Don't call deleteWidget(). It was removed. 
506
507         * rendering/RenderWidget.h:
508         Removed deleteWidget(). Made m_widget a RefPtr.
509         (WebCore::RenderWidget::widget):
510         Use .get().
511
512 2009-07-09  Chris Fleizach  <cfleizach@apple.com>
513
514         Reviewed by Darin Adler.
515
516         Bug 27129 - AX: possible assertion for a non-native image in accessibility
517         https://bugs.webkit.org/show_bug.cgi?id=27129 
518
519         It's possible for an image that is not really an image to assert, because its renderer
520         is turned into a RenderImage.
521
522         Test: accessibility/non-native-image-crash.html
523
524         * accessibility/AccessibilityRenderObject.cpp:
525         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
526         (WebCore::RoleEntry::):
527         * accessibility/mac/AccessibilityObjectWrapper.mm:
528         (-[AccessibilityObjectWrapper roleDescription]):
529
530 2009-07-09  Simon Fraser  <simon.fraser@apple.com>
531
532         Build fix for SnowLeopard.
533         
534         Avoid using the contentsTransform methods if not on Leopard, because
535         we don't need to call them.
536
537         * platform/graphics/mac/GraphicsLayerCA.mm:
538         (WebCore::GraphicsLayerCA::updateContentsTransform):
539         * platform/graphics/mac/WebLayer.mm:
540         (-[WebLayer setNeedsDisplayInRect:]):
541         * platform/graphics/mac/WebTiledLayer.mm:
542         (-[WebTiledLayer setNeedsDisplayInRect:]):
543
544 2009-07-09  Simon Fraser  <simon.fraser@apple.com>
545
546         Reviewed by Dave Hyatt
547
548         Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
549         is not available.
550         <rdar://problem/6120614>
551
552         * platform/graphics/GraphicsLayer.h:
553         (WebCore::GraphicsLayer::setContentsOrientation):
554         (WebCore::GraphicsLayer::contentsOrientation):
555         * platform/graphics/GraphicsLayer.cpp:
556         (WebCore::GraphicsLayer::GraphicsLayer):
557         Add a m_contentsOrientation member and getter/setter to control whether
558         the contents of this layer have a transform applied to them before display.
559
560         * platform/graphics/mac/GraphicsLayerCA.h:
561         New method to return the default contents orientation.
562
563         * platform/graphics/mac/GraphicsLayerCA.mm:
564         (WebCore::flipTransform):
565         Convenience method to return a transform with a Y flip.
566
567         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
568         (WebCore::GraphicsLayerCA::setSize):
569         After the size changes we have to update the contentsTransform.
570
571         (WebCore::GraphicsLayerCA::setGeometryOrientation):
572         (WebCore::GraphicsLayerCA::geometryOrientation):
573         If -setGeometryFlipped: is not available, use a children transform.
574         
575         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
576         Tiled layers have issues with flipped contentsTransform, so just use
577         top-down drawing for them. Call updateContentsTransform() to set the
578         new contents transform after swapping layers.
579         
580         (WebCore::GraphicsLayerCA::defaultContentsOrientation):
581         Use bottom-up when -geometryFlipped is not available, otherwise top-down.
582         
583         (WebCore::GraphicsLayerCA::updateContentsTransform):
584         Set the layer contents transform based on contentsOrientation().
585
586         (WebCore::GraphicsLayerCA::setContentsLayer):
587         We have to manually flip contents layers if we're not using -geometryFlipped.
588         
589         * platform/graphics/mac/WebLayer.h:
590         * platform/graphics/mac/WebLayer.mm:
591         Do early return if layerContents is nil. Flip the CTM if the layer has
592         bottom-up coordinates, so that CG sees a CTM with no flip.
593         Do the CGContextRestoreGState() after drawing the debug indicator.
594         
595         (-[WebLayer setNeedsDisplayInRect:]):
596         * platform/graphics/mac/WebTiledLayer.mm:
597         (-[WebTiledLayer setNeedsDisplayInRect:]):
598         Need to map the dirty rect through the contentsTransform.
599
600 2009-07-09  Alexey Proskuryakov  <ap@webkit.org>
601
602         Reviewed by Geoff Garen.
603
604         <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
605
606         Can't test this functionality with layout tests.
607
608         * WebCore.base.exp:
609         * history/HistoryItem.cpp:
610         (WebCore::HistoryItem::recordVisitAtTime):
611         (WebCore::HistoryItem::visited):
612         * history/HistoryItem.h:
613         Only increase visit count if explicitly told to. Now, some visits change last access time,
614         but do not increase visit count.
615
616 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
617
618         Reviewed by Simon Fraser.
619
620         <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
621
622         Require QuickTime 7.6.3 or higher to enable the new media controller UI.
623
624         * rendering/RenderThemeMac.mm:
625         (WebCore::mediaControllerTheme):
626
627 2009-07-09  Sam Weinig  <sam@webkit.org>
628
629         Reviewed by Beth Dakin.
630
631         Remove incorrect comment.
632
633         * page/MouseEventWithHitTestResults.h:
634
635 2009-07-09  Mads Ager  <ager@chromium.org>
636
637         Reviewed by Dimitri Glazkov.
638
639         Update the V8 bindings codegenerator to use the RGBColor::create
640         method to handle refcounts for RGBColor objects correctly.
641         
642        * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
643
644 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
645
646         Reviewed by Adele Peterson.
647
648         Crash in RenderMedia::styleDidChange.
649         <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with 
650         media element (RenderMedia::styleDidChange + 115)
651
652         Speculative fix for crash in styleDidChange. Null check controller elements before tell
653         them to update style.
654
655         * rendering/RenderMedia.cpp:
656         (WebCore::RenderMedia::styleDidChange):
657
658 2009-07-09  Adam Barth  <abarth@webkit.org>
659
660         Reviewed by Dimitri Glazkov.
661
662         [V8] Move V8DOMWrapper to its own file
663         https://bugs.webkit.org/show_bug.cgi?id=27121
664
665         * bindings/v8/V8DOMWrapper.cpp: Added.
666         (WebCore::GetToStringName):
667         (WebCore::ConstructorToString):
668         (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
669         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
670         (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
671         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
672         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
673         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
674         (WebCore::V8DOMWrapper::getTemplate):
675         (WebCore::V8DOMWrapper::convertToV8Object):
676         (WebCore::V8DOMWrapper::setHiddenWindowReference):
677         (WebCore::V8DOMWrapper::domWrapperType):
678         (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
679         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
680         (WebCore::V8DOMWrapper::lookupDOMWrapper):
681         (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
682         (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
683         (WebCore::V8DOMWrapper::instantiateV8Object):
684         (WebCore::V8DOMWrapper::setDOMWrapper):
685         (WebCore::V8DOMWrapper::maybeDOMWrapper):
686         (WebCore::V8DOMWrapper::isDOMEventWrapper):
687         (WebCore::V8DOMWrapper::isWrapperOfType):
688         (WebCore::V8DOMWrapper::htmlElementType):
689         (WebCore::V8DOMWrapper::svgElementType):
690         (WebCore::V8DOMWrapper::convertEventToV8Object):
691         (WebCore::):
692         (WebCore::V8DOMWrapper::convertNodeToV8Object):
693         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
694         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
695         (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
696         (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
697         (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
698         (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
699         (WebCore::V8DOMWrapper::convertWindowToV8Object):
700         * bindings/v8/V8DOMWrapper.h: Added.
701         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
702         (WebCore::V8DOMWrapper::wrapCPointer):
703         (WebCore::V8DOMWrapper::extractCPointer):
704         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
705         (WebCore::V8DOMWrapper::convertToV8Object):
706         (WebCore::V8DOMWrapper::convertToNativeObject):
707         (WebCore::V8DOMWrapper::convertToNativeEvent):
708         (WebCore::V8DOMWrapper::extractCPointerImpl):
709         (WebCore::V8DOMWrapper::instantiateV8Object):
710         * bindings/v8/V8Proxy.cpp:
711         * bindings/v8/V8Proxy.h:
712
713 2009-07-09  David Hyatt  <hyatt@apple.com>
714
715         Reviewed by Adele Peterson.
716
717         Crash in setFocusedFrame.
718         <rdar://7032869> Crashing in setFocusedFrame on blogger.com.
719
720         Speculative fix for crasher in setFocusedFrame.  Make sure to ref both frames and fire
721         the events only after the local member has been updated.
722
723         * page/FocusController.cpp:
724         (WebCore::FocusController::setFocusedFrame):
725
726 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
727
728         Reviewed by Adele Peterson.
729
730         Possible crashes when mouse clicks not dispatched because range input destroyed while 
731         thumb is being dragged (e.g. scrub to end of movie)
732         <rdar://problem/7037494> 
733         https://bugs.webkit.org/show_bug.cgi?id=27101
734
735         Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to 
736         get mouse events even when the mouse is moved outside of the node. This is done by putting
737         EventHandler into a mode where it sends all mouse events to the node regardless of the
738         actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
739         node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
740         to try to send events to the deleted node. This sometimes results in a crash, and sometimes
741         in a page that doesn't respond to click events.
742
743         Tests: fast/forms/search-delete-while-cancel-button-clicked.html
744                fast/forms/slider-delete-while-dragging-thumb.html
745                media/audio-delete-while-slider-thumb-clicked.html
746                media/audio-delete-while-step-button-clicked.html
747
748         * rendering/MediaControlElements.cpp:
749         (WebCore::MediaControlSeekButtonElement::detach):
750             New, call setCapturingMouseEventsNode if capturing mouse events.
751         * rendering/MediaControlElements.h:
752             Declare detach().
753
754         * rendering/RenderSlider.cpp:
755         (WebCore::SliderThumbElement::detach):
756             New, call setCapturingMouseEventsNode if capturing mouse events.
757
758         * rendering/TextControlInnerElements.cpp:
759         (WebCore::SearchFieldCancelButtonElement::detach):
760             New, call setCapturingMouseEventsNode if capturing mouse events.
761         * rendering/TextControlInnerElements.h:
762             Declare detach().
763
764 2009-07-09  Yury Semikhatsky  <yurys@chromium.org>
765
766         Reviewed by Dimitri Glazkov.
767
768         Enter the Frame's context before creating new objects in setContextDebugId.
769
770         https://bugs.webkit.org/show_bug.cgi?id=27112
771
772         * bindings/v8/V8Proxy.cpp:
773         (WebCore::V8Proxy::setContextDebugId):
774
775 2009-07-09  Simon Hausmann  <hausmann@webkit.org>
776
777         Fix the Qt build.
778
779         * WebCore.pro: Add new storage impl files to the build.
780
781 2009-07-08  Adam Barth  <abarth@webkit.org>
782
783         Rubber stamped by Eric Seidel.
784
785         [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
786         https://bugs.webkit.org/show_bug.cgi?id=27107
787
788         This patch is just renaming.  Code motion will occur next.
789
790         * bindings/scripts/CodeGeneratorV8.pm:
791         * bindings/v8/ScriptController.cpp:
792         (WebCore::ScriptController::processingUserGesture):
793         (WebCore::createScriptObject):
794         (WebCore::ScriptController::createScriptObjectForPluginElement):
795         * bindings/v8/ScriptObject.cpp:
796         (WebCore::ScriptGlobalObject::set):
797         * bindings/v8/ScriptObjectQuarantine.cpp:
798         (WebCore::getQuarantinedScriptObject):
799         * bindings/v8/V8AbstractEventListener.cpp:
800         (WebCore::V8AbstractEventListener::handleEvent):
801         (WebCore::V8AbstractEventListener::getReceiverObject):
802         * bindings/v8/V8Collection.cpp:
803         (WebCore::toOptionsCollectionSetter):
804         * bindings/v8/V8Collection.h:
805         (WebCore::getV8Object):
806         (WebCore::getNamedPropertyOfCollection):
807         (WebCore::nodeCollectionNamedPropertyGetter):
808         (WebCore::getIndexedPropertyOfCollection):
809         (WebCore::nodeCollectionIndexedPropertyGetter):
810         (WebCore::nodeCollectionIndexedPropertyEnumerator):
811         (WebCore::collectionIndexedPropertyEnumerator):
812         (WebCore::collectionStringOrNullIndexedPropertyGetter):
813         * bindings/v8/V8DOMMap.cpp:
814         (WebCore::DOMData::handleWeakObject):
815         (WebCore::DOMData::removeObjectsFromWrapperMap):
816         * bindings/v8/V8GCController.cpp:
817         (WebCore::enumerateDOMObjectMap):
818         (WebCore::DOMObjectVisitor::visitDOMWrapper):
819         (WebCore::GCPrologueVisitor::visitDOMWrapper):
820         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
821         * bindings/v8/V8Helpers.cpp:
822         (WebCore::wrapNPObject):
823         * bindings/v8/V8NodeFilterCondition.cpp:
824         (WebCore::V8NodeFilterCondition::acceptNode):
825         * bindings/v8/V8Proxy.cpp:
826         (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
827         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
828         (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
829         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
830         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
831         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
832         (WebCore::V8Proxy::evaluateInNewContext):
833         (WebCore::V8Proxy::getConstructor):
834         (WebCore::V8DOMWrapper::getTemplate):
835         (WebCore::V8Proxy::retrieveWindow):
836         (WebCore::V8Proxy::updateDocumentWrapperCache):
837         (WebCore::V8Proxy::clearForNavigation):
838         (WebCore::V8Proxy::installDOMWindow):
839         (WebCore::setDOMExceptionHelper):
840         (WebCore::V8DOMWrapper::convertToV8Object):
841         (WebCore::V8DOMWrapper::setHiddenWindowReference):
842         (WebCore::V8DOMWrapper::domWrapperType):
843         (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
844         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
845         (WebCore::V8DOMWrapper::lookupDOMWrapper):
846         (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
847         (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
848         (WebCore::V8DOMWrapper::instantiateV8Object):
849         (WebCore::V8DOMWrapper::setDOMWrapper):
850         (WebCore::V8DOMWrapper::maybeDOMWrapper):
851         (WebCore::V8DOMWrapper::isDOMEventWrapper):
852         (WebCore::V8DOMWrapper::isWrapperOfType):
853         (WebCore::V8DOMWrapper::htmlElementType):
854         (WebCore::V8DOMWrapper::svgElementType):
855         (WebCore::V8DOMWrapper::convertEventToV8Object):
856         (WebCore::V8DOMWrapper::convertNodeToV8Object):
857         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
858         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
859         (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
860         (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
861         (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
862         (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
863         (WebCore::V8DOMWrapper::convertWindowToV8Object):
864         (WebCore::V8Proxy::bindJsObjectToWindow):
865         * bindings/v8/V8Proxy.h:
866         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
867         (WebCore::V8DOMWrapper::wrapCPointer):
868         (WebCore::V8DOMWrapper::extractCPointer):
869         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
870         (WebCore::V8DOMWrapper::convertToV8Object):
871         (WebCore::V8DOMWrapper::convertToNativeObject):
872         (WebCore::V8DOMWrapper::convertToNativeEvent):
873         (WebCore::V8DOMWrapper::extractCPointerImpl):
874         (WebCore::V8DOMWrapper::instantiateV8Object):
875         (WebCore::V8Proxy::constructDOMObject):
876         (WebCore::toV8):
877         * bindings/v8/V8SVGPODTypeWrapper.h:
878         (WebCore::V8SVGPODTypeUtil::toSVGPODType):
879         * bindings/v8/WorkerContextExecutionProxy.cpp:
880         (WebCore::WorkerContextExecutionProxy::retrieve):
881         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
882         (WebCore::WorkerContextExecutionProxy::GetConstructor):
883         (WebCore::WorkerContextExecutionProxy::ToV8Object):
884         (WebCore::WorkerContextExecutionProxy::EventToV8Object):
885         (WebCore::WorkerContextExecutionProxy::toV8):
886         * bindings/v8/custom/V8AttrCustom.cpp:
887         (WebCore::ACCESSOR_SETTER):
888         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
889         (WebCore::NAMED_PROPERTY_GETTER):
890         (WebCore::NAMED_PROPERTY_SETTER):
891         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
892         (WebCore::INDEXED_PROPERTY_GETTER):
893         (WebCore::INDEXED_PROPERTY_SETTER):
894         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
895         (WebCore::toV8):
896         (WebCore::toCanvasStyle):
897         (WebCore::ACCESSOR_GETTER):
898         (WebCore::ACCESSOR_SETTER):
899         (WebCore::CALLBACK_FUNC_DECL):
900         * bindings/v8/custom/V8ClientRectListCustom.cpp:
901         (WebCore::INDEXED_PROPERTY_GETTER):
902         * bindings/v8/custom/V8ClipboardCustom.cpp:
903         (WebCore::ACCESSOR_GETTER):
904         (WebCore::CALLBACK_FUNC_DECL):
905         * bindings/v8/custom/V8CustomBinding.cpp:
906         (WebCore::ACCESSOR_GETTER):
907         (WebCore::INDEXED_ACCESS_CHECK):
908         (WebCore::NAMED_ACCESS_CHECK):
909         (WebCore::V8Custom::GetTargetFrame):
910         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
911         (WebCore::V8CustomSQLStatementCallback::handleEvent):
912         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
913         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
914         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
915         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
916         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
917         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
918         * bindings/v8/custom/V8DOMWindowCustom.cpp:
919         (WebCore::V8Custom::WindowSetTimeoutImpl):
920         (WebCore::ACCESSOR_SETTER):
921         (WebCore::CALLBACK_FUNC_DECL):
922         (WebCore::ACCESSOR_GETTER):
923         (WebCore::INDEXED_PROPERTY_GETTER):
924         (WebCore::NAMED_PROPERTY_GETTER):
925         (WebCore::V8Custom::ClearTimeoutImpl):
926         (WebCore::NAMED_ACCESS_CHECK):
927         (WebCore::INDEXED_ACCESS_CHECK):
928         * bindings/v8/custom/V8DatabaseCustom.cpp:
929         (WebCore::CALLBACK_FUNC_DECL):
930         * bindings/v8/custom/V8DocumentCustom.cpp:
931         (WebCore::CALLBACK_FUNC_DECL):
932         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
933         (WebCore::ACCESSOR_GETTER):
934         (WebCore::ACCESSOR_SETTER):
935         * bindings/v8/custom/V8ElementCustom.cpp:
936         (WebCore::CALLBACK_FUNC_DECL):
937         (WebCore::ACCESSOR_SETTER):
938         (WebCore::ACCESSOR_GETTER):
939         * bindings/v8/custom/V8EventCustom.cpp:
940         (WebCore::ACCESSOR_SETTER):
941         (WebCore::ACCESSOR_GETTER):
942         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
943         (WebCore::CALLBACK_FUNC_DECL):
944         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
945         (WebCore::CALLBACK_FUNC_DECL):
946         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
947         (WebCore::getNamedItems):
948         (WebCore::getItem):
949         (WebCore::NAMED_PROPERTY_GETTER):
950         (WebCore::CALLBACK_FUNC_DECL):
951         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
952         (WebCore::NAMED_PROPERTY_GETTER):
953         (WebCore::CALLBACK_FUNC_DECL):
954         (WebCore::ACCESSOR_GETTER):
955         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
956         (WebCore::INDEXED_PROPERTY_GETTER):
957         (WebCore::NAMED_PROPERTY_GETTER):
958         (WebCore::CALLBACK_FUNC_DECL):
959         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
960         (WebCore::ACCESSOR_SETTER):
961         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
962         (WebCore::NAMED_PROPERTY_GETTER):
963         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
964         (WebCore::ACCESSOR_SETTER):
965         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
966         (WebCore::CALLBACK_FUNC_DECL):
967         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
968         (WebCore::ACCESSOR_GETTER):
969         (WebCore::ACCESSOR_SETTER):
970         (WebCore::CALLBACK_FUNC_DECL):
971         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
972         (WebCore::CALLBACK_FUNC_DECL):
973         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
974         (WebCore::CALLBACK_FUNC_DECL):
975         (WebCore::ACCESSOR_GETTER):
976         (WebCore::ACCESSOR_SETTER):
977         (WebCore::INDEXED_PROPERTY_GETTER):
978         (WebCore::INDEXED_PROPERTY_SETTER):
979         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
980         (WebCore::NAMED_PROPERTY_GETTER):
981         (WebCore::NAMED_PROPERTY_SETTER):
982         (WebCore::INDEXED_PROPERTY_GETTER):
983         (WebCore::INDEXED_PROPERTY_SETTER):
984         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
985         (WebCore::NAMED_PROPERTY_GETTER):
986         (WebCore::INDEXED_PROPERTY_SETTER):
987         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
988         (WebCore::CALLBACK_FUNC_DECL):
989         (WebCore::removeElement):
990         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
991         (WebCore::CALLBACK_FUNC_DECL):
992         * bindings/v8/custom/V8LocationCustom.cpp:
993         (WebCore::ACCESSOR_SETTER):
994         (WebCore::ACCESSOR_GETTER):
995         (WebCore::CALLBACK_FUNC_DECL):
996         (WebCore::INDEXED_ACCESS_CHECK):
997         (WebCore::NAMED_ACCESS_CHECK):
998         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
999         (WebCore::CALLBACK_FUNC_DECL):
1000         * bindings/v8/custom/V8MessagePortCustom.cpp:
1001         (WebCore::ACCESSOR_GETTER):
1002         (WebCore::ACCESSOR_SETTER):
1003         (WebCore::CALLBACK_FUNC_DECL):
1004         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1005         (WebCore::INDEXED_PROPERTY_GETTER):
1006         (WebCore::NAMED_PROPERTY_GETTER):
1007         * bindings/v8/custom/V8NavigatorCustom.cpp:
1008         (WebCore::ACCESSOR_GETTER):
1009         * bindings/v8/custom/V8NodeCustom.cpp:
1010         (WebCore::CALLBACK_FUNC_DECL):
1011         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
1012         (WebCore::toV8):
1013         (WebCore::CALLBACK_FUNC_DECL):
1014         * bindings/v8/custom/V8NodeListCustom.cpp:
1015         (WebCore::NAMED_PROPERTY_GETTER):
1016         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1017         (WebCore::CALLBACK_FUNC_DECL):
1018         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1019         (WebCore::CALLBACK_FUNC_DECL):
1020         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
1021         (WebCore::CALLBACK_FUNC_DECL):
1022         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1023         (WebCore::ACCESSOR_GETTER):
1024         (WebCore::CALLBACK_FUNC_DECL):
1025         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
1026         (WebCore::CALLBACK_FUNC_DECL):
1027         * bindings/v8/custom/V8StorageCustom.cpp:
1028         (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
1029         (WebCore::storageGetter):
1030         (WebCore::storageSetter):
1031         (WebCore::storageDeleter):
1032         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
1033         (WebCore::NAMED_PROPERTY_GETTER):
1034         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
1035         (WebCore::toV8):
1036         (WebCore::CALLBACK_FUNC_DECL):
1037         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
1038         (WebCore::CALLBACK_FUNC_DECL):
1039         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1040         (WebCore::ACCESSOR_GETTER):
1041         (WebCore::ACCESSOR_SETTER):
1042         (WebCore::SetTimeoutOrInterval):
1043         (WebCore::CALLBACK_FUNC_DECL):
1044         * bindings/v8/custom/V8WorkerCustom.cpp:
1045         (WebCore::CALLBACK_FUNC_DECL):
1046         (WebCore::ACCESSOR_GETTER):
1047         (WebCore::ACCESSOR_SETTER):
1048         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1049         (WebCore::CALLBACK_FUNC_DECL):
1050         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1051         (WebCore::ACCESSOR_GETTER):
1052         (WebCore::ACCESSOR_SETTER):
1053         (WebCore::CALLBACK_FUNC_DECL):
1054         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
1055         (WebCore::ACCESSOR_GETTER):
1056         (WebCore::ACCESSOR_SETTER):
1057         (WebCore::CALLBACK_FUNC_DECL):
1058         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
1059         (WebCore::CALLBACK_FUNC_DECL):
1060
1061 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
1062
1063         Reviewed by Simon Fraser.
1064
1065         Make sure we can click outside the slider thumb and start dragging.
1066         https://bugs.webkit.org/show_bug.cgi?id=26229
1067
1068         Previously we were assuming that if the thumb hasn't been clicked, we
1069         wouldn't issue any value change upon dragging.
1070
1071         We need to handle the two different cases:
1072         - Clicked in the thumb, we need to make sure the cursor is always pointing
1073         the same slider thumb point.
1074         - Clicked outside, the cursor should always be pointing to the center of
1075         the thumb.
1076
1077         For simplicity, we don't remember the original point of the mouse down,
1078         but a vector between that point and the thumb.
1079
1080         * rendering/RenderSlider.cpp:
1081         (WebCore::SliderThumbElement::SliderThumbElement):
1082         (WebCore::SliderThumbElement::defaultEventHandler):
1083         (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
1084         * rendering/RenderSlider.h:
1085
1086 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
1087
1088         Reviewed by Simon Fraser.
1089
1090         https://bugs.webkit.org/show_bug.cgi?id=27100
1091         <rdar://problem/7042621>
1092
1093         Don't display "loading" in the <video> controller when
1094         there is no src specified.
1095
1096         * rendering/MediaControlElements.cpp:
1097         (WebCore::MediaControlStatusDisplayElement::update): The only
1098         way to find out if we have an element is currentSrc(). networkState()
1099         will always report LOADING according to the spec.
1100
1101 2009-07-08  Adam Barth  <abarth@webkit.org>
1102
1103         Reviewed by Eric Seidel.
1104
1105         [V8] Move V8GCController functions to their own file
1106         https://bugs.webkit.org/show_bug.cgi?id=27102
1107
1108         * bindings/v8/V8GCController.cpp: Added.
1109         * bindings/v8/V8GCController.h: Added.
1110         * bindings/v8/V8Proxy.cpp:
1111         * bindings/v8/V8Proxy.h:
1112
1113 2009-07-08  Jeremy Orlow  <jorlow@chromium.org>
1114
1115         Reviewed by Darin Fisher.
1116
1117         Split StorageArea and StorageNamespace into an interface and implementation.
1118         https://bugs.webkit.org/show_bug.cgi?id=27072
1119
1120         I need to split StorageNamespace and StorageArea into an interface and
1121         implementation.  In a later patch, I'll implement a proxy interface
1122         that'll run inside the Chromium renderer process.
1123
1124         Additionally, fix the alphabetical ordering of files I recently added
1125         in the project files.
1126
1127         This is a continuation of other refactoring work:
1128         https://bugs.webkit.org/show_bug.cgi?id=25376
1129
1130         * GNUmakefile.am:
1131         * WebCore.vcproj/WebCore.vcproj:
1132         * WebCore.xcodeproj/project.pbxproj:
1133         * WebCoreSources.bkl:
1134         * storage/StorageArea.cpp:
1135         (WebCore::StorageArea::create):
1136         * storage/StorageArea.h:
1137         (WebCore::StorageArea::~StorageArea):
1138         * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
1139         (WebCore::StorageAreaImpl::create):
1140         (WebCore::StorageAreaImpl::~StorageAreaImpl):
1141         (WebCore::StorageAreaImpl::StorageAreaImpl):
1142         (WebCore::StorageAreaImpl::copy):
1143         (WebCore::StorageAreaImpl::length):
1144         (WebCore::StorageAreaImpl::key):
1145         (WebCore::StorageAreaImpl::getItem):
1146         (WebCore::StorageAreaImpl::setItem):
1147         (WebCore::StorageAreaImpl::removeItem):
1148         (WebCore::StorageAreaImpl::clear):
1149         (WebCore::StorageAreaImpl::contains):
1150         (WebCore::StorageAreaImpl::importItem):
1151         (WebCore::StorageAreaImpl::securityOrigin):
1152         (WebCore::StorageAreaImpl::close):
1153         (WebCore::StorageAreaImpl::blockUntilImportComplete):
1154         (WebCore::StorageAreaImpl::dispatchStorageEvent):
1155         * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
1156         * storage/StorageAreaSync.h:
1157         * storage/StorageNamespace.cpp:
1158         (WebCore::StorageNamespace::localStorageNamespace):
1159         (WebCore::StorageNamespace::sessionStorageNamespace):
1160         * storage/StorageNamespace.h:
1161         (WebCore::StorageNamespace::~StorageNamespace):
1162         * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
1163         (WebCore::StorageNamespaceImpl::localStorageNamespace):
1164         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
1165         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
1166         (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
1167         (WebCore::StorageNamespaceImpl::copy):
1168         (WebCore::StorageNamespaceImpl::storageArea):
1169         (WebCore::StorageNamespaceImpl::close):
1170         * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.
1171
1172 2009-07-08  Adam Barth  <abarth@webkit.org>
1173
1174         Reviewed by Eric Seidel.
1175
1176         [V8] Move garbage collector related functions from V8Proxy to V8GCController
1177         https://bugs.webkit.org/show_bug.cgi?id=26967
1178
1179         This patch just moves the functions around in V8Proxy.  We'll actually
1180         move them to a separate file in another patch.
1181
1182         * bindings/v8/NPV8Object.cpp:
1183         (freeV8NPObject):
1184         * bindings/v8/ScheduledAction.cpp:
1185         (WebCore::ScheduledAction::ScheduledAction):
1186         (WebCore::ScheduledAction::~ScheduledAction):
1187         * bindings/v8/ScriptController.cpp:
1188         (WebCore::ScriptController::gcProtectJSWrapper):
1189         (WebCore::ScriptController::gcUnprotectJSWrapper):
1190         * bindings/v8/ScriptInstance.cpp:
1191         (WebCore::V8ScriptInstance::clear):
1192         (WebCore::V8ScriptInstance::set):
1193         * bindings/v8/ScriptValue.h:
1194         (WebCore::ScriptValue::ScriptValue):
1195         (WebCore::ScriptValue::operator=):
1196         (WebCore::ScriptValue::clear):
1197         * bindings/v8/V8AbstractEventListener.cpp:
1198         (WebCore::V8AbstractEventListener::disposeListenerObject):
1199         * bindings/v8/V8LazyEventListener.cpp:
1200         (WebCore::V8LazyEventListener::~V8LazyEventListener):
1201         (WebCore::V8LazyEventListener::getListenerFunction):
1202         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
1203         * bindings/v8/V8NodeFilterCondition.cpp:
1204         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
1205         (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
1206         * bindings/v8/V8Proxy.cpp:
1207         (WebCore::V8GCController::registerGlobalHandle):
1208         (WebCore::V8GCController::unregisterGlobalHandle):
1209         (WebCore::V8GCController::gcProtect):
1210         (WebCore::V8GCController::gcUnprotect):
1211         (WebCore::V8Proxy::destroyGlobal):
1212         (WebCore::V8Proxy::updateDocumentWrapper):
1213         (WebCore::V8Proxy::clearDocumentWrapper):
1214         (WebCore::V8Proxy::disposeContextHandles):
1215         (WebCore::V8Proxy::initContextIfNeeded):
1216         * bindings/v8/V8Proxy.h:
1217         (WebCore::):
1218         (WebCore::GlobalHandleInfo::GlobalHandleInfo):
1219         * bindings/v8/custom/V8CustomEventListener.cpp:
1220         (WebCore::V8EventListener::V8EventListener):
1221
1222 2009-07-08  Daniel Bates  <dbates@intudata.com>
1223
1224         Reviewed by Adam Barth.
1225         
1226         https://bugs.webkit.org/show_bug.cgi?id=26918
1227         
1228         Prevents injection of HTML Base tag.
1229
1230         Tests: http/tests/security/xssAuditor/base-href-control-char.html
1231                http/tests/security/xssAuditor/base-href-null-char.html
1232                http/tests/security/xssAuditor/base-href-safe.html
1233                http/tests/security/xssAuditor/base-href-safe2.html
1234                http/tests/security/xssAuditor/base-href-scheme-relative.html
1235                http/tests/security/xssAuditor/base-href.html
1236
1237         * html/HTMLBaseElement.cpp:
1238         (WebCore::HTMLBaseElement::parseMappedAttribute):
1239         (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
1240         to determine if it is safe to use base element URL.
1241         * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
1242         * page/XSSAuditor.cpp:
1243         (WebCore::XSSAuditor::canSetBaseElementURL):
1244         * page/XSSAuditor.h:
1245
1246 2009-07-08  Nate Chapin  <japhet@chromium.org>
1247
1248         Reviewed by Dimitri Glazkov.
1249
1250         Upstream V8 npruntime bindings.
1251
1252         https://bugs.webkit.org/show_bug.cgi?id=27094
1253
1254         * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
1255         (StringKey::operator==):
1256         (StringKey::StringKeyHash::hash):
1257         (StringKey::StringKeyHash::equal):
1258         (StringKeyHashTraits::constructDeletedValue):
1259         (StringKeyHashTraits::isDeletedValue):
1260         (getStringIdentifierMap):
1261         (getIntIdentifierMap):
1262         * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
1263         * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
1264         * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.
1265
1266 2009-07-08  Dumitru Daniliuc  <dumi@chromium.org>
1267
1268         Reviewed by Darin Fisher.
1269
1270         Extending the PlatformFileHandle definition from PLATFORM(WIN) to
1271         PLATFORM(WIN_OS)
1272
1273         https://bugs.webkit.org/show_bug.cgi?id=27013
1274
1275         * platform/FileSystem.h:
1276
1277 2009-07-08  Daniel Bates  <dbates@intudata.com>
1278
1279         Reviewed by Adam Barth.
1280         
1281         https://bugs.webkit.org/show_bug.cgi?id=27071
1282         
1283         Resolves issue when HTTP parameters contain null- and  non-null-control- characters.
1284
1285         Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
1286                http/tests/security/xssAuditor/embed-tag-control-char.html
1287                http/tests/security/xssAuditor/embed-tag-null-char.html
1288                http/tests/security/xssAuditor/embed-tag.html
1289                http/tests/security/xssAuditor/link-onclick-control-char.html
1290                http/tests/security/xssAuditor/link-onclick-null-char.html
1291                http/tests/security/xssAuditor/object-embed-tag-control-char.html
1292                http/tests/security/xssAuditor/object-embed-tag-null-char.html
1293                http/tests/security/xssAuditor/object-embed-tag.html
1294                http/tests/security/xssAuditor/object-tag.html
1295                http/tests/security/xssAuditor/script-tag-post-control-char.html
1296                http/tests/security/xssAuditor/script-tag-post-null-char.html
1297                http/tests/security/xssAuditor/script-tag-with-source-control-char.html
1298                http/tests/security/xssAuditor/script-tag-with-source-null-char.html
1299
1300         * page/XSSAuditor.cpp:
1301         (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
1302         (WebCore::XSSAuditor::canEvaluate):
1303         (WebCore::XSSAuditor::canCreateInlineEventListener):
1304         (WebCore::XSSAuditor::canLoadObject):
1305         (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
1306         and matchNonNullControlCharacters.
1307         (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
1308         and matchNonNullControlCharacters.
1309         * page/XSSAuditor.h:
1310
1311 2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
1312
1313         Reviewed by Dimitri Glazkov.
1314
1315         Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
1316         https://bugs.webkit.org/show_bug.cgi?id=27093
1317
1318         This is specific for v8, no change in behavior.
1319
1320         * bindings/v8/DerivedSourcesAllInOne.cpp: Added.
1321
1322 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
1323
1324         Reviewed by Simon Fraser.
1325
1326         https://bugs.webkit.org/show_bug.cgi?id=27086
1327
1328         Make sure the Media controller doesn't fade in for no reason.
1329         This is happening because a update() call to the controller
1330         panel may reset the opacity to 1.0, given that it reloads the
1331         style.
1332
1333         We also add a different fade in and fade out time to soften
1334         the fade out effect.
1335
1336         No test case because this depends on how the movie is loaded.
1337
1338         * rendering/RenderMedia.cpp:
1339         (WebCore::RenderMedia::RenderMedia):
1340         (WebCore::RenderMedia::updateControls):
1341         (WebCore::RenderMedia::updateControlVisibility): Simplify
1342         , and make sure we stop the timer if there is no animation
1343         to do.
1344         (WebCore::RenderMedia::opacityAnimationTimerFired): 
1345         * rendering/RenderMedia.h:
1346
1347 2009-07-08  David Kilzer  <ddkilzer@apple.com>
1348
1349         Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)
1350
1351         <https://bugs.webkit.org/show_bug.cgi?id=27081>
1352
1353         Reviewed by Timothy Hatcher.
1354
1355         * platform/cf/RunLoopTimerCF.cpp: This code is only used on
1356         Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
1357         in that macro as well.
1358
1359 2009-07-08  Greg Bolsinga  <bolsinga@apple.com>
1360
1361         Reviewed by Darin Adler.
1362
1363         Add -[WebView _isProcessingUserGesture]
1364         https://bugs.webkit.org/show_bug.cgi?id=27084
1365
1366         Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
1367         for clarity.
1368
1369         * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
1370         * html/HTMLMediaElement.cpp:
1371         (WebCore::HTMLMediaElement::processingUserGesture):
1372         * loader/FrameLoader.cpp: 
1373         (WebCore::FrameLoader::requestFrame):
1374         (WebCore::FrameLoader::isProcessingUserGesture):
1375         * loader/FrameLoader.h:
1376
1377 2009-07-08  Alexey Proskuryakov  <ap@webkit.org>
1378
1379         Reviewed (an earlier version) by Geoff Garen.
1380
1381         https://bugs.webkit.org/show_bug.cgi?id=27090
1382         Remove lockBackForwardList argument from HTMLFormElement::submit()
1383
1384         No change in behavior, so no tests.
1385
1386         * bindings/js/JSHTMLFormElementCustom.cpp:
1387         (WebCore::JSHTMLFormElement::submit):
1388         * html/HTMLFormElement.cpp:
1389         (WebCore::HTMLFormElement::submit):
1390         * html/HTMLFormElement.h:
1391         * loader/FrameLoader.cpp:
1392         (WebCore::FrameLoader::submitForm):
1393         (WebCore::FrameLoader::scheduleFormSubmission):
1394         * loader/FrameLoader.h:
1395         Don't pass lockBackForwardList around when it's known to be false.
1396
1397 2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
1398
1399         Reviewed by Adam Barth.
1400
1401         Fix V8 idl codegen to use unique constant names
1402         <https://bugs.webkit.org/show_bug.cgi?id=27089>
1403
1404         Embed the interface name in the global constant names so coagulating all
1405         the .cc files into one compile unit works with V8 bindings.
1406
1407         Nothing added; Still compiles and pass tests.
1408
1409         * bindings/scripts/CodeGeneratorV8.pm:
1410
1411 2009-07-08  Brent Fulgham  <bfulgham@webkit.org>
1412
1413         Build fix: Add missing #includes for Windows (cURL) build.
1414         The <winsock2.h> and <windows.h> headers were not being
1415         included in Windows cURL builds.
1416
1417         * platform/network/ResourceHandleInternal.h:
1418         * platform/network/curl/ResourceHandleManager.h:
1419
1420 2009-07-08  Shinichiro Hamaji  <hamaji@chromium.org>
1421
1422         Reviewed by David Kilzer.
1423
1424         WebKit needs a style linting tool
1425         https://bugs.webkit.org/show_bug.cgi?id=25884
1426
1427         Fix bunch of style issues in WebCore/rendering.
1428         This patch is created to demonstrate cpplint.py.
1429
1430         No testcase because it's just a style fixes.
1431
1432         * rendering/AutoTableLayout.cpp:
1433         (WebCore::AutoTableLayout::recalcColumn):
1434         (WebCore::AutoTableLayout::layout):
1435         * rendering/InlineFlowBox.cpp:
1436         (WebCore::InlineFlowBox::placeEllipsisBox):
1437         * rendering/InlineTextBox.cpp:
1438         (WebCore::InlineTextBox::paintTextMatchMarker):
1439         * rendering/MediaControlElements.cpp:
1440         (WebCore::MediaControlTimelineElement::defaultEventHandler):
1441         * rendering/MediaControlElements.h:
1442         * rendering/RenderArena.cpp:
1443         * rendering/RenderBlock.cpp:
1444         (WebCore::RenderBlock::startDelayUpdateScrollInfo):
1445         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
1446         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
1447         (WebCore::RenderBlock::positionNewFloats):
1448         (WebCore::RenderBlock::newLine):
1449         (WebCore::RenderBlock::floatBottom):
1450         (WebCore::RenderBlock::leftBottom):
1451         (WebCore::RenderBlock::rightBottom):
1452         * rendering/RenderBox.cpp:
1453         (WebCore::RenderBox::calcReplacedWidthUsing):
1454         * rendering/RenderFieldset.cpp:
1455         (WebCore::RenderFieldset::layoutLegend):
1456         * rendering/RenderFlexibleBox.cpp:
1457         (WebCore::FlexBoxIterator::FlexBoxIterator):
1458         (WebCore::FlexBoxIterator::reset):
1459         (WebCore::FlexBoxIterator::first):
1460         (WebCore::FlexBoxIterator::next):
1461         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1462         * rendering/RenderFrameSet.cpp:
1463         (WebCore::borderStartEdgeColor):
1464         * rendering/RenderFrameSet.h:
1465         * rendering/RenderImage.cpp:
1466         * rendering/RenderLayer.cpp:
1467         (WebCore::RenderLayer::updateVisibilityStatus):
1468         (WebCore::RenderLayer::calculateClipRects):
1469         (WebCore::RenderLayer::calculateRects):
1470         * rendering/RenderListBox.cpp:
1471         (WebCore::RenderListBox::panScroll):
1472         * rendering/RenderMarquee.cpp:
1473         (WebCore::RenderMarquee::updateMarqueeStyle):
1474         * rendering/RenderMedia.cpp:
1475         (WebCore::RenderMedia::updateControls):
1476         * rendering/RenderObject.cpp:
1477         (WebCore::RenderObject::drawLineForBoxSide):
1478         (WebCore::RenderObject::localCaretRect):
1479         * rendering/RenderSVGImage.cpp:
1480         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
1481         * rendering/RenderSlider.h:
1482         * rendering/RenderTable.cpp:
1483         (WebCore::RenderTable::outerBorderBottom):
1484         * rendering/RenderTableCol.h:
1485         * rendering/RenderTextControlSingleLine.cpp:
1486         (WebCore::RenderTextControlSingleLine::itemIsSeparator):
1487         * rendering/RenderThemeChromiumSkia.cpp:
1488         (WebCore::RenderThemeChromiumSkia::supportsHover):
1489         * rendering/RenderThemeChromiumWin.cpp:
1490         (WebCore::RenderThemeChromiumWin::supportsFocusRing):
1491         * rendering/SVGCharacterLayoutInfo.cpp:
1492         (WebCore::SVGCharacterLayoutInfo::addStackContent):
1493         * rendering/SVGCharacterLayoutInfo.h:
1494         * rendering/TextControlInnerElements.h:
1495         * rendering/bidi.cpp:
1496         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
1497
1498 2009-07-07  Oliver Hunt  <oliver@apple.com>
1499
1500         Reviewed by Maciej Stachowiak.
1501
1502         Reduce complexity of lifetime management in DynamicNodeList caches
1503         <https://bugs.webkit.org/show_bug.cgi?id=27068>
1504
1505         Switch the Cache object used by DynamicNodeList into a normal
1506         refcounted object rather than having a weird flag controlled
1507         refcounting system, where positive refcount did not automatically
1508         imply the cache object would actually still be live.
1509
1510         * dom/DynamicNodeList.cpp:
1511         (WebCore::DynamicNodeList::DynamicNodeList):
1512         (WebCore::DynamicNodeList::~DynamicNodeList):
1513         (WebCore::DynamicNodeList::Caches::Caches):
1514         (WebCore::DynamicNodeList::Caches::create):
1515         * dom/DynamicNodeList.h:
1516         * dom/Node.cpp:
1517         (WebCore::Node::childNodes):
1518         (WebCore::Node::getElementsByTagNameNS):
1519         (WebCore::Node::getElementsByName):
1520         (WebCore::Node::getElementsByClassName):
1521         (WebCore::NodeListsNodeData::invalidateCaches):
1522         (WebCore::NodeListsNodeData::isEmpty):
1523         * dom/NodeRareData.h:
1524         (WebCore::NodeListsNodeData::NodeListsNodeData):
1525
1526 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
1527
1528         Reviewed by Dan Bernstein.
1529         
1530         -webkit-perspective should be a Length
1531         https://bugs.webkit.org/show_bug.cgi?id=27066
1532         
1533         -webkit-perspective should not take a magic valueless number, but should
1534         be a normal Length value which responds to zooming. Treat valueless numbers
1535         as pixels for backward compatibility.
1536         
1537         Test: transforms/3d/general/perspective-units.html
1538
1539         * css/CSSParser.cpp:
1540         (WebCore::CSSParser::parseValue):
1541         * css/CSSStyleSelector.cpp:
1542         (WebCore::CSSStyleSelector::applyProperty):
1543
1544 2009-07-07  Pierre d'Herbemont  <pdherbemont@apple.com>
1545
1546         Reviewed by Simon Fraser.
1547
1548         https://bugs.webkit.org/show_bug.cgi?id=27047
1549
1550         We need to make sure that when we reattach, we also reattach
1551         the children in every MediaControlElement. Else we may end up
1552         having no remaining or elapsed time.
1553
1554         We have to handle that, because we are using a special shadow
1555         tree in the DOM, and that we are ourselves handling
1556         attaching/detaching the renderer.
1557
1558         The strategy here is to try to implement ::attach(), and try
1559         to reuse as much code as we can from the super class, including
1560         children attachement.
1561
1562         Test: media/controls-after-reload.html
1563
1564         * rendering/MediaControlElements.cpp:
1565         (WebCore::MediaControlElement::styleForElement): Code factoring.
1566         (WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
1567         (WebCore::MediaControlElement::attach): Implement attach
1568         and call super class so that children are also attached.
1569         (WebCore::MediaControlElement::updateStyle): Use attach()
1570         (WebCore::MediaControlInputElement::styleForElement): Code factoring.
1571         (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
1572         (WebCore::MediaControlInputElement::attach): See above.
1573         (WebCore::MediaControlInputElement::updateStyle): Use attach()
1574         * rendering/MediaControlElements.h:
1575         * rendering/RenderMedia.cpp:
1576         (WebCore::RenderMedia::updateControls): Directly run attach() on
1577         the m_panel, which is a root node for our shadow tree.
1578
1579 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
1580
1581         Reviewed by Dan Bernstein.
1582
1583         Repaint issue after layer drops out of composited mode.
1584         <https://bugs.webkit.org/show_bug.cgi?id=27022>
1585
1586         RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
1587         and expect these to stay valid from one style change to the next. These rects
1588         are relative to the repaint container, so if a layer stops being composited,
1589         we need to recompute them.
1590         
1591         Test: compositing/repaint/layer-repaint-rects.html
1592
1593         * rendering/RenderLayer.cpp:
1594         (WebCore::RenderLayer::computeRepaintRects):
1595         * rendering/RenderLayer.h:
1596         * rendering/RenderLayerCompositor.cpp:
1597         (WebCore::RenderLayerCompositor::updateBacking):
1598
1599 2009-07-07  Dan Bernstein  <mitz@apple.com>
1600
1601         Reviewed by Dave Hyatt and Darin Adler.
1602
1603         - fix https://bugs.webkit.org/show_bug.cgi?id=26963
1604           <rdar://problem/7030998> Reproducible crash at
1605           FontCache::getFontData() when a custom font is used in a pseudo-style
1606
1607         Test: fast/css/pseudo-cache-stale.html
1608
1609         * dom/Element.cpp:
1610         (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
1611         style and the new style, goes over cached pseudo-styles in the old
1612         style and re-resolves the same style types off the new style. If any of
1613         the new pseudo-styles is different from the currently cached
1614         corresponding style, returns true. Otherwise, returns false.
1615         (WebCore::Element::recalcStyle): Validate the pseudo-style cache before
1616         deciding to keep the existing style.
1617         * dom/Element.h:
1618         * rendering/RenderObject.cpp:
1619         (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
1620         returns an uncached first-line style based off the given style.
1621         (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
1622         parameter.
1623         * rendering/RenderObject.h:
1624         * rendering/style/RenderStyle.cpp:
1625         (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
1626         pseudo-styles in the passed-in vector.
1627         * rendering/style/RenderStyle.h:
1628
1629 2009-07-07  Dan Bernstein  <mitz@apple.com>
1630
1631         Reviewed by Simon Fraser.
1632
1633         - fix https://bugs.webkit.org/show_bug.cgi?id=27042
1634           <rdar://problem/7010981> Incomplete painting of newly created floats
1635
1636         Tests: fast/repaint/float-in-new-block-with-layout-delta.html
1637                fast/repaint/float-new-in-block.html
1638
1639         * rendering/RenderBlock.cpp:
1640         (WebCore::RenderBlock::layoutBlockChildren): If the child has never been
1641         laid out before, paint its overhanging floats in addition to itself.
1642         * rendering/RenderBlock.h:
1643         (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and
1644         initialized a boolean everHadLayout member.
1645         * rendering/bidi.cpp:
1646         (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have
1647         never been laid out before and did not move from (0, 0).
1648
1649 2009-07-07  Brady Eidson  <beidson@apple.com>
1650
1651         Contributions from both Darin Adler and Brady Eidson.
1652         Reviewed by Darin Adler.
1653
1654         <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com
1655
1656         In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame
1657         navigation was still in progress.
1658
1659         This patch makes things even better than it used to be by:
1660         - Locking back/forward history at the time the navigation is scheduled, not after the load has committed.
1661         - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame.
1662
1663         Test: fast/loader/subframe-navigate-during-main-frame-load.html
1664
1665         * loader/FrameLoader.cpp:
1666         (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be
1667           used from multiple sites.
1668         (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading.
1669         (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in
1670           lockBackForwardList flag.
1671         (WebCore::FrameLoader::scheduleFormSubmission): Ditto.
1672
1673 2009-07-07  Nate Chapin  <japhet@chromium.org>
1674
1675         Reviewed by Darin Fisher.
1676
1677         Upstream DOMObjectsInclude.h from src.chromium.org.
1678
1679         https://bugs.webkit.org/show_bug.cgi?id=27035
1680
1681         * bindings/v8/DOMObjectsInclude.h: Added.
1682
1683 2009-07-07  Nate Chapin  <japhet@chromium.org>
1684
1685         Reviewed by David Levin.
1686
1687         Relanding r45559, which was rolled back at r45574.
1688
1689         https://bugs.webkit.org/show_bug.cgi?id=26857
1690
1691         * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings.
1692         * bindings/v8/V8Binding.cpp: Moved from src.chromium.org.
1693         * bindings/v8/V8Binding.h: Contents moved from src.chromium.org.
1694         * bindings/v8/V8LazyEventListener.cpp:
1695         (WebCore::V8LazyEventListener::getListenerFunction):
1696         * bindings/v8/V8Proxy.cpp:
1697         (WebCore::handleConsoleMessage):
1698         (WebCore::V8Proxy::compileScript):
1699         (WebCore::V8Proxy::sourceName):
1700         * bindings/v8/WorkerContextExecutionProxy.cpp:
1701         (WebCore::handleConsoleMessage):
1702         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1703         (WebCore::NAMED_PROPERTY_SETTER):
1704         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1705         (WebCore::CALLBACK_FUNC_DECL):
1706         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1707         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1708         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1709         (WebCore::CALLBACK_FUNC_DECL):
1710         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1711         (WebCore::CALLBACK_FUNC_DECL):
1712         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
1713         (WebCore::ACCESSOR_SETTER):
1714         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1715         (WebCore::CALLBACK_FUNC_DECL):
1716         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1717         (WebCore::removeElement):
1718         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1719         (WebCore::CALLBACK_FUNC_DECL):
1720         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1721         (WebCore::SetTimeoutOrInterval):
1722         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1723         (WebCore::CALLBACK_FUNC_DECL):
1724
1725 2009-07-07  Gregory Hughes  <gfhughesVO+webkit@gmail.com>
1726
1727         Reviewed by Darin Adler.
1728
1729         AX: Some webpages do not send AXLoadComplete
1730         https://bugs.webkit.org/show_bug.cgi?id=26995
1731
1732         When sending the AXLayoutComplete notification it is possible
1733         that the AXObjectCache was cleared, resulting in no valid
1734         object to send the notification to. This fix ensures that an
1735         AX object is created and cached if one does not already exist.
1736
1737         Not able to add a test because notifications get sent after the layout test is completed.
1738
1739         * dom/Document.cpp:
1740         (WebCore::Document::implicitClose):
1741
1742 2009-07-06  Pierre d'Herbemont  <pdherbemont@apple.com>
1743
1744         Reviewed by Simon Fraser.
1745
1746         https://bugs.webkit.org/show_bug.cgi?id=27015
1747
1748         Make sure that the CSS properties letter-spacing, word-spacing,
1749         line-height, text-transform, text-indent, text-shadow,
1750         text-decoration and color do not affect the media element controls,
1751         that display text.
1752
1753         Controls that display text are only present in when the theme
1754         MediaControllerThemeQT is being used.
1755
1756         Test: media/controls-styling.html
1757
1758         * css/mediaControlsQT.css:
1759         * rendering/MediaControlElements.cpp:
1760         (WebCore::MediaControlElement::updateStyle): Special case for
1761         text-decoration. text-decoration can't be overriden from CSS, because
1762         text-decoration is additive for historical reasons.
1763
1764 2009-07-07  Albert Wong  <ajwong@chromium.org>
1765
1766         Not reviewed, Chromium build fix.
1767
1768         Add in missing header + fix syntax issue that crept into last patch.
1769         https://bugs.webkit.org/show_bug.cgi?id=27027
1770
1771         * rendering/RenderThemeChromiumMac.mm:
1772         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
1773
1774 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
1775
1776         Reviewed by Dave Hyatt.
1777
1778         Make use of geometry information to decide which layers become composited.
1779
1780         <rdar://problem/7011947>
1781         <https://bugs.webkit.org/show_bug.cgi?id=27021>
1782         
1783         In addition to looking at painting order, also, optionally, take layer
1784         overlap into account when deciding which RenderLayers need to be composited.
1785
1786         No testcase because DRT doesn't dump which layers are composited.
1787         
1788         * page/FrameView.h:
1789         * page/FrameView.cpp:
1790         (WebCore::FrameView::updateCompositingLayers):
1791         Removed the unused CompositingUpdate parameter, and just do an early return
1792         when there is no view.
1793         
1794         * rendering/RenderLayer.h:
1795         * rendering/RenderLayer.cpp:
1796         (WebCore::RenderLayer::rendererContentChanged):
1797         (WebCore::RenderLayer::dirtyZOrderLists):
1798         (WebCore::RenderLayer::dirtyNormalFlowList):
1799         (WebCore::RenderLayer::styleChanged):
1800         (WebCore::RenderLayer::mustOverlapCompositedLayers):
1801         (WebCore::RenderLayer::setMustOverlapCompositedLayers):
1802         Change "overlay" to "overlap" for consistency with the use of "overlap"
1803         elsewhere.
1804
1805         * rendering/RenderLayerBacking.cpp:
1806         (WebCore::RenderLayerBacking::updateAfterLayout):
1807         compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild().
1808         
1809         (WebCore::RenderLayerBacking::startAnimation):
1810         (WebCore::RenderLayerBacking::startTransition):
1811         Tell the compositor that we started an accelerated animation or transition.
1812         
1813         * rendering/RenderLayerCompositor.h:
1814         (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild):
1815         Renamed, since it's explicitly about changes in hierarchy now.
1816         
1817         (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap):
1818         (WebCore::RenderLayerCompositor::compositingConsultsOverlap):
1819         New getter and setter for whether compositing should take overlap into account.
1820
1821         * rendering/RenderLayerCompositor.cpp:
1822         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1823         Add m_compositingConsultsOverlap, re-order some member variables.
1824         
1825         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
1826         Whitespace cleanup and method rename.
1827         
1828         (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
1829         Method and variable renaming.
1830         
1831         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1832         Now we have to run through the layer hierarchy every time if looking
1833         at overlap, because changes in layout can now alter compositing behavior.
1834         We minimize work by tracking whether we actually need to change the layer
1835         hierarchy via needLayerRebuild.
1836         
1837         (WebCore::RenderLayerCompositor::updateBacking):
1838         3D transforms turn off overlap mode.
1839         
1840         (WebCore::RenderLayerCompositor::layerWasAdded):
1841         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1842         Method rename.
1843         
1844         (WebCore::RenderLayerCompositor::addToOverlapMap):
1845         (WebCore::RenderLayerCompositor::overlapsCompositedLayers):
1846         Utility methods to add a layer to the overlapMap (computing the absolute
1847         bounding box only if we haven't already done so), and testing the map
1848         entries.
1849         
1850         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1851         If a layer would composite only because it comes after other compositing
1852         layers in the painting order, then consult the overlap map to determine whether
1853         it overlaps, and thus actually needs to composite.
1854         
1855         Add layers to the map when they must be composited.
1856         
1857         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1858         Only do re-parenting work if the updateHierarchy flag is set.
1859         
1860         (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation):
1861         When we start an accelerated transition or animation, we stop looking at
1862         overlap because we can no longer guarantee correct front-to-back ordering while the
1863         accelerated animation is running.
1864
1865         (WebCore::RenderLayerCompositor::needsToBeComposited):
1866         Method renames.
1867         
1868         * rendering/RenderView.cpp:
1869         (WebCore::RenderView::setMaximalOutlineSize):
1870         Add comment indicating that this could be optimized.
1871
1872 2009-07-07  Anton Muhin  <antonm@chromium.org>
1873
1874         Reviewed by Darin Fisher.
1875
1876         Speed up creation of V8 wrappers for DOM nodes.
1877
1878         https://bugs.webkit.org/show_bug.cgi?id=26882
1879
1880         This patch doesn't require new tests as it a set of refactorings
1881         to speed up wrapper creation.  
1882
1883         * bindings/v8/V8Proxy.cpp:
1884         * bindings/v8/V8Proxy.h:
1885
1886 2009-07-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
1887
1888         Reviewed by Gustavo Noronha.
1889
1890         [GTK] textarea height property works only if other property are defined
1891         https://bugs.webkit.org/show_bug.cgi?id=18984
1892
1893         Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk.
1894
1895         Test: fast/forms/textarea-metrics.html
1896
1897         * platform/gtk/RenderThemeGtk.cpp:
1898         * platform/gtk/RenderThemeGtk.h:
1899
1900 2009-07-07  Ben Murdoch  <benm@google.com>
1901
1902         Reviewed by Antti Koivisto.
1903
1904         HTML5 Database becomes locked if a transaction is in progress when the page is refreshed.
1905         https://bugs.webkit.org/show_bug.cgi?id=25711
1906
1907         Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web
1908         storage databases could become locked until the browser is shut
1909         down if the page is refreshed whilst a transaction is in progress.
1910
1911         Test: storage/database-lock-after-reload.html
1912
1913         * storage/Database.cpp:
1914         (WebCore::Database::Database):
1915         (WebCore::Database::close): add code to inform the database thread we've closed the database.
1916         (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database.
1917         * storage/Database.h:
1918         (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed.
1919         * storage/DatabaseThread.cpp:
1920         (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread.
1921         (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread.
1922         (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases.
1923         * storage/DatabaseThread.h:
1924         (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread.
1925
1926 2009-07-07  Jiahua Huang  <jhuangjiahua@gmail.com>
1927
1928         Reviewed by Jan Alonzo.
1929
1930         [Gtk] Paste of rich text from firefox results garbled markup
1931         https://bugs.webkit.org/show_bug.cgi?id=26791
1932
1933         Fix problem with UTF-16 clipboard pasted.
1934
1935         * manual-tests/gtk/paste-richtext-from-firefox.html: Added.
1936         * platform/gtk/PasteboardGtk.cpp:
1937         (WebCore::Pasteboard::documentFragment):
1938
1939 2009-07-07  Yury Semikhatsky  <yurys@chromium.org>
1940
1941         Reviewed by Timothy Hatcher.
1942
1943         Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug.
1944
1945         https://bugs.webkit.org/show_bug.cgi?id=23849
1946
1947         * inspector/front-end/ScriptsPanel.js:
1948         (WebInspector.ScriptsPanel):
1949
1950 2009-07-06  Albert J. Wong  <ajwong@chromium.org>
1951
1952         Reviewed by Maciej Stachowiak.
1953
1954         Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API
1955         change.
1956
1957         Fix compile RenderThemeChromiumMac.mm due to API changes from r45572
1958         https://bugs.webkit.org/show_bug.cgi?id=27018
1959
1960         This is mainly an API change update to fix the chromium compile.  It
1961         also has a small fix of a typo in RenderThemeMac.mm.
1962
1963         Compilation against the head of chromium trunk passed.  Since this is
1964         a compile fix, that should be sufficient.
1965
1966         * rendering/RenderThemeChromiumMac.mm:
1967         (WebCore::):
1968         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
1969         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
1970         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
1971         (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
1972         (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
1973         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
1974         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
1975         * rendering/RenderThemeMac.mm:
1976         (WebCore::):
1977
1978 2009-07-06  David Kilzer  <ddkilzer@apple.com>
1979
1980         Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter
1981
1982         <https://bugs.webkit.org/show_bug.cgi?id=27002>
1983
1984         Reviewed by Geoff Garen.
1985
1986         * html/CanvasRenderingContext2D.cpp:
1987         (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
1988         Mark gradient as an unused parameter when DASHBOARD_SUPPORT is
1989         disabled.
1990
1991 2009-07-06  David Kilzer  <ddkilzer@apple.com>
1992
1993         Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node>
1994
1995         <https://bugs.webkit.org/show_bug.cgi?id=27001>
1996
1997         Reviewed by Geoff Garen.
1998
1999         PassRefPtr<> should only be used for arguments to functions that
2000         take ownership of the object, or as return values from functions
2001         that relinquish ownership of the object.
2002
2003         * editing/Editor.cpp:
2004         (WebCore::Editor::increaseSelectionListLevelOrdered): Changed
2005         stack-allocated PassRefPtr<Node> to RefPtr<Node> and call
2006         release() on returned object.
2007         (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto.
2008
2009 2009-07-06  Eric Carlson  <eric.carlson@apple.com>
2010
2011         Reviewed by Simon Fraser.
2012
2013         <rdar://problem/7035474> Make new media controller UI default on SnowLeopard
2014
2015         * rendering/RenderThemeMac.mm:
2016         (WebCore::mediaControllerTheme):
2017             New media controller UI is enabled by default on SnowLeopard.
2018
2019 2009-07-06  Nate Chapin  <japhet@chromium.org>
2020
2021         Unreviewed, build fix.
2022
2023         Roll out r45559 to fix Chromium canary.
2024
2025         https://bugs.webkit.org/show_bug.cgi?id=26857
2026
2027         * bindings/scripts/CodeGeneratorV8.pm:
2028         * bindings/v8/V8Binding.cpp: Removed.
2029         * bindings/v8/V8Binding.h:
2030         (WebCore::toInt32):
2031         (WebCore::toWebCoreString):
2032         (WebCore::fromWebCoreString):
2033         (WebCore::toWebCoreStringWithNullCheck):
2034         (WebCore::isUndefinedOrNull):
2035         (WebCore::v8Boolean):
2036         * bindings/v8/V8LazyEventListener.cpp:
2037         (WebCore::V8LazyEventListener::getListenerFunction):
2038         * bindings/v8/V8Proxy.cpp:
2039         (WebCore::handleConsoleMessage):
2040         (WebCore::V8Proxy::compileScript):
2041         (WebCore::V8Proxy::sourceName):
2042         * bindings/v8/WorkerContextExecutionProxy.cpp:
2043         (WebCore::handleConsoleMessage):
2044         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2045         (WebCore::NAMED_PROPERTY_SETTER):
2046         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2047         (WebCore::CALLBACK_FUNC_DECL):
2048         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2049         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
2050         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2051         (WebCore::CALLBACK_FUNC_DECL):
2052         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2053         (WebCore::CALLBACK_FUNC_DECL):
2054         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
2055         (WebCore::ACCESSOR_SETTER):
2056         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2057         (WebCore::CALLBACK_FUNC_DECL):
2058         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2059         (WebCore::removeElement):
2060         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2061         (WebCore::CALLBACK_FUNC_DECL):
2062         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2063         (WebCore::SetTimeoutOrInterval):
2064         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2065         (WebCore::CALLBACK_FUNC_DECL):
2066
2067 2009-07-06  Eric Carlson  <eric.carlson@apple.com>
2068
2069         Reviewed by Darin Adler.
2070
2071         <rdar://problem/7008093> Media controller can’t be used to scrub when movie is 
2072         narrow — track is too narrow
2073
2074         Do not show media controller time display elements when the a movie is too narrow.
2075
2076         * platform/mac/WebCoreSystemInterface.h:
2077         * platform/mac/WebCoreSystemInterface.mm:
2078             The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
2079
2080         * rendering/MediaControlElements.cpp:
2081         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
2082             Give current time and time remaining controls a common base class.
2083         (WebCore::MediaControlTimeDisplayElement::setVisible):
2084             New method, hide and show the element.
2085         * rendering/MediaControlElements.h:
2086
2087         * rendering/RenderMedia.cpp:
2088         (WebCore::RenderMedia::RenderMedia):
2089             Initialize m_previousVisible.
2090         (WebCore::RenderMedia::layout):
2091             Show/hide the time display elements as the movie width changes.
2092         (WebCore::RenderMedia::createCurrentTimeDisplay):
2093         (WebCore::RenderMedia::createTimeRemainingDisplay):
2094             Base class is now MediaControlTimeDisplayElement, not MediaControlElement.
2095         (WebCore::RenderMedia::shouldShowTimeDisplayControls):
2096             New, decide if time display elements should be visible or not.
2097         * rendering/RenderMedia.h:
2098
2099         * rendering/RenderThemeMac.mm:
2100         (WebCore::):
2101         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
2102         (WebCore::RenderThemeMac::paintMediaMuteButton):
2103         (WebCore::RenderThemeMac::paintMediaPlayButton):
2104         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
2105         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
2106         (WebCore::RenderThemeMac::paintMediaSliderTrack):
2107         (WebCore::RenderThemeMac::paintMediaSliderThumb):
2108         (WebCore::RenderThemeMac::paintMediaRewindButton):
2109         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
2110         (WebCore::RenderThemeMac::paintMediaControlsBackground):
2111         (WebCore::RenderThemeMac::paintMediaCurrentTime):
2112         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
2113             The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
2114
2115 2009-07-06  David Kilzer  <ddkilzer@apple.com>
2116
2117         Bug 27000: Minor clean up to runtime_root.{cpp|h}
2118
2119         <https://bugs.webkit.org/show_bug.cgi?id=27000>
2120
2121         Reviewed by Geoff Garen.
2122
2123         * bridge/runtime_root.cpp: Added blank line between license and
2124         the first #include statement.
2125         * bridge/runtime_root.h: Added comment to #endif.
2126
2127 2009-07-06  Roland Steiner  <rolandsteiner@google.com>
2128
2129         Reviewed by Maciej Stachowiak.
2130
2131         generalize the special height treatment for SVG (to be re-used for ruby):
2132             renamed InlineBox::m_isSVG to m_hasVirtualHeight
2133             renamed InlineBox::isSVG() to hasVirtualHeight()
2134             renamed InlineBox::setIsSVG() to setHasVirtualHeight()
2135
2136         * rendering/InlineBox.cpp:
2137         (WebCore::InlineBox::height):
2138         * rendering/InlineBox.h:
2139         (WebCore::InlineBox::InlineBox):
2140         (WebCore::InlineBox::isText):
2141         (WebCore::InlineBox::setIsText):
2142         (WebCore::InlineBox::isSVGRootInlineBox):
2143         (WebCore::InlineBox::hasVirtualHeight):
2144         (WebCore::InlineBox::setHasVirtualHeight):
2145         (WebCore::InlineBox::virtualHeight):
2146         * rendering/RenderSVGInline.cpp:
2147         (WebCore::RenderSVGInline::createFlowBox):
2148         * rendering/RenderSVGInlineText.cpp:
2149         (WebCore::RenderSVGInlineText::createTextBox):
2150         * rendering/RenderSVGText.cpp:
2151         (WebCore::RenderSVGText::createRootBox):
2152         * rendering/SVGInlineFlowBox.h:
2153         (WebCore::SVGInlineFlowBox::virtualHeight):
2154         * rendering/SVGInlineTextBox.h:
2155         (WebCore::SVGInlineTextBox::virtualHeight):
2156         * rendering/SVGRootInlineBox.h:
2157         (WebCore::SVGRootInlineBox::virtualHeight):
2158
2159 2009-07-06  Alice Liu  <alice.liu@apple.com>
2160
2161         Reviewed by Darin Adler.
2162
2163         REGRESSION(r45285): focus rings are black on windows safari
2164         https://bugs.webkit.org/show_bug.cgi?id=26821
2165         <rdar://problem/7018252>
2166
2167         Add a mechanism for setting a custom focus ring color, and relocate the 
2168         determination of focus ring color to base class RenderTheme.
2169
2170         No new tests.  Already-existing tests run in pixel mode would have caught this regression
2171
2172         * css/CSSStyleSelector.cpp:
2173         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility
2174         of determining focus color to base class RenderTheme.
2175         * rendering/RenderTheme.cpp:
2176         (WebCore::customFocusRingColor): Added static local.
2177         (WebCore::RenderTheme::setCustomFocusRingColor): Added
2178         (WebCore::RenderTheme::focusRingColor): Use custom color over platform color.
2179         * rendering/RenderTheme.h:
2180         (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color
2181         * rendering/RenderThemeSafari.cpp:
2182         (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin
2183         are the same under which we want to use the focus ring color from SafariTheme.
2184         (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor
2185         * rendering/RenderThemeSafari.h:
2186
2187         Renaming focusRingColor to platformFocusRingColor in these files:
2188         * rendering/RenderThemeChromiumMac.h:
2189         * rendering/RenderThemeChromiumMac.mm:
2190         (WebCore::RenderThemeChromiumMac::platformFocusRingColor):
2191         * rendering/RenderThemeChromiumSkia.cpp:
2192         (WebCore::RenderThemeChromiumSkia::platformFocusRingColor):
2193         * rendering/RenderThemeChromiumSkia.h:
2194         * rendering/RenderThemeMac.h:
2195         * rendering/RenderThemeMac.mm:
2196         (WebCore::RenderThemeMac::platformFocusRingColor):
2197
2198         Cleanup leftover from removal of WebCore::Color in r45285 in these files:
2199         * WebCore.order:
2200         * platform/graphics/Color.h:
2201
2202 2009-07-06  Shinichiro Hamaji  <hamaji@chromium.org>
2203
2204         Reviewed by David Hyatt.
2205
2206         Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's
2207         contents makes its container scroll to the top
2208         https://bugs.webkit.org/show_bug.cgi?id=15135
2209
2210         Delay updateing scroll bar of descendants of flexbox until their
2211         positions are determined.  In this way we can prevent descendants
2212         of flexible boxes from changing positions of their scrollbars
2213         using tentative positions.
2214
2215         Test: fast/flexbox/repaint-scrollbar.html
2216
2217         * rendering/RenderBlock.cpp:
2218         (WebCore::RenderBlock::startDelayUpdateScrollInfo):
2219         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
2220         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
2221         (WebCore::RenderBlock::layoutBlock):
2222         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
2223         * rendering/RenderBlock.h:
2224         * rendering/RenderFlexibleBox.cpp:
2225         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
2226         (WebCore::RenderFlexibleBox::layoutVerticalBox):
2227
2228 2009-07-06  Hironori Bono  <hbono@chromium.org>
2229
2230         Reviewed by Maciej Stachowiak.
2231
2232         Make unconfirmed IME text affect textarea's value.
2233         This matches input and contentEditable elements as well
2234         IE and Firefox.
2235
2236         This fixes https://bugs.webkit.org/show_bug.cgi?id=25061.
2237
2238         Input elements would go down this code path because it
2239         would always get a null compositionNode from frame->editor().
2240         Special casing compositionNodes is wrong because we explicitly
2241         want unconfirmed IME input in the textarea's value (assuming we
2242         want to match IE and Firefox here).
2243
2244         This change is originally created by Ojan Vafai <ojan@chromium.org> and
2245         I just changed its manual tests with an automated test on his behalf.
2246
2247         Test: platform/mac/editing/input/text-control-ime-input.html
2248
2249         * rendering/RenderTextControl.cpp:
2250         (WebCore::RenderTextControl::text):
2251         (WebCore::RenderTextControl::textWithHardLineBreaks):
2252
2253 2009-07-06  Anders Carlsson  <andersca@apple.com>
2254
2255         Reviewed by Adele Peterson.
2256
2257         Add the ability for wheel events to latch to a node.
2258         
2259         * WebCore.base.exp:
2260         * page/EventHandler.cpp:
2261         (WebCore::EventHandler::EventHandler):
2262         (WebCore::EventHandler::clear):
2263         (WebCore::EventHandler::handleWheelEvent):
2264         * page/EventHandler.h:
2265         * page/mac/EventHandlerMac.mm:
2266         (WebCore::EventHandler::wheelEvent):
2267         * platform/mac/WebCoreSystemInterface.h:
2268         * platform/mac/WebCoreSystemInterface.mm:
2269
2270 2009-07-06  Nate Chapin  <japhet@chromium.org>
2271
2272         Reviewed by Dimitri Glazkov.
2273
2274         Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL.
2275
2276         https://bugs.webkit.org/show_bug.cgi?id=26997
2277
2278         * bindings/v8/V8Binding.cpp:
2279         (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL.
2280
2281 2009-07-06  Pavel Feldman  <pfeldman@chromium.org>
2282
2283         Reviewed by Timothy Hatcher.
2284
2285         WebInspector: suggest global properties based on async evaluation.
2286
2287         https://bugs.webkit.org/show_bug.cgi?id=26976
2288
2289         Before this change, empty string was evaluated to the global object
2290         (or scope chain object) synchronously. This is now fixed and global
2291         object is evaluated using the same control flow.
2292
2293         * inspector/front-end/Console.js:
2294         (WebInspector.Console.prototype.completions):
2295         (WebInspector.Console.prototype._evalInInspectedWindow):
2296         * inspector/front-end/ScriptsPanel.js:
2297         (WebInspector.ScriptsPanel.prototype._variablesInScope):
2298
2299 2009-07-06  Ojan Vafai  <ojan@chromium.org>
2300
2301         Reviewed by Eric Seidel.
2302
2303         Fix crash when indenting in an empty table cell.
2304         https://bugs.webkit.org/show_bug.cgi?id=26872
2305
2306         The crash is that we would call splitTreeToNode where the node
2307         and the nodeToSplitTo were the same node.
2308
2309         Test: editing/execCommand/indent-empty-table-cell.html
2310
2311         * editing/CompositeEditCommand.cpp:
2312         (WebCore::CompositeEditCommand::splitTreeToNode):
2313         Added an assert in that node and nodeToSplitTo
2314         are different nodes to make this assumption explicit.
2315
2316         * editing/IndentOutdentCommand.cpp:
2317         (WebCore::IndentOutdentCommand::isAtUnsplittableElement):
2318         (WebCore::IndentOutdentCommand::indentRegion):
2319         * editing/IndentOutdentCommand.h:
2320
2321 2009-07-06  Nate Chapin  <japhet@chromium.org>
2322
2323         Reviewed by David Levin.
2324
2325         Upstream V8Binding and update some function names.
2326
2327         https://bugs.webkit.org/show_bug.cgi?id=26857
2328
2329         * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files.
2330         * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org.
2331         * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org.
2332         * bindings/v8/V8LazyEventListener.cpp:
2333         (WebCore::V8LazyEventListener::getListenerFunction):
2334         * bindings/v8/V8Proxy.cpp:
2335         (WebCore::handleConsoleMessage):
2336         (WebCore::V8Proxy::compileScript):
2337         (WebCore::V8Proxy::sourceName):
2338         * bindings/v8/WorkerContextExecutionProxy.cpp:
2339         (WebCore::handleConsoleMessage):
2340         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2341         (WebCore::NAMED_PROPERTY_SETTER):
2342         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2343         (WebCore::CALLBACK_FUNC_DECL):
2344         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2345         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
2346         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2347         (WebCore::CALLBACK_FUNC_DECL):
2348         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2349         (WebCore::CALLBACK_FUNC_DECL):
2350         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
2351         (WebCore::ACCESSOR_SETTER):
2352         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2353         (WebCore::CALLBACK_FUNC_DECL):
2354         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2355         (WebCore::removeElement):
2356         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2357         (WebCore::CALLBACK_FUNC_DECL):
2358         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2359         (WebCore::SetTimeoutOrInterval):
2360         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2361         (WebCore::CALLBACK_FUNC_DECL):
2362
2363 2009-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2364
2365         Reviewed by Jan Alonzo.
2366
2367         Use soup's content sniffing
2368         https://bugs.webkit.org/show_bug.cgi?id=26982
2369
2370         Drop our hackish content sniffing code, and use the new libsoup
2371         feature to do that job for us.
2372
2373         Testing this is in a cross-platform way is not obvious or possible
2374         while we are using platform-specific code for sniffing.
2375
2376         * platform/network/ResourceHandleInternal.h:
2377         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2378         * platform/network/soup/ResourceHandleSoup.cpp:
2379         (WebCore::gotHeadersCallback):
2380         (WebCore::contentSniffedCallback):
2381         (WebCore::gotChunkCallback):
2382         (WebCore::ResourceHandle::startHttp):
2383
2384 2009-07-05  Antonio Gomes  <antonio.gomes@openbossa.org>
2385
2386         Reviewed by Darin Adler.
2387
2388         REGRESSION (r40499): fast/dom/cssTarget-crash.html fails
2389         https://bugs.webkit.org/show_bug.cgi?id=20342
2390
2391         Re-added code removed by commit r40499.
2392         Without this, both Qt and Mac were crashing while running the test.
2393
2394         Note that this does not entirely fix the bug. It fixes the WebCore
2395         crash, but the test no longer seems to work due to loader changes.
2396         So this patch does not reenable the test. The test probably has to
2397         be rewritten.
2398
2399         * dom/ContainerNode.cpp:
2400         (WebCore::ContainerNode::removedFromDocument): Re-added code to
2401         set the CSS target of the document to 0.
2402
2403 2009-07-05  Chris Marrin  <cmarrin@apple.com>
2404
2405         Reviewed by Simon Fraser.
2406
2407         https://bugs.webkit.org/show_bug.cgi?id=26943
2408
2409         When one transition finishes slightly before another the longer
2410         one will fire a second time. This is because the second
2411         ImplicitAnmation object is culled too early, before its final
2412         RenderStyle is in place. This is done by cleanupFinishedAnimations()
2413         so I got rid of that method completely and now cleanup each
2414         transition or animation at the point where I am setting the final
2415         style, or when I detect that the transition or animation has been
2416         terminated early (which happens when you remove it from the style).
2417
2418         Test: transitions/extra-transition.html
2419
2420         * page/animation/AnimationController.cpp:
2421         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
2422         * page/animation/CompositeAnimation.cpp:
2423         (WebCore::CompositeAnimation::updateTransitions):
2424         (WebCore::CompositeAnimation::updateKeyframeAnimations):
2425         (WebCore::CompositeAnimation::animate):
2426         * page/animation/CompositeAnimation.h:
2427
2428         * page/animation/AnimationBase.cpp:
2429         (WebCore::AnimationBase::getTimeToNextEvent):
2430         Avoid a divide by zero if m_animation->duration() is zero, which can happen
2431         if the duration is changed to zero while the animation is running.
2432
2433 2009-07-05  Simon Fraser  <simon.fraser@apple.com>
2434
2435         Revert the previous commit because it broke the
2436         animations/transition-and-animation-1.html
2437         testcase.
2438
2439         * page/animation/AnimationBase.cpp:
2440         (WebCore::AnimationBase::getTimeToNextEvent):
2441         * page/animation/AnimationController.cpp:
2442         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
2443         * page/animation/CompositeAnimation.cpp:
2444         (WebCore::CompositeAnimation::updateTransitions):
2445         (WebCore::CompositeAnimation::updateKeyframeAnimations):
2446         (WebCore::CompositeAnimation::animate):
2447         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
2448         * page/animation/CompositeAnimation.h:
2449
2450 2009-07-05  Chris Marrin  <cmarrin@apple.com>
2451
2452         Reviewed by Simon Fraser.
2453
2454         https://bugs.webkit.org/show_bug.cgi?id=26943
2455
2456         When one transition finishes slightly before another the longer
2457         one will fire a second time. This is because the second 
2458         ImplicitAnmation object is culled too early, before its final
2459         RenderStyle is in place. This is done by cleanupFinishedAnimations()
2460         so I got rid of that method completely and now cleanup each 
2461         transition or animation at the point where I am setting the final
2462         style, or when I detect that the transition or animation has been
2463         terminated early (which happens when you remove it from the style).
2464
2465         Test: transitions/extra-transition.html
2466
2467         * page/animation/AnimationController.cpp:
2468         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
2469         * page/animation/CompositeAnimation.cpp:
2470         (WebCore::CompositeAnimation::updateTransitions):
2471         (WebCore::CompositeAnimation::updateKeyframeAnimations):
2472         (WebCore::CompositeAnimation::animate):
2473         * page/animation/CompositeAnimation.h:
2474
2475         * page/animation/AnimationBase.cpp:
2476         (WebCore::AnimationBase::getTimeToNextEvent):
2477         Avoid a divide by zero if m_animation->duration() is zero, which can happen
2478         if the duration is changed to zero while the animation is running.
2479
2480 2009-07-05  Lars Knoll  <lars.knoll@nokia.com>
2481
2482         Reviewed by Maciej Stachowiak.
2483
2484         https://bugs.webkit.org/show_bug.cgi?id=26843
2485
2486         Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
2487
2488         The Metrowerks compiler on the Symbian platform moves the globally
2489         defined Hashtables into read-only memory, despite one of the members
2490         being mutable. This causes crashes at run-time due to write access to
2491         read-only memory.
2492
2493         Avoid the use of const with this compiler by introducing the
2494         JSC_CONST_HASHTABLE macro.
2495
2496         Based on idea by Norbert Leser.
2497
2498         * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables
2499         define in the bindings.
2500
2501 2009-07-05  Rob Buis  <rwlbuis@gmail.com>
2502
2503         Reviewed by Maciej Stachowiak.
2504
2505         Bug 26897 - Dynamic SVG images do not display correctly
2506         https://bugs.webkit.org/show_bug.cgi?id=26897
2507
2508         Use repaint() to fix a rendering problem with a SVG image embedded in xhtml.
2509
2510         Test: svg/custom/createImageElement2.xhtml
2511
2512         * rendering/RenderSVGImage.cpp:
2513         (WebCore::RenderSVGImage::imageChanged):
2514
2515 2009-07-05  Xan Lopez  <xlopez@igalia.com>
2516
2517         Reviewed by Jan Alonzo.
2518
2519         https://bugs.webkit.org/show_bug.cgi?id=26960
2520         [Gtk] caret offset not updated when selecting text
2521
2522         Report the caret offset from the end of the selection so it works
2523         correctly for multi-char selections too (ie, anything that is not
2524         the zero width caret).
2525
2526         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2527         (webkit_accessible_text_get_caret_offset):
2528
2529 2009-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>
2530
2531         Unreviewed link fix for Qt.
2532
2533         Fix Qt link error by adding two new localized strings
2534
2535         In r45474 two new strings got added to LocalizedStrings.h add
2536         the definition of them to Qt.
2537
2538         * platform/qt/Localizations.cpp:
2539         (WebCore::mediaElementLoadingStateText):
2540         (WebCore::mediaElementLiveBroadcastStateText):
2541
2542 2009-07-03  Darin Adler  <darin@apple.com>
2543
2544         Reviewed by Adele Peterson.
2545
2546         REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com
2547         https://bugs.webkit.org/show_bug.cgi?id=26959
2548         rdar://problem/7029882
2549
2550         The code to handle iteration boundaries was malfunctioning when the boundary was
2551         at the edge of a shadow tree. This happens all the time with <input> elements.
2552
2553         It's not immediately obvious how to make a regression test for this since the
2554         symptom was a performance problem, not incorrect behavior. I'll add a test if I
2555         figure out a way to make one.
2556
2557         * editing/TextIterator.cpp:
2558         (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent.
2559         (WebCore::depthCrossingShadowBoundaries): Updated for name change.
2560         (WebCore::nextInPreOrderCrossingShadowBoundaries): Added.
2561         (WebCore::previousInPostOrderCrossingShadowBoundaries): Added.
2562         (WebCore::setUpFullyClippedStack): Updated for name change.
2563         (WebCore::TextIterator::TextIterator): Updated for name change. Use
2564         nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug.
2565         (WebCore::TextIterator::advance): Updated for name change.
2566         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
2567         Tweaked formatting.
2568         (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that
2569         initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries.
2570         (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting.
2571         (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
2572
2573 2009-07-03  Simon Fraser  <simon.fraser@apple.com>
2574
2575         Reviewed by Sam Weinig.
2576
2577         Background audio stops playing when JS GC runs
2578         https://bugs.webkit.org/show_bug.cgi?id=26956
2579         
2580         Ensure we keep the Audio object around while it is playing, so that it
2581         doesn't get collected.
2582         
2583         Not testable because there's no way to know whether the audio keeps
2584         playing without holding a reference to it.
2585
2586         * bindings/js/JSDOMBinding.cpp:
2587         (WebCore::isObservableThroughDOM):
2588
2589 2009-07-02  Xan Lopez  <xlopez@igalia.com>
2590
2591         Reviewed by Jan Alonzo.
2592
2593         https://bugs.webkit.org/show_bug.cgi?id=26814
2594         [Gtk] Caret-moved events are not issued for the correct offset
2595         when text is selected forward
2596
2597         Report the caret offset from the end of the selection, otherwise
2598         we'll report the same offset when moving the caret while
2599         modififying the selection (eg, with Shift + Right).
2600
2601         * editing/gtk/SelectionControllerGtk.cpp:
2602         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2603
2604 2009-07-02  Xan Lopez  <xlopez@igalia.com>
2605
2606         Reviewed by Jan Alonzo.
2607
2608         https://bugs.webkit.org/show_bug.cgi?id=26815
2609         [Gtk] text-selection-changed events are not issued for the correct
2610         object when the selection spans multiple objects
2611
2612         Get the focused node from the end of the selection, not the start,
2613         so we can detect when we cross object boundaries.
2614
2615         * editing/gtk/SelectionControllerGtk.cpp:
2616         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2617
2618 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
2619
2620         Reviewed by Simon Fraser.
2621
2622         https://bugs.webkit.org/show_bug.cgi?id=26947
2623
2624         Fix the media controls hit tests. They may lose click events.
2625
2626         Test cases already covered in the video-controls-zoomed tests.
2627
2628         Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough.
2629
2630         * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart.
2631         * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart.
2632
2633 2009-07-02  Roland Steiner  <rolandsteiner@google.com>
2634
2635         Reviewed by Eric Seidel.
2636
2637         RenderBlock and RenderInline have confusingly named object creation methods:
2638         RenderBlock::createRootBox/createRootInlineBox
2639         RenderInline::createFlowBox/createInlineFlowBox
2640         where the 2nd method in both cases just calls the first and then appends the created object.
2641         I therefore renamed those methods to something IMHO more informative:
2642         
2643         createRootBox()         -> createRootInlineBox()
2644         createRootInlineBox()   -> createAndAppendRootInlineBox();
2645         createFlowBox()         -> createInlineFlowBox();
2646         createInlineFlowBox()   -> createAndAppendInlineFlowBox();
2647
2648         https://bugs.webkit.org/show_bug.cgi?id=26828
2649
2650         * rendering/RenderBlock.cpp:
2651         (WebCore::RenderBlock::createRootInlineBox):
2652         (WebCore::RenderBlock::createAndAppendRootInlineBox):
2653         * rendering/RenderBlock.h:
2654         * rendering/RenderInline.cpp:
2655         (WebCore::RenderInline::createInlineFlowBox):
2656         (WebCore::RenderInline::createAndAppendInlineFlowBox):
2657         * rendering/RenderInline.h:
2658         * rendering/RenderSVGInline.cpp:
2659         (WebCore::RenderSVGInline::createInlineFlowBox):
2660         * rendering/RenderSVGInline.h:
2661         * rendering/RenderSVGText.cpp:
2662         (WebCore::RenderSVGText::createRootInlineBox):
2663         * rendering/RenderSVGText.h:
2664         * rendering/bidi.cpp:
2665         (WebCore::createInlineBoxForRenderer):
2666
2667 2009-07-02  Pavel Feldman  <pfeldman@chromium.org>
2668
2669         Reviewed by Timothy Hatcher.
2670
2671         WebInspector: Fix typo in the resource panel enabler caption.
2672
2673         https://bugs.webkit.org/show_bug.cgi?id=26753
2674
2675         * English.lproj/localizedStrings.js:
2676         * inspector/front-end/ResourcesPanel.js:
2677         (WebInspector.ResourcesPanel):
2678
2679 2009-07-02  Erik Arvidsson  <arv@chromium.org>
2680
2681         Reviewed by Adam Roben.
2682
2683         [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
2684         https://bugs.webkit.org/show_bug.cgi?id=26699
2685
2686         * manual-tests/drag-escape.html: Added.
2687         * page/EventHandler.cpp:
2688         (WebCore::EventHandler::dragSourceEndedAt):
2689
2690 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
2691
2692         Reviewed by Simon Fraser. 
2693         
2694         https://bugs.webkit.org/show_bug.cgi?id=26944
2695
2696         Make sure we support full page zoom in video controls.
2697
2698         This is tracked by a the video-controls-zoom test case.
2699
2700         * css/mediaControlsQT.css: Make sure we don't have any inherited margin.
2701         * rendering/MediaControlElements.cpp:
2702         (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext.
2703         * rendering/RenderThemeMac.mm: Adjust the painting rect.
2704         (WebCore::getUnzoomedRectAndAdjustCurrentContext):
2705         (WebCore::RenderThemeMac::paintMediaSliderTrack):
2706         (WebCore::RenderThemeMac::paintMediaCurrentTime):
2707         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
2708
2709 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
2710
2711         Fix the Gtk build after r45474. The localized strings should
2712         have been added there.
2713
2714         * platform/gtk/LocalizedStringsGtk.cpp:
2715         (WebCore::mediaElementLoadingStateText):
2716         (WebCore::mediaElementLiveBroadcastStateText):
2717
2718 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
2719
2720         Reviewed by Simon Fraser.
2721
2722         https://bugs.webkit.org/show_bug.cgi?id=26939
2723
2724         Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html
2725
2726         We fix two things:
2727         - We use px instead of em, because px is used everywhere else
2728         and because 0.09em hit the font size limit.
2729         - We use -webkit-box instead of inline-block because in strict mode
2730         inline-block has a different behavior.
2731
2732         Test: media/controls-strict.html
2733
2734         * css/mediaControlsQT.css:
2735
2736 2009-07-02  David Hyatt  <hyatt@apple.com>
2737
2738         Reviewed by Dan Bernstein.
2739
2740         TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style.
2741         https://bugs.webkit.org/show_bug.cgi?id=26942
2742
2743         * editing/TextIterator.cpp:
2744         (WebCore::fullyClipsContents):
2745
2746 2009-07-02  Sam Weinig  <sam@webkit.org>
2747
2748         Reviewed by Dave Hyatt.
2749
2750         Fix for <rdar://problem/5230700>
2751         Remove local .xhtml file workaround
2752
2753         * platform/network/mac/ResourceResponseMac.mm:
2754         (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary.
2755
2756 2009-07-02  Anders Carlsson  <andersca@apple.com>
2757
2758         Reviewed by Dan Bernstein.
2759
2760         Sort, add functions used by WebKit.
2761         
2762         * WebCore.base.exp:
2763
2764 2009-07-02  Brady Eidson  <beidson@apple.com>
2765
2766         Rubberstamped by Sam Weinig.
2767
2768         More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
2769
2770         * platform/network/mac/WebCoreURLResponse.mm:
2771         (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery.
2772
2773 2009-07-02  Adam Langley  <agl@google.com>
2774
2775         Reviewed by Eric Seidel.
2776
2777         Chromium Linux: fix complex text rendering with line break characters.
2778
2779         https://bugs.webkit.org/show_bug.cgi?id=26935
2780
2781         If the CSS white-space property is inhibiting line breaking, we might
2782         find end-of-line characters rendered via the complex text path. Fonts
2783         don't provide glyphs for these code points so, if we find one, we
2784         simulate the space glyph being interposed in this case.  Because the
2785         input is variable-length per code point, we walk the input in step
2786         with the output.
2787
2788         Covered by:
2789             LayoutTests/fast/text/international/bidi-linebreak-002.html
2790             LayoutTests/fast/text/international/bidi-linebreak-003.html
2791             LayoutTests/fast/text/international/hindi-whitespace.html
2792
2793         * platform/graphics/chromium/HarfbuzzSkia.cpp:
2794         (WebCore::stringToGlyphs):
2795
2796 2009-07-02  Victor Wang  <victorw@chromium.org>
2797
2798         Reviewed by Darin Fisher.
2799
2800         https://bugs.webkit.org/show_bug.cgi?id=26521
2801         Expose file size to chromium.
2802
2803         Implement getFileSize() for Chromium.
2804
2805         * platform/chromium/ChromiumBridge.h:
2806         * platform/chromium/FileSystemChromium.cpp:
2807         (WebCore::getFileSize):
2808
2809 2009-07-02  Nate Chapin  <japhet@chromium.org>
2810
2811         Unreviewed, build fix.
2812
2813         * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list.
2814
2815 2009-07-02  Simon Fraser  <simon.fraser@apple.com>
2816
2817         Build fix: add missing #include.
2818
2819         * platform/mac/ThemeMac.mm:
2820
2821 2009-07-02  Simon Fraser  <simon.fraser@apple.com>
2822
2823         Reviewed by Dave Hyatt.
2824
2825         <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed
2826
2827         Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code
2828         that can possibly throw Objective-C exceptions when drawing Mac form controls.
2829
2830         * platform/mac/ThemeMac.mm:
2831         (WebCore::paintCheckbox):
2832         (WebCore::paintRadio):
2833         (WebCore::paintButton):
2834         (WebCore::ThemeMac::inflateControlPaintRect):
2835
2836 2009-07-02  Nate Chapin  <japhet@chromium.org>
2837
2838         Reviewed by David Levin.
2839
2840         Upstream V8SVGPODTypeWrapper.
2841
2842         https://bugs.webkit.org/show_bug.cgi?id=26907
2843
2844         * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h.
2845         * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org.
2846
2847 2009-07-02  Dumitru Daniliuc  <dumi@chromium.org>
2848
2849         Reviewed by Dimitri Glazkov.
2850
2851         Adds an abstraction layer between the DB classes and the file
2852         system, which allows us to add our own logic for storing, opening,
2853         deleting, etc. databases.
2854
2855         The patch was tested using the tests in WebCore/storage.
2856
2857         https://bugs.webkit.org/show_bug.cgi?id=26054
2858
2859         * GNUmakefile.am:
2860         * WebCore.pro:
2861         * WebCore.vcproj/WebCore.vcproj:
2862         * WebCore.xcodeproj/project.pbxproj:
2863         * platform/sql/SQLiteDatabase.cpp:
2864         (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs.
2865         * platform/sql/SQLiteFileSystem.cpp: Added.
2866         * platform/sql/SQLiteFileSystem.h: Added.
2867         * platform/win/FileSystemWin.cpp:
2868         (WebCore::directoryName): Implemented.
2869         * storage/Database.cpp:
2870         (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem.
2871         * storage/DatabaseTracker.cpp:
2872         (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS.
2873         (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem.
2874         (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem.
2875         (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem.
2876         (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem.
2877         (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem.
2878         (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem.
2879         (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem.
2880         * storage/OriginUsageRecord.cpp:
2881         (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem.
2882
2883 2009-07-02  David Hyatt  <hyatt@apple.com>
2884
2885         Reviewed by Simon Fraser.
2886
2887         Always clip replaced elements to border radii.
2888         https://bugs.webkit.org/show_bug.cgi?id=26933
2889
2890         Make sure to always clip replaced elements to border radii, even when overflow is visible.
2891         Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer
2892         necessary.
2893
2894         Covered by existing tests (since the UA default changing keeps the behavior exactly the same).
2895
2896         * css/html.css:
2897         * rendering/RenderReplaced.cpp:
2898         (WebCore::RenderReplaced::paint):
2899         * rendering/RenderWidget.cpp:
2900         (WebCore::RenderWidget::paint):
2901
2902 2009-07-02  Jeremy Orlow  <jorlow@chromium.org>
2903
2904         Reviewed by Simon Fraser.
2905
2906         convertFromScrollbarToContainingView and friends should be in ScrollView
2907         https://bugs.webkit.org/show_bug.cgi?id=26929
2908
2909         This is breaking Chromium's build because PopupMenuChromium inherits
2910         from ScrollView, but these functions are pure virtual in it.  I could
2911         put it directly in PopupMenuChromium, but that seems a bit silly since
2912         the functions are fairly generic.
2913
2914         Passes existing layout tests.
2915
2916         * page/FrameView.cpp:  Remove the 4 functions Hyatt just added
2917         (IntRect WebCore::FrameView::convertFromScrollbarToContainingView):
2918         (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar):
2919         (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView):
2920         (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar):
2921         * page/FrameView.h: ditto
2922         * platform/ScrollView.cpp:  Move the 4 functions from FrameView here
2923         (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView):
2924         (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar):
2925         (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView):
2926         (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar):
2927         * platform/ScrollView.h: ditto
2928
2929 2009-07-02  Dirk Pranke  <dpranke@chromium.org>
2930
2931         Reviewed by Darin Fisher.
2932
2933         Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin 
2934         doesn't handle errors well at all; revise it to fail silently 
2935         (drawing nothing), and bulletproof FontChromiumWin to handle the
2936         failure accordingly.
2937
2938         Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html
2939                fast/text/text-letter-spacing.html
2940
2941         * platform/graphics/chromium/FontChromiumWin.cpp:
2942         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
2943         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
2944         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
2945         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
2946         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
2947         (WebCore::Font::drawGlyphs):
2948         (WebCore::Font::drawComplexText):
2949         * platform/graphics/chromium/TransparencyWin.cpp:
2950         (WebCore::TransparencyWin::TransparencyWin):
2951         (WebCore::TransparencyWin::setupLayerForNoLayer):
2952         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
2953         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
2954         (WebCore::TransparencyWin::setupTransformForKeepTransform):
2955         (WebCore::TransparencyWin::setupTransformForScaleTransform):
2956         (WebCore::TransparencyWin::initializeNewContext):
2957         (WebCore::TransparencyWin::compositeOpaqueComposite):
2958         (WebCore::TransparencyWin::compositeTextComposite):
2959         (WebCore::TransparencyWin::makeLayerOpaque):
2960         * platform/graphics/chromium/TransparencyWin.h:
2961         (WebCore::TransparencyWin::platformContext):
2962
2963 2009-07-02  Eric Carlson  <eric.carlson@apple.com>
2964
2965         Change #import to #include to fix non-ObjC builds.
2966
2967         * rendering/MediaControlElements.cpp:
2968
2969 2009-07-02  Anders Carlsson  <andersca@apple.com>
2970
2971         Build fix.
2972         
2973         * platform/network/mac/WebCoreURLResponse.mm:
2974         (mimeTypeFromUTITree):
2975
2976 2009-07-02  David Hyatt  <hyatt@apple.com>
2977
2978         Reviewed by Simon Fraser.
2979
2980         Fix for bug 22119, clicks in the scrollbars of transformed content don't work.  Add new
2981         conversion methods for going across parent/child widget boundaries that can be implemented
2982         by the FrameView and ScrollbarClient to be transform-aware.
2983
2984         Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow.
2985
2986         * WebCore.base.exp:
2987         * page/EventHandler.cpp:
2988         (WebCore::EventHandler::handleMouseMoveEvent):
2989         * page/FrameView.cpp:
2990         (WebCore::FrameView::convertFromScrollbarToContainingView):
2991         (WebCore::FrameView::convertFromContainingViewToScrollbar):
2992         (WebCore::FrameView::convertFromRenderer):
2993         (WebCore::FrameView::convertToRenderer):
2994         (WebCore::FrameView::convertToContainingView):
2995         (WebCore::FrameView::convertFromContainingView):
2996         * page/FrameView.h:
2997         * platform/ScrollView.h:
2998         * platform/Scrollbar.cpp:
2999         (WebCore::Scrollbar::convertToContainingView):
3000         (WebCore::Scrollbar::convertFromContainingView):
3001         * platform/Scrollbar.h:
3002         * platform/ScrollbarClient.h:
3003         (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
3004         (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
3005         * platform/Widget.cpp:
3006         (WebCore::Widget::convertFromContainingWindow):
3007         (WebCore::Widget::convertToContainingWindow):
3008         (WebCore::Widget::convertFromRootToContainingWindow):
3009         (WebCore::Widget::convertFromContainingWindowToRoot):
3010         (WebCore::Widget::convertToContainingView):
3011         (WebCore::Widget::convertFromContainingView):
3012         * platform/Widget.h:
3013         * platform/graphics/IntPoint.h:
3014         (WebCore::IntPoint::move):
3015         * platform/mac/WidgetMac.mm:
3016         (WebCore::Widget::convertFromRootToContainingWindow):
3017         (WebCore::Widget::convertFromContainingWindowToRoot):
3018         * rendering/RenderBlock.cpp:
3019         (WebCore::RenderBlock::isPointInOverflowControl):
3020         * rendering/RenderDataGrid.cpp:
3021         (WebCore::RenderDataGrid::convertFromScrollbarToContainingView):
3022         (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar):
3023         * rendering/RenderDataGrid.h:
3024         * rendering/RenderLayer.cpp:
3025         (WebCore::RenderLayer::convertFromScrollbarToContainingView):
3026         (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
3027         (WebCore::RenderLayer::scrollbarOffset):
3028         (WebCore::RenderLayer::hitTestOverflowControls):
3029         * rendering/RenderLayer.h:
3030         * rendering/RenderListBox.cpp:
3031         (WebCore::RenderListBox::isPointInOverflowControl):
3032         (WebCore::RenderListBox::convertFromScrollbarToContainingView):
3033         (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
3034         * rendering/RenderListBox.h:
3035
3036 2009-07-02  Dan Bernstein  <mitz@apple.com>
3037
3038         Reviewed by Dave Hyatt and Simon Fraser.
3039
3040         - fix <rdar://problem/6933052> SPOD playing video in a div with a box
3041           shadow
3042
3043         Test: fast/box-shadow/transform-fringing.html
3044
3045         * rendering/RenderBoxModelObject.cpp:
3046         (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the
3047         box even if it has an opaque background, but in that case, inset the
3048         clip path by 1 pixel, to avoid antialiasing artifacts.
3049         Do not inset the clip rect by 1 pixel if the CTM is purely a
3050         translation.
3051         Move the shadow-casting path away in the non-rounded-rect case (it
3052         was already being done in the rounded-rect case), to avoid a black
3053         fringe when the CTM is not purely a translation.
3054
3055 2009-07-02  Brady Eidson  <beidson@apple.com>
3056
3057         Reviewed by Sam Weinig.
3058
3059         <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
3060
3061         Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found.
3062
3063         For many types of text files (such as source code files) this ends up being text/plain.
3064
3065         * platform/network/mac/ResourceHandleMac.mm:
3066         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output.
3067
3068         * platform/network/mac/WebCoreURLResponse.h:
3069         * platform/network/mac/WebCoreURLResponse.mm:
3070         (mimeTypeFromUTITree): 
3071         (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension.
3072         (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us.
3073
3074 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
3075
3076         Reviewed by Simon Fraser.
3077
3078         <rdar://problem/6518119>
3079
3080         Add a rewind button and hide the timeline for live broadcasts when
3081         in MediaUI mode.
3082
3083         * css/CSSPrimitiveValueMappings.h: 
3084         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element.
3085
3086         * css/CSSSelector.cpp:
3087         (WebCore::CSSSelector::extractPseudoType): Ditto.
3088         * css/CSSSelector.h: 
3089
3090         * css/CSSStyleSelector.cpp:
3091         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
3092
3093         * css/CSSValueKeywords.in: Ditto.
3094         * css/mediaControls.css: Ditto.
3095         * css/mediaControlsQT.css: Ditto.
3096
3097         * html/HTMLMediaElement.cpp:
3098         (WebCore::HTMLMediaElement::rewind): New.
3099         (WebCore::HTMLMediaElement::returnToRealTime): New.
3100         (WebCore::HTMLMediaElement::isStreaming): New.
3101         * html/HTMLMediaElement.h:
3102
3103         * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText.
3104
3105         * platform/LocalizedStrings.h: Add localized media state messages.
3106
3107         * platform/ThemeTypes.h: Add the new pseudo element.
3108
3109         * platform/mac/LocalizedStringsMac.mm: 
3110         (WebCore::mediaElementLoadingStateText): Add localized media state.
3111         (WebCore::mediaElementLiveBroadcastStateText): Ditto.
3112
3113         * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support
3114            multiple states.
3115         * platform/mac/WebCoreSystemInterface.mm: Ditto.
3116
3117         * rendering/MediaControlElements.cpp: 
3118         (WebCore::MediaControlElement::MediaControlElement): Deal with new elements.
3119         (WebCore::MediaControlElement::attachToParent): Ditto.
3120         (WebCore::MediaControlElement::update): Ditto.
3121         (WebCore::MediaControlElement::updateStyle): Ditto.
3122         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
3123         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto.
3124         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
3125         (WebCore::MediaControlStatusDisplayElement::update): Ditto.
3126         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto.
3127         (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto.
3128         (WebCore::MediaControlInputElement::attachToParent): Ditto.
3129         (WebCore::MediaControlInputElement::updateStyle): Ditto.
3130         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
3131         (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
3132         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
3133         (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
3134         (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto.
3135         (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
3136         (WebCore::MediaControlTimelineElement::update): Ditto.
3137         (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto.
3138         * rendering/MediaControlElements.h: Ditto.
3139
3140         * rendering/RenderMedia.cpp: 
3141         (WebCore::RenderMedia::styleDidChange): Deal with the new elements.
3142         (WebCore::RenderMedia::createPanel): Ditto.
3143         (WebCore::RenderMedia::createRewindButton): Ditto.
3144         (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto.
3145         (WebCore::RenderMedia::createStatusDisplay): Ditto.
3146         (WebCore::RenderMedia::createTimelineContainer): Ditto.
3147         (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto.
3148         (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto.
3149         (WebCore::RenderMedia::updateControls): Ditto.
3150         (WebCore::RenderMedia::forwardEvent): Ditto.
3151         * rendering/RenderMedia.h:
3152
3153         * rendering/RenderTheme.cpp:
3154         (WebCore::RenderTheme::paint): Deal with the new elements.
3155
3156         * rendering/RenderTheme.h:
3157         (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements.
3158         (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto.
3159         (WebCore::RenderTheme::paintMediaControlsBackground): Ditto.
3160
3161         * rendering/RenderThemeMac.h:
3162         * rendering/RenderThemeMac.mm:
3163         (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements.
3164         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
3165         (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
3166
3167         * rendering/style/RenderStyleConstants.h: Add constants for the new elements.
3168
3169 2009-07-01  John Abd-El-Malek  <jam@chromium.org>
3170
3171         Reviewed by Darin Fisher.
3172
3173         Small refactoring of MessagePortChannel so that PlatformMessagePortChannel
3174         may be defined at the WebKit layer.
3175
3176         https://bugs.webkit.org/show_bug.cgi?id=26905
3177
3178         * dom/MessageChannel.cpp:
3179         (WebCore::MessageChannel::MessageChannel):
3180         * dom/MessagePortChannel.cpp:
3181         * dom/MessagePortChannel.h:
3182         * dom/default/PlatformMessagePortChannel.cpp:
3183         (WebCore::MessagePortChannel::createChannel):
3184         (WebCore::MessagePortChannel::create):
3185         (WebCore::MessagePortChannel::MessagePortChannel):
3186         (WebCore::MessagePortChannel::~MessagePortChannel):
3187
3188 2009-07-01  Simon Fraser  <simon.fraser@apple.com>
3189
3190         Reviewed by Dan Bernstein.
3191
3192         <video> fails to show on http://camendesign.com/code/video_for_everybody
3193         <rdar://problem/7026010>
3194         https://bugs.webkit.org/show_bug.cgi?id=26919
3195
3196         Fix an issue introduced in r44961. In that revision we changed to only update
3197         compositing layer geometry when all siblings had been laid out (i.e. we pushed
3198         the updates one level down). However, that left out the root layer, so this
3199         fix ensures that the root layer geometry gets updated at the end.
3200
3201         Test: compositing/geometry/root-layer-update.html
3202
3203         * rendering/RenderLayerBacking.cpp:
3204         (WebCore::RenderLayerBacking::updateAfterLayout):
3205
3206 2009-07-01  Simon Fraser  <simon.fraser@apple.com>
3207
3208         Reviewed by Dan Bernstein
3209         
3210         <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody
3211
3212         First part of fix: when outline width changes, don't to a synchronous
3213         layer update right away, but just set the flag to say that compositing
3214         layers need updating. The synchronous layer update left the layer geometries
3215         out of whack when it happened in the middle of layout (e.g. when inside ::first-letter).
3216         
3217         Test: compositing/geometry/outline-change.html
3218
3219         * rendering/RenderView.cpp:
3220         (WebCore::RenderView::setMaximalOutlineSize):
3221
3222 2009-07-01  Kwang Yul Seo  <skyul@company100.net>
3223
3224         Reviewed by Eric Seidel.
3225
3226         https://bugs.webkit.org/show_bug.cgi?id=26842
3227         Build fix when ENABLE_DATABASE is off
3228
3229         Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE
3230         off does not break builds.
3231
3232         * bindings/js/ScriptObjectQuarantine.cpp:
3233
3234 2009-07-01  Daniel Bates  <dbates@intudata.com>
3235
3236         Reviewed by Adam Barth.
3237         
3238         https://bugs.webkit.org/show_bug.cgi?id=26899
3239         
3240         Modified XSSAuditor::decodeURL to only remove null characters so that 
3241         it is consistent with the behavior of HTMLTokenizer and prevents 
3242         injected scripts that contain control characters. 
3243
3244         Tests: http/tests/security/xssAuditor/script-tag-control-char.html
3245                http/tests/security/xssAuditor/script-tag-null-char.html
3246
3247         * page/XSSAuditor.cpp:
3248         (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters. 
3249         * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL
3250         from allowControlCharacters back to allowNullCharacters.
3251         * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003.
3252         (WebCore::isControlCharacter):
3253         * platform/network/ResourceResponseBase.h: Reverted back to rev #45003.  
3254
3255 2009-07-01  Yury Semikhatsky  <yurys@chromium.org>
3256
3257         Reviewed by Timothy Hatcher.
3258
3259         - supported keyboard shortcuts compatible with Firebug in Scripts Debugger:
3260         F5, Ctrl+/ (win,lin), Command+/ (mac) - continue
3261         F10, Ctrl+' (win, lin), Command+' (mac) - step over
3262         F11, Ctrl+; (win, lin), Command+; (mac) - step into
3263         Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out
3264
3265         - added call stack navigation shortcuts:
3266         Ctrl+. - next call frame
3267         Ctrl+, - previouse call frame
3268
3269         https://bugs.webkit.org/show_bug.cgi?id=23849
3270
3271         * inspector/front-end/CallStackSidebarPane.js:
3272         (WebInspector.CallStackSidebarPane):
3273         (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent):
3274         (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack):
3275         (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack):
3276         (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
3277         (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
3278         * inspector/front-end/KeyboardShortcut.js: Added.
3279         (WebInspector.KeyboardShortcut):
3280         (WebInspector.KeyboardShortcut.makeKey):
3281         (WebInspector.KeyboardShortcut.makeKeyFromEvent):
3282         (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_):
3283         * inspector/front-end/ScriptsPanel.js:
3284         (WebInspector.ScriptsPanel):
3285         (WebInspector.ScriptsPanel.prototype.handleKeyEvent):
3286         * inspector/front-end/WebKit.qrc:
3287         * inspector/front-end/inspector.html:
3288
3289 2009-07-01  Daniel Erat  <derat@google.com>
3290
3291         Reviewed by David Levin.
3292
3293         Chromium Linux: Move the scrollbar thumb on middle-click.
3294
3295         https://bugs.webkit.org/show_bug.cgi?id=26910
3296         http://code.google.com/p/chromium/issues/detail?id=11976
3297
3298         Tested by building Chrome and checking that the scrollbar moves as expected.
3299
3300         * platform/chromium/ScrollbarThemeChromium.cpp:
3301         * platform/chromium/ScrollbarThemeChromium.h:
3302         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3303         * platform/chromium/ScrollbarThemeChromiumLinux.h:
3304         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3305         * platform/chromium/ScrollbarThemeChromiumWin.h:
3306
3307 2009-07-01  Brady Eidson  <beidson@apple.com>
3308
3309         Reviewed by Sam Weinig.
3310
3311         Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
3312
3313         * WebCore.base.exp:
3314
3315         * page/Settings.cpp:
3316         (WebCore::Settings::setLocalFileContentSniffingEnabled):
3317         * page/Settings.h:
3318         (WebCore::Settings::localFileContentSniffingEnabled):
3319
3320         * platform/network/mac/ResourceHandleMac.mm:
3321         (WebCore::ResourceHandle::start):
3322         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
3323
3324 2009-07-01  Chris Fleizach  <cfleizach@apple.com>
3325
3326         Reviewed by Oliver Hunt.
3327
3328         Bug 26909: aria-label needs to be supported
3329         https://bugs.webkit.org/show_bug.cgi?id=26909
3330
3331         Test: accessibility/aria-label.html
3332
3333         * accessibility/AccessibilityRenderObject.cpp:
3334         (WebCore::AccessibilityRenderObject::accessibilityDescription):
3335         * html/HTMLAttributeNames.in:
3336
3337 2009-07-01  David Hyatt  <hyatt@apple.com>
3338
3339         Reviewed by Oliver Hunt.
3340
3341         More datagrid columns work.  Make sure columns cache both a style for the column header as well
3342         as a style for the column background (behind the cells).
3343
3344         Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and
3345         unimplemented).
3346
3347         * css/CSSStyleSelector.cpp:
3348         (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn):
3349         (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader):
3350         * css/CSSStyleSelector.h:
3351         * html/DataGridColumn.h:
3352         (WebCore::DataGridColumn::setColumnList):
3353         (WebCore::DataGridColumn::columnStyle):
3354         (WebCore::DataGridColumn::setColumnStyle):
3355         (WebCore::DataGridColumn::headerStyle):
3356         (WebCore::DataGridColumn::setHeaderStyle):
3357         * rendering/RenderDataGrid.cpp:
3358         (WebCore::RenderDataGrid::recalcStyleForColumn):
3359         (WebCore::RenderDataGrid::columnStyle):
3360         (WebCore::RenderDataGrid::headerStyle):
3361         (WebCore::RenderDataGrid::paintColumnHeaders):
3362         * rendering/RenderDataGrid.h:
3363
3364 2009-07-01  Eric Carlson  <eric.carlson@apple.com>
3365
3366         Reviewed by Oliver Hunt.
3367         
3368         <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change 
3369         back to Play button
3370
3371         Grab onto the current time when QTKit "ended" notification fires and use it as 
3372         duration from that point on as QuickTime sometimes refuses to play all the way to
3373         the time it reports for duration and buffered. HTMLMediaElement assumes that there
3374         more to play in this situation and tries to restart playback, endlessly.
3375
3376         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3377             Rename m_duration to m_reportedDuration. Declare m_cachedDuration.
3378         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3379         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3380             Rename m_duration to m_reportedDuration. Initialize m_cachedDuration.
3381         (WebCore::MediaPlayerPrivate::duration):
3382             Return m_cachedDuration once it has been set.
3383         (WebCore::MediaPlayerPrivate::updateStates):
3384             Rename m_duration to m_reportedDuration.
3385         (WebCore::MediaPlayerPrivate::didEnd):
3386             Set m_cachedDuration to currentTime().
3387
3388 2009-07-01  Chris Fleizach  <cfleizach@apple.com>
3389
3390         Reviewed by Beth Dakin.
3391
3392         Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
3393         https://bugs.webkit.org/show_bug.cgi?id=26900
3394
3395         Editable web areas should have a clickpoint that uses where the selection is.
3396
3397         Test: accessibility/editable-webarea-context-menu-point.html
3398
3399         * accessibility/AccessibilityObject.h:
3400         * accessibility/AccessibilityRenderObject.cpp:
3401         (WebCore::AccessibilityRenderObject::clickPoint):
3402         * accessibility/AccessibilityRenderObject.h:
3403         * accessibility/mac/AccessibilityObjectWrapper.mm:
3404         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3405
3406 2009-07-01  David Levin  <levin@chromium.org>
3407
3408         Reviewed by Eric Seidel.
3409
3410         Remove unused code in SVGTransformList and SVGTransformDistance
3411         <https://bugs.webkit.org/show_bug.cgi?id=26891>
3412
3413         * svg/SVGTransformDistance.cpp:
3414         (WebCore::SVGTransformDistance::SVGTransformDistance):
3415         * svg/SVGTransformList.cpp:
3416         * svg/SVGTransformList.h:
3417
3418 2009-07-01  David Hyatt  <hyatt@apple.com>
3419
3420         Reviewed by Anders Carlsson.
3421
3422         Begin stubbing out functions for layout, painting and style/geometry caching on columns.  Not enough
3423         is implemented for this to do much of anything yet, but it should help keep patch sizes down. :)
3424
3425         * html/DataGridColumn.cpp:
3426         (WebCore::DataGridColumn::columnChanged):
3427         * html/DataGridColumn.h:
3428         (WebCore::DataGridColumn::setId):
3429         (WebCore::DataGridColumn::setLabel):
3430         (WebCore::DataGridColumn::setType):
3431         (WebCore::DataGridColumn::setSortable):
3432         (WebCore::DataGridColumn::setSortDirection):
3433         (WebCore::DataGridColumn::setColumnList):
3434         (WebCore::DataGridColumn::style):
3435         (WebCore::DataGridColumn::setStyle):
3436         (WebCore::DataGridColumn::rect):
3437         (WebCore::DataGridColumn::setRect):
3438         * html/DataGridColumnList.cpp:
3439         (WebCore::DataGridColumnList::DataGridColumnList):
3440         (WebCore::DataGridColumnList::setDataGridNeedsLayout):
3441         (WebCore::DataGridColumnList::add):
3442         (WebCore::DataGridColumnList::remove):
3443         (WebCore::DataGridColumnList::move):
3444         (WebCore::DataGridColumnList::clear):
3445         (WebCore::DataGridColumnList::primaryColumnChanged):
3446         * html/DataGridColumnList.h:
3447         (WebCore::DataGridColumnList::create):
3448         (WebCore::DataGridColumnList::dataGrid):
3449         (WebCore::DataGridColumnList::clearDataGrid):
3450         * html/HTMLDataGridColElement.cpp:
3451         (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
3452         (WebCore::HTMLDataGridColElement::findDataGridAncestor):
3453         (WebCore::HTMLDataGridColElement::insertedIntoTree):
3454         (WebCore::HTMLDataGridColElement::removedFromTree):
3455         * html/HTMLDataGridColElement.h:
3456         (WebCore::HTMLDataGridColElement::dataGrid):
3457         * html/HTMLDataGridElement.cpp:
3458         (WebCore::HTMLDataGridElement::HTMLDataGridElement):
3459         (WebCore::HTMLDataGridElement::~HTMLDataGridElement):
3460         * rendering/RenderDataGrid.cpp:
3461         (WebCore::RenderDataGrid::styleDidChange):
3462         (WebCore::RenderDataGrid::recalcStyleForColumns):
3463         (WebCore::RenderDataGrid::recalcStyleForColumn):
3464         (WebCore::RenderDataGrid::styleForColumn):
3465         (WebCore::RenderDataGrid::layout):
3466         (WebCore::RenderDataGrid::layoutColumns):
3467         (WebCore::RenderDataGrid::paintColumnHeaders):
3468         (WebCore::RenderDataGrid::paintColumnHeader):
3469         * rendering/RenderDataGrid.h:
3470         (WebCore::RenderDataGrid::renderName):
3471         (WebCore::RenderDataGrid::canHaveChildren):
3472
3473 2009-07-01  Daniel Bates  <dbates@intudata.com>
3474
3475         Reviewed by Adam Barth.
3476
3477         https://bugs.webkit.org/show_bug.cgi?id=26807
3478         
3479         Fixes this address by checking whether frame->document()->decoder() is null. 
3480
3481         * page/XSSAuditor.cpp:
3482         (WebCore::XSSAuditor::findInRequest):
3483
3484 2009-07-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3485
3486         Reviewed by George Staikos.
3487
3488         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885
3489
3490         Correctly reset history length to '0', not '1'. Old relict from early WML days.
3491         Add some new WML testcases covering the use of history length (by onenterforward event handling)
3492
3493         Tests: wml/onenterforward-event.html
3494                wml/onenterforward-inline-event.html
3495                wml/ontimer-event.html
3496  
3497         * wml/WMLPageState.cpp:
3498         (WebCore::WMLPageState::reset):
3499
3500 2009-07-01  David Hyatt  <hyatt@apple.com>
3501
3502         Reviewed by Simon Fraser.
3503
3504         Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object.
3505
3506         Added new test in fast/dom/HTMLDataGridElement.
3507
3508         * html/HTMLDataGridColElement.cpp:
3509         (WebCore::HTMLDataGridColElement::parseMappedAttribute):
3510         * html/HTMLDataGridColElement.h:
3511
3512 2009-07-01  David Hyatt  <hyatt@apple.com>
3513
3514         Reviewed by Tim Hatcher.
3515
3516         <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
3517         even though the field is not actually focused for keyboard input
3518         
3519         Add the concept of whether or not the Page is focused by adding a boolean to the focusController.  This allows the
3520         focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't
3521         actually happen to have focus at that time.
3522
3523         * WebCore.base.exp:
3524         * page/FocusController.cpp:
3525         (WebCore::FocusController::FocusController):
3526         (WebCore::FocusController::setFocusedFrame):
3527         (WebCore::FocusController::setFocused):
3528         (WebCore::FocusController::setActive):
3529         * page/FocusController.h:
3530         (WebCore::FocusController::isFocused):
3531
3532 2009-07-01  Jakub Wieczorek  <faw217@gmail.com>
3533
3534         Reviewed by Simon Hausmann.
3535
3536         [Qt] Move some API headers from WebCore.pro to headers.pri so that they
3537         get installed when running make install from the build directory.
3538
3539         * WebCore.pro:
3540
3541 2009-07-01  Simon Hausmann  <simon.hausmann@nokia.com>
3542
3543         Rubber-stamped by Ariya Hidayat.
3544
3545         Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the
3546         qrc file with new png files from the web inspector.
3547
3548         * inspector/front-end/WebKit.qrc:
3549
3550 2009-06-30  Mark Rowe  <mrowe@apple.com>
3551
3552         Land some code that has a hope of compiling.
3553
3554         * platform/graphics/cg/ImageSourceCG.cpp:
3555         (WebCore::imageSourceOptions):
3556
3557 2009-06-30  Stephanie Lewis  <slewis@apple.com>
3558
3559         Reviewed by Simon Fraser.
3560
3561         Flip back on block caching. Throwing away block data, while 
3562         a perceived memory win, is a performance hit in cases where we 
3563         are repainting large images (i.e. backgrounds) frequently 
3564         (i.e. a flash video playing on top).  
3565         <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are 
3566         decoded on drawing, slowing down painting of sites that frequently 
3567         repaint e.g. because of Flash (pandora.com, Starcraft 2)
3568
3569         * platform/graphics/cg/ImageSourceCG.cpp:
3570         (WebCore::imageSourceOptions):
3571
3572 2009-06-30  Maciej Stachowiak  <mjs@apple.com>
3573
3574         Reviewed by Sam Weinig.
3575
3576         - Rename html4.css to html.css, since we target HTML5 now
3577         https://bugs.webkit.org/show_bug.cgi?id=26873
3578
3579         * DerivedSources.make:
3580         * GNUmakefile.am:
3581         * WebCore.pro:
3582         * WebCore.vcproj/WebCore.vcproj:
3583         * WebCore.xcodeproj/project.pbxproj:
3584         * css/CSSStyleSele