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