2011-02-03 Jeremy Orlow <jorlow@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-02-03  Jeremy Orlow  <jorlow@chromium.org>
2
3         Reviewed by Nate Chapin.
4
5         SerializedScriptValue should not require v8 to create undefined and null values
6         https://bugs.webkit.org/show_bug.cgi?id=53730
7
8         Instead of creating a v8 type and passing that into the constructor, just use
9         the writer class directly. While I was at it, I cleaned up the code a bit too
10         by getting rid of the WireData/StringValue enum as I found that personally
11         confusing.
12
13         This is necessary because these methods are called by IndexedDB in the browser
14         process where v8 is not spun up.
15
16         No functionality changed and not possible to test.
17
18         * bindings/v8/SerializedScriptValue.cpp:
19         (WebCore::SerializedScriptValue::createFromWire):
20         (WebCore::SerializedScriptValue::create):
21         (WebCore::SerializedScriptValue::nullValue):
22         (WebCore::SerializedScriptValue::undefinedValue):
23         (WebCore::SerializedScriptValue::release):
24         (WebCore::SerializedScriptValue::SerializedScriptValue):
25         * bindings/v8/SerializedScriptValue.h:
26
27 2011-02-03  Beth Dakin  <bdakin@apple.com>
28
29         Reviewed by Sam Weinig.
30
31         Fix for <rdar://problem/8944544> Ability to animate track
32         for WKPainter scrollers
33
34         Two new WebKitSystemInterface functions.
35         * WebCore.exp.in:
36         * platform/mac/WebCoreSystemInterface.h:
37         * platform/mac/WebCoreSystemInterface.mm:
38
39         Use Scrollbar::convertFromContainingView() to return the right point.
40         * platform/mac/ScrollAnimatorMac.mm:
41         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
42         
43         ScrollKnobAnimation is now ScrollbarPartAnimation. It can
44         now be used to animate the knob or the track.
45         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
46         (-[ScrollbarPartAnimation setCurrentProgress:]):
47         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
48         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
49         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
50
51         Scrollbars need invalodating after the overlay state changes. 
52         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
53
54 2011-02-03  Sam Weinig  <sam@webkit.org>
55
56         Reviewed by Beth Dakin.
57
58         Scroll thumb jumps to top when resizing horizontally.
59
60         * platform/ScrollView.cpp:
61         (WebCore::ScrollView::updateScrollbars): Add call to update
62         the scrollbar's offset in the case where we may have created
63         a new scrollbar but have not changed the current position.
64
65 2011-02-03  Justin Schuh  <jschuh@chromium.org>
66
67         Reviewed by Dirk Schulze.
68
69         startAnimations should use a local, RefCounted Vector.
70         https://bugs.webkit.org/show_bug.cgi?id=53458
71
72         Test: svg/custom/use-animation-in-fill.html
73
74         * svg/SVGDocumentExtensions.cpp:
75         (WebCore::SVGDocumentExtensions::startAnimations):
76
77 2011-02-03  Adam Barth  <abarth@webkit.org>
78
79         Reviewed by Daniel Bates.
80
81         XSSFilter shouldn't bother to analyze pages without "injection"
82         characters in the request
83         https://bugs.webkit.org/show_bug.cgi?id=53664
84
85         If the request lacks these "injection" characters, then it's unlikely
86         that there's a reflective XSS attack happening.  This hueristic lets us
87         avoid analyzing the vast majority of responses for XSS.  Of course, the
88         hueristic isn't perfect.  Because of this huerstic, we miss out on
89         injections into unquoted attributes.  However, it's a trade-off that's
90         worked well in the XSSAuditor.
91
92         * html/parser/XSSFilter.cpp:
93         (WebCore::HTMLNames::isRequiredForInjection):
94         (WebCore::XSSFilter::XSSFilter):
95         (WebCore::XSSFilter::init):
96         (WebCore::XSSFilter::filterToken):
97         (WebCore::XSSFilter::isContainedInRequest):
98         * html/parser/XSSFilter.h:
99
100 2011-02-03  Vangelis Kokkevis  <vangelis@chromium.org>
101
102         Reviewed by Kenneth Russell.
103
104         [chromium] Fixing a compositor crash occurring on layers
105         without an associated RenderSurface.
106         https://bugs.webkit.org/show_bug.cgi?id=53679
107         Regression was introduced by in r77425 
108
109         Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
110         anymore.
111
112         * platform/graphics/chromium/LayerRendererChromium.cpp:
113         (WebCore::LayerRendererChromium::drawLayer):
114
115 2011-02-03  Dan Bernstein  <mitz@apple.com>
116
117         Reviewed by Anders Carlsson.
118
119         <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
120         https://bugs.webkit.org/show_bug.cgi?id=53709
121
122         Covered by rendering of fast/text/emphasis-vertical.html
123
124         * platform/graphics/mac/SimpleFontDataMac.mm:
125         (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
126         has.
127
128 2011-02-02  Levi Weintraub  <leviw@chromium.org>
129
130         Reviewed by Ryosuke Niwa.
131
132         Moving cursor down in table cycles at the end of a row
133         https://bugs.webkit.org/show_bug.cgi?id=50012
134
135         Avoids a caret cycling issue with certain content (e.g. tables) found at the very
136         end of a document due to a bug in nextLeafWithSameEditability.
137
138         Test: editing/selection/move-by-line-cycles-in-table.html
139
140         * editing/visible_units.cpp:
141         (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
142         original leaf node.
143
144 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
145
146         Reviewed by Pavel Feldman.
147
148         Web Inspector: remove dead code related to changes panel.
149         https://bugs.webkit.org/show_bug.cgi?id=53688
150
151         * WebCore.gypi:
152         * WebCore.vcproj/WebCore.vcproj:
153         * inspector/front-end/ChangesView.js: Removed.
154         * inspector/front-end/WebKit.qrc:
155         * inspector/front-end/inspector.css:
156         (#error-warning-count):
157         (#error-warning-count:hover):
158         (#error-count + #warning-count):
159         * inspector/front-end/inspector.html:
160         * inspector/front-end/inspector.js:
161
162 2011-02-02  Sam Weinig  <sam@webkit.org>
163
164         Reviewed by Anders Carlsson.
165
166         Add notification of the end of a rubber band.
167         <rdar://problem/8940648>
168
169         * WebCore.exp.in:
170         Add additional exprots.
171
172         * page/ChromeClient.h:
173         (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
174         * page/FrameView.cpp:
175         (WebCore::FrameView::didCompleteRubberBand):
176         * page/FrameView.h:
177         * platform/ScrollView.cpp:
178         (WebCore::ScrollView::didCompleteRubberBand):
179         * platform/ScrollView.h:
180         Add hook.
181
182         * platform/ScrollableArea.h:
183         (WebCore::ScrollableArea::inLiveResize):
184         (WebCore::ScrollableArea::maximumScrollPosition):
185         (WebCore::ScrollableArea::visibleWidth):
186         (WebCore::ScrollableArea::overhangAmount):
187         (WebCore::ScrollableArea::didCompleteRubberBand):
188         Reorganize and de-virtualize live resize notifications.
189
190         * platform/mac/ScrollAnimatorMac.mm:
191         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
192         Call the new hook when the rubberband ends.
193
194 2011-02-02  Evan Martin  <evan@chromium.org>
195
196         Reviewed by Tony Chang.
197
198         [chromium] complex joining characters positioned in wrong place
199         https://bugs.webkit.org/show_bug.cgi?id=53637
200
201         Provide the correct font metrics to Harfbuzz related to the font design space.
202         There are used in some fonts for GPOS positioning.
203
204         Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
205
206         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
207         (WebCore::ComplexTextController::setupFontForScriptRun):
208         (WebCore::ComplexTextController::allocHarfbuzzFont):
209         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
210         (WebCore::FontPlatformData::FontPlatformData):
211         (WebCore::FontPlatformData::emSizeInFontUnits):
212         (WebCore::FontPlatformData::operator=):
213         * platform/graphics/chromium/FontPlatformDataLinux.h:
214         (WebCore::FontPlatformData::FontPlatformData):
215
216 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
217
218         Reviewed by Kent Tamura.
219
220         REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
221         https://bugs.webkit.org/show_bug.cgi?id=53634
222
223         Test: fast/dom/HTMLInputElement/input-slider-update.html
224
225         * html/HTMLInputElement.cpp:
226         (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
227         * html/InputType.cpp:
228         (WebCore::InputType::valueChanged): Added empty implementation.
229         * html/InputType.h: Added def.
230         * html/RangeInputType.cpp:
231         (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
232             bit on the thumb.
233         * html/RangeInputType.h: Added def.
234
235 2011-02-02  Pavel Podivilov  <podivilov@chromium.org>
236
237         Reviewed by Pavel Feldman.
238
239         Web Inspector: do not share source frames between resources panel and scripts panel.
240         https://bugs.webkit.org/show_bug.cgi?id=53584
241
242         Currently, we show error messages only for resources. This change will allow showing error
243         messages in source frame even when resource is not available (eval scripts, inlined scripts).
244
245         * inspector/front-end/ConsoleView.js:
246         (WebInspector.ConsoleView.prototype.addMessage):
247         (WebInspector.ConsoleView.prototype.clearMessages):
248         * inspector/front-end/ResourceView.js:
249         (WebInspector.ResourceView.recreateResourceView):
250         * inspector/front-end/ResourcesPanel.js:
251         (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
252         * inspector/front-end/ScriptsPanel.js:
253         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
254         (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
255         (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
256         (WebInspector.ScriptsPanel.prototype.reset):
257         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
258         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
259         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
260
261 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
262
263         Fix 32-bit builds.
264
265         * platform/graphics/ShadowBlur.cpp:
266         (WebCore::ShadowBlur::blurLayerImage):
267
268 2011-02-03  Mikhail Naganov  <mnaganov@chromium.org>
269
270         Reviewed by Pavel Feldman.
271
272         Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
273         https://bugs.webkit.org/show_bug.cgi?id=53592
274
275         In JSC there is no limit, thus 'undefined' value is returned.
276         For V8, the limit reported by the VM is returned.
277
278         * Android.jscbindings.mk:
279         * CMakeLists.txt:
280         * GNUmakefile.am:
281         * WebCore.gypi:
282         * WebCore.pro:
283         * WebCore.vcproj/WebCore.vcproj:
284         * WebCore.xcodeproj/project.pbxproj:
285         * bindings/js/JSBindingsAllInOne.cpp:
286         * bindings/js/JSMemoryInfoCustom.cpp: Added.
287         * bindings/js/ScriptGCEvent.cpp:
288         (WebCore::ScriptGCEvent::getHeapSize):
289         * bindings/js/ScriptGCEvent.h:
290         * bindings/v8/ScriptGCEvent.cpp:
291         (WebCore::ScriptGCEvent::getHeapSize):
292         * bindings/v8/ScriptGCEvent.h:
293         * inspector/InspectorTimelineAgent.cpp:
294         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
295         * page/MemoryInfo.cpp:
296         (WebCore::MemoryInfo::MemoryInfo):
297         * page/MemoryInfo.h:
298         (WebCore::MemoryInfo::jsHeapSizeLimit):
299         * page/MemoryInfo.idl:
300
301 2011-01-27  Philippe Normand  <pnormand@igalia.com>
302
303         Reviewed by Martin Robinson.
304
305         [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
306         https://bugs.webkit.org/show_bug.cgi?id=53125
307
308         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
309         (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
310
311 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
312
313         Reviewed by Sam Weinig.
314
315         ShadowBlur radius for CSS shadows is slightly too big
316         https://bugs.webkit.org/show_bug.cgi?id=53660
317         
318         If we follow SVG gaussian blur for CSS shadows, we can end up rendering
319         shadows that extend further than the CSS "blur radius", which results
320         in the shadows being truncated.
321         
322         Fix with a small fudge factor to reduce the kernel diameter slightly
323         for CSS shadows.
324         
325         Also more closely follow the algorithm described in the SVG spec
326         for computing the kernel size for different diameters, and clean up
327         some variable naming relating to the shadow bounds.
328
329         * platform/graphics/ShadowBlur.cpp:
330         (WebCore::ShadowBlur::blurLayerImage):
331         (WebCore::ShadowBlur::drawRectShadowWithTiling):
332
333 2011-02-01  Pavel Podivilov  <podivilov@chromium.org>
334
335         Reviewed by Pavel Feldman.
336
337         Web Inspector: introduce new api for managing JavaScript breakpoints.
338         https://bugs.webkit.org/show_bug.cgi?id=53235
339
340         Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
341         removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
342         Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
343
344         SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
345         JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
346
347         * bindings/js/ScriptDebugServer.cpp:
348         (WebCore::ScriptDebugServer::setBreakpoint):
349         (WebCore::ScriptDebugServer::removeBreakpoint):
350         * bindings/js/ScriptDebugServer.h:
351         * bindings/v8/DebuggerScript.js:
352         ():
353         * bindings/v8/ScriptDebugServer.cpp:
354         (WebCore::ScriptDebugServer::setBreakpoint):
355         * bindings/v8/ScriptDebugServer.h:
356         * inspector/Inspector.idl:
357         * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
358         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
359         (WebCore::InspectorAgent::populateScriptObjects):
360         (WebCore::InspectorAgent::restoreDebugger):
361         (WebCore::InspectorAgent::showAndEnableDebugger):
362         (WebCore::InspectorAgent::enableDebugger):
363         * inspector/InspectorAgent.h:
364         * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
365         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
366         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
367         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
368         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
369         (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
370         (WebCore::InspectorDebuggerAgent::continueToLocation):
371         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
372         (WebCore::InspectorDebuggerAgent::getScriptSource):
373         (WebCore::InspectorDebuggerAgent::didParseSource):
374         (WebCore::InspectorDebuggerAgent::didPause):
375         * inspector/InspectorDebuggerAgent.h:
376         (WebCore::InspectorDebuggerAgent::Script::Script):
377         * inspector/InspectorValues.cpp:
378         (WebCore::InspectorValue::asNumber):
379         (WebCore::InspectorBasicValue::asNumber):
380         (WebCore::InspectorObject::remove):
381         * inspector/InspectorValues.h:
382         (WebCore::InspectorObject::getNumber):
383         (WebCore::InspectorObject::find):
384         * inspector/ScriptBreakpoint.h:
385         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
386         * inspector/front-end/Breakpoint.js:
387         (WebInspector.Breakpoint):
388         (WebInspector.Breakpoint.prototype.addLocation):
389         * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
390         (WebInspector.BreakpointManager):
391         (WebInspector.BreakpointManager.prototype._projectChanged):
392         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
393         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
394         * inspector/front-end/BreakpointsSidebarPane.js:
395         (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
396         * inspector/front-end/DebuggerModel.js:
397         (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
398         * inspector/front-end/Script.js:
399         (WebInspector.Script.prototype.sourceLine):
400         * inspector/front-end/ScriptsPanel.js:
401         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
402         * inspector/front-end/Settings.js:
403         (WebInspector.Settings):
404         * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
405         * inspector/front-end/inspector.js:
406
407 2011-02-03  Nikolas Zimmermann  <nzimmermann@rim.com>
408
409         Reviewed by Dirk Schulze.
410
411         small text which is scaled to be large renders pixelated
412         https://bugs.webkit.org/show_bug.cgi?id=12448
413
414         SVG <text> with font-size smaller or equal to 1 does not paint correctly
415         https://bugs.webkit.org/show_bug.cgi?id=14242
416
417         misplaced text in SVG
418         https://bugs.webkit.org/show_bug.cgi?id=17053
419
420         Don't render very small (but zoomed) text inside SVG
421         https://bugs.webkit.org/show_bug.cgi?id=19393
422
423         Tiny fonts scaled up end up too large in Safari
424         https://bugs.webkit.org/show_bug.cgi?id=20192
425
426         Stretched SVG Text has awful glyph spacing 
427         https://bugs.webkit.org/show_bug.cgi?id=21774
428
429         REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
430         https://bugs.webkit.org/show_bug.cgi?id=49846
431
432         [Gtk] Text height in zoomed SVG is 1px too high
433         https://bugs.webkit.org/show_bug.cgi?id=50313
434
435         SVG text smaller than 0.5px not displayed properly
436         https://bugs.webkit.org/show_bug.cgi?id=50528
437
438         When rendering text, we're selecting a font with a size, as specified in the markup.
439         This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
440         element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
441         problem becomes apparent.
442
443         Consider following two snippets, which should render exactly the same:
444         <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
445         <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
446
447         When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
448         which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
449         Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
450
451         To fix this in a cross-platform fashion, we now always compute the final font size on screen,
452         remove any scaling from the context, draw the text using the scaled font size, then reapply
453         the context scale. This makes the example snippets above render exactly the same and fixes
454         numerous of bugs, present since years. As we're now heavily using floating-point font sizes
455         internally, depending on the scale of the document, it's very important to use the new
456         floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
457
458         Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
459                               svg/hixie/text/003.html (no more pixelation)
460                               svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
461                               svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
462                               svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
463
464         Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
465                svg/text/font-size-below-point-five.svg (reduction from bug 50528)
466                svg/text/scaled-font.svg (reduction from bug 12448)
467                svg/text/small-fonts-2.svg (reduction from bug 14242)
468                svg/text/small-fonts-3.svg (reduction from bug 17053)
469                svg/text/small-fonts-in-html5.html (reduction from bug 19393)
470                svg/text/small-fonts.svg (reduction from bug 20192))
471
472         * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
473         * rendering/svg/RenderSVGInlineText.h:
474         * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
475         * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
476         * rendering/svg/SVGInlineTextBox.h:
477         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
478         * rendering/svg/SVGTextMetrics.cpp: Ditto.
479         * rendering/svg/SVGTextMetrics.h: Ditto.
480         * rendering/svg/SVGTextQuery.cpp: Ditto.
481         * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
482         * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
483         * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
484         * svg/SVGTextPositioningElement.h: 
485
486 2011-02-03  Pavel Feldman  <pfeldman@chromium.org>
487
488         Reviewed by Yury Semikhatsky.
489
490         Web Inspector: resources panel doesn't show frames after reload.
491         https://bugs.webkit.org/show_bug.cgi?id=53430
492
493         * inspector/front-end/ResourcesPanel.js:
494         (WebInspector.ResourcesPanel.prototype.show):
495         (WebInspector.ResourcesPanel.prototype.loadEventFired):
496         (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
497         (WebInspector.ResourcesPanel.prototype.reset):
498         (WebInspector.ResourcesPanel.prototype.clear):
499         * inspector/front-end/inspector.js:
500         (WebInspector.loadEventFired):
501
502 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
503
504         Reviewed by Pavel Feldman.
505
506         Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
507         https://bugs.webkit.org/show_bug.cgi?id=53492
508
509         * inspector/Inspector.idl:
510         * inspector/InspectorCSSAgent.cpp:
511         (WebCore::InspectorCSSAgent::getStylesForNode):
512         (WebCore::InspectorCSSAgent::getInlineStyleForNode):
513         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
514         (WebCore::InspectorCSSAgent::getAllStyles):
515         (WebCore::InspectorCSSAgent::getStyleSheet):
516         (WebCore::InspectorCSSAgent::getStyleSheetText):
517         (WebCore::InspectorCSSAgent::setStyleSheetText):
518         (WebCore::InspectorCSSAgent::setPropertyText):
519         (WebCore::InspectorCSSAgent::toggleProperty):
520         (WebCore::InspectorCSSAgent::setRuleSelector):
521         (WebCore::InspectorCSSAgent::addRule):
522         * inspector/InspectorCSSAgent.h:
523         * inspector/front-end/AuditRules.js:
524         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
525         * inspector/front-end/CSSStyleModel.js:
526         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
527         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
528         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
529         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
530         (WebInspector.CSSStyleModel.prototype.addRule):
531         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
532         (WebInspector.CSSStyleModel.prototype._onRevert):
533         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
534         (WebInspector.CSSProperty.prototype.setText):
535         (WebInspector.CSSProperty.prototype.setDisabled):
536         (WebInspector.CSSStyleSheet.createForId):
537         (WebInspector.CSSStyleSheet.prototype.setText):
538
539 2011-02-03  Adam Barth  <abarth@webkit.org>
540
541         Reviewed by Daniel Bates.
542
543         Teach XSSFilter about data URLs
544         https://bugs.webkit.org/show_bug.cgi?id=53662
545
546         The XSS filter doesn't really make sense for data URLs because
547         everything in a "response" from a data URL was part of the request.
548
549         Test: http/tests/security/xssAuditor/data-urls-work.html
550
551         * html/parser/XSSFilter.cpp:
552         (WebCore::XSSFilter::init):
553         (WebCore::XSSFilter::filterToken):
554
555 2011-02-02  Chris Evans  <cevans@chromium.org>
556
557         Reviewed by Darin Fisher.
558
559         window.find() can fail when switching case sensitivity
560         https://bugs.webkit.org/show_bug.cgi?id=53654
561
562         Reset the pattern to a safe one when done, to avoid usearch_reset()
563         indirectly touching the old, stale text pointer.
564
565         Test: fast/text/find-window.html
566
567         * editing/TextIterator.cpp:
568         (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
569
570 2011-02-02  Adam Barth  <abarth@webkit.org>
571
572         Reviewed by Daniel Bates.
573
574         Teach XSSFilter that <param> elements can contain URLs
575         https://bugs.webkit.org/show_bug.cgi?id=53652
576
577         When loading plugins for the <object> tag, we're "smart" enough to
578         reach into the <param> elements and pull out the URL in some cases.
579         This patch teaches the XSSFilter how to block injections into those
580         sorts of param elements.
581
582         Fixes:
583             http/tests/security/xssAuditor/object-*
584
585         * html/HTMLParamElement.cpp:
586         (WebCore::HTMLParamElement::isURLParameter):
587         (WebCore::HTMLParamElement::isURLAttribute):
588         (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
589         * html/HTMLParamElement.h:
590             - Add a helper function so that HTMLParamElement can share the
591               ground truth for these names with the XSSFilter.
592         * html/parser/XSSFilter.cpp:
593         (WebCore::XSSFilter::filterTokenInitial):
594         (WebCore::XSSFilter::filterParamToken):
595         * html/parser/XSSFilter.h:
596
597 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
598
599         Reviewed by David Levin.
600
601         GCC compiler on ARM issues bogus warnings and fails to compile.
602         https://bugs.webkit.org/show_bug.cgi?id=53620
603
604         Despite warnings explicitly being disallowed (-Wno-uninitialized),
605         gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
606
607         "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
608
609         The fix is to add an extra condition, which somehow pacifies the compiler.
610
611         * css/CSSPrimitiveValue.cpp:
612         (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
613
614 2011-02-02  Adam Barth  <abarth@webkit.org>
615
616         Reviewed by Daniel Bates.
617
618         Teach XSSFilter about X-XSS-Protection
619         https://bugs.webkit.org/show_bug.cgi?id=53640
620
621         This patch causes us to pass:
622             http/tests/security/xssAuditor/full-block-*
623             http/tests/security/xssAuditor/no-protection-script-tag.html
624
625         * html/parser/XSSFilter.cpp:
626         (WebCore::XSSFilter::XSSFilter):
627         (WebCore::XSSFilter::init):
628         (WebCore::XSSFilter::filterToken):
629         * html/parser/XSSFilter.h:
630
631 2011-02-02  Adam Barth  <abarth@webkit.org>
632
633         Reviewed by Daniel Bates.
634
635         When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
636         instead of the empty string
637         https://bugs.webkit.org/show_bug.cgi?id=53643
638
639         In a URL context, the empty string completes to the URL of the current
640         page, which causes these tests to go into an infinite loop.  Instead,
641         we should use a "safe" JavaScript URL that does nothing.
642
643         Fixes:
644             http/tests/security/xssAuditor/javascript-link*
645
646         * html/parser/XSSFilter.cpp:
647         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
648
649 2011-02-02  Dan Bernstein  <mitz@apple.com>
650
651         Reviewed by Sam Weinig.
652
653         <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
654         https://bugs.webkit.org/show_bug.cgi?id=44942
655
656         Test: fast/text/bidi-embedding-pop-and-push-same-2.html
657
658         * platform/text/BidiResolver.h:
659         (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
660         a change to embedding levels.
661         (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
662         the explicit embedding sequence, then runs were not added, and we should continue normally.
663
664 2011-02-02  Sam Weinig  <sam@webkit.org>
665
666         Reviewed by Dan Bernstein.
667
668         Fix miscalculation of the overhang area used for painting. We were
669         not correctly accounting for scrollbars resulting in an non-negative
670         overhang even when we weren't over the edge.
671
672         * platform/ScrollView.cpp:
673         (WebCore::ScrollView::calculateOverhangAreasForPainting):
674
675 2011-02-02  Jeremy Orlow  <jorlow@chromium.org>
676
677         Reviewed by Nate Chapin.
678
679         IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
680         https://bugs.webkit.org/show_bug.cgi?id=52722
681
682         The solution is to change ScriptExecutionContext's destructor to iterate over
683         the list in a way that handles the mutations. This new method is destructive,
684         but that's OK since the object is going away. I've also added a several asserts.
685
686         There should be no behavior change.
687
688         * dom/ScriptExecutionContext.cpp:
689         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
690         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
691         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
692         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
693         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
694         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
695         (WebCore::ScriptExecutionContext::createdActiveDOMObject):
696         (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
697         * dom/ScriptExecutionContext.h:
698         * storage/IDBTransaction.cpp:
699         (WebCore::IDBTransaction::contextDestroyed):
700         * storage/IDBTransaction.h:
701
702 2011-02-02  Mark Rowe  <mrowe@apple.com>
703
704         Build fix.
705
706         * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
707         * platform/mac/ScrollbarThemeMac.mm:
708         (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
709         up in the HashMap rather than relying on a local variable that doesn't
710         exist.
711
712 2011-02-02  Adam Barth  <abarth@webkit.org>
713
714         Reviewed by Daniel Bates.
715
716         Teach XSSFilter about JavaScript URLs
717         https://bugs.webkit.org/show_bug.cgi?id=53635
718
719         This patch teaches the XSSFilter to check for JavaScript URLs in
720         attribute values.  If this approach has too many false positives, we
721         can restrict which attribute names we examine.
722
723         Fixes these tests:
724             http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
725             http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
726             http/tests/security/xssAuditor/iframe-javascript-url*
727
728         * html/parser/XSSFilter.cpp:
729         (WebCore::HTMLNames::containsJavaScriptURL):
730         (WebCore::XSSFilter::filterTokenInitial):
731         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
732         * html/parser/XSSFilter.h:
733
734 2011-02-02  Dan Bernstein  <mitz@apple.com>
735
736         Reviewed by Sam Weinig, even though this is just a...
737
738         ...build fix.
739
740         * platform/mac/ScrollAnimatorMac.mm:
741         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
742
743 2011-02-02  Mark Rowe  <mrowe@apple.com>
744
745         Reviewed by Beth Dakin.
746
747         <rdar://problem/8952012> Crash on launch inside scrollbar code.
748
749         We need to ensure that we remove ourselves as the delegates of objects when we're going
750         away as failing to do this can lead to crashes if the lifetime of the other objects
751         is longer than ours.
752
753         * platform/mac/ScrollAnimatorMac.mm:
754         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
755         * platform/mac/ScrollbarThemeMac.mm:
756         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
757
758 2011-02-02  Beth Dakin  <bdakin@apple.com>
759
760         Build fix.
761
762         * WebCore.exp.in:
763
764 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
765
766         Unreviewed WinCE build fix for r77397.
767
768         * page/wince/FrameWinCE.cpp:
769         (WebCore::computePageRectsForFrame):
770
771 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
772
773         Unreviewed WinCE build fix for r77398.
774
775         * platform/graphics/wince/PlatformPathWinCE.cpp:
776         (WebCore::containsPoint):
777         (WebCore::inflateRectToContainPoint):
778         (WebCore::PlatformPath::addRect):
779         * platform/graphics/wince/SharedBitmap.cpp:
780         (WebCore::SharedBitmap::drawPattern):
781         * rendering/RenderThemeWinCE.cpp:
782         (WebCore::RenderThemeWinCE::paintMenuListButton):
783         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
784         (WebCore::RenderThemeWinCE::paintSliderTrack):
785         (WebCore::RenderThemeWinCE::paintMediaMuteButton):
786         (WebCore::RenderThemeWinCE::paintMediaPlayButton):
787         (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
788         (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
789
790 2011-02-02  Jian Li  <jianli@chromium.org>
791
792         Reviewed by Kenneth Russell.
793
794         [V8] Accessing DataView with index of -1 returns 0, doesn't throw
795         https://bugs.webkit.org/show_bug.cgi?id=53559
796
797         Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
798
799         * html/canvas/DataView.h:
800         (WebCore::DataView::beyondRange):
801
802 2011-02-02  Sam Weinig  <sam@webkit.org>
803
804         Reviewed by Beth Dakin.
805
806         Add ChromeClient function to paint custom overhang areas.
807         https://bugs.webkit.org/show_bug.cgi?id=53639
808
809         * page/Chrome.cpp:
810         (WebCore::ChromeClient::paintCustomOverhangArea):
811         * page/ChromeClient.h:
812         Add ChromeClient function.
813
814         * page/FrameView.cpp:
815         (WebCore::FrameView::paintOverhangAreas):
816         * page/FrameView.h:
817         Call out the the ChromeClient, call ScrollView base implementation
818         if the ChromeClient returns false.
819
820         * platform/ScrollView.cpp:
821         (WebCore::ScrollView::paintOverhangAreas):
822         * platform/ScrollView.h:
823         Add dirty rect for use when painting overhang areas.
824
825 2011-02-02  Peter Kasting  <pkasting@google.com>
826
827         Not reviewed, build fix.
828
829         Fix compile after r77427.
830         https://bugs.webkit.org/show_bug.cgi?id=53455
831
832         * platform/graphics/qt/ImageDecoderQt.cpp:
833         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
834         * platform/image-decoders/ImageDecoder.cpp:
835         (WebCore::ImageFrame::operator=):
836         * platform/image-decoders/bmp/BMPImageReader.cpp:
837         (WebCore::BMPImageReader::decodeBMP):
838         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
839         (WebCore::JPEGImageDecoder::outputScanlines):
840         * platform/image-decoders/png/PNGImageDecoder.cpp:
841         (WebCore::PNGImageDecoder::rowAvailable):
842         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
843         (WebCore::WEBPImageDecoder::decode):
844
845 2011-02-02  Peter Kasting  <pkasting@google.com>
846
847         Reviewed by David Levin.
848
849         Clean up ImageDecoder's comments (remove/trim/clarify).
850         https://bugs.webkit.org/show_bug.cgi?id=53455
851
852         This also renames or eliminates a couple of functions for clarity, and
853         switches a couple erroneous strncmp() calls to memcmp().
854
855         * platform/image-decoders/ImageDecoder.cpp:
856         (WebCore::ImageDecoder::create):
857         (WebCore::ImageFrame::clearPixelData):
858         (WebCore::ImageFrame::zeroFillPixelData):
859         (WebCore::ImageFrame::setSize):
860         * platform/image-decoders/ImageDecoder.h:
861         (WebCore::ImageFrame::originalFrameRect):
862         (WebCore::ImageFrame::setOriginalFrameRect):
863         (WebCore::ImageDecoder::ImageDecoder):
864         (WebCore::ImageDecoder::~ImageDecoder):
865         (WebCore::ImageDecoder::isSizeAvailable):
866         (WebCore::ImageDecoder::size):
867         (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
868         (WebCore::ImageDecoder::clearFrameBufferCache):
869         (WebCore::ImageDecoder::isOverSize):
870         * platform/image-decoders/bmp/BMPImageReader.cpp:
871         (WebCore::BMPImageReader::processNonRLEData):
872         * platform/image-decoders/cg/ImageDecoderCG.cpp:
873         (WebCore::ImageFrame::setSize):
874         * platform/image-decoders/gif/GIFImageDecoder.cpp:
875         (WebCore::GIFImageDecoder::clearFrameBufferCache):
876         (WebCore::GIFImageDecoder::frameComplete):
877         (WebCore::GIFImageDecoder::initFrameBuffer):
878         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
879         * platform/image-decoders/qt/ImageFrameQt.cpp:
880         (WebCore::ImageFrame::operator=):
881         (WebCore::ImageFrame::clearPixelData):
882         (WebCore::ImageFrame::zeroFillPixelData):
883         (WebCore::ImageFrame::setSize):
884         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
885         (WebCore::ImageFrame::operator=):
886         (WebCore::ImageFrame::clearPixelData):
887         (WebCore::ImageFrame::zeroFillPixelData):
888         (WebCore::ImageFrame::setSize):
889         * platform/image-decoders/webp/WEBPImageDecoder.h:
890
891 2011-02-02  Vangelis Kokkevis  <vangelis@chromium.org>
892
893         [chromium] Adding support for reflections to the accelerated
894         compositing path.
895         https://bugs.webkit.org/show_bug.cgi?id=53179
896
897         All layout tests in compositing/reflections generate correct
898         results with the exception of:
899         1. nested-reflection-anchor-point.html : There appears to be
900            some issue with the layer transform math that I haven't been
901            able to track down yet.
902         2. reflection-opacity.html : The current implementation applies
903            opacity before doing the reflection which makes this test
904            produce incorrect results.  This will affect reflected layers
905            with opacity that overlap their original layer.  FIXME comment
906            added in the code.
907
908         Tests: Covered by existing layout tests in compositing/reflections.
909                Please see above for exceptions.
910
911         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
912         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
913         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
914         * platform/graphics/chromium/GraphicsLayerChromium.h:
915         * platform/graphics/chromium/LayerChromium.cpp:
916         (WebCore::LayerChromium::LayerChromium):
917         * platform/graphics/chromium/LayerChromium.h:
918         (WebCore::LayerChromium::setReplicaLayer):
919         (WebCore::LayerChromium::replicaLayer):
920         * platform/graphics/chromium/LayerRendererChromium.cpp:
921         (WebCore::LayerRendererChromium::updateLayersRecursive):
922         (WebCore::LayerRendererChromium::drawLayer):
923         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
924         (WebCore::RenderSurfaceChromium::drawableContentRect):
925         (WebCore::RenderSurfaceChromium::drawSurface):
926         (WebCore::RenderSurfaceChromium::draw):
927         * platform/graphics/chromium/RenderSurfaceChromium.h:
928         (WebCore::RenderSurfaceChromium::drawTransform):
929
930 2011-02-02  Xiyuan Xia  <xiyuan@chromium.org>
931
932         Reviewed by Tony Chang.
933
934         [Chromium] Select popup with padding has white strip on right
935         https://bugs.webkit.org/show_bug.cgi?id=53602
936
937         No new tests as this change restores old behavior.
938
939         * platform/chromium/PopupMenuChromium.cpp:
940         (WebCore::PopupListBox::layout):
941
942 2011-02-02  Beth Dakin  <bdakin@apple.com>
943
944         Reviewed by Mark Rowe.
945
946         Fix for <rdar://problem/8950343> CrashTracer: [USER]
947         1 crash in WebProcess at com.apple.WebCore: 
948         WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
949
950         It is possible for a Scrollbar's ScrollableArea to be null,
951         so we must null check.
952         * platform/mac/ScrollbarThemeMac.mm:
953         (WebCore::ScrollbarThemeMac::registerScrollbar):
954         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
955
956 2011-02-02  Zhenyao Mo  <zmo@google.com>
957
958         Reviewed by Kenneth Russell.
959
960         bufferData and bufferSubData should generate INVALID_VALUE with negative input
961         https://bugs.webkit.org/show_bug.cgi?id=53626
962
963         * html/canvas/WebGLRenderingContext.cpp:
964         (WebCore::WebGLRenderingContext::bufferData):
965         (WebCore::WebGLRenderingContext::bufferSubData):
966
967 2011-02-02  Jeff Miller  <jeffm@apple.com>
968
969         Reviewed by Darin Adler and Steve Falkenburg.
970
971         Add DerivedSources.make to some Visual Studio projects
972         https://bugs.webkit.org/show_bug.cgi?id=53607
973
974         * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
975
976 2011-02-02  Cris Neckar  <cdn@chromium.org>
977
978         Reviewed by James Robinson.
979
980         Refcount domwindows when dispatching device orientation events.
981         https://bugs.webkit.org/show_bug.cgi?id=53623
982
983         Test: fast/events/device-orientation-crash.html
984
985         * dom/DeviceMotionController.cpp:
986         (WebCore::DeviceMotionController::timerFired):
987         (WebCore::DeviceMotionController::didChangeDeviceMotion):
988         * dom/DeviceMotionController.h:
989         * dom/DeviceOrientationController.cpp:
990         (WebCore::DeviceOrientationController::timerFired):
991         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
992         * dom/DeviceOrientationController.h:
993
994 2011-02-02  Zhenyao Mo  <zmo@google.com>
995
996         Reviewed by Kenneth Russell.
997
998         A deleted object should never been bound again
999         https://bugs.webkit.org/show_bug.cgi?id=53604
1000
1001         * html/canvas/WebGLRenderingContext.cpp:
1002         (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
1003         (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
1004         (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
1005         (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
1006         (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
1007         (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
1008         (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
1009         (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
1010         (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
1011         (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
1012         (WebCore::WebGLRenderingContext::deleteShader): Ditto.
1013         (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
1014         (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
1015         * html/canvas/WebGLRenderingContext.h:
1016         * html/canvas/WebGLTexture.h:
1017         (WebCore::WebGLTexture::getTarget): Accessor to cached target.
1018
1019 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
1020
1021         Unreviewed Efl buildfix after r77399.
1022
1023         * CMakeListsEfl.txt:
1024
1025 2011-02-02  Kenneth Russell  <kbr@google.com>
1026
1027         Reviewed by James Robinson.
1028
1029         Rename Typed Array subset to subarray
1030         https://bugs.webkit.org/show_bug.cgi?id=53618
1031
1032         * html/canvas/Float32Array.cpp:
1033         (WebCore::Float32Array::subarray):
1034         * html/canvas/Float32Array.h:
1035         * html/canvas/Float32Array.idl:
1036         * html/canvas/Int16Array.cpp:
1037         (WebCore::Int16Array::subarray):
1038         * html/canvas/Int16Array.h:
1039         * html/canvas/Int16Array.idl:
1040         * html/canvas/Int32Array.cpp:
1041         (WebCore::Int32Array::subarray):
1042         * html/canvas/Int32Array.h:
1043         * html/canvas/Int32Array.idl:
1044         * html/canvas/Int8Array.cpp:
1045         (WebCore::Int8Array::subarray):
1046         * html/canvas/Int8Array.h:
1047         * html/canvas/Int8Array.idl:
1048         * html/canvas/TypedArrayBase.h:
1049         (WebCore::TypedArrayBase::subarrayImpl):
1050         * html/canvas/Uint16Array.cpp:
1051         (WebCore::Uint16Array::subarray):
1052         * html/canvas/Uint16Array.h:
1053         * html/canvas/Uint16Array.idl:
1054         * html/canvas/Uint32Array.cpp:
1055         (WebCore::Uint32Array::subarray):
1056         * html/canvas/Uint32Array.h:
1057         * html/canvas/Uint32Array.idl:
1058         * html/canvas/Uint8Array.cpp:
1059         (WebCore::Uint8Array::subarray):
1060         * html/canvas/Uint8Array.h:
1061         * html/canvas/Uint8Array.idl:
1062
1063 2011-02-02  Adam Barth  <abarth@webkit.org>
1064
1065         Reviewed by Eric Seidel.
1066
1067         Add an empty file for Content Security Policy
1068         https://bugs.webkit.org/show_bug.cgi?id=53573
1069
1070         Posting this as a separate patch because editing the build files is so
1071         painful.
1072
1073         * Android.mk:
1074         * CMakeLists.txt:
1075         * GNUmakefile.am:
1076         * WebCore.gypi:
1077         * WebCore.pro:
1078         * WebCore.vcproj/WebCore.vcproj:
1079         * WebCore.xcodeproj/project.pbxproj:
1080
1081 2011-02-02  Dan Winship  <danw@gnome.org>
1082
1083         Reviewed by Martin Robinson.
1084
1085         [GTK] remove old data: URI handler, fix the SoupRequest-based one
1086         to pass tests
1087         https://bugs.webkit.org/show_bug.cgi?id=50885
1088
1089         * platform/network/soup/ResourceHandleSoup.cpp:
1090         (WebCore::sendRequestCallback): Do content-type sniffing here for
1091         non-HTTP requests.
1092         (WebCore::startHTTPRequest): Rename to match WebKit style.
1093         (WebCore::ResourceHandle::start): Pass everything except HTTP to
1094         startNonHTTPRequest, letting the SoupRequester decide whether it's
1095         supported or not.
1096         (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
1097         code that was a no-op for file: URIs, but would break some data:
1098         URIs.
1099
1100 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1101
1102         Update even more references to right() and bottom() in Chromium. Sheesh.
1103
1104         * platform/graphics/chromium/LayerRendererChromium.cpp:
1105         (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
1106
1107 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
1108
1109         Unreviewed Gtk3 buildfix after r77286.
1110
1111         https://bugs.webkit.org/show_bug.cgi?id=53520
1112         Remove the physical terminology from IntRect and FloatRect.
1113
1114         * platform/gtk/RenderThemeGtk3.cpp:
1115         (WebCore::RenderThemeGtk::paintMenuList):
1116
1117 2011-02-02  Anders Carlsson  <andersca@apple.com>
1118
1119         Fix build.
1120
1121         * platform/mac/ScrollAnimatorMac.mm:
1122         (WebCore::ScrollAnimatorMac::pinnedInDirection):
1123
1124 2011-02-02  David Hyatt  <hyatt@apple.com>
1125
1126         Reviewed by Dan Bernstein.
1127
1128         https://bugs.webkit.org/show_bug.cgi?id=53619
1129
1130         Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
1131         with maxX/maxY.  This matches IntRect.
1132
1133         * rendering/RenderBlock.cpp:
1134         (WebCore::RenderBlock::addOverflowFromFloats):
1135         (WebCore::RenderBlock::flipFloatForWritingMode):
1136         (WebCore::RenderBlock::paintFloats):
1137         (WebCore::RenderBlock::selectionGaps):
1138         (WebCore::RenderBlock::addOverhangingFloats):
1139         (WebCore::RenderBlock::addIntrudingFloats):
1140         (WebCore::RenderBlock::hitTestFloats):
1141         (WebCore::RenderBlock::adjustForBorderFit):
1142         * rendering/RenderBlock.h:
1143         (WebCore::RenderBlock::FloatingObject::x):
1144         (WebCore::RenderBlock::FloatingObject::maxX):
1145         (WebCore::RenderBlock::FloatingObject::y):
1146         (WebCore::RenderBlock::FloatingObject::maxY):
1147         (WebCore::RenderBlock::FloatingObject::setX):
1148         (WebCore::RenderBlock::FloatingObject::setY):
1149         (WebCore::RenderBlock::logicalTopForFloat):
1150         (WebCore::RenderBlock::logicalBottomForFloat):
1151         (WebCore::RenderBlock::logicalLeftForFloat):
1152         (WebCore::RenderBlock::logicalRightForFloat):
1153         (WebCore::RenderBlock::setLogicalTopForFloat):
1154         (WebCore::RenderBlock::setLogicalLeftForFloat):
1155         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1156         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1157
1158 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1159
1160         Update more references to right() and bottom() in Chromium Win.
1161
1162         * platform/graphics/chromium/TransparencyWin.cpp:
1163         (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
1164         (WebCore::TransparencyWin::compositeTextComposite): Ditto.
1165         * rendering/RenderThemeChromiumWin.cpp:
1166         (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
1167
1168 2011-02-02  Adam Roben  <aroben@apple.com>
1169
1170         Encode/decode FormData and FormDataElement objects consistently
1171
1172         Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
1173         that contains form data fails (asserts in Debug build)
1174
1175         To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
1176         now, even though we don't have an automated test for it yet. Writing a test is covered by
1177         <http://webkit.org/b/53616>.
1178
1179         Reviewed by Darin Adler.
1180
1181         * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
1182         FormData objects.
1183
1184         * platform/network/FormData.cpp:
1185         (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
1186         default-constructed FormDataElement. Failing to do this meant that all future uses of the
1187         Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
1188         start by reading the uint32_t that we forgot to decode here, and so on). We already had code
1189         to correctly set the FormDataElement's type based on this decoded type later in the
1190         function.
1191         (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
1192         matches its type and how we decode it.
1193
1194 2011-02-02  Dan Winship  <danw@gnome.org>
1195
1196         Reviewed by Martin Robinson.
1197
1198         [GTK] drop soup cache stuff, which has been moved to libsoup
1199         https://bugs.webkit.org/show_bug.cgi?id=50747
1200
1201         Use libsoup-based cache/requester API and remove the WebCore version
1202         of this functionality. This has been pushed upstream fully.
1203
1204         No new tests because this should not change functionality.
1205
1206         * GNUmakefile.am: Update for removed files.
1207         * platform/network/ResourceHandleInternal.h:
1208         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
1209         type names, drop m_requester.
1210         * platform/network/soup/ResourceHandleSoup.cpp:
1211         (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
1212         session.
1213         (WebCore::parseDataUrl):
1214         (WebCore::startHttp): Get the requester from the session rather
1215         than using m_requester.
1216         (WebCore::sendRequestCallback):
1217         (WebCore::ResourceHandle::platformSetDefersLoading):
1218         (WebCore::readCallback):
1219         (WebCore::startGio): Update type names.
1220         * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
1221         * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
1222         * platform/network/soup/cache/soup-http-input-stream.c: Removed.
1223         * platform/network/soup/cache/soup-http-input-stream.h: Removed.
1224         * platform/network/soup/cache/soup-request-data.c: Removed.
1225         * platform/network/soup/cache/soup-request-data.h: Removed.
1226         * platform/network/soup/cache/soup-request-file.c: Removed.
1227         * platform/network/soup/cache/soup-request-file.h: Removed.
1228         * platform/network/soup/cache/soup-request-http.c: Removed.
1229         * platform/network/soup/cache/soup-request-http.h: Removed.
1230         * platform/network/soup/cache/soup-request.c: Removed.
1231         * platform/network/soup/cache/soup-request.h: Removed.
1232         * platform/network/soup/cache/soup-requester.c: Removed.
1233         * platform/network/soup/cache/soup-requester.h: Removed.
1234         * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
1235         * platform/network/soup/cache/webkit/soup-cache.c: Removed.
1236         * platform/network/soup/cache/webkit/soup-cache.h: Removed.
1237
1238 2011-02-02  David Hyatt  <hyatt@apple.com>
1239
1240         Reviewed by Darin Adler.
1241
1242         https://bugs.webkit.org/show_bug.cgi?id=53520
1243
1244         Remove physical accessors from IntRect and FloatRect.
1245
1246         * page/FrameView.cpp:
1247         (WebCore::FrameView::adjustPageHeightDeprecated):
1248         * platform/graphics/FloatRect.h:
1249         * platform/graphics/IntRect.h:
1250
1251 2011-02-02  David Hyatt  <hyatt@apple.com>
1252
1253         Reviewed by Dan Bernstein.
1254
1255         https://bugs.webkit.org/show_bug.cgi?id=53614
1256
1257         Remove physical terminology from overflow.  Replace with minX/maxX/minY/maxY.
1258
1259         * rendering/InlineFlowBox.cpp:
1260         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1261         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1262         * rendering/InlineFlowBox.h:
1263         (WebCore::InlineFlowBox::minYLayoutOverflow):
1264         (WebCore::InlineFlowBox::maxYLayoutOverflow):
1265         (WebCore::InlineFlowBox::minXLayoutOverflow):
1266         (WebCore::InlineFlowBox::maxXLayoutOverflow):
1267         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
1268         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
1269         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
1270         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
1271         (WebCore::InlineFlowBox::minYVisualOverflow):
1272         (WebCore::InlineFlowBox::maxYVisualOverflow):
1273         (WebCore::InlineFlowBox::minXVisualOverflow):
1274         (WebCore::InlineFlowBox::maxXVisualOverflow):
1275         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
1276         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
1277         (WebCore::InlineFlowBox::logicalminYVisualOverflow):
1278         (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
1279         * rendering/RenderBlock.cpp:
1280         (WebCore::RenderBlock::adjustLinePositionForPagination):
1281         * rendering/RenderBlockLineLayout.cpp:
1282         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
1283         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
1284         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
1285         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
1286         * rendering/RenderBox.cpp:
1287         (WebCore::RenderBox::scrollWidth):
1288         (WebCore::RenderBox::scrollHeight):
1289         * rendering/RenderBox.h:
1290         (WebCore::RenderBox::minYLayoutOverflow):
1291         (WebCore::RenderBox::maxYLayoutOverflow):
1292         (WebCore::RenderBox::minXLayoutOverflow):
1293         (WebCore::RenderBox::maxXLayoutOverflow):
1294         (WebCore::RenderBox::logicalLeftLayoutOverflow):
1295         (WebCore::RenderBox::logicalRightLayoutOverflow):
1296         (WebCore::RenderBox::minYVisualOverflow):
1297         (WebCore::RenderBox::maxYVisualOverflow):
1298         (WebCore::RenderBox::minXVisualOverflow):
1299         (WebCore::RenderBox::maxXVisualOverflow):
1300         (WebCore::RenderBox::logicalLeftVisualOverflow):
1301         (WebCore::RenderBox::logicalRightVisualOverflow):
1302         * rendering/RenderInline.cpp:
1303         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1304         * rendering/RenderLayerCompositor.cpp:
1305         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1306         * rendering/RenderLineBoxList.cpp:
1307         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
1308         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
1309         (WebCore::RenderLineBoxList::paint):
1310         (WebCore::RenderLineBoxList::hitTest):
1311         * rendering/RenderMarquee.cpp:
1312         (WebCore::RenderMarquee::computePosition):
1313         * rendering/RenderOverflow.h:
1314         (WebCore::RenderOverflow::RenderOverflow):
1315         (WebCore::RenderOverflow::minYLayoutOverflow):
1316         (WebCore::RenderOverflow::maxYLayoutOverflow):
1317         (WebCore::RenderOverflow::minXLayoutOverflow):
1318         (WebCore::RenderOverflow::maxXLayoutOverflow):
1319         (WebCore::RenderOverflow::minYVisualOverflow):
1320         (WebCore::RenderOverflow::maxYVisualOverflow):
1321         (WebCore::RenderOverflow::minXVisualOverflow):
1322         (WebCore::RenderOverflow::maxXVisualOverflow):
1323         (WebCore::RenderOverflow::setminYVisualOverflow):
1324         (WebCore::RenderOverflow::visualOverflowRect):
1325         (WebCore::RenderOverflow::move):
1326         (WebCore::RenderOverflow::addVisualOverflow):
1327         (WebCore::RenderOverflow::setVisualOverflow):
1328         * rendering/RenderReplaced.cpp:
1329         (WebCore::RenderReplaced::shouldPaint):
1330         * rendering/RenderTable.cpp:
1331         (WebCore::RenderTable::layout):
1332         (WebCore::RenderTable::paint):
1333         * rendering/RenderTableCell.cpp:
1334         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1335         * rendering/RenderTreeAsText.cpp:
1336         (WebCore::writeLayers):
1337         * rendering/RenderView.cpp:
1338         (WebCore::RenderView::docTop):
1339
1340 2011-02-02  Steve Lacey  <sjl@chromium.org>
1341
1342         Reviewed by Eric Carlson.
1343
1344         Implement basic media statistics on media elements.
1345         https://bugs.webkit.org/show_bug.cgi?id=53322
1346
1347         * Configurations/FeatureDefines.xcconfig:
1348         * GNUmakefile.am:
1349         * features.pri:
1350         * html/HTMLMediaElement.cpp:
1351         (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
1352         (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
1353         * html/HTMLMediaElement.h:
1354         * html/HTMLMediaElement.idl:
1355         * html/HTMLVideoElement.cpp:
1356         (WebCore::HTMLVideoElement::webkitDecodedFrames):
1357         (WebCore::HTMLVideoElement::webkitDroppedFrames):
1358         * html/HTMLVideoElement.h:
1359         * html/HTMLVideoElement.idl:
1360         * platform/graphics/MediaPlayer.cpp:
1361         (WebCore::MediaPlayer::decodedFrames):
1362         (WebCore::MediaPlayer::droppedFrames):
1363         (WebCore::MediaPlayer::audioBytesDecoded):
1364         (WebCore::MediaPlayer::videoBytesDecoded):
1365         * platform/graphics/MediaPlayer.h:
1366         * platform/graphics/MediaPlayerPrivate.h:
1367         (WebCore::MediaPlayerPrivateInterface::decodedFrames):
1368         (WebCore::MediaPlayerPrivateInterface::droppedFrames):
1369         (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
1370         (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
1371
1372 2011-02-02  Luiz Agostini  <luiz.agostini@openbossa.org>
1373
1374         Reviewed by David Hyatt.
1375
1376         More conversion from right()/bottom() to maxX()/maxY().
1377
1378         * page/qt/FrameQt.cpp:
1379         (WebCore::Frame::dragImageForSelection):
1380         * platform/graphics/qt/GraphicsContextQt.cpp:
1381         (WebCore::GraphicsContext::roundToDevicePixels):
1382
1383 2011-02-02  Kevin Ollivier  <kevino@theolliviers.com>
1384
1385         [wx] Build fixes for wxWebKit.
1386
1387         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
1388         (documentWrite):
1389         * bindings/scripts/CodeGeneratorCPP.pm:
1390         * page/wx/DragControllerWx.cpp:
1391         (WebCore::DragController::dragOperation):
1392         * platform/graphics/wx/FontCustomPlatformData.h:
1393         * platform/graphics/wx/FontPlatformData.h:
1394         (WebCore::FontPlatformData::widthVariant):
1395         * platform/graphics/wx/FontPlatformDataWx.cpp:
1396         (WebCore::FontPlatformData::computeHash):
1397         * platform/graphics/wx/FontWx.cpp:
1398         * platform/graphics/wx/GraphicsContextWx.cpp:
1399         (WebCore::GraphicsContext::fillPath):
1400         (WebCore::GraphicsContext::strokePath):
1401         * platform/wx/RenderThemeWx.cpp:
1402
1403 2011-02-02  David Hyatt  <hyatt@apple.com>
1404
1405         Reviewed by Darin Adler.
1406
1407         More right()/bottom() to maxX()/maxY() conversion.
1408
1409         * page/chromium/FrameChromium.cpp:
1410         (WebCore::Frame::nodeImage):
1411         (WebCore::Frame::dragImageForSelection):
1412
1413 2011-02-02  Sam Weinig  <sam@webkit.org>
1414
1415         Fix windows clean build.
1416
1417         * DerivedSources.make:
1418
1419 2011-02-02  Mikhail Naganov  <mnaganov@chromium.org>
1420
1421         Reviewed by Pavel Feldman.
1422
1423         Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
1424
1425         https://bugs.webkit.org/show_bug.cgi?id=53606
1426
1427         Display progress while taking a snapshot, and hints while loading
1428         and parsing. This is needed because taking detailed heap snapshots
1429         takes time.
1430
1431         * English.lproj/localizedStrings.js:
1432         * inspector/front-end/DetailedHeapshotView.js:
1433         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
1434         * inspector/front-end/ProfilesPanel.js:
1435         (WebInspector.ProfilesPanel.prototype._reset):
1436         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
1437         (WebInspector.ProfilesPanel.prototype.getProfiles):
1438         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
1439         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
1440         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
1441         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
1442         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
1443         * inspector/front-end/SidebarTreeElement.js:
1444         (WebInspector.SidebarTreeElement.prototype.refreshTitles):
1445
1446 2011-02-02  David Hyatt  <hyatt@apple.com>
1447
1448         Reviewed by Darin Adler.
1449
1450         More conversion from right()/bottom() to maxX()/maxY().
1451
1452         * platform/win/PopupMenuWin.cpp:
1453         (WebCore::PopupMenuWin::calculatePositionAndSize):
1454         (WebCore::PopupMenuWin::paint):
1455
1456 2011-02-02  David Hyatt  <hyatt@apple.com>
1457
1458         Reviewed by Darin Adler.
1459
1460         Removal of right()/bottom().  Replace with maxX() and maxY().  Still converting.  Haven't removed yet.
1461
1462         * platform/chromium/PopupMenuChromium.cpp:
1463         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
1464         (WebCore::PopupListBox::scrollToRevealRow):
1465         (WebCore::PopupListBox::layout):
1466         * platform/graphics/FloatRect.h:
1467         * platform/graphics/IntRect.h:
1468         * platform/graphics/cairo/ImageBufferCairo.cpp:
1469         (WebCore::getImageData):
1470         (WebCore::putImageData):
1471         * platform/graphics/chromium/GLES2Canvas.cpp:
1472         (WebCore::GLES2Canvas::drawTexturedRect):
1473         * platform/graphics/chromium/LayerRendererChromium.cpp:
1474         (WebCore::LayerRendererChromium::verticalScrollbarRect):
1475         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
1476         (WebCore::LayerRendererChromium::setScissorToRect):
1477         (WebCore::LayerRendererChromium::setDrawViewportRect):
1478         * platform/graphics/chromium/LayerTilerChromium.cpp:
1479         (WebCore::LayerTilerChromium::contentRectToTileIndices):
1480         (WebCore::LayerTilerChromium::growLayerToContain):
1481         * platform/graphics/gpu/TilingData.cpp:
1482         (WebCore::TilingData::tileBoundsWithBorder):
1483         (WebCore::TilingData::overlappedTileIndices):
1484         * platform/graphics/qt/ImageBufferQt.cpp:
1485         (WebCore::getImageData):
1486         (WebCore::putImageData):
1487         * platform/graphics/skia/FloatRectSkia.cpp:
1488         (WebCore::FloatRect::operator SkRect):
1489         * platform/graphics/skia/ImageBufferSkia.cpp:
1490         (WebCore::getImageData):
1491         (WebCore::putImageData):
1492         * platform/graphics/skia/IntRectSkia.cpp:
1493         (WebCore::IntRect::operator SkIRect):
1494         (WebCore::IntRect::operator SkRect):
1495         * platform/graphics/skia/PlatformContextSkia.cpp:
1496         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
1497         * platform/graphics/win/GraphicsContextWin.cpp:
1498         (WebCore::GraphicsContextPlatformPrivate::clip):
1499         * platform/graphics/win/IntRectWin.cpp:
1500         (WebCore::IntRect::operator RECT):
1501         * platform/graphics/win/UniscribeController.cpp:
1502         (WebCore::UniscribeController::shapeAndPlaceItem):
1503         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1504         (WebCore::roundRect):
1505         (WebCore::mapRect):
1506         (WebCore::TransparentLayerDC::TransparentLayerDC):
1507         (WebCore::GraphicsContext::drawRect):
1508         (WebCore::GraphicsContext::drawEllipse):
1509         (WebCore::GraphicsContext::strokeArc):
1510         (WebCore::GraphicsContext::clip):
1511         (WebCore::GraphicsContext::clipOut):
1512         (WebCore::GraphicsContext::strokeRect):
1513         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1514         (WebCore::GIFImageDecoder::initFrameBuffer):
1515         * platform/win/PopupMenuWin.cpp:
1516         (WebCore::PopupMenuWin::calculatePositionAndSize):
1517         (WebCore::PopupMenuWin::paint):
1518         * plugins/win/PluginViewWin.cpp:
1519         (WebCore::PluginView::updatePluginWidget):
1520         (WebCore::PluginView::invalidateRect):
1521         * rendering/RenderThemeSafari.cpp:
1522         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
1523         (WebCore::RenderThemeSafari::paintMenuListButton):
1524         (WebCore::RenderThemeSafari::paintSliderTrack):
1525         * rendering/RenderThemeWin.cpp:
1526         (WebCore::RenderThemeWin::paintInnerSpinButton):
1527         (WebCore::RenderThemeWin::paintMenuListButton):
1528
1529 2011-02-02  Antti Koivisto  <antti@apple.com>
1530
1531         Reviewed by Maciej Stachowiak.
1532
1533         Use Vector instead of a linked list for rules in CSSStyleSelector
1534         https://bugs.webkit.org/show_bug.cgi?id=53581
1535         
1536         - eliminate CSSRuleDataList, replace with Vector<RuleData>
1537         - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet 
1538           (these are selector internal classes, CSS prefix is better reserved for public ones).
1539         - constify a bit
1540         - shrink the vectors to fit after collecting the rules
1541
1542         * css/CSSStyleSelector.cpp:
1543         (WebCore::RuleData::RuleData):
1544         (WebCore::RuleData::position):
1545         (WebCore::RuleData::rule):
1546         (WebCore::RuleData::selector):
1547         (WebCore::RuleSet::disableAutoShrinkToFit):
1548         (WebCore::RuleSet::getIDRules):
1549         (WebCore::RuleSet::getClassRules):
1550         (WebCore::RuleSet::getTagRules):
1551         (WebCore::RuleSet::getPseudoRules):
1552         (WebCore::RuleSet::getUniversalRules):
1553         (WebCore::RuleSet::getPageRules):
1554         (WebCore::collectSiblingRulesInDefaultStyle):
1555         (WebCore::CSSStyleSelector::CSSStyleSelector):
1556         (WebCore::loadFullDefaultStyle):
1557         (WebCore::loadSimpleDefaultStyle):
1558         (WebCore::loadViewSourceStyle):
1559         (WebCore::CSSStyleSelector::matchRules):
1560         (WebCore::CSSStyleSelector::matchRulesForList):
1561         (WebCore::operator >):
1562         (WebCore::operator <=):
1563         (WebCore::CSSStyleSelector::sortMatchedRules):
1564         (WebCore::CSSStyleSelector::matchUARules):
1565         (WebCore::RuleSet::RuleSet):
1566         (WebCore::RuleSet::~RuleSet):
1567         (WebCore::RuleSet::addToRuleSet):
1568         (WebCore::RuleSet::addRule):
1569         (WebCore::RuleSet::addPageRule):
1570         (WebCore::RuleSet::addRulesFromSheet):
1571         (WebCore::RuleSet::addStyleRule):
1572         (WebCore::collectIdsAndSiblingRulesFromList):
1573         (WebCore::RuleSet::collectIdsAndSiblingRules):
1574         (WebCore::shrinkMapVectorsToFit):
1575         (WebCore::RuleSet::shrinkToFit):
1576         (WebCore::CSSStyleSelector::matchPageRules):
1577         (WebCore::CSSStyleSelector::matchPageRulesForList):
1578         * css/CSSStyleSelector.h:
1579         (WebCore::CSSStyleSelector::addMatchedRule):
1580
1581 2011-02-02  Andrey Adaikin  <aandrey@google.com>
1582
1583         Reviewed by Pavel Feldman.
1584
1585         Web Inspector: Use DIVs instead of TABLE in TextViewer
1586         https://bugs.webkit.org/show_bug.cgi?id=53299
1587
1588         * inspector/front-end/SourceFrame.js:
1589         (WebInspector.SourceFrame.prototype._createTextViewer):
1590         (WebInspector.SourceFrame.prototype._mouseDown):
1591         * inspector/front-end/TextViewer.js:
1592         (WebInspector.TextViewer):
1593         (WebInspector.TextViewer.prototype.set mimeType):
1594         (WebInspector.TextViewer.prototype.revealLine):
1595         (WebInspector.TextViewer.prototype.addDecoration):
1596         (WebInspector.TextViewer.prototype.removeDecoration):
1597         (WebInspector.TextViewer.prototype.markAndRevealRange):
1598         (WebInspector.TextViewer.prototype.highlightLine):
1599         (WebInspector.TextViewer.prototype.clearLineHighlight):
1600         (WebInspector.TextViewer.prototype.freeCachedElements):
1601         (WebInspector.TextViewer.prototype._handleKeyDown):
1602         (WebInspector.TextViewer.prototype.editLine.finishEditing):
1603         (WebInspector.TextViewer.prototype.editLine):
1604         (WebInspector.TextViewer.prototype.beginUpdates):
1605         (WebInspector.TextViewer.prototype.endUpdates):
1606         (WebInspector.TextViewer.prototype.resize):
1607         (WebInspector.TextViewer.prototype._textChanged):
1608         (WebInspector.TextViewer.prototype._updatePanelOffsets):
1609         (WebInspector.TextViewer.prototype._syncScroll):
1610         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
1611         (WebInspector.TextEditorChunkedPanel):
1612         (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
1613         (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
1614         (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
1615         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
1616         (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
1617         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
1618         (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
1619         (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
1620         (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
1621         (WebInspector.TextEditorChunkedPanel.prototype.resize):
1622         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
1623         (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
1624         (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
1625         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
1626         (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
1627         (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
1628         (WebInspector.TextEditorGutterPanel):
1629         (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
1630         (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
1631         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
1632         (WebInspector.TextEditorGutterChunk):
1633         (WebInspector.TextEditorGutterChunk.prototype.get expanded):
1634         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
1635         (WebInspector.TextEditorGutterChunk.prototype.get height):
1636         (WebInspector.TextEditorGutterChunk.prototype._createRow):
1637         (WebInspector.TextEditorMainPanel):
1638         (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
1639         (WebInspector.TextEditorMainPanel.prototype.set mimeType):
1640         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
1641         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
1642         (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
1643         (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
1644         (WebInspector.TextEditorMainPanel.prototype._buildChunks):
1645         (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
1646         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
1647         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
1648         (WebInspector.TextEditorMainPanel.prototype._paintLines):
1649         (WebInspector.TextEditorMainPanel.prototype._paintLine):
1650         (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
1651         (WebInspector.TextEditorMainPanel.prototype._getSelection):
1652         (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
1653         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
1654         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
1655         (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
1656         (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
1657         (WebInspector.TextEditorMainChunk):
1658         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
1659         (WebInspector.TextEditorMainChunk.prototype.set expanded):
1660         (WebInspector.TextEditorMainChunk.prototype.get height):
1661         (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
1662         (WebInspector.TextEditorMainChunk.prototype._createRow):
1663         (WebInspector):
1664         * inspector/front-end/textViewer.css:
1665         (.text-editor-lines):
1666         (.text-editor-contents):
1667         (.text-editor-editable):
1668         (.webkit-line-decorations):
1669         (.webkit-line-number):
1670         (.webkit-execution-line.webkit-line-content):
1671         (.diff-container .webkit-added-line.webkit-line-content):
1672         (.diff-container .webkit-removed-line.webkit-line-content):
1673         (.diff-container .webkit-changed-line.webkit-line-content):
1674         (.webkit-highlighted-line.webkit-line-content):
1675
1676 2011-02-02  Hans Wennborg  <hans@chromium.org>
1677
1678         Reviewed by Jeremy Orlow.
1679
1680         IndexedDB: Implement support for cursor updates
1681         https://bugs.webkit.org/show_bug.cgi?id=53421
1682
1683         Implement support for cursor updates using the same pattern as cursor
1684         deletes: forward the calls to the IDBObjectStoreBackend::put().
1685         The put() function's signature needs to be changed to allow for a
1686         "cursor update mode". This makes the signature more clear anyway,
1687         since it replaces the boolean parameter.
1688
1689         Test: storage/indexeddb/cursor-update.html
1690
1691         * storage/IDBCursor.idl:
1692         * storage/IDBCursorBackendImpl.cpp:
1693         (WebCore::IDBCursorBackendImpl::key):
1694         (WebCore::IDBCursorBackendImpl::update):
1695         * storage/IDBCursorBackendImpl.h:
1696         * storage/IDBObjectStore.cpp:
1697         (WebCore::IDBObjectStore::add):
1698         (WebCore::IDBObjectStore::put):
1699         * storage/IDBObjectStoreBackendImpl.cpp:
1700         (WebCore::IDBObjectStoreBackendImpl::put):
1701         (WebCore::IDBObjectStoreBackendImpl::putInternal):
1702         * storage/IDBObjectStoreBackendImpl.h:
1703         * storage/IDBObjectStoreBackendInterface.h:
1704
1705 2011-02-02  Naoki Takano  <takano.naoki@gmail.com>
1706
1707         Reviewed by Kent Tamura.
1708
1709         Fix popup menu RTL bug introduced by Changeset 75982.
1710         https://bugs.webkit.org/show_bug.cgi?id=53567
1711
1712         PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
1713
1714         No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
1715
1716         * platform/chromium/PopupMenuChromium.cpp:
1717         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position.
1718         (WebCore::PopupContainer::showPopup): Change the passing parameter.
1719         (WebCore::PopupContainer::refresh): Change the passing parameter.
1720         * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
1721
1722 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
1723
1724         Reviewed by Martin Robinson.
1725
1726         [GTK] Fix dist compilation
1727         https://bugs.webkit.org/show_bug.cgi?id=53579
1728
1729         * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
1730         added in r77153.
1731
1732 2011-02-02  Dai Mikurube  <dmikurube@google.com>
1733
1734         Reviewed by David Levin.
1735
1736         Make mime type lookup in File::create(path) thread-safe
1737         https://bugs.webkit.org/show_bug.cgi?id=47700
1738
1739         This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
1740         The function is to be called as a thread-safe version of getMIMETypeForExtension() when
1741         both FILE_SYSTEM and WORKERS are enabled.
1742
1743         No tests for this patch. This patch itself doesn't change the behaviors.
1744         For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
1745         For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
1746         The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
1747         platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
1748
1749         * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
1750         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1751         * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
1752         * platform/android/TemporaryLinkStubs.cpp:
1753         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1754         * platform/brew/MIMETypeRegistryBrew.cpp:
1755         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1756         * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
1757         (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
1758         * platform/efl/MIMETypeRegistryEfl.cpp:
1759         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1760         * platform/gtk/MIMETypeRegistryGtk.cpp:
1761         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1762         * platform/haiku/MIMETypeRegistryHaiku.cpp:
1763         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1764         * platform/mac/MIMETypeRegistryMac.mm:
1765         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1766         * platform/qt/MIMETypeRegistryQt.cpp:
1767         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1768         * platform/win/MIMETypeRegistryWin.cpp:
1769         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1770         * platform/wince/MIMETypeRegistryWinCE.cpp:
1771         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1772         * platform/wx/MimeTypeRegistryWx.cpp:
1773         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1774
1775 2011-02-01  Adam Barth  <abarth@webkit.org>
1776
1777         Reviewed by Alexey Proskuryakov.
1778
1779         Improve readability of updateWidget by converting bool parameter to an enum
1780         https://bugs.webkit.org/show_bug.cgi?id=53576
1781
1782         As requested on webkit-dev.
1783
1784         * html/HTMLEmbedElement.cpp:
1785         (WebCore::HTMLEmbedElement::updateWidget):
1786         * html/HTMLEmbedElement.h:
1787         * html/HTMLMediaElement.cpp:
1788         (WebCore::HTMLMediaElement::updateWidget):
1789         * html/HTMLMediaElement.h:
1790         * html/HTMLObjectElement.cpp:
1791         (WebCore::HTMLObjectElement::updateWidget):
1792         * html/HTMLObjectElement.h:
1793         * html/HTMLPlugInImageElement.cpp:
1794         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
1795         * html/HTMLPlugInImageElement.h:
1796         * page/FrameView.cpp:
1797         (WebCore::FrameView::updateWidget):
1798
1799 2011-02-01  James Robinson  <jamesr@chromium.org>
1800
1801         Reviewed by Adam Barth.
1802
1803         [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
1804         https://bugs.webkit.org/show_bug.cgi?id=53566
1805
1806         A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
1807         Other than being large enough for this one test case, this limit is arbitrary.
1808
1809         * bindings/v8/V8Proxy.h:
1810
1811 2011-02-01  Adam Barth  <abarth@webkit.org>
1812
1813         Reviewed by Andreas Kling.
1814
1815         Remove useless comment
1816         https://bugs.webkit.org/show_bug.cgi?id=53549
1817
1818         The reason for this parameter is captured in
1819         plugins/netscape-plugin-setwindow-size.html, which is a better place to
1820         capture it than in this comment (which otherwise just re-iterates the
1821         name of the parameter).
1822
1823         * html/HTMLPlugInImageElement.cpp:
1824         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
1825
1826 2011-02-01  James Simonsen  <simonjam@chromium.org>
1827
1828         Reviewed by Tony Gentilcore.
1829
1830         [WebTiming] Remove asserts that verify timestamp order
1831         https://bugs.webkit.org/show_bug.cgi?id=53548
1832
1833         Covered by existing tests.
1834
1835         * loader/FrameLoader.cpp:
1836         (WebCore::FrameLoader::stopLoading): Remove assert.
1837         * page/DOMWindow.cpp:
1838         (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
1839
1840 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
1841
1842         Add the 'default_targets' enclosure to the flags.
1843
1844         * WebCore.gyp/WebCore.gyp: Did it.
1845
1846 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
1847
1848         Reviewed by James Robinson.
1849
1850         Async event handlers should not fire within a modal dialog
1851         https://bugs.webkit.org/show_bug.cgi?id=53202
1852
1853         Asychronous events that use EventQueue would currently fire while a
1854         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
1855         SuspendableTimer (which automatically gets suspended while dialogs are
1856         up and in other cases where JS execution is not allowed).
1857         
1858         Test: fast/events/scroll-event-during-modal-dialog.html
1859
1860         * dom/Document.cpp:
1861         (WebCore::Document::Document):
1862         * dom/EventQueue.cpp:
1863         (WebCore::EventQueueTimer::EventQueueTimer):
1864         (WebCore::EventQueueTimer::fired):
1865         (WebCore::EventQueue::EventQueue):
1866         (WebCore::EventQueue::enqueueEvent):
1867         (WebCore::EventQueue::pendingEventTimerFired):
1868         * dom/EventQueue.h:
1869         (WebCore::EventQueue::create):
1870         * page/SuspendableTimer.cpp:
1871         (WebCore::SuspendableTimer::SuspendableTimer):
1872         (WebCore::SuspendableTimer::suspend):
1873         (WebCore::SuspendableTimer::resume):
1874         * page/SuspendableTimer.h:
1875
1876 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
1877
1878         Reviewed by Andreas Kling.
1879
1880         Change wrong PLATFORM(WIN) to USE(WININET)
1881         https://bugs.webkit.org/show_bug.cgi?id=53547
1882
1883         * platform/network/ResourceHandle.h:
1884
1885 2011-02-01  Beth Dakin  <bdakin@apple.com>
1886
1887         32-bit build fix.
1888
1889         * platform/mac/ScrollAnimatorMac.mm:
1890         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
1891
1892 2011-01-25  Martin Robinson  <mrobinson@igalia.com>
1893
1894         Reviewed by Gustavo Noronha Silva.
1895
1896         [GTK] Two tests crash after r76555
1897         https://bugs.webkit.org/show_bug.cgi?id=53057
1898
1899         Instead of creating synchronous ResourceHandles manually, use the ::create factory.
1900         This ensures that ::start() is not called when there is a scheduled failure and also
1901         reduces code duplication.
1902
1903         * platform/network/soup/ResourceHandleSoup.cpp:
1904         (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
1905
1906 2011-02-01  Martin Robinson  <mrobinson@igalia.com>
1907
1908         Reviewed by Eric Seidel.
1909
1910         [GTK] GObject DOM bindings do no support the CallWith attribute
1911         https://bugs.webkit.org/show_bug.cgi?id=53331
1912
1913         Disable building GObject DOM bindings for IndexedDB because we do not support
1914         the CallWith attribute at this time.
1915
1916         * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
1917
1918 2011-02-01  Darin Adler  <darin@apple.com>
1919
1920         Reviewed by Brady Eidson.
1921
1922         Fix a couple loose ends from the back/forward tree encode/decode work
1923         https://bugs.webkit.org/show_bug.cgi?id=53537
1924
1925         * history/HistoryItem.cpp:
1926         (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
1927         original URL string; no need to encode it twice.
1928         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
1929         * history/HistoryItem.h: Removed declaration for function that is no
1930         longer defined nor used.
1931
1932 2011-02-01  Tony Chang  <tony@chromium.org>
1933
1934         Reviewed by Kent Tamura.
1935
1936         [chromium] disable arm uninitialized variable warnings
1937         https://bugs.webkit.org/show_bug.cgi?id=53553
1938
1939         We just got another error:
1940         third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
1941         'colorTransparent.unstatic.4879' may be used uninitialized in this
1942         function
1943
1944         * WebCore.gyp/WebCore.gyp:
1945
1946 2011-02-01  chris reiss  <christopher.reiss@nokia.com>
1947
1948         Reviewed by Adam Barth.
1949
1950         Self-replicating code makes Safari hang and eventually crash
1951         https://bugs.webkit.org/show_bug.cgi?id=15123
1952
1953        
1954         Here we are replicating the Firefox safeguard against
1955         recursive document.write( ) 's.
1956
1957         See  https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug 
1958         https://bugzilla.mozilla.org/show_bug.cgi?id=197052 .   Firefox does two things - 
1959             a) imposes a recursion limit of 20 on document.write( ) and
1960             b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
1961         To see why this is necessary, consider the script : 
1962
1963         <script>
1964            var t = document.body.innerHTML;
1965            document.write(t);
1966         </script> 
1967
1968         This will create a tree both broad and deep as the script keeps appending itself to the text.   If
1969         we just return one level after the recursion limit is reached, we still allow millions of copies to 
1970         duplicate (and execute).   
1971
1972         The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
1973         to prevent this situation.    (IE apparently does the same thing, with a lower recursion limit.) 
1974
1975         Test: fast/dom/Document/document-write-recursion.html        
1976         Test: fast/dom/Document/document-close-iframe-load.html
1977         Test: fast/dom/Document/document-close-nested-iframe-load.html
1978
1979
1980         * dom/Document.cpp:
1981         (WebCore::Document::Document):
1982         (WebCore::Document::write):
1983         * dom/Document.h:
1984
1985 2011-02-01  Johnny Ding  <jnd@chromium.org>
1986
1987         Reviewed by Darin Adler.
1988
1989         Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
1990         https://bugs.webkit.org/show_bug.cgi?id=53424
1991
1992         Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
1993
1994         * html/HTMLAnchorElement.cpp:
1995         (WebCore::handleLinkClick):
1996
1997 2011-02-01  Csaba Osztrogon√°c  <ossy@webkit.org>
1998
1999         Unreviewed Qt buildfix after r77286.
2000
2001         https://bugs.webkit.org/show_bug.cgi?id=53520 
2002         Remove the physical terminology from IntRect and FloatRect.
2003
2004         * platform/graphics/TiledBackingStore.cpp:
2005         (WebCore::TiledBackingStore::createTiles):
2006
2007 2011-02-01  Sam Weinig  <sam@webkit.org>
2008
2009         Fix Mac production builds.
2010
2011         * DerivedSources.make:
2012         * WebCore.xcodeproj/project.pbxproj:
2013         * platform/mac/ScrollAnimatorMac.h:
2014         * platform/mac/ScrollbarThemeMac.h:
2015
2016 2011-02-01  Darin Adler  <darin@apple.com>
2017
2018         Reviewed by Chris Fleizach.
2019
2020         REGRESSION: Removing focus from area element causes unwanted scrolling
2021         https://bugs.webkit.org/show_bug.cgi?id=50169
2022
2023         Test: fast/images/imagemap-scroll.html
2024
2025         * html/HTMLAreaElement.cpp:
2026         (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
2027         RenderImage::areaElementFocusChanged function.
2028         (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
2029         here that calls setNeedsLayout on the image's renderer. This was an
2030         attempt to cause repaint of the renderer, but this function does not
2031         need to do that. Also changed this to use the imageElement function
2032         to avoid repeating code.
2033
2034         * html/HTMLAreaElement.h: Updated for above changes.
2035
2036         * rendering/RenderImage.cpp:
2037         (WebCore::RenderImage::paint): Updated for name change.
2038         (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
2039         paintFocusRing, because it only paints area focus rings, and should
2040         not be confused with paintFocusRing functions in other classes. Also
2041         removed the unused style argument. Removed the code that used an
2042         HTMLCollection to see if the focused area element is for this image
2043         and instead just call imageElement on the area element.
2044         (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
2045
2046         * rendering/RenderImage.h: Added a public areaElementFocusChanged
2047         function for HTMLAreaElement to call. Made the paintFocusRing function
2048         private, renamed it to paintAreaElementFocusRing, and removed its
2049         unused style argument.
2050
2051 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
2052
2053         Unreviewed WinCE build fix for r77286.
2054
2055         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2056         (WebCore::TransparentLayerDC::TransparentLayerDC):
2057
2058 2011-02-01  Chris Fleizach  <cfleizach@apple.com>
2059
2060         Reviewed by Darin Adler.
2061
2062         AX: AXPosition of AXScrollArea is wrong
2063         https://bugs.webkit.org/show_bug.cgi?id=53511
2064
2065         AccessibilityScrollView needed to return a valid documentFrameView() object.
2066         At the same time, the code from document() should be consolidated in 
2067         AccessibilityObject, so all objects can use it.
2068
2069         Test: platform/mac/accessibility/webkit-scrollarea-position.html
2070
2071         * accessibility/AccessibilityObject.cpp:
2072         (WebCore::AccessibilityObject::document):
2073         * accessibility/AccessibilityObject.h:
2074         * accessibility/AccessibilityScrollView.cpp:
2075         (WebCore::AccessibilityScrollView::accessibilityHitTest):
2076         (WebCore::AccessibilityScrollView::documentFrameView):
2077         * accessibility/AccessibilityScrollView.h:
2078
2079 2011-02-01  Zhenyao Mo  <zmo@google.com>
2080
2081         Reviewed by Kenneth Russell.
2082
2083         getUniform should support SAMPLER_2D or SAMPLER_CUBE
2084         https://bugs.webkit.org/show_bug.cgi?id=52190
2085
2086         * html/canvas/WebGLRenderingContext.cpp:
2087         (WebCore::WebGLRenderingContext::getUniform):
2088
2089 2011-02-01  Zhenyao Mo  <zmo@google.com>
2090
2091         Reviewed by Darin Adler.
2092
2093         Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
2094         https://bugs.webkit.org/show_bug.cgi?id=53531
2095
2096         With this fix, running WebGL conformance tests should no longer crash randomly.
2097
2098         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2099         (WebCore::GraphicsContext3D::getImageData):
2100
2101 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
2102
2103         One more Chromium build fix after r77286.
2104
2105         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2106         (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
2107
2108 2011-02-01  Sam Weinig  <sam@webkit.org>
2109
2110         Fix the build for Beth.
2111
2112         * platform/mac/ScrollAnimatorMac.mm:
2113         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2114
2115 2011-02-01  Sam Weinig  <sam@webkit.org>
2116
2117         Reviewed by Beth Dakin.
2118
2119         Part 2 for <rdar://problem/8492788>
2120         Adopt WKScrollbarPainterController
2121
2122         Use header detection to define scrollbar painting controller #define.
2123
2124         * WebCore.exp.in:
2125         * platform/mac/ScrollAnimatorMac.h:
2126         * platform/mac/ScrollbarThemeMac.h:
2127         * platform/mac/WebCoreSystemInterface.h:
2128         * platform/mac/WebCoreSystemInterface.mm:
2129
2130 2011-02-01  David Hyatt  <hyatt@apple.com>
2131
2132         Reviewed by Oliver Hunt.
2133
2134         https://bugs.webkit.org/show_bug.cgi?id=53520
2135         
2136         Remove the physical terminology from IntRect and FloatRect.
2137         
2138         Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
2139         we need to update our terminology to be more accurate.
2140
2141         I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
2142         renaming right() and bottom() to maxX() and maxY().  These terms remain accurate
2143         even for flipped rectangles.
2144
2145         * accessibility/AccessibilityRenderObject.cpp:
2146         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2147         * accessibility/mac/AccessibilityObjectWrapper.mm:
2148         (-[AccessibilityObjectWrapper position]):
2149         * dom/ClientRect.h:
2150         (WebCore::ClientRect::right):
2151         (WebCore::ClientRect::bottom):
2152         * html/HTMLCanvasElement.cpp:
2153         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
2154         * html/canvas/CanvasRenderingContext2D.cpp:
2155         (WebCore::normalizeRect):
2156         * inspector/InspectorAgent.cpp:
2157         (WebCore::InspectorAgent::drawElementTitle):
2158         * page/DOMWindow.cpp:
2159         (WebCore::DOMWindow::adjustWindowRect):
2160         * page/DragController.cpp:
2161         (WebCore::dragLocForSelectionDrag):
2162         * page/EventHandler.cpp:
2163         (WebCore::EventHandler::sendContextMenuEventForKey):
2164         * page/PrintContext.cpp:
2165         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
2166         (WebCore::PrintContext::pageNumberForElement):
2167         * page/SpatialNavigation.cpp:
2168         (WebCore::end):
2169         (WebCore::areRectsFullyAligned):
2170         (WebCore::areRectsMoreThanFullScreenApart):
2171         (WebCore::below):
2172         (WebCore::rightOf):
2173         (WebCore::isRectInDirection):
2174         (WebCore::entryAndExitPointsForDirection):
2175         (WebCore::virtualRectForDirection):
2176         * page/WindowFeatures.cpp:
2177         (WebCore::WindowFeatures::WindowFeatures):
2178         * platform/ScrollView.cpp:
2179         (WebCore::ScrollView::wheelEvent):
2180         * platform/Scrollbar.cpp:
2181         (WebCore::Scrollbar::setFrameRect):
2182         * platform/ScrollbarThemeComposite.cpp:
2183         (WebCore::ScrollbarThemeComposite::splitTrack):
2184         * platform/chromium/ScrollbarThemeChromium.cpp:
2185         (WebCore::ScrollbarThemeChromium::paintTickmarks):
2186         * platform/graphics/FloatQuad.h:
2187         (WebCore::FloatQuad::FloatQuad):
2188         * platform/graphics/FloatRect.cpp:
2189         (WebCore::FloatRect::intersects):
2190         (WebCore::FloatRect::contains):
2191         (WebCore::FloatRect::intersect):
2192         (WebCore::FloatRect::unite):
2193         (WebCore::enclosingIntRect):
2194         * platform/graphics/FloatRect.h:
2195         (WebCore::FloatRect::maxX):
2196         (WebCore::FloatRect::maxY):
2197         (WebCore::FloatRect::contains):
2198         * platform/graphics/IntRect.cpp:
2199         (WebCore::IntRect::intersects):
2200         (WebCore::IntRect::contains):
2201         (WebCore::IntRect::intersect):
2202         (WebCore::IntRect::unite):
2203         * platform/graphics/IntRect.h:
2204         (WebCore::IntRect::maxX):
2205         (WebCore::IntRect::maxY):
2206         (WebCore::IntRect::shiftXEdgeTo):
2207         (WebCore::IntRect::shiftMaxXEdgeTo):
2208         (WebCore::IntRect::shiftYEdgeTo):
2209         (WebCore::IntRect::shiftMaxYEdgeTo):
2210         (WebCore::IntRect::contains):
2211         * platform/graphics/WidthIterator.cpp:
2212         (WebCore::WidthIterator::advance):
2213         * platform/graphics/cg/GraphicsContextCG.cpp:
2214         (WebCore::GraphicsContext::drawRect):
2215         (WebCore::GraphicsContext::fillPath):
2216         (WebCore::GraphicsContext::fillRect):
2217         * platform/graphics/cg/ImageBufferCG.cpp:
2218         (WebCore::getImageData):
2219         (WebCore::putImageData):
2220         * platform/graphics/cg/ImageCG.cpp:
2221         (WebCore::BitmapImage::draw):
2222         * platform/graphics/filters/FilterEffect.cpp:
2223         (WebCore::FilterEffect::copyImageBytes):
2224         * platform/graphics/mac/ComplexTextController.cpp:
2225         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2226         * platform/graphics/mac/SimpleFontDataMac.mm:
2227         (WebCore::SimpleFontData::platformBoundsForGlyph):
2228         * platform/graphics/transforms/AffineTransform.cpp:
2229         (WebCore::AffineTransform::mapRect):
2230         * platform/graphics/win/FontCGWin.cpp:
2231         (WebCore::drawGDIGlyphs):
2232         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2233         (WebCore::MediaPlayerPrivate::paint):
2234         * platform/gtk/RenderThemeGtk.cpp:
2235         (WebCore::centerRectVerticallyInParentInputElement):
2236         * platform/mac/WidgetMac.mm:
2237         (WebCore::Widget::paint):
2238         * rendering/InlineFlowBox.cpp:
2239         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2240         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2241         * rendering/InlineTextBox.cpp:
2242         (WebCore::InlineTextBox::selectionRect):
2243         (WebCore::InlineTextBox::paint):
2244         (WebCore::InlineTextBox::positionForOffset):
2245         * rendering/RenderBlock.cpp:
2246         (WebCore::RenderBlock::addOverflowFromChildren):
2247         (WebCore::RenderBlock::paintChildren):
2248         (WebCore::RenderBlock::paintEllipsisBoxes):
2249         (WebCore::RenderBlock::inlineSelectionGaps):
2250         (WebCore::RenderBlock::adjustPointToColumnContents):
2251         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2252         (WebCore::RenderBlock::adjustForColumns):
2253         * rendering/RenderBlock.h:
2254         (WebCore::RenderBlock::FloatingObject::right):
2255         (WebCore::RenderBlock::FloatingObject::bottom):
2256         * rendering/RenderBox.cpp:
2257         (WebCore::RenderBox::reflectedRect):
2258         (WebCore::RenderBox::localCaretRect):
2259         (WebCore::RenderBox::addShadowOverflow):
2260         (WebCore::RenderBox::addLayoutOverflow):
2261         (WebCore::RenderBox::visualOverflowRectForPropagation):
2262         (WebCore::RenderBox::layoutOverflowRectForPropagation):
2263         (WebCore::RenderBox::flipForWritingMode):
2264         * rendering/RenderFrameSet.cpp:
2265         (WebCore::RenderFrameSet::paintColumnBorder):
2266         (WebCore::RenderFrameSet::paintRowBorder):
2267         * rendering/RenderInline.cpp:
2268         (WebCore::RenderInline::paintOutlineForLine):
2269         * rendering/RenderLayer.cpp:
2270         (WebCore::RenderLayer::getRectToExpose):
2271         (WebCore::cornerRect):
2272         (WebCore::RenderLayer::positionOverflowControls):
2273         (WebCore::RenderLayer::overflowBottom):
2274         (WebCore::RenderLayer::overflowRight):
2275         (WebCore::RenderLayer::paintResizer):
2276         * rendering/RenderLineBoxList.cpp:
2277         (WebCore::RenderLineBoxList::rangeIntersectsRect):
2278         (WebCore::RenderLineBoxList::paint):
2279         * rendering/RenderListItem.cpp:
2280         (WebCore::RenderListItem::positionListMarker):
2281         * rendering/RenderListMarker.cpp:
2282         (WebCore::RenderListMarker::paint):
2283         * rendering/RenderObject.cpp:
2284         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2285         * rendering/RenderOverflow.h:
2286         (WebCore::RenderOverflow::RenderOverflow):
2287         (WebCore::RenderOverflow::addLayoutOverflow):
2288         (WebCore::RenderOverflow::addVisualOverflow):
2289         (WebCore::RenderOverflow::setLayoutOverflow):
2290         (WebCore::RenderOverflow::setVisualOverflow):
2291         (WebCore::RenderOverflow::resetLayoutOverflow):
2292         * rendering/RenderReplaced.cpp:
2293         (WebCore::RenderReplaced::shouldPaint):
2294         * rendering/RenderScrollbarTheme.cpp:
2295         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2296         * rendering/RenderTable.cpp:
2297         (WebCore::RenderTable::paint):
2298         * rendering/RenderTableCell.cpp:
2299         (WebCore::RenderTableCell::paint):
2300         * rendering/RenderTableSection.cpp:
2301         (WebCore::RenderTableSection::paintObject):
2302         * rendering/RenderText.cpp:
2303         (WebCore::RenderText::absoluteQuads):
2304         * rendering/RenderTextControlSingleLine.cpp:
2305         (WebCore::RenderTextControlSingleLine::forwardEvent):
2306         * rendering/RenderThemeMac.mm:
2307         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2308         (WebCore::RenderThemeMac::paintMenuListButton):
2309         (WebCore::RenderThemeMac::paintSliderTrack):
2310         * rendering/RenderView.cpp:
2311         (WebCore::RenderView::computeRectForRepaint):
2312         (WebCore::RenderView::docBottom):
2313         (WebCore::RenderView::docRight):
2314         * rendering/RootInlineBox.cpp:
2315         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
2316         * rendering/svg/RenderSVGInlineText.cpp:
2317         (WebCore::RenderSVGInlineText::localCaretRect):
2318
2319 2011-02-01  Beth Dakin  <bdakin@apple.com>
2320
2321         Reviewed by Sam Weinig.
2322
2323         Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
2324
2325         Lots of new WebCoreSystemInterface functions to export.
2326         * WebCore.exp.in:
2327         * platform/mac/WebCoreSystemInterface.h:
2328         * platform/mac/WebCoreSystemInterface.mm:
2329
2330         Let the scrollAnimator know when the mouse has
2331         moved anywhere inside the page, and when the mouse 
2332         has moved in or out of the window. 
2333         * page/EventHandler.cpp:
2334         (WebCore::EventHandler::mouseMoved):
2335         (WebCore::EventHandler::updateMouseEventTargetNode):
2336
2337         Let the scrollAnimator know when the window has become
2338         active or inactive.
2339         * page/FocusController.cpp:
2340         (WebCore::FocusController::setActive):
2341         
2342         Let the scrollAnimator know when all of these things
2343         are happening.
2344         * page/FrameView.cpp:
2345         (WebCore::FrameView::setContentsSize):
2346         (WebCore::FrameView::didMoveOnscreen):
2347         (WebCore::FrameView::willMoveOffscreen):
2348         (WebCore::FrameView::currentMousePosition):
2349         (WebCore::FrameView::contentsResized):
2350         
2351         New functions called through WebKit2 that allow the
2352         scrollAnimator to know when a live resize starts and ends.
2353         (WebCore::FrameView::willStartLiveResize):
2354         (WebCore::FrameView::willEndLiveResize):
2355         * page/FrameView.h:
2356         
2357         New functions on ScrollAnimator that pass information
2358         to the WKPainterController when we're using one.
2359         * platform/ScrollAnimator.h:
2360         (WebCore::ScrollAnimator::scrollableArea):
2361         (WebCore::ScrollAnimator::contentAreaWillPaint):
2362         (WebCore::ScrollAnimator::mouseEnteredContentArea):
2363         (WebCore::ScrollAnimator::mouseExitedContentArea):
2364         (WebCore::ScrollAnimator::mouseMovedInContentArea):
2365         (WebCore::ScrollAnimator::willStartLiveResize):
2366         (WebCore::ScrollAnimator::contentsResized):
2367         (WebCore::ScrollAnimator::willEndLiveResize):
2368         (WebCore::ScrollAnimator::contentAreaDidShow):
2369         (WebCore::ScrollAnimator::contentAreaDidHide):
2370         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2371         (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
2372         (WebCore::ScrollAnimatorMac::setPainterForPainterController):
2373         (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
2374         (WebCore::ScrollAnimatorMac::notityPositionChanged):
2375         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2376         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2377         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2378         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2379         (WebCore::ScrollAnimatorMac::willStartLiveResize):
2380         (WebCore::ScrollAnimatorMac::contentsResized):
2381         (WebCore::ScrollAnimatorMac::willEndLiveResize):
2382         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2383         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2384         
2385         Let the scrollAnimator know when this is happening.
2386         * platform/ScrollView.cpp:
2387         (WebCore::ScrollView::paint):
2388         
2389         New function lets the scrollAnimator get the current 
2390         mouse position.
2391         * platform/ScrollView.h:
2392         (WebCore::ScrollView::currentMousePosition):
2393         
2394         New function that returns the scrollAnimator when needed.
2395         * platform/ScrollableArea.h:
2396         (WebCore::ScrollableArea::scrollAnimator):
2397         
2398         Keep track of if we're in a live resize using a new memeber
2399         variable.
2400         * platform/mac/ScrollAnimatorMac.h:
2401         (WebCore::ScrollAnimatorMac::inLiveResize):
2402         * platform/mac/ScrollAnimatorMac.mm:
2403         (WebCore::view):
2404         
2405         New delegates for the WKPainter and WKPainterController
2406         (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
2407         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2408         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2409         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
2410         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
2411         (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
2412         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2413         (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
2414         (-[ScrollKnobAnimation setCurrentProgress:]):
2415         (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
2416         (-[ScrollbarPainterDelegate convertRectToBacking:]):
2417         (-[ScrollbarPainterDelegate convertRectFromBacking:]):
2418         (-[ScrollbarPainterDelegate layer]):
2419         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
2420         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2421         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2422         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
2423
2424         Get the WKScrollbarPainterRefs to synch up with the 
2425         WKScrollbarPainterControllerRefs when appropriate
2426         * platform/mac/ScrollbarThemeMac.h:
2427         * platform/mac/ScrollbarThemeMac.mm:
2428         (WebCore::ScrollbarThemeMac::registerScrollbar):
2429         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2430         (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
2431         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2432
2433         Implement ScrollableArea's virtual function contentsSize() for access
2434         through the scrollAnimator.
2435         * rendering/RenderLayer.h:
2436         (WebCore::RenderLayer::contentsSize):
2437
2438 2011-02-01  Carol Szabo  <carol.szabo@nokia.com>
2439
2440         Reviewed by David Hyatt.
2441
2442         layoutTestController.counterValueForElementById does not return the correct value
2443         https://bugs.webkit.org/show_bug.cgi?id=53037
2444
2445         Test: fast/css/counters/deep-before.html
2446
2447         * rendering/RenderTreeAsText.cpp:
2448         (WebCore::counterValueForElement):
2449         Modified to use the newly available RenderObject::beforePseudoElement()
2450         and RenderObject::afterPseudoElement() instead of the old imperfect
2451         algorithm to find the before and after pseudo elements.
2452
2453 2011-02-01  Anton Muhin  <antonm@chromium.org>
2454
2455         Reviewed by Adam Barth.
2456
2457         Allow access for security origin same as this.
2458         https://bugs.webkit.org/show_bug.cgi?id=53440
2459
2460         Hard to test as newly added path currently is never hit.
2461
2462         * page/SecurityOrigin.cpp:
2463         (WebCore::SecurityOrigin::canAccess): allow access if this == other
2464
2465 2011-01-31  Oliver Hunt  <oliver@apple.com>
2466
2467         Reviewed by Geoffrey Garen.
2468
2469         Update JSObject storage for new marking API
2470         https://bugs.webkit.org/show_bug.cgi?id=53467
2471
2472         Update WebCore to handle new anonymous slot behaviour.
2473
2474         * bindings/js/JSDOMWindowShell.cpp:
2475         (WebCore::JSDOMWindowShell::setWindow):
2476         * bindings/js/WorkerScriptController.cpp:
2477         (WebCore::WorkerScriptController::initScript):
2478         * bindings/scripts/CodeGeneratorJS.pm:
2479
2480 2011-02-01  Xiaomei Ji  <xji@chromium.org>
2481
2482         Reviewed by David Hyatt.
2483
2484         Fix a text rendering problem when enclosing block is RTL and text runs
2485         are in different directionality.
2486         https://bugs.webkit.org/show_bug.cgi?id=34176
2487
2488         The problem happens in the following example scenario (ABC represents 
2489         Hebrew characters):
2490         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
2491
2492         The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
2493         TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
2494         TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
2495
2496         The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
2497
2498         Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
2499         creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
2500         the run's render object's ancestor (not only its parent) has already 
2501         been constructed or has something following it on the line, in which 
2502         case, create a new box for TextRun2 instead of sharing the same box with
2503         TextRun3.
2504
2505         In other words, the following 2 div should render the same results
2506         (ABC represents Hebrew characters).
2507         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
2508         <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
2509
2510         Test: fast/dom/34176.html
2511
2512         * rendering/RenderBlockLineLayout.cpp:
2513         (WebCore::parentIsConstructedOrHaveNext):
2514         (WebCore::RenderBlock::createLineBoxes):
2515
2516 2011-02-01  Abhishek Arya  <inferno@chromium.org>
2517
2518         Reviewed by Dan Bernstein.
2519
2520         Do not add a node in the document's stylesheet candidate node list if the
2521         node is already removed from document.
2522         https://bugs.webkit.org/show_bug.cgi?id=53441
2523
2524         Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
2525
2526         * dom/Document.cpp:
2527         (WebCore::Document::addStyleSheetCandidateNode):
2528
2529 2011-02-01  Dave Hyatt  <hyatt@apple.com>
2530
2531         Reviewed by Darin Adler.
2532
2533         https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
2534         with vertical text.
2535
2536         Change printing functions to check writing-mode and properly swap width and height
2537         as needed.
2538         
2539         Fix the setScrollOrigin function so that the origin doesn't cause
2540         scroll spasming during printing (this is only partially successful, but it's better
2541         than it was).
2542
2543         Rewrite computePageRects to handle both RTL documents properly as well as vertical
2544         text documents properly.
2545
2546         * WebCore.exp.in:
2547         * page/FrameView.cpp:
2548         (WebCore::FrameView::adjustViewSize):
2549         (WebCore::FrameView::forceLayoutForPagination):
2550         * page/PrintContext.cpp:
2551         (WebCore::PrintContext::computePageRects):
2552         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
2553         (WebCore::PrintContext::computeAutomaticScaleFactor):
2554         (WebCore::PrintContext::spoolPage):
2555         (WebCore::PrintContext::spoolRect):
2556         * page/PrintContext.h:
2557         * page/mac/WebCoreFrameView.h:
2558         * platform/ScrollView.cpp:
2559         (WebCore::ScrollView::wheelEvent):
2560         * platform/ScrollView.h:
2561         * platform/mac/ScrollViewMac.mm:
2562         (WebCore::ScrollView::platformSetScrollOrigin):
2563         * rendering/RenderView.cpp:
2564         (WebCore::RenderView::layout):
2565
2566 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
2567
2568         Reviewed by Pavel Feldman.
2569
2570         Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
2571
2572         https://bugs.webkit.org/show_bug.cgi?id=53500
2573
2574         * inspector/InspectorProfilerAgent.cpp:
2575         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
2576
2577 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
2578
2579         Reviewed by Pavel Feldman.
2580
2581         Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
2582
2583         https://bugs.webkit.org/show_bug.cgi?id=53173
2584
2585         Adding code for accessing heap snapshot data and
2586         performing graph calculations.
2587
2588         * English.lproj/localizedStrings.js:
2589         * inspector/front-end/HeapSnapshot.js:
2590         (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
2591         (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
2592         (WebInspector.HeapSnapshotEdgeIterator):
2593         (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
2594         (WebInspector.HeapSnapshotNodeIterator):
2595         (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
2596         (WebInspector.HeapSnapshotFilteredOrderedIterator):
2597         (WebInspector.HeapSnapshotEdgesProvider):
2598         (WebInspector.HeapSnapshotNodesProvider):
2599         (WebInspector.HeapSnapshotPathFinder):
2600         * inspector/front-end/HeapSnapshotView.js:
2601         (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
2602
2603 2011-02-01  Adam Roben  <aroben@apple.com>
2604
2605         Fix linker warnings in Release_LTCG builds
2606
2607         * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
2608         configurations, since they get pulled in via DOMAllInOne.cpp.
2609
2610 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
2611
2612         Reviewed by Yury Semikhatsky.
2613
2614         Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
2615         https://bugs.webkit.org/show_bug.cgi?id=53482
2616
2617         * English.lproj/localizedStrings.js:
2618         * inspector/front-end/ElementsPanel.js:
2619         (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
2620         * inspector/front-end/inspector.js:
2621         (WebInspector.resourceForURL):
2622         (WebInspector.openLinkExternallyLabel):
2623
2624 2011-02-01  Anton Muhin  <antonm@chromium.org>
2625
2626         Reviewed by Adam Barth.
2627
2628         Propagate parent document security origin to newly create Document XML response
2629         https://bugs.webkit.org/show_bug.cgi?id=53444
2630
2631         Covered by the existing tests.
2632
2633         * xml/XMLHttpRequest.cpp:
2634         (WebCore::XMLHttpRequest::responseXML):
2635
2636 2011-02-01  Yury Semikhatsky  <yurys@chromium.org>
2637
2638         Unreviewed. Rollout r77230 which caused many layout tests
2639         crashes on Chromium Debug bots.
2640
2641         Async event handlers should not fire within a modal dialog
2642         https://bugs.webkit.org/show_bug.cgi?id=53202
2643
2644         * dom/Document.cpp:
2645         (WebCore::Document::Document):
2646         * dom/EventQueue.cpp:
2647         (WebCore::EventQueue::EventQueue):
2648         (WebCore::EventQueue::enqueueEvent):
2649         (WebCore::EventQueue::pendingEventTimerFired):
2650         * dom/EventQueue.h:
2651
2652 2011-02-01  Zoltan Herczeg  <zherczeg@webkit.org>
2653
2654         Reviewed by Dirk Schulze.
2655
2656         LightElement changes does not require relayout.
2657         https://bugs.webkit.org/show_bug.cgi?id=53232
2658
2659         When an attribute of a LightElement changes, it
2660         send an update message to the lighting filters
2661         to update its corresponding LightSource objects,
2662         and repaint the filters.
2663
2664         Duplicated 'id' attributes removed from svg-filter-animation.svg.
2665
2666         Existing dynamic-update tests covers this feature.
2667
2668         5x speedup on manual-tests/svg-filter-animation.svg
2669
2670         * manual-tests/svg-filter-animation.svg:
2671         * platform/graphics/filters/DistantLightSource.h:
2672         * platform/graphics/filters/FEDiffuseLighting.cpp:
2673         (WebCore::FEDiffuseLighting::setLightingColor):
2674         (WebCore::FEDiffuseLighting::setSurfaceScale):
2675         (WebCore::FEDiffuseLighting::setDiffuseConstant):
2676         (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
2677         (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
2678         * platform/graphics/filters/FEDiffuseLighting.h:
2679         * platform/graphics/filters/LightSource.cpp:
2680         (WebCore::PointLightSource::setX):
2681         (WebCore::PointLightSource::setY):
2682         (WebCore::PointLightSource::setZ):
2683         (WebCore::SpotLightSource::setX):
2684         (WebCore::SpotLightSource::setY):
2685         (WebCore::SpotLightSource::setZ):
2686         (WebCore::SpotLightSource::setPointsAtX):
2687         (WebCore::SpotLightSource::setPointsAtY):
2688         (WebCore::SpotLightSource::setPointsAtZ):
2689         (WebCore::SpotLightSource::setSpecularExponent):
2690         (WebCore::SpotLightSource::setLimitingConeAngle):
2691         (WebCore::DistantLightSource::setAzimuth):
2692         (WebCore::DistantLightSource::setElevation):
2693         (WebCore::LightSource::setAzimuth):
2694         (WebCore::LightSource::setElevation):
2695         (WebCore::LightSource::setX):
2696         (WebCore::LightSource::setY):
2697         (WebCore::LightSource::setZ):
2698         (WebCore::LightSource::setPointsAtX):
2699         (WebCore::LightSource::setPointsAtY):
2700         (WebCore::LightSource::setPointsAtZ):
2701         (WebCore::LightSource::setSpecularExponent):
2702         (WebCore::LightSource::setLimitingConeAngle):
2703         * platform/graphics/filters/LightSource.h:
2704         * platform/graphics/filters/PointLightSource.h:
2705         * platform/graphics/filters/SpotLightSource.h:
2706         * rendering/svg/RenderSVGResourceFilter.cpp:
2707         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
2708         * svg/SVGFEDiffuseLightingElement.cpp:
2709         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
2710         (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
2711         (WebCore::SVGFEDiffuseLightingElement::build):
2712         (WebCore::SVGFEDiffuseLightingElement::findLightElement):
2713         (WebCore::SVGFEDiffuseLightingElement::findLight):
2714         * svg/SVGFEDiffuseLightingElement.h:
2715         * svg/SVGFELightElement.cpp:
2716         (WebCore::SVGFELightElement::svgAttributeChanged):
2717         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2718         (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
2719         * svg/SVGFilterPrimitiveStandardAttributes.h:
2720
2721 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
2722
2723         Reviewed by Dimitri Glazkov.
2724
2725         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
2726         https://bugs.webkit.org/show_bug.cgi?id=53289
2727
2728         Moving the nested class DocumentOrderedMap from Document into separate files,
2729         updating code where necessary.
2730
2731         No new tests. (refactoring)
2732
2733         * Android.mk:
2734         * CMakeLists.txt:
2735         * GNUMakefile.am:
2736         * WebCore.gypi:
2737         * WebCore.pro:
2738         * WebCore.vcproj/WebCore.vcproj:
2739         * WebCore.xcodeproj/project.pbxproj:
2740         * dom/Document.cpp:
2741         (WebCore::Document::getElementById):
2742         (WebCore::Document::getImageMap):
2743         * dom/Document.h:
2744         * dom/DocumentOrderedMap.cpp: Added.
2745         (WebCore::keyMatchesId):
2746         (WebCore::keyMatchesMapName):
2747         (WebCore::keyMatchesLowercasedMapName):
2748         (WebCore::DocumentOrderedMap::clear):
2749         (WebCore::DocumentOrderedMap::add):
2750         (WebCore::DocumentOrderedMap::remove):
2751         (WebCore::DocumentOrderedMap::get):
2752         (WebCore::DocumentOrderedMap::getElementById):
2753         (WebCore::DocumentOrderedMap::getElementByMapName):
2754         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
2755         * dom/DocumentOrderedMap.h: Added.
2756         (WebCore::DocumentOrderedMap::contains):
2757         (WebCore::DocumentOrderedMap::containsMultiple):
2758         * dom/DOMAllInOne.cpp:
2759
2760 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
2761
2762         Reviewed by Martin Robinson.
2763
2764         [Gtk] atk_text_set_caret_offset fails for list items
2765         https://bugs.webkit.org/show_bug.cgi?id=53388
2766
2767         Allow using text ranges across list items.
2768
2769         * accessibility/gtk/AccessibilityObjectAtk.cpp:
2770         (WebCore::AccessibilityObject::allowsTextRanges): Add list items
2771         to the list of accessibility objects supporting text ranges.
2772
2773 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
2774
2775         Reviewed by Martin Robinson.
2776
2777         [GTK] character range extents is off when the end of a wrapped line is included
2778         https://bugs.webkit.org/show_bug.cgi?id=53323
2779
2780         Fixed wrong calculation getting the range extents.
2781
2782         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2783         (webkit_accessible_text_get_range_extents): Removed '+1' since the
2784         requested interval shouldn't include the last character.
2785
2786 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
2787
2788         Reviewed by Martin Robinson.
2789
2790         [GTK] Caret Offset is one off at the end of wrapped lines
2791         https://bugs.webkit.org/show_bug.cgi?id=53300
2792
2793         Consider linebreaks as special cases.
2794
2795         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2796         (objectAndOffsetUnignored): In order to avoid getting wrong values
2797         when around linebreaks, we need to workaround this by explicitly
2798         avoiding those '\n' text nodes from affecting the result of
2799         calling to TextIterator:rangeLength().
2800
2801 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
2802
2803         Unreviewed, rolling out r77229.
2804         http://trac.webkit.org/changeset/77229
2805         https://bugs.webkit.org/show_bug.cgi?id=53289
2806
2807         revert mysterious build breakage
2808
2809         * Android.mk:
2810         * CMakeLists.txt:
2811         * GNUmakefile.am:
2812         * WebCore.gypi:
2813         * WebCore.pro:
2814         * WebCore.vcproj/WebCore.vcproj:
2815         * WebCore.xcodeproj/project.pbxproj:
2816         * dom/DOMAllInOne.cpp:
2817         * dom/Document.cpp:
2818         (WebCore::Document::DocumentOrderedMap::clear):
2819         (WebCore::Document::DocumentOrderedMap::add):
2820         (WebCore::Document::DocumentOrderedMap::remove):
2821         (WebCore::Document::DocumentOrderedMap::get):
2822         (WebCore::keyMatchesId):
2823         (WebCore::Document::getElementById):
2824         (WebCore::keyMatchesMapName):
2825         (WebCore::keyMatchesLowercasedMapName):
2826         (WebCore::Document::getImageMap):
2827         * dom/Document.h:
2828         (WebCore::Document::DocumentOrderedMap::contains):
2829         (WebCore::Document::DocumentOrderedMap::containsMultiple):
2830         * dom/DocumentOrderedMap.cpp: Removed.
2831         * dom/DocumentOrderedMap.h: Removed.
2832
2833 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
2834
2835         Reviewed by James Robinson.
2836
2837         Async event handlers should not fire within a modal dialog
2838         https://bugs.webkit.org/show_bug.cgi?id=53202
2839
2840         Asychronous events that use EventQueue would currently fire while a
2841         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
2842         SuspendableTimer (which automatically gets suspended while dialogs are
2843         up and in other cases where JS execution is not allowed).
2844         
2845         Test: fast/events/scroll-event-during-modal-dialog.html
2846
2847         * dom/Document.cpp:
2848         (WebCore::Document::Document):
2849         * dom/EventQueue.cpp:
2850         (WebCore::EventQueueTimer::EventQueueTimer):
2851         (WebCore::EventQueueTimer::fired):
2852         (WebCore::EventQueue::EventQueue):
2853         (WebCore::EventQueue::enqueueEvent):
2854         (WebCore::EventQueue::pendingEventTimerFired):
2855         * dom/EventQueue.h:
2856         (WebCore::EventQueue::create):
2857
2858 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
2859
2860         Reviewed by Dimitri Glazkov.
2861
2862         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
2863         https://bugs.webkit.org/show_bug.cgi?id=53289
2864
2865         Moving the nested class DocumentOrderedMap from Document into separate files,
2866         updating code where necessary.
2867
2868         No new tests. (refactoring)
2869
2870         * Android.mk:
2871         * CMakeLists.txt:
2872         * GNUMakefile.am:
2873         * WebCore.gypi:
2874         * WebCore.pro:
2875         * WebCore.vcproj/WebCore.vcproj:
2876         * WebCore.xcodeproj/project.pbxproj:
2877         * dom/Document.cpp:
2878         (WebCore::Document::getElementById):
2879         (WebCore::Document::getImageMap):
2880         * dom/Document.h:
2881         * dom/DocumentOrderedMap.cpp: Added.
2882         (WebCore::keyMatchesId):
2883         (WebCore::keyMatchesMapName):
2884         (WebCore::keyMatchesLowercasedMapName):
2885         (WebCore::DocumentOrderedMap::clear):
2886         (WebCore::DocumentOrderedMap::add):
2887         (WebCore::DocumentOrderedMap::remove):
2888         (WebCore::DocumentOrderedMap::get):
2889         (WebCore::DocumentOrderedMap::getElementById):
2890         (WebCore::DocumentOrderedMap::getElementByMapName):
2891         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
2892         * dom/DocumentOrderedMap.h: Added.
2893         (WebCore::DocumentOrderedMap::contains):
2894         (WebCore::DocumentOrderedMap::containsMultiple):
2895         * dom/DOMAllInOne.cpp:
2896
2897 2011-02-01  Naoki Takano  <takano.naoki@gmail.com>
2898
2899         Reviewed by Darin Fisher.
2900
2901         [Chromium] Autofill should work with HTML5 form elements
2902         https://bugs.webkit.org/show_bug.cgi?id=51809
2903         http://crbug.com/65654
2904
2905         No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
2906
2907         * html/InputType.h: Insert comment for canSetSuggestedValue().
2908         * html/TextFieldInputType.cpp:
2909         (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
2910         * html/TextFieldInputType.h: Declare canSetSuggestedValue().
2911         * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
2912         * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
2913
2914 2011-02-01  Kent Tamura  <tkent@chromium.org>
2915
2916         Reviewed by Dan Bernstein.
2917
2918         REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
2919         https://bugs.webkit.org/show_bug.cgi?id=53272
2920
2921         * editing/TextIterator.cpp:
2922         (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
2923
2924 2011-01-31  Alexey Proskuryakov  <ap@apple.com>
2925
2926         Reviewed by Maciej Stachowiak.
2927
2928         https://bugs.webkit.org/show_bug.cgi?id=53466
2929         Move WebKit2 to printing via API methods
2930
2931         * WebCore.exp.in: Export IntRect::scale().
2932
2933 2011-01-31  Patrick Gansterer  <paroga@webkit.org>
2934
2935         Reviewed by Adam Barth.
2936
2937         Remove obsolete comment after r41871
2938         https://bugs.webkit.org/show_bug.cgi?id=53406
2939
2940         * dom/Document.h:
2941
2942 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
2943
2944         Fix according to reviewer comments: can just use Color::black now.
2945
2946         * platform/graphics/ShadowBlur.cpp:
2947         (WebCore::ShadowBlur::drawInsetShadow):
2948         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
2949
2950 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
2951
2952         Reviewed by Sam Weinig.
2953
2954         Clean up ShadowBlur
2955         https://bugs.webkit.org/show_bug.cgi?id=53472
2956
2957         Some minor ShadowBlur cleanup.
2958
2959         * platform/graphics/ShadowBlur.h:
2960         * platform/graphics/ShadowBlur.cpp:
2961         (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
2962         paramter.
2963         (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
2964         (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
2965         layerRect. Make frameSize a float.
2966         (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
2967         layerRect rather than calling calculateLayerBoundingRect() to compute
2968         it itself, since we were calling calculateLayerBoundingRect() twice.
2969         (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
2970         only once. The shadowRect variable was unused, so two return paths could be
2971         collapsed into one.
2972         (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
2973         beginShadowLayer() now.
2974         (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
2975         We always used alpha=1, so no need to pass that in.
2976         (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
2977         pass that in. Move shadowRect down to first use.
2978         ShadowBlur::clipBounds() was unused.
2979
2980 2011-01-31  No'am Rosenthal  <noam.rosenthal@nokia.com>
2981
2982         Reviewed by Kenneth Rohde Christiansen.
2983
2984         [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
2985         https://bugs.webkit.org/show_bug.cgi?id=46748
2986
2987         This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
2988         Added a regression test to tst_QWebFrame.
2989
2990         * bridge/qt/qt_instance.cpp:
2991         (JSC::Bindings::QtInstance::QtInstance):
2992
2993 2011-01-27  MORITA Hajime  <morrita@google.com>
2994
2995         Reviewed by Dimitri Glazkov.
2996         
2997         Convert <progress> shadow DOM to a DOM-based shadow.
2998         https://bugs.webkit.org/show_bug.cgi?id=50660
2999
3000         * Removed RenderProgress::m_valuePart, moved the shadow node
3001           to the shadow root of HTMLProgressElement.
3002         * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
3003           ProgressBarValueElement is defined only for overriding
3004           shadowPseudoId().
3005         
3006         No new tests. No behavioral change.
3007
3008         * css/CSSSelector.cpp:
3009         (WebCore::CSSSelector::pseudoId):
3010         (WebCore::nameToPseudoTypeMap):
3011         (WebCore::CSSSelector::extractPseudoType):
3012         * css/CSSSelector.h:
3013         * html/HTMLProgressElement.cpp:
3014         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
3015         (WebCore::ProgressBarValueElement::shadowPseudoId):
3016         (WebCore::ProgressBarValueElement::create):
3017         (WebCore::ProgressBarValueElement::detach):
3018         (WebCore::HTMLProgressElement::parseMappedAttribute):
3019         (WebCore::HTMLProgressElement::attach):
3020         (WebCore::HTMLProgressElement::valuePart):
3021         (WebCore::HTMLProgressElement::didElementStateChange):
3022         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
3023         * html/HTMLProgressElement.h:
3024         * rendering/RenderProgress.cpp:
3025         (WebCore::RenderProgress::~RenderProgress):
3026         (WebCore::RenderProgress::updateFromElement):
3027         (WebCore::RenderProgress::layoutParts):
3028         (WebCore::RenderProgress::shouldHaveParts):
3029         (WebCore::RenderProgress::valuePart):
3030         * rendering/RenderProgress.h:
3031         * rendering/style/RenderStyleConstants.h:
3032
3033 2011-01-31  Charlie Reis  <creis@chromium.org>
3034
3035         Reviewed by Mihai Parparita.
3036
3037         Add sanity check to help diagnose bug 52819
3038         https://bugs.webkit.org/show_bug.cgi?id=53402
3039
3040         Crash early if the children of fromItem look invalid.
3041
3042         * loader/HistoryController.cpp:
3043
3044 2011-01-31  Kalle Vahlman  <kalle.vahlman@movial.com>
3045
3046         Reviewed by Andreas Kling.
3047
3048         [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend
3049         https://bugs.webkit.org/show_bug.cgi?id=53325
3050
3051         Reimplement paintCurrentFrameInContext() rather than delegate the
3052         rendering to paint() to make sure we really do get the video frame
3053         content into the GraphicsContext, regardless of accelerated
3054         compositing and the video scene state.
3055
3056         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3057         (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext):
3058         * platform/graphics/qt/MediaPlayerPrivateQt.h:
3059
3060 2011-01-31  Emil A Eklund  <eae@chromium.org>
3061
3062         Reviewed by Darin Adler.
3063
3064         Setting "selected" attribute to false should have no effect in single line <select>
3065         https://bugs.webkit.org/show_bug.cgi?id=52436
3066
3067         Change SelectElement::setSelectedIndex to select the first selectable
3068         option when the select state of all options is set to false as required
3069         by the HTML5 specification.
3070
3071         Test: fast/dom/HTMLSelectElement/selected-false.html
3072
3073         * dom/SelectElement.cpp:
3074         (WebCore::SelectElement::setSelectedIndex):
3075
3076 2011-01-31  Alexander Pavlov  <apavlov@chromium.org>
3077
3078         Reviewed by Yury Semikhatsky.
3079
3080         Web Inspector: Console source references need a left-margin
3081         https://bugs.webkit.org/show_bug.cgi?id=53308
3082
3083         * inspector/front-end/inspector.css:
3084         (.console-message-url): Added a 4px margin on the left.
3085
3086 2011-01-31  Carol Szabo  <carol.szabo@nokia.com>
3087
3088         Reviewed by David Hyatt.
3089
3090         Code Changes only.
3091
3092         It is needlessly expensive to find the generating node from an anonymous renderer of a pseudoelement.
3093         https://bugs.webkit.org/show_bug.cgi?id=53024
3094
3095         No new tests. No change in functionality
3096
3097         * rendering/RenderObject.h:
3098         (WebCore::RenderObject::before):
3099         (WebCore::RenderObject::after):
3100         (WebCore::RenderObject::generatingNode):
3101         Added new accessors for the use of the CSS 2.1 counters code
3102         (mainlyly)
3103         * rendering/RenderObjectChildList.cpp:
3104         (WebCore::beforeAfterContainer):
3105         (WebCore::RenderObjectChildList::invalidateCounters):
3106         (WebCore::RenderObjectChildList::before):
3107         (WebCore::RenderObjectChildList::after):
3108         Refactored the code to take advantage of the new accessors.
3109         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
3110         Changed to store the generating node in the :before and :after
3111         renderers.
3112         * rendering/RenderObjectChildList.h:
3113
3114 2011-01-31  Krithigassree Sambamurthy  <krithigassree.sambamurthy@nokia.com>
3115
3116         Reviewed by David Hyatt.
3117
3118         Add background-clip to background shorthand
3119         https://bugs.webkit.org/show_bug.cgi?id=52080
3120
3121         Added background-clip to background-shorthand. Also made changes to
3122         include webkitMaskClip to the mask shorthand to keep both in sync.
3123
3124         * css/CSSParser.cpp:
3125         (WebCore::CSSParser::parseValue):
3126         (WebCore::CSSParser::parseFillShorthand):
3127
3128 2011-01-31  Darin Adler  <darin@apple.com>
3129
3130         Reviewed by Adele Peterson.
3131
3132         WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
3133         https://bugs.webkit.org/show_bug.cgi?id=53460
3134
3135         * editing/EditorCommand.cpp:
3136         (WebCore::executeScrollPageBackward): Added.
3137         (WebCore::executeScrollPageForward): Added.
3138         (WebCore::executeScrollToBeginningOfDocument): Added.
3139         (WebCore::executeScrollToEndOfDocument): Added.
3140         (WebCore::createCommandMap): Added the four commands above to the map.
3141
3142 2011-01-31  Dan Bernstein  <mitz@apple.com>
3143
3144         Reviewed by Adele Peterson.
3145
3146         Inter-ideograph justification should apply to hiragana and katakana as well
3147         https://bugs.webkit.org/show_bug.cgi?id=53464
3148
3149         Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol().
3150
3151         * platform/graphics/Font.cpp:
3152         (WebCore::Font::expansionOpportunityCount):
3153         * platform/graphics/WidthIterator.cpp:
3154         (WebCore::WidthIterator::advance):
3155         * platform/graphics/mac/ComplexTextController.cpp:
3156         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3157
3158 2011-01-31  Dimitri Glazkov  <dglazkov@chromium.org>
3159
3160         Reviewed by James Robinson.
3161
3162         REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports
3163         https://bugs.webkit.org/show_bug.cgi?id=53314
3164
3165         Fixes media/controls-strict.html on Chromium.
3166
3167         * css/mediaControlsChromium.css:
3168         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
3169             Added proper box-sizing to avoid differences between strict/quirks mode.
3170
3171 2011-01-31  Kent Tamura  <tkent@chromium.org>
3172
3173         Reviewed by Dimitri Glazkov.
3174
3175         Validation message bubble shouldn't inherit text-security style
3176         https://bugs.webkit.org/show_bug.cgi?id=53457
3177
3178         No new tests because the validation message feature depends on timers
3179         and is enabled only in Chromium port.
3180
3181         * css/html.css:
3182         (::-webkit-validation-bubble): Reset -webkit-text-security.
3183
3184 2011-01-31  Michael Saboff  <msaboff@apple.com>
3185
3186         Reviewed by Geoffrey Garen.
3187
3188         Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
3189         https://bugs.webkit.org/show_bug.cgi?id=53271
3190
3191         Reapplying this patch again. 
3192         The removal of this patch in <http://trac.webkit.org/changeset/77125>
3193         as part of https://bugs.webkit.org/show_bug.cgi?id=53418,
3194         removed the both the first (failing) patch (r76893) and this fixed 
3195         patch (r76969).  This patch includes slight changes necessitated by
3196         r77151.
3197
3198         Reapplying this patch with the change that the second ASSERT in 
3199         RootObject::removeRuntimeObject was changed to use
3200         .uncheckedGet() instead of the failing .get().  The object in question
3201         could be in the process of being GC'ed.  The get() call will not return
3202         such an object while the uncheckedGet() call will return the (unsafe) 
3203         object.  This is the behavior we want.
3204
3205         Precautionary change.
3206         Changed RootObject to use WeakGCMap instead of HashSet.
3207         Found will looking for another issue, but can't produce a test case
3208         that is problematic.  THerefore there aren't any new tests.
3209
3210         * bridge/runtime_root.cpp:
3211         (JSC::Bindings::RootObject::invalidate):
3212         (JSC::Bindings::RootObject::addRuntimeObject):
3213         (JSC::Bindings::RootObject::removeRuntimeObject):
3214         * bridge/runtime_root.h:
3215
3216 2011-01-31  Andreas Kling  <kling@webkit.org>
3217
3218         Unbreak Qt build after r77151.
3219
3220         * bridge/qt/qt_instance.cpp:
3221         (JSC::Bindings::QtInstance::removeCachedMethod):
3222         (JSC::Bindings::QtInstance::markAggregate):
3223
3224 2011-01-31  takano takumi  <takano@apple.com>
3225
3226         Reviewed by Dave Hyatt.
3227
3228         Implement text-combine rendering code
3229         https://bugs.webkit.org/show_bug.cgi?id=50621
3230
3231         Test: fast/text/international/text-combine-image-test.html
3232
3233         * Android.mk: Added RenderCombineText.cpp/h
3234         * CMakeLists.txt: Added RenderCombineText.cpp/h
3235         * GNUmakefile.am: Added RenderCombineText.cpp/h
3236         * WebCore.exp.in:
3237         * WebCore.gypi: Added RenderCombineText.cpp/h
3238         * WebCore.pro: Added RenderCombineText.cpp/h
3239         * WebCore.vcproj/WebCore.vcproj: Added RenderCombineText.cpp/h
3240         * WebCore.xcodeproj/project.pbxproj: Added RenderCombineText.cpp/h
3241         * css/CSSFontFaceSource.cpp:
3242         (WebCore::CSSFontFaceSource::getFontData):
3243         - Added fontDescription.widthVariant to SimpleFontData creation.
3244         * css/CSSStyleSelector.cpp:
3245         (WebCore::CSSStyleSelector::applyProperty):
3246         - Changed to set "Unique" flag to RenderStyle in case of TextCombine.
3247         * dom/Text.cpp:
3248         (WebCore::Text::createRenderer):
3249         - Changed to create RenderCombineText in case of TextCombine.
3250         * loader/cache/CachedFont.cpp:
3251         (WebCore::CachedFont::platformDataFromCustomData):
3252         - Added FontWidthVariant as an argument for FontPlatformData creation.
3253         * loader/cache/CachedFont.h:
3254         - Ditto.
3255         * platform/graphics/Font.h:
3256         (WebCore::Font::widthVariant):
3257         - The accessor to FontWidthVariant member variable.
3258         * platform/graphics/FontCache.cpp:
3259         - Made cache to incorporate FontWidthVariant value.
3260         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
3261         (WebCore::FontPlatformDataCacheKey::operator==):
3262         (WebCore::computeHash):
3263         (WebCore::FontCache::getCachedFontPlatformData):
3264         * platform/graphics/FontDescription.h:
3265         - Add a member variable that holds a width variant - none, half-width, third-width, and quarter-width.
3266         (WebCore::FontDescription::FontDescription):
3267         (WebCore::FontDescription::widthVariant):
3268         (WebCore::FontDescription::setWidthVariant):
3269         (WebCore::FontDescription::operator==):
3270         * platform/graphics/FontWidthVariant.h: Added.
3271         * platform/graphics/cairo/FontCustomPlatformData.h:
3272         - Changed to carry FontWidthVariant value.
3273         * platform/graphics/cocoa/FontPlatformData.h:
3274         - Changed to carry FontWidthVariant value.
3275         (WebCore::FontPlatformData::FontPlatformData):
3276         (WebCore::FontPlatformData::widthVariant):
3277         (WebCore::FontPlatformData::hash):
3278         (WebCore::FontPlatformData::operator==):
3279         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3280         (WebCore::FontPlatformData::FontPlatformData):
3281         - Changed to carry FontWidthVariant value.
3282         (WebCore::FontPlatformData::operator=):
3283         - Ditto.
3284         (WebCore::mapFontWidthVariantToCTFeatureSelector):
3285         - A function to map a FontWidthVariant value to a CoreText's text spacing feature selector.
3286         (WebCore::FontPlatformData::ctFont):
3287         - Changed to create CTFont with text spacing variant based on FontWidthVariant.
3288         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
3289         (WebCore::FontCustomPlatformData::fontPlatformData):
3290         - Changed to carry FontWidthVariant value.
3291         * platform/graphics/haiku/FontCustomPlatformData.cpp:
3292         (WebCore::FontCustomPlatformData::fontPlatformData):
3293         - Changed to carry FontWidthVariant value.
3294         * platform/graphics/haiku/FontCustomPlatformData.h:
3295         * platform/graphics/mac/FontCacheMac.mm:
3296         (WebCore::FontCache::createFontPlatformData):
3297         - Changed to carry FontWidthVariant value.
3298         * platform/graphics/mac/FontCustomPlatformData.cpp:
3299         (WebCore::FontCustomPlatformData::fontPlatformData):
3300         - Changed to carry FontWidthVariant value.
3301         * platform/graphics/mac/FontCustomPlatformData.h:
3302         - Ditto.
3303         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
3304         (WebCore::shouldUseCoreText):
3305         - Changed to skip CT path when width variant is specified.
3306         * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
3307         (WebCore::FontCustomPlatformData::fontPlatformData):
3308         - Ditto.
3309         * platform/graphics/qt/FontCustomPlatformData.h:
3310         - Ditto.
3311         * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
3312         (WebCore::FontCustomPlatformData::fontPlatformData):
3313         - Ditto.
3314         * platform/graphics/skia/FontCustomPlatformData.cpp:
3315         (WebCore::FontCustomPlatformData::fontPlatformData):
3316         - Ditto.
3317         * platform/graphics/skia/FontCustomPlatformData.h:
3318         - Ditto.
3319         * platform/graphics/win/FontCustomPlatformData.cpp:
3320         (WebCore::FontCustomPlatformData::fontPlatformData):
3321         - Ditto.
3322         * platform/graphics/win/FontCustomPlatformData.h:
3323         - Ditto.
3324         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
3325         - Ditto.
3326         (WebCore::FontCustomPlatformData::fontPlatformData):
3327         - Ditto.
3328         * platform/graphics/win/FontCustomPlatformDataCairo.h:
3329         - Ditto.
3330         * platform/graphics/wince/FontCustomPlatformData.cpp:
3331         (WebCore::FontCustomPlatformData::fontPlatformData):
3332         - Ditto.
3333         * platform/graphics/wince/FontCustomPlatformData.h:
3334         - Ditto.
3335         * platform/graphics/wx/FontCustomPlatformData.cpp:
3336         (WebCore::FontCustomPlatformData::fontPlatformData):
3337         - Ditto.
3338         * platform/graphics/wx/FontCustomPlatformData.h:
3339         - Ditto.
3340         * rendering/InlineTextBox.cpp:
3341         (WebCore::InlineTextBox::paint):
3342         - In case of RenderCombineText, we don't rotate text even in vertical writing. Also, we render original text
3343         instead of text returned from text().
3344         * rendering/RenderBlock.cpp:
3345         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
3346         - Made to call RenderCombinedText's prepareTextCombine() here.
3347         * rendering/RenderBlockLineLayout.cpp:
3348         (WebCore::textWidth):
3349         - Made to always use the render object's width() in case of TextCombine.
3350         (WebCore::RenderBlock::findNextLineBreak):
3351         - Made to call RenderCombinedText's prepareTextCombine() here.
3352         * rendering/RenderCombineText.cpp: Added. A subclass of RenderText.
3353         (WebCore::RenderCombineText::RenderCombineText):
3354         (WebCore::RenderCombineText::styleDidChange):
3355         - Clear the flag that indicated the font has been prepared for combining. The font will be reinitialized in
3356         the next call of RenderBlock::findNextLineBreak().
3357         (WebCore::RenderCombineText::setTextInternal):
3358         - Ditto.
3359         (WebCore::RenderCombineText::width):
3360         - Returns 1-em width in case of font combine.
3361         (WebCore::RenderCombineText::adjustTextOrigin):
3362         - Adjust drawing origin point in case of font combine.
3363         (WebCore::RenderCombineText::charactersToRender):
3364         - Return original text instead of current text in case of font combine.
3365         (WebCore::RenderCombineText::combineText):
3366         - This function tries to pack passed text with; 1) the current font as is, 2) the font created
3367         from the descriptor with half-width variant specified, 3) the font with third-width variant, 4) the font
3368         with quarter-width variant.
3369         - If a suitable font successfully found, replace the current font with the new font. If no appropriate font found,
3370         we give up text-combine as the CSS spec describes.
3371         - If a new font found, we replace the text with 0xFFFC. This is needed for a combined text block to be able to
3372         behave like a single character against text decorations.
3373         * rendering/RenderCombineText.h: Added.
3374         (WebCore::RenderCombineText::isCombined):
3375         (WebCore::RenderCombineText::combinedTextWidth):
3376         - Returns 1-em width in case of font combine.
3377         (WebCore::RenderCombineText::renderName):
3378         (WebCore::toRenderCombineText):
3379         * rendering/RenderText.cpp:
3380         (WebCore::RenderText::widthFromCache):
3381         - Made to call RenderCombineText's combinedTextWidth when the text is combined.
3382         * rendering/RenderingAllInOne.cpp: Added RenderCombineText.cpp
3383         * rendering/style/RenderStyle.h:
3384         (WebCore::InheritedFlags::hasTextCombine):
3385         - Added for a quick test of TextCombine.
3386
3387 2011-01-31  Oliver Hunt  <oliver@apple.com>
3388
3389         Convert markstack to a slot visitor API
3390         https://bugs.webkit.org/show_bug.cgi?id=53219
3391
3392         rolling r77098, r77099, r77100, r77109, and
3393         r77111 back in, along with a few more Qt fix attempts.
3394
3395         * ForwardingHeaders/runtime/WriteBarrier.h: Added.
3396         * WebCore.exp.in:
3397         * bindings/js/DOMWrapperWorld.h:
3398         (WebCore::DOMWrapperWorld::globalData):
3399         * bindings/js/JSAudioConstructor.cpp:
3400         (WebCore::JSAudioConstructor::JSAudioConstructor):
3401         * bindings/js/JSDOMBinding.cpp:
3402         (WebCore::markDOMNodesForDocument):
3403         (WebCore::markDOMObjectWrapper):
3404         (WebCore::markDOMNodeWrapper):
3405         * bindings/js/JSDOMGlobalObject.cpp:
3406         (WebCore::JSDOMGlobalObject::markChildren):
3407         (WebCore::JSDOMGlobalObject::setInjectedScript):
3408         (WebCore::JSDOMGlobalObject::injectedScript):
3409         * bindings/js/JSDOMGlobalObject.h:
3410         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
3411         (WebCore::getDOMConstructor):
3412         * bindings/js/JSDOMWindowCustom.cpp:
3413         (WebCore::JSDOMWindow::setLocation):
3414         (WebCore::DialogHandler::dialogCreated):
3415         * bindings/js/JSDOMWindowShell.cpp:
3416         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
3417         (WebCore::JSDOMWindowShell::setWindow):
3418         (WebCore::JSDOMWindowShell::markChildren):
3419         (WebCore::JSDOMWindowShell::unwrappedObject):
3420         * bindings/js/JSDOMWindowShell.h:
3421         (WebCore::JSDOMWindowShell::window):
3422         (WebCore::JSDOMWindowShell::setWindow):
3423         * bindings/js/JSDeviceMotionEventCustom.cpp:
3424         (WebCore::createAccelerationObject):
3425         (WebCore::createRotationRateObject):
3426         * bindings/js/JSEventListener.cpp:
3427         (WebCore::JSEventListener::JSEventListener):
3428         (WebCore::JSEventListener::markJSFunction):
3429         * bindings/js/JSEventListener.h:
3430         (WebCore::JSEventListener::jsFunction):
3431         * bindings/js/JSHTMLDocumentCustom.cpp:
3432         (WebCore::JSHTMLDocument::setAll):
3433         * bindings/js/JSImageConstructor.cpp:
3434         (WebCore::JSImageConstructor::JSImageConstructor):
3435         * bindings/js/JSImageDataCustom.cpp:
3436         (WebCore::toJS):
3437         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3438         (WebCore::JSJavaScriptCallFrame::scopeChain):
3439         (WebCore::JSJavaScriptCallFrame::scopeType):
3440         * bindings/js/JSNodeFilterCondition.cpp:
3441         (WebCore::JSNodeFilterCondition::markAggregate):
3442         (WebCore::JSNodeFilterCondition::acceptNode):
3443         * bindings/js/JSNodeFilterCondition.h:
3444         * bindings/js/JSNodeFilterCustom.cpp:
3445         * bindings/js/JSOptionConstructor.cpp:
3446         (WebCore::JSOptionConstructor::JSOptionConstructor):
3447         * bindings/js/JSSQLResultSetRowListCustom.cpp:
3448         (WebCore::JSSQLResultSetRowList::item):
3449         * bindings/js/ScriptCachedFrameData.cpp:
3450         (WebCore::ScriptCachedFrameData::restore):
3451         * bindings/js/ScriptObject.cpp:
3452         (WebCore::ScriptGlobalObject::set):
3453         * bindings/js/SerializedScriptValue.cpp:
3454         (WebCore::CloneDeserializer::putProperty):
3455         * bindings/scripts/CodeGeneratorJS.pm:
3456         * bridge/qt/qt_class.cpp:
3457         (JSC::Bindings::QtClass::fallbackObject):
3458         * bridge/qt/qt_instance.cpp:
3459         (JSC::Bindings::QtInstance::QtInstance):
3460         (JSC::Bindings::QtInstance::removeCachedMethod):
3461         (JSC::Bindings::QtInstance::markAggregate):
3462         * bridge/qt/qt_instance.h:
3463         * bridge/qt/qt_runtime.cpp:
3464         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
3465         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
3466         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
3467         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
3468         * bridge/qt/qt_runtime.h:
3469         * dom/Document.h:
3470
3471 2011-01-31  Dan Winship  <danw@gnome.org>
3472
3473         Reviewed by Gustavo Noronha Silva.
3474
3475         wss (websockets ssl) support for gtk via new gio TLS support
3476         https://bugs.webkit.org/show_bug.cgi?id=50344
3477
3478         Update to use GPollableOutputStream and GTlsConnection to
3479         implement wss URLs
3480
3481         * platform/network/soup/SocketStreamHandle.h:
3482         * platform/network/soup/SocketStreamHandleSoup.cpp:
3483         (WebCore::SocketStreamHandle::SocketStreamHandle):
3484         (WebCore::SocketStreamHandle::connected):
3485         (WebCore::SocketStreamHandle::platformSend):
3486         (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):