5708eccabbad174f3710ea5254f7c10e17379276
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-06-20  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Reviewed by Ojan Vafai.
4
5         FrameSelection::modify should take verticalDisplacement instead of verticalDistance
6         https://bugs.webkit.org/show_bug.cgi?id=62932
7
8         Added new VerticalDirection enum to the argument list of FrameSelection::modify that takes
9         verticalDistance.  Also changed the type of verticalDistance from int to unsigned int
10         to accidentally pass a negative distance in the future.
11
12         * editing/EditorCommand.cpp:
13         (WebCore::verticalScrollDistance): Returns unsigned int instead of int.
14         (WebCore::executeMovePageDown): Calls FrameSelection::modify.
15         (WebCore::executeMovePageDownAndModifySelection): Ditto.
16         (WebCore::executeMovePageUp): Ditto.
17         (WebCore::executeMovePageUpAndModifySelection): Ditto.
18         * editing/FrameSelection.cpp:
19         (WebCore::FrameSelection::modify): Takes VerticalDirection as an argument.
20         * editing/FrameSelection.h:
21
22 2011-06-20  Anders Carlsson  <andersca@apple.com>
23
24         Reviewed by Adam Barth.
25
26         Don't use PassRefPtr variables in the V8 bindings generator
27         https://bugs.webkit.org/show_bug.cgi?id=62947
28
29         * bindings/scripts/CodeGeneratorV8.pm:
30
31 2011-06-20  Adam Barth  <abarth@webkit.org>
32
33         Reviewed by Alexey Proskuryakov.
34
35         ASSERT in WebCore::HTMLToken::appendToAttributeName when visiting www.nba.com
36         https://bugs.webkit.org/show_bug.cgi?id=61774
37
38         This ASSERT triggers for the same underlying issue that causes
39         Bug 62971: When we tokenize a </script> tag, we don't realize that
40         we've already consumed the "</script>" from the input stream when we
41         extracted the previous token.  That causes the source tracker to be
42         out-of-sync, triggering the incorrect view-source highlighting and this
43         ASSERT.
44
45         For now, let's just silence the assert while we work on Bug 62971.
46
47         Test: fast/parser/attributes-on-close-script.html
48
49         * html/parser/HTMLToken.h:
50         (WebCore::HTMLToken::appendToAttributeName):
51         (WebCore::AtomicHTMLToken::initializeAttributes):
52
53 2011-06-20  Andras Becsi  <abecsi@webkit.org>
54
55         Unreviewed build fix.
56
57         [Qt][V8] Include missing UnusedParam.h.
58
59         No new tests needed.
60
61         * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
62
63 2011-06-20  Andras Becsi  <abecsi@webkit.org>
64
65         Rubber-stamped by Csaba Osztrogon√°c.
66
67         [Qt][V8] Remove non-existing headers from project file.
68
69         No new tests needed.
70
71         * WebCore.pro: Remove ChildThreadDOMData.h and MainThreadDOMData.h,
72         since they have been already removed earlier from tree.
73
74 2011-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
75
76         Reviewed by Xan Lopez.
77
78         [GTK] Split libWebCore into two libWebCore and libWebCoreGtk
79         https://bugs.webkit.org/show_bug.cgi?id=60539
80
81         libWebCore contains all the webcore files except the ones actually
82         using gtk while libWebCoreGtk contains only the files using
83         gtk. It allows us to build a common WebCore lib and two different
84         gtk WebCore libs depending on the gtk version. In WeKit2 gtk2 is
85         not supported, but the plugin process needs to be built using gtk2
86         because plugins like flash still use gtk2. For WebKit2, we build
87         the common libWebCore and two libWebCoreGtk, one using gtk3 and
88         the other one using gtk2.
89
90         * GNUmakefile.am:
91         * GNUmakefile.list.am:
92
93 2011-06-20  Mike Reed  <reed@google.com>
94
95         Reviewed by Stephen White.
96
97         [Skia] remove repeated calls to setColor, which ignored global-alpha (previous setupPaintFor... already set the color+alpha)
98         https://bugs.webkit.org/show_bug.cgi?id=62988
99
100         No new tests. removing redundant calls
101
102         * platform/graphics/chromium/FontLinux.cpp:
103         (WebCore::Font::drawGlyphs):
104
105 2011-06-19  Martin Robinson  <mrobinson@igalia.com>
106
107         Reviewed by Xan Lopez.
108
109         [GTK] ASSERTION FAILED: it != gFontDataCache->end() in FontCache.cpp:318
110         https://bugs.webkit.org/show_bug.cgi?id=62942
111
112         Fix the == operator overload of the FreeType FontPlatformData to properly make the
113         distinction between the hash table deleted value and the hash table empty value.
114
115         No new tests. This is covered by existing tests, which should no longer
116         hit assertions.
117
118         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
119         (WebCore::FontPlatformData::operator==): Reorder the logic for determining if two
120         FontPlatformData instances are equal. Do a pointer comparison on the Fontconfig patterns,
121         instead of using FcPatternEqual. If the two Fontconfig patterns have different pointers
122         they were created at different times and the overload should return false.
123
124 2011-06-20  Ilya Tikhonovsky  <loislo@chromium.org>
125
126         Reviewed by Yury Semikhatsky.
127
128         Web Inspector: It would be useful to be able to pause on element's style change.
129         https://bugs.webkit.org/show_bug.cgi?id=62982
130
131         Current workaround is to use mutation events but it's awkward and doesn't
132         compare _usability-wise_ to what could be implemented as native support in web inspector.
133         In complex applications, being able to see which code causes element to change its style is indispensable.
134
135         * inspector/InspectorDOMDebuggerAgent.cpp:
136         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
137         * inspector/InspectorDOMDebuggerAgent.h:
138         * inspector/InspectorInstrumentation.cpp:
139         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
140
141 2011-06-19  Mads Ager  <ager@chromium.org>
142
143         Reviewed by Adam Barth.
144
145         [V8] Fix WebGL bindings for subarrays
146         https://bugs.webkit.org/show_bug.cgi?id=62864
147
148         Mark WebGL subarrays as independent of other DOM objects in the
149         V8 bindings. This allows us to clean them up independently which
150         greatly improves performance.
151
152         * bindings/v8/V8Proxy.h:
153         (WebCore::toV8Independent):
154         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
155         (WebCore::constructWebGLArrayWithArrayBufferArgument):
156         (WebCore::constructWebGLArray):
157
158 2011-06-20  Yuta Kitamura  <yutak@chromium.org>
159
160         Unreviewed build fix for Chromium Clang builders.
161
162         * platform/graphics/FontFallbackList.h: Declare SVGTextRunRenderingContext as class, not struct.
163
164 2011-06-20  MORITA Hajime <morrita@google.com>
165
166         Unreviewed GTK build fix.
167         This change touched the file to make the build happen.
168
169         * dom/EventTarget.cpp:
170
171 2011-06-20  Nikolas Zimmermann  <nzimmermann@rim.com>
172
173         Reviewed by Rob Buis.
174
175         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
176         https://bugs.webkit.org/show_bug.cgi?id=59085
177
178         font substitution doesn't work for HTML text using SVG fonts
179         https://bugs.webkit.org/show_bug.cgi?id=17608
180
181         Selection rects are wrong for text with SVG fonts
182         https://bugs.webkit.org/show_bug.cgi?id=25460
183
184         With @font-face, SVG fonts only work as primary, non-segmented
185         https://bugs.webkit.org/show_bug.cgi?id=32227
186
187         When using SVG fonts with @font-face word-spacing and text-align: justify are not being honored
188         https://bugs.webkit.org/show_bug.cgi?id=34236
189
190         SVG @font-face breaks text-overflow: ellipsis
191         https://bugs.webkit.org/show_bug.cgi?id=36840
192
193         REGRESSION: SVG Font selection problems
194         https://bugs.webkit.org/show_bug.cgi?id=41934
195
196         Tests: svg/custom/svg-fonts-fallback.xhtml (for bug 17608, extended the original test from Mark Ambachtsheer)
197                svg/custom/svg-fonts-segmented.xhtml (for bug 32227)
198                svg/custom/svg-fonts-word-spacing.html (for bug 34236, from Michael Lewis)
199                svg/text/select-text-svgfont.html (for bug 25460/41934, from Emil Schutte)
200                svg/text/text-overflow-ellipsis-svgfont.html (for 36840, from Emil Schutte)
201
202         Rewrite the SVG Fonts support to fully integrate within the GlyphPage concept and the "simple" code path used to render platform fonts.
203         That means the special logic for measuring text using SVG Fonts, calculating offset for positions, computing selection rects etc. is all gone now.
204         There's no difference anymore between using a native font or a SVG Font, in terms of these operations.
205
206         This makes text selection using SVG Fonts possible again.
207
208         * features.pri: Temporarily turn of SVG Fonts for Qt, as long as QRawFont support is not available and the fast path is disabled.
209         * page/DOMWindow.idl: Touched file to force Qt regenerating the bindings.
210         * platform/graphics/Font.cpp: Remove SVG Font special cases, the simple code path now handles SVG Fonts as well.
211         (WebCore::Font::drawText):
212         (WebCore::Font::drawEmphasisMarks):
213         (WebCore::Font::width):
214         (WebCore::Font::selectionRectForText):
215         (WebCore::Font::offsetForPosition):
216         (WebCore::Font::codePath):
217         * platform/graphics/Font.h: Pass TextRun to drawGlyphBuffer/drawEmphasisMarks. Add new glyphDataAndPageForCharacter() method which returns a pair
218                                     std::pair<GlyphData, GlyphPage*>, so we know the associated GlyphPage for a certain GlyphData object, which is needed to properly
219                                     handle font fallback glyph matching for SVG Fonts..
220         (WebCore::Font::fontList): Add FontFallbackList accessor.
221         * platform/graphics/FontFallbackList.h: Add getters/setters for glyphPageZero -- SVG Fonts support needs access to these objects from SVGTextRunRenderingContext.
222         (WebCore::FontFallbackList::glyphPageZero):
223         (WebCore::FontFallbackList::glyphPages):
224         (WebCore::FontFallbackList::setGlyphPageZero):
225         (WebCore::FontFallbackList::setGlyphPages):
226         * platform/graphics/FontFastPath.cpp:
227         (WebCore::Font::glyphDataForCharacter): Move implementation to glyphDataAndPageForCharacter(), and use that method from here.
228         (WebCore::Font::glyphDataAndPageForCharacter): Does the same as before, just returns an additional GlyphPage* pointer.
229         (WebCore::Font::getEmphasisMarkGlyphData): Remove SVG Fonts special case.
230         (WebCore::Font::drawGlyphBuffer): Ditto.
231         * platform/graphics/FontMetrics.h:
232         (WebCore::scaleEmToUnits): Refactored scaleEmToUnits free function from SimpleFontDataMac/CGWin to share with SVGFontData/SVGTextRunRenderingContext.
233         * platform/graphics/GlyphPageTreeNode.cpp:
234         (WebCore::fill): Stop skipping SVG Fonts, they now also fill the GlyphPage using the glyphs defined in the SVG Font.
235         * platform/graphics/SVGGlyph.h: s/isValid/isPartOfLigature/. Its usage has been changed.
236         (WebCore::SVGGlyph::SVGGlyph):
237         (WebCore::SVGGlyph::operator==):
238         * platform/graphics/SimpleFontData.cpp: Change font size to be a float, not an int.
239         (WebCore::SimpleFontData::SimpleFontData):
240         * platform/graphics/SimpleFontData.h: Add new pure virtual methods to the AdditionalFontData interface, to be implemented in SVGFontData.
241         (WebCore::SimpleFontData::widthForGlyph): Call widthForSVGGlyph, if we encounter a SVG glyph.
242         * platform/graphics/TextRun.h: 
243         * platform/graphics/WidthIterator.cpp:
244         (WebCore::WidthIterator::glyphDataForCharacter):
245         (WebCore::WidthIterator::advance):
246         * platform/graphics/WidthIterator.h: Store several new members needed for SVG Fonts support (last processed glyph name used for kerning pair lookup)
247                                              and a map mapping each character of a text to its arabic-form (if needed, to perform SVG glyph selection for Arabic text).
248         (WebCore::WidthIterator::run):
249         (WebCore::WidthIterator::runWidthSoFar):
250         (WebCore::WidthIterator::lastGlyphName):
251         (WebCore::WidthIterator::setLastGlyphName):
252         (WebCore::WidthIterator::arabicForms):
253         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Use new scaleEmToUnits free function from FontMetrics.h.
254         * platform/graphics/mac/SimpleFontDataMac.mm: Ditto.
255         * platform/graphics/win/SimpleFontDataCGWin.cpp: Ditto.
256         * rendering/svg/SVGTextMetrics.cpp:
257         (WebCore::SVGTextMetrics::SVGTextMetrics):
258         (WebCore::constructTextRun):
259         (WebCore::SVGTextMetrics::measureCharacterRange):
260         * rendering/svg/SVGTextMetrics.h:
261         * rendering/svg/SVGTextRunRenderingContext.cpp: Remove drawTextUsingSVGFont/floatWidthUsingSVGFont/selectionRectForTextUsingSVGFont/offsetForPositionForTextUsingSVGFont.
262         (WebCore::firstParentRendererForNonTextNode): Don't assert node() exists, doesn't hold true for generated render objects.
263         (WebCore::renderObjectFromRun): Renamed from referencingRenderObjectFromRun.
264         (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Remove extra "extraCharsAvailable" parameter, now solves via TextRun::charactersLength().
265         (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
266         (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Main drawing method, this actually creates/renders Paths.
267         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Part 1/2 of SVG Glyph selection code.
268         * rendering/svg/SVGTextRunRenderingContext.h:
269         * svg/SVGAltGlyphElement.cpp:
270         (WebCore::SVGAltGlyphElement::hasValidGlyphElement):
271         * svg/SVGAltGlyphElement.h:
272         * svg/SVGFontData.cpp:
273         (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
274         (WebCore::SVGFontData::initializeFontData): Changed font size from int to float.
275         (WebCore::SVGFontData::widthForSVGGlyph): Lookup a SVGGlyph from a Glyph using the glyph table in SVGFontElement and calculate its width.
276         (WebCore::SVGFontData::applySVGGlyphSelection): Part 2/2 of SVG Glyph selection code.
277         (WebCore::SVGFontData::fillSVGGlyphPage): Fill GlyphPage using glyphs defined in the SVG Font.
278         * svg/SVGFontData.h:
279         * svg/SVGFontElement.cpp:
280         (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Enable ligature registration for the use within GlyphPage.
281         (WebCore::SVGFontElement::ensureGlyphCache):
282         * svg/SVGGlyphMap.h:
283         (WebCore::SVGGlyphMap::addGlyphByUnicodeString): Remove setting isValid, it's not needed anymore and gone.
284         * svg/svgtags.in: Surround vkern in ENABLE_SVG_FONTS block.
285
286 2011-06-19  MORITA Hajime  <morrita@google.com>
287
288         Reviewed by Dimitri Glazkov.
289
290         The internals object should have createShadowContentElement()
291         https://bugs.webkit.org/show_bug.cgi?id=62432
292
293         This change:
294         - added Internals::createShadowContentElement(), which creates,
295           ShadowContentElement instance which includes all host children,
296         - added Internals::elementRenderTreeAsText() to help content layout testing, and
297         - Unabstracted ShadowContentElement by giving a default shouldInclude() implementation.
298         
299         Test: fast/dom/shadow/create-content-element.html
300
301         * WebCore.exp.in:
302         * dom/ShadowContentElement.cpp:
303         (WebCore::ShadowContentElement::create): Added.
304         (WebCore::ShadowContentElement::ShadowContentElement):
305         (WebCore::ShadowContentElement::~ShadowContentElement):
306         (WebCore::ShadowContentElement::shouldInclude): Gave a default implementation which always returns true.
307         * dom/ShadowContentElement.h:
308         * html/HTMLSummaryElement.cpp:
309         (WebCore::SummaryContentElement::SummaryContentElement):
310         * rendering/RenderTreeAsText.cpp:
311         (WebCore::externalRepresentation): Factored out for supportin per-element render tree dump.
312         * rendering/RenderTreeAsText.h:
313         * testing/Internals.cpp:
314         (WebCore::Internals::createShadowContentElement): Added.
315         (WebCore::Internals::elementRenderTreeAsText): dded.
316         * testing/Internals.h:
317         * testing/Internals.idl:
318
319 2011-06-19  Keishi Hattori  <keishi@webkit.org>
320
321         Reviewed by Kent Tamura.
322
323         Clicking indeterminate checkbox should flip checkedness state
324         https://bugs.webkit.org/show_bug.cgi?id=62262
325
326         Test: fast/forms/checkbox-click-indeterminate.html
327
328         * html/CheckboxInputType.cpp:
329         (WebCore::CheckboxInputType::willDispatchClick): Changed to flip checked flag when indeterminate.
330
331 2011-06-19  Adam Bergkvist  <adam.bergkvist@ericsson.com>
332
333         Reviewed by Martin Robinson.
334
335         [GTK] Enable Media Stream feature and make it default on
336         https://bugs.webkit.org/show_bug.cgi?id=60394
337
338         * GNUmakefile.am:
339
340 2011-06-19  Una Sabovic  <una.sabovic@palm.com>
341
342         Reviewed by Darin Adler.
343
344         Optimization: avoid call to clearRect() when bgColor is valid when painting the root background in RenderBoxModelObject::paintFillLayerExtended
345         https://bugs.webkit.org/show_bug.cgi?id=62908
346
347         When root layers base color is fully transparent backgroundRect was cleared before bgColor is applied.
348         Instead of clearing the rect we apply CompositeCopy operation when painting the background color.
349
350         No new tests. This is an optimization, it doesn't change any existing functionality.
351
352         * platform/graphics/GraphicsContext.cpp:
353         (WebCore::GraphicsContext::fillRect):
354         * platform/graphics/GraphicsContext.h:
355         * rendering/RenderBoxModelObject.cpp:
356         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
357
358 2011-06-19  Dirk Schulze  <krit@webkit.org>
359
360         Reviewed by Nikolas Zimmermann.
361
362         SVGAnimatorFactory does not support SVGNumber
363         https://bugs.webkit.org/show_bug.cgi?id=62938
364
365         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
366         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGNumber. With the new animator for the
367         With the new animator for SVGNumber we also support the scientific notation, and everything else that's supported by
368         the SVGNumber parsing, removing the SVGAnimate* specific number parsing functionality.
369
370         Moving the content of SVGAnimatedType header into its own cpp.
371         
372         Changed behavior of parseNumberFromString(). It checks if the String simply consits of a number now. parseNumberFromString()
373         is using genericParseNumber() for parsing numbers. But this method just stops at the first char that does not belong to a number and
374         returns true. I added a check if the current char pointer is at the last char of the String and return false if not.
375
376         Tests: svg/animations/svgnumber-animation-1.html
377                svg/animations/svgnumber-animation-2.html
378                svg/animations/svgnumber-animation-3.html
379
380         * CMakeLists.txt: Added new files to build system.
381         * GNUmakefile.list.am: Ditto.
382         * WebCore.gypi: Ditto.
383         * WebCore.pro: Ditto.
384         * WebCore.xcodeproj/project.pbxproj: Ditto.
385         * svg/SVGAllInOne.cpp: Ditto.
386         * svg/SVGAnimateElement.cpp: Use SVGAnimatedNumberAnimator for animations of SVGNumbers.
387         (WebCore::SVGAnimateElement::SVGAnimateElement):
388         (WebCore::SVGAnimateElement::calculateAnimatedValue):
389         (WebCore::SVGAnimateElement::calculateFromAndToValues):
390         (WebCore::SVGAnimateElement::calculateFromAndByValues):
391         (WebCore::SVGAnimateElement::resetToBaseValue):
392         (WebCore::SVGAnimateElement::applyResultsToTarget):
393         (WebCore::SVGAnimateElement::calculateDistance):
394         * svg/SVGAnimateElement.h: Remove floats for value storage. This is done by SVGAnimatedTypes now.
395         * svg/SVGAnimatedNumber.cpp: Added. Animator for SVGNumbers.
396         (WebCore::SVGAnimatedNumberAnimator::SVGAnimatedNumberAnimator):
397         (WebCore::SVGAnimatedNumberAnimator::constructFromString):
398         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndToValues):
399         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndByValues):
400         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
401         (WebCore::SVGAnimatedNumberAnimator::calculateDistance):
402         * svg/SVGAnimatedNumber.h:
403         (WebCore::SVGAnimatedNumberAnimator::~SVGAnimatedNumberAnimator):
404         * svg/SVGAnimatedType.cpp: Added. Moved content from header to cpp.
405         (WebCore::SVGAnimatedType::SVGAnimatedType):
406         (WebCore::SVGAnimatedType::~SVGAnimatedType):
407         (WebCore::SVGAnimatedType::createAngle):
408         (WebCore::SVGAnimatedType::createLength):
409         (WebCore::SVGAnimatedType::createNumber):
410         (WebCore::SVGAnimatedType::angle):
411         (WebCore::SVGAnimatedType::length):
412         (WebCore::SVGAnimatedType::number):
413         (WebCore::SVGAnimatedType::valueAsString):
414         (WebCore::SVGAnimatedType::setValueAsString):
415         * svg/SVGAnimatedType.h: Removed method create(). Allways call type specific create funtcions.
416         * svg/SVGAnimatorFactory.h:
417         (WebCore::SVGAnimatorFactory::create):
418         * svg/SVGParserUtilities.cpp:
419         (WebCore::parseNumberFromString): Check if String simply consits of a number. Return false otherwise.
420
421 2011-06-18  Dimitri Glazkov  <dglazkov@chromium.org>
422
423         Reviewed by Darin Adler.
424
425         Separate concerns of loading file icons and choosing files.
426         https://bugs.webkit.org/show_bug.cgi?id=62931
427
428         Loading an icon and choosing files have similar async nature, but completely different
429         lifetimes: FileChooser should only exist when we are actually attempting to choose a file,
430         not anytime we need to render an input with a proper icon.
431
432         This patch introduces FileIconLoader, a separate abstraction for loading an icon, and removes
433         any notion of an icon from the FileChooser.
434
435         Also, the loaded icon is now stored on the RenderFileUploadControl, which better matches its
436         purpose.
437
438         Refactoring, covered by existing tests.
439
440         * CMakeLists.txt: Added FileIconLoader to build system.
441         * GNUmakefile.list.am: Ditto.
442         * WebCore.exp.in: Updated.
443         * WebCore.gypi: Added FileIconLoader to build system.
444         * WebCore.pro: Ditto.
445         * WebCore.vcproj/WebCore.vcproj: Ditto.
446         * WebCore.xcodeproj/project.pbxproj: Ditto.
447         * loader/EmptyClients.h: Updated.
448         (WebCore::EmptyChromeClient::loadIconForFiles): Renamed function to better reflect what it does.
449         * page/Chrome.cpp:
450         (WebCore::Chrome::loadIconForFiles): Ditto.
451         * page/Chrome.h: Ditto.
452         * page/ChromeClient.h: Ditto.
453         * platform/FileChooser.cpp:
454         (WebCore::FileChooser::FileChooser): Removed now-unnecessary bool.
455         (WebCore::FileChooser::create): Removed the tangled web.
456         (WebCore::FileChooser::clear): Removed icon-related code.
457         (WebCore::FileChooser::chooseFiles): Ditto.
458         * platform/FileChooser.h:
459         * platform/FileIconLoader.cpp: Copied from Source/WebCore/platform/FileChooser.cpp.
460         (WebCore::FileIconLoaderClient::~FileIconLoaderClient): Added.
461         (WebCore::FileIconLoader::create): Added.
462         (WebCore::FileIconLoader::disconnectClient): Added.
463         (WebCore::FileIconLoader::notifyFinished): Added.
464         (WebCore::FileIconLoader::FileIconLoader): Added.
465         * platform/FileIconLoader.h: Copied from Source/WebCore/platform/FileChooser.cpp.
466         * rendering/RenderFileUploadControl.cpp:
467         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Added new member initializations.
468         (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Added FileIconLoader disconnect.s
469         (WebCore::RenderFileUploadControl::requestIcon): Added a helper.
470         (WebCore::RenderFileUploadControl::valueChanged): Changed to request an icon load.
471         (WebCore::RenderFileUploadControl::updateRendering): Added implementation of FileIconLoaderClient func.
472         (WebCore::RenderFileUploadControl::updateFromElement): Added clearing of icon.
473         (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use new member directly.
474         (WebCore::RenderFileUploadControl::paintObject): Ditto.
475         (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
476         * rendering/RenderFileUploadControl.h: Updated decls.
477
478 2011-06-19  Michael Saboff  <msaboff@apple.com>
479
480         Reviewed by Darin Adler.
481
482         Add notify handler to trigger MemoryPressureHandler in all builds
483         https://bugs.webkit.org/show_bug.cgi?id=62679
484
485         Removed SIGUSR2 trigger and added a notify trigger for the
486         MemoryPressureHandler.  The notify trigger is enabled for all builds.
487
488         No test added as only added new memory pressure trigger.
489
490         * platform/mac/MemoryPressureHandlerMac.mm:
491         (WebCore::MemoryPressureHandler::install):
492
493 2011-06-19  Robert Hogan  <robert@webkit.org>
494
495         Reviewed by Alexey Proskuryakov.
496
497         [Qt] Qt Counterpart for http://trac.webkit.org/changeset/42078
498         https://bugs.webkit.org/show_bug.cgi?id=62514
499
500         * platform/network/qt/ResourceHandleQt.cpp:
501         (WebCore::WebCoreSynchronousLoader::willSendRequest):
502
503 2011-06-18  Yufeng Shen  <miletus@chromium.org>
504
505         Reviewed by Darin Fisher.
506
507         Adding "force" filed to Touch Event
508         https://bugs.webkit.org/show_bug.cgi?id=62766
509
510         * dom/Document.cpp:
511         (WebCore::Document::createTouch):
512         * dom/Document.h:
513         * dom/Document.idl:
514         * dom/Touch.cpp:
515         (WebCore::Touch::Touch):
516         * dom/Touch.h:
517         (WebCore::Touch::create):
518         (WebCore::Touch::webkitForce):
519         * dom/Touch.idl:
520         * page/EventHandler.cpp:
521         (WebCore::EventHandler::handleTouchEvent):
522         * platform/PlatformTouchPoint.h:
523         (WebCore::PlatformTouchPoint::force):
524
525 2011-06-18  Jer Noble  <jer.noble@apple.com>
526
527         Reviewed by Darin Adler.
528
529         Rename Document::setContainsFullScreenElementRecursively
530         https://bugs.webkit.org/show_bug.cgi?id=62528
531
532         No new tests; no net change in functionality, so this is covered by existing tests.
533
534         The name of setContainsFullScreenElementRecursively is confusing, since it doesn't actually use
535         recursion, and it walks the ancestor tree instead of the descendent tree (as recursive might
536         otherwise imply).  Move the function into Element, turn it into a member function, and change 
537         the behavior so that the function operates on the called object's parents (as opposed to the 
538         object itself).
539
540         * dom/Element.h:
541         * dom/Element.cpp:
542         (WebCore::parentCrossingFrameBoundaries): Added.
543         (WebCore::Element::setContainsFullScreenElementOnAncestorsCrossingFrameBoundaries): Renamed and 
544             moved from Document.
545         (WebCore::Element::willRemove): Use the newly renamed function.
546         (WebCore::Element::insertedIntoTree): Ditto.
547         * dom/Document.h:
548         * dom/Document.cpp:
549         (WebCore::Document::webkitWillEnterFullScreenForElement): Ditto.
550         (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
551         (WebCore::Document::fullScreenElementRemoved): Ditto.
552
553 2011-06-18  Alice Boxhall  <aboxhall@chromium.org>
554
555         Reviewed by Chris Fleizach.
556
557         Accessibility description for an element should make use of aria-labelledby.
558         https://bugs.webkit.org/show_bug.cgi?id=61995
559
560         Tests: accessibility/aria-labelledby-overrides-aria-label.html
561
562         * accessibility/AccessibilityRenderObject.cpp:
563         (WebCore::AccessibilityRenderObject::title): Don't return value from aria-labelledby.
564         (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription): Return value from aria-labelledby in preference to value from aria-label.
565
566 2011-06-18  Christoph Mende  <mende.christoph@gmail.com>
567
568         Reviewed by Darin Adler.
569
570         compilation fails with libpng-1.5
571         https://bugs.webkit.org/show_bug.cgi?id=61738
572
573         * platform/image-encoders/skia/PNGImageEncoder.cpp:
574         (WebCore::writeOutput): Use getter function instead of direct access
575
576 2011-06-18  Jeremy Moskovich  <jeremy@chromium.org>
577
578         Reviewed by Eric Seidel.
579
580         Set text-align:-webkit-match-parent for li elements in the default style sheet.
581         https://bugs.webkit.org/show_bug.cgi?id=57232
582
583         Test: fast/css/list-item-text-align.html
584
585         * css/html.css:
586         (li): Specify text-align:-webkit-match-parent .
587
588 2011-06-18  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
589
590         Reviewed by Brent Fulgham.
591
592         [misc] JSC/wtf/text/*.h should not be included via #include ""
593         https://bugs.webkit.org/show_bug.cgi?id=60836
594
595         Adam Barth pointed out that one should not include files from
596         JavaScriptCore/wtf/text using #include "File.h". This change
597         is addressing it.
598
599         * CMakeListsEfl.txt: Remove JavaScriptCore/wtf/text.
600         * CMakeListsWinCE.txt: Remove JavaScriptCore/wtf/text.
601         * platform/graphics/freetype/FontCacheFreeType.cpp: Change CString.h include.
602         * platform/graphics/pango/FontCachePango.cpp: Change CString.h include.
603         * platform/graphics/wx/FontPlatformData.h: Change StringImpl.h include.
604         * platform/network/soup/ResourceHandleSoup.cpp: Change CString.h include.
605         * platform/network/soup/SocketStreamHandleSoup.cpp: Change CString.h include.
606
607 2011-06-18  Sam Weinig  <sam@webkit.org>
608
609         Reviewed by Darin Adler.
610
611         REGRESSION (r63854-63958): placeholder not shown for number inputs
612         https://bugs.webkit.org/show_bug.cgi?id=61095
613
614         Refactor HTMLInputElement supportsPlaceholder support to delegate to the
615         InputType. Make BaseTextInputType and NumberInputType return true, matching
616         the current HTML5 spec.
617
618         * html/BaseTextInputType.cpp:
619         (WebCore::BaseTextInputType::supportsPlaceholder):
620         * html/BaseTextInputType.h:
621         Add override implementation of supportsPlaceholder that returns true.
622
623         * html/HTMLInputElement.cpp:
624         (WebCore::HTMLInputElement::supportsPlaceholder):
625         Delegate to the InputType.
626
627         * html/InputType.cpp:
628         (WebCore::InputType::supportsPlaceholder):
629         * html/InputType.h:
630         Add base implementation of supportsPlaceholder that returns false.
631
632         * html/NumberInputType.cpp:
633         (WebCore::NumberInputType::supportsPlaceholder):
634         * html/NumberInputType.h:
635         Add override implementation of supportsPlaceholder that returns true.
636
637 2011-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
638
639         Unreviewed, rolling out r89154.
640         http://trac.webkit.org/changeset/89154
641         https://bugs.webkit.org/show_bug.cgi?id=62926
642
643         It broke debug build on Qt (Requested by Ossy_weekend on
644         #webkit).
645
646         * platform/network/qt/ResourceHandleQt.cpp:
647
648 2011-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
649
650         Unreviewed, rolling out r89189.
651         http://trac.webkit.org/changeset/89189
652         https://bugs.webkit.org/show_bug.cgi?id=62925
653
654         It broke Qt build (Requested by Ossy_weekend on #webkit).
655
656         * bindings/scripts/test/TestInterface.idl:
657         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
658         * css/CSSCharsetRule.idl:
659         * css/CSSFontFaceRule.idl:
660         * css/CSSImportRule.idl:
661         * css/CSSPageRule.idl:
662         * css/CSSRule.idl:
663         * css/CSSStyleRule.idl:
664         * css/CSSUnknownRule.idl:
665         * css/CSSValue.idl:
666         * css/Counter.idl:
667         * css/RGBColor.idl:
668         * css/Rect.idl:
669         * css/StyleSheet.idl:
670         * css/WebKitCSSKeyframeRule.idl:
671         * css/WebKitCSSTransformValue.idl:
672         * dom/Attr.idl:
673         * dom/CDATASection.idl:
674         * dom/ClientRect.idl:
675         * dom/Comment.idl:
676         * dom/DOMCoreException.idl:
677         * dom/DOMStringMap.idl:
678         * dom/DocumentType.idl:
679         * dom/Entity.idl:
680         * dom/EntityReference.idl:
681         * dom/EventException.idl:
682         * dom/GeneratedStream.idl:
683         * dom/MessageChannel.idl:
684         * dom/NodeIterator.idl:
685         * dom/Notation.idl:
686         * dom/ProcessingInstruction.idl:
687         * dom/RangeException.idl:
688         * dom/Touch.idl:
689         * dom/TreeWalker.idl:
690         * fileapi/DOMFileSystem.idl:
691         * fileapi/DOMFileSystemSync.idl:
692         * fileapi/DirectoryReaderSync.idl:
693         * fileapi/File.idl:
694         * fileapi/FileEntrySync.idl:
695         * fileapi/FileError.idl:
696         * fileapi/FileException.idl:
697         * fileapi/Metadata.idl:
698         * fileapi/OperationNotAllowedException.idl:
699         * fileapi/WebKitFlags.idl:
700         * html/DOMSettableTokenList.idl:
701         * html/HTMLAppletElement.idl:
702         * html/HTMLAreaElement.idl:
703         * html/HTMLBRElement.idl:
704         * html/HTMLBaseElement.idl:
705         * html/HTMLBaseFontElement.idl:
706         * html/HTMLBlockquoteElement.idl:
707         * html/HTMLBodyElement.idl:
708         * html/HTMLDListElement.idl:
709         * html/HTMLDataListElement.idl:
710         * html/HTMLDetailsElement.idl:
711         * html/HTMLDirectoryElement.idl:
712         * html/HTMLEmbedElement.idl:
713         * html/HTMLFontElement.idl:
714         * html/HTMLFormElement.idl:
715         * html/HTMLFrameElement.idl:
716         * html/HTMLFrameSetElement.idl:
717         * html/HTMLHRElement.idl:
718         * html/HTMLHeadElement.idl:
719         * html/HTMLHeadingElement.idl:
720         * html/HTMLHtmlElement.idl:
721         * html/HTMLIFrameElement.idl:
722         * html/HTMLImageElement.idl:
723         * html/HTMLIsIndexElement.idl:
724         * html/HTMLLIElement.idl:
725         * html/HTMLLabelElement.idl:
726         * html/HTMLLegendElement.idl:
727         * html/HTMLLinkElement.idl:
728         * html/HTMLMapElement.idl:
729         * html/HTMLMarqueeElement.idl:
730         * html/HTMLMenuElement.idl:
731         * html/HTMLMetaElement.idl:
732         * html/HTMLMeterElement.idl:
733         * html/HTMLModElement.idl:
734         * html/HTMLOListElement.idl:
735         * html/HTMLOptGroupElement.idl:
736         * html/HTMLOptionElement.idl:
737         * html/HTMLParagraphElement.idl:
738         * html/HTMLParamElement.idl:
739         * html/HTMLPreElement.idl:
740         * html/HTMLProgressElement.idl:
741         * html/HTMLQuoteElement.idl:
742         * html/HTMLScriptElement.idl:
743         * html/HTMLSourceElement.idl:
744         * html/HTMLStyleElement.idl:
745         * html/HTMLTableCaptionElement.idl:
746         * html/HTMLTableCellElement.idl:
747         * html/HTMLTableColElement.idl:
748         * html/HTMLTitleElement.idl:
749         * html/HTMLTrackElement.idl:
750         * html/HTMLUListElement.idl:
751         * html/ImageData.idl:
752         * html/MediaError.idl:
753         * html/SpellcheckRange.idl:
754         * html/TextMetrics.idl:
755         * html/ValidityState.idl:
756         * html/VoidCallback.idl:
757         * html/canvas/ArrayBuffer.idl:
758         * html/canvas/ArrayBufferView.idl:
759         * html/canvas/CanvasPattern.idl:
760         * html/canvas/CanvasPixelArray.idl:
761         * html/canvas/CanvasRenderingContext.idl:
762         * html/canvas/DataView.idl:
763         * html/canvas/OESStandardDerivatives.idl:
764         * html/canvas/OESTextureFloat.idl:
765         * html/canvas/WebGLActiveInfo.idl:
766         * html/canvas/WebGLBuffer.idl:
767         * html/canvas/WebGLContextAttributes.idl:
768         * html/canvas/WebGLFramebuffer.idl:
769         * html/canvas/WebGLProgram.idl:
770         * html/canvas/WebGLRenderbuffer.idl:
771         * html/canvas/WebGLShader.idl:
772         * html/canvas/WebGLTexture.idl:
773         * html/canvas/WebGLUniformLocation.idl:
774         * html/canvas/WebGLVertexArrayObjectOES.idl:
775         * html/canvas/WebKitLoseContext.idl:
776         * inspector/ScriptProfile.idl:
777         * inspector/ScriptProfileNode.idl:
778         * page/AbstractView.idl:
779         * page/BarInfo.idl:
780         * page/Coordinates.idl:
781         * page/Geoposition.idl:
782         * page/MemoryInfo.idl:
783         * page/NavigatorUserMediaError.idl:
784         * page/Performance.idl:
785         * page/PerformanceNavigation.idl:
786         * page/PerformanceTiming.idl:
787         * page/PositionError.idl:
788         * page/Screen.idl:
789         * page/SpeechInputEvent.idl:
790         * page/SpeechInputResult.idl:
791         * page/WebKitAnimation.idl:
792         * page/WebKitPoint.idl:
793         * page/WorkerNavigator.idl:
794         * plugins/DOMMimeType.idl:
795         * storage/Database.idl:
796         * storage/DatabaseSync.idl:
797         * storage/IDBAny.idl:
798         * storage/IDBCursorWithValue.idl:
799         * storage/IDBDatabaseError.idl:
800         * storage/IDBDatabaseException.idl:
801         * storage/IDBKey.idl:
802         * storage/IDBVersionChangeEvent.idl:
803         * storage/IDBVersionChangeRequest.idl:
804         * storage/SQLError.idl:
805         * storage/SQLException.idl:
806         * storage/SQLResultSet.idl:
807         * svg/SVGAElement.idl:
808         * svg/SVGAltGlyphElement.idl:
809         * svg/SVGAngle.idl:
810         * svg/SVGAnimateColorElement.idl:
811         * svg/SVGAnimateElement.idl:
812         * svg/SVGAnimateMotionElement.idl:
813         * svg/SVGAnimateTransformElement.idl:
814         * svg/SVGAnimatedAngle.idl:
815         * svg/SVGAnimatedBoolean.idl:
816         * svg/SVGAnimatedEnumeration.idl:
817         * svg/SVGAnimatedInteger.idl:
818         * svg/SVGAnimatedLength.idl:
819         * svg/SVGAnimatedLengthList.idl:
820         * svg/SVGAnimatedNumber.idl:
821         * svg/SVGAnimatedNumberList.idl:
822         * svg/SVGAnimatedPreserveAspectRatio.idl:
823         * svg/SVGAnimatedRect.idl:
824         * svg/SVGAnimatedString.idl:
825         * svg/SVGAnimatedTransformList.idl:
826         * svg/SVGCircleElement.idl:
827         * svg/SVGClipPathElement.idl:
828         * svg/SVGColor.idl:
829         * svg/SVGComponentTransferFunctionElement.idl:
830         * svg/SVGCursorElement.idl:
831         * svg/SVGDefsElement.idl:
832         * svg/SVGDescElement.idl:
833         * svg/SVGElement.idl:
834         * svg/SVGEllipseElement.idl:
835         * svg/SVGExternalResourcesRequired.idl:
836         * svg/SVGFEBlendElement.idl:
837         * svg/SVGFEColorMatrixElement.idl:
838         * svg/SVGFEComponentTransferElement.idl:
839         * svg/SVGFECompositeElement.idl:
840         * svg/SVGFEConvolveMatrixElement.idl:
841         * svg/SVGFEDiffuseLightingElement.idl:
842         * svg/SVGFEDisplacementMapElement.idl:
843         * svg/SVGFEDistantLightElement.idl:
844         * svg/SVGFEFloodElement.idl:
845         * svg/SVGFEFuncAElement.idl:
846         * svg/SVGFEFuncBElement.idl:
847         * svg/SVGFEFuncGElement.idl:
848         * svg/SVGFEFuncRElement.idl:
849         * svg/SVGFEImageElement.idl:
850         * svg/SVGFEMergeElement.idl:
851         * svg/SVGFEMergeNodeElement.idl:
852         * svg/SVGFEOffsetElement.idl:
853         * svg/SVGFEPointLightElement.idl:
854         * svg/SVGFESpecularLightingElement.idl:
855         * svg/SVGFESpotLightElement.idl:
856         * svg/SVGFETileElement.idl:
857         * svg/SVGFETurbulenceElement.idl:
858         * svg/SVGFilterPrimitiveStandardAttributes.idl:
859         * svg/SVGFitToViewBox.idl:
860         * svg/SVGFontElement.idl:
861         * svg/SVGFontFaceElement.idl:
862         * svg/SVGFontFaceFormatElement.idl:
863         * svg/SVGFontFaceNameElement.idl:
864         * svg/SVGFontFaceSrcElement.idl:
865         * svg/SVGFontFaceUriElement.idl:
866         * svg/SVGForeignObjectElement.idl:
867         * svg/SVGGElement.idl:
868         * svg/SVGGlyphElement.idl:
869         * svg/SVGGradientElement.idl:
870         * svg/SVGHKernElement.idl:
871         * svg/SVGImageElement.idl:
872         * svg/SVGLangSpace.idl:
873         * svg/SVGLength.idl:
874         * svg/SVGLengthList.idl:
875         * svg/SVGLineElement.idl:
876         * svg/SVGLinearGradientElement.idl:
877         * svg/SVGMPathElement.idl:
878         * svg/SVGMaskElement.idl:
879         * svg/SVGMatrix.idl:
880         * svg/SVGMetadataElement.idl:
881         * svg/SVGMissingGlyphElement.idl:
882         * svg/SVGNumber.idl:
883         * svg/SVGNumberList.idl:
884         * svg/SVGPaint.idl:
885         * svg/SVGPathSeg.idl:
886         * svg/SVGPathSegArcAbs.idl:
887         * svg/SVGPathSegArcRel.idl:
888         * svg/SVGPathSegClosePath.idl:
889         * svg/SVGPathSegCurvetoCubicAbs.idl:
890         * svg/SVGPathSegCurvetoCubicRel.idl:
891         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
892         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
893         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
894         * svg/SVGPathSegCurvetoQuadraticRel.idl:
895         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
896         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
897         * svg/SVGPathSegLinetoAbs.idl:
898         * svg/SVGPathSegLinetoHorizontalAbs.idl:
899         * svg/SVGPathSegLinetoHorizontalRel.idl:
900         * svg/SVGPathSegLinetoRel.idl:
901         * svg/SVGPathSegLinetoVerticalAbs.idl:
902         * svg/SVGPathSegLinetoVerticalRel.idl:
903         * svg/SVGPathSegList.idl:
904         * svg/SVGPathSegMovetoAbs.idl:
905         * svg/SVGPathSegMovetoRel.idl:
906         * svg/SVGPatternElement.idl:
907         * svg/SVGPoint.idl:
908         * svg/SVGPointList.idl:
909         * svg/SVGPolygonElement.idl:
910         * svg/SVGPolylineElement.idl:
911         * svg/SVGPreserveAspectRatio.idl:
912         * svg/SVGRadialGradientElement.idl:
913         * svg/SVGRect.idl:
914         * svg/SVGRectElement.idl:
915         * svg/SVGRenderingIntent.idl:
916         * svg/SVGScriptElement.idl:
917         * svg/SVGSetElement.idl:
918         * svg/SVGStopElement.idl:
919         * svg/SVGStringList.idl:
920         * svg/SVGSwitchElement.idl:
921         * svg/SVGSymbolElement.idl:
922         * svg/SVGTRefElement.idl:
923         * svg/SVGTSpanElement.idl:
924         * svg/SVGTextElement.idl:
925         * svg/SVGTextPathElement.idl:
926         * svg/SVGTextPositioningElement.idl:
927         * svg/SVGTitleElement.idl:
928         * svg/SVGTransform.idl:
929         * svg/SVGTransformList.idl:
930         * svg/SVGTransformable.idl:
931         * svg/SVGURIReference.idl:
932         * svg/SVGUnitTypes.idl:
933         * svg/SVGUseElement.idl:
934         * svg/SVGVKernElement.idl:
935         * svg/SVGViewElement.idl:
936         * svg/SVGViewSpec.idl:
937         * svg/SVGZoomAndPan.idl:
938         * svg/SVGZoomEvent.idl:
939         * testing/Internals.idl:
940         * webaudio/AudioChannelMerger.idl:
941         * webaudio/AudioChannelSplitter.idl:
942         * webaudio/AudioDestinationNode.idl:
943         * webaudio/AudioGain.idl:
944         * webaudio/AudioGainNode.idl:
945         * webaudio/AudioProcessingEvent.idl:
946         * webaudio/AudioSourceNode.idl:
947         * webaudio/BiquadFilterNode.idl:
948         * webaudio/ConvolverNode.idl:
949         * webaudio/DelayNode.idl:
950         * webaudio/DynamicsCompressorNode.idl:
951         * webaudio/HighPass2FilterNode.idl:
952         * webaudio/JavaScriptAudioNode.idl:
953         * webaudio/LowPass2FilterNode.idl:
954         * webaudio/OfflineAudioCompletionEvent.idl:
955         * workers/SharedWorker.idl:
956         * workers/SharedWorkerContext.idl:
957         * workers/WorkerLocation.idl:
958         * xml/XMLHttpRequestException.idl:
959         * xml/XMLHttpRequestProgressEvent.idl:
960         * xml/XPathException.idl:
961
962 2011-06-17  Mark Pilgrim  <pilgrim@chromium.org>
963
964         Reviewed by Darin Adler.
965
966         Remove LegacyDefaultOptionalArguments flag from IDL files where it would not change behavior
967         https://bugs.webkit.org/show_bug.cgi?id=62904
968
969         After bug 62750, there are many IDL files that contain the new
970         LegacyDefaultOptionalArguments flag that don't actually need it.
971         Some examples:
972
973             - the IDL file contains no functions
974             - the IDL file contains only functions with no arguments
975             - the IDL file contains functions, *all* of which use the
976               [RequiresAllArguments=raise] extended attribute
977
978         This patch simplifies such IDL files by removing the
979         LegacyDefaultOptionalArguments flag and (if needed) removing the
980         [RequiresAllArguments=raise] extended attribute from each function
981         declaration. This patch does not make any required arguments optional
982         or any optional arguments required. It changes no behavior at all.
983
984         No new tests needed, all existing tests pass.
985
986         * bindings/scripts/test/TestInterface.idl:
987         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
988         * css/CSSCharsetRule.idl:
989         * css/CSSFontFaceRule.idl:
990         * css/CSSImportRule.idl:
991         * css/CSSPageRule.idl:
992         * css/CSSRule.idl:
993         * css/CSSStyleRule.idl:
994         * css/CSSUnknownRule.idl:
995         * css/CSSValue.idl:
996         * css/Counter.idl:
997         * css/RGBColor.idl:
998         * css/Rect.idl:
999         * css/StyleSheet.idl:
1000         * css/WebKitCSSKeyframeRule.idl:
1001         * css/WebKitCSSTransformValue.idl:
1002         * dom/Attr.idl:
1003         * dom/CDATASection.idl:
1004         * dom/ClientRect.idl:
1005         * dom/Comment.idl:
1006         * dom/DOMCoreException.idl:
1007         * dom/DOMStringMap.idl:
1008         * dom/DocumentType.idl:
1009         * dom/Entity.idl:
1010         * dom/EntityReference.idl:
1011         * dom/EventException.idl:
1012         * dom/GeneratedStream.idl:
1013         * dom/MessageChannel.idl:
1014         * dom/NodeIterator.idl:
1015         * dom/Notation.idl:
1016         * dom/ProcessingInstruction.idl:
1017         * dom/RangeException.idl:
1018         * dom/Touch.idl:
1019         * dom/TreeWalker.idl:
1020         * fileapi/DOMFileSystem.idl:
1021         * fileapi/DOMFileSystemSync.idl:
1022         * fileapi/DirectoryReaderSync.idl:
1023         * fileapi/File.idl:
1024         * fileapi/FileEntrySync.idl:
1025         * fileapi/FileError.idl:
1026         * fileapi/FileException.idl:
1027         * fileapi/Metadata.idl:
1028         * fileapi/OperationNotAllowedException.idl:
1029         * fileapi/WebKitFlags.idl:
1030         * html/DOMSettableTokenList.idl:
1031         * html/HTMLAppletElement.idl:
1032         * html/HTMLAreaElement.idl:
1033         * html/HTMLBRElement.idl:
1034         * html/HTMLBaseElement.idl:
1035         * html/HTMLBaseFontElement.idl:
1036         * html/HTMLBlockquoteElement.idl:
1037         * html/HTMLBodyElement.idl:
1038         * html/HTMLDListElement.idl:
1039         * html/HTMLDataListElement.idl:
1040         * html/HTMLDetailsElement.idl:
1041         * html/HTMLDirectoryElement.idl:
1042         * html/HTMLEmbedElement.idl:
1043         * html/HTMLFontElement.idl:
1044         * html/HTMLFormElement.idl:
1045         * html/HTMLFrameElement.idl:
1046         * html/HTMLFrameSetElement.idl:
1047         * html/HTMLHRElement.idl:
1048         * html/HTMLHeadElement.idl:
1049         * html/HTMLHeadingElement.idl:
1050         * html/HTMLHtmlElement.idl:
1051         * html/HTMLIFrameElement.idl:
1052         * html/HTMLImageElement.idl:
1053         * html/HTMLIsIndexElement.idl:
1054         * html/HTMLLIElement.idl:
1055         * html/HTMLLabelElement.idl:
1056         * html/HTMLLegendElement.idl:
1057         * html/HTMLLinkElement.idl:
1058         * html/HTMLMapElement.idl:
1059         * html/HTMLMarqueeElement.idl:
1060         * html/HTMLMenuElement.idl:
1061         * html/HTMLMetaElement.idl:
1062         * html/HTMLMeterElement.idl:
1063         * html/HTMLModElement.idl:
1064         * html/HTMLOListElement.idl:
1065         * html/HTMLOptGroupElement.idl:
1066         * html/HTMLOptionElement.idl:
1067         * html/HTMLParagraphElement.idl:
1068         * html/HTMLParamElement.idl:
1069         * html/HTMLPreElement.idl:
1070         * html/HTMLProgressElement.idl:
1071         * html/HTMLQuoteElement.idl:
1072         * html/HTMLScriptElement.idl:
1073         * html/HTMLSourceElement.idl:
1074         * html/HTMLStyleElement.idl:
1075         * html/HTMLTableCaptionElement.idl:
1076         * html/HTMLTableCellElement.idl:
1077         * html/HTMLTableColElement.idl:
1078         * html/HTMLTitleElement.idl:
1079         * html/HTMLTrackElement.idl:
1080         * html/HTMLUListElement.idl:
1081         * html/ImageData.idl:
1082         * html/MediaError.idl:
1083         * html/SpellcheckRange.idl:
1084         * html/TextMetrics.idl:
1085         * html/ValidityState.idl:
1086         * html/VoidCallback.idl:
1087         * html/canvas/ArrayBuffer.idl:
1088         * html/canvas/ArrayBufferView.idl:
1089         * html/canvas/CanvasPattern.idl:
1090         * html/canvas/CanvasPixelArray.idl:
1091         * html/canvas/CanvasRenderingContext.idl:
1092         * html/canvas/DataView.idl:
1093         * html/canvas/OESStandardDerivatives.idl:
1094         * html/canvas/OESTextureFloat.idl:
1095         * html/canvas/WebGLActiveInfo.idl:
1096         * html/canvas/WebGLBuffer.idl:
1097         * html/canvas/WebGLContextAttributes.idl:
1098         * html/canvas/WebGLFramebuffer.idl:
1099         * html/canvas/WebGLProgram.idl:
1100         * html/canvas/WebGLRenderbuffer.idl:
1101         * html/canvas/WebGLShader.idl:
1102         * html/canvas/WebGLTexture.idl:
1103         * html/canvas/WebGLUniformLocation.idl:
1104         * html/canvas/WebGLVertexArrayObjectOES.idl:
1105         * html/canvas/WebKitLoseContext.idl:
1106         * inspector/ScriptProfile.idl:
1107         * inspector/ScriptProfileNode.idl:
1108         * page/AbstractView.idl:
1109         * page/BarInfo.idl:
1110         * page/Coordinates.idl:
1111         * page/Geoposition.idl:
1112         * page/MemoryInfo.idl:
1113         * page/NavigatorUserMediaError.idl:
1114         * page/Performance.idl:
1115         * page/PerformanceNavigation.idl:
1116         * page/PerformanceTiming.idl:
1117         * page/PositionError.idl:
1118         * page/Screen.idl:
1119         * page/SpeechInputEvent.idl:
1120         * page/SpeechInputResult.idl:
1121         * page/WebKitAnimation.idl:
1122         * page/WebKitPoint.idl:
1123         * page/WorkerNavigator.idl:
1124         * plugins/DOMMimeType.idl:
1125         * storage/Database.idl:
1126         * storage/DatabaseSync.idl:
1127         * storage/IDBAny.idl:
1128         * storage/IDBCursorWithValue.idl:
1129         * storage/IDBDatabaseError.idl:
1130         * storage/IDBDatabaseException.idl:
1131         * storage/IDBKey.idl:
1132         * storage/IDBVersionChangeEvent.idl:
1133         * storage/IDBVersionChangeRequest.idl:
1134         * storage/SQLError.idl:
1135         * storage/SQLException.idl:
1136         * storage/SQLResultSet.idl:
1137         * svg/SVGAElement.idl:
1138         * svg/SVGAltGlyphElement.idl:
1139         * svg/SVGAngle.idl:
1140         * svg/SVGAnimateColorElement.idl:
1141         * svg/SVGAnimateElement.idl:
1142         * svg/SVGAnimateMotionElement.idl:
1143         * svg/SVGAnimateTransformElement.idl:
1144         * svg/SVGAnimatedAngle.idl:
1145         * svg/SVGAnimatedBoolean.idl:
1146         * svg/SVGAnimatedEnumeration.idl:
1147         * svg/SVGAnimatedInteger.idl:
1148         * svg/SVGAnimatedLength.idl:
1149         * svg/SVGAnimatedLengthList.idl:
1150         * svg/SVGAnimatedNumber.idl:
1151         * svg/SVGAnimatedNumberList.idl:
1152         * svg/SVGAnimatedPreserveAspectRatio.idl:
1153         * svg/SVGAnimatedRect.idl:
1154         * svg/SVGAnimatedString.idl:
1155         * svg/SVGAnimatedTransformList.idl:
1156         * svg/SVGCircleElement.idl:
1157         * svg/SVGClipPathElement.idl:
1158         * svg/SVGColor.idl:
1159         * svg/SVGComponentTransferFunctionElement.idl:
1160         * svg/SVGCursorElement.idl:
1161         * svg/SVGDefsElement.idl:
1162         * svg/SVGDescElement.idl:
1163         * svg/SVGElement.idl:
1164         * svg/SVGEllipseElement.idl:
1165         * svg/SVGExternalResourcesRequired.idl:
1166         * svg/SVGFEBlendElement.idl:
1167         * svg/SVGFEColorMatrixElement.idl:
1168         * svg/SVGFEComponentTransferElement.idl:
1169         * svg/SVGFECompositeElement.idl:
1170         * svg/SVGFEConvolveMatrixElement.idl:
1171         * svg/SVGFEDiffuseLightingElement.idl:
1172         * svg/SVGFEDisplacementMapElement.idl:
1173         * svg/SVGFEDistantLightElement.idl:
1174         * svg/SVGFEFloodElement.idl:
1175         * svg/SVGFEFuncAElement.idl:
1176         * svg/SVGFEFuncBElement.idl:
1177         * svg/SVGFEFuncGElement.idl:
1178         * svg/SVGFEFuncRElement.idl:
1179         * svg/SVGFEImageElement.idl:
1180         * svg/SVGFEMergeElement.idl:
1181         * svg/SVGFEMergeNodeElement.idl:
1182         * svg/SVGFEOffsetElement.idl:
1183         * svg/SVGFEPointLightElement.idl:
1184         * svg/SVGFESpecularLightingElement.idl:
1185         * svg/SVGFESpotLightElement.idl:
1186         * svg/SVGFETileElement.idl:
1187         * svg/SVGFETurbulenceElement.idl:
1188         * svg/SVGFilterPrimitiveStandardAttributes.idl:
1189         * svg/SVGFitToViewBox.idl:
1190         * svg/SVGFontElement.idl:
1191         * svg/SVGFontFaceElement.idl:
1192         * svg/SVGFontFaceFormatElement.idl:
1193         * svg/SVGFontFaceNameElement.idl:
1194         * svg/SVGFontFaceSrcElement.idl:
1195         * svg/SVGFontFaceUriElement.idl:
1196         * svg/SVGForeignObjectElement.idl:
1197         * svg/SVGGElement.idl:
1198         * svg/SVGGlyphElement.idl:
1199         * svg/SVGGradientElement.idl:
1200         * svg/SVGHKernElement.idl:
1201         * svg/SVGImageElement.idl:
1202         * svg/SVGLangSpace.idl:
1203         * svg/SVGLength.idl:
1204         * svg/SVGLengthList.idl:
1205         * svg/SVGLineElement.idl:
1206         * svg/SVGLinearGradientElement.idl:
1207         * svg/SVGMPathElement.idl:
1208         * svg/SVGMaskElement.idl:
1209         * svg/SVGMatrix.idl:
1210         * svg/SVGMetadataElement.idl:
1211         * svg/SVGMissingGlyphElement.idl:
1212         * svg/SVGNumber.idl:
1213         * svg/SVGNumberList.idl:
1214         * svg/SVGPaint.idl:
1215         * svg/SVGPathSeg.idl:
1216         * svg/SVGPathSegArcAbs.idl:
1217         * svg/SVGPathSegArcRel.idl:
1218         * svg/SVGPathSegClosePath.idl:
1219         * svg/SVGPathSegCurvetoCubicAbs.idl:
1220         * svg/SVGPathSegCurvetoCubicRel.idl:
1221         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
1222         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
1223         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
1224         * svg/SVGPathSegCurvetoQuadraticRel.idl:
1225         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
1226         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
1227         * svg/SVGPathSegLinetoAbs.idl:
1228         * svg/SVGPathSegLinetoHorizontalAbs.idl:
1229         * svg/SVGPathSegLinetoHorizontalRel.idl:
1230         * svg/SVGPathSegLinetoRel.idl:
1231         * svg/SVGPathSegLinetoVerticalAbs.idl:
1232         * svg/SVGPathSegLinetoVerticalRel.idl:
1233         * svg/SVGPathSegList.idl:
1234         * svg/SVGPathSegMovetoAbs.idl:
1235         * svg/SVGPathSegMovetoRel.idl:
1236         * svg/SVGPatternElement.idl:
1237         * svg/SVGPoint.idl:
1238         * svg/SVGPointList.idl:
1239         * svg/SVGPolygonElement.idl:
1240         * svg/SVGPolylineElement.idl:
1241         * svg/SVGPreserveAspectRatio.idl:
1242         * svg/SVGRadialGradientElement.idl:
1243         * svg/SVGRect.idl:
1244         * svg/SVGRectElement.idl:
1245         * svg/SVGRenderingIntent.idl:
1246         * svg/SVGScriptElement.idl:
1247         * svg/SVGSetElement.idl:
1248         * svg/SVGStopElement.idl:
1249         * svg/SVGStringList.idl:
1250         * svg/SVGSwitchElement.idl:
1251         * svg/SVGSymbolElement.idl:
1252         * svg/SVGTRefElement.idl:
1253         * svg/SVGTSpanElement.idl:
1254         * svg/SVGTextElement.idl:
1255         * svg/SVGTextPathElement.idl:
1256         * svg/SVGTextPositioningElement.idl:
1257         * svg/SVGTitleElement.idl:
1258         * svg/SVGTransform.idl:
1259         * svg/SVGTransformList.idl:
1260         * svg/SVGTransformable.idl:
1261         * svg/SVGURIReference.idl:
1262         * svg/SVGUnitTypes.idl:
1263         * svg/SVGUseElement.idl:
1264         * svg/SVGVKernElement.idl:
1265         * svg/SVGViewElement.idl:
1266         * svg/SVGViewSpec.idl:
1267         * svg/SVGZoomAndPan.idl:
1268         * svg/SVGZoomEvent.idl:
1269         * testing/Internals.idl:
1270         * webaudio/AudioChannelMerger.idl:
1271         * webaudio/AudioChannelSplitter.idl:
1272         * webaudio/AudioDestinationNode.idl:
1273         * webaudio/AudioGain.idl:
1274         * webaudio/AudioGainNode.idl:
1275         * webaudio/AudioProcessingEvent.idl:
1276         * webaudio/AudioSourceNode.idl:
1277         * webaudio/BiquadFilterNode.idl:
1278         * webaudio/ConvolverNode.idl:
1279         * webaudio/DelayNode.idl:
1280         * webaudio/DynamicsCompressorNode.idl:
1281         * webaudio/HighPass2FilterNode.idl:
1282         * webaudio/JavaScriptAudioNode.idl:
1283         * webaudio/LowPass2FilterNode.idl:
1284         * webaudio/OfflineAudioCompletionEvent.idl:
1285         * workers/SharedWorker.idl:
1286         * workers/SharedWorkerContext.idl:
1287         * workers/WorkerLocation.idl:
1288         * xml/XMLHttpRequestException.idl:
1289         * xml/XMLHttpRequestProgressEvent.idl:
1290         * xml/XPathException.idl:
1291
1292 2011-06-17  Dirk Schulze  <krit@webkit.org>
1293
1294         Reviewed by Rob Buis.
1295
1296         SVGAnimation should use direct unit animation for SVGAngle
1297         https://bugs.webkit.org/show_bug.cgi?id=62807
1298
1299         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
1300         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAngle. We can animate the SVG primitive datatype SVGAngle
1301         with different unit types now.
1302         Removed number and unit parser from SVGAnimateElement. This is not needed anymore.
1303
1304         Tests: svg/animations/svgangle-animation-deg-to-grad.html
1305                svg/animations/svgangle-animation-deg-to-rad.html
1306                svg/animations/svgangle-animation-grad-to-deg.html
1307                svg/animations/svgangle-animation-grad-to-rad.html
1308                svg/animations/svgangle-animation-rad-to-deg.html
1309                svg/animations/svgangle-animation-rad-to-grad.html
1310
1311         * CMakeLists.txt: Added SVGAnimatedAngle.cpp.
1312         * GNUmakefile.list.am: Ditto.
1313         * WebCore.gypi: Ditto.
1314         * WebCore.pro: Ditto.
1315         * WebCore.xcodeproj/project.pbxproj: Ditto.
1316         * svg/SVGAllInOne.cpp: Ditto.
1317         * svg/SVGAnimateElement.cpp: Make use of SVGAnimator for AnimatedAngle.
1318         (WebCore::SVGAnimateElement::SVGAnimateElement):
1319         (WebCore::SVGAnimateElement::determineAnimatedAttributeType): Ditto.
1320         (WebCore::SVGAnimateElement::calculateAnimatedValue): Ditto.
1321         (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
1322         (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
1323         (WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
1324         (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
1325         (WebCore::SVGAnimateElement::calculateDistance): Ditto.
1326         * svg/SVGAnimateElement.h:
1327         * svg/SVGAnimatedAngle.cpp: Added. Added SVGAnimatedAngleAnimator for animation of SVGAngles.
1328         (WebCore::SVGAnimatedAngleAnimator::SVGAnimatedAngleAnimator):
1329         (WebCore::sharedSVGAngle):
1330         (WebCore::SVGAnimatedAngleAnimator::constructFromString):
1331         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndToValues):
1332         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues):
1333         (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
1334         (WebCore::SVGAnimatedAngleAnimator::calculateDistance):
1335         * svg/SVGAnimatedAngle.h:
1336         (WebCore::SVGAnimatedAngleAnimator::~SVGAnimatedAngleAnimator):
1337         * svg/SVGAnimatedLength.cpp:
1338         (WebCore::sharedSVGLength): Use an ExceptionCode for SVGLength::setValueAsString.
1339         * svg/SVGAnimatedType.h:
1340         (WebCore::SVGAnimatedType::create):
1341         (WebCore::SVGAnimatedType::createAngle):
1342         (WebCore::SVGAnimatedType::createLength):
1343         (WebCore::SVGAnimatedType::~SVGAnimatedType):
1344         (WebCore::SVGAnimatedType::angle):
1345         (WebCore::SVGAnimatedType::valueAsString):
1346         (WebCore::SVGAnimatedType::setValueAsString):
1347         (WebCore::SVGAnimatedType::SVGAnimatedType):
1348         * svg/SVGAnimatorFactory.h:
1349         (WebCore::SVGAnimatorFactory::create):
1350         * svg/SVGLength.cpp:
1351         (WebCore::SVGLength::setValueAsString): Added an ExceptionCode for consistency reasons and as preparation for future error handling.
1352         * svg/SVGLength.h:
1353         * svg/SVGParserUtilities.cpp:
1354         (WebCore::parseNumberFromString): Added number parser for String objects.
1355         * svg/SVGParserUtilities.h:
1356
1357 2011-06-17  Anna Cavender  <annacc@chromium.org>
1358
1359         Reviewed by Eric Carlson.
1360
1361         Adding initial interfaces and stubs for track
1362         https://bugs.webkit.org/show_bug.cgi?id=60379
1363
1364         This marks the first patch of a series to implement out-of-band
1365         <track> support in WebKit. This patch adds some of the core header files
1366         and their corresponding stub .cpp files.
1367  
1368         No new tests because feature is hidden behind VIDEO_TRACK feature
1369         define, which is turned off.
1370
1371         * CMakeLists.txt:
1372         * WebCore.gyp/WebCore.gyp:
1373         * WebCore.gypi:
1374         * WebCore.pri:
1375         * WebCore.pro:
1376         * WebCore.xcodeproj/project.pbxproj:
1377         * html/CueIndex.cpp: Added.
1378         * html/CueIndex.h: Added.
1379         * html/LoadableTextTrack.cpp: Added.
1380         * html/LoadableTextTrack.h: Added.
1381         * html/LoadableTextTrackImpl.cpp: Added.
1382         * html/LoadableTextTrackImpl.h: Added.
1383         * html/MutableTextTrack.cpp: Added.
1384         * html/MutableTextTrack.h: Added.
1385         * html/MutableTextTrackImpl.cpp: Added.
1386         * html/MutableTextTrackImpl.h: Added.
1387         * html/TextTrack.cpp: Added.
1388         * html/TextTrack.h: Added.
1389         * html/TextTrackCue.cpp: Added.
1390         * html/TextTrackCue.h: Added.
1391         * html/TextTrackCueList.cpp: Added.
1392         * html/TextTrackCueList.h: Added.
1393         * html/TextTrackPrivate.h: Added.
1394         * loader/CueLoader.cpp: Added.
1395         * loader/CueLoader.h: Added.
1396         * platform/track/CueParser.cpp: Added.
1397         * platform/track/CueParser.h: Added.
1398         * platform/track/CueParserPrivate.h: Added.
1399
1400 2011-06-17  Dmitry Lomov  <dslomov@google.com>
1401
1402         Reviewed by Adam Barth.
1403
1404         https://bugs.webkit.org/show_bug.cgi?id=62653
1405         [V8][Chromium] Make StringCache in V8 bindings per-isolate
1406         This moves StringCache into V8BindingPerIsolateData.
1407
1408         * bindings/v8/V8Binding.cpp:
1409         (WebCore::cachedStringCallback):
1410         (WebCore::StringCache::remove):
1411         (WebCore::StringCache::v8ExternalStringSlow):
1412         * bindings/v8/V8Binding.h:
1413         (WebCore::StringCache::StringCache):
1414         (WebCore::StringCache::v8ExternalString):
1415         (WebCore::StringCache::clearOnGC):
1416         (WebCore::V8BindingPerIsolateData::stringCache):
1417         (WebCore::v8ExternalString):
1418         * bindings/v8/V8GCController.cpp:
1419         (WebCore::V8GCController::gcPrologue):
1420
1421 2011-06-17  Julien Chaffraix  <jchaffraix@webkit.org>
1422
1423         Reviewed by Darin Adler.
1424
1425         Assertion failure in SVGTextLayoutEngine constructor (!m_layoutAttributes.isEmpty())
1426         https://bugs.webkit.org/show_bug.cgi?id=62884
1427
1428         Test: svg/custom/assert-empty-layout-attributes.svg
1429
1430         * rendering/svg/SVGRootInlineBox.cpp:
1431         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Added a early return here.
1432         It is not needed to do the text layout algorithm if you don't have any layout information as
1433         your size is (0, 0) anyway.
1434
1435 2011-06-17  Alexey Proskuryakov  <ap@apple.com>
1436
1437         Reviewed by Dan Bernstein.
1438
1439         https://bugs.webkit.org/show_bug.cgi?id=62913
1440         Use ICU search collator when available
1441
1442         <rdar://problem/8830218> Search on a webpage in Safari conflates some Czech characters
1443         <rdar://problem/8468873> Safari search doesn't strip Hamza
1444
1445         This changes behaviors that depend on system language, and isn't practically testable.
1446
1447         * editing/TextIterator.cpp: (WebCore::createSearcher): Ask ICU for search collator, if available.
1448
1449 2011-06-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1450
1451         Unreviewed, rolling out r89143.
1452         http://trac.webkit.org/changeset/89143
1453         https://bugs.webkit.org/show_bug.cgi?id=62912
1454
1455         Possible Chromeos test breakage (Requested by senorblanco on
1456         #webkit).
1457
1458         * platform/KURLGoogle.cpp:
1459         (WebCore::encodeWithURLEscapeSequences):
1460
1461 2011-06-17  Jer Noble  <jer.noble@apple.com>
1462
1463         Reviewed by Ada Chan.
1464
1465         Playing video from the manifest crashes on Windows
1466         https://bugs.webkit.org/show_bug.cgi?id=62901
1467
1468         No new tests. This will be covered by existing App Cache tests.
1469
1470         Two related fixes.  1) Null-check the CFStringRef and CFURLRef created in QTMovie::load() before
1471         passing them to CFRelease().  2) Use CFURL to create an appropriate file-URL on windows in 
1472         createFileURLForApplicationCacheResource.
1473
1474         * html/HTMLMediaElement.cpp:
1475         (WebCore::createFileURLForApplicationCacheResource):
1476         * platform/graphics/win/QTMovie.cpp:
1477         (QTMovie::load):
1478
1479 2011-06-17  Abhishek Arya  <inferno@chromium.org>
1480
1481         Reviewed by Dave Hyatt.
1482
1483         When we lose ability to propagate floats, need to find topmost
1484         parent with that overhanging float, and then iterate over its
1485         sibling blocks to remove the float.
1486         https://bugs.webkit.org/show_bug.cgi?id=62875
1487
1488         Test: fast/block/float/float-not-removed-from-next-sibling5.html
1489
1490         * rendering/RenderBlock.cpp:
1491         (WebCore::RenderBlock::styleDidChange):
1492         (WebCore::RenderBlock::hasOverhangingFloat):
1493         * rendering/RenderBlock.h:
1494
1495 2011-06-17  Vsevolod Vlasov  <vsevik@chromium.org>
1496
1497         Reviewed by Pavel Feldman.
1498
1499         Web Inspector: Network panel does not show main resource content for iframes deleted from the document
1500         https://bugs.webkit.org/show_bug.cgi?id=62810
1501
1502         Test: http/tests/inspector/network/network-iframe-load-and-delete.html
1503
1504         * inspector/InspectorInstrumentation.cpp:
1505         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
1506         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
1507         * inspector/InspectorInstrumentation.h:
1508         (WebCore::InspectorInstrumentation::didFinishLoading):
1509         (WebCore::InspectorInstrumentation::didFailLoading):
1510         * inspector/InspectorPageAgent.cpp:
1511         (WebCore::cachedResourceContent):
1512         (WebCore::mainResourceContent):
1513         (WebCore::InspectorPageAgent::sharedBufferContent):
1514         (WebCore::InspectorPageAgent::resourceContent):
1515         (WebCore::InspectorPageAgent::getResourceContent):
1516         (WebCore::InspectorPageAgent::searchInResources):
1517         * inspector/InspectorPageAgent.h:
1518         * inspector/InspectorResourceAgent.cpp:
1519         (WebCore::InspectorResourceAgent::didReceiveResponse):
1520         (WebCore::InspectorResourceAgent::didFinishLoading):
1521         (WebCore::InspectorResourceAgent::didFailLoading):
1522         (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
1523         (WebCore::InspectorResourceAgent::getResourceContent):
1524         * inspector/InspectorResourceAgent.h:
1525         * inspector/InspectorStyleSheet.cpp:
1526         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1527         * inspector/NetworkResourcesData.cpp:
1528         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
1529         (WebCore::NetworkResourcesData::setResourceType):
1530         (WebCore::NetworkResourcesData::resourceType):
1531         (WebCore::NetworkResourcesData::addResourceSharedBuffer):
1532         * inspector/NetworkResourcesData.h:
1533         (WebCore::NetworkResourcesData::ResourceData::type):
1534         (WebCore::NetworkResourcesData::ResourceData::setType):
1535         (WebCore::NetworkResourcesData::ResourceData::buffer):
1536         (WebCore::NetworkResourcesData::ResourceData::setBuffer):
1537         (WebCore::NetworkResourcesData::ResourceData::textEncodingName):
1538         (WebCore::NetworkResourcesData::ResourceData::setTextEncodingName):
1539         * loader/ResourceLoadNotifier.cpp:
1540         (WebCore::ResourceLoadNotifier::didFailToLoad):
1541         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
1542         * loader/appcache/ApplicationCacheGroup.cpp:
1543         (WebCore::ApplicationCacheGroup::didFinishLoading):
1544         (WebCore::ApplicationCacheGroup::didFail):
1545
1546 2011-06-17  Darin Adler  <darin@apple.com>
1547
1548         Fix clang build.
1549
1550         * loader/LinkLoader.h: Use struct, not class, to forward-declare struct.
1551
1552 2011-06-17  Chris Evans  <cevans@chromium.org>
1553
1554         Reviewed by Adam Barth.
1555
1556         Detect mixed-scripting involving https -> http redirects
1557         https://bugs.webkit.org/show_bug.cgi?id=62846
1558
1559         Test: http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html
1560
1561         * loader/cache/CachedResourceLoader.cpp:
1562         (WebCore::CachedResourceLoader::checkInsecureContent):
1563         (WebCore::CachedResourceLoader::canRequest): break out insecure content logic.
1564         * loader/cache/CachedResourceLoader.h:
1565         * loader/cache/CachedResourceRequest.cpp:
1566         (WebCore::CachedResourceRequest::willSendRequest): check the redirect target for possible insecure content issues.
1567
1568 2011-06-12  Robert Hogan  <robert@webkit.org>
1569
1570         Reviewed by Alexey Proskuryakov.
1571
1572         [Qt] Qt Counterpart for http://trac.webkit.org/changeset/42078
1573         https://bugs.webkit.org/show_bug.cgi?id=62514
1574
1575         * platform/network/qt/ResourceHandleQt.cpp:
1576         (WebCore::WebCoreSynchronousLoader::willSendRequest):
1577
1578 2011-06-17  Mark Pilgrim  <pilgrim@chromium.org>
1579
1580         Reviewed by Adam Barth.
1581
1582         Change IDL code generator to require all arguments by default
1583         https://bugs.webkit.org/show_bug.cgi?id=62750
1584
1585         As per discussion on public-webapps, WebIDL is changing the default
1586         behavior to require all function arguments by default and raise an
1587         exception when an argument is missing. (This behavior is currently
1588         opt-in in WebKit's IDL system, on a function-by-function basis, with
1589         the "RequiresAllArguments=Raise" flag.) To order to match WebIDL as
1590         closely as possible, this patch adds an interface-level
1591         "LegacyDefaultOptionalArguments" flag and sets it on all existing IDL
1592         files (500+), then changes the code generator Perl scripts to behave
1593         the old way in the presence of the flag.
1594
1595         No new tests required, all existing tests still pass.
1596
1597         * bindings/scripts/CodeGeneratorJS.pm: 
1598         * bindings/scripts/CodeGeneratorV8.pm:
1599         * bindings/scripts/test/TestCallback.idl:
1600         * bindings/scripts/test/TestInterface.idl:
1601         * bindings/scripts/test/TestMediaQueryListListener.idl:
1602         * bindings/scripts/test/TestObj.idl:
1603         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1604         * css/CSSCharsetRule.idl:
1605         * css/CSSFontFaceRule.idl:
1606         * css/CSSImportRule.idl:
1607         * css/CSSMediaRule.idl:
1608         * css/CSSPageRule.idl:
1609         * css/CSSPrimitiveValue.idl:
1610         * css/CSSRule.idl:
1611         * css/CSSRuleList.idl:
1612         * css/CSSStyleDeclaration.idl:
1613         * css/CSSStyleRule.idl:
1614         * css/CSSStyleSheet.idl:
1615         * css/CSSUnknownRule.idl:
1616         * css/CSSValue.idl:
1617         * css/CSSValueList.idl:
1618         * css/Counter.idl:
1619         * css/MediaList.idl:
1620         * css/MediaQueryList.idl:
1621         * css/MediaQueryListListener.idl:
1622         * css/RGBColor.idl:
1623         * css/Rect.idl:
1624         * css/StyleMedia.idl:
1625         * css/StyleSheet.idl:
1626         * css/StyleSheetList.idl:
1627         * css/WebKitCSSKeyframeRule.idl:
1628         * css/WebKitCSSKeyframesRule.idl:
1629         * css/WebKitCSSMatrix.idl:
1630         * css/WebKitCSSTransformValue.idl:
1631         * dom/Attr.idl:
1632         * dom/BeforeLoadEvent.idl:
1633         * dom/BeforeProcessEvent.idl:
1634         * dom/CDATASection.idl:
1635         * dom/CharacterData.idl:
1636         * dom/ClientRect.idl:
1637         * dom/ClientRectList.idl:
1638         * dom/Clipboard.idl:
1639         * dom/Comment.idl:
1640         * dom/CompositionEvent.idl:
1641         * dom/CustomEvent.idl:
1642         * dom/DOMCoreException.idl:
1643         * dom/DOMImplementation.idl:
1644         * dom/DOMStringList.idl:
1645         * dom/DOMStringMap.idl:
1646         * dom/DataTransferItem.idl:
1647         * dom/DataTransferItems.idl:
1648         * dom/DeviceMotionEvent.idl:
1649         * dom/DeviceOrientationEvent.idl:
1650         * dom/Document.idl:
1651         * dom/DocumentFragment.idl:
1652         * dom/DocumentType.idl:
1653         * dom/Element.idl:
1654         * dom/Entity.idl:
1655         * dom/EntityReference.idl:
1656         * dom/ErrorEvent.idl:
1657         * dom/Event.idl:
1658         * dom/EventException.idl:
1659         * dom/EventListener.idl:
1660         * dom/EventTarget.idl:
1661         * dom/ExclusiveTrackList.idl:
1662         * dom/GeneratedStream.idl:
1663         * dom/HashChangeEvent.idl:
1664         * dom/KeyboardEvent.idl:
1665         * dom/MessageChannel.idl:
1666         * dom/MessageEvent.idl:
1667         * dom/MessagePort.idl:
1668         * dom/MouseEvent.idl:
1669         * dom/MultipleTrackList.idl:
1670         * dom/MutationEvent.idl:
1671         * dom/NamedNodeMap.idl:
1672         * dom/Node.idl:
1673         * dom/NodeFilter.idl:
1674         * dom/NodeIterator.idl:
1675         * dom/NodeList.idl:
1676         * dom/Notation.idl:
1677         * dom/OverflowEvent.idl:
1678         * dom/PageTransitionEvent.idl:
1679         * dom/PopStateEvent.idl:
1680         * dom/ProcessingInstruction.idl:
1681         * dom/ProgressEvent.idl:
1682         * dom/Range.idl:
1683         * dom/RangeException.idl:
1684         * dom/RequestAnimationFrameCallback.idl:
1685         * dom/Stream.idl:
1686         * dom/StreamEvent.idl:
1687         * dom/StreamList.idl:
1688         * dom/StringCallback.idl:
1689         * dom/Text.idl:
1690         * dom/TextEvent.idl:
1691         * dom/Touch.idl:
1692         * dom/TouchEvent.idl:
1693         * dom/TouchList.idl:
1694         * dom/TrackList.idl:
1695         * dom/TreeWalker.idl:
1696         * dom/UIEvent.idl:
1697         * dom/WebKitAnimationEvent.idl:
1698         * dom/WebKitTransitionEvent.idl:
1699         * dom/WheelEvent.idl:
1700         * fileapi/Blob.idl:
1701         * fileapi/DOMFileSystem.idl:
1702         * fileapi/DOMFileSystemSync.idl:
1703         * fileapi/DirectoryEntry.idl:
1704         * fileapi/DirectoryEntrySync.idl:
1705         * fileapi/DirectoryReader.idl:
1706         * fileapi/DirectoryReaderSync.idl:
1707         * fileapi/EntriesCallback.idl:
1708         * fileapi/Entry.idl:
1709         * fileapi/EntryArray.idl:
1710         * fileapi/EntryArraySync.idl:
1711         * fileapi/EntryCallback.idl:
1712         * fileapi/EntrySync.idl:
1713         * fileapi/ErrorCallback.idl:
1714         * fileapi/File.idl:
1715         * fileapi/FileCallback.idl:
1716         * fileapi/FileEntry.idl:
1717         * fileapi/FileEntrySync.idl:
1718         * fileapi/FileError.idl:
1719         * fileapi/FileException.idl:
1720         * fileapi/FileList.idl:
1721         * fileapi/FileReader.idl:
1722         * fileapi/FileReaderSync.idl:
1723         * fileapi/FileSystemCallback.idl:
1724         * fileapi/FileWriter.idl:
1725         * fileapi/FileWriterCallback.idl:
1726         * fileapi/FileWriterSync.idl:
1727         * fileapi/Metadata.idl:
1728         * fileapi/MetadataCallback.idl:
1729         * fileapi/OperationNotAllowedException.idl:
1730         * fileapi/WebKitBlobBuilder.idl:
1731         * fileapi/WebKitFlags.idl:
1732         * html/DOMFormData.idl:
1733         * html/DOMSettableTokenList.idl:
1734         * html/DOMTokenList.idl:
1735         * html/DOMURL.idl:
1736         * html/HTMLAllCollection.idl:
1737         * html/HTMLAnchorElement.idl:
1738         * html/HTMLAppletElement.idl:
1739         * html/HTMLAreaElement.idl:
1740         * html/HTMLAudioElement.idl:
1741         * html/HTMLBRElement.idl:
1742         * html/HTMLBaseElement.idl:
1743         * html/HTMLBaseFontElement.idl:
1744         * html/HTMLBlockquoteElement.idl:
1745         * html/HTMLBodyElement.idl:
1746         * html/HTMLButtonElement.idl:
1747         * html/HTMLCanvasElement.idl:
1748         * html/HTMLCollection.idl:
1749         * html/HTMLDListElement.idl:
1750         * html/HTMLDataListElement.idl:
1751         * html/HTMLDetailsElement.idl:
1752         * html/HTMLDirectoryElement.idl:
1753         * html/HTMLDivElement.idl:
1754         * html/HTMLDocument.idl:
1755         * html/HTMLElement.idl:
1756         * html/HTMLEmbedElement.idl:
1757         * html/HTMLFieldSetElement.idl:
1758         * html/HTMLFontElement.idl:
1759         * html/HTMLFormElement.idl:
1760         * html/HTMLFrameElement.idl:
1761         * html/HTMLFrameSetElement.idl:
1762         * html/HTMLHRElement.idl:
1763         * html/HTMLHeadElement.idl:
1764         * html/HTMLHeadingElement.idl:
1765         * html/HTMLHtmlElement.idl:
1766         * html/HTMLIFrameElement.idl:
1767         * html/HTMLImageElement.idl:
1768         * html/HTMLInputElement.idl:
1769         * html/HTMLIsIndexElement.idl:
1770         * html/HTMLKeygenElement.idl:
1771         * html/HTMLLIElement.idl:
1772         * html/HTMLLabelElement.idl:
1773         * html/HTMLLegendElement.idl:
1774         * html/HTMLLinkElement.idl:
1775         * html/HTMLMapElement.idl:
1776         * html/HTMLMarqueeElement.idl:
1777         * html/HTMLMediaElement.idl:
1778         * html/HTMLMenuElement.idl:
1779         * html/HTMLMetaElement.idl:
1780         * html/HTMLMeterElement.idl:
1781         * html/HTMLModElement.idl:
1782         * html/HTMLOListElement.idl:
1783         * html/HTMLObjectElement.idl:
1784         * html/HTMLOptGroupElement.idl:
1785         * html/HTMLOptionElement.idl:
1786         * html/HTMLOptionsCollection.idl:
1787         * html/HTMLOutputElement.idl:
1788         * html/HTMLParagraphElement.idl:
1789         * html/HTMLParamElement.idl:
1790         * html/HTMLPreElement.idl:
1791         * html/HTMLProgressElement.idl:
1792         * html/HTMLQuoteElement.idl:
1793         * html/HTMLScriptElement.idl:
1794         * html/HTMLSelectElement.idl:
1795         * html/HTMLSourceElement.idl:
1796         * html/HTMLStyleElement.idl:
1797         * html/HTMLTableCaptionElement.idl:
1798         * html/HTMLTableCellElement.idl:
1799         * html/HTMLTableColElement.idl:
1800         * html/HTMLTableElement.idl:
1801         * html/HTMLTableRowElement.idl:
1802         * html/HTMLTableSectionElement.idl:
1803         * html/HTMLTextAreaElement.idl:
1804         * html/HTMLTitleElement.idl:
1805         * html/HTMLTrackElement.idl:
1806         * html/HTMLUListElement.idl:
1807         * html/HTMLVideoElement.idl:
1808         * html/ImageData.idl:
1809         * html/MediaError.idl:
1810         * html/SpellcheckRange.idl:
1811         * html/SpellcheckRangeList.idl:
1812         * html/TextMetrics.idl:
1813         * html/TimeRanges.idl:
1814         * html/ValidityState.idl:
1815         * html/VoidCallback.idl:
1816         * html/canvas/ArrayBuffer.idl:
1817         * html/canvas/ArrayBufferView.idl:
1818         * html/canvas/CanvasGradient.idl:
1819         * html/canvas/CanvasPattern.idl:
1820         * html/canvas/CanvasPixelArray.idl:
1821         * html/canvas/CanvasRenderingContext.idl:
1822         * html/canvas/CanvasRenderingContext2D.idl:
1823         * html/canvas/DataView.idl:
1824         * html/canvas/Float32Array.idl:
1825         * html/canvas/Float64Array.idl:
1826         * html/canvas/Int16Array.idl:
1827         * html/canvas/Int32Array.idl:
1828         * html/canvas/Int8Array.idl:
1829         * html/canvas/OESStandardDerivatives.idl:
1830         * html/canvas/OESTextureFloat.idl:
1831         * html/canvas/OESVertexArrayObject.idl:
1832         * html/canvas/Uint16Array.idl:
1833         * html/canvas/Uint32Array.idl:
1834         * html/canvas/Uint8Array.idl:
1835         * html/canvas/WebGLActiveInfo.idl:
1836         * html/canvas/WebGLBuffer.idl:
1837         * html/canvas/WebGLContextAttributes.idl:
1838         * html/canvas/WebGLContextEvent.idl:
1839         * html/canvas/WebGLFramebuffer.idl:
1840         * html/canvas/WebGLProgram.idl:
1841         * html/canvas/WebGLRenderbuffer.idl:
1842         * html/canvas/WebGLRenderingContext.idl:
1843         * html/canvas/WebGLShader.idl:
1844         * html/canvas/WebGLTexture.idl:
1845         * html/canvas/WebGLUniformLocation.idl:
1846         * html/canvas/WebGLVertexArrayObjectOES.idl:
1847         * html/canvas/WebKitLoseContext.idl:
1848         * inspector/InjectedScriptHost.idl:
1849         * inspector/InspectorFrontendHost.idl:
1850         * inspector/JavaScriptCallFrame.idl:
1851         * inspector/ScriptProfile.idl:
1852         * inspector/ScriptProfileNode.idl:
1853         * loader/appcache/DOMApplicationCache.idl:
1854         * notifications/Notification.idl:
1855         * notifications/NotificationCenter.idl:
1856         * page/AbstractView.idl:
1857         * page/BarInfo.idl:
1858         * page/Console.idl:
1859         * page/Coordinates.idl:
1860         * page/Crypto.idl:
1861         * page/DOMSelection.idl:
1862         * page/DOMWindow.idl:
1863         * page/EventSource.idl:
1864         * page/Geolocation.idl:
1865         * page/Geoposition.idl:
1866         * page/History.idl:
1867         * page/Location.idl:
1868         * page/MemoryInfo.idl:
1869         * page/Navigator.idl:
1870         * page/NavigatorUserMediaError.idl:
1871         * page/NavigatorUserMediaErrorCallback.idl:
1872         * page/NavigatorUserMediaSuccessCallback.idl:
1873         * page/Performance.idl:
1874         * page/PerformanceNavigation.idl:
1875         * page/PerformanceTiming.idl:
1876         * page/PositionCallback.idl:
1877         * page/PositionError.idl:
1878         * page/PositionErrorCallback.idl:
1879         * page/Screen.idl:
1880         * page/SpeechInputEvent.idl:
1881         * page/SpeechInputResult.idl:
1882         * page/SpeechInputResultList.idl:
1883         * page/WebKitAnimation.idl:
1884         * page/WebKitAnimationList.idl:
1885         * page/WebKitPoint.idl:
1886         * page/WorkerNavigator.idl:
1887         * plugins/DOMMimeType.idl:
1888         * plugins/DOMMimeTypeArray.idl:
1889         * plugins/DOMPlugin.idl:
1890         * plugins/DOMPluginArray.idl:
1891         * storage/Database.idl:
1892         * storage/DatabaseCallback.idl:
1893         * storage/DatabaseSync.idl:
1894         * storage/IDBAny.idl:
1895         * storage/IDBCursor.idl:
1896         * storage/IDBCursorWithValue.idl:
1897         * storage/IDBDatabase.idl:
1898         * storage/IDBDatabaseError.idl:
1899         * storage/IDBDatabaseException.idl:
1900         * storage/IDBFactory.idl:
1901         * storage/IDBIndex.idl:
1902         * storage/IDBKey.idl:
1903         * storage/IDBKeyRange.idl:
1904         * storage/IDBObjectStore.idl:
1905         * storage/IDBRequest.idl:
1906         * storage/IDBTransaction.idl:
1907         * storage/IDBVersionChangeEvent.idl:
1908         * storage/IDBVersionChangeRequest.idl:
1909         * storage/SQLError.idl:
1910         * storage/SQLException.idl:
1911         * storage/SQLResultSet.idl:
1912         * storage/SQLResultSetRowList.idl:
1913         * storage/SQLStatementCallback.idl:
1914         * storage/SQLStatementErrorCallback.idl:
1915         * storage/SQLTransaction.idl:
1916         * storage/SQLTransactionCallback.idl:
1917         * storage/SQLTransactionErrorCallback.idl:
1918         * storage/SQLTransactionSync.idl:
1919         * storage/SQLTransactionSyncCallback.idl:
1920         * storage/Storage.idl:
1921         * storage/StorageEvent.idl:
1922         * storage/StorageInfo.idl:
1923         * storage/StorageInfoErrorCallback.idl:
1924         * storage/StorageInfoQuotaCallback.idl:
1925         * storage/StorageInfoUsageCallback.idl:
1926         * svg/ElementTimeControl.idl:
1927         * svg/SVGAElement.idl:
1928         * svg/SVGAltGlyphElement.idl:
1929         * svg/SVGAngle.idl:
1930         * svg/SVGAnimateColorElement.idl:
1931         * svg/SVGAnimateElement.idl:
1932         * svg/SVGAnimateMotionElement.idl:
1933         * svg/SVGAnimateTransformElement.idl:
1934         * svg/SVGAnimatedAngle.idl:
1935         * svg/SVGAnimatedBoolean.idl:
1936         * svg/SVGAnimatedEnumeration.idl:
1937         * svg/SVGAnimatedInteger.idl:
1938         * svg/SVGAnimatedLength.idl:
1939         * svg/SVGAnimatedLengthList.idl:
1940         * svg/SVGAnimatedNumber.idl:
1941         * svg/SVGAnimatedNumberList.idl:
1942         * svg/SVGAnimatedPreserveAspectRatio.idl:
1943         * svg/SVGAnimatedRect.idl:
1944         * svg/SVGAnimatedString.idl:
1945         * svg/SVGAnimatedTransformList.idl:
1946         * svg/SVGAnimationElement.idl:
1947         * svg/SVGCircleElement.idl:
1948         * svg/SVGClipPathElement.idl:
1949         * svg/SVGColor.idl:
1950         * svg/SVGComponentTransferFunctionElement.idl:
1951         * svg/SVGCursorElement.idl:
1952         * svg/SVGDefsElement.idl:
1953         * svg/SVGDescElement.idl:
1954         * svg/SVGDocument.idl:
1955         * svg/SVGElement.idl:
1956         * svg/SVGElementInstance.idl:
1957         * svg/SVGElementInstanceList.idl:
1958         * svg/SVGEllipseElement.idl:
1959         * svg/SVGException.idl:
1960         * svg/SVGExternalResourcesRequired.idl:
1961         * svg/SVGFEBlendElement.idl:
1962         * svg/SVGFEColorMatrixElement.idl:
1963         * svg/SVGFEComponentTransferElement.idl:
1964         * svg/SVGFECompositeElement.idl:
1965         * svg/SVGFEConvolveMatrixElement.idl:
1966         * svg/SVGFEDiffuseLightingElement.idl:
1967         * svg/SVGFEDisplacementMapElement.idl:
1968         * svg/SVGFEDistantLightElement.idl:
1969         * svg/SVGFEDropShadowElement.idl:
1970         * svg/SVGFEFloodElement.idl:
1971         * svg/SVGFEFuncAElement.idl:
1972         * svg/SVGFEFuncBElement.idl:
1973         * svg/SVGFEFuncGElement.idl:
1974         * svg/SVGFEFuncRElement.idl:
1975         * svg/SVGFEGaussianBlurElement.idl:
1976         * svg/SVGFEImageElement.idl:
1977         * svg/SVGFEMergeElement.idl:
1978         * svg/SVGFEMergeNodeElement.idl:
1979         * svg/SVGFEMorphologyElement.idl:
1980         * svg/SVGFEOffsetElement.idl:
1981         * svg/SVGFEPointLightElement.idl:
1982         * svg/SVGFESpecularLightingElement.idl:
1983         * svg/SVGFESpotLightElement.idl:
1984         * svg/SVGFETileElement.idl:
1985         * svg/SVGFETurbulenceElement.idl:
1986         * svg/SVGFilterElement.idl:
1987         * svg/SVGFilterPrimitiveStandardAttributes.idl:
1988         * svg/SVGFitToViewBox.idl:
1989         * svg/SVGFontElement.idl:
1990         * svg/SVGFontFaceElement.idl:
1991         * svg/SVGFontFaceFormatElement.idl:
1992         * svg/SVGFontFaceNameElement.idl:
1993         * svg/SVGFontFaceSrcElement.idl:
1994         * svg/SVGFontFaceUriElement.idl:
1995         * svg/SVGForeignObjectElement.idl:
1996         * svg/SVGGElement.idl:
1997         * svg/SVGGlyphElement.idl:
1998         * svg/SVGGradientElement.idl:
1999         * svg/SVGHKernElement.idl:
2000         * svg/SVGImageElement.idl:
2001         * svg/SVGLangSpace.idl:
2002         * svg/SVGLength.idl:
2003         * svg/SVGLengthList.idl:
2004         * svg/SVGLineElement.idl:
2005         * svg/SVGLinearGradientElement.idl:
2006         * svg/SVGLocatable.idl:
2007         * svg/SVGMPathElement.idl:
2008         * svg/SVGMarkerElement.idl:
2009         * svg/SVGMaskElement.idl:
2010         * svg/SVGMatrix.idl:
2011         * svg/SVGMetadataElement.idl:
2012         * svg/SVGMissingGlyphElement.idl:
2013         * svg/SVGNumber.idl:
2014         * svg/SVGNumberList.idl:
2015         * svg/SVGPaint.idl:
2016         * svg/SVGPathElement.idl:
2017         * svg/SVGPathSeg.idl:
2018         * svg/SVGPathSegArcAbs.idl:
2019         * svg/SVGPathSegArcRel.idl:
2020         * svg/SVGPathSegClosePath.idl:
2021         * svg/SVGPathSegCurvetoCubicAbs.idl:
2022         * svg/SVGPathSegCurvetoCubicRel.idl:
2023         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
2024         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
2025         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
2026         * svg/SVGPathSegCurvetoQuadraticRel.idl:
2027         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
2028         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
2029         * svg/SVGPathSegLinetoAbs.idl:
2030         * svg/SVGPathSegLinetoHorizontalAbs.idl:
2031         * svg/SVGPathSegLinetoHorizontalRel.idl:
2032         * svg/SVGPathSegLinetoRel.idl:
2033         * svg/SVGPathSegLinetoVerticalAbs.idl:
2034         * svg/SVGPathSegLinetoVerticalRel.idl:
2035         * svg/SVGPathSegList.idl:
2036         * svg/SVGPathSegMovetoAbs.idl:
2037         * svg/SVGPathSegMovetoRel.idl:
2038         * svg/SVGPatternElement.idl:
2039         * svg/SVGPoint.idl:
2040         * svg/SVGPointList.idl:
2041         * svg/SVGPolygonElement.idl:
2042         * svg/SVGPolylineElement.idl:
2043         * svg/SVGPreserveAspectRatio.idl:
2044         * svg/SVGRadialGradientElement.idl:
2045         * svg/SVGRect.idl:
2046         * svg/SVGRectElement.idl:
2047         * svg/SVGRenderingIntent.idl:
2048         * svg/SVGSVGElement.idl:
2049         * svg/SVGScriptElement.idl:
2050         * svg/SVGSetElement.idl:
2051         * svg/SVGStopElement.idl:
2052         * svg/SVGStringList.idl:
2053         * svg/SVGStylable.idl:
2054         * svg/SVGStyleElement.idl:
2055         * svg/SVGSwitchElement.idl:
2056         * svg/SVGSymbolElement.idl:
2057         * svg/SVGTRefElement.idl:
2058         * svg/SVGTSpanElement.idl:
2059         * svg/SVGTests.idl:
2060         * svg/SVGTextContentElement.idl:
2061         * svg/SVGTextElement.idl:
2062         * svg/SVGTextPathElement.idl:
2063         * svg/SVGTextPositioningElement.idl:
2064         * svg/SVGTitleElement.idl:
2065         * svg/SVGTransform.idl:
2066         * svg/SVGTransformList.idl:
2067         * svg/SVGTransformable.idl:
2068         * svg/SVGURIReference.idl:
2069         * svg/SVGUnitTypes.idl:
2070         * svg/SVGUseElement.idl:
2071         * svg/SVGVKernElement.idl:
2072         * svg/SVGViewElement.idl:
2073         * svg/SVGViewSpec.idl:
2074         * svg/SVGZoomAndPan.idl:
2075         * svg/SVGZoomEvent.idl:
2076         * testing/Internals.idl:
2077         * webaudio/AudioBuffer.idl:
2078         * webaudio/AudioBufferSourceNode.idl:
2079         * webaudio/AudioChannelMerger.idl:
2080         * webaudio/AudioChannelSplitter.idl:
2081         * webaudio/AudioContext.idl:
2082         * webaudio/AudioDestinationNode.idl:
2083         * webaudio/AudioGain.idl:
2084         * webaudio/AudioGainNode.idl:
2085         * webaudio/AudioListener.idl:
2086         * webaudio/AudioNode.idl:
2087         * webaudio/AudioPannerNode.idl:
2088         * webaudio/AudioParam.idl:
2089         * webaudio/AudioProcessingEvent.idl:
2090         * webaudio/AudioSourceNode.idl:
2091         * webaudio/BiquadFilterNode.idl:
2092         * webaudio/ConvolverNode.idl:
2093         * webaudio/DelayNode.idl:
2094         * webaudio/DynamicsCompressorNode.idl:
2095         * webaudio/HighPass2FilterNode.idl:
2096         * webaudio/JavaScriptAudioNode.idl:
2097         * webaudio/LowPass2FilterNode.idl:
2098         * webaudio/OfflineAudioCompletionEvent.idl:
2099         * webaudio/RealtimeAnalyserNode.idl:
2100         * websockets/CloseEvent.idl:
2101         * websockets/WebSocket.idl:
2102         * workers/AbstractWorker.idl:
2103         * workers/DedicatedWorkerContext.idl:
2104         * workers/SharedWorker.idl:
2105         * workers/SharedWorkerContext.idl:
2106         * workers/Worker.idl:
2107         * workers/WorkerContext.idl:
2108         * workers/WorkerLocation.idl:
2109         * xml/DOMParser.idl:
2110         * xml/XMLHttpRequest.idl:
2111         * xml/XMLHttpRequestException.idl:
2112         * xml/XMLHttpRequestProgressEvent.idl:
2113         * xml/XMLHttpRequestUpload.idl:
2114         * xml/XMLSerializer.idl:
2115         * xml/XPathEvaluator.idl:
2116         * xml/XPathException.idl:
2117         * xml/XPathExpression.idl:
2118         * xml/XPathNSResolver.idl:
2119         * xml/XPathResult.idl:
2120         * xml/XSLTProcessor.idl:
2121
2122 2011-06-17  Cary Clark  <caryclark@google.com>
2123
2124         Reviewed by Mihai Parparita.
2125
2126         Exclude isCALayerContext check if building Chrome to use Skia on Mac.
2127         https://bugs.webkit.org/show_bug.cgi?id=62859
2128
2129         No new tests. This change does not affect existing functionality.
2130
2131         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2132         (WebCore::ScrollbarThemeChromiumMac::paint):
2133         Add a conditional to always set drawing into layer to false if
2134         Skia is the WebKit rendering engine. Once USE(SKIA) is enabled,
2135         this condition can be removed.
2136
2137 2011-06-17  Gavin Peters  <gavinp@chromium.org>
2138
2139         Reviewed by Adam Barth.
2140
2141         refactor HTMLLinkElement to allow Link header implementation
2142         https://bugs.webkit.org/show_bug.cgi?id=51941
2143
2144         This change moves the LinkRelAttribute helper struct into its own
2145         file in html/, since the LinkRelAttribute is used by the LinkLoader,
2146         and leaving it in HTMLLinkElement would have been too circular for
2147         my tastes.
2148
2149         The new LinkLoader class contains the loader code for icons, dns
2150         prefetching and prefetch/prerender/subresource into a common
2151         LinkLoader.  This is a step in getting the Link header working in
2152         WebKit, as discussed in webkit-dev For more information, see
2153         thread "beforeload & link
2154         (esp rel prefetch)".
2155
2156         No new tests, since this is a refactoring.
2157
2158         * CMakeLists.txt:
2159         * GNUmakefile.list.am:
2160         * WebCore.gypi:
2161         * WebCore.pro:
2162         * WebCore.vcproj/WebCore.vcproj:
2163         * WebCore.xcodeproj/project.pbxproj:
2164         * html/HTMLLinkElement.cpp:
2165         (WebCore::HTMLLinkElement::HTMLLinkElement):
2166         (WebCore::HTMLLinkElement::~HTMLLinkElement):
2167         (WebCore::HTMLLinkElement::parseMappedAttribute):
2168         (WebCore::HTMLLinkElement::shouldLoadLink):
2169         (WebCore::HTMLLinkElement::process):
2170         (WebCore::HTMLLinkElement::linkLoaded):
2171         (WebCore::HTMLLinkElement::linkLoadingErrored):
2172         * html/HTMLLinkElement.h:
2173         * html/LinkRelAttribute.cpp: Added.
2174         (WebCore::LinkRelAttribute::LinkRelAttribute):
2175         * html/LinkRelAttribute.h: Added.
2176         * html/parser/HTMLPreloadScanner.cpp:
2177         (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
2178         * loader/LinkLoader.cpp: Added.
2179         (WebCore::LinkLoader::LinkLoader):
2180         (WebCore::LinkLoader::~LinkLoader):
2181         (WebCore::LinkLoader::linkLoadedTimerFired):
2182         (WebCore::LinkLoader::notifyFinished):
2183         (WebCore::LinkLoader::loadLink):
2184         * loader/LinkLoader.h: Added.
2185         * loader/LinkLoaderClient.h: Added.
2186         (WebCore::LinkLoaderClient::~LinkLoaderClient):
2187
2188 2011-06-17  Annie Sullivan  <sullivan@chromium.org>
2189
2190         Reviewed by Ryosuke Niwa.
2191
2192         div can be a child of span on InsertParagraph
2193         https://bugs.webkit.org/show_bug.cgi?id=62687
2194
2195         Handle the special case where the insertion point is the first position in the enclosing block node.
2196         The div for the new paragraph should be inserted as a child of the enclosing block node, otherwise
2197         it could be inserted as a child of a span or other inline element.
2198
2199         * editing/InsertParagraphSeparatorCommand.cpp:
2200         (WebCore::InsertParagraphSeparatorCommand::doApply):
2201
2202 2011-06-17  Eric Uhrhane  <ericu@chromium.org>
2203
2204         Reviewed by Adam Barth.
2205
2206         [filesystem/Chromium] Filesystem paths need proper URL escaping
2207         https://bugs.webkit.org/show_bug.cgi?id=62811
2208
2209         Fix http://code.google.com/p/chromium/issues/detail?id=78860 by making
2210         KURLChromium.cpp's escaping code actually work.
2211
2212         Make encodeWithURLEscapeSequences call into googleurl to do proper
2213         escaping.  Tested in WebKit/chromium/tests/KURLTest.cpp.
2214         * platform/KURLGoogle.cpp:
2215         (WebCore::encodeWithURLEscapeSequences):
2216
2217 2011-06-17  Julien Chaffraix  <jchaffraix@google.com>
2218
2219         Reviewed by Darin Adler.
2220
2221         Avoid extra work in RenderStyle::visitedDependentColor
2222         https://bugs.webkit.org/show_bug.cgi?id=62868
2223
2224         Refactoring only, no new test required.
2225
2226         The code used to cache the result of borderStyleForColorProperty. However
2227         the value was either overwritten inside colorIncludingFallback or there was
2228         not border. Thus I removed borderStyleForColorProperty and inlined the logic in
2229         colorIncludingFallback.
2230
2231         This shows some nice performance improvements on the bug page (table of 22k rows with a link
2232         for each row). Using pprof, the time spend in RenderStyle::visitedDependentColor is reduced
2233         by ~10%, mostly due to removing the call to borderStyleForColorProperty.
2234
2235         * rendering/style/RenderStyle.cpp:
2236         (WebCore::RenderStyle::colorIncludingFallback): We now calculate the borderStyle
2237         inside this function (which was already the case I just made it explicit). Also
2238         simplified the final 'if' as the border will be set only for the right CSS border
2239         properties.
2240
2241         (WebCore::RenderStyle::visitedDependentColor): Removed the |borderStyle| variable
2242         as it was never read.
2243
2244         * rendering/style/RenderStyle.h: Removed the parameter.
2245
2246 2011-06-16  Pavel Podivilov  <podivilov@chromium.org>
2247
2248         Reviewed by Yury Semikhatsky.
2249
2250         Web Inspector: breakpointsWithoutSourceFile values should be a maps, not arrays.
2251         https://bugs.webkit.org/show_bug.cgi?id=62714
2252
2253         * inspector/front-end/DebuggerPresentationModel.js:
2254         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2255         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
2256         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings):
2257         (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
2258         (WebInspector.DebuggerPresentationModel.prototype._reset):
2259         * inspector/front-end/Settings.js:
2260         (WebInspector.Settings):
2261         (WebInspector.Settings.prototype._set):
2262
2263 2011-06-17  Joone Hur  <joone.hur@collabora.co.uk>
2264
2265         Reviewed by Martin Robinson.
2266
2267         [GTK] Replace GdkRectangle by cairo_rectangle_int_t
2268         https://bugs.webkit.org/show_bug.cgi?id=60687
2269
2270         Replace GdkRectangle by cairo_rectangle_int_t.
2271
2272         * GNUmakefile.list.am: Added IntRectCairo.cpp instead of IntRectGtk.cpp
2273         * platform/graphics/IntRect.h: IntRect class can be instantiated through the given cairo_rectangle_int_t 
2274         instead of GdkRectangle.
2275         * platform/graphics/cairo/IntRectCairo.cpp: Add the constructor and operator for handling cairo_rectangle_int_t.
2276         (WebCore::IntRect::IntRect): 
2277         (WebCore::IntRect::operator cairo_rectangle_int_t):
2278         * platform/graphics/gtk/IntRectGtk.cpp: Include this file only for Gtk+2.
2279         * platform/gtk/GtkPluginWidget.cpp: Replace GdkRectangle by cairo_rectangle_int_t.
2280         (WebCore::GtkPluginWidget::invalidateRect):
2281
2282 2011-06-17  Alexander Pavlov  <apavlov@chromium.org>
2283
2284         Reviewed by David Hyatt.
2285
2286         Web Inspector: support for emulating element's pseudo class state in styleRulesForElement()
2287         https://bugs.webkit.org/show_bug.cgi?id=61070
2288
2289         This patch is a slight rework of a solution by Alexander Udalov.
2290         It is supposed to help implement a feature in Web Inspector to examine
2291         style rules matched for different states of a given element.
2292         Web Inspector is supposed to pass a mask of ForcePseudoClassFlags to
2293         styleRulesForElement(), so that it will filter only the rules whose state
2294         (a set of pseudo classes in their selectors) matches a given
2295         mask, ignoring the state of the element itself.
2296         DoNotForcePseudoClassMask is the default behaviour; it always examines
2297         the state of a given element to make a match.
2298
2299         Tests will be provided in a subsequent Web Inspector change employing this functionality.
2300
2301         * css/CSSStyleSelector.cpp:
2302         (WebCore::CSSStyleSelector::initForStyleResolve):
2303         (WebCore::CSSStyleSelector::styleRulesForElement):
2304         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
2305         (WebCore::CSSStyleSelector::checkSelector):
2306         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2307         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2308         * css/CSSStyleSelector.h:
2309
2310 2011-06-17  Yury Semikhatsky  <yurys@chromium.org>
2311
2312         Reviewed by Pavel Feldman.
2313
2314         Web Inspector: support preview mode for live edit changes
2315         https://bugs.webkit.org/show_bug.cgi?id=62851
2316
2317         Debugger.editScriptSource command now supports preview flag.
2318
2319         * bindings/js/ScriptDebugServer.cpp:
2320         (WebCore::ScriptDebugServer::editScriptSource):
2321         * bindings/js/ScriptDebugServer.h:
2322         * bindings/v8/ScriptDebugServer.cpp:
2323         (WebCore::ScriptDebugServer::editScriptSource):
2324         * bindings/v8/ScriptDebugServer.h:
2325         * inspector/Inspector.json:
2326         * inspector/InspectorDebuggerAgent.cpp:
2327         (WebCore::InspectorDebuggerAgent::editScriptSource):
2328         * inspector/InspectorDebuggerAgent.h:
2329
2330 2011-06-09  Hans Wennborg  <hans@chromium.org>
2331
2332         Reviewed by Tony Gentilcore.
2333
2334         IndexedDB: backingStoreMap is per backing store, not per database
2335         https://bugs.webkit.org/show_bug.cgi?id=62382
2336
2337         IDBFactoryBackendImpl::m_backingStoreMap should contain an entry per
2338         backing store, not per database. Otherwise, we might accidentally open
2339         the same backing store more than once, which is dangerous.
2340
2341         Also tweak the code that chooses backing store type. It should be
2342         simple: we default to SQLite; if LevelDB is specifically requested, we
2343         use that. If LevelDB is requested and there is a SQLite database, we
2344         migrate.
2345
2346         No new tests, just cleaning up the code.
2347
2348         * storage/IDBFactoryBackendImpl.cpp:
2349         (WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
2350         (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
2351         (WebCore::IDBFactoryBackendImpl::open):
2352         (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB):
2353         * storage/IDBFactoryBackendImpl.h:
2354
2355 2011-06-17  Andrey Adaikin  <aandrey@google.com>
2356
2357         Reviewed by Pavel Feldman.
2358
2359         Web Inspector: Source code which includes non-Latin character does not correspond to line number field on Inspector
2360         https://bugs.webkit.org/show_bug.cgi?id=62845
2361
2362         * inspector/front-end/TextViewer.js:
2363         (WebInspector.TextViewer.prototype._syncLineHeight):
2364         (WebInspector.TextEditorGutterPanel):
2365         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2366
2367 2011-06-16  Yury Semikhatsky  <yurys@chromium.org>
2368
2369         Reviewed by Pavel Feldman.
2370
2371         Web Inspector: return description of the changes applied in response to editScriptSource command
2372         https://bugs.webkit.org/show_bug.cgi?id=62801
2373
2374         Return description of the changes made in response to Debugger.editScriptSource command.
2375
2376         * bindings/js/ScriptDebugServer.cpp:
2377         (WebCore::ScriptDebugServer::editScriptSource):
2378         * bindings/js/ScriptDebugServer.h:
2379         * bindings/v8/DebuggerScript.js:
2380         ():
2381         * bindings/v8/ScriptDebugServer.cpp:
2382         (WebCore::ScriptDebugServer::editScriptSource):
2383         * bindings/v8/ScriptDebugServer.h:
2384         * inspector/Inspector.json:
2385
2386 2011-06-16  Gabor Loki  <loki@webkit.org>
2387
2388         [Qt] Unreviewed, build fix after r89118.
2389
2390         * dom/XMLDocumentParserQt.cpp:
2391         (WebCore::XMLDocumentParser::initializeParserContext):
2392
2393 2011-06-16  Yuta Kitamura  <yutak@chromium.org>
2394
2395         Unreviewed, rolling out r89073.
2396         http://trac.webkit.org/changeset/89073
2397         https://bugs.webkit.org/show_bug.cgi?id=62783
2398
2399         Broke Chromium Clang build.
2400
2401         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
2402         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
2403         (wkScrollbarPainterPaint):
2404         * platform/chromium/ScrollbarThemeChromiumMac.h:
2405         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2406         (WebCore::ScrollbarThemeChromiumMac::paint):
2407
2408 2011-06-16  Jeffrey Pfau  <jpfau@apple.com>
2409
2410         Reviewed by Alexey Proskuryakov.
2411
2412         Using null bytes when setting innerHTML in XTHML results in assertion and a crash due to null-pointer dereference
2413         https://bugs.webkit.org/show_bug.cgi?id=61053
2414
2415         XML parsing in-memory XML chunks now passes around a string object instead of a C string, ensuring null characters are properly handled.
2416
2417         Tests: fast/parser/xhtml-innerhtml-null-byte-first.xhtml
2418                fast/parser/xhtml-innerhtml-null-byte.xhtml
2419
2420         * dom/XMLDocumentParser.h:
2421         * dom/XMLDocumentParserLibxml2.cpp:
2422         (WebCore::XMLParserContext::createMemoryParser):
2423         (WebCore::XMLDocumentParser::initializeParserContext):
2424         (WebCore::XMLDocumentParser::appendFragmentSource):
2425
2426 2011-06-16  Robin Dunn  <robin@alldunn.com>
2427
2428         Reviewed by Kevin Ollivier.
2429
2430         [wx] Account for differing byte order when decoding images in the PPC build.
2431         
2432         https://bugs.webkit.org/show_bug.cgi?id=62830
2433
2434         * platform/image-decoders/wx/ImageDecoderWx.cpp:
2435         (WebCore::ImageFrame::asNewNativeImage):
2436
2437 2011-06-16  Darin Adler  <darin@apple.com>
2438
2439         Reviewed by Dan Bernstein.
2440
2441         REGRESSION (r89035): HTMLTableRowsCollection constructor crashes; depends on compiler order of evaluation
2442         https://bugs.webkit.org/show_bug.cgi?id=62836
2443
2444         Covered by existing tests on platforms where it occurs.
2445
2446         * html/HTMLTableRowsCollection.cpp:
2447         (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Add a call to get()
2448         to prevent the passing behavior of PassRefPtr from kicking in and changing the
2449         table pointer to 0, possibly before it is dereferenced.
2450
2451 2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2452
2453         Unreviewed, rolling out r89055.
2454         http://trac.webkit.org/changeset/89055
2455         https://bugs.webkit.org/show_bug.cgi?id=62835
2456
2457         Caused failures on all ports except GTK (Requested by
2458         mrobinson on #webkit).
2459
2460         * platform/network/soup/ResourceHandleSoup.cpp:
2461         (WebCore::statusWillBeHandledBySoup):
2462         (WebCore::soupErrorShouldCauseLoadFailure):
2463         (WebCore::convertSoupErrorToResourceError):
2464         (WebCore::sendRequestCallback):
2465
2466 2011-06-16  Ryosuke Niwa  <rniwa@webkit.org>
2467
2468         Reviewed by Darin Adler.
2469
2470         Support logical line movement in vertical writing mode
2471         https://bugs.webkit.org/show_bug.cgi?id=62743
2472
2473         Fixed the bug by making xOffsetForVerticalNavigation (now called lineDirectionPointForVerticalNavigation)
2474         aware of writing modes. Also extracted absoluteLineDirectionPointToLocalPointInBlock from previousLinePosition
2475         and nextLinePosition to convert a line direction point to a physical point relative to a root inline box.
2476
2477         Tests: editing/selection/vertical-lr-ltr-extend-line-backward-br.html
2478                editing/selection/vertical-lr-ltr-extend-line-forward-br.html
2479                editing/selection/vertical-rl-ltr-extend-line-backward-br.html
2480                editing/selection/vertical-rl-ltr-extend-line-backward-p.html
2481                editing/selection/vertical-rl-ltr-extend-line-backward-wrap.html
2482                editing/selection/vertical-rl-ltr-extend-line-forward-br.html
2483                editing/selection/vertical-rl-ltr-extend-line-forward-p.html
2484                editing/selection/vertical-rl-ltr-extend-line-forward-wrap.html
2485                editing/selection/vertical-rl-rtl-extend-line-backward-br.html
2486                editing/selection/vertical-rl-rtl-extend-line-backward-p.html
2487                editing/selection/vertical-rl-rtl-extend-line-forward-br.html
2488                editing/selection/vertical-rl-rtl-extend-line-forward-p.html
2489
2490         * editing/FrameSelection.cpp:
2491         (WebCore::FrameSelection::modifyExtendingForward): Calls lineDirectionPointForBlockDirectionNavigation.
2492         (WebCore::FrameSelection::modifyMovingForward): Ditto.
2493         (WebCore::FrameSelection::modifyExtendingBackward): Ditto.
2494         (WebCore::FrameSelection::modifyMovingBackward): Ditto.
2495         (WebCore::FrameSelection::modify): Ditto.
2496         (WebCore::FrameSelection::lineDirectionPointForBlockDirectionNavigation): Renamed from
2497         xPosForVerticalArrowNavigation; calls VisiblePosition::lineDirectionPointForVerticalNavigation.
2498         * editing/FrameSelection.h:
2499         * editing/VisiblePosition.cpp:
2500         (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation): Renamed from
2501         xOffsetForVerticalNavigation. Returns line direction point instead of visual x coordinate.
2502         * editing/VisiblePosition.h:
2503         * editing/visible_units.cpp:
2504         (WebCore::absoluteLineDirectionPointToLocalPointInBlock): Extracted from previousLinePosition and
2505         nextLinePosition. Takes care or writing modes.
2506         (WebCore::previousLinePosition): Calls absoluteLineDirectionPointToLocalPointInBlock.
2507         (WebCore::nextLinePosition): Ditto.
2508         * editing/visible_units.h:
2509         * rendering/RootInlineBox.cpp:
2510         (WebCore::RootInlineBox::closestLeafChildForPoint): Added; takes a physical point and calls
2511         closestLeafChildForLogicalLeftPosition with logical x.
2512         * rendering/RootInlineBox.h:
2513
2514 2011-06-16  Nate Chapin  <japhet@chromium.org>
2515
2516         Reviewed by Alexey Proskuryakov.
2517
2518         Set the referrer on a ResourceRequest from a WorkerThreadableLoader
2519         as soon as the request reaches the main thread and remove the
2520         optionalOutgoingReferrer parameter from some functions.
2521         https://bugs.webkit.org/show_bug.cgi?id=62806
2522
2523         * loader/DocumentThreadableLoader.cpp:
2524         (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
2525         (WebCore::DocumentThreadableLoader::create):
2526         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
2527         (WebCore::DocumentThreadableLoader::loadRequest):
2528         * loader/DocumentThreadableLoader.h:
2529         * loader/ResourceLoadScheduler.cpp:
2530         (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
2531         * loader/ResourceLoadScheduler.h:
2532         * loader/SubresourceLoader.cpp:
2533         (WebCore::SubresourceLoader::create):
2534         * loader/SubresourceLoader.h:
2535         * loader/WorkerThreadableLoader.cpp:
2536         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2537
2538 2011-06-16  Eric Seidel  <eric@webkit.org>
2539
2540         Reviewed by Adam Barth.
2541
2542         FrameLoader doesn't need completeURL or baseURL
2543         https://bugs.webkit.org/show_bug.cgi?id=62818
2544
2545         No functional change, thus no tests.
2546
2547         * html/HTMLPlugInImageElement.cpp:
2548         (WebCore::HTMLPlugInImageElement::isImageType):
2549         (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
2550         * inspector/InspectorPageAgent.cpp:
2551         (WebCore::InspectorPageAgent::open):
2552         * loader/FrameLoader.cpp:
2553         * loader/FrameLoader.h:
2554         * loader/NavigationScheduler.cpp:
2555         (WebCore::NavigationScheduler::scheduleLocationChange):
2556         * page/History.cpp:
2557         (WebCore::History::urlForState):
2558
2559 2011-06-16  Dawit Alemayehu  <adawit@kde.org>
2560
2561         Reviewed by Antonio Gomes.
2562
2563         Support for gnash flash player plugin in QtWebKit
2564
2565         [Qt] Support for the gnash flash player plugin
2566         https://bugs.webkit.org/show_bug.cgi?id=62283
2567
2568         No new tests needed. Existing nsplugin tests are sufficient.
2569
2570         * plugins/qt/PluginPackageQt.cpp:
2571         (WebCore::PluginPackage::load):
2572
2573 2011-06-16  Sailesh Agrawal  <sail@chromium.org>
2574
2575         Reviewed by Mihai Parparita.
2576
2577         [Chromium] Draw search tickmarks on overlay scrollbars
2578         https://bugs.webkit.org/show_bug.cgi?id=62783
2579
2580         This change adds search tickmark support for overlay scrollbars. Tickmarks are only drawn when the scroll track is visible.
2581
2582         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:Split the scrollbar drawing code into a track and knob version.
2583         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
2584         (wkScrollbarPainterPaint):
2585         (wkScrollbarPainterPaintTrack):
2586         (wkScrollbarPainterPaintKnob):
2587         * platform/chromium/ScrollbarThemeChromiumMac.h:
2588         * platform/chromium/ScrollbarThemeChromiumMac.mm:Factor out the paint tickmark code and call it from the overlay scrollbar drawing code.
2589         (WebCore::ScrollbarThemeChromiumMac::paint):
2590         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
2591
2592 2011-06-16  Geoffrey Garen  <ggaren@apple.com>
2593
2594         Reviewed by Oliver Hunt.
2595
2596         Introduced SlotVisitor into the project
2597         https://bugs.webkit.org/show_bug.cgi?id=62820
2598
2599         This resolves a class vs typedef forward declaration issue, and gives all
2600         exported symbols the correct names.
2601
2602         * dom/EventListener.h:
2603         * dom/Node.h:
2604         * dom/NodeFilterCondition.h:
2605
2606 2011-06-16  Abhishek Arya  <inferno@chromium.org>
2607
2608         Reviewed by Adam Barth.
2609
2610         RefPtr frame since it can get removed in
2611         FrameLoader::finishedParsing.
2612         https://bugs.webkit.org/show_bug.cgi?id=62812
2613
2614         Tests: already tested by fast/parser/document-write-into-initial-document.html.
2615
2616         * dom/Document.cpp:
2617         (WebCore::Document::finishedParsing):
2618
2619 2011-06-16  Sailesh Agrawal  <sail@chromium.org>
2620
2621         Reviewed by Mihai Parparita.
2622
2623         [Chromium] Update forked ScrollAnimatorChromiumMac.mm/h
2624         https://bugs.webkit.org/show_bug.cgi?id=62779
2625
2626         Updated ScrollAnimatorChromiumMac.mm/h with the latest code in WebCore/platform/mac/ScrollAnimatorMac.mm/h
2627
2628         * platform/chromium/ScrollAnimatorChromiumMac.h:
2629         (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate):
2630         (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate):
2631         * platform/chromium/ScrollAnimatorChromiumMac.mm:
2632         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
2633         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2634         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
2635         (WebCore::ScrollAnimatorChromiumMac::scroll):
2636         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation):
2637         (WebCore::isScrollingLeftAndShouldNotRubberBand):
2638         (WebCore::isScrollingRightAndShouldNotRubberBand):
2639         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
2640         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
2641         (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
2642         (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
2643         (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
2644         (WebCore::ScrollAnimatorChromiumMac::setIsActive):
2645         (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
2646         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
2647         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
2648         (wkScrollbarPainterControllerStyle):
2649
2650 2011-06-16  Sailesh Agrawal  <sail@chromium.org>
2651
2652         Reviewed by Mihai Parparita.
2653
2654         [Chromium] Overlay scrollbars leave glitches on web content
2655         https://bugs.webkit.org/show_bug.cgi?id=62383
2656
2657         Enable overlay scrollbars on Chromium Mac.
2658
2659         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
2660         (preferredScrollerStyle):
2661
2662 2011-06-16  una sabovic  <una.sabovic@palm.com>
2663
2664         Reviewed by Simon Fraser.
2665
2666         Optimization: do a single fillRect when painting the root background in RenderBoxModelObject::paintFillLayerExtended
2667         https://bugs.webkit.org/show_bug.cgi?id=62593
2668
2669         When painting the root background, instead of doing two fillRects blend the base with background color and do a single fillRect.
2670         
2671         No new tests. This is an optimization and it doesn't change any existing functionality.
2672
2673         * rendering/RenderBoxModelObject.cpp:
2674         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2675
2676 2011-06-16  Ryosuke Niwa  <rniwa@webkit.org>
2677
2678         Reviewed by Eric Seidel.
2679
2680         Consider padding and border when looking for the next/previous line position
2681         https://bugs.webkit.org/show_bug.cgi?id=55481
2682
2683         The bug was caused by previousLinePosition and nextLinePosition passing y coordinate
2684         above the line in some cases. Fixed the bug by passing the larger of selectionTop and logicalTop.
2685
2686         This patch is based on a patch originally written by Mario Sanchez Prada <msanchez@igalia.com>.
2687
2688         Test: editing/selection/move-vertically-with-paddings-borders.html
2689
2690         * editing/visible_units.cpp:
2691         (WebCore::previousLinePosition):
2692         (WebCore::nextLinePosition):
2693         * rendering/RootInlineBox.h:
2694         (WebCore::RootInlineBox::blockDirectionPointInLine):
2695
2696 2011-06-16  Keunsoon Lee  <keunsoon.lee@samsung.com>
2697
2698         Reviewed by Martin Robinson.
2699
2700         [SOUP] Abnormal operation if server sends 5xx status code without HTTP body
2701         https://bugs.webkit.org/show_bug.cgi?id=60875
2702
2703         Handle status code 4xx and 5xx after receiving HTTP body
2704
2705         Webkit soup port premises that server always sends error page
2706         in case server sends error code, 4xx and 5xx.
2707         But, sometimes there is no HTTP body for error page.
2708         In that case, Webkit does nothing or tries to download the HTTP response
2709         according to received MIME Type even if there is no HTTP body. (abnormal operation)
2710
2711         With this modification,
2712         Browser will show received error page if server sends error page.
2713         Or it will show its own error page from each port if server sends nothing.
2714
2715         Modified algorithm
2716         1) libsoup sends status code 4xx or 5xx (client error or server error)
2717         2) Webkit soup port orders to accumulate HTTP body chunks to libsoup.
2718         3) Webkit soup port ignores gotHeadersCallback, contentSniffedCallback and gotChunkCallback.
2719         4) Webkit soup port checks there is HTTP body or not on sendRequestCallback and;
2720              4-1) if there is HTTP body, calls didReceiveResponse()
2721              4-2) if there is no HTTP body, calls didFail() - prevent the abnormal operation
2722
2723         Test: http/tests/loading/status-code-error-without-response-body.html
2724
2725         * platform/network/soup/ResourceHandleSoup.cpp:
2726         (WebCore::statusWillBeHandledBySoup):
2727             Add a new condition, SOUP_STATUS_IS_CLIENT_ERROR() and SOUP_STATUS_IS_SERVER_ERROR()
2728         (WebCore::soupErrorAndHaveNotReceivedBody):
2729             Add a new helper function, it checks received body is exist if soup sends error code
2730         (WebCore::soupErrorShouldCauseLoadFailure):
2731            Add a new condition, soupErrorAndHaveNotReceivedBody()
2732         (WebCore::convertSoupErrorToResourceError):
2733            Add a new condition, soupErrorAndHaveNotReceivedBody()
2734         (WebCore::sendRequestCallback):
2735            Check handle->client() again, because didReceiveResponse() can make it zero
2736
2737 2011-06-16  Vsevolod Vlasov  <vsevik@chromium.org>
2738
2739         Reviewed by Pavel Feldman.
2740
2741         Web Inspector: Network panel shows incorrect query parameters when url has fragment.
2742         https://bugs.webkit.org/show_bug.cgi?id=62723
2743
2744         * English.lproj/localizedStrings.js:
2745         * inspector/front-end/HAREntry.js:
2746         (WebInspector.HAREntry.prototype._buildRequest):
2747         (WebInspector.HAREntry.prototype._buildRequestURL):
2748         * inspector/front-end/Resource.js:
2749         (WebInspector.Resource.prototype.set url):
2750         (WebInspector.Resource.prototype.get queryParameters):
2751         * inspector/front-end/ResourceHeadersView.js:
2752         (WebInspector.ResourceHeadersView):
2753         (WebInspector.ResourceHeadersView.prototype._refreshUrlFragment):
2754
2755 2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>
2756
2757         Clang fix after r89039.
2758
2759         * rendering/RenderThemeMac.h: Removed spurious constipation.
2760         * rendering/RenderThemeMac.mm:
2761         (WebCore::RenderThemeMac::fileListNameForWidth): Ditto.
2762
2763 2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2764
2765         Unreviewed, rolling out r89026.
2766         http://trac.webkit.org/changeset/89026
2767         https://bugs.webkit.org/show_bug.cgi?id=62804
2768
2769         These patches were likely correct.  I'll investigate the
2770         browser_test failures. (Requested by abarth on #webkit).
2771
2772         * WebCore.exp.in:
2773         * bindings/js/ScheduledAction.cpp:
2774         (WebCore::ScheduledAction::execute):
2775         * bindings/js/ScriptController.cpp:
2776         (WebCore::ScriptController::ScriptController):
2777         (WebCore::ScriptController::processingUserGesture):
2778         * bindings/js/ScriptController.h:
2779         * bindings/v8/ScriptController.cpp:
2780         (WebCore::ScriptController::ScriptController):
2781         (WebCore::ScriptController::processingUserGesture):
2782         * bindings/v8/ScriptController.h:
2783         * dom/Event.cpp:
2784         * dom/Event.h:
2785         * dom/UserGestureIndicator.cpp:
2786         (WebCore::isDefinite):
2787         (WebCore::UserGestureIndicator::UserGestureIndicator):
2788         (WebCore::UserGestureIndicator::~UserGestureIndicator):
2789         * dom/UserGestureIndicator.h:
2790         (WebCore::UserGestureIndicator::processingUserGesture):
2791         * html/HTMLMediaElement.cpp:
2792         (WebCore::HTMLMediaElement::removedFromDocument):
2793         (WebCore::HTMLMediaElement::load):
2794         (WebCore::HTMLMediaElement::play):
2795         (WebCore::HTMLMediaElement::pause):
2796         (WebCore::HTMLMediaElement::beginScrubbing):
2797         (WebCore::HTMLMediaElement::resume):
2798         * html/HTMLMediaElement.h:
2799         * html/HTMLMediaElement.idl:
2800         * html/HTMLVideoElement.cpp:
2801         (WebCore::HTMLVideoElement::webkitEnterFullscreen):
2802         * html/HTMLVideoElement.h:
2803         (WebCore::HTMLVideoElement::webkitEnterFullScreen):
2804         * html/HTMLVideoElement.idl:
2805         * html/MediaDocument.cpp:
2806         (WebCore::MediaDocument::defaultEventHandler):
2807         * html/shadow/MediaControlElements.cpp:
2808         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
2809         * html/shadow/TextControlInnerElements.cpp:
2810         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2811
2812 2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>
2813
2814         [Qt] Build fix after r89039.
2815
2816         * WebCore.pro: Added StringTruncator to build system.
2817         * platform/qt/RenderThemeQt.cpp: Reverted previous change.
2818
2819 2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>
2820
2821         [Qt] Build fix after r89039.
2822
2823         * platform/qt/RenderThemeQt.cpp: Added StringTruncator include.
2824
2825 2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>
2826
2827         [Qt] Build fix after r89039.
2828
2829         * platform/qt/RenderThemeQt.h: Renamed local variable f to font.
2830
2831 2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>
2832
2833         [Qt] Build fix after r89039.
2834
2835         * platform/qt/RenderThemeQt.h: Move decl out of ENABLE(VIDEO) ifdef.
2836
2837 2011-06-15  Dimitri Glazkov  <dglazkov@chromium.org>
2838
2839         Reviewed by Kent Tamura.
2840
2841         Move FileChooser::basenameForWidth to RenderTheme::fileListNameForWidth, eliminate gnarly FileChooserFoo proliferation.
2842         https://bugs.webkit.org/show_bug.cgi?id=62748
2843
2844         Refactoring, covered by existing tests.
2845
2846         * CMakeListsEfl.txt: Removed FileChooserFoo from build system.
2847         * CMakeListsWinCE.txt: Ditto.
2848         * GNUmakefile.list.am: Ditto.
2849         * WebCore.gypi: Ditto.
2850         * WebCore.order: Ditto.
2851         * WebCore.pro: Ditto.
2852         * WebCore.vcproj/WebCore.vcproj: Ditto.
2853         * WebCore.xcodeproj/project.pbxproj: Ditto.
2854         * platform/FileChooser.h: Removed baseNameForWidth decl.
2855         * platform/FileSystem.h: Removed now-unnecessary Chromium-specific cruft.
2856         * platform/android/FileChooserAndroid.cpp: Removed.
2857         * platform/brew/FileChooserBrew.cpp: Removed.
2858         * platform/chromium/FileChooserChromium.cpp: Removed.
2859         * platform/chromium/FileSystemChromiumLinux.cpp: Removed now-unnecessary code.
2860         * platform/chromium/FileSystemChromiumMac.mm: Ditto.
2861         * platform/chromium/FileSystemChromiumWin.cpp: Ditto.
2862         * platform/efl/FileChooserEfl.cpp: Removed.
2863         * platform/gtk/FileChooserGtk.cpp: Removed.
2864         * platform/gtk/RenderThemeGtk.cpp:
2865         (WebCore::stringByAdoptingFileSystemRepresentation): Moved from FileChooserGtk.
2866         (WebCore::RenderThemeGtk::fileListNameForWidth): Ditto.
2867         * platform/gtk/RenderThemeGtk.h: Added decl.
2868         * platform/haiku/FileChooserHaiku.cpp: Removed.
2869         * platform/mac/FileChooserMac.mm: Removed.
2870         * platform/qt/FileChooserQt.cpp: Removed.
2871         * platform/qt/RenderThemeQt.cpp:
2872         (WebCore::RenderThemeQt::RenderThemeQt): Moved from FileChooserQt.
2873         (WebCore::RenderThemeQt::fileListNameForWidth): Ditto.
2874         * platform/qt/RenderThemeQt.h: Adde decl.
2875         * platform/win/FileChooserWin.cpp: Removed.
2876         * platform/wx/FileChooserWx.cpp: Removed.
2877         * rendering/RenderFileUploadControl.cpp:
2878         (WebCore::RenderFileUploadControl::fileTextValue): Changed to use RenderTheme.
2879         * rendering/RenderTheme.cpp:
2880         (WebCore::RenderTheme::fileListNameForWidth): Added default impl.
2881         * rendering/RenderTheme.h: Added decl.
2882         * rendering/RenderThemeMac.h: Ditto.
2883         * rendering/RenderThemeMac.mm:
2884         (WebCore::RenderThemeMac::fileListNameForWidth): Added default Mac impl.
2885
2886 2011-06-16  Vsevolod Vlasov  <vsevik@chromium.org>
2887
2888         Reviewed by Pavel Feldman.
2889
2890         Web Inspector: Cache XHR content in backend, do not use initialContentSet for XHRs.
2891         https://bugs.webkit.org/show_bug.cgi?id=61205
2892
2893         Added inspector backend cache for XHR content.
2894
2895         Tests: http/tests/inspector/network/network-xhr-async.html
2896                http/tests/inspector/network/network-xhr-sync.html
2897
2898         * CMakeLists.txt:
2899         * GNUmakefile.list.am:
2900         * WebCore.gypi:
2901         * WebCore.pro:
2902         * WebCore.vcproj/WebCore.vcproj:
2903         * WebCore.xcodeproj/project.pbxproj:
2904         * fileapi/FileReaderLoader.cpp:
2905         (WebCore::FileReaderLoader::didReceiveResponse):
2906         * fileapi/FileReaderLoader.h:
2907         * inspector/Inspector.json:
2908         * inspector/InspectorInstrumentation.cpp:
2909         (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
2910         (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
2911         (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
2912         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2913         * inspector/InspectorInstrumentation.h:
2914         (WebCore::InspectorInstrumentation::didReceiveXHRResponse):
2915         (WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
2916         (WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
2917         * inspector/InspectorResourceAgent.cpp:
2918         (WebCore::InspectorResourceAgent::willSendRequest):
2919         (WebCore::InspectorResourceAgent::didReceiveResponse):
2920         (WebCore::InspectorResourceAgent::setInitialXHRContent):
2921         (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
2922         (WebCore::InspectorResourceAgent::willLoadXHRSynchronously):
2923         (WebCore::InspectorResourceAgent::didLoadXHRSynchronously):
2924         (WebCore::InspectorResourceAgent::getResourceContent):
2925         (WebCore::InspectorResourceAgent::mainFrameNavigated):
2926         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
2927         * inspector/InspectorResourceAgent.h:
2928         * inspector/NetworkResourcesData.cpp: Added.
2929         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
2930         (WebCore::NetworkResourcesData::ResourceData::content):
2931         (WebCore::NetworkResourcesData::ResourceData::appendContent):
2932         (WebCore::NetworkResourcesData::ResourceData::purgeContent):
2933         (WebCore::NetworkResourcesData::NetworkResourcesData):
2934         (WebCore::NetworkResourcesData::~NetworkResourcesData):
2935         (WebCore::NetworkResourcesData::resourceCreated):
2936         (WebCore::NetworkResourcesData::responseReceived):
2937         (WebCore::NetworkResourcesData::didReceiveXHRResponse):
2938         (WebCore::NetworkResourcesData::addResourceContent):
2939         (WebCore::NetworkResourcesData::isXHR):
2940         (WebCore::NetworkResourcesData::data):
2941         (WebCore::NetworkResourcesData::clear):
2942         (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
2943         (WebCore::NetworkResourcesData::ensureFreeSpace):
2944         * inspector/NetworkResourcesData.h: Added.
2945         (WebCore::NetworkResourcesData::ResourceData::identifier):
2946         (WebCore::NetworkResourcesData::ResourceData::loaderId):
2947         (WebCore::NetworkResourcesData::ResourceData::frameId):
2948         (WebCore::NetworkResourcesData::ResourceData::setFrameId):
2949         (WebCore::NetworkResourcesData::ResourceData::url):
2950         (WebCore::NetworkResourcesData::ResourceData::setUrl):
2951         (WebCore::NetworkResourcesData::ResourceData::isXHR):
2952         (WebCore::NetworkResourcesData::ResourceData::setIsXHR):
2953         (WebCore::NetworkResourcesData::ResourceData::hasContent):
2954         (WebCore::NetworkResourcesData::ResourceData::isContentPurged):
2955         (WebCore::NetworkResourcesData::ResourceData::setIsContentPurged):
2956         * inspector/front-end/NetworkManager.js:
2957         (WebInspector.NetworkManager.prototype.requestContent):
2958         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
2959         * inspector/front-end/NetworkPanel.js:
2960         (WebInspector.NetworkPanel.prototype._appendResource):
2961         (WebInspector.NetworkPanel.prototype._frameNavigated):
2962         * loader/DocumentThreadableLoader.cpp:
2963         (WebCore::DocumentThreadableLoader::didReceiveResponse):
2964         (WebCore::DocumentThreadableLoader::receivedCancellation):
2965         (WebCore::DocumentThreadableLoader::loadRequest):
2966         * loader/DocumentThreadableLoader.h:
2967         * loader/ThreadableLoaderClient.h:
2968         (WebCore::ThreadableLoaderClient::didReceiveResponse):
2969         (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
2970         * loader/ThreadableLoaderClientWrapper.h:
2971         (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
2972         (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
2973         * loader/WorkerThreadableLoader.cpp:
2974         (WebCore::workerContextDidReceiveResponse):
2975         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
2976         (WebCore::workerContextDidReceiveAuthenticationCancellation):
2977         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
2978         * loader/WorkerThreadableLoader.h:
2979         * notifications/Notification.cpp:
2980         (WebCore::Notification::didReceiveResponse):
2981         (WebCore::Notification::didReceiveAuthenticationCancellation):
2982         * notifications/Notification.h:
2983         * page/EventSource.cpp:
2984         (WebCore::EventSource::didReceiveResponse):
2985         * page/EventSource.h:
2986         * workers/WorkerScriptLoader.cpp:
2987         (WebCore::WorkerScriptLoader::didReceiveResponse):
2988         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
2989         * workers/WorkerScriptLoader.h:
2990         * xml/XMLHttpRequest.cpp:
2991         (WebCore::XMLHttpRequest::createRequest):
2992         (WebCore::XMLHttpRequest::didReceiveResponse):
2993         (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
2994         * xml/XMLHttpRequest.h:
2995
2996 2011-06-16  Julien Chaffraix  <jchaffraix@webkit.org>
2997
2998         Reviewed by Darin Adler.
2999
3000         HTMLTable should cache its 'rows' collection results
3001         https://bugs.webkit.org/show_bug.cgi?id=62800
3002
3003         Test: perf/table-rows-length-caching.html
3004
3005         Currently all our HTMLCollection's are recreated on call. This means that
3006         we don't cache the information about the collection between calls to, for
3007         example, table.rows.
3008
3009         This change adds a CollectionCache to HTMLTableElement. It is similar to what
3010         is done for HTMLFormElement.
3011
3012         * html/HTMLTableElement.cpp:
3013         (WebCore::HTMLTableElement::collectionCache): This method does
3014         lazy initialization of the table's collectionCache.
3015         * html/HTMLTableElement.h: Added a new member and the previous
3016         method.
3017
3018         * html/HTMLTableRowsCollection.cpp:
3019         (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Pass
3020         the HTMLTableElement's CollectionCache so that we reuse the cached
3021         results.
3022
3023 2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3024
3025         Unreviewed, rolling out r89025.
3026         http://trac.webkit.org/changeset/89025
3027         https://bugs.webkit.org/show_bug.cgi?id=62799
3028
3029         "Some layout tests fail" (Requested by yurys on #webkit).
3030
3031         * CMakeLists.txt:
3032         * GNUmakefile.list.am:
3033         * WebCore.gypi:
3034         * WebCore.pro:
3035         * WebCore.vcproj/WebCore.vcproj:
3036         * WebCore.xcodeproj/project.pbxproj:
3037         * fileapi/FileReaderLoader.cpp:
3038         (WebCore::FileReaderLoader::didReceiveResponse):
3039         * fileapi/FileReaderLoader.h:
3040         * inspector/Inspector.json:
3041         * inspector/InspectorInstrumentation.cpp:
3042         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3043         * inspector/InspectorInstrumentation.h:
3044         * inspector/InspectorResourceAgent.cpp:
3045         (WebCore::InspectorResourceAgent::willSendRequest):
3046         (WebCore::InspectorResourceAgent::didReceiveResponse):
3047         (WebCore::InspectorResourceAgent::setInitialXHRContent):
3048         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3049         * inspector/InspectorResourceAgent.h:
3050         * inspector/NetworkResourcesData.cpp: Removed.
3051         * inspector/NetworkResourcesData.h: Removed.
3052         * inspector/front-end/NetworkManager.js:
3053         (WebInspector.NetworkManager.prototype.requestContent):
3054         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
3055         * inspector/front-end/NetworkPanel.js:
3056         (WebInspector.NetworkPanel.prototype._appendResource):
3057         (WebInspector.NetworkPanel.prototype._frameNavigated):
3058         * loader/DocumentThreadableLoader.cpp:
3059         (WebCore::DocumentThreadableLoader::didReceiveResponse):
3060         (WebCore::DocumentThreadableLoader::receivedCancellation):
3061         (WebCore::DocumentThreadableLoader::loadRequest):
3062         * loader/DocumentThreadableLoader.h:
3063         * loader/ThreadableLoaderClient.h:
3064         (WebCore::ThreadableLoaderClient::didReceiveResponse):
3065         (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
3066         * loader/ThreadableLoaderClientWrapper.h:
3067         (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
3068         (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
3069         * loader/WorkerThreadableLoader.cpp:
3070         (WebCore::workerContextDidReceiveResponse):
3071         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
3072         (WebCore::workerContextDidReceiveAuthenticationCancellation):
3073         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
3074         * loader/WorkerThreadableLoader.h:
3075         * notifications/Notification.cpp:
3076         (WebCore::Notification::didReceiveResponse):
3077         (WebCore::Notification::didReceiveAuthenticationCancellation):
3078         * notifications/Notification.h:
3079         * page/EventSource.cpp:
3080         (WebCore::EventSource::didReceiveResponse):
3081         * page/EventSource.h:
3082         * workers/WorkerScriptLoader.cpp:
3083         (WebCore::WorkerScriptLoader::didReceiveResponse):
3084         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
3085         * workers/WorkerScriptLoader.h:
3086         * xml/XMLHttpRequest.cpp:
3087         (WebCore::XMLHttpRequest::createRequest):
3088         (WebCore::XMLHttpRequest::didReceiveResponse):
3089         (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
3090         * xml/XMLHttpRequest.h:
3091
3092 2011-06-16  Vitaly Repeshko  <vitalyr@chromium.org>
3093
3094         Unreviewed.
3095
3096         Revert Adam's user gesture patch series r89002, r89005, r89007, r89018
3097         https://bugs.webkit.org/show_bug.cgi?id=62796
3098
3099         The patches broke chromium browser tests.
3100
3101         * WebCore.exp.in:
3102         * bindings/js/ScheduledAction.cpp:
3103         (WebCore::ScheduledAction::execute):
3104         * bindings/js/ScriptController.cpp:
3105         (WebCore::ScriptController::ScriptController):
3106         (WebCore::ScriptController::processingUserGesture):
3107         (WebCore::ScriptController::isJavaScriptAnchorNavigation):
3108         * bindings/js/ScriptController.h:
3109         (WebCore::ScriptController::setProcessingTimerCallback):
3110         * bindings/v8/ScriptController.cpp:
3111         (WebCore::ScriptController::ScriptController):
3112         (WebCore::ScriptController::processingUserGesture):
3113         * bindings/v8/ScriptController.h:
3114         (WebCore::ScriptController::setProcessingTimerCallback):
3115         * dom/Event.cpp:
3116         (WebCore::Event::fromUserGesture):
3117         * dom/Event.h:
3118         * dom/UserGestureIndicator.cpp:
3119         (WebCore::UserGestureIndicator::UserGestureIndicator):
3120         (WebCore::UserGestureIndicator::~UserGestureIndicator):
3121         * dom/UserGestureIndicator.h:
3122         (WebCore::UserGestureIndicator::processingUserGesture):
3123         (WebCore::UserGestureIndicator::getUserGestureState):
3124         * html/HTMLMediaElement.cpp:
3125         (WebCore::HTMLMediaElement::removedFromDocument):
3126         (WebCore::HTMLMediaElement::load):
3127         (WebCore::HTMLMediaElement::play):
3128         (WebCore::HTMLMediaElement::pause):
3129         (WebCore::HTMLMediaElement::beginScrubbing):
3130         (WebCore::HTMLMediaElement::resume):
3131         (WebCore::HTMLMediaElement::processingUserGesture):
3132         * html/HTMLMediaElement.h:
3133         * html/HTMLMediaElement.idl:
3134         * html/HTMLVideoElement.cpp:
3135         (WebCore::HTMLVideoElement::webkitEnterFullscreen):
3136         * html/HTMLVideoElement.h:
3137         (WebCore::HTMLVideoElement::webkitEnterFullScreen):
3138         * html/HTMLVideoElement.idl:
3139         * html/MediaDocument.cpp:
3140         (WebCore::MediaDocument::defaultEventHandler):
3141         * html/shadow/MediaControlElements.cpp:
3142         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
3143         * html/shadow/TextControlInnerElements.cpp:
3144         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
3145
3146 2011-06-16  Vsevolod Vlasov  <vsevik@chromium.org>
3147
3148         Reviewed by Yury Semikhatsky.
3149
3150         Web Inspector: Cache XHR content in backend, do not use initialContentSet for XHRs.
3151         https://bugs.webkit.org/show_bug.cgi?id=61205
3152
3153         Added inspector backend cache for XHR content.
3154
3155         Tests: http/tests/inspector/network/network-xhr-async.html
3156                http/tests/inspector/network/network-xhr-sync.html
3157
3158         * CMakeLists.txt:
3159         * GNUmakefile.list.am:
3160         * WebCore.gypi:
3161         * WebCore.pro:
3162         * WebCore.vcproj/WebCore.vcproj:
3163         * WebCore.xcodeproj/project.pbxproj:
3164         * fileapi/FileReaderLoader.cpp:
3165         (WebCore::FileReaderLoader::didReceiveResponse):
3166         * fileapi/FileReaderLoader.h:
3167         * inspector/Inspector.json:
3168         * inspector/InspectorInstrumentation.cpp:
3169         (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
3170         (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
3171         (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
3172         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3173         * inspector/InspectorInstrumentation.h:
3174         (WebCore::InspectorInstrumentation::didReceiveXHRResponse):
3175         (WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
3176         (WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
3177         * inspector/InspectorResourceAgent.cpp:
3178         (WebCore::InspectorResourceAgent::willSendRequest):
3179         (WebCore::InspectorResourceAgent::didReceiveResponse):
3180         (WebCore::InspectorResourceAgent::setInitialXHRContent):
3181         (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
3182         (WebCore::InspectorResourceAgent::willLoadXHRSynchronously):
3183         (WebCore::InspectorResourceAgent::didLoadXHRSynchronously):
3184         (WebCore::InspectorResourceAgent::getResourceContent):
3185         (WebCore::InspectorResourceAgent::mainFrameNavigated):
3186         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3187         * inspector/InspectorResourceAgent.h:
3188         * inspector/NetworkResourcesData.cpp: Added.
3189         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
3190         (WebCore::NetworkResourcesData::ResourceData::content):
3191         (WebCore::NetworkResourcesData::ResourceData::appendContent):
3192         (WebCore::NetworkResourcesData::ResourceData::purgeContent):
3193         (WebCore::NetworkResourcesData::NetworkResourcesData):
3194         (WebCore::NetworkResourcesData::~NetworkResourcesData):
3195         (WebCore::NetworkResourcesData::resourceCreated):
3196         (WebCore::NetworkResourcesData::responseReceived):
3197         (WebCore::NetworkResourcesData::didReceiveXHRResponse):
3198         (WebCore::NetworkResourcesData::addResourceContent):
3199         (WebCore::NetworkResourcesData::isXHR):
3200         (WebCore::NetworkResourcesData::data):
3201         (WebCore::NetworkResourcesData::clear):
3202         (WebCore::NetworkResourcesData::ensureFreeSpace):
3203         * inspector/NetworkResourcesData.h: Added.
3204         (WebCore::NetworkResourcesData::ResourceData::identifier):
3205         (WebCore::NetworkResourcesData::ResourceData::loaderId):
3206         (WebCore::NetworkResourcesData::ResourceData::frameId):
3207         (WebCore::NetworkResourcesData::ResourceData::setFrameId):
3208         (WebCore::NetworkResourcesData::ResourceData::url):
3209         (WebCore::NetworkResourcesData::ResourceData::setUrl):
3210         (WebCore::NetworkResourcesData::ResourceData::isXHR):
3211         (WebCore::NetworkResourcesData::ResourceData::setIsXHR):
3212         (WebCore::NetworkResourcesData::ResourceData::hasContent):
3213         (WebCore::NetworkResourcesData::ResourceData::isContentPurged):
3214         (WebCore::NetworkResourcesData::ResourceData::setIsContentPurged):
3215         * inspector/front-end/NetworkManager.js:
3216         (WebInspector.NetworkManager.prototype.requestContent):
3217         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
3218         * inspector/front-end/NetworkPanel.js:
3219         (WebInspector.NetworkPanel.prototype._appendResource):
3220         (WebInspector.NetworkPanel.prototype._frameNavigated):
3221         * loader/DocumentThreadableLoader.cpp:
3222         (WebCore::DocumentThreadableLoader::didReceiveResponse):
3223         (WebCore::DocumentThreadableLoader::receivedCancellation):
3224         (WebCore::DocumentThreadableLoader::loadRequest):
3225         * loader/DocumentThreadableLoader.h:
3226         * loader/ThreadableLoaderClient.h:
3227         (WebCore::ThreadableLoaderClient::didReceiveResponse):
3228         (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
3229         * loader/ThreadableLoaderClientWrapper.h:
3230         (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
3231         (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
3232         * loader/WorkerThreadableLoader.cpp:
3233         (WebCore::workerContextDidReceiveResponse):
3234         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
3235         (WebCore::workerContextDidReceiveAuthenticationCancellation):
3236         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
3237         * loader/WorkerThreadableLoader.h:
3238         * notifications/Notification.cpp:
3239         (WebCore::Notification::didReceiveResponse):
3240         (WebCore::Notification::didReceiveAuthenticationCancellation):
3241         * notifications/Notification.h:
3242         * page/EventSource.cpp:
3243         (WebCore::EventSource::didReceiveResponse):
3244         * page/EventSource.h:
3245         * workers/WorkerScriptLoader.cpp:
3246         (WebCore::WorkerScriptLoader::didReceiveResponse):
3247         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
3248         * workers/WorkerScriptLoader.h:
3249         * xml/XMLHttpRequest.cpp:
3250         (WebCore::XMLHttpRequest::createRequest):
3251         (WebCore::XMLHttpRequest::didReceiveResponse):
3252         (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
3253         * xml/XMLHttpRequest.h:
3254
3255 2011-06-16  Hayato Ito  <hayato@chromium.org>
3256
3257         Reviewed by Hajime Morita.
3258
3259         Show child elements of a shadow host in Node::showTreeForThisAcrossFrame.
3260         https://bugs.webkit.org/show_bug.cgi?id=62782
3261
3262         To make an implementation simple, get rid of traverseNextNodeAcrossFrame
3263         and traverse each Node recursively.
3264
3265         No new tests since the function is only available in debug builds.
3266
3267         * dom/Node.cpp:
3268         (WebCore::showSubTreeAcrossFrame):
3269         (WebCore::Node::showTreeForThisAcrossFrame):
3270
3271 2011-06-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3272
3273         Reviewed by Kent Tamura.
3274
3275         [EFL] Move Initialization of defaultFontSize to top of file.
3276         https://bugs.webkit.org/show_bug.cgi?id=62787
3277
3278         * platform/efl/RenderThemeEfl.cpp: Move Initialize code of defaultFontSize to top.
3279
3280 2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3281
3282         Unreviewed, rolling out r88796.
3283         http://trac.webkit.org/changeset/88796
3284         https://bugs.webkit.org/show_bug.cgi?id=62790
3285
3286         It made fast/dom/nodesFromRect-basic.html time out on Qt,
3287         64-bit, debug mode (Requested by Ossy on #webkit).
3288
3289         * bridge/qt/qt_runtime.cpp:
3290         (JSC::Bindings::convertValueToQVariant):
3291
3292 2011-06-16  Adam Barth  <abarth@webkit.org>
3293
3294         Reviewed by Eric Seidel.
3295
3296         Remove HTMLVideoElement::processingUserGesture
3297         https://bugs.webkit.org/show_bug.cgi?id=62784
3298
3299         HTMLMediaElement shouldn't have its own notion of the user gesture
3300         state.  It should just use the normal user gesture state.  Also,
3301         there's no point in having the bindings send the user gesture state in
3302         a boolean parameter.
3303
3304         * WebCore.exp.in:
3305         * html/HTMLMediaElement.cpp:
3306         (WebCore::HTMLMediaElement::removedFromDocument):
3307         (WebCore::HTMLMediaElement::load):
3308         (WebCore::HTMLMediaElement::play):
3309         (WebCore::HTMLMediaElement::pause):
3310         (WebCore::HTMLMediaElement::beginScrubbing):
3311         (WebCore::HTMLMediaElement::resume):
3312         * html/HTMLMediaElement.h:
3313         * html/HTMLMediaElement.idl:
3314         * html/HTMLVideoElement.cpp:
3315         (WebCore::HTMLVideoElement::webkitEnterFullscreen):
3316         * html/HTMLVideoElement.h:
3317         (WebCore::HTMLVideoElement::webkitEnterFullScreen):
3318         * html/HTMLVideoElement.idl:
3319         * html/MediaDocument.cpp:
3320         (WebCore::MediaDocument::defaultEventHandler):
3321         * html/shadow/MediaControlElements.cpp:
3322         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
3323
3324 2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3325
3326         Unreviewed, rolling out r89011.
3327         http://trac.webkit.org/changeset/89011
3328         https://bugs.webkit.org/show_bug.cgi?id=62789
3329
3330         Broke mac build (Requested by vitalyr_ on #webkit).
3331
3332         * platform/chromium/ScrollAnimatorChromiumMac.h:
3333         * platform/chromium/ScrollAnimatorChromiumMac.mm:
3334         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
3335         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
3336         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
3337         (WebCore::ScrollAnimatorChromiumMac::scroll):
3338         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
3339         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
3340         (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
3341         (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
3342         (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
3343         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
3344         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
3345
3346 2011-06-16  Sailesh Agrawal  <sail@chromium.org>
3347
3348         Reviewed by James Robinson.
3349
3350         [Chromium] Update forked ScrollAnimatorChromiumMac.mm/h
3351         https://bugs.webkit.org/show_bug.cgi?id=62779
3352
3353         Updated ScrollAnimatorChromiumMac.mm/h with the latest code in WebCore/platform/mac/ScrollAnimatorMac.mm/h
3354
3355         * platform/chromium/ScrollAnimatorChromiumMac.h:
3356         (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate):
3357         (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate):
3358         * platform/chromium/ScrollAnimatorChromiumMac.mm:
3359         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
3360         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
3361         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
3362         (WebCore::ScrollAnimatorChromiumMac::scroll):
3363         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation):
3364         (WebCore::isScrollingLeftAndShouldNotRubberBand):
3365         (WebCore::isScrollingRightAndShouldNotRubberBand):
3366         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
3367         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
3368         (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
3369         (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
3370         (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
3371         (WebCore::ScrollAnimatorChromiumMac::setIsActive):
3372         (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
3373         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
3374         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
3375         (wkScrollbarPainterControllerStyle):
3376
3377 2011-06-15  Mikhail Naganov  <mnaganov@chromium.org>
3378
3379         Reviewed by Pavel Feldman.
3380
3381         WebInspector [Chromium]: Make heap snapshots UI more responsive.
3382         https://bugs.webkit.org/show_bug.cgi?id=62360
3383
3384         Two changes have been made:
3385           - when we request elements, sort array only partially;
3386           - when populating children, do it in batches;
3387
3388         * WebCore.gypi:
3389         * WebCore.vcproj/WebCore.vcproj:
3390         * inspector/front-end/DetailedHeapshotGridNodes.js:
3391         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
3392         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
3393         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
3394         * inspector/front-end/HeapSnapshot.js:
3395         (WebInspector.HeapSnapshotFilteredOrderedIterator):
3396         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
3397         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
3398         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
3399         (WebInspector.HeapSnapshotNodesProvider.prototype.sort):
3400         * inspector/front-end/HeapSnapshotWorker.js:
3401         * inspector/front-end/PartialQuickSort.js: Added.
3402         * inspector/front-end/WebKit.qrc:
3403         * inspector/front-end/inspector.html:
3404
3405 2011-06-15  Adam Barth  <abarth@webkit.org>
3406
3407         Reviewed by Eric Seidel.
3408
3409         Remove Event::fromUserGesture
3410         https://bugs.webkit.org/show_bug.cgi?id=62778
3411
3412         This function is a remnant from the old user-gesture design.  The list
3413         of events here is redundant with our selection of call sites for
3414         setting the user gesture indicator.
3415
3416         As part of this patch, I've also cleaned up the implementation of
3417         UserGestureIndicator itself to always be definite about whether we're
3418         processing a user gesture.  We now start out in a definite state (no
3419         user gesture) and inductively state in a definite state.
3420
3421         * WebCore.exp.in:
3422         * bindings/js/ScriptController.cpp:
3423         (WebCore::ScriptController::processingUserGesture):
3424         * bindings/v8/ScriptController.cpp:
3425         (WebCore::ScriptController::processingUserGesture):
3426         * dom/Event.cpp:
3427         * dom/Event.h:
3428         * dom/UserGestureIndicator.cpp:
3429         (WebCore::isDefinite):
3430         (WebCore::UserGestureIndicator::UserGestureIndicator):
3431         (WebCore::UserGestureIndicator::~UserGestureIndicator):
3432         * dom/UserGestureIndicator.h:
3433         (WebCore::UserGestureIndicator::processingUserGesture):
3434         * html/MediaDocument.cpp:
3435         (WebCore::MediaDocument::defaultEventHandler):
3436         * html/shadow/MediaControlElements.cpp:
3437         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
3438         * html/shadow/TextControlInnerElements.cpp:
3439         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
3440
3441 2011-06-08  Keishi Hattori  <keishi@webkit.org>
3442
3443         Reviewed by Kent Tamura.
3444
3445         Fix range element not updating when value attribute is set with JS
3446         https://bugs.webkit.org/show_bug.cgi?id=61857
3447
3448         Test: fast/forms/range-set-attribute.html
3449
3450         * html/RangeInputType.cpp:
3451         (WebCore::RangeInputType::minOrMaxAttributeChanged): Changed to only sanitize the value when the dirty value flag is true.
3452
3453 2011-06-15  Adam Barth  <abarth@webkit.org>
3454
3455         Unreviewed.  (Technically I should get this reviewed, but I
3456         accidentally committed part of this patch in my previous commit,
3457         causing a build break.)
3458
3459         Remove ScriptController::m_processingTimerCallback
3460         https://bugs.webkit.org/show_bug.cgi?id=62776
3461
3462         This variable is unused.  (It used to be used in a user gesture detection hack.)
3463
3464         * bindings/js/ScheduledAction.cpp:
3465         (WebCore::ScheduledAction::execute):
3466         * bindings/js/ScriptController.cpp:
3467         (WebCore::ScriptController::ScriptController):
3468         * bindings/js/ScriptController.h:
3469         * bindings/v8/ScriptController.cpp:
3470         (WebCore::ScriptController::ScriptController):
3471         * bindings/v8/ScriptController.h:
3472
3473 2011-06-15  Kent Tamura  <tkent@chromium.org>
3474
3475         Reviewed by Dimitri Glazkov.
3476
3477         [Chromium][Qt] Some slider clicking tests fail.
3478         https://bugs.webkit.org/show_bug.cgi?id=62683
3479
3480         When we pressed a mouse button on a slider thumb,
3481         SliderThumbElement::startDragging() were called twice.
3482          - From SliderThumbElement::defaultEventHandler(), and
3483          - from RangeInputType::handleMouseDownEvent()
3484         The latter is not needed. We should call setDefaultHandled() correctly.
3485
3486         * html/RangeInputType.cpp:
3487         (WebCore::RangeInputType::handleMouseDownEvent): Calls setDefaultHandled()
3488         * html/shadow/SliderThumbElement.cpp:
3489         (WebCore::SliderThumbElement::setPositionFromPoint): Remove FIXME comments.
3490         (WebCore::SliderThumbElement::defaultEventHandler): Calls setDefaultHandled()
3491
3492 2011-06-15  Adam Barth  <abarth@webkit.org>
3493
3494         Reviewed by Anders Carlsson.
3495
3496         Remove ScriptController::isJavaScriptAnchorNavigation
3497         https://bugs.webkit.org/show_bug.cgi?id=62775
3498
3499         This function no longer plays a role in the user gesture code now that
3500         we're not encoding the user gesture state into the ScriptSourceCode
3501         URL.
3502
3503         * bindings/js/ScriptController.cpp:
3504         (WebCore::ScriptController::processingUserGesture):
3505         * bindings/js/ScriptController.h:
3506         * bindings/v8/ScriptController.cpp:
3507         (WebCore::ScriptController::processingUserGesture):
3508
3509 2011-06-15  Adam Barth  <abarth@webkit.org>
3510
3511         Reviewed by Eric Seidel.
3512
3513         Remove ScriptController::setAllowPopupsFromPlugin
3514         https://bugs.webkit.org/show_bug.cgi?id=62706
3515
3516         This API is just a poor man's UserGestureIndicator.  We should use the
3517         real deal.
3518
3519         * bindings/js/ScriptController.cpp:
3520         (WebCore::ScriptController::ScriptController):
3521         (WebCore::ScriptController::processingUserGesture):
3522         * bindings/js/ScriptController.h:
3523         * bindings/v8/NPV8Object.cpp:
3524         (_NPN_EvaluateHelper):
3525         * bindings/v8/ScriptController.cpp:
3526         (WebCore::ScriptController::ScriptController):
3527         (WebCore::ScriptController::processingUserGesture):
3528         * bindings/v8/ScriptController.h:
3529
3530 2011-06-15  Adam Barth  <abarth@webkit.org>
3531
3532         Reviewed by Eric Seidel.
3533
3534         Remove forceUserGesture bool in favor of UserGestureIndicator
3535         https://bugs.webkit.org/show_bug.cgi?id=62702
3536
3537         This patch is an intermediate step towards removing the
3538         forceUserGesture bool.  In this patch, we use the user gesture
3539         indicator to store the gesture state instead of encoding it in the URL
3540         of the script source code.  In a future patch, we'll push the indicator
3541         higher up the stack, closer to the reason for setting it.
3542
3543         * bindings/ScriptControllerBase.cpp:
3544         (WebCore::ScriptController::executeScript):
3545         (WebCore::ScriptController::executeIfJavaScriptURL):
3546         * bindings/js/ScriptController.cpp:
3547         (WebCore::ScriptController::executeScriptInWorld):
3548
3549 2011-06-15  Rob Buis  <rbuis@rim.com>
3550
3551         Reviewed by Darin Adler.
3552
3553         Try to use fastGetAttribute where possible
3554         https://bugs.webkit.org/show_bug.cgi?id=62747
3555
3556         Use the fast versions of get/hasAttribute where we can.
3557
3558         No new tests since this is a simple cleanup.
3559
3560         * svg/SVGAElement.cpp:
3561         (WebCore::SVGAElement::title):
3562         (WebCore::SVGAElement::defaultEventHandler):
3563         * svg/SVGAltGlyphElement.cpp:
3564         (WebCore::SVGAltGlyphElement::glyphRef):
3565         (WebCore::SVGAltGlyphElement::format):
3566         (WebCore::SVGAltGlyphElement::glyphElement):
3567         * svg/SVGAnimateMotionElement.cpp:
3568         (WebCore::SVGAnimateMotionElement::rotateMode):
3569         (WebCore::SVGAnimateMotionElement::animationPath):
3570         * svg/SVGAnimationElement.cpp:
3571         (WebCore::SVGAnimationElement::animationMode):
3572         (WebCore::SVGAnimationElement::calcMode):
3573         (WebCore::SVGAnimationElement::attributeType):
3574         (WebCore::SVGAnimationElement::toValue):
3575         (WebCore::SVGAnimationElement::byValue):
3576         (WebCore::SVGAnimationElement::fromValue):
3577         (WebCore::SVGAnimationElement::isAdditive):
3578         (WebCore::SVGAnimationElement::isAccumulated):
3579         (WebCore::SVGAnimationElement::startedActiveInterval):
3580         * svg/SVGElement.cpp:
3581         (WebCore::SVGElement::xmlbase):
3582         * svg/SVGFontElement.cpp:
3583         (WebCore::SVGFontElement::ensureGlyphCache):
3584         * svg/SVGFontFaceElement.cpp:
3585         (WebCore::SVGFontFaceElement::unitsPerEm):
3586         (WebCore::SVGFontFaceElement::xHeight):
3587         (WebCore::SVGFontFaceElement::horizontalOriginX):
3588         (WebCore::SVGFontFaceElement::horizontalOriginY):
3589         (WebCore::SVGFontFaceElement::horizontalAdvanceX):
3590         (WebCore::SVGFontFaceElement::verticalOriginX):
3591         (WebCore::SVGFontFaceElement::verticalOriginY):
3592         (WebCore::SVGFontFaceElement::verticalAdvanceY):
3593         (WebCore::SVGFontFaceElement::ascent):
3594         (WebCore::SVGFontFaceElement::descent):
3595         * svg/SVGFontFaceNameElement.cpp:
3596         (WebCore::SVGFontFaceNameElement::srcValue):
3597         * svg/SVGFontFaceUriElement.cpp:
3598         (WebCore::SVGFontFaceUriElement::srcValue):
3599         (WebCore::SVGFontFaceUriElement::loadFont):
3600         * svg/SVGGlyphElement.cpp:
3601         (WebCore::parseSVGGlyphAttribute):
3602         (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
3603         (WebCore::SVGGlyphElement::buildGlyphIdentifier):
3604         * svg/SVGHKernElement.cpp:
3605         (WebCore::SVGHKernElement::buildHorizontalKerningPair):
3606         * svg/SVGSVGElement.cpp:
3607         (WebCore::SVGSVGElement::contentScriptType):
3608         (WebCore::SVGSVGElement::contentStyleType):
3609         * svg/SVGStyleElement.cpp:
3610         (WebCore::SVGStyleElement::type):
3611         (WebCore::SVGStyleElement::media):
3612         (WebCore::SVGStyleElement::title):
3613         * svg/SVGVKernElement.cpp:
3614         (WebCore::SVGVKernElement::buildVerticalKerningPair):
3615         * svg/animation/SVGSMILElement.cpp:
3616         (WebCore::SVGSMILElement::insertedIntoDocument):
3617         (WebCore::SVGSMILElement::parseMappedAttribute):
3618         (WebCore::SVGSMILElement::restart):
3619         (WebCore::SVGSMILElement::fill):
3620         (WebCore::SVGSMILElement::xlinkHref):
3621         (WebCore::SVGSMILElement::dur):
3622         (WebCore::SVGSMILElement::repeatDur):
3623         (WebCore::SVGSMILElement::repeatCount):
3624         (WebCore::SVGSMILElement::maxValue):
3625         (WebCore::SVGSMILElement::minValue):
3626
3627 2011-06-15  Abhishek Arya  <inferno@chromium.org>
3628
3629         Reviewed by Antti Koivisto.
3630
3631         Revert speculative fix in r84151. It caused some issues with
3632         stylesheet lifetimes.
3633         https://bugs.webkit.org/show_bug.cgi?id=62586
3634
3635         Tests: fast/dom/body-clone-link-decl-parent-crash.html
3636                fast/dom/styled-clone-inline-style-decl-parent-crash.html
3637                fast/dom/styled-not-in-document-clone-inline-style-decl-parent-crash.html
3638
3639         * dom/Document.cpp:
3640         (WebCore::Document::removedLastRef):
3641
3642 2011-06-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3643
3644         Reviewed by Kent Tamura.
3645
3646         [EFL] Implement animationXXX functions for Progress Tag
3647         https://bugs.webkit.org/show_bug.cgi?id=62713
3648
3649         Progress tag need to implement acnimationXXX functions in order to show animation of 
3650         progress tag. Because, RenderProgress decides to show update progress bar's animation
3651         according to the functions.
3652
3653         * platform/efl/RenderThemeEfl.cpp:
3654         (WebCore::RenderThemeEfl::animationRepeatIntervalForProgressBar):
3655         (WebCore::RenderThemeEfl::animationDurationForProgressBar):
3656         * platform/efl/RenderThemeEfl.h:
3657
3658 2011-06-15  Sam Weinig  <sam@webkit.org>
3659
3660         Reviewed by Alexey Proskuryakov.
3661
3662         Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
3663         https://bugs.webkit.org/show_bug.cgi?id=62764
3664
3665         This is an non-reproducible high volume crash, so no test :(. 
3666
3667         * loader/DocumentLoader.cpp:
3668         (WebCore::DocumentLoader::detachFromFrame):
3669         Be conservative and stop loading when we detach a document loader from a frame.
3670
3671 2011-06-15  Beth Dakin  <bdakin@apple.com>
3672
3673         Reviewed by Simon Fraser.
3674
3675         https://bugs.webkit.org/show_bug.cgi?id=62746
3676         Crash possible when switching scrollbar appearance preference on Mac
3677         -and corresponding-
3678         <rdar://problem/9323983>
3679         
3680         This crash happens because the current mechanism that is intended to flag 
3681         ScrollAnimators as being in the page cache or not does not work correctly. 
3682         Long-term the fix for this is to move the ScrollableArea HashSet to a more 
3683         appropriate place. In the meantime, this patch addresses the crash by getting 
3684         rid of the m_isActive bool on ScrollAnimator that was intended to represent 
3685         whether or not the ScrollableArea is in the page cache. Instead, ScrollableArea 
3686         implementations now have their own functions to compute whether they are in 
3687         active pages. ScrollAnimator::setIsActive() needs to be kept around even though 
3688         there is no bool to flip anymore because scrollbars may need to be properly 
3689         updated if the appearance was switched while the document was in the page cache.
3690
3691         No longer call FrameView::setAnimatorsAreActive() from 
3692         Document::setIsInPageCache(), instead call it in 
3693         Document::documentDidBecomeActive()
3694         * dom/Document.cpp:
3695         (WebCore::Document::setInPageCache):
3696         (WebCore::Document::documentDidBecomeActive):
3697
3698         ScrollableAreas can now assess whether or not they are on active pages (ie, not 
3699         in the page cache).
3700         * platform/ScrollableArea.h:
3701         (WebCore::ScrollableArea::isOnActivePage):
3702         * rendering/RenderLayer.cpp:
3703         (WebCore::RenderLayer::isOnActivePage):
3704         * rendering/RenderLayer.h:
3705         * rendering/RenderListBox.cpp:
3706         (WebCore::RenderListBox::isOnActivePage):
3707         * rendering/RenderListBox.h:
3708
3709         A FrameView cannot access its Document when it's in the page cache, so it 
3710         usually determines whether it's in the page cache by checking if its frame 
3711         points to a FrameView other than itself.
3712         * page/FrameView.cpp:
3713         (WebCore::FrameView::isOnActivePage):
3714         
3715         Make sure ScrollableAreas are on active pages before setting them as 
3716         active. This will not be necessary when the HashSet become a per-web page 
3717         HashSet.
3718         (WebCore::FrameView::setAnimatorsAreActive):
3719         * page/FrameView.h:
3720         
3721         ScrollAnimator no longer tracks the m_isActive bool. 
3722         * platform/ScrollAnimator.cpp:
3723         (WebCore::ScrollAnimator::ScrollAnimator):
3724         * platform/ScrollAnimator.h:
3725         (WebCore::ScrollAnimator::setIsActive):
3726         
3727         setIsActive() now exclusively calls updateScrollStyle() if there is a pending 
3728         need to do so.
3729         * platform/mac/ScrollAnimatorMac.h:
3730         * platform/mac/ScrollAnimatorMac.mm:
3731         (WebCore::ScrollAnimatorMac::setIsActive):
3732         
3733         Return early if the ScrollableArea is in the page cache. 
3734         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
3735
3736 2011-06-15  Simon Fraser  <simon.fraser@apple.com>
3737
3738         Reviewed by Dan Bernstein.
3739
3740         Have Document keep track of whether scroll listeners are registered
3741         https://bugs.webkit.org/show_bug.cgi?id=62757
3742         
3743         To avoid extra work dispatching scroll events when there are no listeners,
3744         have Document keep track of whether any scroll listeners are registered,
3745         just like it does for some other event types.
3746
3747         * dom/Document.cpp:
3748         (WebCore::Document::addListenerTypeIfNeeded):
3749         * dom/Document.h:
3750         * dom/EventQueue.cpp:
3751         (WebCore::EventQueue::enqueueOrDispatchScrollEvent):
3752
3753 2011-06-15  Dimitri Glazkov  <dglazkov@chromium.org>
3754
3755         Reviewed by Adam Barth.
3756
3757         Clarify FileChooser creation code.
3758         https://bugs.webkit.org/show_bug.cgi?id=62756
3759
3760         initialize() method is only used once and that is not obvious, so just fold it into the create method.
3761
3762         Refactoring, no change in behavior.
3763
3764         * platform/FileChooser.cpp:
3765         (WebCore::FileChooser::create): Folded initialize() code there.
3766         * platform/FileChooser.h: Removed decl.
3767
3768 2011-06-15  Eric Carlson  <eric.carlson@apple.com>
3769
3770         Reviewed by Alexey Proskuryakov.
3771
3772         MediaPlayerPrivate should not know about application cache
3773         https://bugs.webkit.org/show_bug.cgi?id=62648
3774
3775         Test: http/tests/appcache/video.html
3776
3777         * html/HTMLMediaElement.cpp:
3778         (WebCore::createFileURLForApplicationCacheResource): Create a url for a file
3779             in the application cache folder.
3780         (WebCore::HTMLMediaElement::loadResource): Change url to point to file in the application
3781             cache if necessary.
3782         (WebCore::HTMLMediaElement::mediaLoadingFailed): Split failure logic out of setNetworkState
3783             so it can be called when asked to load a file that is not in the application cache.
3784         (WebCore::HTMLMediaElement::setNetworkState): Move failure logic out to mediaLoadingFailed.
3785         * html/HTMLMediaElement.h:
3786
3787         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3788         (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Remove app cache logic.
3789         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3790
3791         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
3792         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.
3793
3794         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3795         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3796         (WebCore::MediaPlayerPrivateQTKit::loadInternal): Ditto.
3797
3798         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3799         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Ditto.
3800
3801 2011-06-15  Mark Pilgrim  <pilgrim@chromium.org>
3802
3803         Reviewed by Tony Chang.
3804
3805         IndexedDB: indexedDB.open() name argument is required
3806         https://bugs.webkit.org/show_bug.cgi?id=62398
3807
3808         Test: storage/indexeddb/database-name-undefined.html
3809
3810         * storage/IDBFactory.idl: use appropriate IDL magic to force undefined values to null, so we handle missing arguments as well as null arguments
3811
3812 2011-06-15  Tony Chang  <tony@chromium.org>
3813
3814         Reviewed by Ojan Vafai.
3815
3816         Rename RenderFlexibleBox to RenderDeprecatedFlexibleBox
3817         https://bugs.webkit.org/show_bug.cgi?id=62670
3818
3819         * CMakeLists.txt:
3820         * GNUmakefile.list.am:
3821         * WebCore.gypi:
3822         * WebCore.order:
3823         * WebCore.pro:
3824         * WebCore.vcproj/WebCore.vcproj:
3825         * WebCore.xcodeproj/project.pbxproj:
3826         * html/shadow/MediaControlElements.cpp:
3827         (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
3828         (WebCore::RenderMediaControlTimeDisplay::layout):
3829         * html/shadow/SliderThumbElement.cpp:
3830         (WebCore::RenderSliderContainer::RenderSliderContainer):
3831         (WebCore::RenderSliderContainer::layout):
3832         * rendering/RenderBlock.cpp:
3833         (WebCore::RenderBlock::createAnonymousBlock):
3834         * rendering/RenderBox.cpp:
3835         * rendering/RenderButton.cpp:
3836         (WebCore::RenderButton::RenderButton):
3837         (WebCore::RenderButton::addChild):
3838         (WebCore::RenderButton::removeChild):
3839         * rendering/RenderButton.h:
3840         * rendering/RenderDeprecatedFlexibleBox.cpp:
3841         (WebCore::FlexBoxIterator::FlexBoxIterator):
3842         (WebCore::FlexBoxIterator::reset):
3843         (WebCore::FlexBoxIterator::first):
3844         (WebCore::FlexBoxIterator::next):
3845         (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
3846         (WebCore::RenderDeprecatedFlexibleBox::~RenderDeprecatedFlexibleBox):
3847         (WebCore::marginWidthForChild):
3848         (WebCore::RenderDeprecatedFlexibleBox::calcHorizontalPrefWidths):
3849         (WebCore::RenderDeprecatedFlexibleBox::calcVerticalPrefWidths):
3850         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
3851         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
3852         (WebCore::gatherFlexChildrenInfo):
3853         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
3854         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
3855         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
3856         (WebCore::RenderDeprecatedFlexibleBox::placeChild):
3857         (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
3858         (WebCore::RenderDeprecatedFlexibleBox::renderName):
3859         * rendering/RenderDeprecatedFlexibleBox.h:
3860         (WebCore::RenderDeprecatedFlexibleBox::avoidsFloats):
3861         (WebCore::RenderDeprecatedFlexibleBox::isFlexibleBox):
3862         (WebCore::RenderDeprecatedFlexibleBox::isFlexingChildren):
3863         (WebCore::RenderDeprecatedFlexibleBox::isStretchingChildren):
3864         (WebCore::RenderDeprecatedFlexibleBox::hasMultipleLines):
3865         (WebCore::RenderDeprecatedFlexibleBox::isVertical):
3866         (WebCore::RenderDeprecatedFlexibleBox::isHorizontal):
3867         * rendering/RenderDetails.h: Removed the header since it wasn't actually
3868               needed.  Looks like a copy/paste error from RenderButton.h.
3869         * rendering/RenderFullScreen.cpp:
3870         (RenderFullScreen::RenderFullScreen):
3871         (RenderFullScreen::destroy):
3872         * rendering/RenderFullScreen.h:
3873         * rendering/RenderMenuList.cpp:
3874         (WebCore::RenderMenuList::RenderMenuList):
3875         (WebCore::RenderMenuList::createInnerBlock):
3876         (WebCore::RenderMenuList::removeChild):
3877         * rendering/RenderMenuList.h:
3878         * rendering/RenderObject.cpp:
3879         (WebCore::RenderObject::createObject):
3880         * rendering/RenderingAllInOne.cpp:
3881
3882 2011-06-15  Alexander Pavlov  <apavlov@chromium.org>
3883
3884         Reviewed by Pavel Feldman.
3885
3886         Web Inspector: Serious performance regression during continuous focused element style updates
3887         https://bugs.webkit.org/show_bug.cgi?id=61038
3888
3889         Inline style invalidation events are coalesced in the backend and sent over the wire on timer.
3890
3891         * inspector/Inspector.json:
3892         * inspector/InspectorDOMAgent.cpp:
3893         (WebCore::RevalidateStyleAttributeTask::onTimer):
3894         (WebCore::InspectorDOMAgent::getAttributes):
3895         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
3896         (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
3897         * inspector/InspectorDOMAgent.h:
3898         * inspector/InspectorStyleSheet.cpp:
3899         (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
3900         (WebCore::InspectorStyleSheetForInlineStyle::text):
3901         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
3902         (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
3903         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
3904         * inspector/InspectorStyleSheet.h:
3905         * inspector/front-end/DOMAgent.js:
3906         (WebInspector.DOMAgent):
3907         (WebInspector.DOMAgent.prototype._attributesUpdated):
3908         (WebInspector.DOMAgent.prototype._loadNodeAttributesSoon):
3909         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
3910         (WebInspector.DOMDispatcher.prototype.attributesUpdated):
3911         (WebInspector.DOMDispatcher.prototype.inlineStyleInvalidated):
3912
3913 2011-06-15  Jer Noble  <jer.noble@apple.com>
3914
3915         Reviewed by Timothy Hatcher.
3916
3917         Full-screen live streams have status text in wrong location
3918         https://bugs.webkit.org/show_bug.cgi?id=62733
3919
3920         Fix a misspelling in the user-agent stylesheet for full-screen mode.
3921
3922         * css/fullscreenQuickTime.css:
3923         (video:-webkit-full-screen::-webkit-media-controls-status-display):
3924
3925 2011-06-14  Jer Noble  <jer.noble@apple.com>
3926
3927         Reviewed by Eric Carlson.
3928
3929         (AVFoundation) Apple event video appears as live stream and is not seekable
3930         https://bugs.webkit.org/show_bug.cgi?id=62694
3931
3932         No new tests; There are no media-player port specific tests yet.
3933
3934         Work around a bug in apple.com live stream javascript controller library.  When an AVAsset returns an indefinite time
3935         for its duration, return 0 if the asset has no tracks, and infinity otherwise.  This keeps the apple.com controller 
3936         from identifying the stored stream as a live stream.
3937
3938         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3939         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
3940
3941 2011-06-15  Andrey Kosyakov  <caseq@chromium.org>
3942
3943        Unreviewed, rolled out r88937 (broke build on mac)
3944
3945         * CMakeLists.txt:
3946         * GNUmakefile.list.am:
3947         * WebCore.gypi:
3948         * WebCore.pro:
3949         * WebCore.vcproj/WebCore.vcproj:
3950         * WebCore.xcodeproj/project.pbxproj:
3951         * fileapi/FileReaderLoader.cpp:
3952         (WebCore::FileReaderLoader::didReceiveResponse):
3953         * fileapi/FileReaderLoader.h:
3954         * inspector/Inspector.json:
3955         * inspector/InspectorInstrumentation.cpp:
3956         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3957         * inspector/InspectorInstrumentation.h:
3958         * inspector/InspectorResourceAgent.cpp:
3959         (WebCore::InspectorResourceAgent::willSendRequest):
3960         (WebCore::InspectorResourceAgent::didReceiveResponse):
3961         (WebCore::InspectorResourceAgent::setInitialXHRContent):
3962         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3963         * inspector/InspectorResourceAgent.h:
3964         * inspector/NetworkResourcesData.cpp: Removed.
3965         * inspector/NetworkResourcesData.h: Removed.
3966         * inspector/front-end/NetworkManager.js:
3967         (WebInspector.NetworkManager.prototype.requestContent):
3968         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
3969         * inspector/front-end/NetworkPanel.js:
3970         (WebInspector.NetworkPanel.prototype._appendResource):
3971         (WebInspector.NetworkPanel.prototype._frameNavigated):
3972         * loader/DocumentThreadableLoader.cpp:
3973         (WebCore::DocumentThreadableLoader::didReceiveResponse):
3974         (WebCore::DocumentThreadableLoader::receivedCancellation):
3975         (WebCore::DocumentThreadableLoader::loadRequest):
3976         * loader/DocumentThreadableLoader.h:
3977         * loader/ThreadableLoaderClientWrapper.h:
3978         (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
3979         (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
3980         * loader/WorkerThreadableLoader.cpp:
3981         (WebCore::workerContextDidReceiveResponse):
3982         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
3983         (WebCore::workerContextDidReceiveAuthenticationCancellation):
3984         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
3985         * loader/WorkerThreadableLoader.h:
3986         * notifications/Notification.cpp:
3987         (WebCore::Notification::didReceiveResponse):
3988         (WebCore::Notification::didReceiveAuthenticationCancellation):
3989         * notifications/Notification.h:
3990         * page/EventSource.cpp:
3991         (WebCore::EventSource::didReceiveResponse):
3992         * page/EventSource.h:
3993         * xml/XMLHttpRequest.cpp:
3994         (WebCore::XMLHttpRequest::createRequest):
3995         (WebCore::XMLHttpRequest::didReceiveResponse):
3996         (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
3997         * xml/XMLHttpRequest.h:
3998
3999 2011-06-15  Pavel Feldman  <pfeldman@google.com>
4000
4001         Reviewed by Yury Semikhatsky.
4002
4003         Web Inspector: introduce context menu on ImageView with Copy and Open in new tab actions.
4004         https://bugs.webkit.org/show_bug.cgi?id=62727
4005
4006         * English.lproj/localizedStrings.js:
4007         * inspector/front-end/ImageView.js:
4008         (WebInspector.ImageView.prototype._base64ToSize):
4009         (WebInspector.ImageView.prototype._contextMenu):
4010         (WebInspector.ImageView.prototype._copyImageURL):
4011         (WebInspector.ImageView.prototype._openInNewTab):
4012
4013 2011-06-15  Andrey Kosyakov  <caseq@chromium.org>
4014
4015         Reviewed by Pavel Feldman.
4016
4017         Web Inspector: provide unique identifiers for frames
4018         https://bugs.webkit.org/show_bug.cgi?id=62721
4019
4020         * inspector/InspectorInstrumentation.cpp:
4021         (WebCore::InspectorInstrumentation::frameDestroyedImpl):
4022         * inspector/InspectorInstrumentation.h:
4023         (WebCore::InspectorInstrumentation::frameDestroyed):
4024         * inspector/InspectorPageAgent.cpp:
4025         (WebCore::InspectorPageAgent::frameForId):
4026         (WebCore::InspectorPageAgent::frameId):
4027         (WebCore::InspectorPageAgent::frameDestroyed):
4028         * inspector/InspectorPageAgent.h:
4029         * page/Frame.cpp:
4030         (WebCore::Frame::~Frame):
4031
4032 2011-06-15  Andrey Kosyakov  <caseq@chromium.org>
4033
4034         Unreviewed build fix: comment unused parameter names.
4035
4036         * loader/ThreadableLoaderClient.h:
4037         (WebCore::ThreadableLoaderClient::didReceiveResponse):
4038         (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
4039
4040 2011-06-15  Pavel Podivilov  <podivilov@chromium.org>
4041
4042         Reviewed by Yury Semikhatsky.
4043
4044         Web Inspector: script select can be too wide.
4045         https://bugs.webkit.org/show_bug.cgi?id=62701
4046
4047         * inspector/front-end/ScriptsPanel.js:
4048         (WebInspector.ScriptsPanel.prototype._displayNameForScriptURL):
4049         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
4050         (WebInspector.SourceFrameDelegateForScriptsPanel):
4051         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
4052         * inspector/front-end/SourceFile.js:
4053