2011-06-25 Joseph Pecoraro <joepeck@webkit.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>
2
3         Reviewed by Simon Fraser.
4
5         Inspector highlight rect is wrong for contents of transformed iframes
6         https://bugs.webkit.org/show_bug.cgi?id=53627
7
8         Part 1: Provide FloatQuad versions of convertFromRenderer,
9         convertToContainingView, and convertChildToSelf, so that we
10         can get the fully transformed quad of a renderer all the
11         way up to the root widget.
12
13         * page/FrameView.cpp:
14         (WebCore::FrameView::convertFromRenderer):
15         (WebCore::FrameView::convertToContainingView):
16         * page/FrameView.h:
17         * platform/ScrollView.h:
18         (WebCore::ScrollView::convertChildToSelf):
19         * platform/Widget.h:
20         * platform/Widget.cpp:
21         (WebCore::Widget::convertToContainingView):
22         Provide FloatQuad versions of these already existing functions.
23
24         (WebCore::Widget::convertToRootContainingView):
25         Provide a helper conversion function to recursively
26         convert a given FloatQuad up to the root widget.
27
28         * inspector/DOMNodeHighlighter.cpp:
29         (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
30         Use the new methods to convert the FloatQuad for the highlighted
31         node to the root container, without losing transformation
32         information. Add a FIXME for SVG, which is still broken.
33
34         * WebCore.exp.in:
35         Export the new Widget functions so WebKit can link properly.
36
37 2011-06-25  Dirk Schulze  <krit@webkit.org>
38
39         Unreviewed build fix.
40
41         SVGAnimatedType should support SVGNumberList animation
42         https://bugs.webkit.org/show_bug.cgi?id=63387
43
44         * svg/SVGAnimatedNumberList.cpp:
45         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
46
47 2011-06-25  Dirk Schulze  <krit@webkit.org>
48
49         Reviewed by Nikolas Zimmermann.
50
51         SVGAnimatedType should support SVGNumberList animation
52         https://bugs.webkit.org/show_bug.cgi?id=63387
53         
54         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
55         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGNumberList.
56         
57         Animations of attributes with type SVGNumberList can be interpolated now.
58
59         Tests: svg/animations/svgnumberlist-animation-1.html
60                svg/animations/svgnumberlist-animation-2.html
61
62         * CMakeLists.txt: Added new file to build system.
63         * GNUmakefile.list.am: Ditto.
64         * WebCore.gypi: Ditto.
65         * WebCore.pro: Ditto.
66         * WebCore.xcodeproj/project.pbxproj: Ditto.
67         * svg/SVGAllInOne.cpp: Ditto.
68         * svg/SVGAnimateElement.cpp: Make use of attribute type AnimatedNumberList.
69         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
70         (WebCore::SVGAnimateElement::calculateAnimatedValue):
71         (WebCore::SVGAnimateElement::calculateFromAndToValues):
72         (WebCore::SVGAnimateElement::calculateFromAndByValues):
73         (WebCore::SVGAnimateElement::resetToBaseValue):
74         (WebCore::SVGAnimateElement::applyResultsToTarget):
75         (WebCore::SVGAnimateElement::calculateDistance):
76         * svg/SVGAnimatedNumber.cpp:
77         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedNumber): Made method static for reuse in SVGAnimatedNumberList (and SVGAnimatedNumberOptionalNumber later).
78         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue): Use new static function.
79         * svg/SVGAnimatedNumber.h:
80         * svg/SVGAnimatedNumberList.cpp: Added. New animator for SVGNumberList.
81         (WebCore::SVGAnimatedNumberListAnimator::SVGAnimatedNumberListAnimator):
82         (WebCore::SVGAnimatedNumberListAnimator::constructFromString):
83         (WebCore::SVGAnimatedNumberListAnimator::calculateFromAndToValues):
84         (WebCore::SVGAnimatedNumberListAnimator::calculateFromAndByValues):
85         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
86         (WebCore::SVGAnimatedNumberListAnimator::calculateDistance):
87         * svg/SVGAnimatedNumberList.h:
88         (WebCore::SVGAnimatedNumberListAnimator::~SVGAnimatedNumberListAnimator):
89         * svg/SVGAnimatedType.cpp: Use new Animator.
90         (WebCore::SVGAnimatedType::~SVGAnimatedType):
91         (WebCore::SVGAnimatedType::createNumberList):
92         (WebCore::SVGAnimatedType::numberList):
93         (WebCore::SVGAnimatedType::valueAsString):
94         (WebCore::SVGAnimatedType::setValueAsString):
95         * svg/SVGAnimatedType.h:
96         * svg/SVGAnimatorFactory.h:
97         (WebCore::SVGAnimatorFactory::create):
98
99 2011-06-25  Nikolas Zimmermann  <nzimmermann@rim.com>
100
101         Reviewed by Dirk Schulze.
102
103         Convert SVGPath to SVGAnimatorFactory concept
104         https://bugs.webkit.org/show_bug.cgi?id=63336
105
106         Convert <animate attributeName="d"> parsing to the new SVGAnimatorFactory concept, removing
107         the last special data types from SVGAnimateElement: SVGPathByteStream m_fromPath/m_toPath/m_animatedPath.
108         All existing non-string primitives have been converted to the new concept.
109
110         Doesn't change any functionality.
111
112         * CMakeLists.txt: Added SVGAnimatedPath.*.
113         * GNUmakefile.list.am: Ditto.
114         * WebCore.gypi: Ditto.
115         * WebCore.pro: Ditto.
116         * WebCore.vcproj/WebCore.vcproj: Ditto.
117         * WebCore.xcodeproj/project.pbxproj: Ditto.
118         * svg/SVGAllInOne.cpp: Ditto.
119         * svg/SVGAnimateElement.cpp:
120         (WebCore::SVGAnimateElement::SVGAnimateElement):
121         (WebCore::SVGAnimateElement::calculateAnimatedValue):
122         (WebCore::SVGAnimateElement::calculateFromAndToValues):
123         (WebCore::SVGAnimateElement::calculateFromAndByValues):
124         (WebCore::SVGAnimateElement::resetToBaseValue):
125         (WebCore::SVGAnimateElement::applyResultsToTarget):
126         * svg/SVGAnimateElement.h:
127         * svg/SVGAnimatedPath.cpp: Added.
128         (WebCore::SVGAnimatedPathAnimator::SVGAnimatedPathAnimator):
129         (WebCore::SVGAnimatedPathAnimator::constructFromString):
130         (WebCore::SVGAnimatedPathAnimator::calculateFromAndToValues):
131         (WebCore::SVGAnimatedPathAnimator::calculateFromAndByValues):
132         (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
133         (WebCore::SVGAnimatedPathAnimator::calculateDistance):
134         * svg/SVGAnimatedPath.h: Added.
135         (WebCore::SVGAnimatedPathAnimator::~SVGAnimatedPathAnimator):
136         * svg/SVGAnimatedType.cpp:
137         (WebCore::SVGAnimatedType::~SVGAnimatedType):
138         (WebCore::SVGAnimatedType::createPath):
139         (WebCore::SVGAnimatedType::path):
140         (WebCore::SVGAnimatedType::valueAsString):
141         (WebCore::SVGAnimatedType::setValueAsString):
142         * svg/SVGAnimatedType.h:
143         * svg/SVGAnimatorFactory.h:
144         (WebCore::SVGAnimatorFactory::create):
145         * svg/SVGPathByteStream.h:
146         (WebCore::SVGPathByteStream::initializeFrom):
147         * svg/SVGPathParserFactory.cpp:
148         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
149         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
150         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
151
152 2011-06-25  Jer Noble  <jer.noble@apple.com>
153
154         Reviewed by Maciej Stachowiak.
155
156         SOFT_LINK_POINTER_OPTIONAL isn't optional.
157         https://bugs.webkit.org/show_bug.cgi?id=63378
158
159         Continuation of r89718.  SOFT_LINK_POINTER_OPTIONAL should check the value returned by dlsym before dereferencing it.
160
161         * platform/mac/SoftLinking.h:
162
163 2011-06-25  Rob Buis  <rbuis@rim.com>
164
165         Reviewed by Nikolas Zimmermann.
166
167         SVG1.1SE test linking-uri-01-b.svg fails
168         https://bugs.webkit.org/show_bug.cgi?id=63322
169
170         Allow navigating to internal <view> targets. When choosing Back ensure
171         the <svg> current view is initialized correctly.
172
173         Tests: svg/W3C-SVG-1.1-SE/linking-uri-01-b.svg
174                svg/custom/linking-uri-01-b.svg
175
176         * page/FrameView.cpp: Delegate to setupInitialView.
177         (WebCore::FrameView::scrollToAnchor):
178         * svg/SVGAElement.cpp: Allow navigating to internal <view> targets.
179         (WebCore::SVGAElement::defaultEventHandler):
180         * svg/SVGSVGElement.cpp:
181         (WebCore::SVGSVGElement::setupInitialView): Initialize current view depending on fragment identifier.
182         (WebCore::SVGSVGElement::inheritViewAttributes):
183         * svg/SVGSVGElement.h:
184
185 2011-06-24  Dimitri Glazkov  <dglazkov@chromium.org>
186
187         Reviewed by Darin Adler.
188
189         REGRESSION (r77740): Shadow DOM pseudo elements aren't matching when combined with descendant selectors
190         https://bugs.webkit.org/show_bug.cgi?id=63373
191
192         * css/CSSStyleSelector.cpp:
193         (WebCore::CSSStyleSelector::pushParentStackFrame): Changed to use parentOrHostElement.
194         (WebCore::CSSStyleSelector::pushParent): Ditto.
195         * dom/Node.cpp:
196         (WebCore::Node::parentOrHostElement): Added.
197         * dom/Node.h:
198
199 2011-06-24  Dan Bernstein  <mitz@apple.com>
200
201         Reviewed by Anders Carlsson.
202
203         Add an option to enable legacy rounding hacks
204         https://bugs.webkit.org/show_bug.cgi?id=63363
205
206         Restored most of text rounding hacks which were removed in r78846, with a global flag to control
207         whether rounding hacks are allowed, which defaults to false.
208
209         Test: platform/mac/fast/text/rounding-hacks.html
210
211         * CMakeLists.txt: Added TextRun.cpp.
212         * GNUmakefile.list.am: Ditto.
213         * WebCore.exp.in: Export new TextRun function and global and updated StringTruncator functions.
214         * WebCore.gypi: Added TextRun.cpp.
215         * WebCore.pro: Ditto.
216         * WebCore.vcproj/WebCore.vcproj: Ditto.
217         * WebCore.xcodeproj/project.pbxproj: Ditto.
218         * html/canvas/CanvasRenderingContext2D.cpp:
219         (WebCore::CanvasRenderingContext2D::drawTextInternal): Disable rounding hacks in the one place
220         they used to be disabled.
221         * platform/graphics/Font.cpp: Re-added the rounding character table.
222         * platform/graphics/Font.h:
223         (WebCore::Font::isRoundingHackCharacter): Re-added.
224         * platform/graphics/FontFastPath.cpp:
225         (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Account for final rounding width.
226         * platform/graphics/SimpleFontData.cpp:
227         (WebCore::SimpleFontData::platformGlyphInit): Initialize m_adjustedSpaceWidth.
228         * platform/graphics/SimpleFontData.h:
229         (WebCore::SimpleFontData::adjustedSpaceWidth): Re-added.
230         * platform/graphics/StringTruncator.cpp:
231         (WebCore::stringWidth): Re-added disableRoundingHacks parameter.
232         (WebCore::truncateString): Ditto.
233         (WebCore::StringTruncator::centerTruncate): Added EnableRoundingHacksOrNot parameter.
234         (WebCore::StringTruncator::rightTruncate): Ditto.
235         (WebCore::StringTruncator::width): Ditto.
236         * platform/graphics/StringTruncator.h:
237         * platform/graphics/TextRun.cpp: Added.
238         (WebCore::TextRun::setAllowsRoundingHacks): Added.
239         * platform/graphics/TextRun.h:
240         (WebCore::TextRun::TextRun): Added RoundingHacks parameter to the constructors, used to initialize
241         the m_applyRunRounding and m_applyWordRounding member variables, subject to rounding hacks being allowed.
242         (WebCore::TextRun::applyRunRounding): Re-added this accessor.
243         (WebCore::TextRun::applyWordRounding): Ditto.
244         (WebCore::TextRun::disableRoundingHacks): Re-added.
245         * platform/graphics/WidthIterator.cpp:
246         (WebCore::WidthIterator::WidthIterator): Re-added code to apply rounding hacks.
247         (WebCore::WidthIterator::advance): Ditto.
248         * platform/graphics/WidthIterator.h:
249         * platform/graphics/mac/ComplexTextController.cpp:
250         (WebCore::ceilCGFloat): Re-added.
251         (WebCore::ComplexTextController::ComplexTextController): Re-added code to apply rounding hacks.
252         (WebCore::ComplexTextController::advance): Ditto.
253         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Ditto.
254         * platform/graphics/mac/ComplexTextController.h:
255         (WebCore::ComplexTextController::finalRoundingWidth): Re-added this accessor.
256         * platform/graphics/mac/FontComplexTextMac.cpp:
257         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Accound for final rounding width.
258         * platform/graphics/qt/SimpleFontDataQt.cpp:
259         (WebCore::SimpleFontData::platformGlyphInit): Initialize m_adjustedSpaceWidth.
260         * platform/gtk/RenderThemeGtk.cpp:
261         (WebCore::RenderThemeGtk::fileListNameForWidth): Enabled rounding hacks in the string truncator.
262         * platform/mac/DragImageMac.mm:
263         (WebCore::widthWithFont): Disable rounding hacks when measuring.
264         (WebCore::drawAtPoint): Disable rounding hacks when drawing.
265         * platform/win/DragImageWin.cpp:
266         (WebCore::createDragImageForLink): Enable rounding hacks in the string truncator.
267         * platform/win/WebCoreTextRenderer.cpp:
268         (WebCore::WebCoreTextFloatWidth): Ditto.
269         * rendering/RenderFileUploadControl.cpp:
270         (WebCore::RenderFileUploadControl::paintObject): Disable rounding hacks.
271         * rendering/RenderListBox.cpp:
272         (WebCore::RenderListBox::updateFromElement): Ditto.
273         (WebCore::RenderListBox::paintItemForeground): Ditto.
274         * rendering/RenderTextControl.cpp:
275         (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
276         * rendering/RenderTheme.cpp:
277         (WebCore::RenderTheme::fileListNameForWidth): Enabled rounding hacks in the string truncator.
278         * rendering/RenderThemeMac.mm:
279         (WebCore::RenderThemeMac::fileListNameForWidth): Ditto.
280         * rendering/svg/SVGInlineTextBox.cpp:
281         (WebCore::SVGInlineTextBox::constructTextRun): Disabled rounding hacks.
282         * rendering/svg/SVGTextMetrics.cpp:
283         (WebCore::constructTextRun): Ditto.
284
285 2011-06-24  Nikolas Zimmermann  <nzimmermann@rim.com>
286
287         Reviewed by Rob Buis.
288
289         Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
290         https://bugs.webkit.org/show_bug.cgi?id=59085
291
292         font substitution doesn't work for HTML text using SVG fonts
293         https://bugs.webkit.org/show_bug.cgi?id=17608
294
295         Selection rects are wrong for text with SVG fonts
296         https://bugs.webkit.org/show_bug.cgi?id=25460
297
298         With @font-face, SVG fonts only work as primary, non-segmented
299         https://bugs.webkit.org/show_bug.cgi?id=32227
300
301         When using SVG fonts with @font-face word-spacing and text-align: justify are not being honored
302         https://bugs.webkit.org/show_bug.cgi?id=34236
303
304         SVG @font-face breaks text-overflow: ellipsis
305         https://bugs.webkit.org/show_bug.cgi?id=36840
306
307         REGRESSION: SVG Font selection problems
308         https://bugs.webkit.org/show_bug.cgi?id=41934
309
310         Tests: svg/custom/svg-fonts-fallback.xhtml (for bug 17608, extended the original test from Mark Ambachtsheer)
311                svg/custom/svg-fonts-segmented.xhtml (for bug 32227)
312                svg/custom/svg-fonts-word-spacing.html (for bug 34236, from Michael Lewis)
313                svg/text/select-text-svgfont.html (for bug 25460/41934, from Emil Schutte)
314                svg/text/text-overflow-ellipsis-svgfont.html (for 36840, from Emil Schutte)
315
316         Rewrite the SVG Fonts support to fully integrate within the GlyphPage concept and the "simple" code path used to render platform fonts.
317         That means the special logic for measuring text using SVG Fonts, calculating offset for positions, computing selection rects etc. is all gone now.
318         There's no difference anymore between using a native font or a SVG Font, in terms of these operations.
319
320         This makes text selection using SVG Fonts possible again.
321
322         * features.pri: Temporarily turn of SVG Fonts for Qt, as long as QRawFont support is not available and the fast path is disabled.
323         * page/DOMWindow.idl: Touched file to force Qt regenerating the bindings.
324         * platform/graphics/Font.cpp: Remove SVG Font special cases, the simple code path now handles SVG Fonts as well.
325         (WebCore::Font::drawText):
326         (WebCore::Font::drawEmphasisMarks):
327         (WebCore::Font::width):
328         (WebCore::Font::selectionRectForText):
329         (WebCore::Font::offsetForPosition):
330         (WebCore::Font::codePath):
331         * platform/graphics/Font.h: Pass TextRun to drawGlyphBuffer/drawEmphasisMarks. Add new glyphDataAndPageForCharacter() method which returns a pair
332                                     std::pair<GlyphData, GlyphPage*>, so we know the associated GlyphPage for a certain GlyphData object, which is needed to properly
333                                     handle font fallback glyph matching for SVG Fonts..
334         (WebCore::Font::fontList): Add FontFallbackList accessor.
335         * platform/graphics/FontFallbackList.h: Add getters/setters for glyphPageZero -- SVG Fonts support needs access to these objects from SVGTextRunRenderingContext.
336         (WebCore::FontFallbackList::glyphPageZero):
337         (WebCore::FontFallbackList::glyphPages):
338         (WebCore::FontFallbackList::setGlyphPageZero):
339         (WebCore::FontFallbackList::setGlyphPages):
340         * platform/graphics/FontFastPath.cpp:
341         (WebCore::Font::glyphDataForCharacter): Move implementation to glyphDataAndPageForCharacter(), and use that method from here.
342         (WebCore::Font::glyphDataAndPageForCharacter): Does the same as before, just returns an additional GlyphPage* pointer.
343         (WebCore::Font::getEmphasisMarkGlyphData): Remove SVG Fonts special case.
344         (WebCore::Font::drawGlyphBuffer): Ditto.
345         * platform/graphics/FontMetrics.h:
346         (WebCore::scaleEmToUnits): Refactored scaleEmToUnits free function from SimpleFontDataMac/CGWin to share with SVGFontData/SVGTextRunRenderingContext.
347         * platform/graphics/GlyphPageTreeNode.cpp:
348         (WebCore::fill): Stop skipping SVG Fonts, they now also fill the GlyphPage using the glyphs defined in the SVG Font.
349         * platform/graphics/SVGGlyph.h: s/isValid/isPartOfLigature/. Its usage has been changed.
350         (WebCore::SVGGlyph::SVGGlyph):
351         (WebCore::SVGGlyph::operator==):
352         * platform/graphics/SimpleFontData.cpp: Change font size to be a float, not an int.
353         (WebCore::SimpleFontData::SimpleFontData):
354         * platform/graphics/SimpleFontData.h: Add new pure virtual methods to the AdditionalFontData interface, to be implemented in SVGFontData.
355         (WebCore::SimpleFontData::widthForGlyph): Call widthForSVGGlyph, if we encounter a SVG glyph.
356         * platform/graphics/TextRun.h: 
357         * platform/graphics/WidthIterator.cpp:
358         (WebCore::WidthIterator::glyphDataForCharacter):
359         (WebCore::WidthIterator::advance):
360         * platform/graphics/WidthIterator.h: Store several new members needed for SVG Fonts support (last processed glyph name used for kerning pair lookup)
361                                              and a map mapping each character of a text to its arabic-form (if needed, to perform SVG glyph selection for Arabic text).
362         (WebCore::WidthIterator::run):
363         (WebCore::WidthIterator::runWidthSoFar):
364         (WebCore::WidthIterator::lastGlyphName):
365         (WebCore::WidthIterator::setLastGlyphName):
366         (WebCore::WidthIterator::arabicForms):
367         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Use new scaleEmToUnits free function from FontMetrics.h.
368         * platform/graphics/mac/SimpleFontDataMac.mm: Ditto.
369         * platform/graphics/win/SimpleFontDataCGWin.cpp: Ditto.
370         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
371         (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): Handle UTF-16 surrogate pairs correctly, fixes the previous Acid3 regression.
372         * rendering/svg/SVGTextMetrics.cpp:
373         (WebCore::SVGTextMetrics::SVGTextMetrics):
374         (WebCore::constructTextRun):
375         (WebCore::SVGTextMetrics::measureCharacterRange):
376         * rendering/svg/SVGTextMetrics.h:
377         * rendering/svg/SVGTextRunRenderingContext.cpp: Remove drawTextUsingSVGFont/floatWidthUsingSVGFont/selectionRectForTextUsingSVGFont/offsetForPositionForTextUsingSVGFont.
378         (WebCore::firstParentRendererForNonTextNode): Don't assert node() exists, doesn't hold true for generated render objects.
379         (WebCore::renderObjectFromRun): Renamed from referencingRenderObjectFromRun.
380         (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Remove extra "extraCharsAvailable" parameter, now solves via TextRun::charactersLength().
381         (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
382         (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Main drawing method, this actually creates/renders Paths.
383         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Part 1/2 of SVG Glyph selection code.
384         * rendering/svg/SVGTextRunRenderingContext.h:
385         * svg/SVGAltGlyphElement.cpp:
386         (WebCore::SVGAltGlyphElement::hasValidGlyphElement):
387         * svg/SVGAltGlyphElement.h:
388         * svg/SVGFontData.cpp:
389         (WebCore::SVGFontData::initializeFontData): Changed font size from int to float.
390         (WebCore::SVGFontData::widthForSVGGlyph): Lookup a SVGGlyph from a Glyph using the glyph table in SVGFontElement and calculate its width.
391         (WebCore::SVGFontData::applySVGGlyphSelection): Part 2/2 of SVG Glyph selection code.
392         (WebCore::SVGFontData::fillSVGGlyphPage): Fill GlyphPage using glyphs defined in the SVG Font.
393         (WebCore::SVGFontData::fillBMPGlyphs): Moved from the previous fillSVGGlyphPage implementation.
394         (WebCore::SVGFontData::fillNonBMPGlyphs): Add non-bmp glyph handling, fixing the Acid3 regression (support using SVGGlyphs for UTF-16 surrogate pairs).
395         * svg/SVGFontData.h:
396         * svg/SVGFontElement.cpp:
397         (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Enable ligature registration for the use within GlyphPage.
398         (WebCore::SVGFontElement::ensureGlyphCache):
399         * svg/SVGGlyphMap.h: Switch to use SurrogatePairTextIterator, and switch glyph table from UChar to UChar32, just like GlyphPage, to handle glyphs from non-BMP correctly.
400         (WebCore::SVGGlyphMap::addGlyph): Remove setting isValid, it's not needed anymore and gone.
401         (WebCore::SVGGlyphMap::collectGlyphsForString):
402         * svg/svgtags.in: Surround vkern in ENABLE_SVG_FONTS block.
403
404 2011-06-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
405
406         Reviewed by Antonio Gomes.
407
408         [CMAKE] Replace ";" with space in FEATURE_DEFINES macro
409         https://bugs.webkit.org/show_bug.cgi?id=62211
410
411         html.css file doesn't recognize ENABLE_XXX macro because FEATURE_DEFINES macro has ";"
412         as separator. So, let the html.css to use new feature macro with space separator.
413
414         * CMakeLists.txt:
415
416 2011-06-24  Gavin Peters  <gavinp@chromium.org>
417
418         Reviewed by Darin Adler.
419
420         fix possible race in LinkLoader
421         https://bugs.webkit.org/show_bug.cgi?id=63360
422
423         In chromium bug 80729
424         http://code.google.com/p/chromium/issues/detail?id=80729 I am
425         seeing some kind of double triggering of the timer; I am concerned
426         that it is possible that a Link element errors out or succeeds,
427         sets a timer, and shortly before the timer is triggered it is
428         editted, launches another request.  After that, the first timer
429         triggers, zeroing out m_cachedResource.  Then, the second load
430         finishes, and *crash*.  If this is the case, this fix should stop
431         it.
432
433         No new tests; I haven't reproduced this.  I hope chrome's crash
434         telemetry will give good feedback; this crash is occuring many times a
435         day so the difference should be obvious.
436
437         * loader/LinkLoader.cpp:
438         (WebCore::LinkLoader::LinkLoader):
439         (WebCore::LinkLoader::linkLoadTimerFired):
440         (WebCore::LinkLoader::linkLoadingErrorTimerFired):
441         (WebCore::LinkLoader::notifyFinished):
442         * loader/LinkLoader.h:
443
444 2011-06-24  Jer Noble  <jer.noble@apple.com>
445
446         Reviewed by Eric Carlson.
447
448         Safari will quit unexpectedly when launching Safari in the first time (crash in initQTSecurityPolicyNoLocalToRemoteSiteAttribute)
449         https://bugs.webkit.org/show_bug.cgi?id=63332
450         <rdar://problem/9661650>
451
452         No new tests; Only affects machines with QTKit < 7.6.3 installed.
453
454         Check to see if QTSecurityPolicyNoRemoteToLocalSiteAttribute is non-NULL before passing it into -[QTMovie initWithAttributes:],
455         as it is only defined in QTKit >= 7.6.3.  If it is NULL, pass QTSecurityPolicyNoCrossSiteAttribute=YES instead, which has
456         the same effect in earlier versions of QTKit as the NoLocalToRemote and NoRemoteToLocal keys.  To avoid ASSERTs when running
457         debug builds with earlier versions of QTKit, add a SOFT_LINK_POINTER_OPTIONAL macro to SoftLinking.h and make these keys optional.
458
459         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
460         (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
461         * platform/mac/SoftLinking.h: Add SOFT_LINK_POINTER_OPTIONAL macro.
462
463 2011-06-24  Darin Adler  <darin@apple.com>
464
465         Try to fix Windows build failure.
466
467         * platform/win/ClipboardUtilitiesWin.cpp:
468         (WebCore::setFileDescriptorData): Copy string into a local so we
469         can call charactersWithNullTermination on it.
470
471 2011-06-23  Darin Adler  <darin@apple.com>
472
473         Reviewed by Adam Barth.
474
475         Remove some unneeded functions from FrameLoader
476         https://bugs.webkit.org/show_bug.cgi?id=63295
477
478         Removing 7 of the functions in FrameLoader.h is probably a step
479         in the right direction.
480
481         * loader/DocumentLoader.cpp:
482         (WebCore::DocumentLoader::handledOnloadEvents):
483         Moved the call to stopDeferringEvents in here from FrameLoader.
484         * loader/DocumentLoader.h: Ditto.
485
486         * loader/DocumentWriter.h: Fixed a typo.
487
488         * loader/FrameLoader.cpp:
489         (WebCore::FrameLoader::setFirstPartyForCookies): Changed this to
490         use a non-recursive tree walk instead of recursion.
491         (WebCore::FrameLoader::stopAllLoaders): Moved the code from
492         stopLoadingSubframes inline, since it's only two lines of code.
493         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Moved
494         the code from markLoadComplete inline, since it's only one line.
495         (WebCore::FrameLoader::checkLoadComplete): Changed this to use a
496         non-recursive tree walk instead of recursion, eliminating the
497         recursiveCheckLoadComplete function completely.
498         (WebCore::FrameLoader::handledOnloadEvents): Moved the call to
499         stopDeferringEvents into DocumentLoader.
500
501         * loader/FrameLoader.h: Removed unneeded forward declarations,
502         and now-unneeded functions setupForReplaceByMIMEType,
503         isStopping, isLoadingFromCachedPage, stopLoadingSubframes,
504         markLoadComplete, mainReceivedError, and recursiveCheckLoadComplete.
505         Also made allChildrenAreComplete private.
506
507         * loader/MainResourceLoader.cpp:
508         (WebCore::MainResourceLoader::continueAfterContentPolicy):
509         Call DocumentLoader::isStopping so we can remove the function
510         from FrameLoader that just calls through. Other call sites were
511         using DocumentLoader::isStopping directly.
512         (WebCore::MainResourceLoader::didReceiveResponse): Call
513         DocumentLoader::setupForReplaceByMIMEType so we can remove the
514         function from FrameLoader that just calls through. This was
515         the only call site.
516
517         * loader/ResourceLoader.cpp:
518         (WebCore::ResourceLoader::init): Call the
519         ResourceLoader::cancelledError function instead of calling
520         directly to FrameLoader.
521
522         * loader/ResourceLoader.h: Made response an inline function.
523
524 2011-06-24  Alexey Proskuryakov  <ap@apple.com>
525
526         Rubber-stamped by Maciej Stachowiak.
527
528         REGRESSION (r88984): Infinite recursion in DocumentLoader::detachFromFrame/stopLoading
529
530         No new tests, as there is no known way to reproduce this (but we'll keep investigating, as
531         the rollout will re-introduce the older less frequent crash).
532
533         * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::detachFromFrame): Rollout the fix
534         for bug 62764.
535
536 2011-06-24  Tony Chang  <tony@chromium.org>
537
538         Reviewed by Ojan Vafai.
539
540         add flexbox and inline-flexbox as possible CSS display values
541         https://bugs.webkit.org/show_bug.cgi?id=63361
542
543         Test: css3/flexbox/display-property.html
544
545         * css/CSSParser.cpp:
546         (WebCore::CSSParser::parseValue):
547         * css/CSSValueKeywords.in:
548
549 2011-06-24  Anna Cavender  <annacc@chromium.org>
550
551         Reviewed by Eric Carlson.
552
553         Loading out-of-band text track files from <track>.
554         https://bugs.webkit.org/show_bug.cgi?id=62881
555
556         Uses the src attribute of <track> urls to load out-of-band text track
557         files using ThreadableLoader.  Also removes TextTrackPrivateInterface
558         (as well as LoadableTextTrackImpl and MutableTextTrackImpl) classes.
559
560         No new tests because feature is hidden behind VIDEO_TRACK feature
561         define, which is turned off.
562
563         * CMakeLists.txt:
564         * GNUmakefile.am:
565         * GNUmakefile.list.am:
566         * WebCore.gypi:
567         * WebCore.pro:
568         * WebCore.xcodeproj/project.pbxproj:
569         * html/HTMLMediaElement.cpp:
570         * html/HTMLMediaElement.h:
571         * html/HTMLTrackElement.cpp:
572         * html/HTMLTrackElement.h:
573         * html/LoadableTextTrack.cpp:
574         * html/LoadableTextTrack.h:
575         * html/LoadableTextTrackImpl.cpp: Removed.
576         * html/LoadableTextTrackImpl.h: Removed.
577         * html/MutableTextTrack.cpp:
578         * html/MutableTextTrack.h:
579         * html/MutableTextTrackImpl.cpp: Removed.
580         * html/MutableTextTrackImpl.h: Removed.
581         * html/TextTrack.cpp:
582         * html/TextTrack.h:
583         * html/TextTrackPrivate.h: Removed.
584         * platform/track/CueParser.cpp:
585         * platform/track/CueParser.h:
586
587 2011-06-24  Rob Buis  <rbuis@rim.com>
588
589         Rubber-stamped by Nikolas Zimmermann.
590
591         All pointer-events fail if text has visibility="hidden"
592         https://bugs.webkit.org/show_bug.cgi?id=62209
593
594         Do not use writing mode aware code for SVG Text.
595
596         No new tests needed.
597
598         * rendering/svg/SVGInlineTextBox.cpp:
599         (WebCore::SVGInlineTextBox::nodeAtPoint):
600
601 2011-06-24  Lukasz Slachciak  <l.slachciak@samsung.com>
602
603         Reviewed by Darin Adler.
604
605         Change NDEBUG to !LOG_DISABLED macro in databases for logging.
606         https://bugs.webkit.org/show_bug.cgi?id=63346
607
608         Changed NDEBUG to !LOG_DISABLED in databases code which involves logging.
609         This change resolves also build break in Release build when logging enabled.
610
611         No new tests because there is no new behavior or feature exposed.
612
613         * loader/icon/IconDatabase.cpp: Macro fixes.
614         (WebCore::IconDatabase::iconDatabaseSyncThread):
615         (WebCore::IconDatabase::syncThreadMainLoop):
616         (WebCore::IconDatabase::readFromDatabase):
617         (WebCore::IconDatabase::writeToDatabase):
618         (WebCore::IconDatabase::cleanupSyncThread):
619         * storage/AbstractDatabase.h: Macro fixes.
620         * storage/DatabaseTask.cpp: Macro fixes.
621         * storage/DatabaseTask.h: Macro fixes.
622         * storage/SQLTransaction.cpp: Macro fixes.
623         * storage/SQLTransaction.h: Macro fixes.
624
625 2011-06-24  Tony Chang  <tony@chromium.org>
626
627         Reviewed by Adam Barth.
628
629         Pass Strings by const reference to functions
630         https://bugs.webkit.org/show_bug.cgi?id=63341
631
632         Note that since Strings hold a RefPtr to StringImpl, passing Strings
633         by value isn't horrible, but it does cause ref count churn and using
634         const references is more consistent with the rest of the code base.
635
636         * loader/FrameLoader.cpp:
637         (WebCore::FrameLoader::addHTTPOriginIfNeeded): Rework the code to not
638             change the value of the passed in String.
639         * loader/FrameLoader.h:
640         * platform/win/ClipboardUtilitiesWin.cpp:
641         (WebCore::setFileDescriptorData):
642         * platform/win/ClipboardUtilitiesWin.h:
643         * storage/DatabaseTracker.h:
644         * storage/IDBLevelDBBackingStore.cpp:
645         (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
646         * storage/IDBLevelDBBackingStore.h:
647         * storage/IDBSQLiteBackingStore.cpp:
648         (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore):
649         * storage/IDBSQLiteBackingStore.h:
650         * storage/chromium/DatabaseTrackerChromium.cpp:
651         (WebCore::DatabaseTracker::getOpenDatabases):
652         * svg/SVGPaint.cpp:
653         (WebCore::SVGPaint::SVGPaint):
654         * svg/SVGPaint.h:
655         * svg/animation/SMILTimeContainer.cpp:
656         (WebCore::SMILTimeContainer::updateAnimations):
657         * svg/animation/SMILTimeContainer.h:
658         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
659         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
660         * websockets/ThreadableWebSocketChannelClientWrapper.h:
661
662 2011-06-24  Abhishek Arya  <inferno@chromium.org>
663
664         Reviewed by Darin Adler.
665
666         Add clamping for CSSPrimitiveValues and SVGInlineText font size.
667         https://bugs.webkit.org/show_bug.cgi?id=53449        
668
669         Test: svg/text/svg-zoom-large-value.xhtml
670
671         * css/CSSPrimitiveValue.cpp:
672         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): add asserts to detect if the
673         number created is valid.
674         * css/CSSPrimitiveValue.h: add clamping checks to prevent overflows.
675         (WebCore::CSSPrimitiveValue::getFloatValue):
676         (WebCore::CSSPrimitiveValue::getIntValue):
677         * css/CSSStyleSelector.cpp:
678         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): split into two
679         static functions, one specific to CSSStyleSelector and other generic to help
680         in clamping font size for other callers like svg text, etc.
681         * css/CSSStyleSelector.h:
682         * platform/graphics/FontDescription.h: add asserts to detect if the new font
683         size is valid.
684         (WebCore::FontDescription::setComputedSize):
685         (WebCore::FontDescription::setSpecifiedSize):
686         * rendering/svg/RenderSVGInlineText.cpp:
687         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle): use the new helper
688         from CSSStyleSelector to help in clamping new scaled font size. do not use
689         "smart minimum" since svg allows really small unreadable fonts (tested by existing
690         layout tests). Document's minimum font size clamp (0 in my case) and harmless epsilon
691         check in CSSStyleSelector function should still hold for svg.
692
693 2011-06-24  Julien Chaffraix  <jchaffraix@webkit.org>
694
695         Reviewed by Darin Adler.
696
697         Remove unsafe static_cast inside the InlineBox hierarchy
698         https://bugs.webkit.org/show_bug.cgi?id=63077
699
700         Refactoring only, no new test.
701
702         * rendering/InlineFlowBox.h:
703         (WebCore::toInlineFlowBox):
704         * rendering/InlineTextBox.h:
705         (WebCore::toInlineTextBox):
706         Added the proper cast methods to those 2 classes from an InlineBox.
707
708         * rendering/InlineBox.cpp:
709         (WebCore::InlineBox::nextLeafChild):
710         (WebCore::InlineBox::prevLeafChild):
711         * rendering/InlineFlowBox.cpp:
712         (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth):
713         (WebCore::InlineFlowBox::addToLine):
714         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
715         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
716         (WebCore::InlineFlowBox::requiresIdeographicBaseline):
717         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
718         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
719         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
720         (WebCore::InlineFlowBox::flipLinesInBlockDirection):
721         (WebCore::InlineFlowBox::computeOverflow):
722         (WebCore::InlineFlowBox::firstLeafChild):
723         (WebCore::InlineFlowBox::lastLeafChild):
724         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
725         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
726         * rendering/RenderBlock.cpp:
727         (WebCore::RenderBlock::positionForBox):
728         * rendering/RenderBlockLineLayout.cpp:
729         (WebCore::RenderBlock::createLineBoxes):
730         (WebCore::RenderBlock::constructLine):
731         (WebCore::setLogicalWidthForTextRun):
732         (WebCore::computeExpansionForJustifiedText):
733         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
734         * rendering/RenderText.cpp:
735         (WebCore::RenderText::localCaretRect):
736         (WebCore::RenderText::positionLineBox):
737         * rendering/RootInlineBox.cpp:
738         (WebCore::RootInlineBox::ascentAndDescentForBox):
739         (WebCore::RootInlineBox::includeFontForBox):
740         (WebCore::RootInlineBox::includeGlyphsForBox):
741         Replaced the static_cast in those previous call sites with the new cast methods.
742
743 2011-06-24  Alexis Menard  <alexis.menard@openbossa.org>
744
745         Unreviewed build fix.
746
747         Build fix on Linux when using the GStreamer backend.
748
749         No new tests, just a build fix.
750
751         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
752         (FullScreenVideoWindow::keyPressEvent):
753
754 2011-06-24  Nat Duca  <nduca@chromium.org>
755
756         Unreviewed, rolling out r89694.
757         http://trac.webkit.org/changeset/89694
758         https://bugs.webkit.org/show_bug.cgi?id=58408
759
760         Test shell still not ready for animate changes.
761
762         * WebCore.gypi:
763         * platform/graphics/chromium/LayerRendererChromium.cpp:
764         (WebCore::LayerRendererChromium::create):
765         (WebCore::LayerRendererChromium::LayerRendererChromium):
766         (WebCore::LayerRendererChromium::setViewport):
767         (WebCore::LayerRendererChromium::updateAndDrawLayers):
768         * platform/graphics/chromium/LayerRendererChromium.h:
769         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
770         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
771         (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
772         (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
773         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Removed.
774         * platform/graphics/chromium/cc/CCLayerTreeHost.h: Removed.
775         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Removed.
776         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Removed.
777         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Removed.
778         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Removed.
779         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Removed.
780         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Removed.
781         * platform/graphics/chromium/cc/CCMainThreadTask.h:
782         * platform/graphics/chromium/cc/CCThread.cpp:
783         (WebCore::CCThread::runLoop):
784         * platform/graphics/chromium/cc/CCThreadTask.h:
785
786 2011-06-24  Chris Rogers  <crogers@google.com>
787
788         Unreviewed build fix.
789
790         Fix Chromium Linux Build
791         https://bugs.webkit.org/show_bug.cgi?id=63349
792
793         * WebCore.gyp/WebCore.gyp:
794
795 2011-06-24  Henry Song  <hsong@sisa.samsung.com>
796
797         Reviewed by Martin Robinson.
798
799         Correct _sharedTimer value in SharedTimerEfl.cpp
800         https://bugs.webkit.org/show_bug.cgi?id=62380
801
802         SharedTimerEfl.cpp set _sharedTimer = 0 is incorrect in 
803         timerEvent(), we have observed addNewTimer() can be triggered 
804         by either inside timerFunction() or others that are not within
805         timerFunction().  We have observed the following case:
806         1. add a new Timer within timerFunction()
807         2. timerFunction returns, set _sharedTimer = 0
808         3. addNewTimer() is triggered again within webkit, don't know
809            it triggers this.
810         4. because at this moment, _sharedTimer == 0, the previous
811            registered timer (in step 1) did not get removed.
812         5. Now in ecore_timer, there are two timers with same callbacks
813         6. From now on, timerFunction() will be called twice back-to-back
814            in each ecore_timer loop.
815         To correct this, we should set _sharedTimer = 0 before
816         timerFunction() so that when addNewTimer() triggered within,
817         we have a valid timer object.
818
819         * platform/efl/SharedTimerEfl.cpp:
820         (WebCore::timerEvent):
821
822 2011-05-17  Nat Duca  <nduca@chromium.org>
823
824         Reviewed by James Robinson.
825
826         [chromium] Implement CCLayerTreeHost and CCLayerTreeHostImpl portions of threaded compositor
827         https://bugs.webkit.org/show_bug.cgi?id=58408
828
829         Create CCLayerTreeHost and CCLayerTreeHostImpl, which are the main
830         thread and compositor thread halves of a composited view. Communication
831         between the two is based on the design used in FileStreamProxy.
832
833         * WebCore.gypi:
834         * platform/chromium/TraceEvent.h:
835         * platform/graphics/chromium/LayerRendererChromium.cpp:
836         (WebCore::LayerRendererChromium::create):
837         (WebCore::LayerRendererChromium::LayerRendererChromium):
838         (WebCore::LayerRendererChromium::setViewport):
839         (WebCore::LayerRendererChromium::updateLayers):
840         (WebCore::LayerRendererChromium::drawLayers):
841         (WebCore::LayerRendererChromiumImpl::create):
842         (WebCore::LayerRendererChromiumImpl::drawLayersAndPresent):
843         (WebCore::LayerRendererChromiumImpl::LayerRendererChromiumImpl):
844         (WebCore::LayerRendererChromiumImpl::drawLayersOnMainThread):
845         (WebCore::LayerRendererChromiumImplProxy::create):
846         (WebCore::LayerRendererChromiumImplProxy::createLayerTreeHostImpl):
847         (WebCore::LayerRendererChromiumImplProxy::LayerRendererChromiumImplProxy):
848         (WebCore::LayerRendererChromium::createLayerTreeHostImplProxy):
849         * platform/graphics/chromium/LayerRendererChromium.h:
850         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
851         (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
852         (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
853         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
854         (WebCore::CCHeadsUpDisplay::currentFrameNumber):
855         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
856         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
857         (WebCore::CCLayerTreeHost::init):
858         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
859         (WebCore::CCLayerTreeHost::beginCommit):
860         (WebCore::CCLayerTreeHost::commitComplete):
861         (WebCore::CCLayerTreeHost::animateAndLayout):
862         (WebCore::CCLayerTreeHost::createLayerTreeHostCommitter):
863         (WebCore::CCLayerTreeHost::setNeedsCommitAndRedraw):
864         (WebCore::CCLayerTreeHost::setNeedsRedraw):
865         (WebCore::CCLayerTreeHost::updateLayers):
866         * platform/graphics/chromium/cc/CCLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
867         (WebCore::CCLayerTreeHost::frameNumber):
868         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
869         (WebCore::CCLayerTreeHostCommitter::create):
870         (WebCore::CCLayerTreeHostCommitter::commit):
871         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
872         (WebCore::CCLayerTreeHostCommitter::CCLayerTreeHostCommitter):
873         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Added.
874         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
875         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
876         (WebCore::CCLayerTreeHostImpl::beginCommit):
877         (WebCore::CCLayerTreeHostImpl::commitComplete):
878         (WebCore::CCLayerTreeHostImpl::drawLayers):
879         (WebCore::CCLayerTreeHostImpl::setNeedsCommitAndRedraw):
880         (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
881         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
882         (WebCore::CCLayerTreeHostImplClient::~CCLayerTreeHostImplClient):
883         (WebCore::CCLayerTreeHostImpl::frameNumber):
884         (WebCore::CCLayerTreeHostImpl::sourceFrameNumber):
885         (WebCore::CCLayerTreeHostImpl::setSourceFrameNumber):
886         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Added.
887         (WebCore::CCLayerTreeHostImplProxy::CCLayerTreeHostImplProxy):
888         (WebCore::CCLayerTreeHostImplProxy::start):
889         (WebCore::CCLayerTreeHostImplProxy::~CCLayerTreeHostImplProxy):
890         (WebCore::CCLayerTreeHostImplProxy::isStarted):
891         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedraw):
892         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedraw):
893         (WebCore::CCLayerTreeHostImplProxy::stop):
894         (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
895         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
896         (WebCore::CCLayerTreeHostImplProxy::isMainThread):
897         (WebCore::CCLayerTreeHostImplProxy::isCCThread):
898         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
899         (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
900         (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
901         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
902         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
903         (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
904         (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
905         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Added.
906         (WebCore::CCLayerTreeHostImplProxy::host):
907         * platform/graphics/chromium/cc/CCMainThreadTask.h:
908         * platform/graphics/chromium/cc/CCThread.cpp:
909         (WebCore::CCThread::runLoop):
910         * platform/graphics/chromium/cc/CCThreadTask.h:
911
912 2011-06-24  Adrienne Walker  <enne@google.com>
913
914         Unreviewed, remove assertion about root layers in RenderLayerBacking.
915         https://bugs.webkit.org/show_bug.cgi?id=60741
916
917         This was added in r89687, but somehow is not true on Safari Leopard.
918         However, as the tests that were added with that revision are passing
919         correctly, the assertion is most likely not correct.
920
921         * rendering/RenderLayerBacking.cpp:
922         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
923
924 2011-06-24  Nikolas Zimmermann  <nzimmermann@rim.com>
925
926         Reviewed by Dirk Schulze.
927
928         Refactor text iterator code respecting surrogate pairs from WidthIterator
929         https://bugs.webkit.org/show_bug.cgi?id=63319
930
931         WidthIterator contains a surrogate pair aware text iterator that is needed in other parts of WebCore.
932         Refactor the code into its own SurrogatePairAwareTextIterator class. It can be used like this:
933
934         UChar32 character = 0;
935         unsigned clusterLength = 0;
936
937         SurrogatePairAwareTextIterator textIterator(myString.characters(), 0, myString.length(), myString.length());
938         while (textIterator.consume(character, clusterLength)) {
939             // Either clusterLength is 1 and UChar32 fits into a single UChar.
940             // Or     clusterLength is 2 and the UChar32 has been computed by combining the high & low surrogate pairs
941             ...
942         
943             textIterator.advance(clusterLength);
944         }
945
946         SVGGlyphMap is the next candidate that wants to make use of SurrogatePairAwareTextIterator.
947         Doesn't affect any tests, just refactoring.
948
949         * CMakeLists.txt: Add SurrogatePairAwareTextIterator.* to build.
950         * GNUmakefile.list.am: Ditto.
951         * WebCore.gypi: Ditto.
952         * WebCore.pro: Ditto.
953         * WebCore.vcproj/WebCore.vcproj: Ditto.
954         * WebCore.xcodeproj/project.pbxproj: Ditto.
955         * platform/graphics/SurrogatePairAwareTextIterator.cpp: Copied from platform/graphics/WidthIterator.cpp.
956         * platform/graphics/SurrogatePairAwareTextIterator.h: Added.
957         (WebCore::SurrogatePairAwareTextIterator::currentCharacter):
958         * platform/graphics/WidthIterator.cpp:
959         (WebCore::WidthIterator::advance):
960         * platform/graphics/WidthIterator.h:
961
962 2011-06-24  Adrienne Walker  <enne@google.com>
963
964         Reviewed by Simon Fraser.
965
966         Incorrect RenderLayer transforms on overflow RTL pages
967         https://bugs.webkit.org/show_bug.cgi?id=60741
968
969         Fix positioning of the root graphics layer for RTL pages.  The fact
970         that the left side of the page is negative for pages with overflow is
971         not taken into account when calculating the position.  This negative
972         value ends up being double-counted for the root graphics layer (once
973         in the position and once in the offset) and it shifts child layers
974         into the wrong place.
975
976         Tests: compositing/rtl/rtl-absolute-overflow-scrolled.html
977                compositing/rtl/rtl-absolute-overflow.html
978                compositing/rtl/rtl-absolute.html
979                compositing/rtl/rtl-fixed-overflow-scrolled.html
980                compositing/rtl/rtl-fixed-overflow.html
981                compositing/rtl/rtl-fixed.html
982                compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html
983                compositing/rtl/rtl-iframe-absolute-overflow.html
984                compositing/rtl/rtl-iframe-absolute.html
985                compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html
986                compositing/rtl/rtl-iframe-fixed-overflow.html
987                compositing/rtl/rtl-iframe-fixed.html
988                compositing/rtl/rtl-iframe-relative.html
989                compositing/rtl/rtl-relative.html
990
991         * rendering/RenderLayerBacking.cpp:
992         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
993
994 2011-06-24  Ryosuke Niwa  <rniwa@webkit.org>
995
996         Reviewed by Enrica Casucci.
997
998         Add BeforeChildren and AfterChildren to the Position's anchor types
999         https://bugs.webkit.org/show_bug.cgi?id=63100
1000
1001         Added PositionIsBeforeChildren and PositionIsAfterChildren to Position::AnchorType and deployed them in
1002         firstPositionInNode and lastPositionInNode.
1003
1004         These new types of positions will let us express the first and the last positions in a non-text node in O(1).
1005
1006         No new tests because there is no new behavior or feature exposed.
1007
1008         * dom/Position.cpp:
1009         (WebCore::Position::Position): Assert that the anchor type is not BeforeChildren and AfterChildren for text nodes.
1010         (WebCore::Position::containerNode): For BeforeChildren and AfterChildren, the anchor node is the container node.
1011         (WebCore::Position::computeOffsetInContainerNode): The offset in the container node is 0 for BeforeChildren and
1012         the offset in the anchor node for AfterChildren.
1013         (WebCore::Position::offsetForPositionAfterAnchor): Called by deprecatedNode; the anchor type could be AfterChildren.
1014         (WebCore::Position::parentAnchoredEquivalent): If the anchor node is before or after children, then do the trick
1015         for table and ignored contents like before or after anchor.
1016         (WebCore::Position::computeNodeBeforePosition): Returns null for BeforeChildren and returns the last child of
1017         the anchor node for AfterChildren.
1018         (WebCore::Position::computeNodeAfterPosition): Returns the first child of the anchor node for BeforeChildren
1019         (WebCore::Position::atFirstEditingPositionForNode): A position is at the last editing position if the anchor type
1020         is BeforeChildren, or the anchor type is AfterChildren or AfterAnchor and the anchor doesn't have any children.
1021         (WebCore::Position::atLastEditingPositionForNode): A position is at the last editing position if the anchor type
1022         is AfterChildren.
1023         (WebCore::Position::showAnchorTypeAndOffset): Supports BeforeChildren and AfterChildren.
1024         * dom/Position.h:
1025         (WebCore::Position::deprecatedEditingOffset): Returns m_offset if the anchor type is BeforeChildren.
1026         (WebCore::firstPositionInNode): Returns a position in offset for a text node. Otherwise returns BeforeChildren.
1027         (WebCore::lastPositionInNode): Returns a position in offset for a text node. Otherwise returns AfterChildren.
1028         * editing/CompositeEditCommand.cpp:
1029         (WebCore::CompositeEditCommand::positionOutsideTabSpan): Since the anchor node was a text node,
1030         the anchor type shouldn't be BeforeChildren or AfterChildren.
1031         * editing/DeleteSelectionCommand.cpp:
1032         (WebCore::updatePositionForNodeRemoval): Supports BeforeChildren and AfterChildren.
1033         (WebCore::DeleteSelectionCommand::handleGeneralDelete): Calls updatePositionForNodeRemoval on m_downstremEnd
1034         when its anchor node is removed instead of manually updating the offset; also avoid calling moveToOffset
1035         on BeforeChildren or AfterChildren position.
1036         * editing/FormatBlockCommand.cpp:
1037         (WebCore::FormatBlockCommand::formatRange): Since lastParagraphInBlockNode is used to insert a placeholder
1038         after paragraphs below the block is moved into, it needs to be the position after the current last child in
1039         the block instead of after children in the block; otherwise the position will move to the end of block.
1040         * editing/VisiblePosition.cpp:
1041         (WebCore::VisiblePosition::characterAfter): Since the container node is never a text for position before/after
1042         children or before/after anchor, just return null for these anchor types.
1043
1044 2011-06-24  Dominic Cooney  <dominicc@chromium.org>
1045
1046         Reviewed by Dimitri Glazkov.
1047
1048         Convert shadow DOM-related tests to use window.internals
1049         https://bugs.webkit.org/show_bug.cgi?id=61671
1050
1051         * WebCore.exp.in: Exports for symbols used by WebCoreTestSupport.
1052         * testing/Internals.cpp: The new home of shadowRoot and friends.
1053         (WebCore::Internals::ensureShadowRoot):
1054         (WebCore::Internals::shadowRoot):
1055         (WebCore::Internals::removeShadowRoot):
1056         (WebCore::Internals::shadowPseudoId):
1057         * testing/Internals.h:
1058         * testing/Internals.idl:
1059
1060 2011-06-24  Tony Chang  <tony@chromium.org>
1061
1062         Reviewed by Darin Adler.
1063
1064         Refactor creation of primitive values in CSSParser
1065         https://bugs.webkit.org/show_bug.cgi?id=63270
1066
1067         Covered by existing tests.
1068
1069         * css/CSSParser.cpp:
1070         (WebCore::CSSParser::createPrimitiveNumericValue): Helper method for creating numeric values
1071             to keep the cast in one place.
1072         (WebCore::CSSParser::createPrimitiveStringValue): Helper method for creating string values.
1073         (WebCore::CSSParser::parseValidPrimitive):
1074         (WebCore::CSSParser::parseValue):
1075         (WebCore::CSSParser::parseWCSSInputProperty):
1076         (WebCore::CSSParser::parsePage):
1077         (WebCore::CSSParser::parseSizeParameter):
1078         (WebCore::CSSParser::parseContent):
1079         (WebCore::CSSParser::parseFillPositionX):
1080         (WebCore::CSSParser::parseFillPositionY):
1081         (WebCore::CSSParser::parseFillPositionComponent):
1082         (WebCore::CSSParser::parseFillSize):
1083         (WebCore::CSSParser::parseAnimationDelay):
1084         (WebCore::CSSParser::parseAnimationDuration):
1085         (WebCore::CSSParser::parseAnimationIterationCount):
1086         (WebCore::CSSParser::parseAnimationName):
1087         (WebCore::CSSParser::parseTransformOriginShorthand):
1088         (WebCore::CSSParser::parseDashboardRegions):
1089         (WebCore::CSSParser::parseCounterContent):
1090         (WebCore::CSSParser::parseShape):
1091         (WebCore::CSSParser::parseFont):
1092         (WebCore::CSSParser::parseReflect):
1093         (WebCore::CSSParser::parseBorderRadius):
1094         (WebCore::CSSParser::parseCounter):
1095         (WebCore::CSSParser::parseDeprecatedGradient):
1096         (WebCore::CSSParser::parseLinearGradient):
1097         (WebCore::CSSParser::parseRadialGradient):
1098         (WebCore::CSSParser::parseGradientColorStops):
1099         (WebCore::CSSParser::parseTransform):
1100         (WebCore::CSSParser::parseTransformOrigin):
1101         (WebCore::CSSParser::parseTextEmphasisStyle):
1102         * css/CSSParser.h:
1103         * css/CSSPrimitiveValueCache.h:
1104         (WebCore::CSSPrimitiveValueCache::createValue): pass String by const reference
1105
1106 2011-06-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1107
1108         Reviewed by Martin Robinson.
1109
1110         [GTK] Fix runtime critical warnings in WebKit2
1111         https://bugs.webkit.org/show_bug.cgi?id=63256
1112
1113         Check whether there's a view widget before trying to use it in
1114         PlatformScreenGtk. If there isn't a view widget, which is the case
1115         in WebKit2, try to use the default GdkScreen and monitor.
1116
1117         * platform/gtk/PlatformScreenGtk.cpp:
1118         (WebCore::getToplevel): Helper function to get the toplevel
1119         widget.
1120         (WebCore::getVisual): Use getToplevel().
1121         (WebCore::getScreen): Helper funtion to get the screen of a
1122         widget.
1123         (WebCore::screenRect): Use getToplevel() and getScreen().
1124
1125 2011-06-24  Yuta Kitamura  <yutak@chromium.org>
1126
1127         Reviewed by Adam Barth.
1128
1129         WebSocket: Add run-time flag for new HyBi protocol
1130         https://bugs.webkit.org/show_bug.cgi?id=60348
1131
1132         Add a flag in Setting so that WebSocket protocols can be switched
1133         dynamically. The protocol we have implemented so far is based on
1134         older Hixie-76 specification. A new protocol is being discussed in
1135         IETF HyBi working group, and I'm planning to implement the new protocol
1136         behind this Settings flag.
1137
1138         I will add a method to LayoutTestController which flips this flag in
1139         a later patch. In this way, we can put tests for both protocols in
1140         the same place and test implementation for both protocols at the same time.
1141
1142         This patch only adds a flag. The flag is not used yet, thus there is
1143         no change in functionality. Therefore, no tests were added.
1144
1145         * page/Settings.cpp:
1146         (WebCore::Settings::Settings):
1147         * page/Settings.h:
1148         (WebCore::Settings::setUseHixie76WebSocketProtocol):
1149         (WebCore::Settings::useHixie76WebSocketProtocol):
1150
1151 2011-06-23  Mikhail Naganov  <mnaganov@chromium.org>
1152
1153         Reviewed by Pavel Feldman.
1154
1155         Web Inspector: [Chromium] Shorten DOMWindow URLs in heap profiles.
1156         https://bugs.webkit.org/show_bug.cgi?id=63238
1157
1158         * inspector/front-end/DetailedHeapshotGridNodes.js:
1159         (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.hoverMessage):
1160         (WebInspector.HeapSnapshotGenericObjectNode):
1161         (WebInspector.HeapSnapshotGenericObjectNode.prototype.hoverMessage):
1162         (WebInspector.HeapSnapshotGenericObjectNode.prototype._updateHasChildren):
1163         (WebInspector.HeapSnapshotGenericObjectNode.prototype.isDOMWindow):
1164         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
1165         * inspector/front-end/DetailedHeapshotView.js:
1166         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
1167         (WebInspector.DetailedHeapshotView.prototype._getHoverAnchor):
1168         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup.displayString):
1169         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
1170         * inspector/front-end/utilities.js:
1171         ():
1172
1173 2011-06-24  Vsevolod Vlasov  <vsevik@chromium.org>
1174
1175         Reviewed by Pavel Feldman.
1176
1177         Web Inspector: HTML preview should delete old iframe on show().
1178         https://bugs.webkit.org/show_bug.cgi?id=63170
1179
1180         * inspector/front-end/ResourceHTMLView.js:
1181         (WebInspector.ResourceHTMLView.prototype._createIFrame):
1182         * inspector/front-end/ResourcePreviewView.js:
1183         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
1184
1185 2011-06-24  Dirk Schulze  <krit@webkit.org>
1186
1187         Reviewed by Nikolas Zimmermann.
1188
1189         Convert AnimatedString to SVGAnimatorFactory concept
1190         https://bugs.webkit.org/show_bug.cgi?id=63296
1191
1192         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
1193         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGString.
1194
1195         No new tests added. No change of functionality.
1196
1197         * CMakeLists.txt: Added new file to build system.
1198         * GNUmakefile.list.am: Ditto.
1199         * WebCore.gypi: Ditto.
1200         * WebCore.pro: Ditto.
1201         * WebCore.xcodeproj/project.pbxproj: Ditto.
1202         * svg/SVGAllInOne.cpp: Ditto.
1203         * svg/SVGAnimateElement.cpp:
1204         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1205         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1206         (WebCore::SVGAnimateElement::calculateFromAndByValues):
1207         (WebCore::SVGAnimateElement::resetToBaseValue):
1208         (WebCore::SVGAnimateElement::applyResultsToTarget):
1209         (WebCore::SVGAnimateElement::calculateDistance):
1210         * svg/SVGAnimateElement.h:
1211         * svg/SVGAnimatedString.cpp: Added. Animator for SVGString.
1212         (WebCore::SVGAnimatedStringAnimator::SVGAnimatedStringAnimator):
1213         (WebCore::SVGAnimatedStringAnimator::constructFromString):
1214         (WebCore::SVGAnimatedStringAnimator::calculateFromAndToValues):
1215         (WebCore::SVGAnimatedStringAnimator::calculateFromAndByValues):
1216         (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
1217         (WebCore::SVGAnimatedStringAnimator::calculateDistance):
1218         * svg/SVGAnimatedString.h:
1219         (WebCore::SVGAnimatedStringAnimator::~SVGAnimatedStringAnimator):
1220         * svg/SVGAnimatedType.cpp:
1221         (WebCore::SVGAnimatedType::~SVGAnimatedType):
1222         (WebCore::SVGAnimatedType::createString):
1223         (WebCore::SVGAnimatedType::string):
1224         (WebCore::SVGAnimatedType::valueAsString):
1225         (WebCore::SVGAnimatedType::setValueAsString):
1226         * svg/SVGAnimatedType.h:
1227         * svg/SVGAnimatorFactory.h:
1228         (WebCore::SVGAnimatorFactory::create):
1229
1230 2011-06-24  Mario Sanchez Prada  <msanchez@igalia.com>
1231
1232         Reviewed by Chris Fleizach.
1233
1234         [GTK] Consider rows being ignored when adding children to tables
1235         https://bugs.webkit.org/show_bug.cgi?id=62718
1236
1237         Hide row objects in tables in GTK's accessibility wrapper.
1238
1239         This is a different approach in the way WebCore's accessible
1240         rows are exposed to assistive technologies in the GTK port,
1241         since from now on those objects are kept in WebCore (they do not
1242         declare to ignore accessibility) and just bypassed in the mapping
1243         to ATK, allowing to hide them in the ATK hierarchy while, at the
1244         same time, keeping them internally to be able to provide enough
1245         information to determine tables related information, such as rows
1246         counting or finding an cell for specific coordinates.
1247
1248         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1249         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
1250         Do not ignore accessibility for table rows here.
1251
1252         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1253         (webkit_accessible_get_parent): Bypass rows when needed.
1254         (getNChildrenForTable): New, find the number of children for a
1255         table, which will be the addition of all cells for its rows.
1256         (webkit_accessible_get_n_children): Call to getNChildrenForTable
1257         for accessibility tables if needed.
1258         (getChildForTable): New, bypass rows when needed, retrieving
1259         cells as if they were direct children for tables.
1260         (webkit_accessible_ref_child): Call to refChildForTable if needed.
1261         (getIndexInParentForCellInRow): New, get the index for a given
1262         cell in its parent table, considering other rows' cells.
1263         (webkit_accessible_get_index_in_parent): Call to
1264         getIndexInParentForCellInRow if needed.
1265
1266 2011-06-24  Andrey Kosyakov  <caseq@chromium.org>
1267
1268         Reviewed by Yury Semikhatsky.
1269
1270         Web Inspector: extension panel iframes do not span entire panel client area
1271         https://bugs.webkit.org/show_bug.cgi?id=63165
1272
1273         * inspector/front-end/ExtensionServer.js:
1274         (WebInspector.ExtensionServer.prototype._onCreatePanel):
1275         (WebInspector.ExtensionServer.prototype.createClientIframe):
1276         * inspector/front-end/inspector.css:
1277         (iframe.extension):
1278         (iframe.panel.extension):
1279
1280 2011-06-24  David Grogan  <dgrogan@chromium.org>
1281
1282         Reviewed by Pavel Feldman.
1283
1284         Web Inspector: [REGRESSION r86838] line numbers do not scroll when script paused
1285         https://bugs.webkit.org/show_bug.cgi?id=61653
1286
1287         roll out r86838
1288
1289         No new tests - refactoring.
1290
1291         * dom/Document.h:
1292         * dom/EventQueue.cpp:
1293         (WebCore::EventQueueTimer::EventQueueTimer):
1294         (WebCore::EventQueueTimer::fired):
1295         (WebCore::EventQueue::create):
1296         (WebCore::EventQueue::EventQueue):
1297         (WebCore::EventQueue::~EventQueue):
1298         (WebCore::EventQueue::enqueueEvent):
1299         (WebCore::EventQueue::cancelEvent):
1300         (WebCore::EventQueue::cancelQueuedEvents):
1301         (WebCore::EventQueue::pendingEventTimerFired):
1302         (WebCore::EventQueue::dispatchEvent):
1303         * dom/EventQueue.h:
1304
1305 2011-06-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1306
1307         Unreviewed, rolling out r89594.
1308         http://trac.webkit.org/changeset/89594
1309         https://bugs.webkit.org/show_bug.cgi?id=63316
1310
1311         It broke 5 tests on the Qt bot (Requested by Ossy_DC on
1312         #webkit).
1313
1314         * WebCore.exp.in:
1315         * icu/unicode/uscript.h:
1316         * page/Settings.cpp:
1317         (WebCore::Settings::setStandardFontFamily):
1318         (WebCore::Settings::setFixedFontFamily):
1319         (WebCore::Settings::setSerifFontFamily):
1320         (WebCore::Settings::setSansSerifFontFamily):
1321         (WebCore::Settings::setCursiveFontFamily):
1322         (WebCore::Settings::setFantasyFontFamily):
1323         * page/Settings.h:
1324         (WebCore::Settings::standardFontFamily):
1325         (WebCore::Settings::fixedFontFamily):
1326         (WebCore::Settings::serifFontFamily):
1327         (WebCore::Settings::sansSerifFontFamily):
1328         (WebCore::Settings::cursiveFontFamily):
1329         (WebCore::Settings::fantasyFontFamily):
1330
1331 2011-06-23  Tony Chang  <tony@chromium.org>
1332
1333         Reviewed by Kent Tamura.
1334
1335         Pass Strings by const reference in bindings code
1336         https://bugs.webkit.org/show_bug.cgi?id=63302
1337
1338         Note that since Strings hold a RefPtr to StringImpl, passing Strings
1339         by value isn't horrible, but it does cause ref count churn and using
1340         const references is more consistent with the rest of the code base.
1341
1342         * bindings/generic/BindingSecurity.h:
1343         (WebCore::::allowSettingFrameSrcToJavascriptUrl):
1344         (WebCore::::allowSettingSrcToJavascriptURL):
1345         * bindings/js/SerializedScriptValue.cpp:
1346         (WebCore::CloneSerializer::serialize):
1347         (WebCore::SerializedScriptValue::create):
1348         * bindings/js/SerializedScriptValue.h:
1349         * bindings/v8/SerializedScriptValue.cpp:
1350         (WebCore::SerializedScriptValue::createFromWire):
1351         (WebCore::SerializedScriptValue::create):
1352         (WebCore::SerializedScriptValue::SerializedScriptValue):
1353         * bindings/v8/SerializedScriptValue.h:
1354         * bindings/v8/V8Binding.h:
1355         (WebCore::V8ParameterBase::setString):
1356
1357 2011-06-23  Yury Semikhatsky  <yurys@chromium.org>
1358
1359         Reviewed by Pavel Feldman.
1360
1361         [Chromium] Web Inspector: provide context menu item for enabling native worker inspection
1362         https://bugs.webkit.org/show_bug.cgi?id=63258
1363
1364         Added context menu checkbox item that allows to enable inspection of
1365         native workers. The value will be persisted as other inspector settings
1366         and will be restored after frontend/breowser reopening.
1367
1368         * inspector/Inspector.json:
1369         * inspector/InspectorController.cpp:
1370         (WebCore::InspectorController::restoreInspectorStateFromCookie):
1371         * inspector/InspectorInstrumentation.h:
1372         (WebCore::InspectorInstrumentation::didStartWorkerContext):
1373         * inspector/InspectorWorkerAgent.cpp:
1374         (WebCore::InspectorWorkerAgent::setFrontend):
1375         (WebCore::InspectorWorkerAgent::restore):
1376         (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
1377         * inspector/InspectorWorkerAgent.h:
1378         * inspector/front-end/ScriptsPanel.js:
1379         (WebInspector.ScriptsPanel):
1380         (WebInspector.ScriptsPanel.prototype.reset):
1381         (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
1382         (WebInspector.ScriptsPanel.prototype._contextMenu.enableWorkerInspection):
1383         (WebInspector.ScriptsPanel.prototype._contextMenu):
1384         * inspector/front-end/Settings.js:
1385         (WebInspector.Settings):
1386         * inspector/front-end/inspector.js:
1387         (WebInspector.didCreateWorker):
1388         (WebInspector.didDestroyWorker):
1389         * workers/Worker.cpp:
1390         (WebCore::Worker::notifyFinished):
1391
1392 2011-06-23  Simon Fraser  <simon.fraser@apple.com>
1393
1394         Reviewed by Dan Bernstein.
1395
1396         Need to turn off default animations for anchorPointZ in PlatformCALayer
1397         https://bugs.webkit.org/show_bug.cgi?id=63159
1398         
1399         When the z-component of transform-origin changed, we ran an implicit
1400         animation of anchorPointZ on the CALayer. Turn this off.
1401
1402         Test: transforms/3d/general/transform-origin-z-change.html
1403
1404         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1405         (nullActionsDictionary):
1406
1407 2011-06-23  Zhenyao Mo  <zmo@google.com>
1408
1409         Reviewed by Kenneth Russell.
1410
1411         Limit WebGL internal drawingBuffer size to 4k x 4k
1412         https://bugs.webkit.org/show_bug.cgi?id=63304
1413
1414         * html/canvas/WebGLRenderingContext.cpp:
1415         (WebCore::WebGLRenderingContext::reshape): Limit drawing buffer size to 4k x 4k.
1416
1417 2011-06-20  MORITA Hajime  <morrita@google.com>
1418
1419         Reviewed by Dimitri Glazkov.
1420
1421         [ShadowContentElement] should layout child whitespace between span.
1422         https://bugs.webkit.org/show_bug.cgi?id=62202
1423
1424         NodeRenderingContext::nextRenderer() and previousRenderer()
1425         ignored forwarded content tree hierarchies and used render-object
1426         hierarchies instead, that caused some wrong Text node rendering.
1427         
1428         This change uses ShadowContentElement::m_inclusions for the lookup.
1429         In this way, these methods can reflect hierarchies of forward light tree.
1430         
1431         * dom/NodeRenderingContext.cpp:
1432         (WebCore::NodeRenderingContext::NodeRenderingContext):
1433         (WebCore::nextRendererOf): Added. This traverses content element's children for searching neighboring renderer.
1434         (WebCore::previousRendererOf): Added. This traverses content element's children for searching neighboring renderer.
1435         (WebCore::NodeRenderingContext::nextRenderer):
1436         (WebCore::NodeRenderingContext::previousRenderer):
1437         * dom/NodeRenderingContext.h:
1438         * dom/ShadowContentElement.h:
1439         (ShadowContentElement::inclusionIndexOf): Added.
1440         * dom/ShadowContentSelector.cpp:
1441         (WebCore::ShadowContentSelector::activeElement):
1442         * dom/ShadowContentSelector.h:
1443         * dom/ShadowRoot.cpp:
1444         (WebCore::ShadowRoot::activeContentElement):
1445         * dom/ShadowRoot.h:
1446         * rendering/RenderTreeAsText.cpp: 
1447         (WebCore::externalRepresentation): Fixed an apparent bug introduced at r89230.
1448
1449 2011-05-25  James Robinson  <jamesr@chromium.org>
1450
1451         Reviewed by Kenneth Russell.
1452
1453         [chromium] Fix ownership of PlatformImage for ImageLayerChromiums
1454         https://bugs.webkit.org/show_bug.cgi?id=61099
1455
1456         For a composited image, both the ImageLayerChromium and its associated LayerTilerChromium need access to a
1457         PlatformImage - the ImageLayerChromium has to update the PlatformImage's contents and the LayerTilerChromium has
1458         to upload pixels from it.  This patch makes the ImageLayerTextureUpdater have exclusive ownership of the
1459         PlatformImage and moves ownership of the LayerTextureUpdater from the LayerTilerChromium to the owner of the
1460         tiler.  The updater is passed in as a parameter to the relevant tiler calls.
1461
1462         Patch also fixes a number of minor style issues (missing explicit keyword on constructor, etc).
1463
1464         Refactor only, no new tests.
1465
1466         * platform/graphics/chromium/ContentLayerChromium.cpp:
1467         (WebCore::ContentLayerPainter::create):
1468         (WebCore::ContentLayerPainter::ContentLayerPainter):
1469         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1470         (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
1471         (WebCore::ContentLayerChromium::draw):
1472         (WebCore::ContentLayerChromium::createTilerIfNeeded):
1473         (WebCore::ContentLayerChromium::updateCompositorResources):
1474         * platform/graphics/chromium/ContentLayerChromium.h:
1475         * platform/graphics/chromium/ImageLayerChromium.cpp:
1476         (WebCore::ImageLayerTextureUpdater::create):
1477         (WebCore::ImageLayerTextureUpdater::updateFromImage):
1478         (WebCore::ImageLayerTextureUpdater::imageSize):
1479         (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
1480         (WebCore::ImageLayerChromium::~ImageLayerChromium):
1481         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1482         (WebCore::ImageLayerChromium::updateCompositorResources):
1483         (WebCore::ImageLayerChromium::setLayerRenderer):
1484         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
1485         (WebCore::ImageLayerChromium::layerBounds):
1486         * platform/graphics/chromium/ImageLayerChromium.h:
1487         * platform/graphics/chromium/LayerRendererChromium.cpp:
1488         (WebCore::LayerRendererChromium::LayerRendererChromium):
1489         (WebCore::LayerRendererChromium::updateRootLayerContents):
1490         (WebCore::LayerRendererChromium::drawRootLayer):
1491         (WebCore::LayerRendererChromium::updateLayers):
1492         * platform/graphics/chromium/LayerRendererChromium.h:
1493         * platform/graphics/chromium/LayerTextureUpdater.h:
1494         (WebCore::LayerTextureUpdater::LayerTextureUpdater):
1495         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1496         (WebCore::LayerTextureUpdaterBitmap::create):
1497         (WebCore::LayerTextureUpdaterSkPicture::create):
1498         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
1499         * platform/graphics/chromium/LayerTilerChromium.cpp:
1500         (WebCore::LayerTilerChromium::create):
1501         (WebCore::LayerTilerChromium::LayerTilerChromium):
1502         (WebCore::LayerTilerChromium::prepareToUpdate):
1503         (WebCore::LayerTilerChromium::updateRect):
1504         (WebCore::LayerTilerChromium::draw):
1505         * platform/graphics/chromium/LayerTilerChromium.h:
1506
1507 2011-06-23  Adrienne Walker  <enne@google.com>
1508
1509         Unreviewed, rolling out r89632 and r89640.
1510         http://trac.webkit.org/changeset/89632
1511         http://trac.webkit.org/changeset/89640
1512         https://bugs.webkit.org/show_bug.cgi?id=60741
1513
1514         Breaks ancestor-overflow-change unexpectedly
1515
1516         * rendering/RenderLayerBacking.cpp:
1517         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1518
1519 2011-06-23  John Bates  <jbates@google.com>
1520
1521         Reviewed by James Robinson.
1522
1523         Fix latch deadlock when GPU process crashes or context is lost.
1524         https://bugs.webkit.org/show_bug.cgi?id=63189
1525         The main bug fix is to only set/wait latches if the child context has no errors.
1526         Additionally, the LayerChromium classes needed to be modified to not continue drawing when
1527         their corresponding contexts have errors. Otherwise, they would draw with invalid texture ids.
1528
1529         Test: open particles WebGL demo in chrome, kill GPU process from Task Manager; observe no deadlock.
1530
1531         * platform/graphics/chromium/LayerRendererChromium.cpp:
1532         (WebCore::LayerRendererChromium::LayerRendererChromium):
1533         (WebCore::LayerRendererChromium::updateAndDrawLayers):
1534         (WebCore::LayerRendererChromium::updateLayers):
1535         (WebCore::LayerRendererChromium::isCompositorContextLost):
1536         * platform/graphics/chromium/LayerRendererChromium.h:
1537         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1538         (WebCore::WebGLLayerChromium::drawsContent):
1539         (WebCore::WebGLLayerChromium::updateCompositorResources):
1540         (WebCore::WebGLLayerChromium::setContext):
1541         * platform/graphics/chromium/WebGLLayerChromium.h:
1542         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1543         (WebCore::Canvas2DLayerChromium::drawsContent):
1544         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1545
1546 2011-06-23  Alok Priyadarshi  <alokp@chromium.org>
1547
1548         Reviewed by James Robinson.
1549
1550         [chromium] Red and Blue channels are swapped in images with accelerated drawing
1551         https://bugs.webkit.org/show_bug.cgi?id=61442
1552
1553         We were uploading BGRA pixels into RGBA textures and swapping the components in the pixel shader.
1554         This strategy does not work with accelerated drawing because we are directly rendering to the texture, not uploading pixels.
1555         This patch uses BGRA textures if available. If not it falls back to the original scheme of swapping the components in the pixel shader. 
1556
1557         Tests: compositing/color-matching/image-color-matching.html (existing)
1558
1559         * WebCore.gypi:
1560         * platform/graphics/chromium/ImageLayerChromium.cpp:
1561         (WebCore::ImageLayerTextureUpdater::sampledTexelFormat):
1562         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
1563         * platform/graphics/chromium/LayerRendererChromium.cpp:
1564         (WebCore::LayerRendererChromium::LayerRendererChromium):
1565         (WebCore::LayerRendererChromium::skiaContext):
1566         (WebCore::LayerRendererChromium::tilerProgram):
1567         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
1568         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1569         * platform/graphics/chromium/LayerRendererChromium.h:
1570         * platform/graphics/chromium/LayerTexture.h:
1571         (WebCore::LayerTexture::format):
1572         * platform/graphics/chromium/LayerTextureSubImage.cpp:
1573         (WebCore::LayerTextureSubImage::upload):
1574         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
1575         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
1576         * platform/graphics/chromium/LayerTextureSubImage.h:
1577         * platform/graphics/chromium/LayerTextureUpdater.h:
1578         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1579         (WebCore::LayerTextureUpdaterBitmap::sampledTexelFormat):
1580         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
1581         (WebCore::LayerTextureUpdaterSkPicture::sampledTexelFormat):
1582         (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
1583         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
1584         * platform/graphics/chromium/LayerTilerChromium.cpp:
1585         (WebCore::LayerTilerChromium::LayerTilerChromium):
1586         (WebCore::LayerTilerChromium::prepareToUpdate):
1587         (WebCore::LayerTilerChromium::updateRect):
1588         (WebCore::LayerTilerChromium::draw):
1589         (WebCore::LayerTilerChromium::growLayerToContain):
1590         (WebCore::LayerTilerChromium::drawTiles):
1591         (WebCore::LayerTilerChromium::drawTexturedQuad):
1592         * platform/graphics/chromium/LayerTilerChromium.h:
1593         * platform/graphics/chromium/PlatformColor.h: Added.
1594         (WebCore::PlatformColor::format):
1595         (WebCore::PlatformColor::bestTextureFormat):
1596         (WebCore::PlatformColor::sameComponentOrder):
1597         * platform/graphics/chromium/ShaderChromium.cpp:
1598         (WebCore::FragmentShaderRGBATexSwizzleAlpha::getShaderString):
1599         * platform/graphics/chromium/ShaderChromium.h:
1600         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
1601
1602 2011-06-23  Adrienne Walker  <enne@google.com>
1603
1604         Reviewed by Simon Fraser.
1605
1606         Incorrect RenderLayer transforms on overflow RTL pages
1607         https://bugs.webkit.org/show_bug.cgi?id=60741
1608
1609         Fix positioning of the root graphics layer for RTL pages.  The fact
1610         that the left side of the page is negative for pages with overflow is
1611         not taken into account when calculating the position.  This negative
1612         value ends up being double-counted for the root graphics layer (once
1613         in the position and once in the offset) and it shifts child layers
1614         into the wrong place.
1615
1616         Tests: compositing/rtl/rtl-absolute-overflow-scrolled.html
1617                compositing/rtl/rtl-absolute-overflow.html
1618                compositing/rtl/rtl-absolute.html
1619                compositing/rtl/rtl-fixed-overflow-scrolled.html
1620                compositing/rtl/rtl-fixed-overflow.html
1621                compositing/rtl/rtl-fixed.html
1622                compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html
1623                compositing/rtl/rtl-iframe-absolute-overflow.html
1624                compositing/rtl/rtl-iframe-absolute.html
1625                compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html
1626                compositing/rtl/rtl-iframe-fixed-overflow.html
1627                compositing/rtl/rtl-iframe-fixed.html
1628                compositing/rtl/rtl-iframe-relative.html
1629                compositing/rtl/rtl-relative.html
1630
1631         * rendering/RenderLayerBacking.cpp:
1632         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1633
1634 2011-06-23  Emil A Eklund  <eae@chromium.org>
1635
1636         Reviewed by Eric Seidel.
1637
1638         FloatRect should implement the same methods as IntRect
1639         https://bugs.webkit.org/show_bug.cgi?id=63273
1640         
1641         Add missing methods from IntRect to FloatRect in preparation for moving
1642         the rendering tree over to floats.
1643
1644         * platform/graphics/FloatPoint.h:
1645         (WebCore::FloatPoint::expandedTo):
1646         (WebCore::FloatPoint::transposedPoint):
1647         * platform/graphics/FloatRect.h:
1648         (WebCore::FloatRect::move):
1649         (WebCore::FloatRect::expand):
1650         (WebCore::FloatRect::contract):
1651         (WebCore::FloatRect::shiftXEdgeTo):
1652         (WebCore::FloatRect::shiftMaxXEdgeTo):
1653         (WebCore::FloatRect::shiftYEdgeTo):
1654         (WebCore::FloatRect::shiftMaxYEdgeTo):
1655         (WebCore::FloatRect::minXMinYCorner):
1656         (WebCore::FloatRect::maxXMinYCorner):
1657         (WebCore::FloatRect::minXMaxYCorner):
1658         (WebCore::FloatRect::maxXMaxYCorner):
1659         (WebCore::FloatRect::transposedRect):
1660         * platform/graphics/FloatSize.h:
1661         (WebCore::FloatSize::expand):
1662         (WebCore::FloatSize::transposedSize):
1663
1664 2011-06-23  Emil A Eklund  <eae@chromium.org>
1665
1666         Reviewed by Darin Adler.
1667
1668         input/textarea onchange doesn't fire if value is set in key listener
1669         https://bugs.webkit.org/show_bug.cgi?id=63092
1670
1671         Change setValue implementation of HTMLInputElement and HTMLTextAreaElement to
1672         not call setTextAsOfLastFormControlChangeEvent unless the value truly changed.
1673         Thus element.value = element.value will no longer reset the state 
1674         m_textAsOfLastFormControlChangeEvent field and suppress the change event.
1675
1676         Test: fast/events/onchange-setvalue.html
1677
1678         * html/HTMLInputElement.cpp:
1679         (WebCore::HTMLInputElement::setValue):
1680         * html/HTMLTextAreaElement.cpp:
1681         (WebCore::HTMLTextAreaElement::setValue):
1682         (WebCore::HTMLTextAreaElement::setNonDirtyValue):
1683         (WebCore::HTMLTextAreaElement::setValueCommon):
1684
1685 2011-06-23  Alexis Menard  <alexis.menard@openbossa.org>
1686
1687         Reviewed by Eric Carlson.
1688
1689         [Qt] Implement fullscreen support on Mac with the QuickTime backend.
1690         https://bugs.webkit.org/show_bug.cgi?id=61728
1691
1692         Implement fullscreen support for Qt when using the QuickTime backend.
1693         We mostly use what is already done for the Mac port.
1694
1695         * DerivedSources.pro: We use the mac files and they have <WebCore/x> type
1696         of includes. We need to generate those headers.
1697         * WebCore.pro:
1698         * platform/mac/WebVideoFullscreenController.h:
1699         * platform/mac/WebVideoFullscreenController.mm:
1700         * platform/mac/WebVideoFullscreenHUDWindowController.h:
1701         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
1702         * platform/qt/WebCoreSystemInterface.h:
1703         * platform/qt/WebCoreSystemInterface.mm:
1704
1705 2011-06-23  Darin Adler  <darin@apple.com>
1706
1707         Reviewed by Ryosuke Niwa.
1708
1709         RefPtr misused as argument type in a few classes
1710         https://bugs.webkit.org/show_bug.cgi?id=62955
1711
1712         * dom/DataTransferItem.cpp:
1713         (WebCore::DataTransferItem::DataTransferItem):
1714         * dom/DataTransferItem.h:
1715         * dom/DataTransferItems.cpp:
1716         (WebCore::DataTransferItems::DataTransferItems):
1717         * dom/DataTransferItems.h:
1718         * editing/CompositeEditCommand.cpp:
1719         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
1720         * editing/CompositeEditCommand.h:
1721         * page/WebKitAnimationList.cpp:
1722         (WebCore::WebKitAnimationList::append):
1723         (WebCore::WebKitAnimationList::insertAnimation):
1724         * page/WebKitAnimationList.h:
1725         * svg/graphics/filters/SVGFEImage.cpp:
1726         (WebCore::FEImage::FEImage):
1727         (WebCore::FEImage::create):
1728         * svg/graphics/filters/SVGFEImage.h:
1729         * svg/graphics/filters/SVGFilterBuilder.cpp:
1730         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
1731         (WebCore::SVGFilterBuilder::add):
1732         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
1733         * svg/graphics/filters/SVGFilterBuilder.h:
1734         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1735         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
1736         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
1737         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
1738         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
1739         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1740         * websockets/WorkerThreadableWebSocketChannel.cpp:
1741         (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
1742         (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
1743         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
1744         * websockets/WorkerThreadableWebSocketChannel.h:
1745         Use PassRefPtr or raw pointer as appropriate for RefPtr arguments.
1746
1747 2011-06-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1748
1749         Unreviewed, rolling out r89591 and r89593.
1750         http://trac.webkit.org/changeset/89591
1751         http://trac.webkit.org/changeset/89593
1752         https://bugs.webkit.org/show_bug.cgi?id=63279
1753
1754         Caused test crashes in SL and Chromium (Requested by dimich_
1755         on #webkit).
1756
1757         * accessibility/AXObjectCache.cpp:
1758         (WebCore::AXObjectCache::AXObjectCache):
1759         (WebCore::AXObjectCache::remove):
1760         (WebCore::AXObjectCache::childrenChanged):
1761         * accessibility/AXObjectCache.h:
1762         * accessibility/AccessibilityMenuList.cpp:
1763         (WebCore::AccessibilityMenuList::childrenChanged):
1764         * accessibility/AccessibilityMenuList.h:
1765         * accessibility/AccessibilityMenuListPopup.cpp:
1766         (WebCore::AccessibilityMenuListPopup::childrenChanged):
1767         * accessibility/AccessibilityMenuListPopup.h:
1768         * accessibility/AccessibilityObject.h:
1769         (WebCore::AccessibilityObject::childrenChanged):
1770         * accessibility/AccessibilityRenderObject.cpp:
1771         (WebCore::startOfContinuations):
1772         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
1773         (WebCore::AccessibilityRenderObject::childrenChanged):
1774         * accessibility/AccessibilityRenderObject.h:
1775
1776 2011-06-23  Andreas Kling  <kling@webkit.org>
1777
1778         Reviewed by Benjamin Poulain.
1779
1780         [Qt] Unbreak simple font fast-path after QRawFont API changes.
1781         https://bugs.webkit.org/show_bug.cgi?id=63272
1782
1783         In the Qt 4.8 branch, the QGlyphs class has been renamed to
1784         QGlyphRun, and some other small things have been tweaked.
1785
1786         * WebCore.pro:
1787         * platform/graphics/qt/FontCacheQt.cpp:
1788         (WebCore::rawFontForCharacters):
1789         * platform/graphics/qt/FontQt.cpp:
1790         (WebCore::Font::drawGlyphs):
1791
1792 2011-06-23  Tony Chang  <tony@chromium.org>
1793
1794         Reviewed by Andreas Kling.
1795
1796         Pass Strings as const references in NetworkResourcesData.h
1797         https://bugs.webkit.org/show_bug.cgi?id=63271
1798
1799         * inspector/NetworkResourcesData.h:
1800         (WebCore::NetworkResourcesData::ResourceData::setFrameId):
1801         (WebCore::NetworkResourcesData::ResourceData::setUrl):
1802         (WebCore::NetworkResourcesData::ResourceData::setTextEncodingName):
1803
1804 2011-06-23  Jay Civelli  <jcivelli@chromium.org>
1805
1806         Reviewed by Adam Barth.
1807
1808         Fixing the SharedBufferChunkReader API so it works correctly with
1809         binary data (non printable characters).
1810         Also adding a method to peek at the data (this is needed for MHTML
1811         with binary parts).
1812         https://bugs.webkit.org/show_bug.cgi?id=63231
1813
1814         * loader/archive/mhtml/MHTMLParser.cpp:
1815         (WebCore::skipLinesUntilBoundaryFound):
1816         (WebCore::MHTMLParser::parseNextPart):
1817         * loader/archive/mhtml/MHTMLParser.h:
1818         * platform/SharedBufferChunkReader.cpp:
1819         (WebCore::SharedBufferChunkReader::SharedBufferChunkReader):
1820         (WebCore::SharedBufferChunkReader::setSeparator):
1821         (WebCore::SharedBufferChunkReader::nextChunk):
1822         (WebCore::SharedBufferChunkReader::nextChunkAsUTF8StringWithLatin1Fallback):
1823         (WebCore::SharedBufferChunkReader::peek):
1824         * platform/SharedBufferChunkReader.h:
1825         * platform/network/MIMEHeader.cpp:
1826         (WebCore::retrieveKeyValuePairs):
1827
1828 2011-06-23  Nate Chapin  <japhet@chromium.org>
1829
1830         Unreviewed.
1831
1832         Revert production code part of r89503, since it's causing
1833         crashes on WebKit2/mac and failures on qt.
1834
1835         * dom/Document.cpp:
1836         (WebCore::Document::Document):
1837         (WebCore::Document::dispatchWindowLoadEvent):
1838         * dom/Document.h:
1839         (WebCore::Document::processingLoadEvent):
1840         * loader/DocumentLoader.cpp:
1841         (WebCore::DocumentLoader::isLoadingInAPISense):
1842
1843 2011-06-23  Young Han Lee  <joybro@company100.net>
1844
1845         Reviewed by Simon Fraser.
1846
1847         runAnimationTest always fails if the pause API is enabled and the test target animation has "infinite" iteration count.
1848         https://bugs.webkit.org/show_bug.cgi?id=63152
1849
1850         The pausing conditions are modified. Now it accepts the infinite-iteration-count,
1851         but rejects the zero-iteration-count. There is no reason to consider the zero-count meaning no animation.
1852         
1853         Test: animations/keyframes-infinite-iterations.html
1854
1855         * page/animation/CompositeAnimation.cpp:
1856         (WebCore::CompositeAnimation::pauseAnimationAtTime):
1857
1858 2011-06-23  Abhishek Arya  <inferno@chromium.org>
1859
1860         Reviewed by Adam Barth.
1861
1862         RefPtr m_style in MediaQueryEvaluator in case of callers like
1863         MediaQueryMatcher::prepareEvaluator that do not retain its reference.
1864         https://bugs.webkit.org/show_bug.cgi?id=63264
1865
1866         Test: fast/css/media-query-evaluator-crash.html
1867
1868         * css/MediaQueryEvaluator.cpp:
1869         (WebCore::MediaQueryEvaluator::eval):
1870         * css/MediaQueryEvaluator.h:
1871
1872 2011-06-23  Jungshik Shin  <jshin@chromium.org>
1873
1874         Reviewed by Alexey Proskuryakov.
1875
1876         Allow generic font family settings per script code.
1877         https://bugs.webkit.org/show_bug.cgi?id=20797
1878
1879         Make generic font family getters/setters accept an additional
1880         argument (script code). It has a default value so that if an embedder
1881         does not have/want a per-script font family setting, call-sites
1882         don't have to be changed.
1883         This is to prepare for fixing bug 10874 (font selection is not
1884         language-dependent) and bug 18085.
1885
1886         uscript.h has been updated to that of ICU 3.6 (the version of ICU on
1887         Mac OS 10.5)
1888
1889         There should be no change in layout and no new layout test
1890         is added.
1891
1892         * WebCore.exp.in:
1893         * icu/unicode/uscript.h: updated to ICU 4.6
1894         * page/Settings.cpp:
1895         (WebCore::setGenericFontFamilyMap): helper to set generic family per script
1896         (WebCore::getGenericFontFamilyForScript): helper function used by getters for fooFontFamily.
1897         (WebCore::Settings::standardFontFamily):
1898         (WebCore::Settings::setStandardFontFamily):
1899         (WebCore::Settings::fixedFontFamily):
1900         (WebCore::Settings::setFixedFontFamily):
1901         (WebCore::Settings::serifFontFamily):
1902         (WebCore::Settings::setSerifFontFamily):
1903         (WebCore::Settings::sansSerifFontFamily):
1904         (WebCore::Settings::setSansSerifFontFamily):
1905         (WebCore::Settings::cursiveFontFamily):
1906         (WebCore::Settings::setCursiveFontFamily):
1907         (WebCore::Settings::fantasyFontFamily):
1908         (WebCore::Settings::setFantasyFontFamily):
1909         * page/Settings.h: setter and getter for FooFontFamily have a new optional argument, scriptCode.
1910
1911 2011-06-23  Dan Bernstein  <mitz@apple.com>
1912
1913         Reviewed by Alexey Proskuryakov.
1914
1915         Make line breaking obey the -webkit-locale property
1916         https://bugs.webkit.org/show_bug.cgi?id=63209
1917
1918         Test: platform/mac/fast/text/line-break-locale.html
1919
1920         * platform/text/TextBreakIterator.h:
1921         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator): Take an optional locale identifier and
1922         initialize the m_locale member.
1923         (WebCore::LazyLineBreakIterator::get): Pass the locale to acquireLineBreakIterator().
1924         (WebCore::LazyLineBreakIterator::reset): Pass the locale to releaseLineBreakIterator() and update
1925         the m_locale member.
1926         * platform/text/TextBreakIteratorICU.cpp:
1927         (WebCore::LineBreakIteratorPool::sharedPool): Return a shared instance.
1928         (WebCore::LineBreakIteratorPool::take): Returns a text iterator for the given locale, either a newly-
1929         created one, or an existing one from the pool.
1930         (WebCore::LineBreakIteratorPool::put): Puts an iterator back into the pool, removing the least-recently used
1931         one if needed.
1932         (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
1933         (WebCore::acquireLineBreakIterator): Changed to take an optional local identifier, and to use the pool.
1934         (WebCore::releaseLineBreakIterator): Changed to use the pool.
1935         * platform/text/brew/TextBreakIteratorBrew.cpp:
1936         (WebCore::acquireLineBreakIterator): Updated for new parameter.
1937         * platform/text/gtk/TextBreakIteratorGtk.cpp:
1938         (WebCore::acquireLineBreakIterator): Ditto.
1939         * platform/text/qt/TextBreakIteratorQt.cpp:
1940         (WebCore::acquireLineBreakIterator): Ditto.
1941         * platform/text/wince/TextBreakIteratorWinCE.cpp:
1942         (WebCore::acquireLineBreakIterator): Ditto.
1943         * rendering/RenderBlockLineLayout.cpp:
1944         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Use the locale from the style for the line break
1945         iterator.
1946         * rendering/RenderText.cpp:
1947         (WebCore::RenderText::computePreferredLogicalWidths): Ditto.
1948
1949 2011-06-23  Chris Fleizach  <cfleizach@apple.com>
1950
1951         Reviewed by Darin Adler.
1952
1953         ARIA live regions don't trigger notifications for elements that aren't in the AX tree
1954         https://bugs.webkit.org/show_bug.cgi?id=62289
1955
1956         If an ARIA Live region udpates an element that is not in the AX object cache, then the Live region
1957         notification is not sent. To fix this, I think the childrenChanged() method needs to actually create
1958         the appropriate objects, but since that method gets called during a render tree update, we've learned 
1959         that it's generally not safe to create objects.
1960  
1961         Instead a one shot timer can be fired that will update and create the necessary objects so that the
1962         correct notification can be sent.
1963
1964         Test: platform/mac/accessibility/aria-liveregion-without-element-access.html
1965
1966         * accessibility/AXObjectCache.cpp:
1967         (WebCore::AXObjectCache::AXObjectCache):
1968         (WebCore::AXObjectCache::remove):
1969         (WebCore::AXObjectCache::childrenUpdateTimerFired):
1970         (WebCore::AXObjectCache::childrenChanged):
1971         * accessibility/AXObjectCache.h:
1972         * accessibility/AccessibilityMenuList.cpp:
1973         (WebCore::AccessibilityMenuList::childrenChanged):
1974         * accessibility/AccessibilityMenuList.h:
1975         * accessibility/AccessibilityMenuListPopup.cpp:
1976         (WebCore::AccessibilityMenuListPopup::childrenChanged):
1977         * accessibility/AccessibilityMenuListPopup.h:
1978         * accessibility/AccessibilityObject.h:
1979         (WebCore::AccessibilityObject::childrenChanged):
1980         * accessibility/AccessibilityRenderObject.cpp:
1981         (WebCore::startOfContinuations):
1982            This changed exposed a case where an object was inlineElementContinuation, but not renderInlined,
1983            which led to an assert.
1984         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
1985         (WebCore::AccessibilityRenderObject::childrenChanged):
1986         * accessibility/AccessibilityRenderObject.h:
1987
1988 2011-06-23  Dirk Schulze  <krit@webkit.org>
1989
1990         Reviewed by Nikolas Zimmermann.
1991
1992         Convert SVGColor to SVGAnimatorFactory concept
1993         https://bugs.webkit.org/show_bug.cgi?id=63246
1994
1995         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
1996         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGColor.
1997
1998         Changed constructors of animators to take the animation element SVGAnimationsElement as new argument. Removed attribute name argument instead.
1999         This information is already exposed by the animation element. The animators store the pointer of the animation element, so that it is not
2000         necessary to pass it as argument to the functions calculateDistance, calculateAnimatedValue.
2001         
2002         Replace all SVGSMILElement references by SVGAnimationsElement - the common base class of all animation elements.
2003
2004         Added a new method in SVGAnimateElement to determine the property value type of CSS properties (regular value type, inherit or currentColor).
2005         The other two new methods fromPropertyValueType() and toPropertyValueType() avoid passing boolean arguments in calculateAnimatedValue().
2006
2007         No new tests added. Current tests cover the changes.
2008
2009         * CMakeLists.txt: Added new files to build system.
2010         * GNUmakefile.list.am: Ditto.
2011         * WebCore.gypi: Ditto.
2012         * WebCore.pro: Ditto.
2013         * WebCore.vcproj/WebCore.vcproj: Ditto.
2014         * WebCore.xcodeproj/project.pbxproj: Ditto.
2015         * svg/SVGAllInOne.cpp:  Ditto.
2016         * svg/SVGAnimateElement.cpp: Use Animator for SVGColor. 
2017         (WebCore::SVGAnimateElement::SVGAnimateElement):
2018         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
2019         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2020         (WebCore::SVGAnimateElement::determinePropertyValueTypes):
2021         (WebCore::SVGAnimateElement::calculateFromAndToValues):
2022         (WebCore::SVGAnimateElement::calculateFromAndByValues):
2023         (WebCore::SVGAnimateElement::resetToBaseValue):
2024         (WebCore::SVGAnimateElement::applyResultsToTarget):
2025         (WebCore::SVGAnimateElement::calculateDistance):
2026         (WebCore::SVGAnimateElement::ensureAnimator): Pass the animation element as pointer to animator.
2027         * svg/SVGAnimateElement.h: Removed unnecessary includes. Some cleanup.
2028         (WebCore::SVGAnimateElement::fromPropertyValueType): Get property value type of 'from' property.
2029         (WebCore::SVGAnimateElement::toPropertyValueType): Get property value type of 'to' property.
2030         * svg/SVGAnimatedAngle.cpp:
2031         (WebCore::SVGAnimatedAngleAnimator::SVGAnimatedAngleAnimator): Added SVGSMILElement as new argument, removed attributeName.
2032         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndToValues): Determine property value type.
2033         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues): Ditto.
2034         (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue): Use new functions of SVGAnimateElement for handling of 'inherit'.
2035             And removed unnecessary arguments.
2036         (WebCore::SVGAnimatedAngleAnimator::calculateDistance): Removed animation element argument.
2037         * svg/SVGAnimatedAngle.h:
2038         * svg/SVGAnimatedColor.cpp: Added.
2039         (WebCore::SVGAnimatedColorAnimator::SVGAnimatedColorAnimator): Ditto.
2040         (WebCore::SVGAnimatedColorAnimator::constructFromString):
2041         (WebCore::SVGAnimatedColorAnimator::calculateFromAndToValues):
2042         (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
2043         (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
2044         (WebCore::SVGAnimatedColorAnimator::calculateDistance):
2045         * svg/SVGAnimatedColor.h: Added.
2046         (WebCore::SVGAnimatedColorAnimator::~SVGAnimatedColorAnimator):
2047         * svg/SVGAnimatedLength.cpp:
2048         (WebCore::SVGAnimatedLengthAnimator::SVGAnimatedLengthAnimator): Ditto.
2049         (WebCore::SVGAnimatedLengthAnimator::calculateFromAndToValues):
2050         (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
2051         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
2052         (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
2053         * svg/SVGAnimatedLength.h:
2054         * svg/SVGAnimatedNumber.cpp:
2055         (WebCore::SVGAnimatedNumberAnimator::SVGAnimatedNumberAnimator): Ditto.
2056         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndToValues):
2057         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndByValues):
2058         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
2059         (WebCore::SVGAnimatedNumberAnimator::calculateDistance):
2060         * svg/SVGAnimatedNumber.h:
2061         * svg/SVGAnimatedPointList.cpp:
2062         (WebCore::SVGAnimatedPointListAnimator::SVGAnimatedPointListAnimator): Ditto.
2063         (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
2064         (WebCore::SVGAnimatedPointListAnimator::calculateDistance):
2065         * svg/SVGAnimatedPointList.h:
2066         * svg/SVGAnimatedRect.cpp:
2067         (WebCore::SVGAnimatedRectAnimator::SVGAnimatedRectAnimator): Ditto.
2068         (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
2069         (WebCore::SVGAnimatedRectAnimator::calculateDistance):
2070         * svg/SVGAnimatedRect.h:
2071         * svg/SVGAnimatedType.cpp: Added handling of Color values.
2072         (WebCore::SVGAnimatedType::~SVGAnimatedType):
2073         (WebCore::SVGAnimatedType::createColor):
2074         (WebCore::SVGAnimatedType::color):
2075         (WebCore::SVGAnimatedType::valueAsString):
2076         (WebCore::SVGAnimatedType::setValueAsString):
2077         * svg/SVGAnimatedType.h:
2078         * svg/SVGAnimatedTypeAnimator.h:
2079         (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
2080         * svg/SVGAnimatorFactory.h:
2081         (WebCore::SVGAnimatorFactory::create):
2082
2083 2011-06-23  Yael Aharon  <yael.aharon@nokia.com>
2084
2085         Reviewed by Andreas Kling.
2086
2087         [Qt] [WK2] Add drag and drop support
2088         https://bugs.webkit.org/show_bug.cgi?id=62838
2089
2090         Add convenience methods to allow encoding/decoding of DragData.
2091         Move the call to dragEnded() to DragClient, to make WebKit1 and WebKit2 
2092         consistent.
2093
2094         * page/qt/DragControllerQt.cpp:
2095         (WebCore::DragController::cleanupAfterSystemDrag):
2096         * platform/DragData.h:
2097         (WebCore::DragData::flags):
2098         (WebCore::DragData::DragData):
2099         (WebCore::DragData::operator =):
2100
2101 2011-06-23  Vsevolod Vlasov  <vsevik@chromium.org>
2102
2103         Reviewed by Yury Semikhatsky.
2104
2105         Web Inspector: Show "no content" message in network panel when resource does not have content available.
2106         https://bugs.webkit.org/show_bug.cgi?id=63007
2107
2108         * English.lproj/localizedStrings.js:
2109         * WebCore.gypi:
2110         * WebCore.vcproj/WebCore.vcproj:
2111         * inspector/front-end/ApplicationCacheItemsView.js:
2112         (WebInspector.ApplicationCacheItemsView):
2113         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
2114         * inspector/front-end/CookieItemsView.js:
2115         (WebInspector.CookieItemsView):
2116         (WebInspector.CookieItemsView.prototype._updateWithCookies):
2117         * inspector/front-end/DatabaseTableView.js:
2118         (WebInspector.DatabaseTableView.prototype._queryFinished):
2119         * inspector/front-end/EmptyView.js: Added.
2120         (WebInspector.EmptyView):
2121         (WebInspector.EmptyView.prototype.show):
2122         (WebInspector.EmptyView.prototype.set text):
2123         * inspector/front-end/NetworkItemView.js:
2124         (WebInspector.NetworkItemView):
2125         (WebInspector.ResourceContentView):
2126         (WebInspector.ResourceContentView.prototype.hasContent):
2127         (WebInspector.ResourceContentView.prototype.get sourceView):
2128         (WebInspector.ResourceContentView.prototype.show):
2129         (WebInspector.ResourceContentView.prototype._ensureInnerViewShown.callback):
2130         (WebInspector.ResourceContentView.prototype._ensureInnerViewShown):
2131         (WebInspector.ResourceContentView.prototype.contentLoaded):
2132         * inspector/front-end/ResourceCookiesView.js:
2133         (WebInspector.ResourceCookiesView.prototype.show):
2134         * inspector/front-end/ResourcePreviewView.js:
2135         (WebInspector.ResourcePreviewView):
2136         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
2137         (WebInspector.ResourcePreviewView.prototype._createInnerView):
2138         * inspector/front-end/ResourceResponseView.js: Added.
2139         (WebInspector.ResourceResponseView):
2140         (WebInspector.ResourceResponseView.prototype.get sourceView):
2141         (WebInspector.ResourceResponseView.prototype.contentLoaded):
2142         * inspector/front-end/ResourceTimingView.js:
2143         (WebInspector.ResourceTimingView.prototype.show):
2144         * inspector/front-end/ResourcesPanel.js:
2145         (WebInspector.StorageCategoryView):
2146         (WebInspector.StorageCategoryView.prototype.setText):
2147         * inspector/front-end/WebKit.qrc:
2148         * inspector/front-end/inspector.html:
2149
2150 2011-06-23  Balazs Kelemen  <kbalazs@webkit.org>
2151
2152         Reviewed by Adam Roben.
2153
2154         PluginView::dispatchNPEvent is deceptive
2155         https://bugs.webkit.org/show_bug.cgi?id=63243
2156
2157         Straighten the inverted logic of dispatchNPEvent
2158         and it's callers.
2159
2160         No change in behaviour so no new tests.
2161         Existing plugin tests cover this.
2162
2163         * plugins/gtk/PluginViewGtk.cpp:
2164         (WebCore::PluginView::dispatchNPEvent):
2165         (WebCore::PluginView::handleKeyboardEvent):
2166         (WebCore::PluginView::handleMouseEvent):
2167         * plugins/qt/PluginViewQt.cpp:
2168         (WebCore::PluginView::dispatchNPEvent):
2169         (WebCore::PluginView::handleKeyboardEvent):
2170         (WebCore::PluginView::handleMouseEvent):
2171         * plugins/symbian/PluginViewSymbian.cpp:
2172         (WebCore::PluginView::dispatchNPEvent):
2173         (WebCore::PluginView::handleKeyboardEvent):
2174         (WebCore::PluginView::handleMouseEvent):
2175         * plugins/win/PluginViewWin.cpp:
2176         (WebCore::PluginView::dispatchNPEvent):
2177         (WebCore::PluginView::handleKeyboardEvent):
2178         (WebCore::PluginView::handleMouseEvent):
2179
2180 2011-06-23  Tommy Widenflycht  <tommyw@google.com>
2181
2182         Reviewed by Tony Gentilcore.
2183
2184         MediaStream API: Rename Stream, GeneratedStream and StreamRecorder to the latest spec
2185         https://bugs.webkit.org/show_bug.cgi?id=63122
2186
2187         Fixing broken makefile.
2188
2189         * GNUmakefile.list.am:
2190
2191 2011-06-23  Tommy Widenflycht  <tommyw@google.com>
2192
2193         Reviewed by Tony Gentilcore.
2194
2195         MediaStream API: Rename Stream, GeneratedStream and StreamRecorder to the latest spec
2196         https://bugs.webkit.org/show_bug.cgi?id=63122
2197
2198         No new tests since no code has actually changed.
2199
2200         * CMakeLists.txt:
2201         * CodeGenerators.pri:
2202         * DerivedSources.cpp:
2203         * DerivedSources.make:
2204         * GNUmakefile.list.am:
2205         * WebCore.gypi:
2206         * WebCore.pro:
2207         * WebCore.vcproj/WebCore.vcproj:
2208         * WebCore.xcodeproj/project.pbxproj:
2209         * bindings/js/JSEventTarget.cpp:
2210         (WebCore::toJS):
2211         * bindings/v8/V8DOMWrapper.cpp:
2212         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2213         * dom/DOMAllInOne.cpp:
2214         * dom/EventTarget.cpp:
2215         (WebCore::EventTarget::toMediaStream):
2216         (WebCore::EventTarget::toLocalMediaStream):
2217         * dom/EventTarget.h:
2218         * dom/LocalMediaStream.cpp: Renamed from Source/WebCore/dom/GeneratedStream.cpp.
2219         (WebCore::LocalMediaStream::DispatchUpdateTask::create):
2220         (WebCore::LocalMediaStream::DispatchUpdateTask::performTask):
2221         (WebCore::LocalMediaStream::DispatchUpdateTask::DispatchUpdateTask):
2222         (WebCore::LocalMediaStream::create):
2223         (WebCore::LocalMediaStream::LocalMediaStream):
2224         (WebCore::LocalMediaStream::~LocalMediaStream):
2225         (WebCore::LocalMediaStream::toLocalMediaStream):
2226         (WebCore::LocalMediaStream::detachEmbedder):
2227         (WebCore::LocalMediaStream::streamEnded):
2228         (WebCore::LocalMediaStream::audioTracks):
2229         (WebCore::LocalMediaStream::videoTracks):
2230         (WebCore::LocalMediaStream::stop):
2231         (WebCore::LocalMediaStream::onStop):
2232         * dom/LocalMediaStream.h: Renamed from Source/WebCore/dom/GeneratedStream.h.
2233         * dom/LocalMediaStream.idl: Renamed from Source/WebCore/dom/GeneratedStream.idl.
2234         * dom/MediaStream.cpp: Renamed from Source/WebCore/dom/Stream.cpp.
2235         (WebCore::MediaStream::create):
2236         (WebCore::MediaStream::MediaStream):
2237         (WebCore::MediaStream::~MediaStream):
2238         (WebCore::MediaStream::toMediaStream):
2239         (WebCore::MediaStream::streamEnded):
2240         (WebCore::MediaStream::scriptExecutionContext):
2241         (WebCore::MediaStream::eventTargetData):
2242         (WebCore::MediaStream::ensureEventTargetData):
2243         * dom/MediaStream.h: Renamed from Source/WebCore/dom/Stream.h.
2244         (WebCore::MediaStream::readyState):
2245         (WebCore::MediaStream::label):
2246         (WebCore::MediaStream::refEventTarget):
2247         (WebCore::MediaStream::derefEventTarget):
2248         * dom/MediaStream.idl: Renamed from Source/WebCore/dom/Stream.idl.
2249         * dom/MediaStreamContainer.h: Renamed from Source/WebCore/dom/StreamContainer.h.
2250         (WebCore::MediaStreamContainer::create):
2251         (WebCore::MediaStreamContainer::~MediaStreamContainer):
2252         (WebCore::MediaStreamContainer::length):
2253         (WebCore::MediaStreamContainer::item):
2254         (WebCore::MediaStreamContainer::add):
2255         (WebCore::MediaStreamContainer::remove):
2256         (WebCore::MediaStreamContainer::contains):
2257         (WebCore::MediaStreamContainer::get):
2258         (WebCore::MediaStreamContainer::MediaStreamContainer):
2259         * dom/MediaStreamList.cpp: Renamed from Source/WebCore/dom/StreamList.cpp.
2260         (WebCore::MediaStreamList::create):
2261         (WebCore::MediaStreamList::MediaStreamList):
2262         (WebCore::MediaStreamList::~MediaStreamList):
2263         (WebCore::MediaStreamList::length):
2264         (WebCore::MediaStreamList::item):
2265         * dom/MediaStreamList.h: Renamed from Source/WebCore/dom/StreamList.h.
2266         * dom/MediaStreamList.idl: Renamed from Source/WebCore/dom/StreamList.idl.
2267         * dom/StreamEvent.cpp:
2268         (WebCore::StreamEvent::create):
2269         (WebCore::StreamEvent::StreamEvent):
2270         (WebCore::StreamEvent::initStreamEvent):
2271         (WebCore::StreamEvent::stream):
2272         * dom/StreamEvent.h:
2273         (WebCore::StreamEvent::isMediaStreamEvent):
2274         * dom/StreamEvent.idl:
2275         * page/MediaStreamFrameController.cpp:
2276         (WebCore::MediaStreamFrameController::unregister):
2277         (WebCore::MediaStreamFrameController::getStreamFromLabel):
2278         (WebCore::MediaStreamFrameController::stopGeneratedStream):
2279         (WebCore::MediaStreamFrameController::streamGenerated):
2280         (WebCore::MediaStreamFrameController::audioTrackFailed):
2281         (WebCore::MediaStreamFrameController::videoTrackFailed):
2282         * page/MediaStreamFrameController.h:
2283         (WebCore::MediaStreamFrameController::ClientBase::isMediaStream):
2284         (WebCore::MediaStreamFrameController::ClientBase::isLocalMediaStream):
2285         (WebCore::MediaStreamFrameController::MediaStreamClient::MediaStreamClient):
2286         (WebCore::MediaStreamFrameController::MediaStreamClient::~MediaStreamClient):
2287         (WebCore::MediaStreamFrameController::MediaStreamClient::isMediaStream):
2288         (WebCore::MediaStreamFrameController::MediaStreamClient::isLocalMediaStream):
2289         * page/NavigatorUserMediaSuccessCallback.h:
2290         * page/NavigatorUserMediaSuccessCallback.idl:
2291
2292 2011-06-23  Mikhail Naganov  <mnaganov@chromium.org>
2293
2294         Reviewed by Yury Semikhatsky.
2295
2296         Web Inspector: [Chromium] Fix showing dominator leaf nodes after r89457
2297         https://bugs.webkit.org/show_bug.cgi?id=63250
2298
2299         * inspector/front-end/DetailedHeapshotView.js:
2300         * inspector/front-end/HeapSnapshot.js:
2301         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get isEmpty):
2302
2303 2011-06-23  Vsevolod Vlasov  <vsevik@chromium.org>
2304
2305         Reviewed by Yury Semikhatsky.
2306
2307         Web Inspector: HTML preview in network panel should take 100% of resource view height.
2308         https://bugs.webkit.org/show_bug.cgi?id=63167
2309
2310         * inspector/front-end/inspector.css:
2311         (.resource-view.html iframe):
2312
2313 2011-06-23  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
2314
2315         Reviewed by Pavel Feldman.
2316
2317         Inspector may close at the start of the next inspector test in DRT
2318         https://bugs.webkit.org/show_bug.cgi?id=60881
2319
2320         Add a new function to the inspector, which tests whether the
2321         dispatch queue is empty.
2322
2323         * inspector/front-end/inspector.js:
2324         (WebInspector.dispatchQueueIsEmpty):
2325
2326 2011-06-23  Jeffrey Pfau  <jpfau@apple.com>
2327
2328         Reviewed by Nikolas Zimmermann.
2329
2330         Incorrectly placed SVG gradients can cause crashes when referenced
2331         https://bugs.webkit.org/show_bug.cgi?id=62914
2332
2333         Added a check for gradient rendering contexts. If the contexts can't be found, the gradient must be in an invalid location, so we use the fallback color instead.
2334
2335         Tests: svg/custom/invalid-gradient-with-xlink.svg
2336                svg/custom/xlink-to-invalid-gradient.svg
2337
2338         * rendering/svg/RenderSVGResourceGradient.cpp:
2339         (WebCore::RenderSVGResourceGradient::applyResource):
2340         * rendering/svg/RenderSVGResourceGradient.h:
2341         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
2342         (WebCore::RenderSVGResourceLinearGradient::collectGradientAttributes):
2343         * rendering/svg/RenderSVGResourceLinearGradient.h:
2344         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
2345         (WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
2346         * rendering/svg/RenderSVGResourceRadialGradient.h:
2347         * svg/SVGLinearGradientElement.cpp:
2348         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
2349         * svg/SVGLinearGradientElement.h:
2350         * svg/SVGRadialGradientElement.cpp:
2351         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
2352         * svg/SVGRadialGradientElement.h:
2353
2354 2011-06-23  Dmitriy Vyukov  <dvyukov@google.com>
2355
2356         Reviewed by David Levin.
2357
2358         Fix incorrect usage of a condition variable.
2359         https://bugs.webkit.org/show_bug.cgi?id=63127
2360
2361         No new tests. This does not affect existing
2362         functionality.
2363
2364         * storage/DatabaseTask.cpp:
2365         (WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion):
2366
2367 2011-06-23  David Grogan  <dgrogan@chromium.org>
2368
2369         Reviewed by Eric Seidel.
2370
2371         IndexedDB: add detail to an ASSERT error message
2372         https://bugs.webkit.org/show_bug.cgi?id=60407
2373
2374         No new tests, this is just a debug ASSERT.
2375
2376         * storage/IDBRequest.cpp:
2377         (WebCore::IDBRequest::dispatchEvent):
2378
2379 2011-06-22  Dirk Schulze  <krit@webkit.org>
2380
2381         Reviewed by Rob Buis.
2382
2383         Convert SVGPointList to SVGAnimatorFactory concept
2384         https://bugs.webkit.org/show_bug.cgi?id=63171
2385
2386         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
2387         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGPointList.
2388
2389         Added support for from-by animations of SVGPointLists.
2390
2391         Tests: svg/animations/svgpointlist-animation-1.html
2392                svg/animations/svgpointlist-animation-2.html
2393
2394         * CMakeLists.txt: Added new files to build system.
2395         * GNUmakefile.list.am: Ditto.
2396         * WebCore.gypi: Ditto.
2397         * WebCore.pro: Ditto.
2398         * WebCore.vcproj/WebCore.vcproj: Ditto.
2399         * WebCore.xcodeproj/project.pbxproj: Ditto.
2400         * svg/SVGAllInOne.cpp: Added SVGAnimatedPointList.cpp
2401         * svg/SVGAnimateElement.cpp:
2402         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2403         (WebCore::SVGAnimateElement::calculateFromAndToValues):
2404         (WebCore::SVGAnimateElement::calculateFromAndByValues):
2405         (WebCore::SVGAnimateElement::resetToBaseValue):
2406         (WebCore::SVGAnimateElement::applyResultsToTarget):
2407         (WebCore::SVGAnimateElement::calculateDistance):
2408         * svg/SVGAnimateElement.h:
2409         * svg/SVGAnimatedPointList.cpp: Added.
2410         (WebCore::SVGAnimatedPointListAnimator::SVGAnimatedPointListAnimator):
2411         (WebCore::SVGAnimatedPointListAnimator::constructFromString):
2412         (WebCore::SVGAnimatedPointListAnimator::calculateFromAndToValues):
2413         (WebCore::SVGAnimatedPointListAnimator::calculateFromAndByValues):
2414         (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
2415         (WebCore::SVGAnimatedPointListAnimator::calculateDistance):
2416         * svg/SVGAnimatedPointList.h: Added.
2417         (WebCore::SVGAnimatedPointListAnimator::~SVGAnimatedPointListAnimator):
2418         * svg/SVGAnimatedType.cpp:
2419         (WebCore::SVGAnimatedType::~SVGAnimatedType):
2420         (WebCore::SVGAnimatedType::createPointList):
2421         (WebCore::SVGAnimatedType::pointList):
2422         (WebCore::SVGAnimatedType::valueAsString):
2423         (WebCore::SVGAnimatedType::setValueAsString):
2424         * svg/SVGAnimatedType.h:
2425         * svg/SVGAnimatorFactory.h:
2426         (WebCore::SVGAnimatorFactory::create):
2427
2428 2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
2429
2430         Reviewed by Kent Tamura.
2431
2432         Move file-choosing and icon-loading management to FileInputType
2433         https://bugs.webkit.org/show_bug.cgi?id=62069
2434
2435         1) Moved the duties of FileChooserClient and FileIconLoaderClient from
2436         RenderFileUploadControl to FileInputType, along with all of the
2437         supporting functions.
2438
2439         2) Moved Icon ownership to FileInputType and exposed accessor on
2440         HTMInputElement to allow RenderFileUploadControl to query current icon.
2441
2442         As a result, RenderFileUploadControl is now completely stateless, which is
2443         neat and clean.
2444
2445         Refactoring, covered by existing tests.
2446
2447         * html/FileInputType.cpp:
2448         (WebCore::FileInputType::handleDOMActivateEvent): Moved logic here from RenderFileUploadControl.
2449         (WebCore::FileInputType::requestIcon): Ditto.
2450         (WebCore::FileInputType::filesChosen): Ditto.
2451         (WebCore::FileInputType::receiveDropForDirectoryUpload): Ditto.
2452         (WebCore::FileInputType::updateRendering): Ditto.
2453         (WebCore::FileInputType::chrome): Ditto.
2454         (WebCore::FileInputType::receiveDroppedFiles): Ditto.
2455         (WebCore::FileInputType::icon): Added.
2456         * html/FileInputType.h:
2457         * html/HTMLInputElement.cpp:
2458         (WebCore::HTMLInputElement::setValueFromRenderer): Updated comment.
2459         (WebCore::HTMLInputElement::receiveDroppedFiles): Added to replace setFileListFromRenderer.
2460         (WebCore::HTMLInputElement::icon): Added.
2461         * html/HTMLInputElement.h:
2462         * html/InputType.cpp:
2463         (WebCore::InputType::receiveDroppedFiles): Added.
2464         (WebCore::InputType::icon): Added.
2465         * html/InputType.h:
2466         * page/DragController.cpp:
2467         (WebCore::DragController::concludeEditDrag): Changed to use HTMLInputElement. Ahh, nice and clean!
2468         * rendering/RenderFileUploadControl.cpp:
2469         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Removed code that is no longer necessary.
2470         (WebCore::RenderFileUploadControl::updateFromElement): Ditto.
2471         (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use HTMLInputElement icon accessor.
2472         (WebCore::RenderFileUploadControl::paintObject): Ditto.
2473         * rendering/RenderFileUploadControl.h:
2474
2475 2011-06-22  Pratik Solanki  <psolanki@apple.com>
2476
2477         Reviewed by Darin Adler.
2478
2479         Add NSError wrapper functions in ResourceError when USE(CFNETWORK) is enabled
2480         https://bugs.webkit.org/show_bug.cgi?id=63155
2481
2482         Add wrapper functions to ResourceError when building with USE(CFNETWORK). We need to create
2483         a new NSError in ResourceError::nsError() since Safari has category methods on NSError and
2484         passing a CFErrorRef back does not work even though CFErrorRef/NSErrror are toll-free
2485         bridged.
2486
2487         No tests because no change in functionality.
2488
2489         * WebCore.exp.in:
2490         * platform/network/cf/ResourceError.h:
2491         * platform/network/mac/ResourceErrorMac.mm:
2492         (WebCore::ResourceError::ResourceError):
2493         (WebCore::ResourceError::nsError):
2494         (WebCore::ResourceError::operator NSError *):
2495
2496 2011-06-22  Dominic Cooney  <dominicc@chromium.org>
2497
2498         Reviewed by Mark Rowe.
2499
2500         Add window.internals to WebKit2's WebKitTestRunner.
2501         https://bugs.webkit.org/show_bug.cgi?id=61073
2502
2503         * Configurations/WebCoreTestSupport.xcconfig:
2504         * WebCore.xcodeproj/project.pbxproj:
2505
2506 2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
2507
2508         Reviewed by Kent Tamura.
2509
2510         Convert FileIconLoaderClient to "smart client" pattern, just like FileChooserClient.
2511         https://bugs.webkit.org/show_bug.cgi?id=63224
2512
2513         Refactoring, covered by existing tests.
2514
2515         * platform/FileIconLoader.cpp:
2516         (WebCore::FileIconLoaderClient::~FileIconLoaderClient): Changed to discard loader.
2517         (WebCore::FileIconLoaderClient::newFileIconLoader): Added.
2518         (WebCore::FileIconLoaderClient::discardLoader): Added.
2519         * platform/FileIconLoader.h: Updated defs.
2520         * rendering/RenderFileUploadControl.cpp:
2521         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Removed initialization of icon loader.
2522         (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Remove discarding of loader.
2523         (WebCore::RenderFileUploadControl::requestIcon): Changed to use newFileIconLoader.
2524         * rendering/RenderFileUploadControl.h: Updated defs.
2525
2526 2011-06-22  Yael Aharon  <yael.aharon@nokia.com>
2527
2528         Another unreviewed build fix after r89472.
2529
2530         No new tests, just a build fix.
2531
2532         * rendering/svg/SVGResources.cpp:
2533
2534 2011-06-22  Yael Aharon  <yael.aharon@nokia.com>
2535
2536         Unreviewed build fix after r89472.
2537
2538         No new tests, just a build fix.
2539
2540         * rendering/InlineBox.cpp:
2541         * rendering/RenderCounter.cpp:
2542
2543 2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
2544
2545         Reviewed by Kent Tamura.
2546
2547         Add a helper function to FileList to retrieve a list of filenames.
2548         https://bugs.webkit.org/show_bug.cgi?id=63222
2549
2550         Refactoring, covered by existing tests.
2551
2552         * fileapi/FileList.cpp:
2553         (WebCore::FileList::filenames): Added.
2554         * fileapi/FileList.h:
2555         * rendering/RenderFileUploadControl.cpp:
2556         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Changed to use newly added helper.
2557         (WebCore::RenderFileUploadControl::click): Ditto.
2558         (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
2559
2560 2011-06-22  Sam Weinig  <sam@webkit.org>
2561
2562         Reviewed by Adam Barth.
2563
2564         Lower HTML parser DOM depth limit to 2048
2565         https://bugs.webkit.org/show_bug.cgi?id=63219
2566
2567         Lower the default depth limit from 4096 to 2048. There isn't a good
2568         reason to have such pathologically nested content, and by-and-large,
2569         the rendering code is not setup to support it that well. Adding this
2570         aggressive limit now will allow us to see if anything breaks in the
2571         nightlies.
2572
2573         * page/Settings.h:
2574
2575 2011-06-22  Julien Chaffraix  <jchaffraix@webkit.org>
2576
2577         Reviewed by Dimitri Glazkov.
2578
2579         Tighten type usage in the Shadow tree code
2580         https://bugs.webkit.org/show_bug.cgi?id=63210
2581
2582         Refactoring only, no new test required.
2583
2584         * dom/Document.cpp:
2585         (WebCore::Document::buildAccessKeyMap):
2586         * dom/Document.h:
2587         Changed the argument of buildAccessKeyMap to TreeScope.
2588
2589         * dom/Element.cpp:
2590         (WebCore::Element::attach):
2591         (WebCore::Element::removeShadowRoot):
2592         * html/ColorInputType.cpp:
2593         (WebCore::ColorInputType::shadowColorSwatch):
2594         * html/HTMLKeygenElement.cpp:
2595         (WebCore::HTMLKeygenElement::shadowSelect):
2596         * html/shadow/SliderThumbElement.cpp:
2597         (WebCore::sliderThumbElementOf):
2598         Use ShadowRoot for the previous call sites as this is what is
2599         returned by shadowRoot().
2600
2601         * dom/Node.cpp:
2602         (WebCore::traverseTreeAndMark): Renamed the parameter here as it is not
2603         expected to be a shadow object. Just the rootNode of our traversal.
2604
2605         * dom/ShadowRoot.h: Made attach() public as it is public in ContainerNode
2606         and we would do some casting to avoid the private attribute in ShadowRoot.
2607
2608 2011-06-22  Joseph Pecoraro  <joepeck@webkit.org>
2609
2610         Reviewed by Darin Adler.
2611
2612         Remove comment about pages with frames not being page-cachable
2613         https://bugs.webkit.org/show_bug.cgi?id=63207
2614
2615         This comment was out of date. Caching pages with Frames in
2616         the PageCache has worked since 2009:
2617         <http://webkit.org/b/13631> Page Cache should support pages with frames
2618
2619         * history/PageCache.cpp:
2620         (WebCore::PageCache::canCache):
2621
2622 2011-06-22  Yael Aharon  <yael.aharon@nokia.com>
2623
2624         Reviewed by Andreas Kling.
2625
2626         [Qt] Add a build flag for building with libxml2 and libxslt.
2627         https://bugs.webkit.org/show_bug.cgi?id=63113
2628
2629         No new tests. If this new flag was set by default, we could unskip
2630         existing xmlviewer tests.
2631
2632         * CodeGenerators.pri:
2633         * WebCore.pri:
2634         * WebCore.pro:
2635         * features.pri:
2636
2637 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
2638
2639         Yet another build fix after r89472.
2640
2641         * html/parser/HTMLFormattingElementList.cpp:
2642
2643 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
2644
2645         Another build fix after r89472.
2646
2647         * dom/DocumentMarkerController.cpp:
2648
2649 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
2650
2651         Build fix after r89472.
2652
2653         * css/CSSStyleDeclaration.cpp:
2654
2655 2011-06-22  Mark Pilgrim  <pilgrim@chromium.org>
2656
2657         Reviewed by Adam Barth.
2658
2659         IndexedDB open (database) should NOT throw if name is null
2660         https://bugs.webkit.org/show_bug.cgi?id=63110
2661
2662         * storage/IDBFactory.idl: remove ConvertNullToNullString flag on
2663         name argument, let IDL code generator stringify null value to "null"
2664
2665 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
2666
2667         Reviewed by Darin Adler.
2668
2669         Add a Position constructor that takes (Text*, unsigned offset)
2670         https://bugs.webkit.org/show_bug.cgi?id=63181
2671
2672         Added Position::Position(PassRefPtr<Text*>, unsigned offset) and deployed in a couple of places
2673         by replacing the calls to the old constructor.
2674
2675         * dom/Position.cpp:
2676         (WebCore::Position::Position): Added.
2677         * dom/Position.h:
2678         * editing/CompositeEditCommand.cpp:
2679         (WebCore::CompositeEditCommand::replaceSelectedTextInNode): Calls new constructor; extracted
2680         from InsertTextCommand::performTrivialReplace and ReplaceSelectionCommand::performTrivialReplace.
2681         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Calls new constructor
2682         * editing/CompositeEditCommand.h:
2683         * editing/InsertTextCommand.cpp:
2684         (WebCore::InsertTextCommand::performTrivialReplace): Calls replaceSelectedTextInNode.
2685         (WebCore::InsertTextCommand::input): Calls new constructor.
2686         (WebCore::InsertTextCommand::insertTab): Use RefPtr instead of a raw pointer.
2687         * editing/ReplaceSelectionCommand.cpp:
2688         (WebCore::ReplaceSelectionCommand::performTrivialReplace): Calls replaceSelectedTextInNode.
2689         * editing/visible_units.cpp:
2690         (WebCore::startPositionForLine): Calls new constructor.
2691         * rendering/RenderTextControl.cpp:
2692         (WebCore::RenderTextControl::visiblePositionForIndex): Calls new constructor; calls endPosition
2693         on Range instead of avoid manually constructing a VisiblePosition out of endContainer and endOffset.
2694
2695 2011-06-22  Adam Barth  <abarth@webkit.org>
2696
2697         Reviewed by Darin Fisher.
2698
2699         [Chromium] Add WebDocument APIs for the functions moving from WebFrame
2700         https://bugs.webkit.org/show_bug.cgi?id=62831
2701
2702         * dom/Document.cpp:
2703         (WebCore::Document::openSearchDescriptionURL):
2704             - This function exists to service a Chromium WebKit API, but it's
2705               generally purpose and might be useful to other ports.  The
2706               algorithm has some strange early exits, which I've marked with
2707               FIXME comments.
2708         * dom/Document.h:
2709
2710 2011-06-22  Nate Chapin  <japhet@chromium.org>
2711
2712         Reviewed by Adam Barth.
2713
2714         Don't let all subresources keep isLoadingInAPISense() from
2715         returning false, only requests that affect
2716         CachedResourceRequest::requestCount().
2717
2718         Also, add a callback to Internals to determine whether
2719         a resource has been preloaded.
2720
2721         https://bugs.webkit.org/show_bug.cgi?id=62066
2722
2723         * WebCore.exp.in:
2724         * dom/Document.cpp: Add m_loadEventFinished.
2725         * dom/Document.h:
2726         * loader/DocumentLoader.cpp:
2727         (WebCore::DocumentLoader::isLoadingInAPISense):
2728         * loader/cache/CachedResourceLoader.cpp:
2729         (WebCore::CachedResourceLoader::isPreloaded):
2730         * loader/cache/CachedResourceLoader.h:
2731         * testing/Internals.cpp:
2732         (WebCore::Internals::isPreloaded):
2733         * testing/Internals.h:
2734         * testing/Internals.idl:
2735
2736 2011-06-22  Chris Rogers  <crogers@google.com>
2737
2738         Reviewed by David Levin.
2739
2740         Use create() method for AsyncAudioDecoder::DecodingTask
2741         https://bugs.webkit.org/show_bug.cgi?id=63198
2742
2743         No new tests.  This doesn't change any JS API.
2744
2745         * webaudio/AsyncAudioDecoder.cpp:
2746         (WebCore::AsyncAudioDecoder::decodeAsync):
2747         (WebCore::AsyncAudioDecoder::DecodingTask::create):
2748         * webaudio/AsyncAudioDecoder.h:
2749
2750 2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2751
2752         Unreviewed, rolling out r89489.
2753         http://trac.webkit.org/changeset/89489
2754         https://bugs.webkit.org/show_bug.cgi?id=63203
2755
2756         Broke chromium mac build on build.webkit.org (Requested by
2757         abarth on #webkit).
2758
2759         * WebCore.gyp/WebCore.gyp:
2760         * loader/cache/CachedFont.cpp:
2761         * platform/chromium/DragImageRef.h:
2762         * platform/graphics/FloatPoint.h:
2763         * platform/graphics/FloatRect.h:
2764         * platform/graphics/FloatSize.h:
2765         * platform/graphics/FontPlatformData.h:
2766         (WebCore::FontPlatformData::hash):
2767         * platform/graphics/GlyphBuffer.h:
2768         (WebCore::GlyphBuffer::advanceAt):
2769         (WebCore::GlyphBuffer::add):
2770         (WebCore::GlyphBuffer::expandLastAdvance):
2771         * platform/graphics/IntPoint.h:
2772         * platform/graphics/IntRect.h:
2773         * platform/graphics/IntSize.h:
2774         * platform/graphics/SimpleFontData.h:
2775         * platform/graphics/cg/FloatPointCG.cpp:
2776         * platform/graphics/cg/FloatRectCG.cpp:
2777         * platform/graphics/cg/FloatSizeCG.cpp:
2778         * platform/graphics/cg/IntPointCG.cpp:
2779         * platform/graphics/cg/IntRectCG.cpp:
2780         * platform/graphics/cg/IntSizeCG.cpp:
2781         * platform/graphics/mac/FontCustomPlatformData.cpp:
2782         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
2783         (WebCore::createFontCustomPlatformData):
2784         * platform/graphics/mac/FontCustomPlatformData.h:
2785         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
2786
2787 2011-06-22  Luke Macpherson   <macpherson@chromium.org>
2788
2789         Reviewed by James Robinson.
2790
2791         Remove comment that snuck in via copy & paste.
2792         https://bugs.webkit.org/show_bug.cgi?id=63177
2793
2794         No new tests / no code changes.
2795
2796         * css/CSSPrimitiveValueMappings.h:
2797         (WebCore::CSSPrimitiveValue::operator short):
2798         Removed incorrect comment.
2799
2800 2011-06-22  Annie Sullivan  <sullivan@chromium.org>
2801
2802         Reviewed by Ryosuke Niwa.
2803
2804         REGRESSION: Hitting enter in the middle of this span causes the cursor to go to the end of the span
2805         https://bugs.webkit.org/show_bug.cgi?id=61594
2806
2807         When the tree is split at the cursor in InsertParagraphSeparatorCommand, it is possible for the position
2808         split at to be at the end of a text node. The code assumes the position is at the start of the node, so
2809         pass the correct node into splitTreeToNode() in that case.
2810
2811         Tests: editing/inserting/return-key-before-br-in-span.html
2812                editing/inserting/return-key-middle-of-span.html
2813
2814         * editing/InsertParagraphSeparatorCommand.cpp:
2815         (WebCore::InsertParagraphSeparatorCommand::doApply):
2816
2817 2011-06-22  Rob Buis  <rbuis@rim.com>
2818
2819         Reviewed by Nikolas Zimmermann.
2820
2821         SVG1.1SE test with pointer-events and invalid gradient fill fails
2822         https://bugs.webkit.org/show_bug.cgi?id=63109
2823
2824         Properly detect fill/stroke properties of type SVG_PAINTTYPE_URI_NONE, store it in SVGPaint
2825         and don't apply the paint if the uri lookup fails.
2826
2827         Tests: svg/W3C-SVG-1.1-SE/interact-pointer-03-t.svg
2828                svg/custom/pointer-events-invalid-fill.svg
2829
2830         * css/SVGCSSParser.cpp:
2831         (WebCore::CSSParser::parseSVGValue):
2832         * rendering/svg/RenderSVGResource.cpp:
2833         (WebCore::requestPaintingResource):
2834         * svg/SVGPaint.h:
2835         (WebCore::SVGPaint::createURIAndNone):
2836
2837 2011-06-22  Cary Clark  <caryclark@google.com>
2838
2839         Reviewed by Darin Fisher.
2840
2841         Use Skia if Skia on Mac Chrome is enabled
2842         https://bugs.webkit.org/show_bug.cgi?id=62999
2843
2844         No new tests. This does not affect existing
2845         functionality.
2846
2847         * WebCore.gyp/WebCore.gyp:
2848         Include Skia and related files and exclude CG
2849         and related files when building Chromium for Skia
2850         on the Mac.
2851
2852         * loader/cache/CachedFont.cpp:
2853         Rename CHROME to CHROMIUM.
2854
2855         * platform/chromium/DragImageRef.h:
2856         * platform/graphics/FloatPoint.h:
2857         * platform/graphics/FloatRect.h:
2858         * platform/graphics/FloatSize.h:
2859         * platform/graphics/FontPlatformData.h:
2860         (WebCore::FontPlatformData::hash):
2861         * platform/graphics/GlyphBuffer.h:
2862         (WebCore::GlyphBuffer::advanceAt):
2863         (WebCore::GlyphBuffer::add):
2864         (WebCore::GlyphBuffer::expandLastAdvance):
2865         * platform/graphics/IntPoint.h:
2866         * platform/graphics/IntRect.h:
2867         * platform/graphics/IntSize.h:
2868         * platform/graphics/SimpleFontData.h:
2869         * platform/graphics/cg/FloatPointCG.cpp:
2870         * platform/graphics/cg/FloatRectCG.cpp:
2871         * platform/graphics/cg/FloatSizeCG.cpp:
2872         * platform/graphics/cg/IntPointCG.cpp:
2873         * platform/graphics/cg/IntRectCG.cpp:
2874         * platform/graphics/cg/IntSizeCG.cpp:
2875         * platform/graphics/mac/FontCustomPlatformData.cpp:
2876         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
2877         (WebCore::createFontCustomPlatformData):
2878         * platform/graphics/mac/FontCustomPlatformData.h:
2879         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
2880         Ditto.
2881
2882 2011-06-22  Mark Pilgrim  <pilgrim@chromium.org>
2883
2884         Reviewed by Adam Barth.
2885
2886         IndexedDB createIndex should NOT throw if name arg is null
2887         https://bugs.webkit.org/show_bug.cgi?id=63114
2888
2889         * storage/IDBObjectStore.idl: remove ConvertNullToNullString flag
2890         so null values will be stringified as "null", as per WebIDL spec.
2891
2892 2011-06-22  Chris Rogers  <crogers@google.com>
2893
2894         Reviewed by Kenneth Russell.
2895
2896         AudioContext needs non-blocking call to create AudioBuffer from audio file data
2897         https://bugs.webkit.org/show_bug.cgi?id=61947
2898
2899         No new tests since audio API is not yet implemented.
2900
2901         * DerivedSources.make:
2902         * WebCore.gypi:
2903         * WebCore.xcodeproj/project.pbxproj:
2904         * webaudio/AsyncAudioDecoder.cpp: Added.
2905         (WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
2906         (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
2907         (WebCore::AsyncAudioDecoder::decodeAsync):
2908         (WebCore::AsyncAudioDecoder::threadEntry):
2909         (WebCore::AsyncAudioDecoder::runLoop):
2910         (WebCore::AsyncAudioDecoder::DecodingTask::DecodingTask):
2911         (WebCore::AsyncAudioDecoder::DecodingTask::decode):
2912         (WebCore::AsyncAudioDecoder::DecodingTask::notifyCompleteDispatch):
2913         (WebCore::AsyncAudioDecoder::DecodingTask::notifyComplete):
2914         * webaudio/AsyncAudioDecoder.h: Added.
2915         (WebCore::AsyncAudioDecoder::DecodingTask::audioData):
2916         (WebCore::AsyncAudioDecoder::DecodingTask::sampleRate):
2917         (WebCore::AsyncAudioDecoder::DecodingTask::successCallback):
2918         (WebCore::AsyncAudioDecoder::DecodingTask::errorCallback):
2919         (WebCore::AsyncAudioDecoder::DecodingTask::audioBuffer):
2920         * webaudio/AudioBufferCallback.h: Added.
2921         (WebCore::AudioBufferCallback::~AudioBufferCallback):
2922         * webaudio/AudioBufferCallback.idl: Added.
2923         * webaudio/AudioContext.cpp:
2924         (WebCore::AudioContext::decodeAudioData):
2925         * webaudio/AudioContext.h:
2926         * webaudio/AudioContext.idl:
2927
2928 2011-06-22  Beth Dakin  <bdakin@apple.com>
2929
2930         Reviewed by Simon Fraser.
2931
2932         https://bugs.webkit.org/show_bug.cgi?id=63174
2933         Don't draw the borders as one path unless there really are 4 borders
2934         -and corresponding-
2935         <rdar://problem/9457997>
2936
2937         If any of the border edges have no width, then allEdgesVisible should be set to 
2938         false since borders without width will not be visible.
2939         * rendering/RenderBoxModelObject.cpp:
2940         (WebCore::RenderBoxModelObject::paintBorder):
2941
2942 2011-06-22  Matthew Delaney  <mdelaney@apple.com>
2943
2944         Reviewed by Oliver Hunt.
2945
2946         Canvas in layer obscures overlapping span
2947         https://bugs.webkit.org/show_bug.cgi?id=63161
2948
2949         Test: compositing/layer-creation/spanOverlapsCanvas.html
2950
2951         * rendering/RenderLayer.cpp: Added checks for canvas to be layered properly.
2952         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
2953         (WebCore::RenderLayer::isSelfPaintingLayer):
2954
2955 2011-06-22  Chris Rogers  <crogers@google.com>
2956
2957         Reviewed by Kenneth Russell.
2958
2959         AudioContext noteGrainOn() method should not apply explicit windowing
2960         https://bugs.webkit.org/show_bug.cgi?id=63005
2961
2962         No new tests since audio API is not yet implemented.
2963
2964         * webaudio/AudioBufferSourceNode.cpp:
2965         (WebCore::AudioBufferSourceNode::readFromBuffer):
2966         * webaudio/AudioBufferSourceNode.h:
2967
2968 2011-06-22  Kentaro Hara  <haraken@google.com>
2969
2970         Reviewed by Tony Chang.
2971
2972         Check |keypath| argument of createObjectStore(). Remove storage/indexeddb/keypath-as-array.html.
2973         https://bugs.webkit.org/show_bug.cgi?id=63054
2974
2975         At the head of createObjectStore(), we parse |keypath| argument and throw an exception
2976         if the |keypath| is invalid. With this parsing, we remove keypath-as-array.html because
2977         the current keypath parser does not support an array of keypath and (more importantly)
2978         the current implementation of ObjectStore does not support multiple keypaths.
2979         We added keypath-basics.html that demonstrates that we do not support an array of keypaths.
2980
2981         Tests: storage/indexeddb/keypath-basics.html
2982
2983         * storage/IDBDatabase.cpp:
2984         (WebCore::IDBDatabase::createObjectStore):
2985         * storage/IDBKeyPath.cpp:
2986         (WebCore::IDBIsValidKeyPath):
2987         * storage/IDBKeyPath.h:
2988
2989 2011-06-22  Young Han Lee  <joybro@company100.net>
2990
2991         Reviewed by Simon Fraser.
2992
2993         animation-timing-function property with a list uses first item for all animations
2994         https://bugs.webkit.org/show_bug.cgi?id=60303
2995
2996         When an element has multiple animations that have different timingFunctions,
2997         the progress of each animation should be calculated using its respective timingFunction.
2998         But at this point, the timingFunction of the first animation is only used for the
2999         calculation, regardless of how many animations the element has.
3000
3001         The code for getting a timingFunction is changed by this patch
3002         so that the timingFunction of the correct animation searched by its name will be used.
3003
3004         Test: animations/multiple-animations-timing-function.html
3005
3006         * page/animation/KeyframeAnimation.cpp:
3007         (WebCore::getAnimationFromStyleByName):
3008         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
3009
3010 2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>
3011
3012         Unreviewed, rolling out r89407, r89409, r89410, and r89411.
3013         http://trac.webkit.org/changeset/89407
3014         http://trac.webkit.org/changeset/89409
3015         http://trac.webkit.org/changeset/89410
3016         http://trac.webkit.org/changeset/89411
3017         https://bugs.webkit.org/show_bug.cgi?id=63168
3018
3019         Broke Chromium tests for Forms and Autofill (Requested by
3020         dimich on #webkit).
3021
3022         * css/html.css:
3023         (input[type="search"]::-webkit-search-cancel-button):
3024         (input[type="search"]::-webkit-search-decoration):
3025         (input[type="search"]::-webkit-search-results-decoration):
3026         (input[type="search"]::-webkit-search-results-button):
3027         (input::-webkit-inner-spin-button):
3028         (input::-webkit-input-speech-button):
3029         * html/HTMLInputElement.cpp:
3030         * html/HTMLInputElement.h:
3031         * html/InputType.h:
3032         * html/SearchInputType.cpp:
3033         (WebCore::SearchInputType::SearchInputType):
3034         (WebCore::SearchInputType::createShadowSubtree):
3035         (WebCore::SearchInputType::destroyShadowSubtree):
3036         * html/SearchInputType.h:
3037         (WebCore::SearchInputType::innerBlockElement):
3038         * html/TextFieldInputType.cpp:
3039         (WebCore::TextFieldInputType::TextFieldInputType):
3040         (WebCore::TextFieldInputType::createShadowSubtree):
3041         (WebCore::TextFieldInputType::destroyShadowSubtree):
3042         * html/TextFieldInputType.h:
3043         (WebCore::TextFieldInputType::innerTextElement):
3044         (WebCore::TextFieldInputType::innerSpinButtonElement):
3045         (WebCore::TextFieldInputType::speechButtonElement):
3046         (WebCore::TextFieldInputType::setInnerTextElement):
3047         (WebCore::TextFieldInputType::setSpeechButtonElement):
3048         * rendering/RenderTextControlSingleLine.cpp:
3049         (WebCore::RenderTextControlSingleLine::innerTextElement):
3050         (WebCore::RenderTextControlSingleLine::layout):
3051         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
3052         (WebCore::RenderTextControlSingleLine::forwardEvent):
3053         (WebCore::RenderTextControlSingleLine::styleDidChange):
3054         (WebCore::RenderTextControlSingleLine::hasControlClip):
3055         (WebCore::RenderTextControlSingleLine::controlClipRect):
3056         (WebCore::RenderTextControlSingleLine::textBlockWidth):
3057         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
3058         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
3059         (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
3060         * rendering/RenderTextControlSingleLine.h:
3061
3062 2011-06-20  Mikhail Naganov  <mnaganov@chromium.org>
3063
3064         Reviewed by Pavel Feldman.
3065
3066         Web Inspector: [Chromium] Improve speed of heap profiles dominators view.
3067         https://bugs.webkit.org/show_bug.cgi?id=62979
3068
3069         * inspector/front-end/DetailedHeapshotGridNodes.js:
3070         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
3071         * inspector/front-end/HeapSnapshot.js:
3072         (WebInspector.HeapSnapshotArraySlice.prototype.item):
3073         (WebInspector.HeapSnapshotArraySlice.prototype.slice):
3074         (WebInspector.HeapSnapshot.prototype.dispose):
3075         (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
3076         (WebInspector.HeapSnapshot.prototype._buildReverseIndex.var):
3077         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
3078         (WebInspector.HeapSnapshot.prototype._buildRetainers):
3079         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
3080         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
3081         (WebInspector.HeapSnapshot.prototype._getDominatedIndex):
3082         (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
3083         (WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
3084         (WebInspector.HeapSnapshotFilteredOrderedIterator):
3085         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder):
3086         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get length):
3087         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
3088         (WebInspector.HeapSnapshotNodesProvider):
3089         * inspector/front-end/HeapSnapshotProxy.js:
3090         (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForDominator):
3091
3092 2011-06-22  Sreeram Ramachandran  <sreeram@chromium.org>
3093
3094         Reviewed by Pavel Feldman.
3095
3096         Web Inspector: Restore console messages when restoring inspector state
3097         https://bugs.webkit.org/show_bug.cgi?id=63146
3098
3099         No new tests (no change in functionality, only in display).
3100
3101         * inspector/InspectorConsoleAgent.cpp:
3102         (WebCore::InspectorConsoleAgent::restore):
3103         * inspector/InspectorConsoleAgent.h:
3104         * inspector/InspectorController.cpp:
3105         (WebCore::InspectorController::restoreInspectorStateFromCookie):
3106
3107 2011-06-22  Adam Barth  <abarth@webkit.org>
3108
3109         Attempt to fix the GTK build after my incomplete rollout of 88332.
3110
3111         * GNUmakefile.list.am:
3112
3113 2011-06-22  Sam Weinig  <sam@webkit.org>
3114
3115         Reviewed by Adam Barth.
3116
3117         HTML parser should limit element depth of produced tree
3118         https://bugs.webkit.org/show_bug.cgi?id=63082
3119
3120         Test by:
3121             fast/parser/block-nesting-cap.html
3122             fast/parser/element-nesting-cap.html
3123
3124         * html/parser/HTMLConstructionSite.cpp:
3125         (WebCore::HTMLConstructionSite::attach):
3126         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
3127         * html/parser/HTMLConstructionSite.h:
3128         Limit the DOM tree depth by turning attempts to add a child passed a certain
3129         threshold (configurable by Settings::maximumDOMTreeDepth) into a sibling.
3130
3131         * html/parser/HTMLDocumentParser.cpp:
3132         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
3133         (WebCore::HTMLDocumentParser::maximumDOMTreeDepth):
3134         * html/parser/HTMLDocumentParser.h:
3135         Pass the maximumDOMTreeDepth to the TreeBuilder.
3136
3137         * html/parser/HTMLElementStack.cpp:
3138         (WebCore::HTMLElementStack::HTMLElementStack):
3139         (WebCore::HTMLElementStack::popAll):
3140         (WebCore::HTMLElementStack::insertAbove):
3141         (WebCore::HTMLElementStack::pushCommon):
3142         (WebCore::HTMLElementStack::popCommon):
3143         (WebCore::HTMLElementStack::removeNonTopCommon):
3144         * html/parser/HTMLElementStack.h:
3145         (WebCore::HTMLElementStack::size):
3146         Keep track of the size of the element stack.
3147
3148         * html/parser/HTMLTreeBuilder.cpp:
3149         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
3150         * html/parser/HTMLTreeBuilder.h:
3151         (WebCore::HTMLTreeBuilder::create):
3152         Pass the maximumDOMTreeDepth to the construction site.
3153
3154         * page/Settings.cpp:
3155         (WebCore::Settings::Settings):
3156         * page/Settings.h:
3157         (WebCore::Settings::setMaximumHTMLParserDOMTreeDepth):
3158         (WebCore::Settings::maximumHTMLParserDOMTreeDepth):
3159         Add a setting to control the maximum DOM tree depth that the parser will produce.
3160
3161 2011-06-22  Adam Barth  <abarth@webkit.org>
3162
3163         Rollout 88332.  As discussed on webkit-dev, we'd like to iterate on
3164         both the API and it's implementation a bit.
3165
3166         * WebCore.gypi:
3167         * bindings/generic/RuntimeEnabledFeatures.cpp:
3168         * bindings/generic/RuntimeEnabledFeatures.h:
3169         * dom/DocumentMarker.h:
3170         (WebCore::DocumentMarker::activeMatch):
3171         * dom/DocumentMarkerController.cpp:
3172         * dom/DocumentMarkerController.h:
3173         * html/HTMLDivElement.cpp:
3174         * html/HTMLDivElement.h:
3175         * html/HTMLDivElement.idl:
3176         * html/HTMLInputElement.cpp:
3177         * html/HTMLInputElement.h:
3178         * html/HTMLInputElement.idl:
3179         * html/HTMLTextAreaElement.cpp:
3180         * html/HTMLTextAreaElement.h:
3181         * html/HTMLTextAreaElement.idl:
3182         * html/SpellcheckRange.cpp: Removed.
3183         * html/SpellcheckRange.h: Removed.
3184         * html/SpellcheckRange.idl: Removed.
3185         * html/SpellcheckRangeList.cpp: Removed.
3186         * html/SpellcheckRangeList.h: Removed.
3187         * html/SpellcheckRangeList.idl: Removed.
3188         * rendering/InlineTextBox.cpp:
3189         (WebCore::textCheckingLineStyleForMarkerType):
3190         (WebCore::InlineTextBox::paintDocumentMarkers):
3191
3192 2011-06-22  Mark Pilgrim  <pilgrim@chromium.org>
3193
3194         Reviewed by Adam Barth.
3195
3196         IndexedDB: fix multiple issues in IDBDatabase.idl
3197         https://bugs.webkit.org/show_bug.cgi?id=63140
3198
3199         Tests: storage/indexeddb/createObjectStore-name-argument-required.html
3200                storage/indexeddb/createObjectStore-null-name.html
3201                storage/indexeddb/deleteObjectStore-name-argument-required.html
3202                storage/indexeddb/deleteObjectStore-null-name.html
3203                storage/indexeddb/setVersion-null.html
3204                storage/indexeddb/transaction-storeNames-required.html
3205
3206         * storage/IDBDatabase.idl: remove LegacyDefaultOptionalArguments so
3207         all functions will throw TypeError when called with too few arguments,
3208         as per WebIDL spec. Also remove ConvertNullToNullString flags so null
3209         values are stringified as "null" (also as per WebIDL spec).
3210
3211 2011-06-22  Vsevolod Vlasov  <vsevik@chromium.org>
3212
3213         Reviewed by Pavel Feldman.
3214
3215         Web Inspector: Move logic for deciding whether resource content should be base64 encoded on backend.
3216         https://bugs.webkit.org/show_bug.cgi?id=63069
3217
3218         * inspector/Inspector.json:
3219         * inspector/InspectorPageAgent.cpp:
3220         (WebCore::InspectorPageAgent::cachedResourceContent):
3221         (WebCore::InspectorPageAgent::resourceContent):
3222         (WebCore::InspectorPageAgent::getResourceContent):
3223         (WebCore::InspectorPageAgent::searchInResources):
3224         * inspector/InspectorPageAgent.h:
3225         * inspector/InspectorResourceAgent.cpp:
3226         (WebCore::InspectorResourceAgent::getResourceContent):
3227         * inspector/InspectorResourceAgent.h:
3228         * inspector/InspectorStyleSheet.cpp:
3229         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
3230         * inspector/front-end/NetworkManager.js:
3231         (WebInspector.NetworkManager.prototype.requestContent):
3232         * inspector/front-end/Resource.js:
3233         (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
3234         (WebInspector.Resource.prototype._innerRequestContent):
3235
3236 2011-06-22  Luke Macpherson   <macpherson@chromium.org>
3237
3238         Reviewed by Dimitri Glazkov.
3239
3240         Support cast from CSSPrimitiveValue to short and use for CSSPropertyWidows and CSSPropertyOrphans.
3241         https://bugs.webkit.org/show_bug.cgi?id=62964
3242
3243         No new tests / refactoring only.
3244
3245         * css/CSSPrimitiveValueMappings.h:
3246         Support cast to/from short.
3247         * css/CSSStyleSelector.cpp:
3248         (WebCore::CSSStyleSelector::applyProperty):
3249         Use cast to short to allow CSSPropertWidows and CSSPropertyOrphans to use existing macro.
3250
3251 2011-06-22  Eunmi Lee  <eunmi15.lee@samsung.com>
3252
3253         Reviewed by Martin Robinson.
3254
3255         Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port.
3256         https://bugs.webkit.org/show_bug.cgi?id=62848
3257
3258         This patch will make GtkWidgetBackingStore shareable with EFL port.
3259         It is a preparation to integrate WebKit2's BackingStoreGtk.cpp and
3260         BackingStoreEfl.cpp as a BackingStoreCairo.cpp.
3261
3262         * GNUmakefile.am:
3263         * GNUmakefile.list.am:
3264         * platform/graphics/cairo/CairoUtilities.cpp:
3265         (WebCore::copyRectFromOneSurfaceToAnother):
3266         * platform/graphics/cairo/CairoUtilities.h:
3267         * platform/cairo/WidgetBackingStore.h: Added.
3268         * platform/gtk/GtkWidgetBackingStore.h: Removed.
3269         * platform/gtk/GtkWidgetBackingStoreCairo.cpp:
3270         (WebCore::createSurfaceForBackingStore):
3271         (WebCore::WidgetBackingStorePrivate::create):
3272         (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
3273         (WebCore::WidgetBackingStore::create):
3274         (WebCore::WidgetBackingStore::WidgetBackingStore):
3275         (WebCore::WidgetBackingStore::~WidgetBackingStore):
3276         (WebCore::WidgetBackingStore::cairoSurface):
3277         (WebCore::WidgetBackingStore::scroll):
3278         * platform/gtk/GtkWidgetBackingStoreX11.cpp:
3279         (WebCore::WidgetBackingStorePrivate::create):
3280         (WebCore::WidgetBackingStorePrivate::~WidgetBackingStorePrivate):
3281         (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
3282         (WebCore::WidgetBackingStore::create):
3283         (WebCore::WidgetBackingStore::WidgetBackingStore):
3284         (WebCore::WidgetBackingStore::~WidgetBackingStore):
3285         (WebCore::WidgetBackingStore::cairoSurface):
3286         (WebCore::WidgetBackingStore::scroll):
3287
3288 2011-06-22  Simon Fraser  <simon.fraser@apple.com>
3289
3290         Reviewed by Dan Bernstein.
3291
3292         Update position, bounds and anchor point in GraphicsLayerCA all at once
3293         https://bugs.webkit.org/show_bug.cgi?id=63148
3294
3295         Since position, bounds and anchor point are inter-dependent, avoid
3296         redundant work by simply updating them all at the same time.
3297         
3298         No behavior changes, so no new tests.
3299
3300         * platform/graphics/ca/GraphicsLayerCA.cpp:
3301         (WebCore::GraphicsLayerCA::setPosition):
3302         (WebCore::GraphicsLayerCA::setAnchorPoint):
3303         (WebCore::GraphicsLayerCA::setSize):
3304         (WebCore::GraphicsLayerCA::setBoundsOrigin):
3305         (WebCore::GraphicsLayerCA::setAllowTiledLayer):
3306         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
3307         (WebCore::GraphicsLayerCA::updateGeometry):
3308         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
3309         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3310         * platform/graphics/ca/GraphicsLayerCA.h:
3311
3312 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
3313
3314         Reviewed by Darin Adler.
3315
3316         Make instantiation of legacy editing position more explicit
3317         https://bugs.webkit.org/show_bug.cgi?id=63037
3318
3319         Replaced the constructor of Position class that used to instantiate a legacy editing position
3320         by a function called createLegacyEditingPosition.
3321
3322         * WebCore.exp.in: Removed the constructor from the list.
3323         * accessibility/AXObjectCache.cpp:
3324         (WebCore::AXObjectCache::visiblePositionForTextMarkerData): Calls createLegacyEditingPosition.
3325         * accessibility/gtk/AXObjectCacheAtk.cpp:
3326         (WebCore::AXObjectCache::nodeTextChangePlatformNotification): No longer uses Positions to instantiate a range.
3327         * dom/Position.cpp:
3328         (WebCore::Position::Position): New constructor takes LegacyEditingOffset, which can only be instantiated
3329         by createLegacyEditingPosition.
3330         (WebCore::Position::previous): Calls createLegacyEditingPosition.
3331         (WebCore::Position::next): Ditto.
3332         (WebCore::Position::upstream): Ditto.
3333         (WebCore::Position::downstream): Ditto.
3334         * dom/Position.h: Added new Position::LegacyEditingOffset class to hide the legacy constructor from the world.
3335         (WebCore::Position::LegacyEditingOffset::value): Added.
3336         (WebCore::Position::LegacyEditingOffset::LegacyEditingOffset): Added.
3337         (WebCore::createLegacyEditingPosition): Added.
3338         * dom/PositionIterator.cpp:
3339         (WebCore::PositionIterator::operator Position): Calls createLegacyEditingPosition.
3340         * dom/RangeBoundaryPoint.h:
3341         (WebCore::RangeBoundaryPoint::toPosition): Ditto.
3342         * editing/InsertTextCommand.cpp:
3343         (WebCore::InsertTextCommand::performTrivialReplace): Instantiates new Position instead of old one; this is always
3344         safe since the anchor node is always a text node.
3345         * editing/VisiblePosition.cpp:
3346         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Calls createLegacyEditingPosition.
3347         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Ditto.
3348         * editing/markup.cpp:
3349         (WebCore::StyledMarkupAccumulator::renderedText): Ditto.
3350         * editing/visible_units.cpp:
3351         (WebCore::previousBoundary): Ditto.
3352         (WebCore::previousLinePosition): Ditto.
3353         (WebCore::nextLinePosition): Ditto.
3354         * page/DOMSelection.cpp:
3355         (WebCore::DOMSelection::collapse): Ditto.
3356         (WebCore::DOMSelection::setBaseAndExtent): Ditto.
3357         (WebCore::DOMSelection::setPosition): Ditto.
3358         (WebCore::DOMSelection::extend): Ditto.
3359         * rendering/RenderBlock.cpp:
3360         (WebCore::RenderBlock::positionForBox): Ditto.
3361         * rendering/RenderBox.cpp:
3362         (WebCore::RenderBox::positionForPoint): Calls Position() instead of Position(0, 0).
3363         * rendering/RenderObject.cpp:
3364         (WebCore::RenderObject::createVisiblePosition): Calls createLegacyEditingPosition.s
3365
3366 2011-06-22  Pavel Feldman  <pfeldman@google.com>
3367
3368         Reviewed by Yury Semikhatsky.
3369
3370         Web Inspector: split setAttributes and setAttributeValue.
3371         https://bugs.webkit.org/show_bug.cgi?id=63138
3372
3373         * inspector/Inspector.json:
3374         * inspector/InspectorDOMAgent.cpp:
3375         (WebCore::InspectorDOMAgent::setAttributeValue):
3376         (WebCore::InspectorDOMAgent::setAttributesText):
3377         * inspector/InspectorDOMAgent.h:
3378         * inspector/front-end/DOMAgent.js:
3379         (WebInspector.DOMNode.prototype.setAttribute):
3380         (WebInspector.DOMNode.prototype.setAttributeValue):
3381
3382 2011-06-22  Dirk Schulze  <krit@webkit.org>
3383
3384         Reviewed by Nikolas Zimmermann.
3385
3386         Animate viewBox attribute in SVG
3387         https://bugs.webkit.org/show_bug.cgi?id=20057
3388
3389         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
3390         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGRect. With the new animator we support
3391         interpolation between SVGRects. A feature that can be used to get smooth zooming animations for SVGs.
3392         
3393         Added parseRect() to SVGParserUtilities for parsing Strings to FloatRects.
3394
3395         Tests: svg/animations/svgrect-animation-1.html
3396                svg/animations/svgrect-animation-2.html
3397
3398         * CMakeLists.txt: Added new file SVGAnimatedRect.cpp to build system.
3399         * GNUmakefile.list.am: Ditto.
3400         * WebCore.gypi: Ditto.
3401         * WebCore.pro: Ditto.
3402         * WebCore.xcodeproj/project.pbxproj: Ditto.
3403         * platform/graphics/FloatRect.h: Added new operators + and +=.
3404         (WebCore::operator+=):
3405         (WebCore::operator+):
3406         * svg/SVGAllInOne.cpp: Added SVGAnimatedRect.cpp for Win build.
3407         * svg/SVGAnimateElement.cpp: Handle AnimatedRect explicitly.
3408         (WebCore::SVGAnimateElement::determineAnimatedAttributeType): Ditto.
3409         (WebCore::SVGAnimateElement::calculateAnimatedValue): Ditto.
3410         (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
3411         (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
3412         (WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
3413         (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
3414         (WebCore::SVGAnimateElement::calculateDistance): Ditto.
3415         * svg/SVGAnimatedRect.cpp: Added. The new Animator for SVGRect.