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