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