Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-01-26  Beth Dakin  <bdakin@apple.com>
2
3         Reviewed by Darin Adler.
4
5         Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics 
6         when using WKScrollbars.
7
8         New WebKitSystemInterface Functionality.
9         * WebCore.exp.in:
10         * platform/mac/WebCoreSystemInterface.h:
11         * platform/mac/WebCoreSystemInterface.mm:
12
13         Some of the terrible static arrays are now only needed in the 
14         old non-WK code, so they are if-def'd now.
15         * platform/mac/ScrollbarThemeMac.mm:
16         
17         Just patching this function in a better way than I did
18         before.
19         (WebCore::updateArrowPlacement):
20         
21         Call into WK for the right values.
22         (WebCore::ScrollbarThemeMac::scrollbarThickness):
23         (WebCore::ScrollbarThemeMac::hasThumb):
24         (WebCore::ScrollbarThemeMac::minimumThumbLength):
25         
26         Return false if there are no buttons.
27         (WebCore::ScrollbarThemeMac::hasButtons):
28
29         Return an empty IntRect if there are not buttons.
30         (WebCore::buttonRepaintRect):
31
32 2011-01-26  Sam Weinig  <sam@webkit.org>
33
34         Reviewed by Maciej Stachowiak.
35
36         Add events to represent the start/end of a gesture scroll
37         https://bugs.webkit.org/show_bug.cgi?id=53215
38
39         * WebCore.exp.in: 
40         Add new file.
41
42         * WebCore.xcodeproj/project.pbxproj:
43         Add new file.
44
45         * page/EventHandler.cpp:
46         (WebCore::EventHandler::handleGestureEvent):
47         * page/EventHandler.h:
48         Add entry point for handling gesture events.
49
50         * platform/PlatformGestureEvent.h: Added.
51         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
52         (WebCore::PlatformGestureEvent::type):
53         (WebCore::PlatformGestureEvent::position):
54         (WebCore::PlatformGestureEvent::globalPosition):
55         (WebCore::PlatformGestureEvent::timestamp):
56         Add platform agnostic representation of a gesture event.
57
58 2011-01-26  Dan Bernstein  <mitz@apple.com>
59
60         Reviewed by Dave Hyatt.
61
62         <rdar://problem/8446709> Allow inter-ideograph justification for CJK
63         https://bugs.webkit.org/show_bug.cgi?id=53184
64
65         Tests: fast/text/justify-ideograph-complex.html
66                fast/text/justify-ideograph-simple.html
67                fast/text/justify-ideograph-vertical.html
68
69         * html/canvas/CanvasRenderingContext2D.cpp:
70         (WebCore::CanvasRenderingContext2D::drawTextInternal): Corrected the type of the third parameter
71         passed to the TextRun constructor and added the trailingExpansionBehavior parameter.
72         * platform/graphics/Font.cpp:
73         (WebCore::Font::expansionOpportunityCount): Added. Returns the number of expansion opportunities
74         for text justification. On entry, isAfterExpansion says whether an expansion opportunity exists
75         before the first character. On return, isAfterExpansion says whether an expansion opportunity
76         exists after the last character.
77         * platform/graphics/Font.h: 
78         * platform/graphics/GlyphBuffer.h:
79         (WebCore::GlyphBuffer::expandLastAdvance): Added.
80         * platform/graphics/TextRun.h:
81         (WebCore::TextRun::TextRun): Added a TrailingExpansionBehavior parameter to the constructors.
82         Renamed padding to expansion.
83         (WebCore::TextRun::expansion): Renamed padding() to this.
84         (WebCore::TextRun::allowsTrailingExpansion): Added this accessor.
85         * platform/graphics/WidthIterator.cpp:
86         (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion. Use Font::expansionOpportunityCount()
87         and adjust the count if it includes a trailing expansion opportunity but the run disallows trailing
88         expansion.
89         (WebCore::WidthIterator::advance): Apply expansion before and after CJK ideographs.
90         (WebCore::WidthIterator::advanceOneCharacter): Changed to not clear the GlyphBuffer so that advance()
91         can expand the last advance if it is followed by a CJK ideograph.
92         * platform/graphics/WidthIterator.h: Renamed m_padding to m_expansion and m_padPerSpace
93         to m_expansionPerOpportunity.
94         * platform/graphics/chromium/FontChromiumWin.cpp:
95         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
96         * platform/graphics/chromium/FontLinux.cpp:
97         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
98         * platform/graphics/efl/FontEfl.cpp:
99         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
100         * platform/graphics/gtk/FontGtk.cpp:
101         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
102         * platform/graphics/haiku/FontHaiku.cpp:
103         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
104         * platform/graphics/mac/ComplexTextController.cpp:
105         (WebCore::ComplexTextController::ComplexTextController): Initialize m_isAfterExpansion. Use
106         Font::expansionOpportunityCount() and adjust the count if it includes a trailing expansion
107         opportunity but the run disallows trailing expansion.
108         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Moved the definition and initialization
109         of hasExtraSpacing outside the loop. Apply expansion before and after CJK ideographs.
110         * platform/graphics/mac/ComplexTextController.h: Renamed m_padding to m_expansion and m_padPerSpace
111         to m_expansionPerOpportunity.
112         * platform/graphics/mac/FontMac.mm:
113         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
114         * platform/graphics/qt/FontQt.cpp:
115         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
116         * platform/graphics/win/FontWin.cpp:
117         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
118         * platform/graphics/win/UniscribeController.cpp:
119         (WebCore::UniscribeController::UniscribeController): Updated for rename.
120         * platform/graphics/wince/FontWinCE.cpp:
121         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
122         * platform/graphics/wx/FontWx.cpp:
123         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
124         * rendering/EllipsisBox.cpp:
125         (WebCore::EllipsisBox::paint): Pass a TrailingExpansionBehavior to the TextRun constructor.
126         (WebCore::EllipsisBox::selectionRect): Ditto.
127         (WebCore::EllipsisBox::paintSelection): Ditto.
128         * rendering/InlineBox.h:
129         (WebCore::InlineBox::InlineBox): Renamed m_toAdd to m_expansion.
130         (WebCore::InlineBox::expansion): Renamed toAdd() to this.
131         * rendering/InlineTextBox.cpp:
132         (WebCore::InlineTextBox::selectionRect): Pass a TrailingExpansionBehavior to the TextRun constructor.
133         (WebCore::InlineTextBox::paint): Ditto.
134         (WebCore::InlineTextBox::paintSelection): Ditto.
135         (WebCore::InlineTextBox::paintCompositionBackground): Ditto.
136         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
137         (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
138         (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
139         (WebCore::InlineTextBox::offsetForPosition): Ditto.
140         (WebCore::InlineTextBox::positionForOffset): Ditto.
141         * rendering/InlineTextBox.h:
142         (WebCore::InlineTextBox::setExpansion): Renamed setSpaceAdd() to this.
143         (WebCore::InlineTextBox::trailingExpansionBehavior): Added. Trailing expansion is allowed if this
144         is not the last leaf box on the line.
145         * rendering/RenderBlockLineLayout.cpp:
146         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Keep expansion opportunity counts
147         in a vector instead of computing them twice. Discard the trailing expansion opportunity in the
148         last text box.
149         * rendering/RenderFileUploadControl.cpp:
150         (WebCore::RenderFileUploadControl::paintObject): Pass a TrailingExpansionBehavior to the TextRun constructor.
151         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Ditto.
152         * rendering/RenderListBox.cpp:
153         (WebCore::RenderListBox::updateFromElement): Ditto.
154         (WebCore::RenderListBox::paintItemForeground): Ditto. Also corrected the type of the second parameter.
155         * rendering/RenderTextControl.cpp:
156         (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
157         (WebCore::RenderTextControl::paintPlaceholder): Ditto.
158         * rendering/svg/SVGInlineTextBox.cpp:
159         (WebCore::SVGInlineTextBox::constructTextRun): Ditto.
160
161 2011-01-26  Andy Estes  <aestes@apple.com>
162
163         Rubber-stamped by Darin Adler.
164
165         Inline HTMLObjectElement::hasValidClassId().
166
167         * html/HTMLObjectElement.cpp:
168         (WebCore::HTMLObjectElement::hasValidClassId):
169
170 2011-01-26  Evan Martin  <evan@chromium.org>
171
172         Reviewed by Tony Chang.
173
174         [chromium] crash on getBoundingClientRect in complex text
175         https://bugs.webkit.org/show_bug.cgi?id=53199
176
177         Use the correct array bound; we want the number of characters processed by
178         the shaper, not the longest continuous script run length.
179
180         Test: platform/chromium-linux/fast/text/international/complex-text-rectangle.html
181
182         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
183         (WebCore::ComplexTextController::nextScriptRun):
184         * platform/graphics/chromium/ComplexTextControllerLinux.h:
185         (WebCore::ComplexTextController::numCodePoints):
186
187 2011-01-26  Emil A Eklund  <eae@chromium.org>
188
189         Reviewed by Alexey Proskuryakov.
190
191         Remove cached document reference from CSSStyleSheet and XSLStyleSheet.
192         https://bugs.webkit.org/show_bug.cgi?id=52084
193
194         Test: fast/dom/css-delete-doc.html
195
196         * css/CSSMediaRule.cpp:
197         (WebCore::CSSMediaRule::insertRule):
198         (WebCore::CSSMediaRule::deleteRule):
199         * css/CSSStyleSheet.cpp:
200         (WebCore::CSSStyleSheet::CSSStyleSheet):
201         (WebCore::CSSStyleSheet::document):
202         * css/CSSStyleSheet.h:
203         * xml/XSLStyleSheet.h:
204         (WebCore::XSLStyleSheet::parentStyleSheet):
205         * xml/XSLStyleSheetLibxslt.cpp:
206         (WebCore::XSLStyleSheet::XSLStyleSheet):
207         (WebCore::XSLStyleSheet::cachedResourceLoader):
208         (WebCore::XSLStyleSheet::setParentStyleSheet):
209         (WebCore::XSLStyleSheet::ownerDocument):
210         * xml/XSLStyleSheetQt.cpp:
211         (WebCore::XSLStyleSheet::XSLStyleSheet):
212         (WebCore::XSLStyleSheet::cachedResourceLoader):
213         (WebCore::XSLStyleSheet::ownerDocument):
214
215 2011-01-25  Dimitri Glazkov  <dglazkov@chromium.org>
216
217         Reviewed by Kent Tamura.
218
219         Reduce ref-count churn in shadowPseudoId.
220         https://bugs.webkit.org/show_bug.cgi?id=53136
221
222         Refactoring, so no new tests.
223
224         * dom/Element.h:
225         (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString&
226         * html/ValidationMessage.cpp:
227         (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto.
228         * html/shadow/SliderThumbElement.cpp:
229         (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file.
230         * html/shadow/SliderThumbElement.h: Ditto.
231         * rendering/MediaControlElements.cpp:
232         (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto.
233         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto.
234         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto.
235         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto.
236         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto.
237         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto.
238         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto.
239         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto.
240         (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto.
241         (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto.
242         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto.
243         * rendering/MediaControlElements.h: Ditto.
244
245 2011-01-26  Dave Hyatt  <hyatt@apple.com>
246
247         Reviewed by Dan Bernstein.
248
249         https://bugs.webkit.org/show_bug.cgi?id=46421, make multi-column layout work with vertical text.
250
251         Added new tests in fast/multicol/vertical-lr and fast/multicol/vertical-rl.
252
253         * css/html.css:
254         Update p, blockquote and h1-h6 to respect directionality so that column layout tests that use those
255         elements work properly.
256
257         * rendering/InlineFlowBox.cpp:
258         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
259         Fix a flipping bug with the computation of lineTopIncludingMargins where it could be incorrectly shrunk
260         in some cases (causing lines to all stack on top of one another).
261
262         * rendering/InlineTextBox.h:
263         (WebCore::InlineTextBox::calculateBoundaries):
264         Fix calculateBoundaries to be physical rather than logical.
265
266         * rendering/LayoutState.cpp:
267         (WebCore::LayoutState::addForcedColumnBreak):
268         * rendering/LayoutState.h:
269         Rename childY to childLogicalOffset.
270
271         * rendering/RenderBlock.cpp:
272         (WebCore::RenderBlock::layoutBlock):
273         (WebCore::RenderBlock::addOverflowFromChildren):
274         (WebCore::RenderBlock::addOverflowFromFloats):
275         (WebCore::RenderBlock::collapseMargins):
276         (WebCore::RenderBlock::estimateLogicalTopPosition):
277         (WebCore::RenderBlock::layoutBlockChild):
278         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
279         (WebCore::RenderBlock::paintColumnRules):
280         (WebCore::RenderBlock::paintColumnContents):
281         (WebCore::RenderBlock::paintFloats):
282         (WebCore::RenderBlock::selectionGaps):
283         (WebCore::RenderBlock::removeFloatingObjectsBelow):
284         (WebCore::RenderBlock::addOverhangingFloats):
285         (WebCore::RenderBlock::hitTestFloats):
286         (WebCore::RenderBlock::hitTestColumns):
287         (WebCore::RenderBlock::calcColumnWidth):
288         (WebCore::RenderBlock::desiredColumnWidth):
289         (WebCore::RenderBlock::columnRectAt):
290         (WebCore::RenderBlock::layoutColumns):
291         (WebCore::RenderBlock::adjustPointToColumnContents):
292         (WebCore::RenderBlock::adjustRectForColumns):
293         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
294         (WebCore::RenderBlock::adjustForColumns):
295         (WebCore::RenderBlock::adjustForBorderFit):
296         (WebCore::RenderBlock::nextPageLogicalTop):
297         (WebCore::RenderBlock::applyBeforeBreak):
298         (WebCore::RenderBlock::applyAfterBreak):
299         (WebCore::RenderBlock::adjustForUnsplittableChild):
300         (WebCore::RenderBlock::adjustLinePositionForPagination):
301         * rendering/RenderBlock.h:
302         (WebCore::RenderBlock::logicalRightOffsetForContent):
303         (WebCore::RenderBlock::logicalLeftOffsetForContent):
304         (WebCore::RenderBlock::leftForFloatIncludingMargin):
305         (WebCore::RenderBlock::topForFloatIncludingMargin):
306         * rendering/RenderBlockLineLayout.cpp:
307         (WebCore::RenderBlock::layoutInlineChildren):
308         (WebCore::RenderBlock::determineStartPosition):
309         Reworking of all the RenderBlock column functions to support flipping and vertical modes.
310
311         * rendering/RenderBox.cpp:
312         (WebCore::RenderBox::offsetFromContainer):
313         (WebCore::RenderBox::flipForWritingModeIncludingColumns):
314         Patch offsetFromContainer to be aware of flipped block writing modes when dealing with column layouts.
315
316         * rendering/RenderBox.h:
317         (WebCore::RenderBox::clientLogicalBottom):
318         Fix a bug in clientLogicalBottom where it didn't add in the right border/padding.
319         
320         * rendering/RenderFlexibleBox.cpp:
321         (WebCore::RenderFlexibleBox::layoutBlock):
322         Better terminology for pagination.
323
324         * rendering/RenderInline.cpp:
325         (WebCore::RenderInline::offsetFromContainer):
326         (WebCore::RenderInline::mapLocalToContainer):
327         * rendering/RenderLayer.cpp:
328         (WebCore::RenderLayer::paintChildLayerIntoColumns):
329         (WebCore::RenderLayer::hitTestChildLayerColumns):
330         (WebCore::RenderLayer::localBoundingBox):
331         (WebCore::RenderLayer::boundingBox):
332         Patch painting in RenderLayers to be vertical-text-aware.
333     
334         * rendering/RenderObject.cpp:
335         (WebCore::RenderObject::mapLocalToContainer):
336         Add code to be flipped block-aware with columns.
337
338         * rendering/RenderTable.cpp:
339         (WebCore::RenderTable::layout):
340         * rendering/RenderTableRow.cpp:
341         (WebCore::RenderTableRow::layout):
342         * rendering/RenderTableSection.cpp:
343         (WebCore::RenderTableSection::layoutRows):
344         Fix pagination to use better terminology.
345         
346         * rendering/RenderText.cpp:
347         (WebCore::RenderText::absoluteQuads):
348         (WebCore::RenderText::absoluteQuadsForRange):
349         Fix a bug where vertical text wasn't taken into account.
350
351 2011-01-26  Dimitri Glazkov  <dglazkov@chromium.org>
352
353         Unreviewed, rolling out r76719.
354         http://trac.webkit.org/changeset/76719
355         https://bugs.webkit.org/show_bug.cgi?id=53122
356
357         Broke a bunch of media tests in Chromium/Qt/GTK.
358
359 2011-01-26  Tony Chang  <tony@chromium.org>
360
361         Reviewed by Ryosuke Niwa.
362
363         [gtk] strip NUL characters when copying text/html on GTK+
364         https://bugs.webkit.org/show_bug.cgi?id=52508
365
366         Putting NUL characters in the text/html clipboard doesn't work in
367         WebKit GTK+ (the pasted value is truncated at the NUL).  Since we're
368         already stripping this character for plain text (for Windows), strip
369         it in text/html too.
370
371         * editing/MarkupAccumulator.h: mark function as virtual
372         * editing/markup.cpp:
373         (WebCore::StyledMarkupAccumulator::appendString):
374         (WebCore::StyledMarkupAccumulator::takeResults): strip nulls
375
376 2011-01-26  Mario Sanchez Prada  <msanchez@igalia.com>
377
378         Reviewed by Martin Robinson.
379
380         [GTK] Reliable crash with getTextAtOffset()
381         https://bugs.webkit.org/show_bug.cgi?id=53131
382
383         Properly calculate length in bytes for a UTF8 substring.
384
385         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
386         (utf8Substr): Use character instead of bytes as units to
387         calculate the length in bytes for the UTF8 string.
388
389 2011-01-25  Dimitri Glazkov  <dglazkov@chromium.org>
390
391         Reviewed by Kent Tamura.
392
393         Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
394         https://bugs.webkit.org/show_bug.cgi?id=53122
395
396         This is the first step in converting HTMLMediaElement to the new shadow DOM.
397
398         Should not regress any existing tests. No observable change in behavior.
399
400         * css/CSSSelector.cpp:
401         (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
402         (WebCore::nameToPseudoTypeMap): Ditto.
403         (WebCore::CSSSelector::extractPseudoType): Ditto.
404         * css/CSSSelector.h: Ditto.
405         * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
406         * rendering/MediaControlElements.cpp:
407         (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
408             which is now replaced with virtual shadowPseudoId on each corresponding class.
409         (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
410         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
411             display type in constructor.
412         (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
413             constructor argument.
414         (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
415         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
416             to disambiguate from the MediaControlMuteButtonElement.
417         (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
418         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
419         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
420             constructor argument.
421         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
422         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
423             constructor argument.
424         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
425         (WebCore::MediaControlSeekForwardButtonElement::create): Added.
426         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
427         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
428         (WebCore::MediaControlSeekBackButtonElement::create): Added.
429         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
430         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
431         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
432         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
433             constructor argument.
434         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
435         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
436             constructor argument.
437         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
438         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
439             constructor argument.
440         (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
441         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
442             constructor argument.
443         (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
444         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
445             constructor argument.
446         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
447         * rendering/MediaControlElements.h:
448         (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
449         (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
450         * rendering/RenderMedia.cpp:
451         (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
452         (WebCore::RenderMedia::createSeekBackButton): Ditto.
453         (WebCore::RenderMedia::createSeekForwardButton): Ditto.
454         (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
455         * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
456
457 2011-01-26  Kenneth Russell  <kbr@google.com>
458
459         Reviewed by James Robinson.
460
461         Fix multisampling support in DrawingBuffer
462         https://bugs.webkit.org/show_bug.cgi?id=53154
463
464         In DrawingBuffer's multisampling code path, fixed enum usage and a
465         bug where it would incorrectly redefine the depth and stencil
466         buffers. Hooked up multisampling code path in Chromium port.
467
468         Tested manually with some accelerated 2D canvas content.
469         Multisampling isn't being switched on for the accelerated 2D
470         canvas at the current time because it will increase fill rate
471         requirements and cause a large number of rebaselines.
472
473         * platform/graphics/Extensions3D.h:
474         * platform/graphics/chromium/DrawingBufferChromium.cpp:
475         (WebCore::DrawingBuffer::publishToPlatformLayer):
476         * platform/graphics/chromium/Extensions3DChromium.h:
477         * platform/graphics/gpu/DrawingBuffer.cpp:
478         (WebCore::DrawingBuffer::create):
479         (WebCore::DrawingBuffer::reset):
480         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
481         (WebCore::Extensions3DOpenGL::supports):
482
483 2011-01-26  Tony Chang  <tony@chromium.org>
484
485         Unreviewed.
486
487         [chromium] revert r68310 because of race conditions detected by tsans
488         https://bugs.webkit.org/show_bug.cgi?id=53185
489
490         Causes stability problems for Chromium, http://crbug.com/70589
491
492         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
493         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
494
495 2011-01-26  Justin Schuh  <jschuh@chromium.org>
496
497         Reviewed by Adam Barth.
498
499         Make fireEventsAndUpdateStyle use stack local vectors. 
500         https://bugs.webkit.org/show_bug.cgi?id=46760
501
502         Test: animations/animation-add-events-in-handler.html
503
504         * page/animation/AnimationController.cpp:
505         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
506
507 2011-01-26  Nate Chapin  <japhet@chromium.org>
508
509         Reviewed by Adam Barth.
510
511         Remove m_URL from FrameLoader and depend on Document::url()
512         instead. FrameLoader::url() will be removed in a followup patch.
513         https://bugs.webkit.org/show_bug.cgi?id=41165
514
515         Refactor only, no new tests.
516
517         * WebCore.exp.in:
518         * dom/Document.cpp:
519         (WebCore::Document::Document):
520         (WebCore::Document::updateURLForPushOrReplaceState):
521         * loader/DocumentWriter.cpp:
522         (WebCore::DocumentWriter::begin):
523         * loader/FrameLoader.cpp:
524         (WebCore::FrameLoader::iconURL):
525         (WebCore::FrameLoader::didOpenURL):
526         (WebCore::FrameLoader::didExplicitOpen):
527         (WebCore::FrameLoader::receivedFirstData):
528         (WebCore::FrameLoader::url):
529         (WebCore::FrameLoader::setOutgoingReferrer):
530         (WebCore::FrameLoader::startIconLoader):
531         (WebCore::FrameLoader::commitIconURLToIconDatabase):
532         (WebCore::FrameLoader::finishedParsing):
533         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
534         (WebCore::FrameLoader::checkIfRunInsecureContent):
535         (WebCore::FrameLoader::updateFirstPartyForCookies):
536         (WebCore::FrameLoader::loadInSameDocument):
537         (WebCore::FrameLoader::commitProvisionalLoad):
538         (WebCore::FrameLoader::open):
539         (WebCore::FrameLoader::shouldScrollToAnchor):
540         * loader/FrameLoader.h: Rename setURL() to setOutgoingReferrer().
541
542 2011-01-25  Brian Weinstein  <bweinstein@apple.com>
543
544         Reviewed by Antti Koivisto.
545
546         Crashes loading pages when cancelling subresource loads through WebKit
547         https://bugs.webkit.org/show_bug.cgi?id=53123
548         <rdar://problem/8914361>
549         
550         Fix a crash that happened when cancelling subresource loads through WebKit.
551         
552         When a load is cancelled synchronously (via the WebKit client), CachedResourceLoader::requestResource 
553         can be called recursively on the same function, either leading to infinite recursion, or deleting 
554         an object when it is not done being used.
555         
556         The fix for this was to call checkForPendingPreloads and servePendingRequests asynchronously when 
557         CachedResourceLoader::loadDone was called synchronously (due to the load being cancelled synchronously).
558
559         Test: fast/loader/willSendRequest-null-for-preload.html
560
561         * loader/DocumentLoader.cpp:
562         (WebCore::DocumentLoader::setRequest): Only dispatch didReceiveServerRedirectForProvisionalLoadForFrame 
563             if our new URL is non-null.
564         * loader/cache/CachedResourceLoader.cpp:
565         (WebCore::CachedResourceLoader::CachedResourceLoader): Initialize our timer.
566         (WebCore::CachedResourceLoader::loadDone): If the CachedResource we were passed in was 0, that means this 
567             function was called synchronously
568             from CachedResourceRequest::load, and we don't want to call into checkForPendingPreloads synchronously, 
569             so put it on a 0-delay timer to make the calls to checkForPendingPreloads and servePendingRequests asynchronous.
570         (WebCore::CachedResourceLoader::loadDonePendingActionTimerFired): Call checkForPendingPreloads and servePendingRequests.
571         (WebCore::CachedResourceLoader::checkForPendingPreloads): m_pendingPreloads is now a Deque instead of a Vector, 
572             so use Deque methods.
573         * loader/cache/CachedResourceLoader.h: Add the timer, the timer callback function, and make m_pendingPreloads a Deque.
574
575 2011-01-25  Pavel Podivilov  <podivilov@chromium.org>
576
577         Reviewed by Pavel Feldman.
578
579         Web Inspector: evaluate in console may not work when window.console is substituted or deleted.
580         https://bugs.webkit.org/show_bug.cgi?id=53072
581
582         Test: inspector/console-substituted.html
583
584         * inspector/InjectedScriptSource.js:
585         (.):
586
587 2011-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
588
589         Reviewed by Martin Robinson.
590
591         [cairo] Use CAIRO_OPERATOR_DARKEN when available
592         https://bugs.webkit.org/show_bug.cgi?id=53084
593
594         Use CAIRO_OPERATOR_DARKEN for CompositePlusDarker instead of
595         CAIRO_OPERATOR_SATURATE when building with cairo version >= 1.10.
596
597         * platform/graphics/cairo/CairoUtilities.cpp:
598         (WebCore::toCairoOperator):
599
600 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
601
602         Reviewed by Yury Semikhatsky.
603
604         Web Inspector: visualize \n in strings as unicode cr
605         symbol in stack variables sidebar.
606         https://bugs.webkit.org/show_bug.cgi?id=53162
607
608         * inspector/front-end/ObjectPropertiesSection.js:
609         (WebInspector.ObjectPropertyTreeElement.prototype.update):
610
611 2011-01-26  Andrey Kosyakov  <caseq@chromium.org>
612
613         Reviewed by Pavel Feldman.
614
615         Web Inspector: size is wrong for cached resources in Network panel
616         - Set the size for 304/not modified resources from cached resource.
617         - Add response headers size to resource transfer size.
618         https://bugs.webkit.org/show_bug.cgi?id=52886
619
620         * inspector/InspectorResourceAgent.cpp:
621         (WebCore::InspectorResourceAgent::didReceiveResponse):
622         * inspector/front-end/Resource.js:
623         (WebInspector.Resource):
624         (WebInspector.Resource.prototype.get transferSize):
625         (WebInspector.Resource.prototype.set responseHeaders):
626         (WebInspector.Resource.prototype._headersSize):
627         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
628
629 2011-01-26  Carol Szabo  <carol.szabo@nokia.com>
630
631         Reviewed by Simon Hausmann.
632
633         Fixed TiledBacking store to take into account new dirty regions caused by
634         paint time layouts.
635
636         Flawed rendering design for QtWebKit resulting in artifacts being displayed
637         https://bugs.webkit.org/show_bug.cgi?id=49184
638
639         There are no new tests as this patch aims at fixing flicker that
640         happen randomly, mostly on slow hardware, thus are hard to reproduce
641         consistently in an automated test.
642
643         This patch does not fully address the said bug but it is a step in the
644         right direction. A full solution to the bug, as currently perceived,
645         requires either a Qt GUI API change, a performance hit for QtWebKit,
646         or a hack, until a full solution is provided this patch is progress.
647
648         * platform/graphics/TiledBackingStore.cpp:
649         (WebCore::TiledBackingStore::updateTileBuffers):
650         Changed to take into account newly dirtied areas created during
651         tile update initiated layouts during the same update.
652
653 2011-01-26  Patrick Gansterer  <paroga@webkit.org>
654
655         Reviewed by Andreas Kling.
656
657         [SKIA] Remove "current path" of GraphicsContext
658         https://bugs.webkit.org/show_bug.cgi?id=53124
659
660         * platform/graphics/GraphicsContext.h:
661         * platform/graphics/skia/GraphicsContextSkia.cpp:
662         (WebCore::GraphicsContext::clipPath):
663         (WebCore::GraphicsContext::fillPath):
664         (WebCore::GraphicsContext::strokePath):
665         * platform/graphics/skia/PathSkia.cpp:
666         (WebCore::Path::strokeBoundingRect):
667         * platform/graphics/skia/PlatformContextSkia.cpp:
668         * platform/graphics/skia/PlatformContextSkia.h:
669
670 2011-01-26  Zalan Bujtas <zbujtas@gmail.com>
671
672         Reviewed by Andreas Kling.
673
674         [Qt] Path::normalAngleAtLength() returns incorrect value on ACID3.
675
676         QPainterPath returns angle values with the origo being at the top left corner,
677         we need to account for this in normalAngleAtLength().
678         This Regressed with r66979.
679
680         No new tests as this is already covered by ACID3.
681
682         * platform/graphics/qt/PathQt.cpp:
683         (WebCore::Path::normalAngleAtLength):
684
685 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
686
687         Reviewed by Yury Semikhatsky.
688
689         Web Inspector: live edit does not update source snippet.
690         https://bugs.webkit.org/show_bug.cgi?id=53097
691
692         * inspector/front-end/ScriptsPanel.js:
693         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
694
695 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
696
697         Reviewed by Yury Semikhatsky.
698
699         Web Inspector: Incorrect on-hover evaluation of a variable named 'profile'.
700         https://bugs.webkit.org/show_bug.cgi?id=53018
701
702         * inspector/InjectedScript.cpp:
703         (WebCore::InjectedScript::evaluate):
704         (WebCore::InjectedScript::evaluateOnCallFrame):
705         (WebCore::InjectedScript::getCompletions):
706         (WebCore::InjectedScript::getCompletionsOnCallFrame):
707         * inspector/InjectedScript.h:
708         * inspector/InjectedScriptSource.js:
709         (.):
710         * inspector/Inspector.idl:
711         * inspector/InspectorDebuggerAgent.cpp:
712         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
713         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
714         * inspector/InspectorDebuggerAgent.h:
715         * inspector/InspectorRuntimeAgent.cpp:
716         (WebCore::InspectorRuntimeAgent::evaluate):
717         (WebCore::InspectorRuntimeAgent::getCompletions):
718         * inspector/InspectorRuntimeAgent.h:
719         * inspector/front-end/ConsoleView.js:
720         (WebInspector.ConsoleView.prototype.completions):
721         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
722         (WebInspector.ConsoleView.prototype._enterKeyPressed):
723         * inspector/front-end/ScriptsPanel.js:
724         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
725         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
726         * inspector/front-end/SourceFrame.js:
727         (WebInspector.SourceFrame.prototype._showPopup):
728         * inspector/front-end/WatchExpressionsSidebarPane.js:
729         (WebInspector.WatchExpressionsSection.prototype.update):
730
731 2011-01-26  Hironori Bono  <hbono@chromium.org>
732
733         Reviewed by Kent Tamura.
734
735         A speculative fix for Bug 52422 - [chromium] More crash in
736         FontFallbackList::determinePitch(const Font* font)
737         https://bugs.webkit.org/show_bug.cgi?id=52422
738
739         My previous change may not work on non-US Windows whose system fonts
740         have localized aliases matching to the system locale because of a
741         font-name mismatch in createFontIndirectAndGetWinName(). This change
742         tries all the fonts installed in a PC and returns the first font that we
743         can create without errors.
744
745         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
746         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
747         Added a struct used for getLastResortFallbackFontProc().
748         (WebCore::getLastResortFallbackFontProc): Added a callback for EnumFontFamilies().
749         (WebCore::FontCache::getLastResortFallbackFont): Use EnumFontFamilies() to find a last-resort font.
750
751 2011-01-26  James Robinson  <jamesr@chromium.org>
752
753         Reviewed by Nate Chapin.
754
755         Add a DOMTimeStamp parameter to the requestAnimationFrame callback
756         https://bugs.webkit.org/show_bug.cgi?id=53142
757
758         This adds a DOMTimeStamp parameter to the requestAnimationFrame callback to more
759         closely match mozilla's proposal.  This is useful if the page has multiple imperative animations
760         and wants to ensure that they all remain synchronized.  If each callback used Date.now() to
761         update its animation state, they would potentially be out of sync with each other.  If they use
762         the timestamp then all callbacks for the same "frame" will update to the same state.
763
764         Test: fast/animation/request-animation-frame-timestamps.html
765
766         * bindings/scripts/CodeGeneratorV8.pm:
767         * bindings/scripts/test/V8/V8TestCallback.cpp:
768         (WebCore::V8TestCallback::callbackWithClass2Param):
769         * dom/Document.cpp:
770         (WebCore::Document::serviceScriptedAnimations):
771         * dom/Document.h:
772         * dom/RequestAnimationFrameCallback.h:
773         * dom/RequestAnimationFrameCallback.idl:
774         * page/FrameView.cpp:
775         (WebCore::FrameView::serviceScriptedAnimations):
776         * page/FrameView.h:
777
778 2011-01-25  Yuzo Fujishima  <yuzo@google.com>
779
780         Unreviewed attempt to fix compilation error for Chromium Clang.
781
782         * platform/graphics/mac/ComplexTextController.cpp:
783         (WebCore::ComplexTextController::advance):
784
785 2011-01-25  Ned Holbrook  <nholbrook@apple.com>
786
787         Reviewed by Dan Bernstein.
788
789         ComplexTextController incorrectly conflates string length and range of indexes
790         https://bugs.webkit.org/show_bug.cgi?id=52760
791
792         Test: fast/text/offsetForPosition-complex-fallback.html
793
794         * platform/graphics/mac/ComplexTextController.cpp:
795         (WebCore::ComplexTextController::offsetForPosition):
796         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
797         (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
798         (WebCore::ComplexTextController::advance):
799         * platform/graphics/mac/ComplexTextController.h:
800         (WebCore::ComplexTextController::ComplexTextRun::create):
801         (WebCore::ComplexTextController::ComplexTextRun::indexEnd):
802         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
803         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
804         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
805         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
806         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
807
808 2011-01-25  Sam Weinig  <sam@webkit.org>
809
810         Reviewed by David Hyatt.
811
812         Scrollbars don't work correctly for top-to-bottom text in an overflow: scroll area
813         https://bugs.webkit.org/show_bug.cgi?id=53048
814
815         Test: fast/overflow/overflow-rtl-vertical-origin.html
816
817         * rendering/RenderLayer.cpp:
818         (WebCore::RenderLayer::scrollPosition):
819         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
820         Take the scroll origin into account when calculating scrollbars in more places.
821
822 2011-01-25  Steve Falkenburg  <sfalken@apple.com>
823
824         Windows production build fix.
825         Use correct configuration-specific path in makefile.
826
827         * WebCore.vcproj/WebCore.make:
828
829 2011-01-25  Kent Tamura  <tkent@chromium.org>
830
831         Reviewed by Dimitri Glazkov.
832
833         Radio button group state is not restored correctly
834         https://bugs.webkit.org/show_bug.cgi?id=50442
835
836         Fixes a bug that radio button states are not restored correctly in
837         a case that non-first radio button in a group is checked.
838
839         If "checked" attribute is present, the radio button is checked and
840         other radio buttons in the group are unchecked. This behavior
841         disturbs form state restoring. This patch changes this behavior so
842         that the "checked" attribute handling is delayed after form state
843         restoring.
844
845         Test: fast/forms/state-restore-radio-group.html
846
847         * html/HTMLFormControlElement.h:
848          Make finishParsingChildren() protected so that HTMLInpuElement can call it.
849         * html/HTMLInputElement.cpp:
850         (WebCore::HTMLInputElement::HTMLInputElement):
851          - Add createdByParser parameter.
852          - Initialize m_stateRestored and m_parsingInProgress.
853         (WebCore::HTMLInputElement::create): Sync with the constructor.
854         (WebCore::HTMLInputElement::restoreFormControlState):
855          Set m_stateRestored in order to refer it in finishParsingChildren().
856         (WebCore::HTMLInputElement::parseMappedAttribute):
857          Don't call setChecked() during parsing. Move setNeedsValidityCheck()
858          to setChecked().
859         (WebCore::HTMLInputElement::finishParsingChildren):
860          Call setChecked() if form state is not restored.
861         (WebCore::HTMLInputElement::setChecked):
862          Move setNeedsValidityCheck() from parseMappedAttribute() because
863          finishParsingChildren() also needs to call setNeedsValidityCheck().
864         * html/HTMLInputElement.h:
865          - Remove the default value of HTMLFormElement* of the HTMLInputElement
866            constructor, and add createdByParser parameter.
867          - Introduce m_parsingInProgress and m_stateRestored.
868         * html/HTMLIsIndexElement.cpp:
869         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
870          Sync with the HTMLInputElement constructor change.
871         * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser flag.
872         * rendering/MediaControlElements.cpp:
873         (WebCore::MediaControlInputElement::MediaControlInputElement):
874          Sync with the HTMLInputElement constructor change.
875         * rendering/ShadowElement.cpp:
876         (WebCore::ShadowInputElement::ShadowInputElement): ditto.
877         * rendering/ShadowElement.h:
878         (WebCore::ShadowElement::ShadowElement): ditto.
879
880 2011-01-25  Kent Tamura  <tkent@chromium.org>
881
882         Reviewed by Dimitri Glazkov.
883
884         HTMLFormElement::checkValidity() returns incorrect result if 'invalid' events are canceled.
885         https://bugs.webkit.org/show_bug.cgi?id=52565
886
887         * html/HTMLFormElement.cpp:
888         (WebCore::HTMLFormElement::validateInteractively):
889           Check checkInvalidControlsAndCollectUnhandled() result instead of
890           checking emptiness of unhandled invalid controls list.
891         (WebCore::HTMLFormElement::checkValidity): ditto.
892         (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
893           Renamed from collectUnhandledInvalidControls().
894           Returns true if there is any invalid control regardless of event canceling.
895         * html/HTMLFormElement.h: Rename collectUnhandledInvalidControls() to
896           checkInvalidControlsAndCollectUnhandled().
897
898 2011-01-25  Kent Tamura  <tkent@chromium.org>
899
900         Reviewed by Dimitri Glazkov.
901
902         Range and number inputs should reject increment and decrement by
903         keyboard or mouse wheel if they are disabled or read-only
904         https://bugs.webkit.org/show_bug.cgi?id=53151
905
906         * html/RangeInputType.cpp:
907         (WebCore::RangeInputType::handleKeydownEvent): Check disabled() and readOnly().
908         * html/TextFieldInputType.cpp:
909         (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
910         (WebCore::TextFieldInputType::handleWheelEventForSpinButton): ditto.
911
912 2011-01-25  Kent Tamura  <tkent@chromium.org>
913
914         Reviewed by Dimitri Glazkov.
915
916         API to support localized numbers for <input type=number>
917         https://bugs.webkit.org/show_bug.cgi?id=45730
918
919         Introduce platform/text/LocalizedNumber.h, and
920         LocalizedNumberNone.cpp, which is an empty implementation of the
921         functions in LocalizedNumber.h.  We use LocalizedNumberNone.cpp in
922         all platforms for now.
923
924         A string in a type=number field is parsed as a localized number
925         first. If the parsing fails, it is parsed as the HTML5 number.
926
927         We introduce HTMLInputElement::visibleValue(). It represents a value
928         which should be drawn by a renderer. HTMLInputElement::value() always
929         returns a number formatted for HTML5, and visibleValue() may return a
930         localized number.
931
932         No new tests because this doesn't change any behavior.
933
934         * Android.mk: Add LocalizedNumber.h and/or LocalizedNumberNone.cpp.
935         * CMakeLists.txt: ditto.
936         * GNUmakefile.am: ditto.
937         * WebCore.gypi: ditto.
938         * WebCore.pro: ditto.
939         * WebCore.vcproj/WebCore.vcproj: ditto.
940         * WebCore.xcodeproj/project.pbxproj: ditto.
941         * dom/InputElement.h: Add visibleValue().
942         * html/HTMLInputElement.cpp:
943         (WebCore::HTMLInputElement::visibleValue): Added.  Just call InputType::visibleValue().
944         * html/HTMLInputElement.h: Declare visibleValue().
945         * html/InputType.cpp:
946         (WebCore::InputType::visibleValue): Add the default implementation of
947           visibleValue(), which returns HTMLInputElement::value().
948         * html/InputType.h: Add declarations.
949         * html/NumberInputType.cpp:
950         (WebCore::isHTMLNumberCharacter): Renamed from isNumberCharacter().
951         (WebCore::isNumberCharacter): Calls isLocalizedNumberCharacter() and isHTMLNumberCharacter().
952         (WebCore::NumberInputType::visibleValue):
953           Returns a localized number string produced by formatLocalizedNumber().
954         (WebCore::NumberInputType::isAcceptableValue): Calls parseLocalizedNumber().
955         (WebCore::NumberInputType::sanitizeValue): Calls parseLocalizedNumber().
956         * html/NumberInputType.h: Add declarations.
957         * platform/text/LocalizedNumber.h: Added.
958         * platform/text/LocalizedNumberNone.cpp: Added.
959         (WebCore::parseLocalizedNumber):
960         (WebCore::formatLocalizedNumber):
961         (WebCore::isLocalizedNumberCharacter):
962         * rendering/RenderTextControlSingleLine.cpp:
963         (WebCore::RenderTextControlSingleLine::updateFromElement):
964           Calls InputElement::visibleValue() instead of value().
965         * wml/WMLInputElement.h:
966         (WebCore::WMLInputElement::visibleValue): Added. It just calls value().
967
968 2011-01-25  Alexey Proskuryakov  <ap@apple.com>
969
970         Reviewed by Darin Adler.
971
972         https://bugs.webkit.org/show_bug.cgi?id=53143
973         Add IntRectHash
974
975         * WebCore.xcodeproj/project.pbxproj:
976         * platform/graphics/IntRectHash.h: Added.
977
978         * platform/graphics/IntSizeHash.h: Don't do "using WebCore::IntSize"!
979
980 2011-01-25  Ilya Sherman  <isherman@chromium.org>
981
982         Reviewed by Ryosuke Niwa.
983
984         Remove trailing whitespace in HTMLInputElement.cpp
985         https://bugs.webkit.org/show_bug.cgi?id=53152
986
987         * html/HTMLInputElement.cpp:
988         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
989         (WebCore::HTMLInputElement::applyStep):
990         (WebCore::HTMLInputElement::updateFocusAppearance):
991         (WebCore::HTMLInputElement::mapToEntry):
992         (WebCore::HTMLInputElement::setAutofilled):
993         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
994         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
995
996 2011-01-25  Mike Reed  <reed@google.com>
997
998         Reviewed by James Robinson.
999
1000         DrawingBufer::reset() today checks if the new size is the same as its
1001         m_size, and if so, returns immediately. This does not match the
1002         semantics of <canvas>, which wants to clear its contents anytime the
1003         size is specified.
1004         https://bugs.webkit.org/show_bug.cgi?id=53149
1005
1006         Test: Covered by existing <canvas> tests using gpu.
1007
1008         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1009         (WebCore::DrawingBuffer::DrawingBuffer):
1010         * platform/graphics/gpu/DrawingBuffer.cpp:
1011         (WebCore::DrawingBuffer::reset):
1012
1013 2011-01-25  Cris Neckar  <cdn@chromium.org>
1014
1015         Reviewed by Adam Barth.
1016
1017         Add a hashset of DOMURLs to ScriptExecutionContext to track back references.
1018         https://bugs.webkit.org/show_bug.cgi?id=53038
1019
1020         Test: fast/dom/window-domurl-crash.html
1021
1022         * dom/ScriptExecutionContext.cpp:
1023         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1024         (WebCore::ScriptExecutionContext::createdDomUrl):
1025         (WebCore::ScriptExecutionContext::destroyedDomUrl):
1026         * dom/ScriptExecutionContext.h:
1027         (WebCore::ScriptExecutionContext::domUrls):
1028         * html/DOMURL.cpp:
1029         (WebCore::DOMURL::DOMURL):
1030         (WebCore::DOMURL::~DOMURL):
1031         (WebCore::DOMURL::contextDestroyed):
1032         * html/DOMURL.h:
1033         (WebCore::DOMURL::scriptExecutionContext):
1034
1035 2011-01-23  Antti Koivisto  <antti@apple.com>
1036
1037         Reviewed by Darin Adler.
1038
1039         https://bugs.webkit.org/show_bug.cgi?id=52983
1040         Eliminate m_tagHistory pointer from CSSSelector
1041
1042         Keep the component selectors in the array in CSSSelectorList instead
1043         of maintaining a linked list between them. This allows eliminating
1044         m_tagHistory pointer, shrinking CSSSelector by 25% (selection performance
1045         seems to improve some too due to better locality).
1046
1047         * WebCore.xcodeproj/project.pbxproj:
1048         
1049             Make CSSSelector.h a private header.
1050         
1051         * css/CSSGrammar.y:
1052         
1053             Use CSSParserSelector during parsing to keep the tag history in 
1054             a linked list. This is flattened to an array after parsing.
1055             Use accessors for setting selector values.
1056             Use OwnPtr in selector vector.
1057             
1058         * css/CSSPageRule.cpp:
1059         (WebCore::CSSPageRule::CSSPageRule):
1060         * css/CSSPageRule.h:
1061         (WebCore::CSSPageRule::create):
1062         
1063             Simplify.
1064     
1065         * css/CSSParser.cpp:
1066         (WebCore::CSSParser::~CSSParser):
1067         (WebCore::CSSParser::createFloatingSelector):
1068         (WebCore::CSSParser::sinkFloatingSelector):
1069         (WebCore::CSSParser::createStyleRule):
1070         (WebCore::CSSParser::updateSpecifiersWithElementName):
1071         (WebCore::CSSParser::createPageRule):
1072         * css/CSSParser.h:
1073         (WebCore::CSSParser::reusableSelectorVector):
1074         
1075             CSSSelector -> CSSParserSelector.
1076             Use OwnPtr in selector vector.
1077             
1078         * css/CSSParserValues.cpp:
1079         (WebCore::CSSParserSelector::CSSParserSelector):
1080         (WebCore::CSSParserSelector::~CSSParserSelector):
1081         * css/CSSParserValues.h:
1082         (WebCore::CSSParserSelector::releaseSelector):
1083         (WebCore::CSSParserSelector::setTag):
1084         (WebCore::CSSParserSelector::setValue):
1085         (WebCore::CSSParserSelector::setAttribute):
1086         (WebCore::CSSParserSelector::setArgument):
1087         (WebCore::CSSParserSelector::setSimpleSelector):
1088         (WebCore::CSSParserSelector::setMatch):
1089         (WebCore::CSSParserSelector::setRelation):
1090         (WebCore::CSSParserSelector::setForPage):
1091         (WebCore::CSSParserSelector::pseudoType):
1092         (WebCore::CSSParserSelector::isUnknownPseudoElement):
1093         (WebCore::CSSParserSelector::isSimple):
1094         (WebCore::CSSParserSelector::tagHistory):
1095         (WebCore::CSSParserSelector::setTagHistory):
1096         
1097             Linked list used during parsing.
1098             Avoid recursive destruction.
1099
1100         * css/CSSSelector.cpp:
1101         (WebCore::CSSSelector::extractPseudoType):
1102         (WebCore::CSSSelector::operator==):
1103         (WebCore::CSSSelector::selectorText):
1104         (WebCore::CSSSelector::setSimpleSelector):
1105         * css/CSSSelector.h:
1106         (WebCore::CSSSelector::CSSSelector):
1107         (WebCore::CSSSelector::~CSSSelector):
1108         (WebCore::CSSSelector::tagHistory):
1109         (WebCore::CSSSelector::tag):
1110         (WebCore::CSSSelector::value):
1111         (WebCore::CSSSelector::setTag):
1112         (WebCore::CSSSelector::isLastInTagHistory):
1113         (WebCore::CSSSelector::setNotLastInTagHistory):
1114         (WebCore::CSSSelector::RareData::RareData):
1115         (WebCore::CSSSelector::RareData::~RareData):
1116         (WebCore::CSSSelector::createRareData):
1117         (WebCore::CSSSelector::setValue):
1118         
1119             Remove m_tagHistory.
1120             Keep m_value in the union with the rare data pointer instead.
1121             Make m_value and m_tag private, implement accessors.
1122             Add a new bit to indicate end of the tag history (multipart selector).
1123             Eliminate complex destruction. Selectors are now deleted as an array or by a CSSParserSelector chain.
1124             
1125         * css/CSSSelectorList.cpp:
1126         (WebCore::CSSSelectorList::adoptSelectorVector):
1127         
1128             Flatten everything to an array.
1129         
1130         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
1131         * css/CSSSelectorList.h:
1132         (WebCore::CSSSelectorList::hasOneSelector):
1133         (WebCore::CSSSelectorList::next):
1134         
1135             Skip over the subparts of multipart selectors to find the next selector.
1136     
1137         * css/CSSStyleRule.h:
1138         (WebCore::CSSStyleRule::adoptSelectorVector):
1139         
1140             CSSSelector -> CSSParserSelector.
1141             
1142         * css/CSSStyleSelector.cpp:
1143         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1144         (WebCore::CSSRuleSet::addRule):
1145         (WebCore::collectIdsAndSiblingRulesFromList):
1146         (WebCore::CSSStyleSelector::matchPageRulesForList):
1147         * dom/Node.cpp:
1148         (WebCore::Node::querySelector):
1149         * dom/SelectorNodeList.cpp:
1150         (WebCore::createSelectorNodeList):
1151         
1152             Use accessors.
1153
1154 2011-01-25  James Simonsen  <simonjam@chromium.org>
1155
1156         Reviewed by Tony Chang.
1157
1158         [Chromium] Support small caps in complex text on linux
1159         https://bugs.webkit.org/show_bug.cgi?id=53051
1160
1161         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
1162         (WebCore::ComplexTextController::nextScriptRun): Break runs at small caps boundaries.
1163         (WebCore::ComplexTextController::setupFontForScriptRun): Setup small caps font data if needed.
1164         * platform/graphics/chromium/ComplexTextControllerLinux.h: Store small caps text in separate string.
1165
1166 2011-01-25  Steve Falkenburg  <sfalken@apple.com>
1167
1168         Rubber-stamped by Adam Roben.
1169
1170         Windows production build fix.
1171         Use correct environment variable escaping
1172
1173         * WebCore.vcproj/WebCore.make:
1174
1175 2011-01-25  Adam Barth  <abarth@webkit.org>
1176
1177         Reviewed by Eric Seidel.
1178
1179         Empty URLs are never display isolated
1180         https://bugs.webkit.org/show_bug.cgi?id=53053
1181
1182         This check mirrors the check in the local case.  There isn't a good way
1183         to test this with a LayoutTest, but it is tested in Chromium (where
1184         this registry is used).
1185
1186         * platform/SchemeRegistry.cpp:
1187         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
1188
1189 2011-01-25  Sam Weinig  <sam@webkit.org>
1190
1191         Reviewed by Anders Carlsson.
1192
1193         Pipe a timestamp down into the PlatformWheelEvent for the Mac.
1194         https://bugs.webkit.org/show_bug.cgi?id=53111
1195
1196         * platform/PlatformWheelEvent.h:
1197         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1198         (WebCore::PlatformWheelEvent::timestamp):
1199         Add timestamp member.
1200
1201         * platform/mac/WheelEventMac.mm:
1202         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1203         Initialize the timestamp from the event.
1204
1205 2011-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1206
1207         Unreviewed, rolling out r76625.
1208         http://trac.webkit.org/changeset/76625
1209         https://bugs.webkit.org/show_bug.cgi?id=53119
1210
1211         "incorrect pixel test results" (Requested by rniwa on
1212         #webkit).
1213
1214         * rendering/RenderBox.cpp:
1215         (WebCore::RenderBox::localCaretRect):
1216
1217 2011-01-25  Patrick Gansterer  <paroga@webkit.org>
1218
1219         Unreviewed WinCE build fix for r76614.
1220
1221         * platform/FileSystem.h:
1222
1223 2011-01-21  Levi Weintraub  <leviw@chromium.org>
1224
1225         Reviewed by Darin Adler.
1226
1227         Adding border and padding to the calculation of the local caret rect for RenderBoxes.
1228
1229         Undo moves caret to invalid position
1230         https://bugs.webkit.org/show_bug.cgi?id=49744
1231
1232         Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
1233                editing/selection/caret-painting-after-paste-undo.html
1234
1235         * rendering/RenderBox.cpp:
1236         (WebCore::RenderBox::localCaretRect):
1237
1238 2011-01-25  Sam Weinig  <sam@webkit.org>
1239
1240         Reviewed by Anders Carlsson.
1241
1242         Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
1243         https://bugs.webkit.org/show_bug.cgi?id=53107
1244
1245         * platform/PlatformWheelEvent.h:
1246         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1247         (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas):
1248         * platform/mac/WheelEventMac.mm:
1249         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1250
1251 2011-01-20  Jer Noble  <jer.noble@apple.com>
1252
1253         Reviewed by Eric Carlson.
1254
1255         REGRESSION (r72119): Audio never plays on Star Wars intro animation
1256         https://bugs.webkit.org/show_bug.cgi?id=52467
1257         
1258         QuickTime's eat/m4a movie importer compontent doesn't list audio/m4a as a mime
1259         type which it supports, though it handles .m4a files just fine.  Change the way
1260         we build the list of supported MIME Types through a new WebKitSystemInterface
1261         function.
1262         
1263         Caused by r72119, which adds system-specific extension->MIME entries to the cache
1264         before global entries, and the system-specific entries include QuickTime's registry 
1265         entries which contain the audio/m4a MIME type, while its components do not.
1266
1267         Test: media/audio-mpeg4-supported.html
1268
1269         * WebCore.vcproj/QTMovieWinCommon.vsprops:
1270         * platform/graphics/win/QTMovie.cpp:
1271         (getMIMETypeCallBack):
1272         (initializeSupportedTypes):
1273         (QTMovie::countSupportedTypes): gSupportedTypes is now a CFArrayRef.
1274         (QTMovie::getSupportedType): Ditto.
1275
1276 2011-01-25  Hans Wennborg  <hans@chromium.org>
1277
1278         Reviewed by Jeremy Orlow.
1279
1280         IndexedDB: Remove PlatformBridge::idbShutdown()
1281         https://bugs.webkit.org/show_bug.cgi?id=53077
1282
1283         Since Chromium r72157, this is not used anymore. The previous use was
1284         to signal to the embedder that IndexedDB was shutting down, but we
1285         agreed it is better if the embedder keeps track of that itself.
1286
1287         No new tests: this does not change any functionality.
1288
1289         * platform/chromium/PlatformBridge.h:
1290         * storage/IDBFactoryBackendInterface.cpp:
1291         * storage/IDBFactoryBackendInterface.h:
1292         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
1293         * storage/chromium/IDBFactoryBackendInterface.cpp:
1294
1295 2011-01-25  Darin Adler  <darin@apple.com>
1296
1297         Reviewed by Anders Carlsson.
1298
1299         WebKit is using CSBackupSetItemExcluded incorrectly
1300         https://bugs.webkit.org/show_bug.cgi?id=53095
1301         rdar://problem/8790540
1302
1303         * loader/icon/IconDatabase.cpp:
1304         (WebCore::IconDatabase::performOpenInitialization): Added code to
1305         exclude the database from backup one time, and record inside the
1306         database that this has been done.
1307         (WebCore::IconDatabase::wasExcludedFromBackup): Added.
1308         (WebCore::IconDatabase::setWasExcludedFromBackup): Added.
1309         * loader/icon/IconDatabase.h: Added new functions above.
1310
1311         * platform/FileSystem.cpp:
1312         (WebCore::canExcludeFromBackup): Added.
1313         (WebCore::excludeFromBackup): Added.
1314
1315         * platform/FileSystem.h: Added canExcludeFromBackup, excludeFromBackup,
1316         and pathAsURL functions. Cleaned up ifdefs and comments a bit and sorted
1317         things alphabetically, particularly platform-specific sections.
1318
1319         * platform/cf/FileSystemCF.cpp:
1320         (WebCore::pathAsURL): Added.
1321
1322         * platform/mac/FileSystemMac.mm:
1323         (WebCore::canExcludeFromBackup): Added.
1324         (WebCore::excludeFromBackup): Added.
1325
1326         * platform/network/cf/FormDataStreamCFNet.cpp:
1327         (WebCore::advanceCurrentStream): Changed to call pathAsURL.
1328         * platform/network/mac/FormDataStreamMac.mm:
1329         (WebCore::advanceCurrentStream): Ditto.
1330
1331 2011-01-25  Helder Correia  <helder@sencha.com>
1332
1333         Reviewed by Dirk Schulze.
1334
1335         REGRESSION(75139): SVG gradients are not applied to texts
1336         https://bugs.webkit.org/show_bug.cgi?id=52531
1337
1338         CGContextConcatCTM should use the CGLayer context, not the
1339         GraphicsContext. Also, the CTM needs to be adjusted (translated).
1340         This fixes SVG text gradient fill.
1341
1342         Test: svg/css/composite-shadow-text.svg
1343
1344         * platform/graphics/cg/GraphicsContextCG.cpp:
1345         (WebCore::GraphicsContext::fillRect):
1346
1347 2011-01-25  Benjamin Kalman  <kalman@chromium.org>
1348
1349         Reviewed by Ryosuke Niwa.
1350
1351         Cannot extend or modify forward by word over a non-contenteditable region
1352         https://bugs.webkit.org/show_bug.cgi?id=53070
1353
1354         Test: editing/selection/extend-forward-by-word-over-non-editable.html
1355
1356         Change all instances of honorEditableBoundaryAtOrAfter to honorEditableBoundaryAtOrBefore and vice versa in the
1357         functions which determine the end/start of words/lines/sentences in visible_units.cpp.
1358
1359         This fixes the bug where moving forwards by a word over a non-contenteditable region would place the cursor
1360         inside that region, and then get moved back to the start of the word due to honorEditableBoundaryAtOrBefore.
1361         The cursor is now moved to the end of the region (which is effectively a noop in this case).
1362
1363         * editing/visible_units.cpp: Change all instances of honorEditableBoundaryAtOrAfter to
1364         honorEditableBoundaryAtOrBefore and vice versa.
1365         (WebCore::previousWordPosition):
1366         (WebCore::nextWordPosition):
1367         (WebCore::startOfLine):
1368         (WebCore::endOfLine):
1369         (WebCore::previousSentencePosition):
1370         (WebCore::nextSentencePosition):
1371         (WebCore::logicalStartOfLine):
1372         (WebCore::logicalEndOfLine):
1373
1374 2011-01-25  Yael Aharon  <yael.aharon@nokia.com>
1375
1376         Unreviewed build fix.
1377         After r76466, efsrv.lib is used unconditionally.
1378         Don't guard it with ENABLE_NETSCAPE_PLUGIN_API.
1379
1380         * WebCore.pro:
1381
1382 2011-01-24  Zhenyao Mo  <zmo@google.com>
1383
1384         Reviewed by Kenneth Russell.
1385
1386         Style cleanup for WebGLRenderingContext
1387         https://bugs.webkit.org/show_bug.cgi?id=52352
1388
1389         * html/canvas/WebGLBuffer.cpp:
1390         * html/canvas/WebGLBuffer.h:
1391         * html/canvas/WebGLObject.cpp:
1392         * html/canvas/WebGLProgram.cpp:
1393         * html/canvas/WebGLRenderbuffer.cpp:
1394         * html/canvas/WebGLRenderingContext.cpp:
1395         (WebCore::WebGLRenderingContext::create):
1396         (WebCore::WebGLRenderingContext::blendFunc):
1397         (WebCore::WebGLRenderingContext::createShader):
1398         (WebCore::WebGLRenderingContext::deleteBuffer):
1399         (WebCore::WebGLRenderingContext::deleteShader):
1400         (WebCore::WebGLRenderingContext::deleteTexture):
1401         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
1402         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
1403         (WebCore::WebGLRenderingContext::validateRenderingState):
1404         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
1405         (WebCore::WebGLRenderingContext::getUniform):
1406         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
1407         * html/canvas/WebGLRenderingContext.h:
1408         * html/canvas/WebGLShader.cpp:
1409         * html/canvas/WebGLTexture.cpp:
1410         * html/canvas/WebGLUniformLocation.cpp:
1411         * html/canvas/WebGLUniformLocation.h:
1412
1413 2011-01-24  Chris Marrin  <cmarrin@apple.com>
1414
1415         Reviewed by Eric Seidel.
1416
1417         Change ENABLE_3D_CANVAS to ENABLE_WEBGL
1418         https://bugs.webkit.org/show_bug.cgi?id=53041
1419
1420         * Configurations/FeatureDefines.xcconfig:
1421         * DerivedSources.cpp:
1422         * GNUmakefile.am:
1423         * WebCore.pro:
1424         * bindings/generic/RuntimeEnabledFeatures.h:
1425         * bindings/js/JSArrayBufferCustom.cpp:
1426         * bindings/js/JSCanvasRenderingContextCustom.cpp:
1427         (WebCore::toJS):
1428         * bindings/js/JSDOMWindowCustom.cpp:
1429         * bindings/js/JSDataViewCustom.cpp:
1430         * bindings/js/JSDocumentCustom.cpp:
1431         * bindings/js/JSFloat32ArrayCustom.cpp:
1432         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1433         (WebCore::JSHTMLCanvasElement::getContext):
1434         * bindings/js/JSInt16ArrayCustom.cpp:
1435         * bindings/js/JSInt32ArrayCustom.cpp:
1436         * bindings/js/JSInt8ArrayCustom.cpp:
1437         * bindings/js/JSUint16ArrayCustom.cpp:
1438         * bindings/js/JSUint32ArrayCustom.cpp:
1439         * bindings/js/JSUint8ArrayCustom.cpp:
1440         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1441         * bindings/js/JSXMLHttpRequestCustom.cpp:
1442         (WebCore::JSXMLHttpRequest::markChildren):
1443         (WebCore::JSXMLHttpRequest::send):
1444         (WebCore::JSXMLHttpRequest::response):
1445         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1446         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1447         * bindings/v8/custom/V8DataViewCustom.cpp:
1448         * bindings/v8/custom/V8DocumentCustom.cpp:
1449         (WebCore::V8Document::getCSSCanvasContextCallback):
1450         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
1451         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1452         (WebCore::V8HTMLCanvasElement::getContextCallback):
1453         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
1454         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
1455         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
1456         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
1457         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
1458         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
1459         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1460         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1461         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
1462         (WebCore::V8XMLHttpRequest::sendCallback):
1463         * features.pri:
1464         * html/HTMLCanvasElement.cpp:
1465         (WebCore::HTMLCanvasElement::getContext):
1466         (WebCore::HTMLCanvasElement::reset):
1467         * html/HTMLCanvasElement.h:
1468         * html/canvas/ArrayBuffer.cpp:
1469         * html/canvas/ArrayBuffer.idl:
1470         * html/canvas/ArrayBufferView.cpp:
1471         * html/canvas/ArrayBufferView.idl:
1472         * html/canvas/DataView.cpp:
1473         * html/canvas/DataView.idl:
1474         * html/canvas/Float32Array.cpp:
1475         * html/canvas/Float32Array.idl:
1476         * html/canvas/Int16Array.cpp:
1477         * html/canvas/Int16Array.idl:
1478         * html/canvas/Int32Array.cpp:
1479         * html/canvas/Int32Array.idl:
1480         * html/canvas/Int8Array.cpp:
1481         * html/canvas/Int8Array.idl:
1482         * html/canvas/OESStandardDerivatives.cpp:
1483         * html/canvas/OESStandardDerivatives.idl:
1484         * html/canvas/OESTextureFloat.cpp:
1485         * html/canvas/OESTextureFloat.idl:
1486         * html/canvas/Uint16Array.cpp:
1487         * html/canvas/Uint16Array.idl:
1488         * html/canvas/Uint32Array.cpp:
1489         * html/canvas/Uint32Array.idl:
1490         * html/canvas/Uint8Array.cpp:
1491         * html/canvas/Uint8Array.idl:
1492         * html/canvas/WebGLActiveInfo.idl:
1493         * html/canvas/WebGLBuffer.cpp:
1494         * html/canvas/WebGLBuffer.idl:
1495         * html/canvas/WebGLContextAttributes.cpp:
1496         * html/canvas/WebGLContextAttributes.idl:
1497         * html/canvas/WebGLContextEvent.idl:
1498         * html/canvas/WebGLExtension.cpp:
1499         * html/canvas/WebGLFramebuffer.cpp:
1500         * html/canvas/WebGLFramebuffer.idl:
1501         * html/canvas/WebGLGetInfo.cpp:
1502         * html/canvas/WebGLObject.cpp:
1503         * html/canvas/WebGLProgram.cpp:
1504         * html/canvas/WebGLProgram.idl:
1505         * html/canvas/WebGLRenderbuffer.cpp:
1506         * html/canvas/WebGLRenderbuffer.idl:
1507         * html/canvas/WebGLRenderingContext.cpp:
1508         * html/canvas/WebGLRenderingContext.idl:
1509         * html/canvas/WebGLShader.cpp:
1510         * html/canvas/WebGLShader.idl:
1511         * html/canvas/WebGLTexture.cpp:
1512         * html/canvas/WebGLTexture.idl:
1513         * html/canvas/WebGLUniformLocation.cpp:
1514         * html/canvas/WebGLUniformLocation.idl:
1515         * html/canvas/WebKitLoseContext.cpp:
1516         * html/canvas/WebKitLoseContext.idl:
1517         * page/DOMWindow.idl:
1518         * platform/graphics/ANGLEWebKitBridge.cpp:
1519         * platform/graphics/GraphicsContext3D.cpp:
1520         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1521         * platform/graphics/gpu/DrawingBuffer.cpp:
1522         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
1523         * platform/graphics/mac/GraphicsContext3DMac.mm:
1524         * platform/graphics/mac/WebGLLayer.mm:
1525         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1526         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1527         * platform/graphics/qt/Extensions3DQt.cpp:
1528         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1529         * platform/graphics/qt/GraphicsLayerQt.cpp:
1530         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
1531         (WebCore::GraphicsLayerQtImpl::paint):
1532         (WebCore::GraphicsLayerQtImpl::flushChanges):
1533         * platform/graphics/qt/GraphicsLayerQt.h:
1534         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1535         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1536         * rendering/RenderLayerBacking.cpp:
1537         (WebCore::isAcceleratedCanvas):
1538         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1539         (WebCore::RenderLayerBacking::containsPaintedContent):
1540         (WebCore::RenderLayerBacking::contentChanged):
1541         * webaudio/AudioBuffer.cpp:
1542         * webaudio/AudioBuffer.idl:
1543         * webaudio/RealtimeAnalyser.cpp:
1544         * webaudio/RealtimeAnalyser.h:
1545         * webaudio/RealtimeAnalyserNode.h:
1546         * webaudio/RealtimeAnalyserNode.idl:
1547         * xml/XMLHttpRequest.cpp:
1548         (WebCore::XMLHttpRequest::setResponseType):
1549         (WebCore::XMLHttpRequest::clearResponse):
1550         (WebCore::XMLHttpRequest::didReceiveData):
1551         * xml/XMLHttpRequest.h:
1552
1553 2011-01-25  Mikhail Naganov  <mnaganov@chromium.org>
1554
1555         Reviewed by Pavel Feldman.
1556
1557         Web Inspector: [Chromium] Prepare for landing of detailed heap snapshots.
1558
1559         - Introduce Preferences.detailedHeapProfiles flag for controlling
1560           querying of detailed heap snapshots.
1561         - Add boilerplate code for the new view.
1562         - Factor out common code.
1563
1564         https://bugs.webkit.org/show_bug.cgi?id=52624
1565
1566         * WebCore.gypi:
1567         * WebCore.vcproj/WebCore.vcproj:
1568         * bindings/js/ScriptProfiler.h:
1569         (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
1570         (WebCore::ScriptProfiler::takeHeapSnapshot):
1571         * bindings/v8/ScriptProfiler.cpp:
1572         (WebCore::ScriptProfiler::takeHeapSnapshot):
1573         * bindings/v8/ScriptProfiler.h:
1574         (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
1575         * inspector/Inspector.idl:
1576         * inspector/InspectorProfilerAgent.cpp:
1577         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
1578         * inspector/InspectorProfilerAgent.h:
1579         * inspector/front-end/DetailedHeapshotView.js: Added.
1580         (WebInspector.DetailedHeapshotView):
1581         (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
1582         (WebInspector.DetailedHeapshotView.prototype.get profile):
1583         (WebInspector.DetailedHeapshotView.prototype.set profile):
1584         (WebInspector.DetailedHeapshotView.prototype.show):
1585         (WebInspector.DetailedHeapshotView.prototype.hide):
1586         (WebInspector.DetailedHeapshotProfileType):
1587         (WebInspector.DetailedHeapshotProfileType.prototype.get buttonTooltip):
1588         (WebInspector.DetailedHeapshotProfileType.prototype.get buttonStyle):
1589         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
1590         (WebInspector.DetailedHeapshotProfileType.prototype.get welcomeMessage):
1591         (WebInspector.DetailedHeapshotProfileType.prototype.createSidebarTreeElementForProfile):
1592         (WebInspector.DetailedHeapshotProfileType.prototype.createView):
1593         * inspector/front-end/HeapSnapshot.js: Added.
1594         (WebInspector.HeapSnapshotEdgesIterator):
1595         (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
1596         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
1597         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
1598         (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
1599         (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
1600         (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
1601         (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
1602         (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
1603         (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
1604         (WebInspector.HeapSnapshotNodeWrapper):
1605         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
1606         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
1607         (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
1608         (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
1609         (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
1610         (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
1611         (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
1612         (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
1613         (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
1614         (WebInspector.HeapSnapshot):
1615         (WebInspector.HeapSnapshot.prototype._init):
1616         (WebInspector.HeapSnapshot.prototype.get rootEdges):
1617         * inspector/front-end/HeapSnapshotView.js:
1618         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
1619         * inspector/front-end/ProfilesPanel.js:
1620         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
1621         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
1622         (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
1623         (WebInspector.ProfilerDispatcher.prototype.reportHeapSnapshotProgress):
1624         * inspector/front-end/Settings.js:
1625         * inspector/front-end/WebKit.qrc:
1626         * inspector/front-end/inspector.html:
1627         * inspector/front-end/inspector.js:
1628         (WebInspector._createPanels):
1629
1630 2011-01-25  Yury Semikhatsky  <yurys@chromium.org>
1631
1632         Reviewed by Pavel Feldman.
1633
1634         Web Inspector: remove "attached" state related methods from InspectorAgent
1635         https://bugs.webkit.org/show_bug.cgi?id=53086
1636
1637         * WebCore.exp.in:
1638         * inspector/InspectorAgent.cpp:
1639         * inspector/InspectorAgent.h:
1640         * inspector/InspectorFrontendClientLocal.cpp:
1641         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
1642         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
1643         * inspector/InspectorSettings.cpp:
1644         (WebCore::InspectorSettings::InspectorSettings):
1645         * inspector/InspectorSettings.h:
1646
1647 2011-01-25  Qi Zhang  <qi.2.zhang@nokia.com>
1648
1649         Reviewed by Laszlo Gombos.
1650
1651         [Symbian] RVCT fails to compile [U|I]nt[8|16|32]Array.h
1652         https://bugs.webkit.org/show_bug.cgi?id=51873
1653         
1654         Replace the using declaration, because it doesn't compile on RVCT, and WINSCW has the same issue.
1655         No new functionality so no new tests.
1656
1657         * html/canvas/Int32Array.h:
1658         (WebCore::Int32Array::set):
1659         * html/canvas/Int8Array.h:
1660         (WebCore::Int8Array::set):
1661         * html/canvas/Uint16Array.h:
1662         (WebCore::Uint16Array::set):
1663         * html/canvas/Uint32Array.h:
1664         (WebCore::Uint32Array::set):
1665         * html/canvas/Uint8Array.h:
1666         (WebCore::Uint8Array::set):
1667
1668 2011-01-25  Zoltan Herczeg  <zherczeg@webkit.org>
1669
1670         Reviewed by Dirk Schulze.
1671
1672         Repaint SVG elements with filter instead of relayout where possible
1673         https://bugs.webkit.org/show_bug.cgi?id=52200
1674
1675         This patch allows repainting of filters, when their
1676         attribute changes does not require relayout.
1677
1678         Existing dynamic-update tests cover this feature.
1679
1680         * platform/graphics/filters/FilterEffect.cpp:
1681         (WebCore::FilterEffect::clearResult): Clearing the currently stored image
1682         before repainting.
1683         * platform/graphics/filters/FilterEffect.h:
1684         * rendering/RenderObject.h:
1685         (WebCore::RenderObject::isSVGResourceFilter): Not only the filter primitives,
1686         but filters should also be detected to allow safe testing and casting.
1687         * rendering/svg/RenderSVGResourceFilter.cpp:
1688         (WebCore::RenderSVGResourceFilter::buildPrimitives): Passing the renderer.
1689         (WebCore::RenderSVGResourceFilter::applyResource):
1690         determineFilterPrimitiveSubregion does not require the filter anymore.
1691         (WebCore::RenderSVGResourceFilter::postApplyResource): Repaint
1692         if lastEffect->hasResult() is false.
1693         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
1694         Searching for all FilterEffects, whose created by the current FilterElement,
1695         and clearing all resulting images depending on those FilterEffects.
1696         * rendering/svg/RenderSVGResourceFilter.h:
1697         (WebCore::RenderSVGResourceFilter::isSVGResourceFilter):
1698         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
1699         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
1700         The filter argument is unnecessary anymore. But is is still kept as a static
1701         member, since the primitive renderer still does not know about the
1702         FilterEffect objects.
1703         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
1704         (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
1705         (WebCore::RenderSVGResourceFilterPrimitive::primitiveAttributeChanged):
1706         Calls RenderSVGResourceFilter::primitiveAttributeChanged.
1707         * svg/SVGFEDiffuseLightingElement.cpp:
1708         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
1709         Setting the new attribute value for each FilterEffect.
1710         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
1711         * svg/SVGFEDiffuseLightingElement.h:
1712         Calling primitiveAttributeChanged.
1713         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1714         (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
1715         This function will be removed when all FilterElement implements
1716         their setFilterEffectAttribute
1717         * svg/SVGFilterPrimitiveStandardAttributes.h:
1718         (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
1719         * svg/graphics/filters/SVGFilterBuilder.cpp:
1720         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences): The
1721         renderers are assigned to the filter effects.
1722         (WebCore::SVGFilterBuilder::clearEffects):
1723         (WebCore::SVGFilterBuilder::clearResultsRecursive): Recursively
1724         clearing the result images for those filters, whose depend on
1725         the starting filter.
1726         * svg/graphics/filters/SVGFilterBuilder.h:
1727         (WebCore::SVGFilterBuilder::effectReferences): 'get' is unnecessary
1728         (WebCore::SVGFilterBuilder::effectByRenderer): returns the
1729         FilterEffect belongs to this RenderObject.
1730
1731 2011-01-25  Dirk Schulze  <krit@webkit.org>
1732
1733         Reviewed by Nikolas Zimmermann.
1734
1735         SVG is missing to-animation support for Path
1736         https://bugs.webkit.org/show_bug.cgi?id=52982
1737
1738         SVG was missing 'to' animation support for SVG paths. Even the fallback to discrete
1739         animation did not work and an assert was thrown, because of the missing m_fromPath.
1740         This also influences a test of the W3C test suite. Subtest 2 of animate-elem-83-t.svg passes now.
1741
1742         Test: svg/animations/animate-path-to-animation.html
1743
1744         * svg/SVGAnimateElement.cpp:
1745         (WebCore::SVGAnimateElement::calculateAnimatedValue): Take the value of the last SVGAnimateElement for
1746         m_fromPath, since 'to' animations are accumulative.
1747         (WebCore::SVGAnimateElement::calculateFromAndToValues): Added support for 'to' animations.
1748         (WebCore::SVGAnimateElement::resetToBaseValue): Set m_animatedPath on the first animation element to baseVal.
1749         * svg/SVGPathByteStream.h:
1750         (WebCore::SVGPathByteStream::copySVGPathByteStream): Return copy of current byte stream.
1751
1752 2011-01-25  Pavel Feldman  <pfeldman@chromium.org>
1753
1754         Reviewed by Yury Semikhatsky.
1755
1756         Web Inspector: bind resources to URLs upon adding them into the tree.
1757         https://bugs.webkit.org/show_bug.cgi?id=53013
1758
1759         * inspector/front-end/AuditRules.js:
1760         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
1761         * inspector/front-end/CSSStyleModel.js:
1762         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
1763         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1764         * inspector/front-end/DebuggerModel.js:
1765         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1766         * inspector/front-end/NetworkManager.js:
1767         (WebInspector.NetworkManager.prototype._processCachedResources):
1768         (WebInspector.NetworkManager.prototype.inflightResourceForURL):
1769         (WebInspector.NetworkDispatcher):
1770         (WebInspector.NetworkDispatcher.prototype.willSendRequest):
1771         (WebInspector.NetworkDispatcher.prototype.markResourceAsCached):
1772         (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
1773         (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength):
1774         (WebInspector.NetworkDispatcher.prototype.didFinishLoading):
1775         (WebInspector.NetworkDispatcher.prototype.didFailLoading):
1776         (WebInspector.NetworkDispatcher.prototype.willSendWebSocketHandshakeRequest):
1777         (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse):
1778         (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket):
1779         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
1780         (WebInspector.NetworkDispatcher.prototype._startResource):
1781         (WebInspector.NetworkDispatcher.prototype._finishResource):
1782         (WebInspector.NetworkDispatcher.prototype._createResource):
1783         * inspector/front-end/ResourceTreeModel.js:
1784         (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
1785         (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
1786         (WebInspector.ResourceTreeModel.prototype._clearResources):
1787         (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
1788         * inspector/front-end/ResourcesPanel.js:
1789         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
1790         (WebInspector.ResourcesPanel.prototype.showSourceLine):
1791         * inspector/front-end/ScriptsPanel.js:
1792         (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
1793         (WebInspector.ScriptsPanel.prototype._addScript):
1794
1795 2011-01-25  Nikolas Zimmermann  <nzimmermann@rim.com>
1796
1797         Reviewed by Dirk Schulze.
1798
1799         Introduce FontMetrics abstraction
1800         https://bugs.webkit.org/show_bug.cgi?id=51456
1801
1802         Use accurate floating-point metrics for SVG Font calculations instead of casting float -> integer.
1803         This hopefully fixes differences between 32/64 bit bots.
1804
1805         Needs new layout test results for several platforms, which need to be taken from the bots landing afterwards.
1806
1807         * platform/graphics/SimpleFontData.cpp:
1808         (WebCore::SimpleFontData::SimpleFontData):
1809         (WebCore::SimpleFontData::initCharWidths):
1810
1811 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
1812
1813         Reviewed by Pavel Feldman.
1814
1815         Web Inspector: debugger and browser debugger agents should manage sticky breakpoints independently.
1816         https://bugs.webkit.org/show_bug.cgi?id=52999
1817
1818         * inspector/Inspector.idl:
1819         * inspector/InspectorAgent.cpp:
1820         (WebCore::InspectorAgent::didCommitLoad):
1821         (WebCore::InspectorAgent::enableDebugger):
1822         (WebCore::InspectorAgent::inspectedURLWithoutFragment):
1823         * inspector/InspectorAgent.h:
1824         * inspector/InspectorBrowserDebuggerAgent.cpp:
1825         (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
1826         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
1827         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
1828         * inspector/InspectorBrowserDebuggerAgent.h:
1829         * inspector/InspectorDebuggerAgent.cpp:
1830         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1831         (WebCore::InspectorDebuggerAgent::setAllJavaScriptBreakpoints):
1832         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
1833         (WebCore::InspectorDebuggerAgent::restoreBreakpoints):
1834         * inspector/InspectorDebuggerAgent.h:
1835         * inspector/InspectorState.cpp:
1836         (WebCore::InspectorState::InspectorState):
1837         * inspector/InspectorState.h:
1838         * inspector/front-end/BreakpointManager.js:
1839         (WebInspector.BreakpointManager):
1840         (WebInspector.BreakpointManager.prototype._projectChanged):
1841         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
1842         (WebInspector.BreakpointManager.prototype._pushBreakpointsToBackend):
1843
1844 2011-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1845
1846         Reviewed by Martin Robinson.
1847
1848         [GTK] Crash in some pages containing flash
1849         https://bugs.webkit.org/show_bug.cgi?id=53016
1850
1851         Flash plugin can produce X errors that are handled by the GDK X
1852         error handler, which exits the process. Since we don't want to
1853         crash due to flash bugs, we install a custom error handler to show
1854         a warning when a X error happens without aborting.
1855
1856         * plugins/gtk/PluginPackageGtk.cpp:
1857         (WebCore::webkitgtkXError):
1858         (WebCore::PluginPackage::load):
1859
1860 2011-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1861
1862         Reviewed by Martin Robinson.
1863
1864         [GTK] Implement spin buttons in RenderThemeGtk
1865         https://bugs.webkit.org/show_bug.cgi?id=51454
1866
1867         Paint inner up/down buttons for spin button elements when building
1868         with GTK+ 3.x.
1869
1870         Test results will land with the GTK+ 2.x version of this patch.
1871
1872         * platform/gtk/RenderThemeGtk.h:
1873         * platform/gtk/RenderThemeGtk2.cpp:
1874         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
1875         (WebCore::RenderThemeGtk::paintInnerSpinButton):
1876         * platform/gtk/RenderThemeGtk3.cpp:
1877         (WebCore::spinButtonArrowSize):
1878         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
1879         (WebCore::paintSpinArrowButton):
1880         (WebCore::RenderThemeGtk::paintInnerSpinButton):
1881
1882 2011-01-24  Mihai Parparita  <mihaip@chromium.org>
1883
1884         Unreviewed. Missed move of one m_deleted use to be outside NDEBUG block
1885         in r76575.
1886
1887         * loader/cache/CachedResource.cpp:
1888         (WebCore::CachedResource::~CachedResource):
1889
1890 2011-01-24  Mihai Parparita  <mihaip@chromium.org>
1891
1892         Reviewed by Tony Chang.
1893
1894         Add runtime checks for invariants in memory cache
1895         https://bugs.webkit.org/show_bug.cgi?id=53059
1896         
1897         To help track down bug 53045, add some CRASH calls in addition to
1898         ASSERTs, so that we can track down failures in reliability bots.
1899
1900         Just some checks, no new tests necessary.
1901         
1902         * css/CSSImageValue.cpp:
1903         (WebCore::CSSImageValue::cachedImage):
1904         * loader/cache/CachedResource.h:
1905         * loader/cache/CachedResource.cpp:
1906         (WebCore::CachedResource::~CachedResource):
1907
1908 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
1909
1910         Reviewed by Dan Bernstein.
1911
1912         Leaking CSSRuleDataList objects
1913         https://bugs.webkit.org/show_bug.cgi?id=53062
1914
1915         Fix leaked CSSRuleDataLists added to the m_pseudoRules hash.
1916
1917         * css/CSSStyleSelector.cpp:
1918         (WebCore::CSSRuleSet::~CSSRuleSet):
1919
1920 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
1921
1922         Reviewed by Eric Seidel.
1923
1924         Refcount Images used in rendering code
1925         https://bugs.webkit.org/show_bug.cgi?id=52701
1926
1927         Change StyleImage::image(RenderObject*, const IntSize&) and
1928         CSSImageGeneratorValue::image(RenderObject*, const IntSize&) to
1929         return PassRefPtr<Image>, and adjust other code accordingly.
1930         
1931         This allows us to return one-time images, for example for CSS gradients
1932         whose appearance may change depending on factors other than the renderer
1933         and the destination size.
1934
1935         * css/CSSCanvasValue.cpp:
1936         (WebCore::CSSCanvasValue::image):
1937         * css/CSSCanvasValue.h:
1938         * css/CSSGradientValue.cpp:
1939         (WebCore::CSSGradientValue::image):
1940         * css/CSSGradientValue.h:
1941         * css/CSSImageGeneratorValue.h:
1942         * rendering/RenderBoxModelObject.cpp:
1943         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1944         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1945         * rendering/RenderImage.cpp:
1946         (WebCore::RenderImage::paintReplaced):
1947         (WebCore::RenderImage::paintIntoRect):
1948         * rendering/RenderImageResource.h:
1949         (WebCore::RenderImageResource::image):
1950         * rendering/RenderImageResourceStyleImage.h:
1951         (WebCore::RenderImageResourceStyleImage::image):
1952         * rendering/RenderListMarker.cpp:
1953         (WebCore::RenderListMarker::paint):
1954         * rendering/style/StyleCachedImage.cpp:
1955         (WebCore::StyleCachedImage::image):
1956         * rendering/style/StyleCachedImage.h:
1957         * rendering/style/StyleGeneratedImage.cpp:
1958         (WebCore::StyleGeneratedImage::image):
1959         * rendering/style/StyleGeneratedImage.h:
1960         * rendering/style/StyleImage.h:
1961         * rendering/style/StylePendingImage.h:
1962         (WebCore::StylePendingImage::image):
1963         * rendering/svg/RenderSVGImage.cpp:
1964         (WebCore::RenderSVGImage::paint):
1965
1966 2011-01-24  Tony Chang  <tony@chromium.org>
1967
1968         Unreviewed, round ascent and descent to match old code.
1969
1970         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
1971         (WebCore::SimpleFontData::platformInit):
1972
1973 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
1974
1975         Reviewed by Chris Marrin.
1976
1977         perspective() transform function should take lengths
1978         https://bugs.webkit.org/show_bug.cgi?id=52683
1979         
1980         The argument to the perspective() transform function should
1981         be a Length, rather than a bare number. Bare numbers are still
1982         accepted (and treated as px), but this behavior is deprecated.
1983
1984         Test: animations/3d/transform-perspective.html
1985               transforms/3d/general/3dtransform-values.html
1986
1987         * css/CSSParser.cpp:
1988         (WebCore::CSSParser::parseTransform): Check the units for the perspective()
1989         function. Allow bare numbers for backwards compatibility.
1990         * css/CSSStyleSelector.cpp:
1991         (WebCore::CSSStyleSelector::createTransformOperations): Convert
1992         value to Length.
1993         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
1994         (WebCore::clampToPostiveInteger): Helper.
1995         (WebCore::PerspectiveTransformOperation::blend): Blend via Lengths.
1996         * platform/graphics/transforms/PerspectiveTransformOperation.h:
1997         (WebCore::PerspectiveTransformOperation::create): double -> Length.
1998         (WebCore::PerspectiveTransformOperation::perspective): Ditto.
1999         (WebCore::PerspectiveTransformOperation::isIdentity): Ditto.
2000         (WebCore::PerspectiveTransformOperation::apply): Ditto.
2001         (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation): Assert
2002         that the Length is a fixed type.
2003
2004 2011-01-24  Kent Tamura  <tkent@chromium.org>
2005
2006         Reviewed by Dimitri Glazkov.
2007
2008         [Windows] Textfield <input>s have different widths.
2009         https://bugs.webkit.org/show_bug.cgi?id=48405
2010
2011         - Apply the padding override for type=text to other textfield types too.
2012         - Reset margin value of outer spin button, which is not used in Windows.
2013         - Don't add inner spin button width to the preferred text field width.
2014           Text fields should have the identical widths regardless of the
2015           existence of spin buttons.
2016
2017         Test: fast/forms/input-widths.html
2018
2019         * css/themeWin.css:
2020         (input[type="week"]):
2021         (input[type="week"]:disabled):
2022         (input[type="search"]::-webkit-search-cancel-button):
2023         (input::-webkit-outer-spin-button):
2024         * rendering/RenderTextControlSingleLine.cpp:
2025         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
2026         Don't add inner spin button width to the preferred width.
2027
2028 2011-01-24  Kent Tamura  <tkent@chromium.org>
2029
2030         Reviewed by Dimitri Glazkov.
2031
2032         Some bugs of search cancel button and spin button about state change in
2033         an event handler.
2034         https://bugs.webkit.org/show_bug.cgi?id=46950
2035
2036         Fix the following problems:
2037          * Type=search field didn't release event capturing
2038          * Assertion failure when an input field with spin buttons was changed
2039            to another type on focus event.
2040          * A input field with spin button didn't release event capturing when it
2041            was changed to another type on focus event.
2042
2043         Tests: fast/forms/input-number-change-type-on-focus.html
2044                fast/forms/search-hide-cancel-on-cancel.html
2045
2046         * rendering/TextControlInnerElements.cpp:
2047         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
2048          - Make the variable 'input' RefPtr.  It makes the code simpler.
2049          - Remove visibility check on mouseup event. We should release capturing
2050            anyway because the cancel button may be invisible if JavaScript code
2051            called by the focus event removes the input value.
2052         (WebCore::SpinButtonElement::detach):
2053          - Release capturing on detach because it is possible that a spin button
2054            node is detached while it is capturing events.
2055         (WebCore::SpinButtonElement::defaultEventHandler):
2056           Take a reference to this and check renderer() after some functions which
2057           may run JavaScript code.
2058         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2059           Make the variable 'input' RefPtr to align other functions in this file.
2060         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): ditto.
2061         * rendering/TextControlInnerElements.h: Declare SpinButtonElement::detach().
2062
2063 2011-01-24  Ryosuke Niwa  <rniwa@webkit.org>
2064
2065         Reviewed by Ojan Vafai.
2066
2067         Inserting multiple whitespace using text composition (IME) should insert interleaved nbsp and whitespace.
2068         https://bugs.webkit.org/show_bug.cgi?id=52781
2069
2070         The bug was caused by stringWithRebalancedWhitespace's replacing the space at the beginning of a paragraph
2071         and the end of a paragraph by a non-breaking space after it replaced two consecutive spaces by a space and
2072         non-breaking space pattern, thereby replacing more spaces by non-breaking spaces than needed.
2073
2074         Rewrote the function using Vector<UChar> to fix the bug. New function no longer calls String::replace
2075         multiple times but instead it traverses through the string and replaces a space that immediately follows
2076         another space or appears at the beginning of a paragraph or at the end of a paragraph by a non-break space.
2077
2078         * editing/CompositeEditCommand.cpp:
2079         * editing/htmlediting.cpp:
2080         (WebCore::stringWithRebalancedWhitespace): Written.
2081         * editing/htmlediting.h:
2082         (WebCore::isWhitespace): Removed from CompositeEditCommand.cpp
2083
2084 2011-01-24  Kenneth Russell  <kbr@google.com>
2085
2086         Reviewed by James Robinson.
2087
2088         Web Audio API: port FFTFrame to FFTW
2089         https://bugs.webkit.org/show_bug.cgi?id=52989
2090
2091         Ported FFTFrame class to the open-source FFTW library. Tested with
2092         unit tests from Chris Rogers. Made preliminary changes to GYP
2093         files for conditional compilation of these files; will need to be
2094         adjusted once FFTW is integrated as third-party source.
2095
2096         * WebCore.gyp/WebCore.gyp:
2097         * WebCore.gypi:
2098         * platform/audio/FFTFrame.h:
2099         * platform/audio/fftw: Added.
2100         * platform/audio/fftw/FFTFrameFFTW.cpp: Added.
2101         (WebCore::FFTFrame::FFTFrame):
2102         (WebCore::FFTFrame::~FFTFrame):
2103         (WebCore::FFTFrame::multiply):
2104         (WebCore::FFTFrame::doFFT):
2105         (WebCore::FFTFrame::doInverseFFT):
2106         (WebCore::FFTFrame::cleanup):
2107         (WebCore::FFTFrame::realData):
2108         (WebCore::FFTFrame::imagData):
2109         (WebCore::FFTFrame::fftwPlanForSize):
2110
2111 2011-01-24  Anders Carlsson  <andersca@apple.com>
2112
2113         Reviewed by Dan Bernstein.
2114
2115         Reset the page scale factor on standard frame loads
2116         https://bugs.webkit.org/show_bug.cgi?id=53058
2117         <rdar://problem/8908844>
2118
2119         Add a symbol needed by WebKit2.
2120
2121         * WebCore.exp.in:
2122
2123 2011-01-24  Ryosuke Niwa  <rniwa@webkit.org>
2124
2125         Reviewed by Eric Seidel.
2126
2127         Stop instantiating legacy editing positions in InsertTextCommand, MoveSelectionCommand,
2128         ReplaceSelectionCommand, SelectionController, SpellChecker, TypingCommand, and markup.cpp
2129         https://bugs.webkit.org/show_bug.cgi?id=52676
2130
2131         Stop instantiating legacy editing positions in the following files.
2132
2133         * editing/InsertTextCommand.cpp:
2134         (WebCore::InsertTextCommand::prepareForTextInsertion):
2135         (WebCore::InsertTextCommand::performTrivialReplace):
2136         (WebCore::InsertTextCommand::input):
2137         (WebCore::InsertTextCommand::insertTab):
2138         * editing/MoveSelectionCommand.cpp:
2139         (WebCore::MoveSelectionCommand::doApply):
2140         * editing/ReplaceSelectionCommand.cpp:
2141         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
2142         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded):
2143         (WebCore::ReplaceSelectionCommand::doApply):
2144         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
2145         (WebCore::ReplaceSelectionCommand::performTrivialReplace):
2146         * editing/SelectionController.cpp:
2147         (WebCore::SelectionController::setSelectionFromNone):
2148         * editing/SpellChecker.cpp:
2149         (WebCore::SpellChecker::didCheck):
2150         * editing/TypingCommand.cpp:
2151         (WebCore::TypingCommand::makeEditableRootEmpty):
2152         (WebCore::TypingCommand::deleteKeyPressed):
2153         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2154         * editing/markup.cpp:
2155         (WebCore::StyledMarkupAccumulator::appendText):
2156         (WebCore::StyledMarkupAccumulator::serializeNodes):
2157         (WebCore::highestAncestorToWrapMarkup):
2158         (WebCore::createMarkup):
2159
2160 2011-01-24  Peter Kasting  <pkasting@google.com>
2161
2162         Reviewed by Darin Adler.
2163
2164         Roll back r67261 ("Don't fire onclick on middle clicks") due to
2165         regressions.
2166         https://bugs.webkit.org/show_bug.cgi?id=46733
2167
2168         * html/HTMLAnchorElement.cpp:
2169         (WebCore::isLinkClick):
2170         * html/HTMLInputElement.cpp:
2171         (WebCore::HTMLInputElement::preDispatchEventHandler):
2172         (WebCore::HTMLInputElement::postDispatchEventHandler):
2173         (WebCore::HTMLInputElement::defaultEventHandler):
2174         * page/EventHandler.cpp:
2175         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2176         (WebCore::EventHandler::handleMouseReleaseEvent):
2177
2178 2011-01-24  Martin Robinson  <mrobinson@igalia.com>
2179
2180         Reviewed by Eric Seidel.
2181
2182         [GTK] Many DOM XHTML tests time out
2183         https://bugs.webkit.org/show_bug.cgi?id=52553
2184
2185         Properly handle the situation where a synchronous load fails before the inner
2186         event loop has started. In this case, we simply do not run the inner event loop,
2187         or else it will block indefinitely (since no GIO or libsoup callbacks will fire).
2188
2189         * platform/network/soup/ResourceHandleSoup.cpp:
2190         (WebCore::ResourceHandle::loadResourceSynchronously): Bail out of a synchronous
2191         load if it fails up front.
2192
2193 2011-01-24  Zhenyao Mo  <zmo@google.com>
2194
2195         Reviewed by Eric Seidel.
2196
2197         Cleanup WebGLGetInfo and related get*Parameter helpers in WebGLRenderingContext
2198         https://bugs.webkit.org/show_bug.cgi?id=52338
2199
2200         Removed the long/unsigned long types and corresponding get functions
2201         and use int/unsigned int instead.
2202
2203         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2204         (WebCore::toJS):
2205         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2206         (WebCore::toV8Object):
2207         * html/canvas/WebGLGetInfo.cpp:
2208         (WebCore::WebGLGetInfo::WebGLGetInfo):
2209         (WebCore::WebGLGetInfo::getInt):
2210         (WebCore::WebGLGetInfo::getUnsignedInt):
2211         * html/canvas/WebGLGetInfo.h:
2212         * html/canvas/WebGLRenderingContext.cpp:
2213         (WebCore::WebGLRenderingContext::getBufferParameter):
2214         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
2215         (WebCore::WebGLRenderingContext::getParameter):
2216         (WebCore::WebGLRenderingContext::getProgramParameter):
2217         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
2218         (WebCore::WebGLRenderingContext::getShaderParameter):
2219         (WebCore::WebGLRenderingContext::getTexParameter):
2220         (WebCore::WebGLRenderingContext::getUniform):
2221         (WebCore::WebGLRenderingContext::getVertexAttrib):
2222         (WebCore::WebGLRenderingContext::getIntParameter):
2223         (WebCore::WebGLRenderingContext::getUnsignedIntParameter):
2224         * html/canvas/WebGLRenderingContext.h:
2225
2226 2011-01-24  Zhenyao Mo  <zmo@google.com>
2227
2228         Reviewed by Darin Adler.
2229
2230         Remove sizeInBytes from GraphicsContext3D's various implementations
2231         https://bugs.webkit.org/show_bug.cgi?id=52339
2232
2233         * html/canvas/WebGLRenderingContext.cpp:
2234         (WebCore::WebGLRenderingContext::sizeInBytes):
2235         * platform/graphics/GraphicsContext3D.h:
2236         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2237         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2238
2239 2011-01-24  Adam Roben  <aroben@apple.com>
2240
2241         Windows Production build fix
2242
2243         * WebCore.vcproj/WebCore.make: Update for move of WebCore into Source.
2244
2245 2011-01-24  Anton Muhin  <antonm@chromium.org>
2246
2247         Reviewed by Nate Chapin.
2248
2249         [v8] Refactoring: extract IntrusiveDOMWrapperMap into a seprate class and files.
2250         https://bugs.webkit.org/show_bug.cgi?id=52911
2251
2252         Plain refactoring, covered by the existing tests.
2253
2254         * WebCore.gypi: IntrusiveDOMWrapperMap.h added.
2255         * bindings/v8/DOMDataStore.cpp: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
2256         * bindings/v8/DOMDataStore.h: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
2257         * bindings/v8/IntrusiveDOMWrapperMap.h: Added.
2258         (WebCore::ChunkedTable::ChunkedTable):
2259         (WebCore::ChunkedTable::add):
2260         (WebCore::ChunkedTable::remove):
2261         (WebCore::ChunkedTable::clear):
2262         (WebCore::ChunkedTable::visit):
2263         (WebCore::ChunkedTable::Chunk::Chunk):
2264         (WebCore::ChunkedTable::clearEntries):
2265         (WebCore::ChunkedTable::visitEntries):
2266         (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
2267         (WebCore::IntrusiveDOMWrapperMap::get):
2268         (WebCore::IntrusiveDOMWrapperMap::set):
2269         (WebCore::IntrusiveDOMWrapperMap::contains):
2270         (WebCore::IntrusiveDOMWrapperMap::visit):
2271         (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
2272         (WebCore::IntrusiveDOMWrapperMap::clear):
2273         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move):
2274         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
2275         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
2276         * bindings/v8/StaticDOMDataStore.h: include added.
2277
2278 2011-01-24  Shane Stephens  <shanestephens@google.com>
2279
2280         Reviewed by Chris Marrin.
2281
2282         TransformationMatrix multiply operations apply operands in wrong order.
2283         https://bugs.webkit.org/show_bug.cgi?id=52780
2284
2285         Rename TranformationMatrix::multLeft into multiply (the method does a multRight,
2286         not a multLeft).
2287
2288         Remove TransformationMatrix::multiply, which was actually doing a multLeft.
2289
2290         Fix TransformationMatrix::operator* and operator*= such that the operand is
2291         applied to the right-hand side of the matrix that the method is called on.
2292         i.e., previously "a * b" used to compute "b * a", and "a *= b" used to store
2293         "b * a" in "a".  This has now been fixed so "a * b" computes "a * b" and
2294         "a *= b" stores "a * b" in "a".
2295
2296         Convert all call sites for these methods to provide operands in the correct order.
2297
2298         No new tests as patch adds no new functionality.
2299
2300         * css/WebKitCSSMatrix.cpp:
2301         (WebCore::WebKitCSSMatrix::multiply):
2302         * platform/graphics/transforms/Matrix3DTransformOperation.h:
2303         (WebCore::Matrix3DTransformOperation::apply):
2304         * platform/graphics/transforms/MatrixTransformOperation.h:
2305         (WebCore::MatrixTransformOperation::apply):
2306         * platform/graphics/transforms/TransformationMatrix.cpp:
2307         (WebCore::TransformationMatrix::scaleNonUniform):
2308         (WebCore::TransformationMatrix::scale3d):
2309         (WebCore::TransformationMatrix::rotate3d):
2310         (WebCore::TransformationMatrix::skew):
2311         (WebCore::TransformationMatrix::applyPerspective):
2312         (WebCore::TransformationMatrix::multiply):
2313         (WebCore::TransformationMatrix::recompose):
2314         * platform/graphics/transforms/TransformationMatrix.h:
2315         (WebCore::TransformationMatrix::operator*=):
2316         (WebCore::TransformationMatrix::operator*):
2317         * rendering/RenderLayer.cpp:
2318         (WebCore::transparencyClipBox):
2319         * rendering/RenderObject.cpp:
2320         (WebCore::RenderObject::getTransformFromContainer):
2321         * rendering/TransformState.cpp:
2322         (WebCore::TransformState::applyTransform):
2323         (WebCore::HitTestingTransformState::applyTransform):
2324
2325 2011-01-24  Andrei Popescu  <andreip@google.com>
2326
2327         Reviewed by Nate Chapin.
2328
2329         IndexedDatabase methods should not take arguments of type OptionsObject
2330         https://bugs.webkit.org/show_bug.cgi?id=53012
2331
2332         This patch reverts all IDB methods, except IDBDatabase::createObjectStore and
2333         IDBObjectStore::createIndex, to using a plain list of arguments instead of
2334         grouping the various parameters inside a single OptionsObject argument.
2335         This decision was made on public-webapps@w3.org mailing list.
2336
2337         We also add support (v8 only for now) for passing DOMStringList objects as arguments to native
2338         methods. The code for obtaining a DOMStringList object from a JS array of strings existed already
2339         in OptionsObject.cpp, I just copied it to V8Bindings.cpp and taught the v8 code generator how to
2340         use it.
2341
2342         * bindings/scripts/CodeGeneratorV8.pm:
2343         * bindings/v8/V8Binding.cpp:
2344         (WebCore::v8ValueToWebCoreDOMStringList):
2345         * bindings/v8/V8Binding.h:
2346         * storage/IDBDatabase.cpp:
2347         (WebCore::IDBDatabase::transaction):
2348         * storage/IDBDatabase.h:
2349         (WebCore::IDBDatabase::transaction):
2350         * storage/IDBDatabase.idl:
2351         * storage/IDBIndex.cpp:
2352         (WebCore::IDBIndex::openCursor):
2353         (WebCore::IDBIndex::openKeyCursor):
2354         * storage/IDBIndex.h:
2355         (WebCore::IDBIndex::openCursor):
2356         (WebCore::IDBIndex::openKeyCursor):
2357         * storage/IDBIndex.idl:
2358         * storage/IDBObjectStore.cpp:
2359         (WebCore::IDBObjectStore::openCursor):
2360         * storage/IDBObjectStore.h:
2361         (WebCore::IDBObjectStore::openCursor):
2362         * storage/IDBObjectStore.idl:
2363
2364 2011-01-24  Pavel Feldman  <pfeldman@chromium.org>
2365
2366         Reviewed by Yury Semikhatsky.
2367
2368         Web Inspector: extract dispatch API from network manager.
2369         https://bugs.webkit.org/show_bug.cgi?id=53009
2370
2371         * WebCore.xcodeproj/project.pbxproj:
2372         * inspector/front-end/NetworkManager.js:
2373         (WebInspector.NetworkManager):
2374         (WebInspector.NetworkManager.prototype.reset):
2375         (WebInspector.NetworkManager.prototype.requestContent):
2376         (WebInspector.NetworkManager.prototype._processCachedResources):
2377         (WebInspector.NetworkDispatcher):
2378         (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
2379         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
2380         (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
2381         (WebInspector.NetworkDispatcher.prototype.identifierForInitialRequest):
2382         (WebInspector.NetworkDispatcher.prototype.willSendRequest):
2383         (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
2384         (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
2385         (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
2386         (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
2387         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
2388         (WebInspector.NetworkDispatcher.prototype._startResource):
2389         (WebInspector.NetworkDispatcher.prototype._updateResource):
2390         (WebInspector.NetworkDispatcher.prototype._finishResource):
2391         (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
2392         (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
2393         (WebInspector.NetworkDispatcher.prototype._createResource):
2394         * inspector/front-end/Resource.js:
2395         (WebInspector.Resource.prototype._innerRequestContent):
2396         * inspector/front-end/ResourceTreeModel.js:
2397         (WebInspector.ResourceTreeModel):
2398         (WebInspector.ResourceTreeModel.prototype.reset):
2399         (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
2400
2401 2011-01-24  Yury Semikhatsky  <yurys@chromium.org>
2402
2403         Reviewed by Pavel Feldman.
2404
2405         Web Inspector: [JSC] remove ScriptDebugServer::pageCreated
2406         https://bugs.webkit.org/show_bug.cgi?id=53007
2407
2408         It's impossible to create "provisional" inspector for pages which are
2409         not yet created so there is no need to listen for page creation in ScriptDebugServer.
2410
2411         * bindings/js/ScriptDebugServer.cpp:
2412         * bindings/js/ScriptDebugServer.h:
2413         * page/Page.cpp:
2414         (WebCore::Page::Page):
2415
2416 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
2417
2418         Reviewed by Pavel Feldman.
2419
2420         Web Inspector: [REGRESSION] AppCache view on resources panel is broken.
2421         https://bugs.webkit.org/show_bug.cgi?id=53002
2422
2423
2424         * inspector/front-end/ApplicationCacheItemsView.js:
2425         (WebInspector.ApplicationCacheItemsView.prototype._update):
2426         * inspector/front-end/DOMAgent.js:
2427         (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
2428
2429 2011-01-24  Andreas Kling  <kling@webkit.org>
2430
2431         Reviewed by Kenneth Rohde Christiansen.
2432
2433         [Qt] Fix warnings about unregistering an invalid timer
2434         https://bugs.webkit.org/show_bug.cgi?id=53006
2435
2436         The ShadowBuffer's purge timer ID was initialized with 0 which lead
2437         to us calling QObject::killTimer(0), causing some qWarnings.
2438
2439         * platform/graphics/qt/ContextShadowQt.cpp:
2440         (WebCore::ShadowBuffer::ShadowBuffer):
2441         (WebCore::ShadowBuffer::schedulePurge):
2442
2443 2011-01-21  Mikhail Naganov  <mnaganov@chromium.org>
2444
2445         Reviewed by Pavel Feldman.
2446
2447         Web Inspector: [Chromium] Fix heap snapshot table sorting.
2448
2449         Fix table sorting to avoid qsort instability artefacts.
2450
2451         https://bugs.webkit.org/show_bug.cgi?id=52914
2452
2453         * inspector/front-end/HeapSnapshotView.js:
2454         (WebInspector.HeapSnapshotView.prototype._sortData):
2455         (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
2456         (WebInspector.HeapSnapshotDataGridList.propertyComparator):
2457
2458 2011-01-24  Mikhail Naganov  <mnaganov@chromium.org>
2459
2460         Reviewed by Yury Semikhatsky.
2461
2462         Web Inspector: Find duplicate strings in localizedStrings.js, update it.
2463
2464         https://bugs.webkit.org/show_bug.cgi?id=53005
2465
2466         * English.lproj/localizedStrings.js:
2467
2468 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
2469
2470         Unreviewed, build fix  for r76509.
2471
2472         * inspector/InspectorDebuggerAgent.cpp:
2473         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2474
2475 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
2476
2477         Unreviewed, build fix  for r76509.
2478
2479         * bindings/js/ScriptDebugServer.h:
2480
2481 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
2482
2483         Reviewed by Yury Semikhatsky.
2484
2485         Web Inspector: set breakpoints by line:column.
2486         https://bugs.webkit.org/show_bug.cgi?id=52615
2487
2488         * CMakeLists.txt:
2489         * GNUmakefile.am:
2490         * WebCore.gypi:
2491         * WebCore.pro:
2492         * WebCore.vcproj/WebCore.vcproj:
2493         * WebCore.xcodeproj/project.pbxproj:
2494         * bindings/js/ScriptDebugServer.cpp:
2495         (WebCore::ScriptDebugServer::setBreakpoint):
2496         (WebCore::ScriptDebugServer::removeBreakpoint):
2497         (WebCore::ScriptDebugServer::hasBreakpoint):
2498         (WebCore::ScriptDebugServer::clearBreakpoints):
2499         * bindings/js/ScriptDebugServer.h:
2500         * bindings/v8/DebuggerScript.js:
2501         ():
2502         * bindings/v8/ScriptDebugServer.cpp:
2503         (WebCore::ScriptDebugServer::setBreakpoint):
2504         * bindings/v8/ScriptDebugServer.h:
2505         * inspector/Inspector.idl:
2506         * inspector/InspectorBrowserDebuggerAgent.cpp:
2507         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
2508         * inspector/InspectorDebuggerAgent.cpp:
2509         (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
2510         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2511         (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
2512         (WebCore::InspectorDebuggerAgent::didParseSource):
2513         * inspector/InspectorDebuggerAgent.h:
2514         * inspector/ScriptBreakpoint.cpp: Removed.
2515         * inspector/ScriptBreakpoint.h:
2516         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
2517         * inspector/front-end/Breakpoint.js:
2518         (WebInspector.Breakpoint):
2519         (WebInspector.Breakpoint.prototype.get url):
2520         * inspector/front-end/BreakpointManager.js:
2521         (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON):
2522         * inspector/front-end/DebuggerModel.js:
2523         (WebInspector.DebuggerModel.prototype.continueToLine):
2524         (WebInspector.DebuggerModel.prototype.setBreakpoint):
2525         (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend):
2526         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
2527
2528 2011-01-24  Peter Beverloo  <peter@chromium.org>
2529
2530         Reviewed by Pavel Feldman.
2531
2532         Web Inspector: recognize application/x-font-woff as a valid mime-type.
2533         https://bugs.webkit.org/show_bug.cgi?id=52977
2534
2535         No new tests.
2536
2537         * inspector/front-end/inspector.js:
2538
2539 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
2540
2541         Unreviewed, fix for r76497.
2542
2543         * inspector/front-end/ResourcesPanel.js:
2544         (WebInspector.ResourcesPanel.prototype.show):
2545
2546 2011-01-24  Andreas Kling  <kling@webkit.org>
2547
2548         Reviewed by Tor Arne Vestbø.
2549
2550         [Qt] Use rad2deg() from WTF instead of rolling our own.
2551         https://bugs.webkit.org/show_bug.cgi?id=52993
2552
2553         * platform/graphics/qt/GraphicsContextQt.cpp:
2554         (WebCore::GraphicsContext::rotate):
2555         * platform/graphics/qt/PathQt.cpp:
2556         (WebCore::Path::addArc):
2557
2558 2011-01-24  Sergio Villar Senin  <svillar@igalia.com>
2559
2560         Reviewed by Martin Robinson.
2561
2562         [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading
2563         https://bugs.webkit.org/show_bug.cgi?id=52885
2564
2565         No new tests as it does not change functionality. We will not wait for
2566         the the input stream to close to issue didFinishLoading to
2567         WebCore. We expect a subtle performance improvement with this
2568         patch when loading complex web pages, as we wouldn't have to wait
2569         for the stream to close (which involves creating a thread among
2570         other things).
2571
2572         * platform/network/soup/ResourceHandleSoup.cpp:
2573         (WebCore::closeCallback):
2574         (WebCore::readCallback):
2575
2576 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
2577
2578         Reviewed by Pavel Feldman.
2579
2580         Web Inspector: eliminate SourceView and ScriptView classes.
2581         https://bugs.webkit.org/show_bug.cgi?id=52896
2582
2583         SourceView and ScriptView delegate everything to SourceFrame and should be eliminated.
2584
2585         * WebCore.gypi:
2586         * WebCore.vcproj/WebCore.vcproj:
2587         * inspector/front-end/GoToLineDialog.js:
2588         (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
2589         * inspector/front-end/ResourceView.js:
2590         (WebInspector.ResourceView.createResourceView):
2591         (WebInspector.ResourceView.resourceViewTypeMatchesResource):
2592         (WebInspector.SourceFrameContentProviderForResource):  Moved from SourceView.
2593         * inspector/front-end/ResourcesPanel.js:
2594         (WebInspector.ResourcesPanel.prototype.show):
2595         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
2596         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
2597         * inspector/front-end/ScriptView.js: Removed.
2598         * inspector/front-end/ScriptsPanel.js:
2599         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
2600         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
2601         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
2602         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
2603         (WebInspector.ScriptsPanel.prototype._formatScript):
2604         (WebInspector.SourceFrameContentProviderForScript): Moved from ScriptView.
2605         * inspector/front-end/SourceFrame.js:
2606         (WebInspector.SourceFrame):
2607         (WebInspector.SourceFrame.prototype.show):
2608         (WebInspector.SourceFrame.prototype.hide):
2609         (WebInspector.SourceFrame.prototype.hasContent):
2610         (WebInspector.SourceFrame.prototype._createTextViewer):
2611         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
2612         (WebInspector.SourceFrame.prototype.performSearch):
2613         * inspector/front-end/SourceView.js: Removed.
2614         * inspector/front-end/WebKit.qrc:
2615         * inspector/front-end/inspector.html:
2616
2617 2011-01-24  Andras Becsi  <abecsi@webkit.org>
2618
2619         Reviewed by Csaba Osztrogonác.
2620
2621         [Qt] Move project files into Source
2622         https://bugs.webkit.org/show_bug.cgi?id=52891
2623
2624         No new tests needed.
2625
2626         * WebCore.pri:
2627         * WebCore.pro:
2628
2629 2011-01-24  Kent Tamura  <tkent@chromium.org>
2630
2631         Unreviewed, trivial fix.
2632
2633         Fix a Chromium-only assertion failure by r76491.
2634         https://bugs.webkit.org/show_bug.cgi?id=38982
2635
2636         Separate icon loading from the FileChooser constructor in order to avoid
2637         ref() before adoptRef().
2638
2639         * platform/FileChooser.cpp:
2640         (WebCore::FileChooser::FileChooser):
2641         (WebCore::FileChooser::initialize):
2642         (WebCore::FileChooser::create):
2643         * platform/FileChooser.h:
2644
2645 2011-01-24  MORITA Hajime  <morrita@google.com>
2646
2647         Reviewed by Kent Tamura.
2648
2649         TextControlInnerElement::m_shadowParent should be removed.
2650         https://bugs.webkit.org/show_bug.cgi?id=52998
2651
2652         No new tests. No behavioral change.
2653
2654         * rendering/TextControlInnerElements.cpp:
2655         (WebCore::TextControlInnerElement::TextControlInnerElement):
2656         * rendering/TextControlInnerElements.h:
2657
2658 2011-01-24  Yury Semikhatsky  <yurys@chromium.org>
2659
2660         Reviewed by Pavel Feldman.
2661
2662         REGRESSION (r72895): console.trace crashes
2663         https://bugs.webkit.org/show_bug.cgi?id=52981
2664
2665         - Use local RefPtr variable for accessing PassRefPtr arguments to make sure the PassRefPtr has
2666         non-null value.
2667         - Use PassRefPtr for objects whos ownership is passed to the inspector.
2668
2669         * GNUmakefile.am:
2670         * WebCore.gypi:
2671         * WebCore.pro:
2672         * WebCore.vcproj/WebCore.vcproj:
2673         * WebCore.xcodeproj/project.pbxproj:
2674         * inspector/InspectorConsoleInstrumentation.h: Added. Extract inline methods called from the console into their
2675         own header to reduce compilation time of other classes that depend on the inspector instrumentation.
2676         (WebCore::InspectorInstrumentation::addMessageToConsole):
2677         (WebCore::InspectorInstrumentation::consoleCount):
2678         (WebCore::InspectorInstrumentation::startConsoleTiming):
2679         (WebCore::InspectorInstrumentation::stopConsoleTiming):
2680         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
2681         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
2682         (WebCore::InspectorInstrumentation::addProfile):
2683         (WebCore::InspectorInstrumentation::profilerEnabled):
2684         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
2685         * inspector/InspectorDatabaseInstrumentation.h: Added. Extract inline methods called from the datanase code into their
2686         own header to reduce compilation time of other classes that depend on the inspector instrumentation.
2687         (WebCore::InspectorInstrumentation::didOpenDatabase):
2688         * inspector/InspectorInstrumentation.cpp:
2689         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
2690         (WebCore::InspectorInstrumentation::consoleCountImpl):
2691         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
2692         (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
2693         (WebCore::InspectorInstrumentation::addProfileImpl):
2694         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
2695         * inspector/InspectorInstrumentation.h:
2696         * page/Console.cpp: use RefPtr local variable instead of accessing PassRefPtr argument directly.
2697         (WebCore::Console::addMessage):
2698         (WebCore::Console::trace):
2699         (WebCore::Console::count):
2700         (WebCore::Console::markTimeline):
2701         (WebCore::Console::profileEnd):
2702         (WebCore::Console::timeEnd):
2703         (WebCore::Console::group):
2704         (WebCore::Console::groupCollapsed):
2705         * storage/Database.cpp:
2706         (WebCore::Database::openDatabase):
2707
2708 2010-01-24  Kent Tamura  <tkent@chromium.org>
2709
2710         Reviewed by Darin Fisher.
2711
2712         [Chromium] Support icon loading for <input type=file>
2713         https://bugs.webkit.org/show_bug.cgi?id=38982
2714
2715         An icon data in Chromium port is represented as WebCore::Image. We
2716         don't need OS-specific code anymore.
2717
2718         * WebCore.gypi:
2719         * platform/graphics/Icon.h:
2720         (WebCore::Icon::create): Add Chromium-specific factory.
2721         * platform/graphics/chromium/IconChromium.cpp: Added.
2722         * platform/graphics/chromium/IconChromiumLinux.cpp: Removed.
2723         * platform/graphics/chromium/IconChromiumMac.cpp: Removed.
2724         * platform/graphics/chromium/IconChromiumWin.cpp: Removed.
2725         * platform/graphics/chromium/PlatformIcon.h:
2726
2727 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
2728
2729         Reviewed by Pavel Feldman.
2730
2731         Web Inspector: move search functions from SourceView to SourceFrame.
2732         https://bugs.webkit.org/show_bug.cgi?id=52895
2733
2734         This is the last step before eliminating SourceView and ScriptView since
2735         this classes just delegate everything to SourceFrame.
2736
2737         * inspector/front-end/SourceFrame.js:
2738         (WebInspector.SourceFrame.prototype.set visible):
2739         (WebInspector.SourceFrame.prototype._clearLineHighlight):
2740         (WebInspector.SourceFrame.prototype._createTextViewer):
2741         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
2742         (WebInspector.SourceFrame.prototype.performSearch):
2743         (WebInspector.SourceFrame.prototype.searchCanceled):
2744         (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
2745         (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
2746         (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
2747         (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
2748         (WebInspector.SourceFrame.prototype.showingFirstSearchResult):
2749         (WebInspector.SourceFrame.prototype.showingLastSearchResult):
2750         (WebInspector.SourceFrame.prototype._jumpToSearchResult):
2751         * inspector/front-end/SourceView.js:
2752         (WebInspector.SourceView.prototype.hide):
2753         (WebInspector.SourceView.prototype.searchCanceled):
2754         (WebInspector.SourceView.prototype.performSearch):
2755         (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
2756         (WebInspector.SourceView.prototype.jumpToLastSearchResult):
2757         (WebInspector.SourceView.prototype.jumpToNextSearchResult):
2758         (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
2759         (WebInspector.SourceView.prototype.showingFirstSearchResult):
2760         (WebInspector.SourceView.prototype.showingLastSearchResult):
2761         (WebInspector.SourceView.prototype.clearMessages):
2762
2763 2011-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
2764
2765         Unreviewed, rolling out r76463.
2766         http://trac.webkit.org/changeset/76463
2767         https://bugs.webkit.org/show_bug.cgi?id=52993
2768
2769         It broke canvas/philip/tests/2d.path.stroke.skew.html
2770         (Requested by Ossy on #webkit).
2771
2772         * platform/graphics/qt/GraphicsContextQt.cpp:
2773         (WebCore::GraphicsContext::rotate):
2774         * platform/graphics/qt/PathQt.cpp:
2775         (WebCore::Path::addArc):
2776
2777 2011-01-23  Andrey Kosyakov  <caseq@chromium.org>
2778
2779         Reviewed by Pavel Feldman.
2780
2781         Web Inspector: summary bar is not resized properly with the rest of network panel
2782         https://bugs.webkit.org/show_bug.cgi?id=52881
2783
2784         * inspector/front-end/NetworkPanel.js:
2785         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
2786         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
2787         (WebInspector.NetworkPanel.prototype._toggleGridMode):
2788
2789 2011-01-19  MORITA Hajime  <morrita@google.com>
2790
2791         Reviewed by Ryosuke Niwa.
2792
2793         Space and tab characters "sent" by an input method give totally different results than typing them directly
2794         https://bugs.webkit.org/show_bug.cgi?id=5241
2795         
2796         * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
2797           distinguish text input which is originated by composition.
2798         * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
2799           range of string on text node, instead of surrounding part of that.
2800
2801         Test: editing/inserting/insert-composition-whitespace.html
2802
2803         * dom/TextEvent.h:
2804         (WebCore::TextEvent::isComposition):
2805         * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
2806         * editing/CompositeEditCommand.cpp:
2807         (WebCore::containsOnlyWhitespace):
2808         (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
2809         (WebCore::CompositeEditCommand::canRebalance):
2810         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
2811         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
2812         * editing/CompositeEditCommand.h:
2813         * editing/Editor.cpp:
2814         (WebCore::Editor::insertTextForConfirmedComposition): Added.
2815         (WebCore::Editor::insertTextWithoutSendingTextEvent):
2816         (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
2817         (WebCore::Editor::setComposition):
2818         * editing/Editor.h:
2819         * editing/InsertTextCommand.cpp:
2820         (WebCore::InsertTextCommand::input):
2821         * editing/InsertTextCommand.h:
2822         * editing/TypingCommand.cpp:
2823         (WebCore::TypingCommand::TypingCommand):
2824         (WebCore::TypingCommand::insertText):
2825         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
2826         * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
2827         (WebCore::TypingCommand::setCompositionType): Added.
2828         (WebCore::TypingCommand::create):
2829
2830 2011-01-23  Mark Rowe  <mrowe@apple.com>
2831
2832         Follow-up to r76477.
2833
2834         Fix the scripts that detect problematic code such as static initializers
2835         and destructors, weak vtables, inappropriate files in the framework wrappers,
2836         and public headers including private headers. These had all been broken
2837         since the projects were moved in to the Source directory as the paths to the
2838         scripts were not updated at that time.
2839
2840         Stop copying an IDL file in to the framework wrapper. Doing that doesn't even make sense.
2841
2842         * WebCore.xcodeproj/project.pbxproj:
2843
2844 2011-01-23  Mark Rowe  <mrowe@apple.com>
2845
2846         Build fix after r76459.
2847
2848         Static member variables or globals of types that have constructors or destructors are bad as
2849         they generate static initializers and destructors. This is code that is run either at link time
2850         when the library is loaded in to memory or at application termination time. Both of these are
2851         terrible for performance and are thus outlawed in WebKit code.
2852
2853         The typical solution is to replace the static member or global with a function that allocates
2854         the necessary variable on the heap. The variable is leaked to prevent it from being destroyed
2855         at application termination time. The DEFINE_STATIC_LOCAL macro wraps this in to a concise little
2856         package, but sadly fails to work in this case due to the type containing multiple template
2857         parameters.
2858         
2859         * inspector/InspectorInstrumentation.cpp:
2860         (WebCore::InspectorInstrumentation::inspectorAgents):
2861         * inspector/InspectorInstrumentation.h:
2862         (WebCore::InspectorInstrumentation::bindInspectorAgent):
2863         (WebCore::InspectorInstrumentation::unbindInspectorAgent):
2864         (WebCore::InspectorInstrumentation::inspectorAgentForPage):
2865
2866 2011-01-21  Vangelis Kokkevis  <vangelis@chromium.org>
2867
2868         Reviewed by Kenneth Russell.
2869
2870         [chromium] Add support for -webkit-mask properties to the
2871         accelerated compositing path.
2872         https://bugs.webkit.org/show_bug.cgi?id=49780
2873          
2874         Tests: Existing tests in LayoutTests/compositing/masks
2875
2876         * platform/graphics/chromium/ContentLayerChromium.cpp:
2877         (WebCore::ContentLayerChromium::draw):
2878         (WebCore::ContentLayerChromium::unreserveContentsTexture):
2879         (WebCore::ContentLayerChromium::bindContentsTexture):
2880         * platform/graphics/chromium/ContentLayerChromium.h:
2881         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2882         (WebCore::GraphicsLayerChromium::setMaskLayer):
2883         * platform/graphics/chromium/GraphicsLayerChromium.h:
2884         * platform/graphics/chromium/LayerChromium.cpp:
2885         (WebCore::LayerChromium::LayerChromium):
2886         * platform/graphics/chromium/LayerChromium.h:
2887         (WebCore::LayerChromium::setMaskLayer):
2888         (WebCore::LayerChromium::maskLayer):
2889         (WebCore::LayerChromium::unreserveContentsTexture):
2890         (WebCore::LayerChromium::bindContentsTexture):
2891         * platform/graphics/chromium/LayerRendererChromium.cpp:
2892         (WebCore::LayerRendererChromium::updateLayersRecursive):
2893         * platform/graphics/chromium/LayerTexture.cpp:
2894         (WebCore::LayerTexture::bindTexture):
2895         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2896         (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
2897         (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
2898         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
2899         (WebCore::RenderSurfaceChromium::draw):
2900         * platform/graphics/chromium/RenderSurfaceChromium.h:
2901         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderProgram):
2902         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderSamplerLocation):
2903         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMaskSamplerLocation):
2904         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMatrixLocation):
2905         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderAlphaLocation):
2906
2907 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
2908
2909         Reviewed by Darin Adler.
2910
2911         Use WTF::StringHasher in WebCore
2912         https://bugs.webkit.org/show_bug.cgi?id=52934
2913
2914         * loader/appcache/ApplicationCacheStorage.cpp:
2915         (WebCore::urlHostHash):
2916         * platform/LinkHash.cpp:
2917         (WebCore::visitedLinkHashInline):
2918         * platform/cf/BinaryPropertyList.cpp:
2919         (WebCore::IntegerArrayHash::hash):
2920         * platform/graphics/wx/FontPlatformDataWx.cpp:
2921         (WebCore::FontPlatformData::computeHash):
2922         * platform/network/ProtectionSpaceHash.h:
2923         (WebCore::ProtectionSpaceHash::hash):
2924
2925 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
2926
2927         Reviewed by David Kilzer.
2928
2929         Add an overload to base64Encode with String output
2930         https://bugs.webkit.org/show_bug.cgi?id=50122
2931
2932         This change removes duplicated code.
2933
2934         * inspector/InspectorResourceAgent.cpp:
2935         (WebCore::InspectorResourceAgent::resourceContentBase64):
2936         * page/DOMWindow.cpp:
2937         (WebCore::DOMWindow::btoa):
2938         * platform/graphics/skia/FontCustomPlatformData.cpp:
2939         (WebCore::createUniqueFontName):
2940         * platform/graphics/win/FontCustomPlatformData.cpp:
2941         (WebCore::createUniqueFontName):
2942         * platform/graphics/wince/FontCustomPlatformData.cpp:
2943         (WebCore::createUniqueFontName):
2944         * platform/network/cf/ResourceHandleCFNet.cpp:
2945         (WebCore::encodeBasicAuthorization):
2946         * platform/network/mac/ResourceHandleMac.mm:
2947         (WebCore::encodeBasicAuthorization):
2948         * platform/text/Base64.cpp:
2949         (WebCore::base64Encode):
2950         * platform/text/Base64.h:
2951         (WebCore::base64Encode):
2952         * platform/wince/KeygenWinCE.cpp:
2953         (WebCore::WebCore::signedPublicKeyAndChallengeString):
2954
2955 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
2956
2957         Reviewed by David Kilzer.
2958
2959         Add String::containsOnlyLatin1()
2960         https://bugs.webkit.org/show_bug.cgi?id=52979
2961
2962         Use String::containsOnlyLatin1() instead of isSafeToConvertCharList().
2963
2964         * page/DOMWindow.cpp:
2965         (WebCore::DOMWindow::btoa):
2966         (WebCore::DOMWindow::atob):
2967
2968 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
2969
2970         Reviewed by Andreas Kling.
2971
2972         [CMake] Add missing CodeGenerator dependencies
2973         https://bugs.webkit.org/show_bug.cgi?id=52976
2974
2975         * CMakeLists.txt:
2976
2977 2011-01-23  Yael Aharon  <yael.aharon@nokia.com>
2978
2979         Reviewed by Kenneth Rohde Christiansen.
2980
2981         [Qt][Symbian] Fix --minimal build
2982         https://bugs.webkit.org/show_bug.cgi?id=52839
2983
2984         Some of the plugins' functionality is reimplemented in
2985         Symbian specific files.
2986         Some of this functionality should be compiled in even if 
2987         the guard NETSCAPE_PLUGIN_API is turned off.
2988         This patch moves that functionality out of the
2989         NETSCAPE_PLUGIN_API guard.
2990
2991         Build fix so no new tests.
2992
2993         * WebCore.pro:
2994         * plugins/symbian/PluginPackageSymbian.cpp:
2995
2996 2011-01-23  Andreas Kling  <kling@webkit.org>
2997
2998         Reviewed by Tor Arne Vestbø.
2999
3000         [Qt] Use rad2deg() from WTF instead of rolling our own.
3001
3002         * platform/graphics/qt/GraphicsContextQt.cpp:
3003         (WebCore::GraphicsContext::rotate):
3004         * platform/graphics/qt/PathQt.cpp:
3005         (WebCore::Path::addArc):
3006
3007 2011-01-23  Kenneth Rohde Christiansen <kenneth@webkit.org>
3008
3009         Reviewed by Andreas Kling.
3010
3011         Viewport meta: Always adjust device dimensions to the device pixel ratio.
3012
3013         * dom/ViewportArguments.cpp:
3014         (WebCore::computeViewportAttributes):
3015
3016 2011-01-23  Andreas Kling  <kling@webkit.org>
3017
3018         Reviewed by Kenneth Rohde Christiansen.
3019
3020         Don't scale absolute geometry specified by viewport meta tag.
3021
3022         * dom/ViewportArguments.cpp:
3023         (WebCore::computeViewportAttributes):
3024
3025 2011-01-23  Ilya Tikhonovsky  <loislo@chromium.org>
3026
3027         Unreviewed build fix.
3028
3029         Web Inspector: looks like efl doesn't regenerate InspectorBackendDispatcher.
3030
3031         Touch Inspector.idl.
3032
3033         * inspector/Inspector.idl:
3034
3035 2011-01-22  Ilya Tikhonovsky  <loislo@chromium.org>
3036
3037         Reviewed by Pavel Feldman.
3038
3039         Web Inspector: next step in splitting InspectorController.
3040
3041         Splitting InspectorController is a bit tricky process.
3042
3043         As a first step I'll do the next things:
3044         1) rename existing InspectorController to InspectorAgent;
3045         2) s/nspectorController/nspectorAgent/g everywhere in WebCore/inspector but InspectorInstrumentation;
3046         3) create a fake InspectorController derived from the InspectorAgent for the rest of WebCore and WebKit;
3047
3048         The second step is a migration of a small set of functions described in bug 52510 from InspectorAgent to InspectorController.
3049
3050         As far as the second step will have significant changes in the functions' implementation I'll do it as a separate patch.
3051
3052         https://bugs.webkit.org/show_bug.cgi?id=52955
3053
3054         * CMakeLists.txt:
3055         * GNUmakefile.am:
3056         * WebCore.exp.in:
3057         * WebCore.gypi:
3058         * WebCore.pro:
3059         * WebCore.vcproj/WebCore.vcproj:
3060         * WebCore.xcodeproj/project.pbxproj:
3061         * bindings/js/JSInjectedScriptHostCustom.cpp:
3062         (WebCore::JSInjectedScriptHost::nodeForId):
3063         (WebCore::JSInjectedScriptHost::selectDOMStorage):
3064         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3065         (WebCore::V8InjectedScriptHost::nodeForIdCallback):
3066         * inspector/CodeGeneratorInspector.pm:
3067         * inspector/InjectedScriptHost.cpp:
3068         (WebCore::InjectedScriptHost::InjectedScriptHost):
3069         (WebCore::InjectedScriptHost::clearConsoleMessages):
3070         (WebCore::InjectedScriptHost::databaseForId):
3071         (WebCore::InjectedScriptHost::selectDatabase):
3072         (WebCore::InjectedScriptHost::selectDOMStorage):
3073         (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
3074         (WebCore::InjectedScriptHost::inspectorDOMAgent):
3075         (WebCore::InjectedScriptHost::frontend):
3076         (WebCore::InjectedScriptHost::didCreateWorker):
3077         (WebCore::InjectedScriptHost::didDestroyWorker):
3078         * inspector/InjectedScriptHost.h:
3079         (WebCore::InjectedScriptHost::create):
3080         (WebCore::InjectedScriptHost::inspectorAgent):
3081         (WebCore::InjectedScriptHost::disconnectController):
3082         * inspector/InspectorAgent.cpp: Copied from Source/WebCore/inspector/InspectorController.cpp.
3083         (WebCore::InspectorAgent::InspectorAgent):
3084         (WebCore::InspectorAgent::~InspectorAgent):
3085         (WebCore::InspectorAgent::inspectedPageDestroyed):
3086         (WebCore::InspectorAgent::enabled):
3087         (WebCore::InspectorAgent::inspectorStartsAttached):
3088         (WebCore::InspectorAgent::setInspectorStartsAttached):
3089         (WebCore::InspectorAgent::setInspectorAttachedHeight):
3090         (WebCore::InspectorAgent::inspectorAttachedHeight):
3091         (WebCore::InspectorAgent::searchingForNodeInPage):
3092         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
3093         (WebCore::InspectorAgent::inspect):
3094         (WebCore::InspectorAgent::focusNode):
3095         (WebCore::InspectorAgent::highlight):
3096         (WebCore::InspectorAgent::highlightDOMNode):
3097         (WebCore::InspectorAgent::highlightFrame):
3098         (WebCore::InspectorAgent::hideHighlight):
3099         (WebCore::InspectorAgent::mouseDidMoveOverElement):
3100         (WebCore::InspectorAgent::handleMousePress):
3101         (WebCore::InspectorAgent::setInspectorFrontendClient):
3102         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
3103         (WebCore::InspectorAgent::setSearchingForNode):
3104         (WebCore::InspectorAgent::connectFrontend):
3105         (WebCore::InspectorAgent::show):
3106         (WebCore::InspectorAgent::showPanel):
3107         (WebCore::InspectorAgent::close):
3108         (WebCore::InspectorAgent::disconnectFrontend):
3109         (WebCore::InspectorAgent::resourceAgent):
3110         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
3111         (WebCore::InspectorAgent::populateScriptObjects):
3112         (WebCore::InspectorAgent::pushDataCollectedOffline):
3113         (WebCore::InspectorAgent::restoreDebugger):
3114         (WebCore::InspectorAgent::restoreProfiler):
3115         (WebCore::InspectorAgent::unbindAllResources):
3116         (WebCore::InspectorAgent::didCommitLoad):
3117         (WebCore::InspectorAgent::mainResourceFiredDOMContentEvent):
3118         (WebCore::InspectorAgent::mainResourceFiredLoadEvent):
3119         (WebCore::InspectorAgent::isMainResourceLoader):
3120         (WebCore::InspectorAgent::willSendRequest):
3121         (WebCore::InspectorAgent::ensureSettingsLoaded):
3122         (WebCore::InspectorAgent::startTimelineProfiler):
3123         (WebCore::InspectorAgent::stopTimelineProfiler):
3124         (WebCore::PostWorkerNotificationToFrontendTask::create):
3125         (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
3126         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
3127         (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
3128         (WebCore::InspectorAgent::didCreateWorker):
3129         (WebCore::InspectorAgent::didDestroyWorker):
3130         (WebCore::InspectorAgent::didOpenDatabase):
3131         (WebCore::InspectorAgent::getCookies):
3132         (WebCore::InspectorAgent::buildArrayForCookies):
3133         (WebCore::InspectorAgent::buildObjectForCookie):
3134         (WebCore::InspectorAgent::deleteCookie):
3135         (WebCore::InspectorAgent::didUseDOMStorage):
3136         (WebCore::InspectorAgent::didCreateWebSocket):
3137         (WebCore::InspectorAgent::willSendWebSocketHandshakeRequest):
3138         (WebCore::InspectorAgent::didReceiveWebSocketHandshakeResponse):
3139         (WebCore::InspectorAgent::didCloseWebSocket):
3140         (WebCore::InspectorAgent::isRecordingUserInitiatedProfile):
3141         (WebCore::InspectorAgent::startUserInitiatedProfiling):
3142         (WebCore::InspectorAgent::stopUserInitiatedProfiling):
3143         (WebCore::InspectorAgent::profilerEnabled):
3144         (WebCore::InspectorAgent::enableProfiler):
3145         (WebCore::InspectorAgent::disableProfiler):
3146         (WebCore::InspectorAgent::showAndEnableDebugger):
3147         (WebCore::InspectorAgent::enableDebugger):
3148         (WebCore::InspectorAgent::disableDebugger):
3149         (WebCore::InspectorAgent::resume):
3150         (WebCore::InspectorAgent::setAllBrowserBreakpoints):
3151         (WebCore::InspectorAgent::evaluateForTestInFrontend):
3152         (WebCore::InspectorAgent::didEvaluateForTestInFrontend):
3153         (WebCore::quadToPath):
3154         (WebCore::drawOutlinedQuad):
3155         (WebCore::drawOutlinedQuadWithClip):
3156         (WebCore::drawHighlightForBox):
3157         (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
3158         (WebCore::convertFromFrameToMainFrame):
3159         (WebCore::frameToMainFrameOffset):
3160         (WebCore::InspectorAgent::drawNodeHighlight):
3161         (WebCore::InspectorAgent::drawElementTitle):
3162         (WebCore::InspectorAgent::openInInspectedWindow):
3163         (WebCore::InspectorAgent::addScriptToEvaluateOnLoad):
3164         (WebCore::InspectorAgent::removeAllScriptsToEvaluateOnLoad):
3165         (WebCore::InspectorAgent::setInspectorExtensionAPI):
3166         (WebCore::InspectorAgent::inspectedURL):
3167         (WebCore::InspectorAgent::reloadPage):
3168         (WebCore::InspectorAgent::setExtraHeaders):
3169         * inspector/InspectorAgent.h: Copied from Source/WebCore/inspector/InspectorController.h.
3170         (WebCore::InspectorAgent::inspectorBackendDispatcher):
3171         (WebCore::InspectorAgent::inspectorClient):
3172         (WebCore::InspectorAgent::injectedScriptHost):
3173         (WebCore::InspectorAgent::inspectedPage):
3174         (WebCore::InspectorAgent::hideDOMNodeHighlight):
3175         (WebCore::InspectorAgent::hideFrameHighlight):
3176         (WebCore::InspectorAgent::frontend):
3177         (WebCore::InspectorAgent::inspectorController):
3178         (WebCore::InspectorAgent::inspectorAgent):
3179         (WebCore::InspectorAgent::consoleAgent):
3180         (WebCore::InspectorAgent::cssAgent):
3181         (WebCore::InspectorAgent::domAgent):
3182         (WebCore::InspectorAgent::injectedScriptAgent):
3183         (WebCore::InspectorAgent::runtimeAgent):
3184         (WebCore::InspectorAgent::timelineAgent):
3185         (WebCore::InspectorAgent::databaseAgent):
3186         (WebCore::InspectorAgent::domStorageAgent):
3187         (WebCore::InspectorAgent::fileSystemAgent):
3188         (WebCore::InspectorAgent::browserDebuggerAgent):
3189         (WebCore::InspectorAgent::debuggerAgent):
3190         (WebCore::InspectorAgent::profilerAgent):
3191         (WebCore::InspectorAgent::applicationCacheAgent):
3192         (WebCore::InspectorAgent::hasInspectorFrontendClient):
3193         (WebCore::InspectorAgent::hasFrontend):
3194         (WebCore::InspectorAgent::startProfiling):
3195         (WebCore::InspectorAgent::stopProfiling):
3196         (WebCore::InspectorAgent::debuggerEnabled):
3197         (WebCore::InspectorAgent::state):
3198         (WebCore::InspectorAgent::settings):
3199         * inspector/InspectorApplicationCacheAgent.cpp:
3200         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
3201         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
3202         * inspector/InspectorApplicationCacheAgent.h:
3203         * inspector/InspectorBrowserDebuggerAgent.cpp:
3204         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
3205         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
3206         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
3207         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
3208         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
3209         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
3210         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
3211         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
3212         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
3213         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
3214         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
3215         * inspector/InspectorBrowserDebuggerAgent.h:
3216         (WebCore::InspectorBrowserDebuggerAgent::create):
3217         * inspector/InspectorConsoleAgent.cpp:
3218         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
3219         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
3220         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
3221         (WebCore::InspectorConsoleAgent::addMessageToConsole):
3222         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
3223         (WebCore::InspectorConsoleAgent::didReceiveResponse):
3224         (WebCore::InspectorConsoleAgent::didFailLoading):
3225         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
3226         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
3227         (WebCore::InspectorConsoleAgent::addConsoleMessage):
3228         * inspector/InspectorConsoleAgent.h:
3229         * inspector/InspectorController.cpp:
3230         (WebCore::InspectorController::InspectorController):
3231         * inspector/InspectorController.h:
3232         * inspector/InspectorDatabaseAgent.cpp:
3233         * inspector/InspectorDebuggerAgent.cpp:
3234         (WebCore::InspectorDebuggerAgent::create):
3235         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3236         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
3237         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
3238         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
3239         (WebCore::InspectorDebuggerAgent::currentCallFrames):
3240         * inspector/InspectorDebuggerAgent.h:
3241         * inspector/InspectorFileSystemAgent.cpp:
3242         (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
3243         (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
3244         (WebCore::InspectorFileSystemAgent::stop):
3245         (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
3246         (WebCore::InspectorFileSystemAgent::didGetFileSystemPath):
3247         (WebCore::InspectorFileSystemAgent::didGetFileSystemError):
3248         * inspector/InspectorFileSystemAgent.h:
3249         (WebCore::InspectorFileSystemAgent::create):
3250         * inspector/InspectorFrontendHost.cpp:
3251         (WebCore::InspectorFrontendHost::setExtensionAPI):
3252         * inspector/InspectorProfilerAgent.cpp:
3253         (WebCore::InspectorProfilerAgent::create):
3254         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
3255         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
3256         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
3257         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
3258         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
3259         * inspector/InspectorProfilerAgent.h:
3260
3261 2011-01-22  Chris Rogers  <crogers@google.com>
3262
3263         Rubber-stamped by Anders Carlsson.
3264
3265         Fix FFTFrameStub to compile properly
3266         https://bugs.webkit.org/show_bug.cgi?id=52969
3267
3268         No new tests since this is a build fix.
3269
3270         * platform/audio/FFTFrameStub.cpp:
3271         (WebCore::FFTFrame::FFTFrame):
3272
3273 2011-01-22  Andrei Popescu  <andreip@google.com>
3274
3275         Reviewed by Jeremy Orlow.
3276
3277         IndexedDB corrupts data on disk
3278         https://bugs.webkit.org/show_bug.cgi?id=52890
3279
3280         We need to store the SerializedScriptValues on disk in a BLOB column rather than TEXT.
3281         Test: storage/indexeddb/data-corruption.html
3282
3283         * platform/sql/SQLiteStatement.cpp:
3284         (WebCore::SQLiteStatement::bindBlob):
3285         (WebCore::SQLiteStatement::getColumnBlobAsString):
3286         (WebCore::SQLiteStatement::getColumnBlobAsVector):
3287         * platform/sql/SQLiteStatement.h:
3288         * storage/IDBCursorBackendImpl.cpp:
3289         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
3290         * storage/IDBFactoryBackendImpl.cpp:
3291         (WebCore::runCommands):
3292         (WebCore::createTables):
3293         (WebCore::createMetaDataTable):
3294         (WebCore::migrateDatabase):
3295         * storage/IDBObjectStoreBackendImpl.cpp:
3296         (WebCore::IDBObjectStoreBackendImpl::getInternal):
3297         (WebCore::putObjectStoreData):
3298
3299 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
3300
3301         Not reviewed. Fix WinCE build.
3302
3303         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3304         (WebCore::GraphicsContext::drawText):
3305         * rendering/RenderThemeWinCE.cpp:
3306         (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
3307
3308 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
3309
3310         Reviewed by Dirk Schulze.
3311
3312         REGRESSION: Vertical line metrics incorrect
3313         https://bugs.webkit.org/show_bug.cgi?id=52960
3314
3315         SimpleFontDataMac.mm contains a hack to modifiy lineGap/descent for the 'Hiragino' font.
3316         That didn't influence the lineSpacing so far, but does now, causing regressions.
3317
3318         Restore old line spacing behaviour to fix the regression.
3319         Covered by existing fast/blockflow, fast/repaint and fast/text/international test cases.
3320
3321         * platform/graphics/FontMetrics.h:
3322         (WebCore::FontMetrics::FontMetrics):
3323         (WebCore::FontMetrics::floatLineSpacing):
3324         (WebCore::FontMetrics::setLineSpacing):
3325         (WebCore::FontMetrics::lineSpacing):
3326         (WebCore::FontMetrics::reset):
3327         * platform/graphics/SimpleFontData.cpp:
3328         (WebCore::SimpleFontData::SimpleFontData):
3329         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
3330         (WebCore::SimpleFontData::platformInit):
3331         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
3332         (WebCore::SimpleFontData::platformInit):
3333         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
3334         (WebCore::SimpleFontData::platformInit):
3335         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
3336         (WebCore::SimpleFontData::platformInit):
3337         * platform/graphics/mac/SimpleFontDataMac.mm:
3338         (WebCore::SimpleFontData::platformInit):
3339         * platform/graphics/pango/SimpleFontDataPango.cpp:
3340         (WebCore::SimpleFontData::platformInit):
3341         * platform/graphics/qt/SimpleFontDataQt.cpp:
3342         (WebCore::SimpleFontData::platformInit):
3343         * platform/graphics/win/SimpleFontDataCGWin.cpp:
3344         (WebCore::SimpleFontData::platformInit):
3345         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
3346         (WebCore::SimpleFontData::platformInit):
3347         * platform/graphics/win/SimpleFontDataWin.cpp:
3348         (WebCore::SimpleFontData::initGDIFont):
3349         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
3350         (WebCore::SimpleFontData::platformInit):
3351         * platform/graphics/wx/SimpleFontDataWx.cpp:
3352         (WebCore::SimpleFontData::platformInit):
3353
3354 2011-01-22  Andreas Kling  <kling@webkit.org>
3355
3356         Reviewed by Kenneth Rohde Christiansen.
3357
3358         [Qt] fast/backgrounds/svg-as-mask.html fails
3359         https://bugs.webkit.org/show_bug.cgi?id=52906
3360
3361         Transparency layers should start out with in SourceOver mode with
3362         alpha 1.0 (modeled after CGContextBeginTransparencyLayer.)
3363
3364         * platform/graphics/qt/TransparencyLayer.h:
3365         (WebCore::TransparencyLayer::TransparencyLayer):
3366
3367 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
3368
3369         Not reviewed.
3370
3371         Introduce FontMetrics abstraction
3372         https://bugs.webkit.org/show_bug.cgi?id=51456
3373
3374         Fix Chromium/Win build.
3375
3376         * platform/graphics/chromium/UniscribeHelperTextRun.cpp: s/->/./
3377         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
3378
3379 2011-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>
3380
3381         Reviewed by Dirk Schulze.
3382
3383         Introduce FontMetrics abstraction
3384         https://bugs.webkit.org/show_bug.cgi?id=51456
3385
3386         Encapsulate ascent/descent/lineHeight/lineGap methods in a single FontMetrics class, instead of
3387         having to define them in both Font & SimpleFontData. Changed to store floating point values
3388         as default, in order to get accurate information for small sized fonts. All these methods
3389         now have floating-point and integer versions. Whenever an integer variant of these functions
3390         is called, lroundf() is used to round the value.
3391
3392         This makes it possible to support small font-sizes for SVG in a follow-up patch, as well
3393         as fixing rounding issues when using SVG Fonts.
3394         
3395         Shouldn't affect existing tests.
3396
3397         * GNUmakefile.am: Add FontMetrics.h to build. 
3398         * WebCore.gypi: Ditto.
3399         * WebCore.pro: Ditto.
3400         * WebCore.vcproj/WebCore.vcproj: Ditto.
3401         * WebCore.xcodeproj/project.pbxproj: Ditto.
3402         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
3403         (baselinePositionForAccessibilityRenderObject):
3404         * css/CSSPrimitiveValue.cpp:         
3405         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3406         * html/canvas/CanvasRenderingContext2D.cpp: Ditto.
3407         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3408         * inspector/InspectorController.cpp: Ditto.
3409         (WebCore::InspectorController::drawElementTitle):
3410         * platform/chromium/PopupMenuChromium.cpp: Ditto.
3411         (WebCore::PopupListBox::paintRow):
3412         (WebCore::PopupListBox::getRowHeight):
3413         * platform/graphics/Font.h: Remove ascent/descent/height/lineGap/lineSpacing/xHeight/unitsPerEm accessor...
3414         (WebCore::Font::fontMetrics): ... and only expose a single FontMetrics object here.
3415         * platform/graphics/FontFastPath.cpp: Use fontMetrics() to query metrics information.
3416         (WebCore::Font::emphasisMarkAscent):
3417         (WebCore::Font::emphasisMarkDescent):
3418         (WebCore::Font::emphasisMarkHeight):
3419         (WebCore::Font::floatWidthForSimpleText):
3420         * platform/graphics/FontMetrics.h: Added.
3421         (WebCore::FontMetrics::FontMetrics): Creates a FontMetrics object, stored in SimpleFontData.
3422         (WebCore::FontMetrics::unitsPerEm): Returns an unsigned describing the unitsPerEm.
3423         (WebCore::FontMetrics::setUnitsPerEm): Sets the unitsPerEm value.
3424         (WebCore::FontMetrics::floatAscent): Returns the stored m_ascent float.
3425         (WebCore::FontMetrics::setAscent): Sets the stored m_ascent float.
3426         (WebCore::FontMetrics::floatDescent): Returns the stored m_descent float.
3427         (WebCore::FontMetrics::setDescent): Sets the stored m_descent float.
3428         (WebCore::FontMetrics::floatHeight): Returns floatAscent() + floatDescent().
3429         (WebCore::FontMetrics::floatLineGap): Returns the stored m_lineGap float.
3430         (WebCore::FontMetrics::setLineGap): Sets the stored m_lineGap float.
3431         (WebCore::FontMetrics::floatLineSpacing): Returns the stored m_lineSpacing float.
3432         (WebCore::FontMetrics::setLineSpacing): Sets the stored m_lineSpacing float.
3433         (WebCore::FontMetrics::xHeight): Returns the stored m_xHeight float (no integer version available, hence no 'float' prefix).
3434         (WebCore::FontMetrics::setXHeight): Sets the stored m_xHeight float.
3435         (WebCore::FontMetrics::ascent): Returns a rounded version of ascent().
3436         (WebCore::FontMetrics::descent): Ditto (for descent).
3437         (WebCore::FontMetrics::height): Returns ascent() + descent().
3438         (WebCore::FontMetrics::lineGap): Returns a rounded version of lineGap().
3439         (WebCore::FontMetrics::lineSpacing): Ditto (for lineSpacing).
3440         (WebCore::FontMetrics::reset): Nulls all members, used only by the platform variants of SimpleFontData.
3441         * platform/graphics/SimpleFontData.cpp: Adapt SVG Fonts code, to initialize the FontMetrics object, as the m_ascent/etc.. members are gone.
3442         (WebCore::SimpleFontData::SimpleFontData):
3443         (WebCore::SimpleFontData::initCharWidths):
3444         * platform/graphics/SimpleFontData.h: Remove ascent/descent/height/lineSpacing/lineGap/xHeight/unitsPerEm accessors, and members, just store a FontMetrics object and expose it.
3445         (WebCore::SimpleFontData::fontMetrics):
3446         (WebCore::SimpleFontData::avgCharWidth):
3447         * platform/graphics/chromium/FontChromiumWin.cpp: Use fontMetrics() to query font metrics.
3448         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
3449         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
3450         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):