23bf0e00fbb537573c7455bd6d433b995de82b6a
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-05-31  Andy Estes  <aestes@apple.com>
2
3         Disentangle code that relies on USE(AUTOMATIC_TEXT_REPLACEMENT) from that which merely relies on PLATFORM(MAC)
4         https://bugs.webkit.org/show_bug.cgi?id=87933
5
6         Reviewed by Dan Bernstein.
7
8         * editing/Editor.cpp:
9         * editing/Editor.h:
10         * loader/EmptyClients.h:
11         * page/ContextMenuController.cpp:
12         (WebCore::ContextMenuController::contextMenuItemSelected):
13         * page/EditorClient.h:
14
15 2012-05-31  Dana Jansens  <danakj@chromium.org>
16
17         [chromium] Move drawing code for RenderSurfaces into LayerRendererChromium
18         https://bugs.webkit.org/show_bug.cgi?id=87877
19
20         Reviewed by James Robinson.
21
22         We add data to CCRenderSurfaceDrawQuad so that the only use of
23         CCRenderSurface directly from LayerRendererChromium is to
24         reserve, release, and use the surface's textures, and to set the
25         scissor rect. Each of these changes will be done independent
26         of this change.
27
28         Covered by existing tests.
29
30         * platform/graphics/chromium/LayerRendererChromium.cpp:
31         (WebCore::applyFilters):
32         (WebCore):
33         (WebCore::LayerRendererChromium::drawBackgroundFilters):
34         (WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
35         (WebCore::LayerRendererChromium::copyTextureToFramebuffer):
36         * platform/graphics/chromium/LayerRendererChromium.h:
37         (LayerRendererChromium):
38         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
39         (WebCore::CCLayerImpl::contentsTextureId):
40         * platform/graphics/chromium/cc/CCLayerImpl.h:
41         (CCLayerImpl):
42         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
43         (WebCore::calculateDrawTransformsAndVisibilityInternal):
44         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
45         * platform/graphics/chromium/cc/CCQuadCuller.h:
46         (CCQuadCuller):
47         * platform/graphics/chromium/cc/CCRenderPass.cpp:
48         (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
49         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
50         (WebCore):
51         (WebCore::CCRenderSurface::CCRenderSurface):
52         (WebCore::CCRenderSurface::prepareContentsTexture):
53         (WebCore::CCRenderSurface::releaseContentsTexture):
54         (WebCore::CCRenderSurface::hasValidContentsTexture):
55         (WebCore::CCRenderSurface::releaseBackgroundTexture):
56         (WebCore::CCRenderSurface::hasValidBackgroundTexture):
57         (WebCore::CCRenderSurface::hasMask):
58         (WebCore::CCRenderSurface::replicaHasMask):
59         (WebCore::CCRenderSurface::appendQuads):
60         * platform/graphics/chromium/cc/CCRenderSurface.h:
61         (WebCore):
62         (CCRenderSurface):
63         * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp:
64         (WebCore::CCRenderSurfaceDrawQuad::create):
65         (WebCore::CCRenderSurfaceDrawQuad::CCRenderSurfaceDrawQuad):
66         * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h:
67         (WebKit):
68         (CCRenderSurfaceDrawQuad):
69         (WebCore::CCRenderSurfaceDrawQuad::maskTextureId):
70         (WebCore::CCRenderSurfaceDrawQuad::filters):
71         (WebCore::CCRenderSurfaceDrawQuad::backgroundFilters):
72         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
73         (WebCore::CCTiledLayerImpl::contentsTextureId):
74         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
75         (CCTiledLayerImpl):
76
77 2012-05-31  Brady Eidson  <beidson@apple.com>
78
79         <rdar://problem/11544454> and https://bugs.webkit.org/show_bug.cgi?id=87990
80         Crashes unregistering DOMWindowProperties while releasing CachedPages
81
82         Reviewed by Jessie Berlin.
83
84         This patch rewrites DOMWindowProperty to always keep direct track of the DOMWindow
85         it has registered with and to only ever unregister from that very same DOMWindow.
86
87         No new tests. (While the direct cause of the crash is understood, reproducing it is not)
88
89         * page/DOMWindowProperty.cpp:
90         (WebCore::DOMWindowProperty::DOMWindowProperty):
91         (WebCore::DOMWindowProperty::~DOMWindowProperty):
92         (WebCore::DOMWindowProperty::disconnectFrameForPageCache):
93         (WebCore::DOMWindowProperty::reconnectFrameFromPageCache):
94         (WebCore::DOMWindowProperty::willDestroyGlobalObjectInCachedFrame):
95         (WebCore::DOMWindowProperty::willDestroyGlobalObjectInFrame):
96         (WebCore::DOMWindowProperty::willDetachGlobalObjectFromFrame):
97         * page/DOMWindowProperty.h:
98         (DOMWindowProperty):
99
100 2012-05-31  Tony Chang  <tony@chromium.org>
101
102         rename flexbox CSS properties from flex-align and flex-item-align to align-items and align-self
103         https://bugs.webkit.org/show_bug.cgi?id=87907
104
105         Reviewed by Ojan Vafai.
106
107         This was recently changed in the spec:
108         http://dev.w3.org/csswg/css3-flexbox/#align-items-property
109
110         No new tests, updated the tests to use the new naming.
111
112         * css/CSSComputedStyleDeclaration.cpp:
113         (WebCore):
114         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
115         * css/CSSParser.cpp:
116         (WebCore::isValidKeywordPropertyAndValue):
117         (WebCore::isKeywordPropertyID):
118         (WebCore::CSSParser::parseValue):
119         * css/CSSPrimitiveValueMappings.h:
120         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
121         (WebCore::CSSPrimitiveValue::operator EAlignItems):
122         * css/CSSProperty.cpp:
123         (WebCore::CSSProperty::isInheritedProperty):
124         * css/CSSPropertyNames.in:
125         * css/StyleBuilder.cpp:
126         (WebCore::StyleBuilder::StyleBuilder):
127         * css/StyleResolver.cpp:
128         (WebCore::StyleResolver::collectMatchingRulesForList):
129         * rendering/RenderBox.cpp:
130         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
131         * rendering/RenderFlexibleBox.cpp:
132         (WebCore::alignmentForChild):
133         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
134         (WebCore::RenderFlexibleBox::alignChildren):
135         * rendering/style/RenderStyle.h:
136         * rendering/style/RenderStyleConstants.h:
137         * rendering/style/StyleFlexibleBoxData.cpp:
138         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
139         (WebCore::StyleFlexibleBoxData::operator==):
140         * rendering/style/StyleFlexibleBoxData.h:
141         (StyleFlexibleBoxData): Move member variables to StyleRareNonInheritedData
142         because these values will eventually apply to more than just flexbox.
143         * rendering/style/StyleRareNonInheritedData.cpp:
144         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
145         (WebCore::StyleRareNonInheritedData::operator==):
146         * rendering/style/StyleRareNonInheritedData.h:
147         (StyleRareNonInheritedData):
148
149 2012-05-31  Ami Fischman  <fischman@chromium.org>
150
151         Replace WebMediaPlayer::bytesLoaded() with an explicit didLoadingProgress()
152         https://bugs.webkit.org/show_bug.cgi?id=86113
153
154         Reviewed by Eric Carlson.
155
156         No new functionality, so no new tests.  Loading progress is already tested by existing layouttests.
157
158         * html/HTMLMediaElement.cpp:
159         (WebCore::HTMLMediaElement::HTMLMediaElement):
160         (WebCore::HTMLMediaElement::startProgressEventTimer):
161         (WebCore::HTMLMediaElement::changeNetworkStateFromLoadingToIdle):
162         (WebCore::HTMLMediaElement::progressEventTimerFired):
163         (WebCore::HTMLMediaElement::startPlaybackProgressTimer):
164         * platform/graphics/MediaPlayer.cpp:
165         (WebCore::NullMediaPlayerPrivate::didLoadingProgress):
166         (WebCore::MediaPlayer::didLoadingProgress):
167         * platform/graphics/MediaPlayer.h:
168         * platform/graphics/MediaPlayerPrivate.h:
169         (MediaPlayerPrivateInterface):
170         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
171         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
172         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
173         (MediaPlayerPrivateAVFoundation):
174         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
175         (WebCore::MediaPlayerPrivate::didLoadingProgress):
176         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
177         (MediaPlayerPrivate):
178         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
179         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
180         (WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress):
181         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
182         (MediaPlayerPrivateGStreamer):
183         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
184         (MediaPlayerPrivateQTKit):
185         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
186         (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
187         (WebCore::MediaPlayerPrivateQTKit::didLoadingProgress):
188         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
189         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
190         (WebCore::MediaPlayerPrivateQt::didLoadingProgress):
191         * platform/graphics/qt/MediaPlayerPrivateQt.h:
192         (MediaPlayerPrivateQt):
193         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
194         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
195         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::didLoadingProgress):
196         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
197         (MediaPlayerPrivateQuickTimeVisualContext):
198         * platform/graphics/wince/MediaPlayerPrivateWinCE.h:
199         (MediaPlayerPrivate):
200
201 2012-05-31  Erik Arvidsson  <arv@chromium.org>
202
203         Make DOM Exceptions Errors
204         https://bugs.webkit.org/show_bug.cgi?id=85078
205
206         Reviewed by Oliver Hunt.
207
208         WebIDL mandates that exceptions should have Error.prototype on its prototype chain.
209
210         For JSC we have access to the Error.prototype from the binding code.
211
212         For V8 we set a field in the WrapperTypeInfo and when the constructor function is created we
213         set the prototype as needed.
214
215         Updated test: fast/dom/DOMException/prototype-object.html
216
217         * ForwardingHeaders/runtime/ErrorPrototype.h: Added.
218         * bindings/scripts/CodeGeneratorJS.pm:
219         (GenerateHeader):
220         (GenerateImplementation):
221         * bindings/scripts/CodeGeneratorV8.pm:
222         (GenerateNamedConstructorCallback):
223         (GenerateImplementation):
224         * bindings/scripts/test/JS/JSTestException.cpp:
225         (WebCore::JSTestException::createPrototype):
226         * bindings/scripts/test/JS/JSTestException.h:
227         * bindings/scripts/test/V8/V8Float64Array.cpp:
228         (WebCore):
229         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
230         (WebCore):
231         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
232         (WebCore):
233         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
234         (WebCore):
235         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
236         (WebCore):
237         * bindings/scripts/test/V8/V8TestException.cpp:
238         (WebCore):
239         * bindings/scripts/test/V8/V8TestInterface.cpp:
240         (WebCore):
241         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
242         (WebCore):
243         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
244         (WebCore):
245         * bindings/scripts/test/V8/V8TestNode.cpp:
246         (WebCore):
247         * bindings/scripts/test/V8/V8TestObj.cpp:
248         (WebCore):
249         (WebCore::V8TestObj::installPerContextProperties):
250         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
251         (WebCore):
252         * bindings/v8/NPV8Object.cpp:
253         (WebCore::npObjectTypeInfo):
254         * bindings/v8/V8BindingPerContextData.cpp:
255         (WebCore):
256         (WebCore::V8BindingPerContextData::init):
257         (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
258         (WebCore::V8BindingPerContextData::constructorForTypeSlowCase):
259         * bindings/v8/V8BindingPerContextData.h:
260         (V8BindingPerContextData):
261         * bindings/v8/V8HiddenPropertyName.h:
262         (WebCore):
263         * bindings/v8/WrapperTypeInfo.h:
264         (WebCore):
265         (WrapperTypeInfo):
266         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
267         (WebCore):
268
269 2012-05-31  Ian Vollick  <vollick@chromium.org>
270
271         [chromium] create WebTransformOperation interface for chromium platform
272         https://bugs.webkit.org/show_bug.cgi?id=87510
273
274         Reviewed by James Robinson.
275
276         Unit tests:
277             WebTransformOperationsTest.transformTypesAreUnique
278             WebTransformOperationsTest.matchesTypesSameLength
279             WebTransformOperationsTest.matchesTypesDifferentLength
280             WebTransformOperationsTest.applyTranslate
281             WebTransformOperationsTest.applyRotate
282             WebTransformOperationsTest.applyScale
283             WebTransformOperationsTest.applySkew
284             WebTransformOperationsTest.applyPerspective
285             WebTransformOperationsTest.applyMatrix
286             WebTransformOperationsTest.applyOrder
287             WebTransformOperationsTest.blendOrder
288             WebTransformOperationsTest.blendProgress
289             WebTransformOperationsTest.blendWhenTypesDoNotMatch
290
291         * WebCore.gypi:
292         * platform/chromium/support/WebTransformOperations.cpp: Added.
293         (WebKit):
294         (WebTransformOperationsPrivate):
295         (WebKit::WebTransformOperations::apply):
296         (WebKit::WebTransformOperations::blend):
297         (WebKit::WebTransformOperations::matchesTypes):
298         (WebKit::WebTransformOperations::appendTranslate):
299         (WebKit::WebTransformOperations::appendRotate):
300         (WebKit::WebTransformOperations::appendScale):
301         (WebKit::WebTransformOperations::appendSkew):
302         (WebKit::WebTransformOperations::appendPerspective):
303         (WebKit::WebTransformOperations::appendMatrix):
304         (WebKit::WebTransformOperations::reset):
305         (WebKit::WebTransformOperations::initialize):
306
307 2012-05-31  Yury Semikhatsky  <yurys@chromium.org>
308
309         m_totalAllocated should be intialized in RenderArena constructor
310         https://bugs.webkit.org/show_bug.cgi?id=87967
311
312         Reviewed by Ojan Vafai.
313
314         * rendering/RenderArena.cpp:
315         (WebCore::RenderArena::RenderArena): added missing initializer.
316
317 2012-05-31  Julien Chaffraix  <jchaffraix@webkit.org>
318
319         The difference between a column and a column group renderer is badly drawn
320         https://bugs.webkit.org/show_bug.cgi?id=87556
321
322         Reviewed by Abhishek Arya.
323
324         No expected change in behavior.
325
326         This patch tries to draw a better line between those 3 concepts:
327         - renderer is a RenderTableCol (RenderObject::isRenderTableCol).
328         - renderer is a column (RenderTableCol::isTableColumn()).
329         - renderer is a column group (RenderTableCol::isTableColumnGroup()).
330         (most of the code that needs to know the difference manipulate a RenderTableCol
331         so there was no need to move the 2 last helpers into RenderObject)
332
333         * rendering/AutoTableLayout.cpp:
334         (WebCore::AutoTableLayout::recalcColumn):
335         Factored the code to use the column / column group iteration we
336         set up in the rest of the code. Made the code more self-describing
337         by using more RenderTableCol functions.
338
339         * rendering/RenderObject.cpp:
340         (WebCore::RenderObject::addChild):
341         Factored the code to use the isTableColumn() and isTableColumnGroup() to
342         better underline what we check.
343
344         * rendering/RenderObject.h:
345         (WebCore::RenderObject::isRenderTableCol):
346         (WebCore::RenderObject::isTablePart):
347         Renamed isTableCol to isRenderTableCol to match the class as this doesn't
348         imply that the renderer is actually a column.
349
350         * html/HTMLTableColElement.cpp:
351         (WebCore::HTMLTableColElement::parseAttribute):
352         * rendering/AutoTableLayout.cpp:
353         (WebCore::AutoTableLayout::fullRecalc):
354         * rendering/RenderTable.cpp:
355         (WebCore::RenderTable::addChild):
356         (WebCore::RenderTable::layout):
357         (WebCore::RenderTable::firstColumn):
358         Updated after the isRenderTableCol rename.
359
360         * dom/Text.cpp:
361         (WebCore::Text::rendererIsNeeded):
362         * editing/htmlediting.cpp:
363         (WebCore::isTableStructureNode):
364         Ditto and renamed some variables.
365
366         * html/HTMLFormElement.cpp:
367         (WebCore::HTMLFormElement::rendererIsNeeded):
368         Ditto and added a FIXME as the logic doesn't seem very bullet proof.
369
370         * rendering/RenderTableCell.cpp:
371         (WebCore::RenderTableCell::computeCollapsedStartBorder):
372         (WebCore::RenderTableCell::computeCollapsedEndBorder):
373         (WebCore::RenderTableCell::computeCollapsedBeforeBorder):
374         (WebCore::RenderTableCell::computeCollapsedAfterBorder):
375         Changed to use the enclosingColumnGroup* helpers.
376
377         * rendering/RenderTableSection.cpp:
378         (WebCore::RenderTableSection::paintCell):
379         * rendering/RenderTableCol.cpp:
380         (WebCore::RenderTableCol::isChildAllowed):
381         (WebCore::RenderTableCol::canHaveChildren):
382         (WebCore::RenderTableCol::enclosingColumnGroup):
383         (WebCore::RenderTableCol::nextColumn):
384         Updated to use the new functions.
385
386         * rendering/RenderTableCol.h:
387         (WebCore::RenderTableCol::isTableColumn):
388         (WebCore::RenderTableCol::isTableColumnGroup):
389         (WebCore::RenderTableCol::enclosingColumnGroupIfAdjacentBefore):
390         (WebCore::RenderTableCol::enclosingColumnGroupIfAdjacentAfter):
391         Added the following new helpers.
392
393 2012-05-31  Jessie Berlin  <jberlin@apple.com>
394
395         Fix Lion build after r119073.
396
397         * platform/Decimal.cpp:
398         (WebCore::Decimal::toString):
399         Do not attempt to assign a unsigned long long to an int.
400
401 2012-05-31  Christophe Dumez  <christophe.dumez@intel.com>
402
403         [EFL] Enable CSS_IMAGE_SET flag
404         https://bugs.webkit.org/show_bug.cgi?id=87727
405
406         Reviewed by Adam Roben.
407
408         Fix CMakeLists.txt so that CSSImageSetValue.cpp gets compiled if
409         CSS_IMAGE_SET flag is enabled.
410
411         * CMakeLists.txt:
412
413 2012-05-31  Keyar Hood  <keyar@chromium.org>
414
415         the imageSmoothingEnabled flag needs to be in the state object
416         https://bugs.webkit.org/show_bug.cgi?id=87853
417
418         Reviewed by Darin Adler.
419
420         Updated fast/canvas/canvas-imageSmoothingEnabled.html instead of
421         adding a new test.
422
423         The imageSmoothingEnabled flag is saved in the draw state now.
424         * html/canvas/CanvasRenderingContext2D.cpp:
425         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
426         (WebCore::CanvasRenderingContext2D::State::State):
427         (WebCore::CanvasRenderingContext2D::State::operator=):
428         (WebCore::CanvasRenderingContext2D::webkitImageSmoothingEnabled):
429         (WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled):
430         * html/canvas/CanvasRenderingContext2D.h:
431         (State):
432
433 2012-05-31  Eugene Klyuchnikov  <eustas.bug@gmail.com>
434
435         Web Inspector: Fix checkbox position on Settings screen.
436         https://bugs.webkit.org/show_bug.cgi?id=87007
437
438         Reviewed by Yury Semikhatsky.
439
440         Checkbox seems to be improperly aligned.
441         It is "shifted" up on 1px on Mac and 2px on Linux.
442         Also, keyboard-shortcuts screen has "wrapped" key descriptions on Mac.
443
444         UI changes, no new tests.
445
446         * inspector/front-end/helpScreen.css:
447         (.help-container): Fixed column width.
448         (.help-block): Ditto.
449         (.help-key-cell): Ditto.
450         (body.platform-mac .help-container): Ditto.
451         (body.platform-mac .help-block): Ditto.
452         (body.platform-mac .help-key-cell): Ditto.
453         (.help-content p): Ajdusted spacing between lines
454         (.help-content input[type=checkbox]): Fixed alignment.
455         (body.platform-mac .help-content input[type=checkbox]): Ditto.
456         (.help-content input[type=radio]): Fixed alignment.
457         (body.platform-mac .help-content input[type=radio]): Ditto.
458
459 2012-05-30  Andreas Kling  <kling@webkit.org>
460
461         Have StylePropertySet constructor take array/length instead of vector.
462         <http://webkit.org/b/87876>
463
464         Reviewed by Antti Koivisto.
465
466         Remove the StylePropertyVector typedef and have StylePropertySet constructors
467         take CSSProperty*/length since we are copying the data into a tightly packed
468         array anyway. This frees up the call sites to use whatever storage they please
469         rather than being restricted to a vector with inlineCapacity=4.
470
471         Change said call sites to use an arbitrary high inline capacity (256) for their
472         stack-allocated temporary vectors.
473
474         * css/CSSComputedStyleDeclaration.cpp:
475         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
476         * css/CSSParser.cpp:
477         (WebCore::filterProperties):
478         (WebCore::CSSParser::createStylePropertySet):
479         * css/StylePropertySet.cpp:
480         (WebCore::StylePropertySet::createImmutable):
481         (WebCore::StylePropertySet::StylePropertySet):
482         (WebCore::StylePropertySet::removePropertiesInSet):
483         (WebCore::StylePropertySet::copyPropertiesInSet):
484         * css/StylePropertySet.h:
485         (WebCore::StylePropertySet::create):
486         (StylePropertySet):
487
488 2012-05-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
489
490         [Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5)
491         https://bugs.webkit.org/show_bug.cgi?id=87955
492
493         Reviewed by Simon Hausmann.
494
495         * bridge/qt/qt_class.cpp:
496         * bridge/qt/qt_instance.cpp:
497         * bridge/qt/qt_runtime.h:
498         * page/qt/EventHandlerQt.cpp:
499         * platform/graphics/GraphicsContext3D.h:
500         * platform/graphics/OpenGLShims.cpp:
501         * platform/graphics/OpenGLShims.h:
502         * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
503         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
504         * platform/graphics/qt/GraphicsContext3DQt.cpp:
505         * platform/graphics/qt/SimpleFontDataQt.cpp:
506         * platform/graphics/texmap/TextureMapper.h:
507         * platform/graphics/texmap/TextureMapperGL.cpp:
508         * platform/qt/DeviceMotionProviderQt.h:
509         * platform/qt/DeviceOrientationProviderQt.h:
510         * platform/qt/KURLQt.cpp:
511         * platform/qt/PlatformScreenQt.cpp:
512         * platform/qt/QWebPageClient.h:
513         * plugins/qt/PluginPackageQt.cpp:
514         * plugins/qt/PluginViewQt.cpp:
515
516 2012-05-30  Andreas Kling  <kling@webkit.org>
517
518         Have StylePropertySet constructor take array/length instead of vector.
519         <http://webkit.org/b/87876>
520
521         Reviewed by Antti Koivisto.
522
523         Remove the StylePropertyVector typedef and have StylePropertySet constructors
524         take CSSProperty*/length since we are copying the data into a tightly packed
525         array anyway. This frees up the call sites to use whatever storage they please
526         rather than being restricted to a vector with inlineCapacity=4.
527
528         Change said call sites to use an arbitrary high inline capacity (256) for their
529         stack-allocated temporary vectors.
530
531         * css/CSSComputedStyleDeclaration.cpp:
532         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
533         * css/CSSParser.cpp:
534         (WebCore::filterProperties):
535         (WebCore::CSSParser::createStylePropertySet):
536         * css/StylePropertySet.cpp:
537         (WebCore::StylePropertySet::createImmutable):
538         (WebCore::StylePropertySet::StylePropertySet):
539         (WebCore::StylePropertySet::removePropertiesInSet):
540         (WebCore::StylePropertySet::copyPropertiesInSet):
541         * css/StylePropertySet.h:
542         (WebCore::StylePropertySet::create):
543         (StylePropertySet):
544
545 2012-05-31  Mike West  <mkwst@chromium.org>
546
547         Fixing compilation with SVG disabled.
548         https://bugs.webkit.org/show_bug.cgi?id=87944
549
550         This patch adds the missing enumeration value
551         'CSSPropertyWebkitBoxDecorationBreak' into switch statements to make
552         clang happy.
553
554         Reviewed by Alexis Menard.
555
556         * css/CSSParser.cpp:
557         (WebCore::CSSParser::parseValue):
558         * css/StyleResolver.cpp:
559         (WebCore::StyleResolver::collectMatchingRulesForList):
560
561 2012-05-31  Yoshifumi Inoue  <yosin@chromium.org>
562
563         [Platform] Implementation of Decimal(int32_t) isn't portable.
564         https://bugs.webkit.org/show_bug.cgi?id=87941
565
566         Reviewed by Kent Tamura.
567
568         This patch changes negation of integer to make unsigned integer
569         in portable way.
570
571         No new tests. This patch doesn't change behavior.
572
573         * platform/Decimal.cpp:
574         (WebCore::Decimal::Decimal): Use uint64_t(-int64_t(i32)) instead of uint64_t(-i32) 
575
576 2012-05-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
577
578         [CMAKE][EFL] Remove unneeded include path
579         https://bugs.webkit.org/show_bug.cgi?id=87927
580
581         Reviewed by Kenneth Rohde Christiansen.
582
583         Though *wtf* directory was moved to Source/WTF, PlatformEfl.cmake is still including the previous
584         path. In addition, files on EFL port are using "<wtf/gobject/XXX>" directly in #include line.
585         So, EFL port doesn't need to include ${JAVASCRIPTCORE_DIR}/wtf/gobject path anymore.
586
587         * PlatformEfl.cmake: Remove '${JAVASCRIPTCORE_DIR}/wtf/gobject' path from include path list.
588
589 2012-05-31  Yoshifumi Inoue  <yosin@chromium.org>
590
591         [Platform] Introduce Decimal class for Number/Range input type.
592         https://bugs.webkit.org/show_bug.cgi?id=87360
593
594         Reviewed by Kent Tamura.
595
596         This patch added new class Decimal for decimal arithmatic in two
597         files: platform/Decimal.cpp and Decimal.h with unit test.
598
599         Test: WebKit/chromium/tests/DecimalTest.cpp
600
601         * CMakeLists.txt:
602         * GNUmakefile.list.am:
603         * Target.pri:
604         * WebCore.gypi:
605         * WebCore.vcproj/WebCore.vcproj:
606         * WebCore.xcodeproj/project.pbxproj:
607         * platform/Decimal.cpp: Added.
608         (WebCore):
609         (DecimalPrivate):
610         (SpecialValueHandler):
611         (WebCore::DecimalPrivate::SpecialValueHandler::SpecialValueHandler):
612         (WebCore::DecimalPrivate::SpecialValueHandler::handle):
613         (WebCore::DecimalPrivate::SpecialValueHandler::value):
614         (UInt128):
615         (WebCore::DecimalPrivate::UInt128::UInt128):
616         (WebCore::DecimalPrivate::UInt128::high):
617         (WebCore::DecimalPrivate::UInt128::low):
618         (WebCore::DecimalPrivate::UInt128::multiply):
619         (WebCore::DecimalPrivate::UInt128::highUInt32):
620         (WebCore::DecimalPrivate::UInt128::lowUInt32):
621         (WebCore::DecimalPrivate::UInt128::isZero):
622         (WebCore::DecimalPrivate::UInt128::makeUInt64):
623         (WebCore::DecimalPrivate::UInt128::operator/=):
624         (WebCore::DecimalPrivate::UInt128::multiplyHigh):
625         (WebCore::DecimalPrivate::countDigits):
626         (WebCore::DecimalPrivate::scaleDown):
627         (WebCore::DecimalPrivate::scaleUp):
628         (WebCore::Decimal::EncodedData::EncodedData):
629         (WebCore::Decimal::EncodedData::operator==):
630         (WebCore::Decimal::Decimal):
631         (WebCore::Decimal::operator=):
632         (WebCore::Decimal::operator+=):
633         (WebCore::Decimal::operator-=):
634         (WebCore::Decimal::operator*=):
635         (WebCore::Decimal::operator/=):
636         (WebCore::Decimal::operator-):
637         (WebCore::Decimal::operator+):
638         (WebCore::Decimal::operator*):
639         (WebCore::Decimal::operator/):
640         (WebCore::Decimal::operator==):
641         (WebCore::Decimal::operator!=):
642         (WebCore::Decimal::operator<):
643         (WebCore::Decimal::operator<=):
644         (WebCore::Decimal::operator>):
645         (WebCore::Decimal::operator>=):
646         (WebCore::Decimal::abs):
647         (WebCore::Decimal::alignOperands):
648         (WebCore::Decimal::ceiling):
649         (WebCore::Decimal::compareTo):
650         (WebCore::Decimal::floor):
651         (WebCore::Decimal::fromString):
652         (WebCore::Decimal::infinity):
653         (WebCore::Decimal::nan):
654         (WebCore::Decimal::remainder):
655         (WebCore::Decimal::round):
656         (WebCore::Decimal::toString):
657         (WebCore::Decimal::zero):
658         * platform/Decimal.h: Added.
659         (WebCore):
660         (DecimalPrivate):
661         (Decimal):
662         (EncodedData):
663         (WebCore::Decimal::EncodedData::operator!=):
664         (WebCore::Decimal::EncodedData::coefficient):
665         (WebCore::Decimal::EncodedData::exponent):
666         (WebCore::Decimal::EncodedData::isFinite):
667         (WebCore::Decimal::EncodedData::isNaN):
668         (WebCore::Decimal::EncodedData::isSpecial):
669         (WebCore::Decimal::EncodedData::isZero):
670         (WebCore::Decimal::EncodedData::sign):
671         (WebCore::Decimal::EncodedData::setSign):
672         (WebCore::Decimal::EncodedData::formatClass):
673         (WebCore::Decimal::isFinite):
674         (WebCore::Decimal::isNaN):
675         (WebCore::Decimal::isNegative):
676         (WebCore::Decimal::isPositive):
677         (WebCore::Decimal::isSpecial):
678         (WebCore::Decimal::isZero):
679         (WebCore::Decimal::value):
680         (AlignedOperands):
681         (WebCore::Decimal::invertSign):
682         (WebCore::Decimal::exponent):
683         (WebCore::Decimal::sign):
684
685 2012-05-31  Kentaro Hara  <haraken@chromium.org>
686
687         [V8] Pass Isolate to v8String() in custom bindings
688         https://bugs.webkit.org/show_bug.cgi?id=87825
689
690         Reviewed by Adam Barth.
691
692         The objective is to pass Isolate around in V8 bindings.
693         This patch passes Isolate to v8String() in custom bindings.
694
695         No tests. No change in behavior.
696
697         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
698         (WebCore::installFastSet):
699         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
700         (WebCore):
701         (WebCore::setWebGLArrayHelper):
702         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
703         (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator):
704         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
705         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
706         (WebCore::toV8Object):
707         * bindings/v8/custom/V8ClipboardCustom.cpp:
708         (WebCore::V8Clipboard::typesAccessorGetter):
709         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
710         (WebCore::V8DOMStringMap::namedPropertyGetter):
711         (WebCore::V8DOMStringMap::namedPropertyEnumerator):
712         * bindings/v8/custom/V8FileReaderCustom.cpp:
713         (WebCore::V8FileReader::resultAccessorGetter):
714         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
715         (WebCore::V8HTMLCanvasElement::toDataURLCallback):
716         * bindings/v8/custom/V8HTMLElementCustom.cpp:
717         (WebCore::toV8Object):
718         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
719         (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter):
720         * bindings/v8/custom/V8IDBAnyCustom.cpp:
721         (WebCore::toV8):
722         * bindings/v8/custom/V8IDBKeyCustom.cpp:
723         (WebCore::toV8):
724         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
725         (WebCore::V8InjectedScriptHost::databaseIdCallback):
726         (WebCore::V8InjectedScriptHost::storageIdCallback):
727         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
728         (WebCore::V8InspectorFrontendHost::platformCallback):
729         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
730         (WebCore::V8JavaScriptCallFrame::typeAccessorGetter):
731         * bindings/v8/custom/V8LocationCustom.cpp:
732         (WebCore::V8Location::toStringCallback):
733         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
734         (WebCore::V8SQLResultSetRowList::itemCallback):
735         * bindings/v8/custom/V8StorageCustom.cpp:
736         (WebCore::V8Storage::namedPropertyEnumerator):
737         (WebCore::storageGetter):
738         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
739         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
740         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
741         (WebCore::V8XSLTProcessor::getParameterCallback):
742
743 2012-05-31  Hayato Ito  <hayato@chromium.org>
744
745         ComposedShadowTreeWalker should support traversing nodes in an orphaned shadow subtree.
746         https://bugs.webkit.org/show_bug.cgi?id=87493
747
748         Reviewed by Dimitri Glazkov.
749
750         ComposedShadowTreeWalker assumed that a visited shadow root is
751         always assigned to a shadow insertion point since it only
752         traverses nodes which are rendered.  But there is an exceptional
753         use case such as an event dispatching. Some events, such as a
754         'click' event, may happen in an orphaned shadow subtree.  In such
755         cases, traversal might start with a node in an orphaned shadow
756         subtree.  So ComposedShadowTreeWalker can not assume that visited
757         shadow root is always assigned to a shadow insertion point.
758
759         This patch only fixes ComposedShadowTreeWalker.
760         ComposedShadowTreeParentWalker will be fixed in another patch with
761         an event dispatching test.
762
763         Test: fast/dom/shadow/composed-shadow-tree-walker.html
764
765         * dom/ComposedShadowTreeWalker.cpp:
766         (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
767
768
769 2012-05-30  Yury Semikhatsky  <yurys@chromium.org>
770
771         Web Inspector: add MemoryUsageSupport::processMemorySizesInBytes
772         https://bugs.webkit.org/show_bug.cgi?id=87830
773
774         Reviewed by James Robinson.
775
776         Added a method for getting process memory usage in bytes. It is
777         used in the inspector memory instrumentation to get process total
778         memory usage.
779
780         * inspector/InspectorMemoryAgent.cpp:
781         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
782         * platform/MemoryUsageSupport.cpp:
783         (WebCore::MemoryUsageSupport::processMemorySizesInBytes):
784         (WebCore):
785         * platform/MemoryUsageSupport.h:
786         (MemoryUsageSupport): provided embedders with a way to report WebKit process
787         memory usage.
788         * platform/chromium/MemoryUsageSupportChromium.cpp:
789         (WebCore::MemoryUsageSupport::processMemorySizesInBytes):
790         (WebCore):
791
792 2012-05-31  Kent Tamura  <tkent@chromium.org>
793
794         Unreviewed, rolling out r119062 and r119064.
795         http://trac.webkit.org/changeset/119062
796         http://trac.webkit.org/changeset/119064
797         https://bugs.webkit.org/show_bug.cgi?id=87360
798
799         Broke build on Lion, SnowLoepard, Chromium Windows, and
800         Chromium Linux 32
801
802         * CMakeLists.txt:
803         * GNUmakefile.list.am:
804         * Target.pri:
805         * WebCore.gypi:
806         * WebCore.vcproj/WebCore.vcproj:
807         * WebCore.xcodeproj/project.pbxproj:
808         * platform/Decimal.cpp: Removed.
809         * platform/Decimal.h: Removed.
810
811 2012-05-31  Shane Stephens  <shanestephens@google.com>
812
813         text-decoration should not be propagated through absolutely positioned elements to <a> tags
814         https://bugs.webkit.org/show_bug.cgi?id=86517
815
816         Reviewed by Darin Adler.
817
818         Test: fast/css/text-decoration-in-second-order-descendants.html
819
820         * rendering/RenderObject.cpp:
821         (WebCore::RenderObject::getTextDecorationColors):
822         Remove fix from 18611 as it doesn't work on second order descendants.
823
824         * css/StyleResolver.cpp:
825         (WebCore::StyleResolver::adjustRenderStyle):
826         Add floating and positioned checks when deciding whether to avoid propagating text decoration. Move all checks into new method to improve readability.
827         (WebCore::doesNotInheritTextDecoration): Added
828
829 2012-05-30  Yoshifumi Inoue  <yosin@chromium.org>
830
831         Build fix for Linon/SnowLeopard after r119062
832
833         * platform/Decimal.cpp:
834         (WebCore::Decimal::Decimal):
835
836 2012-05-30  Yoshifumi Inoue  <yosin@chromium.org>
837
838         [Platform] Introduce Decimal class for Number/Range input type.
839         https://bugs.webkit.org/show_bug.cgi?id=87360
840
841         Reviewed by Kent Tamura.
842
843         This patch added new class Decimal for decimal arithmatic in two
844         files: platform/Decimal.cpp and Decimal.h with unit test.
845
846         Test: WebKit/chromium/tests/DecimalTest.cpp
847
848         * CMakeLists.txt:
849         * GNUmakefile.list.am:
850         * Target.pri:
851         * WebCore.gypi:
852         * WebCore.vcproj/WebCore.vcproj:
853         * WebCore.xcodeproj/project.pbxproj:
854         * platform/Decimal.cpp: Added.
855         (WebCore):
856         (DecimalPrivate):
857         (SpecialValueHandler):
858         (WebCore::DecimalPrivate::SpecialValueHandler::SpecialValueHandler):
859         (WebCore::DecimalPrivate::SpecialValueHandler::handle):
860         (WebCore::DecimalPrivate::SpecialValueHandler::value):
861         (UInt128):
862         (WebCore::DecimalPrivate::UInt128::UInt128):
863         (WebCore::DecimalPrivate::UInt128::high):
864         (WebCore::DecimalPrivate::UInt128::low):
865         (WebCore::DecimalPrivate::UInt128::multiply):
866         (WebCore::DecimalPrivate::UInt128::highUInt32):
867         (WebCore::DecimalPrivate::UInt128::lowUInt32):
868         (WebCore::DecimalPrivate::UInt128::isZero):
869         (WebCore::DecimalPrivate::UInt128::makeUInt64):
870         (WebCore::DecimalPrivate::UInt128::operator/=):
871         (WebCore::DecimalPrivate::UInt128::multiplyHigh):
872         (WebCore::DecimalPrivate::countDigits):
873         (WebCore::DecimalPrivate::scaleDown):
874         (WebCore::DecimalPrivate::scaleUp):
875         (WebCore::Decimal::EncodedData::EncodedData):
876         (WebCore::Decimal::EncodedData::operator==):
877         (WebCore::Decimal::Decimal):
878         (WebCore::Decimal::operator=):
879         (WebCore::Decimal::operator+=):
880         (WebCore::Decimal::operator-=):
881         (WebCore::Decimal::operator*=):
882         (WebCore::Decimal::operator/=):
883         (WebCore::Decimal::operator-):
884         (WebCore::Decimal::operator+):
885         (WebCore::Decimal::operator*):
886         (WebCore::Decimal::operator/):
887         (WebCore::Decimal::operator==):
888         (WebCore::Decimal::operator!=):
889         (WebCore::Decimal::operator<):
890         (WebCore::Decimal::operator<=):
891         (WebCore::Decimal::operator>):
892         (WebCore::Decimal::operator>=):
893         (WebCore::Decimal::abs):
894         (WebCore::Decimal::alignOperands):
895         (WebCore::Decimal::ceiling):
896         (WebCore::Decimal::compareTo):
897         (WebCore::Decimal::floor):
898         (WebCore::Decimal::fromString):
899         (WebCore::Decimal::infinity):
900         (WebCore::Decimal::nan):
901         (WebCore::Decimal::remainder):
902         (WebCore::Decimal::round):
903         (WebCore::Decimal::toString):
904         (WebCore::Decimal::zero):
905         * platform/Decimal.h: Added.
906         (WebCore):
907         (DecimalPrivate):
908         (Decimal):
909         (EncodedData):
910         (WebCore::Decimal::EncodedData::operator!=):
911         (WebCore::Decimal::EncodedData::coefficient):
912         (WebCore::Decimal::EncodedData::exponent):
913         (WebCore::Decimal::EncodedData::isFinite):
914         (WebCore::Decimal::EncodedData::isNaN):
915         (WebCore::Decimal::EncodedData::isSpecial):
916         (WebCore::Decimal::EncodedData::isZero):
917         (WebCore::Decimal::EncodedData::sign):
918         (WebCore::Decimal::EncodedData::setSign):
919         (WebCore::Decimal::EncodedData::formatClass):
920         (WebCore::Decimal::isFinite):
921         (WebCore::Decimal::isNaN):
922         (WebCore::Decimal::isNegative):
923         (WebCore::Decimal::isPositive):
924         (WebCore::Decimal::isSpecial):
925         (WebCore::Decimal::isZero):
926         (WebCore::Decimal::value):
927         (AlignedOperands):
928         (WebCore::Decimal::invertSign):
929         (WebCore::Decimal::exponent):
930         (WebCore::Decimal::sign):
931
932 2012-05-30  Patrick Gansterer  <paroga@webkit.org>
933
934         Build fix for WinCE after r116723.
935
936         * platform/graphics/wince/FontWinCE.cpp:
937         (WebCore::TextRunComponent::TextRunComponent):
938
939 2012-05-30  Kentaro Hara  <haraken@chromium.org>
940
941         Implement CSSParser::determineNameInNamespace() as a helper function for CSSGrammar.y
942         https://bugs.webkit.org/show_bug.cgi?id=87799
943
944         Reviewed by Darin Adler.
945
946         As pointed out by darin@ in https://bugs.webkit.org/show_bug.cgi?id=87627#c12,
947         we should avoid repeating the following code in CSSGrammar.y:
948
949             if (p->m_styleSheet)
950                 $$->setTag(QualifiedName(namespacePrefix, $2, p->m_styleSheet->determineNamespace(namespacePrefix)));
951             else
952                 $$->setTag(QualifiedName(namespacePrefix, $2, p->m_defaultNamespace));
953
954         This patch implements CSSParser::determineNameInNamespace() as a helper function
955         and replaces the above code.
956
957         Tests: fast/dom/SelectorAPI/*. No change in test results.
958
959         * css/CSSGrammar.y:
960         * css/CSSParser.cpp:
961         (WebCore::CSSParser::determineNameInNamespace):
962         (WebCore):
963         * css/CSSParser.h:
964
965 2012-05-30  Patrick Gansterer  <paroga@webkit.org>
966
967         Build fix for WinCE after r117697.
968
969         * page/wince/FrameWinCE.cpp:
970         (WebCore::computePageRectsForFrame):
971
972 2012-05-30  Shawn Singh  <shawnsingh@chromium.org>
973
974         [chromium] Fix min/max bounds error in CCMathUtil.cpp
975         https://bugs.webkit.org/show_bug.cgi?id=87915
976
977         Reviewed by James Robinson.
978
979         Two unit tests added to CCMathUtilTest:
980             CCMathUtilTest.verifyEnclosingClippedRectUsesCorrectInitialBounds
981             CCMathUtilTest.verifyEnclosingRectOfVerticesUsesCorrectInitialBounds
982
983         While computing bounds, the initial values for xmax and ymax are
984         intended to be set to -float_max. It turns out that
985         std::numeric_limits<float>::min() actually returns the smallest
986         positive value close to zero, which is not what was intended. This
987         patch fixes the code to use -float_max instead, which is the
988         intended value.
989
990         * platform/graphics/chromium/cc/CCMathUtil.cpp:
991         (WebCore::CCMathUtil::mapClippedRect):
992         (WebCore::CCMathUtil::projectClippedRect):
993         (WebCore::CCMathUtil::computeEnclosingRectOfVertices):
994         (WebCore::CCMathUtil::computeEnclosingClippedRect):
995         (WebCore):
996         * platform/graphics/chromium/cc/CCMathUtil.h:
997         (WebCore::HomogeneousCoordinate::HomogeneousCoordinate):
998         (HomogeneousCoordinate):
999         (WebCore::HomogeneousCoordinate::shouldBeClipped):
1000         (WebCore::HomogeneousCoordinate::cartesianPoint2d):
1001         (WebCore):
1002         (CCMathUtil):
1003
1004 2012-05-30  Patrick Gansterer  <paroga@webkit.org>
1005
1006         Build fix for WinCE after r118568.
1007
1008         * platform/text/wince/TextBreakIteratorWinCE.cpp:
1009         (WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator):
1010
1011 2012-05-30  Abhishek Arya  <inferno@chromium.org>
1012
1013         Crash in ContainerNode::parserAddChild.
1014         https://bugs.webkit.org/show_bug.cgi?id=87903
1015
1016         Reviewed by Ryosuke Niwa.
1017
1018         Call the ChildNodeInsertionNotifier.notify call at the end since
1019         it can destroy |this| and some of the local pointers like |last|.
1020         This also matches the order of calls - childrenChanged precedes
1021         ChildNodeInsertionNotifier.notify in updateTreeAfterInsertion and
1022         ContainerNode::parserInsertBefore.
1023
1024         Also remove a FIXME since we use ChildNodeInsertionNotifier.notify
1025         instead of ChildNodeInsertionNotifier.notifyInsertedIntoDocument
1026         (as recommended in the FIXME).
1027
1028         Test: fast/dom/child-insertion-notify-crash.html
1029
1030         * dom/ContainerNode.cpp:
1031         (WebCore::ContainerNode::parserAddChild):
1032
1033 2012-05-30  Rick Byers  <rbyers@chromium.org>
1034
1035         [chromium] Implement pointer and hover CSS media features
1036         https://bugs.webkit.org/show_bug.cgi?id=87403
1037
1038         Reviewed by Adam Barth.
1039
1040         Add initial support for the pointer and hover media features as defined
1041         here:
1042         http://dev.w3.org/csswg/css4-mediaqueries/#pointer
1043         http://dev.w3.org/csswg/css4-mediaqueries/#hover
1044
1045         For now this only supports the case where we know a touch screen is
1046         available (currently known only for the chromium port on certain
1047         platforms).  All other cases continue to behave exactly as if the media
1048         feature isn't supported.
1049
1050         Tests: fast/media/mq-pointer.html
1051
1052         * css/CSSValueKeywords.in:
1053         * css/MediaFeatureNames.h:
1054         (MediaFeatureNames):
1055         * css/MediaQueryEvaluator.cpp:
1056         (WebCore::getLeastCapablePrimaryPointerDeviceType):
1057         (WebCore):
1058         (WebCore::hoverMediaFeatureEval):
1059         (WebCore::pointerMediaFeatureEval):
1060
1061         * testing/InternalSettings.cpp:
1062         (WebCore::InternalSettings::InternalSettings):
1063         (WebCore::InternalSettings::restoreTo):
1064         (WebCore::InternalSettings::setDeviceSupportsTouch):
1065         (WebCore):
1066         * testing/InternalSettings.h:
1067         (InternalSettings):
1068         * testing/InternalSettings.idl:
1069
1070 2012-05-30  Julien Chaffraix  <jchaffraix@webkit.org>
1071
1072         Add an helper function to get the style for a cell's flow computation
1073         https://bugs.webkit.org/show_bug.cgi?id=87902
1074
1075         Reviewed by Ojan Vafai.
1076
1077         No expected change in behavior.
1078
1079         This change introduces styleForCellFlow that unify which function we use
1080         to determine a cell's direction and writing mode.
1081
1082         This unification will make it easier to support direction on table row
1083         group (section in WebKit land).
1084
1085         * rendering/RenderTableCell.h:
1086         (WebCore::RenderTableCell::styleForCellFlow):
1087         Added the new function along with a comment as to its purpose.
1088
1089         * rendering/RenderTableCell.cpp:
1090         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1091         (WebCore::RenderTableCell::computeCollapsedStartBorder):
1092         (WebCore::RenderTableCell::computeCollapsedEndBorder):
1093         (WebCore::RenderTableCell::computeCollapsedBeforeBorder):
1094         (WebCore::RenderTableCell::computeCollapsedAfterBorder):
1095         (WebCore::RenderTableCell::borderHalfLeft):
1096         (WebCore::RenderTableCell::borderHalfRight):
1097         (WebCore::RenderTableCell::borderHalfTop):
1098         (WebCore::RenderTableCell::borderHalfBottom):
1099         (WebCore::RenderTableCell::borderHalfStart):
1100         (WebCore::RenderTableCell::borderHalfEnd):
1101         (WebCore::RenderTableCell::borderHalfBefore):
1102         (WebCore::RenderTableCell::borderHalfAfter):
1103         (WebCore::RenderTableCell::paintCollapsedBorders):
1104         Mostly mechanical replacement.
1105
1106         * rendering/RenderTableCell.cpp:
1107         (WebCore::RenderTableCell::cachedCollapsedLeftBorder):
1108         (WebCore::RenderTableCell::cachedCollapsedRightBorder):
1109         (WebCore::RenderTableCell::cachedCollapsedTopBorder):
1110         (WebCore::RenderTableCell::cachedCollapsedBottomBorder):
1111         Made the argument 'const' now.
1112
1113         * rendering/RenderTableSection.cpp:
1114         (WebCore::RenderTableSection::layoutRows):
1115         Added a FIXME to unify with the rest.
1116
1117 2012-05-30  Christophe Dumez  <christophe.dumez@intel.com>
1118
1119         [JSC] SerializedScriptValue.create() succeeds even if MessagePort object cannot be found in transferred ports
1120         https://bugs.webkit.org/show_bug.cgi?id=87118
1121
1122         Reviewed by Adam Barth.
1123
1124         Make SerializedScriptValue.create() throw an exception if one of the
1125         MessagePort objects cannot be found in the transferred ports. This
1126         matches the behavior of the V8 implementation.
1127
1128         Test: webintents/web-intents-obj-constructor.html
1129
1130         * bindings/js/SerializedScriptValue.cpp:
1131         (WebCore::CloneSerializer::dumpIfTerminal):
1132
1133 2012-05-30  Mark Pilgrim  <pilgrim@chromium.org>
1134
1135         [Chromium] Call fileUtilities methods directly
1136         https://bugs.webkit.org/show_bug.cgi?id=87852
1137
1138         Reviewed by Adam Barth.
1139
1140         Part of a refactoring series. See tracking bug 82948.
1141
1142         * platform/chromium/DragDataChromium.cpp:
1143         (WebCore::DragData::asURL):
1144         * platform/chromium/FileSystemChromium.cpp:
1145         (WebCore::deleteFile):
1146         (WebCore::deleteEmptyDirectory):
1147         (WebCore::getFileSize):
1148         (WebCore::getFileModificationTime):
1149         (WebCore::getFileMetadata):
1150         (WebCore::directoryName):
1151         (WebCore::pathByAppendingComponent):
1152         (WebCore::makeAllDirectories):
1153         (WebCore::openFile):
1154         (WebCore::closeFile):
1155         (WebCore::seekFile):
1156         (WebCore::truncateFile):
1157         (WebCore::readFromFile):
1158         (WebCore::writeToFile):
1159         * platform/chromium/PlatformSupport.h:
1160         (PlatformSupport):
1161
1162 2012-05-30  Kent Tamura  <tkent@chromium.org>
1163
1164         Form controls in <fieldset disabled> should not be focusable.
1165         https://bugs.webkit.org/show_bug.cgi?id=87380
1166
1167         Reviewed by Darin Adler.
1168
1169         Test: fast/forms/fieldset/focus-in-fieldset-disabled.html
1170
1171         * html/HTMLFormControlElement.cpp:
1172         (WebCore::HTMLFormControlElement::supportsFocus):
1173         Refer to disabled() instead of m_disabled to take account of wrapping
1174         fieldset elements.
1175
1176 2012-05-30  Robin Dunn  <robin@alldunn.com>
1177
1178         [wx] Implement HTML clipboard support.
1179         https://bugs.webkit.org/show_bug.cgi?id=87883
1180
1181         Reviewed by Kevin Ollivier.
1182
1183         * platform/wx/ClipboardWx.cpp:
1184         (WebCore::ClipboardWx::writeRange):
1185         * platform/wx/PasteboardWx.cpp:
1186         (WebCore::Pasteboard::writeSelection):
1187         (WebCore::Pasteboard::documentFragment):
1188
1189 2012-05-30  Garrett Casto  <gcasto@chromium.org>
1190
1191         TextFieldDecorationElement should respect style attribute
1192         https://bugs.webkit.org/show_bug.cgi?id=87762
1193
1194         Reviewed by Kent Tamura.
1195
1196         * html/shadow/TextFieldDecorationElement.cpp: Use style set on the
1197         Element when creating rendering style.
1198         (WebCore::TextFieldDecorationElement::customStyleForRenderer):
1199
1200 2012-05-30  Ojan Vafai  <ojan@chromium.org>
1201
1202         Avoid second layout for flex-direction:row, flex-basis:auto flex items
1203         https://bugs.webkit.org/show_bug.cgi?id=87901
1204
1205         Reviewed by Tony Chang.
1206
1207         No new tests. This is strictly a performance optimization and has no other
1208         web visible changes.
1209
1210         Also, add FIXMEs for other cases where we could avoid doing layouts. 
1211
1212         * rendering/RenderFlexibleBox.cpp:
1213         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
1214         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
1215         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
1216
1217 2012-05-30  Zhenyao Mo  <zmo@google.com>
1218
1219         WebKit incorrectly clears the alpha channel on readPixels, even for Framebuffers
1220         https://bugs.webkit.org/show_bug.cgi?id=87310
1221
1222         Reviewed by Kenneth Russell.
1223
1224         * html/canvas/WebGLRenderingContext.cpp:
1225         (WebCore):
1226         (WebCore::WebGLRenderingContext::getParameter): set DEPTH_BITS/STENCIL_BITS to 0 if related channels are not requested.
1227         (WebCore::WebGLRenderingContext::readPixels): don't do the alpha value fix if the current bound is not the internal drawing buffer.
1228
1229 2012-05-30  Sheriff Bot  <webkit.review.bot@gmail.com>
1230
1231         Unreviewed, rolling out r118986.
1232         http://trac.webkit.org/changeset/118986
1233         https://bugs.webkit.org/show_bug.cgi?id=87914
1234
1235         Caused several IndexedDB browser_test failures on Chromium
1236         canary builders (Requested by rafaelw_ on #webkit).
1237
1238         * Modules/indexeddb/IDBCursor.cpp:
1239         (WebCore::IDBCursor::advance):
1240         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1241         (WebCore::IDBDatabaseBackendImpl::setVersion):
1242         * Modules/indexeddb/IDBDatabaseError.h:
1243         (WebCore::IDBDatabaseError::create):
1244         (IDBDatabaseError):
1245         (WebCore::IDBDatabaseError::createWithoutOffset):
1246         (WebCore::IDBDatabaseError::code):
1247         (WebCore::IDBDatabaseError::setCode):
1248         (WebCore::IDBDatabaseError::setMessage):
1249         (WebCore::IDBDatabaseError::IDBDatabaseError):
1250         * Modules/indexeddb/IDBDatabaseException.cpp:
1251         (WebCore):
1252         (WebCore::IDBDatabaseException::initializeDescription):
1253         * Modules/indexeddb/IDBDatabaseException.h:
1254         (IDBDatabaseException):
1255         * Modules/indexeddb/IDBObjectStore.cpp:
1256         (WebCore::IDBObjectStore::createIndex):
1257         * Modules/indexeddb/IDBRequest.cpp:
1258         (WebCore::IDBRequest::resetReadyState):
1259         (WebCore::IDBRequest::abort):
1260         (WebCore::IDBRequest::onError):
1261         (WebCore::IDBRequest::onSuccess):
1262         (WebCore::IDBRequest::onSuccessWithContinuation):
1263         (WebCore::IDBRequest::dispatchEvent):
1264         * Modules/indexeddb/IDBRequest.h:
1265         (IDBRequest):
1266         * Modules/indexeddb/IDBRequest.idl:
1267         * Modules/indexeddb/IDBTransaction.cpp:
1268         * Modules/indexeddb/IDBTransaction.h:
1269         (IDBTransaction):
1270         * Modules/indexeddb/IDBTransaction.idl:
1271
1272 2012-05-30  Dominic Mazzoni  <dmazzoni@chromium.org>
1273
1274         [Chromium] AX: WebAccessibilityObject should check if an AccessibilityObject is detached
1275         https://bugs.webkit.org/show_bug.cgi?id=87778
1276
1277         Reviewed by Adam Barth.
1278
1279         Chromium was never actually using AccessibilityObjectWrapper, so
1280         this change deletes it. Instead, it's replaced with a simple bool
1281         that keeps track of whether an AccessibilityObject was detached or
1282         not. WebKit/chromium/public/WebAccessibilityObject can then use this
1283         to determine if an object is still valid.
1284
1285         Test: accessibility/accessibility-object-detached.html
1286
1287         * WebCore.gypi:
1288         * accessibility/AccessibilityObject.cpp:
1289         (WebCore::AccessibilityObject::AccessibilityObject):
1290         (WebCore::AccessibilityObject::detach):
1291         (WebCore::AccessibilityObject::isDetached):
1292         (WebCore):
1293         * accessibility/AccessibilityObject.h:
1294         (AccessibilityObject):
1295         * accessibility/chromium/AXObjectCacheChromium.cpp:
1296         (WebCore):
1297         (WebCore::AXObjectCache::detachWrapper):
1298         (WebCore::AXObjectCache::attachWrapper):
1299         * accessibility/chromium/AccessibilityObjectWrapper.h: Removed.
1300
1301 2012-05-30  Shawn Singh  <shawnsingh@chromium.org>
1302
1303         Simplify TransformationMatrix rotation code to improve precision
1304         https://bugs.webkit.org/show_bug.cgi?id=86666
1305
1306         Reviewed by Adrienne Walker.
1307
1308         Change covered by existing layout tests;
1309         Additional unit tests added.
1310
1311         The original rotation code for WebCore::TransformationMatrix was
1312         using indirect trig identities to compute basic rotation
1313         matrices. As far as I can imagine, this is unnecessary, and brief
1314         informal experiments showed that we can gain a few extra bits of
1315         precision by avoiding that indirection.
1316
1317         Indeed, precision improved such that it revealed a mistake on one
1318         of the unit tests, where the test was actually degenerate so that
1319         the layer was aligned with a viewport boundary. When it was
1320         imprecise, it didnt appear to be aligned. Putting an additional
1321         translation on that test fixes it so it is no longer a degenerate
1322         test.
1323
1324         This patch also revealed a few chinks in the unit testing armor of
1325         this code, an error that should have been caught in unit tests was
1326         luckily caught by SVG layout tests. This chink is fixed by adding
1327         2 extra unit tests.
1328
1329         * platform/graphics/transforms/TransformationMatrix.cpp:
1330         (WebCore::TransformationMatrix::rotate3d):
1331
1332 2012-05-30  Alec Flett  <alecflett@chromium.org>
1333
1334         IndexedDB: Remove old get/getKey implementations
1335         https://bugs.webkit.org/show_bug.cgi?id=87879
1336
1337         Reviewed by Ojan Vafai.
1338
1339         Removal of dead code, was scaffolding for a complicated
1340         Chromium landing.
1341
1342         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
1343         (WebCore::IDBIndexBackendImpl::getInternal):
1344         (WebCore::IDBIndexBackendImpl::getKeyInternal):
1345         (WebCore::IDBIndexBackendImpl::get):
1346         (WebCore::IDBIndexBackendImpl::getKey):
1347         * Modules/indexeddb/IDBIndexBackendImpl.h:
1348         (IDBIndexBackendImpl):
1349         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1350         (WebCore::IDBObjectStoreBackendImpl::get):
1351         (WebCore::IDBObjectStoreBackendImpl::getInternal):
1352         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
1353         (IDBObjectStoreBackendImpl):
1354
1355 2012-05-30  Joe Mason  <jmason@rim.com>
1356
1357         [BlackBerry] Fix assertion fail on redirect due to multiple jobs per handle
1358         https://bugs.webkit.org/show_bug.cgi?id=87579
1359
1360         Reviewed by George Staikos.
1361
1362         RIM PR #158892:
1363
1364         When we start a redirect, we now call cancelJob instead of just deleting it immediately to make sure
1365         that all cleanup is performed. However, we also reassign the ResourceHandle to the new job, and
1366         since cancelJob is asynchronous it is now assigned to two jobs simultaneously.
1367
1368         Work around this by only returning handles that have not been cancelled from findJobForHandle.
1369         Cancelled jobs still technically exist in the jobs list, but they're invisible to callers. This is
1370         safe because there is literally nothing that can be done with a cancelled job - it is supposed to
1371         merely consume any notifications that are already in progress and then kill itself off - so no
1372         callers of findJobForHandle are expecting a cancelled job. (All existing callers call methods on the
1373         returned job which are no-ops for cancelled jobs, so there is no behaviour change.)
1374
1375         No new tests because there is no behaviour change (fixes a regression).
1376
1377         * platform/network/blackberry/NetworkManager.cpp:
1378         (WebCore::NetworkManager::findJobForHandle):
1379
1380 2012-05-30  Kentaro Hara  <haraken@chromium.org>
1381
1382         [V8][Performance] Optimize DOM attribute getters that return an empty string
1383         https://bugs.webkit.org/show_bug.cgi?id=87820
1384
1385         Reviewed by Adam Barth.
1386
1387         This patch optimizes the performance of DOM attribute getters that return an
1388         empty string by 65.8% (e.g. div.id, div.className, div.title, div.lang ...etc)
1389
1390         Performance test: Bindings/undefined-id-getter.html
1391
1392         [Without the patch]
1393         RESULT Bindings: undefined-id-getter= 441.984669644 runs/s
1394         median= 445.544554455 runs/s, stdev= 11.8406070959 runs/s, min= 405.063291139 runs/s, max= 447.204968944 runs/s
1395
1396         [With the patch]
1397         RESULT Bindings: undefined-id-getter= 738.840460474 runs/s
1398         median= 738.786279683 runs/s, stdev= 2.00249797161 runs/s, min= 733.944954128 runs/s, max= 741.721854305 runs/s
1399
1400         - This patch passes Isolate to v8::String::Empty(), which removes Isolate
1401         look-up inside v8::String::Empty().
1402
1403         - This patch inlines V8Binding::getElementStringAttr() and
1404         V8Binding::setElementStringAttr().
1405
1406         No tests. No change in behavior.
1407
1408         * bindings/scripts/CodeGeneratorV8.pm:
1409         (GenerateNormalAttrGetter):
1410         (GenerateNormalAttrSetter):
1411         * bindings/v8/V8Binding.cpp:
1412         (WebCore::StringCache::v8ExternalStringSlow):
1413         * bindings/v8/V8Binding.h:
1414         (WebCore::StringCache::v8ExternalString):
1415         (StringCache):
1416         (WebCore::v8ExternalString):
1417         (WebCore):
1418
1419 2012-05-30  Kentaro Hara  <haraken@chromium.org>
1420
1421         [V8] Implement V8Binding::v8BooleanWithCheck(isolate)
1422         https://bugs.webkit.org/show_bug.cgi?id=87814
1423
1424         Reviewed by Adam Barth.
1425
1426         The objective is to pass Isolate to v8::True() and v8::False().
1427         Similarly to v8NullWithCheck() (bug 87713), this patch implements
1428         V8Binding::v8BooleanWithCheck(isolate), which calls v8::True()/v8::False()
1429         or v8::True(isolate)/v8::False(isolate) depending on whether the
1430         passed isolate is null or not.
1431
1432         This patch also passes Isolate to v8Boolean() in CodeGeneratorV8.pm.
1433
1434         No tests. No behavior change.
1435
1436         * bindings/scripts/CodeGeneratorV8.pm:
1437         (NativeToJSValue):
1438         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1439         (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
1440         * bindings/scripts/test/V8/V8TestObj.cpp:
1441         (WebCore::TestObjV8Internal::createAttrGetter):
1442         (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrGetter):
1443         (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrGetter):
1444         * bindings/v8/V8Binding.h:
1445         (WebCore::v8Boolean):
1446         (WebCore):
1447         (WebCore::v8BooleanWithCheck):
1448
1449 2012-05-30  Kentaro Hara  <haraken@chromium.org>
1450
1451         [V8] Replace v8::True() and v8::False() with v8Boolean()
1452         https://bugs.webkit.org/show_bug.cgi?id=87812
1453
1454         Reviewed by Adam Barth.
1455
1456         To avoid implementing all of v8TrueWithCheck(isolate), v8FalseWithCheck(isolate)
1457         and v8BooleanWithCheck(isolate), we can first replace v8::True() and v8::False()
1458         with v8Boolean(). Then we can just implement v8BooleanWithCheck(isolate).
1459
1460         No tests. No change in behavior.
1461
1462         * bindings/v8/SerializedScriptValue.cpp:
1463         * bindings/v8/V8Binding.h:
1464         (WebCore::v8StringOrFalse):
1465         * bindings/v8/V8NPUtils.cpp:
1466         (WebCore::convertNPVariantToV8Object):
1467         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1468         (WebCore::V8DOMStringMap::namedPropertyDeleter):
1469         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1470         (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallback):
1471         * bindings/v8/custom/V8StorageCustom.cpp:
1472         (WebCore::storageDeleter):
1473
1474 2012-05-30  Kentaro Hara  <haraken@chromium.org>
1475
1476         [V8] Replace v8::Null() with v8NullWithCheck(isolate) in custom bindings where isolate can be 0
1477         https://bugs.webkit.org/show_bug.cgi?id=87807
1478
1479         Reviewed by Adam Barth.
1480
1481         The objective is to pass Isolate around in V8 bindings.
1482         This patch replaces v8::Null() with v8NullWithCheck(isolate)
1483         in custom bindings where isolate can be 0.
1484
1485         'where isolate can be 0' means all the places where we cannot
1486         retrieve Isolate directly from AccessorInfo or Arguments.
1487
1488         No tests. No behavior change.
1489
1490         * bindings/v8/custom/V8BlobCustom.cpp:
1491         (WebCore::toV8):
1492         * bindings/v8/custom/V8CSSRuleCustom.cpp:
1493         (WebCore::toV8):
1494         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
1495         (WebCore::toV8):
1496         * bindings/v8/custom/V8CSSValueCustom.cpp:
1497         (WebCore::toV8):
1498         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1499         (WebCore::toV8):
1500         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
1501         (WebCore::toV8):
1502         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1503         (WebCore::toV8):
1504         * bindings/v8/custom/V8DataViewCustom.cpp:
1505         (WebCore::toV8):
1506         * bindings/v8/custom/V8DocumentCustom.cpp:
1507         (WebCore::toV8):
1508         * bindings/v8/custom/V8EntryCustom.cpp:
1509         (WebCore::toV8):
1510         * bindings/v8/custom/V8EntrySyncCustom.cpp:
1511         (WebCore::toV8):
1512         * bindings/v8/custom/V8EventCustom.cpp:
1513         (WebCore::toV8):
1514         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
1515         (WebCore::toV8):
1516         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
1517         (WebCore::toV8):
1518         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1519         (WebCore::toV8):
1520         * bindings/v8/custom/V8HTMLElementCustom.cpp:
1521         (WebCore::toV8):
1522         * bindings/v8/custom/V8IDBAnyCustom.cpp:
1523         (WebCore::toV8):
1524         * bindings/v8/custom/V8IDBKeyCustom.cpp:
1525         (WebCore::toV8):
1526         * bindings/v8/custom/V8ImageDataCustom.cpp:
1527         (WebCore::toV8):
1528         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
1529         (WebCore::toV8):
1530         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
1531         (WebCore::toV8):
1532         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
1533         (WebCore::toV8):
1534         * bindings/v8/custom/V8LocationCustom.cpp:
1535         (WebCore::toV8):
1536         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1537         (WebCore::toV8):
1538         * bindings/v8/custom/V8NodeCustom.cpp:
1539         (WebCore::toV8Slow):
1540         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
1541         (WebCore::toV8):
1542         * bindings/v8/custom/V8SVGElementCustom.cpp:
1543         (WebCore::toV8):
1544         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
1545         (WebCore::toV8):
1546         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
1547         (WebCore::toV8):
1548         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
1549         (WebCore::toV8):
1550         * bindings/v8/custom/V8StyleSheetCustom.cpp:
1551         (WebCore::toV8):
1552         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
1553         (WebCore::toV8):
1554         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
1555         (WebCore::toV8):
1556         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
1557         (WebCore::toV8):
1558         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
1559         (WebCore::toV8):
1560         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1561         (WebCore::toV8):
1562
1563 2012-05-30  Kentaro Hara  <haraken@chromium.org>
1564
1565         [V8] Replace v8::Null() with v8::Null(isolate) or v8NullWithCheck(isolate) in non-custom bindings
1566         https://bugs.webkit.org/show_bug.cgi?id=87810
1567
1568         Reviewed by Adam Barth.
1569
1570         The objective is to pass Isolate around in V8 bindings.
1571         For non-custom bindings, we replace v8::Null() with v8::Null(isolate)
1572         where isolate cannot be 0, and replace v8::Null() with v8NullWithCheck(isolate)
1573         where isolate can be 0.
1574
1575         This will be the final patch for passing Isolate to v8::Null().
1576
1577         No tests. No change in behavior.
1578
1579         * bindings/scripts/CodeGeneratorV8.pm:
1580         (GenerateNormalAttrGetter):
1581         (GenerateFunctionCallback):
1582         * bindings/scripts/test/V8/V8TestObj.cpp:
1583         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
1584         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
1585         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1586         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
1587         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
1588         * bindings/v8/SerializedScriptValue.cpp:
1589         (WebCore::SerializedScriptValue::deserialize):
1590         * bindings/v8/V8DOMWrapper.cpp:
1591         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1592
1593 2012-05-30  Kentaro Hara  <haraken@chromium.org>
1594
1595         [V8] Replace v8::Null() with v8::Null(isolate) in custom bindings where isolate shouldn't be 0
1596         https://bugs.webkit.org/show_bug.cgi?id=87809
1597
1598         Reviewed by Adam Barth.
1599
1600         The objective is to pass Isolate around in V8 bindings.
1601         This patch replaces v8::Null() with v8::Null(isolate) in custom bindings
1602         where isolate shouldn't be 0. 'where isolate shouldn't be 0' is the place
1603         where isolate is retrieved directly from AccessorInfo and Arguments.
1604
1605         This patch includes a couple of refactorings:
1606
1607         - Makes V8DeviceMotionEvent::createAccelerationObject() and
1608         V8DeviceMotionEvent::createRotationRateObject() static
1609
1610         - Moves V8HTMLElement::toV8Object() into the existing ENABLE(MICRODATA) flag.
1611
1612         No tests. No change in behavior.
1613
1614         * bindings/v8/custom/V8ClipboardCustom.cpp:
1615         (WebCore::V8Clipboard::typesAccessorGetter):
1616         * bindings/v8/custom/V8CoordinatesCustom.cpp:
1617         (WebCore::V8Coordinates::altitudeAccessorGetter):
1618         (WebCore::V8Coordinates::altitudeAccuracyAccessorGetter):
1619         (WebCore::V8Coordinates::headingAccessorGetter):
1620         (WebCore::V8Coordinates::speedAccessorGetter):
1621         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
1622         (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
1623         (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
1624         (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
1625         (WebCore::V8DeviceMotionEvent::intervalAccessorGetter):
1626         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
1627         (WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
1628         (WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
1629         (WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
1630         (WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter):
1631         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
1632         (WebCore::V8Document::locationAccessorGetter):
1633         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1634         (WebCore::V8HTMLCanvasElement::getContextCallback):
1635         * bindings/v8/custom/V8HTMLElementCustom.cpp:
1636         (WebCore::toV8):
1637         (WebCore):
1638         (WebCore::toV8Object):
1639         * bindings/v8/custom/V8HistoryCustom.cpp:
1640         (WebCore::V8History::stateAccessorGetter):
1641         * bindings/v8/custom/V8MessageEventCustom.cpp:
1642         (WebCore::V8MessageEvent::dataAccessorGetter):
1643         * bindings/v8/custom/V8NodeCustom.cpp:
1644         (WebCore::V8Node::insertBeforeCallback):
1645         (WebCore::V8Node::replaceChildCallback):
1646         (WebCore::V8Node::removeChildCallback):
1647         (WebCore::V8Node::appendChildCallback):
1648         * bindings/v8/custom/V8PopStateEventCustom.cpp:
1649         (WebCore::V8PopStateEvent::stateAccessorGetter):
1650         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1651         (WebCore::V8SQLResultSetRowList::itemCallback):
1652         * bindings/v8/custom/V8TrackEventCustom.cpp:
1653         (WebCore::V8TrackEvent::trackAccessorGetter):
1654         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1655         (WebCore::toV8Object):
1656         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1657         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
1658
1659 2012-05-30  Nico Weber  <thakis@chromium.org>
1660
1661         Make the files attribute of HTMLInputElement writable
1662         https://bugs.webkit.org/show_bug.cgi?id=87154
1663
1664         Reviewed by Adam Barth.
1665
1666         whatwg thread:
1667         http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-May/036140.html
1668
1669         * bindings/objc/PublicDOMInterfaces.h:
1670             Remove readonly on files property.
1671         * html/FileInputType.cpp:
1672         (FileInputType):
1673             Add a NULL check to setFiles().
1674         * html/FileInputType.h:
1675         (FileInputType):
1676             Let setFiles() overwrite the base  class's method.
1677         * html/HTMLInputElement.cpp:
1678         (WebCore::HTMLInputElement::setFiles):
1679             Add setFiles() implementation, delegate to input type.
1680         * html/HTMLInputElement.h:
1681         (HTMLInputElement):
1682         * html/HTMLInputElement.idl:
1683         * html/InputType.cpp:
1684         (WebCore::InputType::setFiles):
1685             setFiles() does nothing by default.
1686         * html/InputType.h:
1687         (InputType):
1688             Add a virtual setFiles() method.
1689
1690 2012-05-30  Joe Mason  <jmason@rim.com>
1691
1692         [BlackBerry] Remove useless string->char*->string conversion in NetworkJob.
1693         https://bugs.webkit.org/show_bug.cgi?id=87861
1694
1695         Reviewed by Antonio Gomes.
1696
1697         RIM PR #152383: username is a WTF::String.  ResourceHandleInternal::m_user is a string.  Yet they're
1698         assigned with "username = m_user.utf8().data()".  Pointless: "username = m_user" will do.
1699
1700         No new tests since there is no behaviour change.
1701
1702         * platform/network/blackberry/NetworkJob.cpp:
1703         (WebCore::NetworkJob::sendRequestWithCredentials):
1704
1705 2012-05-30  Dan Bernstein  <mitz@apple.com>
1706
1707         [Qt] REGRESSION(r118568): It broke fast/forms/textarea-maxlength.html on Qt 4.8
1708         https://bugs.webkit.org/show_bug.cgi?id=87740
1709
1710         Reviewed by Darin Adler.
1711
1712         * platform/text/qt/TextBreakIteratorQt.cpp:
1713         (WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Changed to use
1714         the return value of setUpIterator.
1715
1716 2012-05-30  Zeno Albisser  <zeno@webkit.org>
1717
1718         GraphicsSurface: allow importing and exporting of textures directly on GPU side.
1719         https://bugs.webkit.org/show_bug.cgi?id=87725
1720
1721         Add copyFromFramebuffer function to copy a texture from an FBO
1722         onto the GraphicsSurface.
1723         Add getTextureID function to export the texture ID.
1724         This allows binding/blitting the texture directly on the GPU.
1725
1726         Reviewed by Noam Rosenthal.
1727
1728         * platform/graphics/surfaces/GraphicsSurface.cpp:
1729         (WebCore::GraphicsSurface::getTextureID):
1730         (WebCore):
1731         (WebCore::GraphicsSurface::copyFromFramebuffer):
1732         * platform/graphics/surfaces/GraphicsSurface.h:
1733         (GraphicsSurface):
1734         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
1735         (WebCore::GraphicsSurface::platformGetTextureID):
1736         (WebCore):
1737         (WebCore::GraphicsSurface::platformCopyFromFramebuffer):
1738
1739 2012-05-30  Alec Flett  <alecflett@chromium.org>
1740
1741         IndexedDB: Implement IDBTransaction.error and IDBRequest.error
1742         https://bugs.webkit.org/show_bug.cgi?id=87865
1743
1744         Reviewed by Tony Chang.
1745
1746         Added "error" attribute to IDBRequest and IDBTransaction. Update
1747         IDBDatabaseError to honor the IDBDatabaseException behavior
1748         of dealing with IDB-specific throws of DOMException codes,
1749         as per the spec.
1750
1751         Existing tests which previously tested 'errorCode' and
1752         'webkitErrorMessage' have been updated to use the new attribute.
1753
1754         * Modules/indexeddb/IDBCursor.cpp:
1755         (WebCore::IDBCursor::advance):
1756         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1757         (WebCore::IDBDatabaseBackendImpl::setVersion):
1758         * Modules/indexeddb/IDBDatabaseError.h:
1759         (WebCore::IDBDatabaseError::create):
1760         (WebCore::IDBDatabaseError::code):
1761         (WebCore::IDBDatabaseError::idbCode):
1762         (WebCore::IDBDatabaseError::name):
1763         (WebCore::IDBDatabaseError::IDBDatabaseError):
1764         (IDBDatabaseError):
1765         * Modules/indexeddb/IDBDatabaseException.cpp:
1766         (WebCore):
1767         (WebCore::getErrorEntry):
1768         (WebCore::IDBDatabaseException::initializeDescription):
1769         (WebCore::IDBDatabaseException::getErrorName):
1770         (WebCore::IDBDatabaseException::getLegacyErrorCode):
1771         * Modules/indexeddb/IDBDatabaseException.h:
1772         (IDBDatabaseException):
1773         * Modules/indexeddb/IDBObjectStore.cpp:
1774         (WebCore::IDBObjectStore::createIndex):
1775         * Modules/indexeddb/IDBRequest.cpp:
1776         (WebCore::IDBRequest::error):
1777         (WebCore):
1778         (WebCore::IDBRequest::resetReadyState):
1779         (WebCore::IDBRequest::abort):
1780         (WebCore::IDBRequest::onError):
1781         (WebCore::IDBRequest::onSuccess):
1782         (WebCore::IDBRequest::onSuccessWithContinuation):
1783         (WebCore::IDBRequest::dispatchEvent):
1784         * Modules/indexeddb/IDBRequest.h:
1785         (IDBRequest):
1786         * Modules/indexeddb/IDBRequest.idl:
1787         * Modules/indexeddb/IDBTransaction.cpp:
1788         (WebCore::IDBTransaction::error):
1789         (WebCore):
1790         (WebCore::IDBTransaction::setError):
1791         * Modules/indexeddb/IDBTransaction.h:
1792         (IDBTransaction):
1793         * Modules/indexeddb/IDBTransaction.idl:
1794
1795 2012-05-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1796
1797         [Qt] ImageDecoderQt doesn't support some decoders.
1798         https://bugs.webkit.org/show_bug.cgi?id=87851
1799
1800         Reviewed by Kenneth Rohde Christiansen.
1801
1802         If forced to decode GIF and JPEG, ImageDecoderQt show several
1803         artifacts. This is caused by mismatched decoded image-formats.
1804
1805         Convert mismatched color spaces into ARGB color space, and perform
1806         manual mem-copy when the image has been decoded into a new buffer.
1807
1808         This patch also add support for down-scaling in the decoder.
1809
1810         * platform/graphics/qt/ImageDecoderQt.cpp:
1811         (WebCore::ImageDecoderQt::internalDecodeSize):
1812         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1813
1814 2012-05-30  Emil A Eklund  <eae@chromium.org>
1815
1816         Floats wraps incorrectly when top edge has subpixel precision
1817         https://bugs.webkit.org/show_bug.cgi?id=87688
1818
1819         Reviewed by Levi Weintraub.
1820         
1821         When computing the logical left and right offsets for a float we
1822         incorrectly floored the logical top when passing it to the float search
1823         adapter. This caused it to return incorrect values where the floored and
1824         pixel snapped values are not the same.
1825
1826         Test: fast/sub-pixel/float-wrap-with-subpixel-top.html
1827
1828         * rendering/RenderBlock.cpp:
1829         (WebCore::RenderBlock::logicalLeftOffsetForLine):
1830         (WebCore::RenderBlock::logicalRightOffsetForLine):
1831
1832 2012-05-30  Emil A Eklund  <eae@chromium.org>
1833
1834         Inline blocks with margin wrap incorrectly with subpixel layout turned on
1835         https://bugs.webkit.org/show_bug.cgi?id=87897
1836
1837         Reviewed by Levi Weintraub.
1838
1839         Change WebCore::getBorderPaddingMargin and the helper function
1840         getBPMWidth to return a LayoutUnit rather than an int as the padding and
1841         margin values have subpixel precision. This fixes an issue where we would
1842         incorrectly wrap inline blocks with a subpixel padding or margin. 
1843
1844         Test: fast/sub-pixel/inline-block-with-margin.html
1845
1846         * rendering/RenderBlock.cpp:
1847         (WebCore::getBPMWidth):
1848         (WebCore::getBorderPaddingMargin):
1849         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
1850
1851 2012-05-30  Tony Chang  <tony@chromium.org>
1852
1853         rename flexbox css values from justify and distribute to space-between and space-around
1854         https://bugs.webkit.org/show_bug.cgi?id=87867
1855
1856         Reviewed by Ojan Vafai.
1857
1858         This was recently changed in the spec:
1859         http://dev.w3.org/csswg/css3-flexbox/#justify-content
1860
1861         No new tests, updated existing tests and expectations.
1862
1863         * css/CSSParser.cpp:
1864         (WebCore::isValidKeywordPropertyAndValue):
1865         * css/CSSPrimitiveValueMappings.h:
1866         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1867         (WebCore::CSSPrimitiveValue::operator EFlexPack):
1868         (WebCore::CSSPrimitiveValue::operator EFlexLinePack):
1869         * css/CSSValueKeywords.in:
1870         * rendering/RenderFlexibleBox.cpp:
1871         (WebCore::initialPackingOffset):
1872         (WebCore::packingSpaceBetweenChildren):
1873         (WebCore::initialLinePackingOffset):
1874         (WebCore::linePackingSpaceBetweenChildren):
1875         * rendering/style/RenderStyleConstants.h:
1876
1877 2012-05-30  Kevin Ollivier  <kevino@theolliviers.com>
1878
1879         [wx] Unreviewed build fix. Make sure we get the file size with the proper native type.
1880
1881         * platform/wx/FileSystemWx.cpp:
1882         (WebCore::getFileMetadata):
1883
1884 2012-05-30  Sheriff Bot  <webkit.review.bot@gmail.com>
1885
1886         Unreviewed, rolling out r118913.
1887         http://trac.webkit.org/changeset/118913
1888         https://bugs.webkit.org/show_bug.cgi?id=87891
1889
1890         patch is incorrect (see comments in
1891         https://bugs.webkit.org/show_bug.cgi?id=87889) (Requested by
1892         thorton on #webkit).
1893
1894         * css/CSSFontFaceSrcValue.cpp:
1895         (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs):
1896         * css/CSSFontFaceSrcValue.h:
1897         (CSSFontFaceSrcValue):
1898         * css/CSSPrimitiveValue.cpp:
1899         (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
1900         * css/CSSPrimitiveValue.h:
1901         (CSSPrimitiveValue):
1902         * css/CSSReflectValue.cpp:
1903         (WebCore::CSSReflectValue::addSubresourceStyleURLs):
1904         * css/CSSReflectValue.h:
1905         (CSSReflectValue):
1906         * css/CSSValue.cpp:
1907         (WebCore::CSSValue::addSubresourceStyleURLs):
1908         * css/CSSValue.h:
1909         (CSSValue):
1910         * css/CSSValueList.cpp:
1911         (WebCore::CSSValueList::addSubresourceStyleURLs):
1912         * css/CSSValueList.h:
1913         (CSSValueList):
1914         * css/StylePropertySet.cpp:
1915         (WebCore::StylePropertySet::addSubresourceStyleURLs):
1916         * css/StylePropertySet.h:
1917         (StylePropertySet):
1918         * css/StyleSheetContents.cpp:
1919         (WebCore::StyleSheetContents::addSubresourceStyleURLs):
1920         * css/StyleSheetContents.h:
1921         (StyleSheetContents):
1922         * dom/Element.h:
1923         * dom/Node.cpp:
1924         (WebCore::Node::getSubresourceURLs):
1925         * dom/Node.h:
1926         (WebCore::Node::addSubresourceAttributeURLs):
1927         (WebCore):
1928         * dom/ProcessingInstruction.cpp:
1929         (WebCore::ProcessingInstruction::addSubresourceAttributeURLs):
1930         * dom/ProcessingInstruction.h:
1931         (ProcessingInstruction):
1932         * dom/StyledElement.cpp:
1933         (WebCore::StyledElement::addSubresourceAttributeURLs):
1934         * dom/StyledElement.h:
1935         (StyledElement):
1936         * html/HTMLBodyElement.cpp:
1937         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
1938         * html/HTMLBodyElement.h:
1939         (HTMLBodyElement):
1940         * html/HTMLEmbedElement.cpp:
1941         (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs):
1942         * html/HTMLEmbedElement.h:
1943         (HTMLEmbedElement):
1944         * html/HTMLImageElement.cpp:
1945         (WebCore::HTMLImageElement::addSubresourceAttributeURLs):
1946         * html/HTMLImageElement.h:
1947         (HTMLImageElement):
1948         * html/HTMLInputElement.cpp:
1949         (WebCore::HTMLInputElement::addSubresourceAttributeURLs):
1950         * html/HTMLInputElement.h:
1951         (HTMLInputElement):
1952         * html/HTMLLinkElement.cpp:
1953         (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
1954         * html/HTMLLinkElement.h:
1955         (HTMLLinkElement):
1956         * html/HTMLObjectElement.cpp:
1957         (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
1958         * html/HTMLObjectElement.h:
1959         (HTMLObjectElement):
1960         * html/HTMLParamElement.cpp:
1961         (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
1962         * html/HTMLParamElement.h:
1963         (HTMLParamElement):
1964         * html/HTMLScriptElement.cpp:
1965         (WebCore::HTMLScriptElement::addSubresourceAttributeURLs):
1966         * html/HTMLScriptElement.h:
1967         (HTMLScriptElement):
1968         * html/HTMLStyleElement.cpp:
1969         (WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
1970         * html/HTMLStyleElement.h:
1971         (HTMLStyleElement):
1972         * html/HTMLTableCellElement.cpp:
1973         (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs):
1974         * html/HTMLTableCellElement.h:
1975         (HTMLTableCellElement):
1976         * html/HTMLTableElement.cpp:
1977         (WebCore::HTMLTableElement::addSubresourceAttributeURLs):
1978         * html/HTMLTableElement.h:
1979         (HTMLTableElement):
1980         * svg/SVGCursorElement.cpp:
1981         (WebCore::SVGCursorElement::addSubresourceAttributeURLs):
1982         * svg/SVGCursorElement.h:
1983         (SVGCursorElement):
1984         * svg/SVGFEImageElement.cpp:
1985         (WebCore::SVGFEImageElement::addSubresourceAttributeURLs):
1986         * svg/SVGFEImageElement.h:
1987         (SVGFEImageElement):
1988         * svg/SVGImageElement.cpp:
1989         (WebCore::SVGImageElement::addSubresourceAttributeURLs):
1990         * svg/SVGImageElement.h:
1991         (SVGImageElement):
1992         * svg/SVGScriptElement.cpp:
1993         (WebCore::SVGScriptElement::addSubresourceAttributeURLs):
1994         * svg/SVGScriptElement.h:
1995         (SVGScriptElement):
1996
1997 2012-05-30  Shezan Baig  <shezbaig.wk@gmail.com>
1998
1999         Rename offsetTopLeft in RenderBoxModelObject to something better
2000         https://bugs.webkit.org/show_bug.cgi?id=85915
2001
2002         Reviewed by Darin Adler.
2003
2004         Renamed offsetTopLeft in RenderBoxModelObject to
2005         adjustedPositionRelativeToOffsetParent, because it returns the given
2006         startPoint after adjusting it to be relative to the top-left corner of
2007         the offsetParent.  The definition of offsetParent itself is non-trivial
2008         and is documented within the body of RenderObject::offsetParent,
2009         therefore I decided to reuse this term, as-is, in the name of this
2010         function.
2011
2012         No new tests; no functional or visible changes.
2013
2014         * rendering/RenderBox.cpp:
2015         (WebCore::RenderBox::offsetLeft):
2016         (WebCore::RenderBox::offsetTop):
2017         * rendering/RenderBoxModelObject.cpp:
2018         (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
2019         (WebCore::RenderBoxModelObject::offsetLeft):
2020         (WebCore::RenderBoxModelObject::offsetTop):
2021         * rendering/RenderBoxModelObject.h:
2022         (RenderBoxModelObject):
2023         * rendering/RenderInline.cpp:
2024         (WebCore::RenderInline::offsetLeft):
2025         (WebCore::RenderInline::offsetTop):
2026
2027 2012-05-29  Adrienne Walker  <enne@google.com>
2028
2029         Transformed fixed position layers have an incorrect overlap map entry
2030         https://bugs.webkit.org/show_bug.cgi?id=64201
2031
2032         Reviewed by Darin Adler.
2033
2034         Previously, layers that both had a transform and were fixed position
2035         were not considered as being fixed position in RenderGeometryMap or in
2036         RenderBox::mapLocalToContainer (although this case is not incorrect in
2037         the case of painting, so an external caller likely adjusts for this).
2038
2039         Tests: compositing/layer-creation/fixed-position-and-transform.html
2040                compositing/layer-creation/fixed-position-under-transform.html
2041
2042         * rendering/RenderBox.cpp:
2043         (WebCore::RenderBox::mapLocalToContainer):
2044         * rendering/RenderGeometryMap.cpp:
2045         (WebCore::RenderGeometryMap::mapToAbsolute):
2046
2047 2012-05-30  Ulan Degenbaev  <ulan@chromium.org>
2048
2049         [v8] Crash after redefining setter on typed array to a number
2050         https://bugs.webkit.org/show_bug.cgi?id=87862
2051
2052         Reviewed by Kenneth Russell.
2053
2054         Remove calls to typed array set() method from C++.
2055         Store the copying script as a hidden property of a typed array prototype.
2056
2057         Test: fast/canvas/webgl/array-override-set.html
2058
2059         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
2060         (WebCore):
2061         (WebCore::getHiddenCopyMethod):
2062         (WebCore::installHiddenCopyMethod):
2063         (WebCore::copyElements):
2064         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2065         (WebCore):
2066         (WebCore::constructWebGLArray):
2067         (WebCore::setWebGLArrayHelper):
2068         * bindings/v8/custom/V8ArrayBufferViewCustomScript.js:
2069
2070 2012-05-30  David Hyatt  <hyatt@apple.com>
2071
2072         https://bugs.webkit.org/show_bug.cgi?id=87882
2073         
2074         [New Multicolumn] Rename layoutColumns to relayoutForPagination and make it
2075         virtual so that it can be implemented by RenderMultiColumnBlock.
2076
2077         Reviewed by Anders Carlsson.
2078
2079         * rendering/RenderBlock.cpp:
2080         (WebCore::RenderBlock::layoutBlock):
2081         (WebCore::RenderBlock::relayoutForPagination):
2082         * rendering/RenderBlock.h:
2083         (RenderBlock):
2084         * rendering/RenderMultiColumnBlock.cpp:
2085         (WebCore::RenderMultiColumnBlock::relayoutForPagination):
2086         (WebCore):
2087         * rendering/RenderMultiColumnBlock.h:
2088         (RenderMultiColumnBlock):
2089
2090 2012-05-30  Daniel Drake  <dsd@laptop.org>
2091
2092         Check for GTK2/GTK3 symbol mismatch earlier
2093         https://bugs.webkit.org/show_bug.cgi?id=87687
2094
2095         Reviewed by Martin Robinson.
2096
2097         No new tests. Regressions in core behavior are covered by existing
2098         plugin tests and the fix deals with particular aspects of the system
2099         environment that are difficult to test.
2100
2101         Detect plugins that would mix GTK+ symbols earlier, so that the
2102         WebKit can skip them and choose a more appropriate plugin module.
2103
2104         * plugins/gtk/PluginPackageGtk.cpp: Move this code from PluginViewGtk.
2105         (WebCore::moduleMixesGtkSymbols):
2106         (WebCore::PluginPackage::load):
2107         * plugins/gtk/PluginViewGtk.cpp: Move this code to PluginPackageGtk.
2108         (WebCore::PluginView::platformStart):
2109
2110 2012-05-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2111
2112         [Qt] Support IMAGE_DECODER_DOWN_SAMPLING flag.
2113         https://bugs.webkit.org/show_bug.cgi?id=87840
2114
2115         Based on patches by Qi Zhang and Jussi Lehto.
2116         Reviewed by Kenneth Rohde Christiansen.
2117
2118         * platform/graphics/Image.cpp:
2119         (WebCore::Image::adjustSourceRectForDownSampling):
2120         * platform/graphics/Image.h:
2121         (Image):
2122         * platform/graphics/openvg/ImageOpenVG.cpp:
2123         (WebCore::BitmapImage::draw):
2124         * platform/graphics/qt/ImageQt.cpp:
2125         (WebCore::Image::drawPattern):
2126         (WebCore::BitmapImage::draw):
2127
2128 2012-05-30  Shinya Kawanaka  <shinyak@chromium.org>
2129
2130         comparePositions in htmlediting should consider nested Shadow DOM.
2131         https://bugs.webkit.org/show_bug.cgi?id=87623
2132
2133         Reviewed by Ryosuke Niwa.
2134
2135         comparePositions in htmlediting.cpp didn't consider nested Shadow DOM.
2136         This patch makes it possible to compare the nodes in nested Shadow DOM.
2137
2138         The algorithm is: we calculate the common tree scope of node A and B, and
2139         adjust the nodes to the treeScope, then compare them. If the adjusted nodes
2140         are the same, we check the shadow descendent of each node.
2141
2142         Test: editing/shadow/compare-positions-in-nested-shadow.html
2143
2144         * dom/TreeScope.cpp:
2145         (WebCore::listTreeScopes):
2146         (WebCore):
2147         (WebCore::commonTreeScope):
2148         * dom/TreeScope.h:
2149         (WebCore):
2150         * editing/htmlediting.cpp:
2151         (WebCore::comparePositions):
2152
2153 2012-05-30  Erik Arvidsson  <arv@chromium.org>
2154
2155         [V8] Clean up V8LazyEventListener to use one less function call
2156         https://bugs.webkit.org/show_bug.cgi?id=87785
2157
2158         Reviewed by Kentaro Hara.
2159
2160         Instead of relying on 'arguments' we rely on 'this'. 'this' cannot be intercepted by a
2161         with-statement so it is safe to use that to bind the context objects. This allows us to
2162         remove one layer of function indirection in the generated code.
2163
2164         Covered by existing tests.
2165
2166         * bindings/v8/V8LazyEventListener.cpp:
2167         (WebCore::V8LazyEventListener::prepareListenerObject):
2168
2169 2012-05-30  Tim Horton  <timothy_horton@apple.com>
2170
2171         Factor DeferrableOneShotTimer out of GraphicsContextCG/GeneratorGeneratedImage
2172         https://bugs.webkit.org/show_bug.cgi?id=87824
2173
2174         Reviewed by Simon Fraser.
2175
2176         DeferrableOneShotTimer is a timer which takes a class and method to call (as Timer does),
2177         and a delay. It exposes restart(), stop(), and isActive(), and none of the rest of
2178         the TimerBase interface. On restart(), the timer is started with the given delay,
2179         unless it's already running, in which case a flag is set to automatically restart
2180         the timer when it fires instead of calling the given method. This provides a
2181         low-overhead way to implement a deferrable timer.
2182
2183         No new tests, refactoring.
2184
2185         * platform/Timer.h:
2186         (DeferrableOneShotTimer):
2187         (WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer): New class.
2188         (WebCore::DeferrableOneShotTimer::restart):
2189         (WebCore::DeferrableOneShotTimer::fired):
2190         * platform/graphics/GeneratorGeneratedImage.cpp:
2191         (WebCore::GeneratorGeneratedImage::invalidateCacheTimerFired):
2192         * platform/graphics/GeneratorGeneratedImage.h:
2193         (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage): Make use of DeferrableOneShotTimer.
2194         * platform/graphics/cg/GraphicsContextCG.cpp:
2195         (WebCore::SubimageCacheWithTimer::SubimageCacheWithTimer): Make use of DeferrableOneShotTimer.
2196         (WebCore::SubimageCacheWithTimer::invalidateCacheTimerFired):
2197
2198 2012-05-30  Xueqing Huang  <huangxueqing@baidu.com>
2199
2200         eventSender.beginDragWithFiles should be implemented in Windows, which blocked drag and drop related tests.
2201         https://bugs.webkit.org/show_bug.cgi?id=86296
2202
2203         Reviewed by Tony Chang.
2204
2205         Test: This change was requirement for eventSender.beginDragWithFiles, update win/Skipped file to remove drag and drop related tests will valiate it. 
2206
2207         * platform/win/DragDataWin.cpp:
2208         (WebCore::DragData::numberOfFiles):
2209
2210 2012-05-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2211
2212         HashTable.h has using directives for std::pair and std::make_pair
2213         https://bugs.webkit.org/show_bug.cgi?id=29919
2214
2215         Reviewed by Darin Adler.
2216
2217         Change code to use std::pair and std::make_pair.
2218
2219         * accessibility/AXObjectCache.cpp:
2220         (WebCore::AXObjectCache::postNotification):
2221         * html/MediaFragmentURIParser.cpp:
2222         (WebCore::MediaFragmentURIParser::parseFragments):
2223         * html/parser/HTMLMetaCharsetParser.cpp:
2224         (WebCore::HTMLMetaCharsetParser::processMeta):
2225         * loader/cache/CachedImage.cpp:
2226         (WebCore::CachedImage::brokenImage):
2227         * page/PageSerializer.cpp:
2228         (WebCore::isCharsetSpecifyingNode):
2229
2230 2012-05-30  Peter Rybin  <peter.rybin@gmail.com>
2231
2232         Web Inspector: disable ExactlyInt feature in InspectorTypeBuilder since it breaks release Windows 7 WK2
2233         https://bugs.webkit.org/show_bug.cgi?id=87857
2234
2235         Reviewed by Yury Semikhatsky.
2236
2237         Code generator is patched to support old style of int parameter.
2238
2239         * inspector/CodeGeneratorInspector.py:
2240         (TypeModel.init_class):
2241
2242 2012-05-30  Alexei Filippov  <alexeif@chromium.org>
2243
2244         Web Inspector: Add trace() method to the WorkerConsole
2245         https://bugs.webkit.org/show_bug.cgi?id=87656
2246
2247         Reviewed by Yury Semikhatsky.
2248
2249         * inspector/front-end/HeapSnapshotProxy.js:
2250         (WebInspector.HeapSnapshotRealWorker.prototype._messageReceived):
2251         * inspector/front-end/HeapSnapshotWorker.js:
2252         (WebInspector.WorkerConsole.prototype.trace):
2253
2254 2012-05-30  Kinuko Yasuda  <kinuko@chromium.org>
2255
2256         File.lastModifiedDate must return null if the modified time info is not available
2257         https://bugs.webkit.org/show_bug.cgi?id=87709
2258
2259         Reviewed by Kentaro Hara.
2260
2261         Per File API spec, File.lastModifiedDate must return null if the
2262         modified time info is not available.
2263         http://dev.w3.org/2006/webapi/FileAPI/#dfn-lastModifiedDate
2264
2265         Test: http/tests/local/fileapi/file-last-modified-after-delete.html
2266
2267         * fileapi/File.cpp:
2268         (WebCore::File::lastModifiedDateForBinding): Added.
2269         (WebCore):
2270         * fileapi/File.h:
2271         (File):
2272         * fileapi/File.idl: Added ImplementedAs=lastModifiedDateForBinding.
2273
2274 2012-05-30  Jochen Eisinger  <jochen@chromium.org>
2275
2276         Match Firefox restrictions to window.blur and window.focus
2277         https://bugs.webkit.org/show_bug.cgi?id=86969
2278
2279         Reviewed by Adam Barth.
2280
2281         Disallow window.blur altogether, and only allow window.focus to be
2282         invoked from the context that created this very window.
2283
2284         There's a new setting (windowFocusRestricted) that defaults to true. If
2285         false, the new restrictions are lifted. This can be used by ports that
2286         would prefer to stick with the old behavior.
2287
2288         For tests, this setting is accessible in window.internals.settings
2289
2290         To temporarily allow window.focus(), an object of type
2291         WindowFocusAllowedIndicator can be created. It is currently used to
2292         enable window.focus() during dispatch of the click event for
2293         notifications.
2294
2295         Tests: fast/dom/Window/mozilla-focus-blur.html
2296                fast/notifications/notifications-click-event-focus.html
2297
2298         * CMakeLists.txt:
2299         * GNUmakefile.list.am:
2300         * Target.pri:
2301         * WebCore.gypi:
2302         * WebCore.vcproj/WebCore.vcproj:
2303         * WebCore.xcodeproj/project.pbxproj:
2304         * notifications/Notification.cpp:
2305         (WebCore::Notification::dispatchClickEvent):
2306         * page/DOMWindow.cpp:
2307         (WebCore::DOMWindow::focus):
2308         (WebCore::DOMWindow::blur):
2309         * page/DOMWindow.h:
2310         (DOMWindow):
2311         * page/DOMWindow.idl:
2312         * page/Settings.cpp:
2313         (WebCore::Settings::Settings):
2314         * page/Settings.h:
2315         (Settings):
2316         (WebCore::Settings::setWindowFocusRestricted):
2317         (WebCore::Settings::windowFocusRestricted):
2318         * page/WindowFocusAllowedIndicator.cpp: Added.
2319         (WebCore):
2320         (WebCore::WindowFocusAllowedIndicator::windowFocusAllowed):
2321         (WebCore::WindowFocusAllowedIndicator::WindowFocusAllowedIndicator):
2322         (WebCore::WindowFocusAllowedIndicator::~WindowFocusAllowedIndicator):
2323         * page/WindowFocusAllowedIndicator.h: Added.
2324         (WebCore):
2325         (WindowFocusAllowedIndicator):
2326         * testing/InternalSettings.cpp:
2327         (WebCore::InternalSettings::InternalSettings):
2328         (WebCore::InternalSettings::restoreTo):
2329         (WebCore::InternalSettings::setWindowFocusRestricted):
2330         (WebCore):
2331         * testing/InternalSettings.h:
2332         (InternalSettings):
2333         * testing/InternalSettings.idl:
2334
2335 2012-05-30  Mariusz Grzegorczyk  <mariusz.g@samsung.com>, Ryuan Choi  <ryuan.choi@samsung.com>
2336
2337         [EFL][WK2] Fix WebKit2-EFL build
2338         https://bugs.webkit.org/show_bug.cgi?id=83693
2339
2340         Reviewed by Carlos Garcia Campos.
2341
2342         * CMakeLists.txt: Add GestureTapHighlighter.cpp.
2343
2344 2012-05-29  Antti Koivisto  <antti@apple.com>
2345
2346         Rename Foo::addSubresourceStyleURLs and Node::addSubresourceAttributeURLs
2347         https://bugs.webkit.org/show_bug.cgi?id=87739
2348
2349         Rubber-stamped by Andreas Kling.
2350
2351         Rename them to collectSubresourceURLs and collectSubresourceURLsFromAttributes to match
2352         the naming conventions.
2353         
2354         Move collectSubresourceURLsFromAttributes from Node to Element as only elements have attributes.
2355
2356         * css/CSSFontFaceSrcValue.cpp:
2357         (WebCore::CSSFontFaceSrcValue::collectSubresourceURLs):
2358         * css/CSSFontFaceSrcValue.h:
2359         (CSSFontFaceSrcValue):
2360         * css/CSSPrimitiveValue.cpp:
2361         (WebCore::CSSPrimitiveValue::collectSubresourceURLs):
2362         * css/CSSPrimitiveValue.h:
2363         (CSSPrimitiveValue):
2364         * css/CSSReflectValue.cpp:
2365         (WebCore::CSSReflectValue::collectSubresourceURLs):
2366         * css/CSSReflectValue.h:
2367         (CSSReflectValue):
2368         * css/CSSValue.cpp:
2369         (WebCore::CSSValue::collectSubresourceURLs):
2370         * css/CSSValue.h:
2371         (CSSValue):
2372         * css/CSSValueList.cpp:
2373         (WebCore::CSSValueList::collectSubresourceURLs):
2374         * css/CSSValueList.h:
2375         (CSSValueList):
2376         * css/StylePropertySet.cpp:
2377         (WebCore::StylePropertySet::collectSubresourceURLs):
2378         * css/StylePropertySet.h:
2379         (StylePropertySet):
2380         * css/StyleSheetContents.cpp:
2381         (WebCore::StyleSheetContents::collectSubresourceURLs):
2382         * css/StyleSheetContents.h:
2383         (StyleSheetContents):
2384         * dom/Element.h:
2385         (WebCore::Element::collectSubresourceURLsFromAttributes):
2386         (Element):
2387         * dom/Node.cpp:
2388         (WebCore::Node::getSubresourceURLs):
2389         * dom/Node.h:
2390         (WebCore):
2391         * dom/ProcessingInstruction.cpp:
2392         (WebCore::ProcessingInstruction::collectSubresourceURLsFromAttributes):
2393         * dom/ProcessingInstruction.h:
2394         (ProcessingInstruction):
2395         * dom/StyledElement.cpp:
2396         (WebCore::StyledElement::collectSubresourceURLsFromAttributes):
2397         * dom/StyledElement.h:
2398         (StyledElement):
2399         * html/HTMLBodyElement.cpp:
2400         (WebCore::HTMLBodyElement::collectSubresourceURLsFromAttributes):
2401         * html/HTMLBodyElement.h:
2402         (HTMLBodyElement):
2403         * html/HTMLEmbedElement.cpp:
2404         (WebCore::HTMLEmbedElement::collectSubresourceURLsFromAttributes):
2405         * html/HTMLEmbedElement.h:
2406         (HTMLEmbedElement):
2407         * html/HTMLImageElement.cpp:
2408         (WebCore::HTMLImageElement::collectSubresourceURLsFromAttributes):
2409         * html/HTMLImageElement.h:
2410         (HTMLImageElement):
2411         * html/HTMLInputElement.cpp:
2412         (WebCore::HTMLInputElement::collectSubresourceURLsFromAttributes):
2413         * html/HTMLInputElement.h:
2414         (HTMLInputElement):
2415         * html/HTMLLinkElement.cpp:
2416         (WebCore::HTMLLinkElement::collectSubresourceURLsFromAttributes):
2417         * html/HTMLLinkElement.h:
2418         (HTMLLinkElement):
2419         * html/HTMLObjectElement.cpp:
2420         (WebCore::HTMLObjectElement::collectSubresourceURLsFromAttributes):
2421         * html/HTMLObjectElement.h:
2422         (HTMLObjectElement):
2423         * html/HTMLParamElement.cpp:
2424         (WebCore::HTMLParamElement::collectSubresourceURLsFromAttributes):
2425         * html/HTMLParamElement.h:
2426         (HTMLParamElement):
2427         * html/HTMLScriptElement.cpp:
2428         (WebCore::HTMLScriptElement::collectSubresourceURLsFromAttributes):
2429         * html/HTMLScriptElement.h:
2430         (HTMLScriptElement):
2431         * html/HTMLStyleElement.cpp:
2432         (WebCore::HTMLStyleElement::collectSubresourceURLsFromAttributes):
2433         * html/HTMLStyleElement.h:
2434         (HTMLStyleElement):
2435         * html/HTMLTableCellElement.cpp:
2436         (WebCore::HTMLTableCellElement::collectSubresourceURLsFromAttributes):
2437         * html/HTMLTableCellElement.h:
2438         (HTMLTableCellElement):
2439         * html/HTMLTableElement.cpp:
2440         (WebCore::HTMLTableElement::collectSubresourceURLsFromAttributes):
2441         * html/HTMLTableElement.h:
2442         (HTMLTableElement):
2443         * svg/SVGCursorElement.cpp:
2444         (WebCore::SVGCursorElement::collectSubresourceURLsFromAttributes):
2445         * svg/SVGCursorElement.h:
2446         (SVGCursorElement):
2447         * svg/SVGFEImageElement.cpp:
2448         (WebCore::SVGFEImageElement::collectSubresourceURLsFromAttributes):
2449         * svg/SVGFEImageElement.h:
2450         (SVGFEImageElement):
2451         * svg/SVGImageElement.cpp:
2452         (WebCore::SVGImageElement::collectSubresourceURLsFromAttributes):
2453         * svg/SVGImageElement.h:
2454         (SVGImageElement):
2455         * svg/SVGScriptElement.cpp:
2456         (WebCore::SVGScriptElement::collectSubresourceURLsFromAttributes):
2457         * svg/SVGScriptElement.h:
2458         (SVGScriptElement):
2459
2460 2012-05-30  Eugene Klyuchnikov  <eustas.bug@gmail.com>
2461
2462         Web Inspector: Fix JS compiler warning
2463         https://bugs.webkit.org/show_bug.cgi?id=87836
2464
2465         Reviewed by Yury Semikhatsky.
2466
2467         * inspector/front-end/SettingsScreen.js: Fix method annotation.
2468
2469 2012-05-30  Zoltan Horvath  <zoltan@webkit.org>
2470
2471         [Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder
2472         https://bugs.webkit.org/show_bug.cgi?id=80400
2473
2474         This change modifies the default ImageDecoder for Qt-port from QImageDecoder to WebCore ImageDecoder.
2475         The new behavior is to use QImageDecoder only if WebCoreImageDecoder - and the platform - doesn't support 
2476         the requested image type.
2477         The WTF_USE_QT_IMAGE_DECODER macro has been removed, since it is no longer needed.
2478
2479         This change adds build depedency (except Qt-MAC and Qt-WIN platform) for libpng-dev and libjpeg-dev packages, 
2480         because PNG and JPEG imagedecoders need not only these libraries, but their headers also. Qmake-config 
2481         tests for these libraries were introduced in r110045.
2482
2483         Notice: with using libjpeg-turbo as a system library I measured 10% performance improvement on Methanol benchmark
2484         (collection of popular sites, page-loading benchmark) with this patch.
2485
2486         Reviewed by Simon Hausmann.
2487
2488         No new tests needed.
2489
2490         * Target.pri: Move WebCore ImageDecoder files out of guards. Remove ImageFrameQt.cpp from sources.
2491         * WebCore.pri: Move WebCore ImageDecoder include paths out of guards.
2492         * platform/MIMETypeRegistry.cpp:
2493         (WebCore::initializeSupportedImageMIMETypes): Add WebCore supported and Qt supported MIME types.
2494         (WebCore::initializeSupportedImageMIMETypesForEncoding): Use Qt supported MIME types.
2495         * platform/graphics/ImageSource.cpp: Remove unnecessary includes.
2496         * platform/graphics/ImageSource.h: Remove unnecessary typedefs.
2497         (WebCore):
2498         * platform/graphics/qt/ImageDecoderQt.cpp: Remove ImageDecoder::create, since it is no longer needed.
2499         (WebCore::ImageDecoderQt::filenameExtension): Remove unnecessary semicolon.
2500         (WebCore::ImageDecoderQt::internalHandleCurrentImage): Use QImage and ImageFrame instead of QPixmap.
2501         (WebCore):
2502         (WebCore::ImageFrame::asNewNativeImage): Moved here from removed ImageFrameQt.cpp.
2503         * platform/image-decoders/ImageDecoder.cpp: Reorganize the includes of the header.
2504         (WebCore::ImageDecoder::create): Add platform macro guarded fallback case for QImageDecoder. Add guards
2505         for JPEG, PNG, ICO decoder for Qt-MAC and Qt-WIN platform.
2506         * platform/image-decoders/ImageDecoder.h: Remove Qt-specific codes.
2507         (WebCore::ImageFrame::getAddr): Remove Qt-specific case, since it is no longer needed.
2508         (ImageFrame):
2509         * platform/image-decoders/qt/ImageFrameQt.cpp: Removed. Dead code, other code has been moved to
2510         ImageDecoderQt.cpp.
2511
2512 2012-05-23  Kinuko Yasuda  <kinuko@chromium.org>
2513
2514         REGRESSION: We should allow null modificationTime when snapshot metadata is given
2515         https://bugs.webkit.org/show_bug.cgi?id=86811
2516
2517         Reviewed by Jian Li.
2518
2519         r117432 has introduced a new File constructor which allows the caller
2520         to pass in a snapshot file metadata. In the change we had considered the
2521         given metadata is valid if "metadata.length >= 0 AND metadata.lastModifiedDate != 0",
2522         but we should drop the latter condition (lastModifiedDate != 0) because
2523
2524         1. the value 0 is used to indicate the time information is unavailable in File, and
2525         2. it is valid per spec (http://dev.w3.org/2006/webapi/FileAPI/#dfn-lastModifiedDate says the UA must return null if the information is not available).
2526
2527         (Note: the current js/v8 binding returns Date(0) for the time value 0,
2528         which is still valid as epoch time but would fail to indicate the
2529         unavailability of the information. In this patch I added FIXME in
2530         File.idl and filed a separate issue http://webkit.org/b/87709)
2531
2532         No new tests as this change does not affect regular files/filesystems behavior.
2533         (Tests in Chrome OS port should be able to verify this)
2534
2535         * fileapi/File.cpp:
2536         (WebCore::File::lastModifiedDate):
2537         (WebCore::File::size):
2538         (WebCore::File::captureSnapshot):
2539         * fileapi/File.h:
2540         (File):
2541
2542 2012-05-30  MORITA Hajime  <morrita@google.com>
2543
2544         [Shadow DOM] HTMLContentElement and HTMLShadowElement constructors should be visible.
2545         https://bugs.webkit.org/show_bug.cgi?id=87818
2546
2547         Reviewed by Kentaro Hara.
2548
2549         Added them as DOMWindow properties
2550
2551         Tests: fast/dom/shadow/content-element-api.html
2552                fast/dom/shadow/shadow-element.html
2553
2554         * page/DOMWindow.idl:
2555
2556 2012-05-30  Mike Lawther  <mikelawther@chromium.org>
2557
2558         CSS3 calc: Implement CSSOM support
2559         https://bugs.webkit.org/show_bug.cgi?id=84551
2560
2561         Reviewed by Ryosuke Niwa.
2562
2563         Adds a pretty printer for the calc expression tree. 
2564
2565         Test: css3/calc/cssom.html
2566
2567         * css/CSSCalculationValue.cpp:
2568         (WebCore::CSSCalcValue::customCssText):
2569         (WebCore::CSSCalcPrimitiveValue::customCssText):
2570         (WebCore::CSSCalcBinaryOperation::customCssText):
2571         (CSSCalcBinaryOperation):
2572         * css/CSSCalculationValue.h:
2573         (CSSCalcExpressionNode):
2574
2575 2012-05-29  Li Yin  <li.yin@intel.com>
2576
2577         [FileAPI] The result attribute of FileReader shuold use null to replace empty string
2578         https://bugs.webkit.org/show_bug.cgi?id=87578
2579
2580         Reviewed by Jian Li.
2581
2582         Spec: http://www.w3.org/TR/FileAPI/#dfn-result
2583         If the readyState is EMPTY (no read method has been called) or an error 
2584         in reading the File or Blob has occurred (using any read method), then the 
2585         result attribute MUST return null.
2586
2587         Currently, Firefox11, Opera and IE 10 follows the spec, but Webkit based
2588         browser doesn't.
2589         WebKit should change the returned value empty string into null to keep
2590         conformance with the spec.
2591
2592         Tests: fast/files/read-file-async.html
2593                fast/files/workers/worker-read-file-async.html
2594
2595         * fileapi/FileReader.cpp:
2596         (WebCore::FileReader::arrayBufferResult):
2597         (WebCore::FileReader::stringResult):
2598
2599 2012-05-29  Mark Pilgrim  <pilgrim@chromium.org>
2600
2601         [Chromium] Move fileExists to Platform.h
2602         https://bugs.webkit.org/show_bug.cgi?id=87531
2603
2604         Reviewed by Adam Barth.
2605
2606         Call fileExists through fileUtilities(), not directly.
2607
2608         * platform/chromium/FileSystemChromium.cpp:
2609         (WebCore::fileExists):
2610
2611 2012-05-29  Kentaro Hara  <haraken@chromium.org>
2612
2613         Remove a dummy style sheet from CSSParser::parseFlowThread()
2614         https://bugs.webkit.org/show_bug.cgi?id=87715
2615
2616         Reviewed by Darin Adler.
2617
2618         r118736 changed CSSGrammar.y so that it works fine with no style sheet.
2619         r118736 removed a dummy style sheet from CSSParser::parserSelector().
2620         Now we can safely remove a dummy style sheet from parserFlowThread().
2621
2622         Tests: fast/regions. No change in test results.
2623
2624         * css/CSSParser.cpp:
2625         (WebCore::CSSParser::parseFlowThread):
2626
2627 2012-05-29  Yoshifumi Inoue  <yosin@chromium.org>
2628
2629         REGRESSION(r111497): The "option" element doesn't match CSS pseudo class :enabled
2630         https://bugs.webkit.org/show_bug.cgi?id=87719
2631
2632         Reviewed by Kent Tamura.
2633
2634         This patch added checking of "option" element for CSS pseudo class :enabled as same as
2635         :disabled to selector checker. Before r111497, it was done by using isFormControlElement.
2636         After that revision, HTMLOptionElement was no longer derived from HTMLFormControlElement.
2637
2638         Test: fast/form/select/optgroup-rendering.html
2639
2640         * css/SelectorChecker.cpp:
2641         (WebCore::SelectorChecker::checkOneSelector): Checking element is option element as same
2642         as PseudoDisabled in PseudoEnabled case.
2643
2644 2012-05-29  Hayato Ito  <hayato@chromium.org>
2645
2646         Introduces ComposedShadowTreeParentWalker, extracted from ComposedShadowTreeWalker.
2647         https://bugs.webkit.org/show_bug.cgi?id=87004
2648
2649         Reviewed by Dimitri Glazkov.
2650
2651         Introduces a ComposedShadowTreeParentWalker, which is only used
2652         for traversing a parent node (including shadow roots and insertion
2653         points) and get rid of an equivalent function from
2654         ComposedShadowTreeWalker.
2655
2656         Before this patch, there is an inconsistency inside of
2657         ComposedShadowTreeWalker. The Walker uses 'Policy' to decide
2658         whether it should visit shadow roots or not, but
2659         parentIncludingInsertionPointAndShadowRoot() member function
2660         ignores the policy.  We can not add an assertion in its
2661         constructor due to this inconsistency.  To resolve it, we could
2662         add yet another special policy, but that makes the implementation
2663         complex and may add some overhead in runtime.  So separate the
2664         functionality into another class as ComposedShadowTreeParentWalker.
2665
2666         No new tests, no new functionality except for assertion.
2667
2668         * dom/ComposedShadowTreeWalker.cpp:
2669         (WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker):
2670         (WebCore::ComposedShadowTreeParentWalker::ComposedShadowTreeParentWalker):
2671         (WebCore):
2672         (WebCore::ComposedShadowTreeParentWalker::parentIncludingInsertionPointAndShadowRoot):
2673         (WebCore::ComposedShadowTreeParentWalker::traverseParentIncludingInsertionPointAndShadowRoot):
2674         * dom/ComposedShadowTreeWalker.h:
2675         (ComposedShadowTreeWalker):
2676         (WebCore::ComposedShadowTreeWalker::assertPrecondition):
2677         (WebCore):
2678         (ComposedShadowTreeParentWalker):
2679         (WebCore::ComposedShadowTreeParentWalker::get):
2680         * dom/EventDispatcher.cpp:
2681         (WebCore::EventRelatedTargetAdjuster::adjust):
2682         (WebCore::EventDispatcher::ensureEventAncestors):
2683         * page/EventHandler.cpp:
2684         (WebCore::EventHandler::updateMouseEventTargetNode):
2685
2686 2012-05-29  Hayato Ito  <hayato@chromium.org>
2687
2688         Add assertions to make sure that event's target and relatedTarget are accessible.
2689         https://bugs.webkit.org/show_bug.cgi?id=87641
2690
2691         Reviewed by Dimitri Glazkov.
2692
2693         No new tests. No new functionality except for assertions.
2694
2695         * dom/EventContext.cpp:
2696         (WebCore::EventContext::EventContext):
2697         * dom/EventContext.h:
2698         (WebCore):
2699         (EventContext):
2700         (WebCore::EventContext::setRelatedTarget):
2701         (WebCore::EventContext::accessible):
2702
2703 2012-05-29  Kent Tamura  <tkent@chromium.org>
2704
2705         Fix inefficient usage of traverseNextNode()
2706         https://bugs.webkit.org/show_bug.cgi?id=87804
2707
2708         Reviewed by Ryosuke Niwa.
2709
2710         foo->traverseNextNode(foo) is equivalent to foo->firstChild(), and
2711         firstChild() is more efficient.
2712
2713         No new tests because of no behavior change.
2714
2715         * html/HTMLFieldSetElement.cpp:
2716         (WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder):
2717         Replace traverseNextNode() with firstChild(), and shorten a variable name.
2718         * svg/SVGSVGElement.cpp:
2719         (WebCore::SVGSVGElement::getElementById):
2720         Replace traverseNextNode() with firstChild().
2721
2722 2012-05-29  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2723
2724         [BlackBerry] Loading media data with http authentication
2725         https://bugs.webkit.org/show_bug.cgi?id=84214
2726
2727         Reviewed by George Staikos.
2728
2729         RIM PR: 117618
2730         Implemented http authentication feature for media by implementing
2731         two interface functions in class MediaPlayerPrivate:
2732         onAuthenticationNeeded(): this function is triggered when MMR
2733         engine requires http authentication. We search the CredentialStorage
2734         to see if we have already stored existing credential information,
2735         or challenge user to provide it.
2736         OnAuthenticationAccepted(): this function is triggered when MMR
2737         engine accepts the credential information, and we need to save
2738         it in CredentialStorage for later use.
2739
2740         Internally reviewed by Max Feil <mfeil@qnx.com>.
2741
2742         Manual test case: blackberry/video-load-with-authentication.html
2743
2744         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2745         (WebCore::generateProtectionSpaceFromMMRAuthChallenge):
2746         (WebCore):
2747         (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
2748         (WebCore::MediaPlayerPrivate::onAuthenticationAccepted):
2749         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
2750         (MediaPlayerPrivate):
2751
2752 2012-05-29  MORITA Hajime  <morrita@google.com>
2753
2754         [Shadow DOM] Node distribution should be orthogonal from node attachment
2755         https://bugs.webkit.org/show_bug.cgi?id=87223
2756
2757         Reviewed by Dimitri Glazkov.
2758
2759         This chagne reorganizes Shadow DOM subtree distribution implementation.
2760
2761         Originally, it was interleaved across attach() of several classes like
2762         InsertionPoint and ShadowRoot. Its invalidation was also mixed as a part of
2763         the style recalculation and detach()-es.
2764
2765         This change extracts these bits of code to a set of ContentDistributor methods, which are
2766         facaded by two ElementShadow API. Following two API are the primary entry points:
2767
2768         - ElementShadow::ensureDistribution()
2769         - ElementShadow::invalidateDistribution()
2770
2771         The actual implementations are ContentDistributor::distribute() and
2772         ContentDistributor::invalidate() respectively.
2773
2774         When clients need to traverse composed tree, before attach() for
2775         example, they should call ensureDistribution() to make sure that
2776         the traversal data structure ("the distribution") is ready.  When
2777         there is any DOM mutation which can result a composed tree
2778         mutation, then clients should call invalidateDistribution() to
2779         mark the distribution being dated.
2780
2781         Here are such DOM mutations:
2782
2783         - The children of any ShadowRoots are changed,
2784         - The children of any InsertionPoints are changed,
2785         - The children of any host elements are changed,
2786         - Any insertion point is inserted to or removed from the shadow tree,
2787         - @select attribute of <content> is modified and
2788         - New ShadowRoot is added to the shadow tree.
2789
2790         Note that the validity of the distribution is tracked and
2791         unnecessary distribution requests are ignored.
2792
2793         After the invalidation, that shadow subtrees are detached once and
2794         request  their  re-attachment  through  the  style  recalculation.
2795         Then,  on the  responding  style recalculation  and attach(),  new
2796         distribution will be computed.
2797
2798         No new tests. Covered by existing tests.
2799
2800         * dom/Element.cpp:
2801         (WebCore::Element::~Element):
2802         (WebCore::Element::childrenChanged):
2803         * dom/ElementShadow.cpp:
2804         (WebCore::ElementShadow::~ElementShadow):
2805         (WebCore::ElementShadow::addShadowRoot):
2806         (WebCore::ElementShadow::removeAllShadowRoots):
2807         (WebCore::ElementShadow::attach):
2808         (WebCore::ElementShadow::recalcStyle):
2809         (WebCore::ElementShadow::ensureDistribution):
2810         (WebCore::ElementShadow::invalidateDistribution):
2811         * dom/ElementShadow.h:
2812         (ElementShadow):
2813         * dom/NodeRenderingContext.cpp:
2814         (WebCore::NodeRenderingContext::NodeRenderingContext):
2815         (WebCore::NodeRendererFactory::createRendererIfNeeded):
2816         * dom/NodeRenderingContext.h:
2817         (NodeRenderingContext):
2818         * dom/ShadowRoot.cpp:
2819         (WebCore::ShadowRoot::setApplyAuthorStyles):
2820         (WebCore::ShadowRoot::attach):
2821         (WebCore::ShadowRoot::childrenChanged):
2822         (WebCore):
2823         * dom/ShadowRoot.h:
2824         (ShadowRoot):
2825         * html/HTMLFormControlElement.cpp:
2826         * html/ValidationMessage.cpp:
2827         (WebCore::ValidationMessage::buildBubbleTree):
2828         * html/shadow/ContentDistributor.cpp:
2829         (WebCore::ContentDistributor::ContentDistributor):
2830         (WebCore::ContentDistributor::~ContentDistributor):
2831         (WebCore::ContentDistributor::findInsertionPointFor):
2832         (WebCore::ContentDistributor::distribute):
2833         (WebCore::ContentDistributor::invalidate):
2834         (WebCore::ContentDistributor::finishInivalidation):
2835         (WebCore::ContentDistributor::distributeSelectionsTo):
2836         (WebCore::ContentDistributor::distributeShadowChildrenTo):
2837         (WebCore::ContentDistributor::invalidateDistributionIn):
2838         * html/shadow/ContentDistributor.h:
2839         (WebCore::ContentDistributor::needsInvalidation):
2840         (ContentDistributor):
2841         (WebCore::ContentDistributor::needsDistribution):
2842         * html/shadow/HTMLContentElement.cpp:
2843         (WebCore::HTMLContentElement::parseAttribute):
2844         * html/shadow/InsertionPoint.cpp:
2845         (WebCore::InsertionPoint::attach):
2846         (WebCore::InsertionPoint::detach):
2847         (WebCore::InsertionPoint::nextTo):
2848         (WebCore::InsertionPoint::previousTo):
2849         (WebCore::InsertionPoint::childrenChanged):
2850         * html/shadow/InsertionPoint.h:
2851         (WebCore::InsertionPoint::setDistribution):
2852         (WebCore::InsertionPoint::clearDistribution):
2853         (InsertionPoint):
2854
2855 2012-05-29  Luke Macpherson  <macpherson@chromium.org>
2856
2857         Implement post-landing feedback for WebKitCSSTransformValue::customCSSText().
2858         https://bugs.webkit.org/show_bug.cgi?id=87684
2859
2860         Reviewed by Darin Adler.
2861
2862         Darin provided some style suggesting on https://bugs.webkit.org/show_bug.cgi?id=87462 after it landed.
2863         This patch incorporates those suggestions, namely using 0 instead of empty string for UnknownTransformOperation
2864         and WTF_ARRAY_LENGTH instead of hard coding the array length.
2865
2866         Covered by existing transform tests.
2867
2868         * css/WebKitCSSTransformValue.cpp:
2869         (WebCore):
2870         (WebCore::WebKitCSSTransformValue::customCssText):
2871
2872 2012-05-29  Eric Seidel  <eric@webkit.org>
2873
2874         Fix ENABLE_IFRAME_SEAMLESS to actually fully disable <iframe seamless>
2875         https://bugs.webkit.org/show_bug.cgi?id=87646
2876
2877         Reviewed by Adam Barth.
2878
2879         In the process of moving the seamless feature out of github and into bugs.webkit.org
2880         multiple versions of the shouldDisplaySeamlessly function got written
2881         (and moved from HTMLIFrameElement to Document), but only one of them was wrapped
2882         in ENABLE_IFRAME_SEAMLESS.  HTMLIFrameElement was checking mayDisplaySeamlessly
2883         directly (as was my original design), which got around the ENABLE_IFRAME_SEAMLESS check.
2884         I've fixed this oversight, and the feature is now off when we tell it to be off.
2885
2886         This is covered by many existing tests.  I've verified locally that
2887         all tests fail when ENABLE_IFRAME_SEAMLESS is disabled instead of
2888         only some of them.
2889
2890         * dom/SecurityContext.h:
2891         (SecurityContext):
2892         * html/HTMLIFrameElement.cpp:
2893         (WebCore::HTMLIFrameElement::shouldDisplaySeamlessly):
2894
2895 2012-05-29  Scott Graham  <scottmg@chromium.org>
2896
2897         Fix warning in preprocessing Source/WebCore/dom/DOMError.idl
2898         https://bugs.webkit.org/show_bug.cgi?id=87763
2899
2900         Reviewed by Adam Barth.
2901
2902         Add newline at end of file to avoid warning:
2903         ../dom/DOMError.idl:35:2: warning: no newline at end of file
2904
2905         * dom/DOMError.idl:
2906
2907 2012-05-29  Mark Pilgrim  <pilgrim@chromium.org>
2908
2909         [Chromium] Move fileExists to Platform.h
2910         https://bugs.webkit.org/show_bug.cgi?id=87531
2911
2912         Reviewed by Adam Barth.
2913
2914         Part of a refactoring series. See tracking bug 82948.
2915
2916         * platform/chromium/FileSystemChromium.cpp:
2917         (WebCore::fileExists):
2918         * platform/chromium/PlatformSupport.h:
2919         (PlatformSupport):
2920
2921 2012-05-29  Kentaro Hara  <haraken@chromium.org>
2922
2923         [V8] Rename v8Null() to v8NullWithCheck()
2924         https://bugs.webkit.org/show_bug.cgi?id=87713
2925
2926         Reviewed by Adam Barth.
2927
2928         In IRC, cmarcelo@ pointed out that v8::Null() and v8Null()
2929         are confusing. This patch renames v8Null() to v8NullWithCheck().
2930
2931         No tests. No behavior change.
2932
2933         * bindings/scripts/CodeGeneratorV8.pm:
2934         (GenerateHeader):
2935         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2936         (WebCore::toV8):
2937         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2938         (WebCore::toV8):
2939         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2940         (WebCore::toV8):
2941         * bindings/scripts/test/V8/V8TestEventTarget.h:
2942         (WebCore::toV8):
2943         * bindings/scripts/test/V8/V8TestException.h:
2944         (WebCore::toV8):
2945         * bindings/scripts/test/V8/V8TestInterface.h:
2946         (WebCore::toV8):
2947         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2948         (WebCore::toV8):
2949         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2950         (WebCore::toV8):
2951         * bindings/scripts/test/V8/V8TestNode.h:
2952         (WebCore::toV8):
2953         * bindings/scripts/test/V8/V8TestObj.h:
2954         (WebCore::toV8):
2955         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2956         (WebCore::toV8):
2957         * bindings/v8/V8Binding.h:
2958         (WebCore::v8NullWithCheck):
2959         (WebCore::v8DateOrNull):
2960
2961 2012-05-29  Christophe Dumez  <christophe.dumez@intel.com>
2962
2963         Some Content Security Policy console messages are missing line numbers in JSC
2964         https://bugs.webkit.org/show_bug.cgi?id=87558
2965
2966         Reviewed by Adam Barth.
2967
2968         Make ScriptController::eventHandlerPosition() behave the same way on
2969         JSC than V8. This means that TextPosition::minimumPosition() is
2970         returned if parser is null, instead of
2971         TextPosition::belowRangePosition(). The line numbers are now correctly
2972         printed in the output of Content Security Policy tests.
2973
2974         Tests: http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url.html
2975                http/tests/security/contentSecurityPolicy/javascript-url-blocked.html
2976
2977         * bindings/js/ScriptController.cpp:
2978         (WebCore::ScriptController::eventHandlerPosition):
2979
2980 2012-05-29  Shawn Singh  <shawnsingh@chromium.org>
2981
2982         [chromium] make WebTransformationMatrix object usable by non-webkit code
2983         https://bugs.webkit.org/show_bug.cgi?id=87315
2984
2985         Reviewed by James Robinson.
2986
2987         This change is covered by existing tests and by whether it
2988         compiles. There should be no changes in behavior.
2989
2990         * platform/chromium/support/WebTransformationMatrix.cpp:
2991         (WebKit::WebTransformationMatrix::WebTransformationMatrix):
2992         (WebKit::WebTransformationMatrix::operator=):
2993         (WebKit::WebTransformationMatrix::operator==):
2994         (WebKit::WebTransformationMatrix::inverse):
2995         (WebKit::WebTransformationMatrix::to2dTransform):
2996         (WebKit::WebTransformationMatrix::multiply):
2997         (WebKit::WebTransformationMatrix::makeIdentity):
2998         (WebKit::WebTransformationMatrix::translate):
2999         (WebKit::WebTransformationMatrix::translate3d):
3000         (WebKit::WebTransformationMatrix::translateRight3d):
3001         (WebKit::WebTransformationMatrix::scale):
3002         (WebKit::WebTransformationMatrix::scaleNonUniform):
3003         (WebKit::WebTransformationMatrix::scale3d):
3004         (WebKit::WebTransformationMatrix::rotate):
3005         (WebKit::WebTransformationMatrix::rotate3d):
3006         (WebKit::WebTransformationMatrix::skewX):
3007         (WebKit::WebTransformationMatrix::skewY):
3008         (WebKit::WebTransformationMatrix::applyPerspective):
3009         (WebKit::WebTransformationMatrix::blend):
3010         (WebKit::WebTransformationMatrix::hasPerspective):
3011         (WebKit::WebTransformationMatrix::isInvertible):
3012         (WebKit::WebTransformationMatrix::isBackFaceVisible):
3013         (WebKit::WebTransformationMatrix::isIdentity):
3014         (WebKit::WebTransformationMatrix::isIdentityOrTranslation):
3015         (WebKit::WebTransformationMatrix::isIntegerTranslation):
3016         (WebKit::WebTransformationMatrix::m11):
3017         (WebKit::WebTransformationMatrix::setM11):
3018         (WebKit::WebTransformationMatrix::m12):
3019         (WebKit::WebTransformationMatrix::setM12):
3020         (WebKit::WebTransformationMatrix::m13):
3021         (WebKit::WebTransformationMatrix::setM13):
3022         (WebKit::WebTransformationMatrix::m14):
3023         (WebKit::WebTransformationMatrix::setM14):
3024         (WebKit::WebTransformationMatrix::m21):
3025         (WebKit::WebTransformationMatrix::setM21):
3026         (WebKit::WebTransformationMatrix::m22):
3027         (WebKit::WebTransformationMatrix::setM22):
3028         (WebKit::WebTransformationMatrix::m23):
3029         (WebKit::WebTransformationMatrix::setM23):
3030         (WebKit::WebTransformationMatrix::m24):
3031         (WebKit::WebTransformationMatrix::setM24):
3032         (WebKit::WebTransformationMatrix::m31):
3033         (WebKit::WebTransformationMatrix::setM31):
3034         (WebKit::WebTransformationMatrix::m32):
3035         (WebKit::WebTransformationMatrix::setM32):
3036         (WebKit::WebTransformationMatrix::m33):
3037         (WebKit::WebTransformationMatrix::setM33):
3038         (WebKit::WebTransformationMatrix::m34):
3039         (WebKit::WebTransformationMatrix::setM34):
3040         (WebKit::WebTransformationMatrix::m41):
3041         (WebKit::WebTransformationMatrix::setM41):
3042         (WebKit::WebTransformationMatrix::m42):
3043         (WebKit::WebTransformationMatrix::setM42):
3044         (WebKit::WebTransformationMatrix::m43):
3045         (WebKit::WebTransformationMatrix::setM43):
3046         (WebKit::WebTransformationMatrix::m44):
3047         (WebKit::WebTransformationMatrix::setM44):
3048         (WebKit::WebTransformationMatrix::a):
3049         (WebKit::WebTransformationMatrix::setA):
3050         (WebKit::WebTransformationMatrix::b):
3051         (WebKit::WebTransformationMatrix::setB):
3052         (WebKit::WebTransformationMatrix::c):
3053         (WebKit::WebTransformationMatrix::setC):
3054         (WebKit::WebTransformationMatrix::d):
3055         (WebKit::WebTransformationMatrix::setD):
3056         (WebKit::WebTransformationMatrix::e):
3057         (WebKit::WebTransformationMatrix::setE):
3058         (WebKit::WebTransformationMatrix::f):
3059         (WebKit::WebTransformationMatrix::setF):
3060         (WebKit::WebTransformationMatrix::toWebCoreTransform):
3061         (WebKit::WebTransformationMatrix::mapRect):
3062         (WebKit::WebTransformationMatrix::mapPoint):
3063         (WebKit::WebTransformationMatrix::mapQuad):
3064         (WebKit::WebTransformationMatrix::projectPoint):
3065
3066 2012-05-29  Alexis Menard  <alexis.menard@openbossa.org>
3067
3068         [CSS3 Backgrounds and Borders] Implement box-decoration-break parsing.
3069         https://bugs.webkit.org/show_bug.cgi?id=87678
3070
3071         Reviewed by Eric Seidel.
3072
3073         Implement the parsing part of box-decoration-break. The specification
3074         is located at http://www.w3.org/TR/css3-background/#box-decoration-break.
3075         So far Opera implements it. This patch only implements the parsing part of
3076         the property. A following patch will implement the rendering part. Despite
3077         the rendering part missing it improves http://css3test.com by 1%.
3078
3079         Test: fast/box-decoration-break/box-decoration-break-parsing.html
3080
3081         * css/CSSComputedStyleDeclaration.cpp:
3082         (WebCore):
3083         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3084         * css/CSSParser.cpp:
3085         (WebCore::isValidKeywordPropertyAndValue):
3086         (WebCore::isKeywordPropertyID):
3087         * css/CSSPrimitiveValueMappings.h:
3088         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3089         (WebCore):
3090         (WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak):
3091         * css/CSSProperty.cpp:
3092         (WebCore::CSSProperty::isInheritedProperty):
3093         * css/CSSPropertyNames.in:
3094         * css/CSSValueKeywords.in:
3095         * css/StyleBuilder.cpp:
3096         (WebCore::StyleBuilder::StyleBuilder):
3097         * rendering/style/RenderStyle.h:
3098         * rendering/style/RenderStyleConstants.h:
3099         * rendering/style/StyleBoxData.cpp:
3100         (WebCore::StyleBoxData::StyleBoxData):
3101         (WebCore::StyleBoxData::operator==):
3102         * rendering/style/StyleBoxData.h:
3103         (WebCore::StyleBoxData::boxDecorationBreak):
3104         (StyleBoxData):
3105
3106 2012-05-29  David Barr  <davidbarr@chromium.org>
3107
3108         [text-overflow: ellipsis] WebKit should ignore the ellipsis for the purpose of dispatching mouse events
3109         https://bugs.webkit.org/show_bug.cgi?id=63781
3110
3111         Reviewed by Eric Seidel.
3112
3113         "Ellipsing only affects rendering and must not affect layout nor dispatching of pointer events."
3114         http://www.w3.org/TR/2012/WD-css3-ui-20120117/#text-overflow
3115
3116         Test: fast/css/text-overflow-ellipsis-hit-test.html
3117
3118         * rendering/EllipsisBox.cpp:
3119         (WebCore::EllipsisBox::nodeAtPoint): Always return false.
3120
3121 2012-05-29  Gavin Peters  <gavinp@chromium.org>
3122
3123         [Chromium] Remove assertions on state in Prerender.cpp
3124         https://bugs.webkit.org/show_bug.cgi?id=87746
3125
3126         Chrome was crashing in the new Prerender API on Google Web Search; this was because the DOM would stop(), setting the
3127         state of the Prerenders in the document to Inactive, but an asyncronous GC would later come come along and trigger the
3128         removedFromDocument behaviour on each element, including the <link> element launching the prerender.  This causes an
3129         assertion failure.
3130
3131         I believe the late-deletion of the DOM, and the HTMLElement::removedFromDocument calls are legal, and it was the
3132         overzealous assertions in Prerender that were inappropriate.
3133
3134         Reviewed by Adam Barth.
3135
3136         No new automated tests, working on a Chromium browser test. Manually test by entering many prerender and non-prerendered
3137         queries into Google Web Search.
3138
3139         * platform/chromium/Prerender.cpp:
3140         (WebCore::Prerender::Prerender):
3141         (WebCore::Prerender::add):
3142         (WebCore::Prerender::cancel):
3143         (WebCore::Prerender::abandon):
3144         * platform/chromium/Prerender.h:
3145         (Prerender):
3146
3147 2012-05-29  Victor Carbune  <victor@rosedu.org>
3148
3149         Display cues in the controls area
3150         https://bugs.webkit.org/show_bug.cgi?id=87591
3151
3152         Reviewed by Eric Carlson.
3153
3154         Changed the behaviour to implicitly hide the volume slidebar
3155         if the controls are hidden (due mouse moving out of the video
3156         area or controls are toggled through JS).
3157
3158         This seems to be the simplest fix to this issue, otherwise
3159         on toggling the display:none property on the controls the
3160         volume slidebar might appear below the video.
3161
3162         Re-enabled failing tests for this functionality.
3163
3164         * html/shadow/MediaControlElements.cpp:
3165         (WebCore::MediaControlPanelElement::makeTransparent): Re-enabled
3166         timer to set the display:none property on the controls.
3167         * html/shadow/MediaControlRootElement.cpp:
3168         (WebCore::MediaControlRootElement::hide): Added a call to hide
3169         the volume slider.
3170         (WebCore::MediaControlRootElement::makeTransparent): Same.
3171         * html/shadow/MediaControlRootElementChromium.cpp:
3172         (WebCore::MediaControlRootElementChromium::hide): Same.
3173         (WebCore::MediaControlRootElementChromium::makeTransparent): Same.
3174
3175 2012-05-29  Adrienne Walker  <enne@google.com>
3176
3177         Fix transparent iframes with composited contents in WK1 on Mac
3178         https://bugs.webkit.org/show_bug.cgi?id=76478
3179
3180         Reviewed by Simon Fraser.
3181
3182         Test: compositing/iframes/repaint-after-losing-scrollbars.html
3183
3184         * page/FrameView.cpp:
3185         (WebCore::FrameView::useSlowRepaints):
3186
3187 2012-05-29  David Hyatt  <hyatt@apple.com>
3188
3189         https://bugs.webkit.org/show_bug.cgi?id=87787
3190         
3191         [New Multicolumn] Refactor the region and flow thread code so that it can pick up the correct column widths
3192         and heights when determining the logical width and height of the flow thread itself.
3193
3194         This patch adds new virtual methods to RenderRegion: logicalWidthForFlowThreadContent and logicalHeightForFlowThreadContent.
3195         For normal regions, these methods return the contentWidth and contentHeight of the regions themselves. For column sets,
3196         however, these methods actually return the column widths and heights.
3197         
3198         This allows the flow thread to properly lay out according to the column width.
3199         
3200         Region invalidation is also done properly by using these new methods.
3201         
3202         In some cases the code is actually simplified, since we can get rid of some isHorizontalWritingMode() switching.
3203         
3204         With this patch the flow thread now actually lays out and paints at the right width (spilling out of the region set in a single unbroken
3205         column).
3206
3207         Reviewed by Dan Bernstein.
3208
3209         * rendering/RenderFlowThread.cpp:
3210         (WebCore::RenderFlowThread::layout):
3211         (WebCore::RenderFlowThread::computeLogicalWidth):
3212         (WebCore::RenderFlowThread::computeLogicalHeight):
3213         * rendering/RenderMultiColumnBlock.cpp:
3214         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
3215         * rendering/RenderMultiColumnBlock.h:
3216         (WebCore::RenderMultiColumnBlock::isRenderMultiColumnBlock):
3217         (RenderMultiColumnBlock):
3218         (WebCore::toRenderMultiColumnBlock):
3219         (WebCore):
3220         * rendering/RenderMultiColumnSet.cpp:
3221         (WebCore::RenderMultiColumnSet::computeLogicalWidth):
3222         (WebCore):
3223         (WebCore::RenderMultiColumnSet::computeLogicalHeight):
3224         * rendering/RenderMultiColumnSet.h:
3225         (WebCore::RenderMultiColumnSet::setColumnWidthAndCount):
3226         (RenderMultiColumnSet):
3227         * rendering/RenderObject.h:
3228         (WebCore::RenderObject::isRenderMultiColumnBlock):
3229         * rendering/RenderRegion.cpp:
3230         (WebCore::RenderRegion::logicalWidthForFlowThreadContent):
3231         (WebCore):
3232         (WebCore::RenderRegion::logicalHeightForFlowThreadContent):
3233         (WebCore::RenderRegion::layout):
3234         * rendering/RenderRegion.h:
3235         (RenderRegion):
3236
3237 2012-05-29  Alec Flett  <alecflett@chromium.org>
3238
3239         IndexedDB: Align codes and names for IDB-specific and DOM-specific errors/exceptions
3240         https://bugs.webkit.org/show_bug.cgi?id=87276
3241
3242         Reviewed by Tony Chang.
3243
3244         No new tests. Existing tests have been updated to use the new
3245         exception constant values.
3246
3247         The IDB spec has evolved to DOM4-style DOMExceptions, which are
3248         referred to with MixedCase, string-based style names for
3249         exceptions rather than UNDERSCORE_CONSTANT_ERR codes. Change to
3250         use MixedCase error/exception names, and tease out the
3251         IDB-specific exception/error codes/names from the system-level
3252         codes. Make sure that the legacy IDB-masked exception code values
3253         match the DOM exception values. Make sure that
3254         IDBDatabaseException[exception.name] still works.
3255
3256         * Modules/indexeddb/IDBDatabase.cpp:
3257         (WebCore::IDBDatabase::createObjectStore):
3258         (WebCore::IDBDatabase::transaction):
3259         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3260         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
3261         (WebCore::IDBDatabaseBackendImpl::setVersion):
3262         (WebCore::IDBDatabaseBackendImpl::transaction):
3263         * Modules/indexeddb/IDBDatabaseException.cpp:
3264         (IDBDatabaseExceptionNameDescription):
3265         (WebCore):
3266         (WebCore::IDBDatabaseException::initializeDescription):
3267         * Modules/indexeddb/IDBDatabaseException.h:
3268         * Modules/indexeddb/IDBDatabaseException.idl:
3269         * Modules/indexeddb/IDBObjectStore.cpp:
3270         (WebCore::IDBObjectStore::createIndex):
3271         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3272         (WebCore::IDBObjectStoreBackendImpl::index):
3273         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
3274         * Modules/indexeddb/IDBRequest.cpp:
3275         (WebCore::IDBRequest::abort):
3276         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3277         (WebCore::IDBTransactionBackendImpl::objectStore):
3278
3279 2012-05-29  David Hyatt  <hyatt@apple.com>
3280
3281         https://bugs.webkit.org/show_bug.cgi?id=87775
3282
3283         [New Multicolumn] Make sure RenderMultiColumnSets have their own copy of the count, width and height of their columns. 
3284
3285         Reviewed by Anders Carlsson.
3286
3287         * rendering/RenderMultiColumnBlock.cpp:
3288         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
3289         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
3290         * rendering/RenderMultiColumnBlock.h:
3291         (WebCore::RenderMultiColumnBlock::columnWidth):
3292         (WebCore::RenderMultiColumnBlock::columnCount):
3293         (RenderMultiColumnBlock):
3294         * rendering/RenderMultiColumnSet.cpp:
3295         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
3296         * rendering/RenderMultiColumnSet.h:
3297         (WebCore::RenderMultiColumnSet::columnCount):
3298         (WebCore::RenderMultiColumnSet::columnWidth):
3299         (WebCore::RenderMultiColumnSet::columnHeight):
3300         (RenderMultiColumnSet):
3301         (WebCore::RenderMultiColumnSet::setColumnWidthAndCount):
3302         (WebCore::RenderMultiColumnSet::setColumnHeight):
3303
3304 2012-05-29  Simon Fraser  <simon.fraser@apple.com>
3305
3306         Incomplete repaint on twitter.com when replying to a tweet
3307         https://bugs.webkit.org/show_bug.cgi?id=87553
3308
3309         Reviewed by Dean Jackson.
3310         
3311         Style changes can cause a compositing layer to change between
3312         requiring its own backing store or not, e.g. with the addition
3313         or removal of a transform.
3314         
3315         When that happens, we need to repaint the ancesetor layer that
3316         this layer was, or will be drawing into.
3317         
3318         Factored some code out of layerWillBeRemoved() to be able to
3319         also call it from setRequiresOwnBackingStore().
3320
3321         New manual test, ManualTests/compositing/requires-backing-change.html.
3322         I was not able to get an automated pixel test to work.
3323
3324         * rendering/RenderLayerBacking.cpp:
3325         (WebCore::RenderLayerBacking::setRequiresOwnBackingStore):
3326         * rendering/RenderLayerCompositor.cpp:
3327         (WebCore::RenderLayerCompositor::updateCompositingLayers): Remove trailing whitespace.
3328         (WebCore::RenderLayerCompositor::repaintInCompositedAncestor):
3329         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
3330         * rendering/RenderLayerCompositor.h:
3331
3332 2012-05-29  David Hyatt  <hyatt@apple.com>
3333
3334         https://bugs.webkit.org/show_bug.cgi?id=87771
3335         
3336         [New Multicolumn] Make sure we have one column set by default and add it to the flow thread's region list.
3337
3338         Reviewed by Anders Carlsson.
3339
3340         * rendering/RenderMultiColumnBlock.cpp:
3341         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
3342         * rendering/RenderRegion.cpp:
3343         (WebCore::RenderRegion::RenderRegion):
3344
3345 2012-05-29  John Sullivan  <sullivan@apple.com>
3346
3347         Update label for blacklisted plug-in
3348         https://bugs.webkit.org/show_bug.cgi?id=87767
3349         rdar://problem/11550048
3350         
3351         Reviewed by Kevin Decker.
3352
3353         * English.lproj/Localizable.strings:
3354         Regenerated.
3355         
3356         * platform/LocalizedStrings.cpp:
3357         (WebCore::insecurePluginVersionText):
3358         Changed this string.
3359
3360 2012-05-29  Julien Chaffraix  <jchaffraix@webkit.org>
3361
3362         REGRESSION(r111742): box-sizing: border-box doesn't work on fixed table layout
3363         https://bugs.webkit.org/show_bug.cgi?id=87536
3364
3365         Reviewed by Tony Chang.
3366
3367         Tests: fast/table/fixed-table-layout/cell-box-sizing-fixed-table-layout.html
3368                fast/table/fixed-table-layout/column-box-sizing-fixed-table-layout.html
3369                fast/table/fixed-table-layout/column-group-box-sizing-fixed-table-layout.html
3370                fast/table/fixed-table-layout/column-in-column-group-box-sizing-fixed-table-layout.html
3371
3372         The change in r111742 completely ignored border-sizing (following the table's code lead unfortunately).
3373         The issue is that we would count the borders and paddings twice for the border-box case which would lead
3374         to the content-box including them too. From a web-author, this behavior is equivalent to ignoring box-sizing.
3375
3376         * rendering/FixedTableLayout.cpp:
3377         (WebCore::FixedTableLayout::calcWidthArray):
3378         Reworked the function to properly use computeBorderBoxLogicalWidth() for correctness. This matches
3379         what RenderBox and the rendering code does generally. Also refactored the code to avoid the need
3380         for local variables and make it more readable.
3381
3382 2012-05-25  Ojan Vafai  <ojan@chromium.org>
3383
3384         Absolute positioned elements in a relative positioned CSS3 Flexbox fail to display properly
3385         https://bugs.webkit.org/show_bug.cgi?id=58453
3386
3387         Reviewed by Tony Chang.
3388
3389         Test: css3/flexbox/align-absolute-child.html
3390
3391         * rendering/RenderFlexibleBox.cpp:
3392         (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
3393         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
3394         (WebCore::RenderFlexibleBox::adjustAlignmentForChild):
3395         When adjusting positioned items, adjust their static position, not their location.
3396         (WebCore::RenderFlexibleBox::flipForRightToLeftColumn):
3397         (WebCore::RenderFlexibleBox::flipForWrapReverse):
3398         * rendering/RenderFlexibleBox.h:
3399
3400 2012-05-29  Abhishek Arya  <inferno@chromium.org>
3401
3402         Crash due to text fragment destruction when updating first-letter block.
3403         https://bugs.webkit.org/show_bug.cgi?id=87751
3404
3405         Reviewed by Eric Seidel.
3406
3407         Test: fast/text/text-fragment-first-letter-update-crash.html
3408
3409         * rendering/RenderObject.cpp:
3410         (WebCore::RenderObject::setStyle):
3411
3412 2012-05-29  David Hyatt  <hyatt@apple.com>
3413
3414         https://bugs.webkit.org/show_bug.cgi?id=87764
3415         
3416         Add implementation of checkForPaginationLogicalHeightChange to RenderMultiColumnBlock.
3417         
3418         Also stub out ensureColumnSets() and write a comment describing how it's going to work.
3419
3420         Reviewed by Anders Carlsson.
3421
3422         * rendering/RenderMultiColumnBlock.cpp:
3423         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
3424         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
3425         (WebCore):
3426         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
3427         * rendering/RenderMultiColumnBlock.h:
3428         (WebCore::RenderMultiColumnBlock::columnHeight):
3429         (WebCore::RenderMultiColumnBlock::setColumnHeight):
3430         (RenderMultiColumnBlock):
3431
3432 2012-05-29  Sheriff Bot  <webkit.review.bot@gmail.com>
3433
3434         Unreviewed, rolling out r118620.
3435         http://trac.webkit.org/changeset/118620
3436         https://bugs.webkit.org/show_bug.cgi?id=87760
3437
3438         This patch causes regression to read an empty file/blob via
3439         FileReader (Requested by jianli on #webkit).
3440
3441         * fileapi/FileReader.cpp:
3442         (WebCore::FileReader::stringResult):
3443
3444 2012-05-29  Andreas Kling  <kling@webkit.org>
3445
3446         Make StylePropertySet a variable-sized object to reduce memory use.
3447         <http://webkit.org/b/87506>
3448
3449         Reviewed by Antti Koivisto.
3450
3451         Make immutable StylePropertySet objects variable-sized and allocate exactly
3452         the space needed to hold the CSSProperty objects passed at construction.
3453         This lets us avoid the memory overhead of Vector<CSSProperty, 4>.
3454
3455         Renamed StylePropertySet::adopt* to create and createImmutable since they no
3456         longer adopt the incoming vector. More cleanup will follow in this area.
3457
3458         This reduces memory usage across the board - the more CSS declarations,
3459         the bigger the benefit. As an example, we save around ~0.5MB on wsj.com.
3460
3461         * css/CSSComputedStyleDeclaration.cpp:
3462         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
3463         * css/CSSParser.cpp:
3464         (WebCore::CSSParser::createStylePropertySet):
3465         * css/StylePropertySet.cpp:
3466         (WebCore::StylePropertySet::createImmutable):
3467         (WebCore::StylePropertySet::StylePropertySet):
3468         (WebCore::StylePropertySet::~StylePropertySet):
3469         (WebCore::StylePropertySet::copyPropertiesFrom):
3470         (WebCore::StylePropertySet::removeProperty):
3471         (WebCore::StylePropertySet::setProperty):
3472         (WebCore::StylePropertySet::parseDeclaration):
3473         (WebCore::StylePropertySet::addParsedProperties):
3474         (WebCore::StylePropertySet::asText):
3475         (WebCore::StylePropertySet::merge):
3476         (WebCore::StylePropertySet::addSubresourceStyleURLs):
3477         (WebCore::StylePropertySet::removePropertiesInSet):
3478         (WebCore::StylePropertySet::findPropertyWithId):
3479         (WebCore::StylePropertySet::removeEquivalentProperties):
3480         (WebCore::StylePropertySet::copyPropertiesInSet):
3481         (WebCore::StylePropertySet::averageSizeInBytes):
3482         (SameSizeAsStylePropertySet):
3483         (WebCore::StylePropertySet::append):
3484         * css/StylePropertySet.h:
3485         (WebCore::StylePropertySet::create):
3486         (StylePropertySet):
3487         (WebCore::StylePropertySet::propertyAt):
3488         (WebCore::StylePropertySet::propertyCount):
3489         (WebCore::StylePropertySet::isEmpty):
3490         (WebCore::StylePropertySet::array):
3491         * dom/StyledElement.cpp:
3492         (WebCore::StyledElement::updateAttributeStyle):
3493
3494 2012-05-29  David Hyatt  <hyatt@apple.com>
3495
3496         https://bugs.webkit.org/show_bug.cgi?id=87759
3497         
3498         Pull the initial page logical height checking for columns into its own separate function. This
3499         will allow the derived RenderMultiColumnBlock class to do its own setup there. It also has the
3500         effect of cleaning up layoutBlock even for the existing code.
3501
3502         Reviewed by Anders Carlsson.
3503
3504         * rendering/RenderBlock.cpp:
3505         (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
3506         (WebCore):
3507         (WebCore::RenderBlock::layoutBlock):
3508         * rendering/RenderBlock.h:
3509         (RenderBlock):
3510
3511 2012-05-29  Victor Carbune  <victor@rosedu.org>
3512
3513         Update cue event dispatching for zero and negative duration cues
3514         https://bugs.webkit.org/show_bug.cgi?id=85143
3515
3516         Reviewed by Eric Carlson.
3517
3518         Updated existing test.
3519
3520         * html/HTMLMediaElement.cpp:
3521         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Explicitly
3522         treated event dispatching for zero and negative duration cues.
3523         (WebCore::HTMLMediaElement::textTrackAddCue): Interval tree doesn't
3524         handle invalid cues with intervals - negative cues need to be treated
3525         as zero-length cues as they are always missed cues anyway.
3526         (WebCore::HTMLMediaElement::textTrackRemoveCue): Same.
3527
3528 2012-05-29  MORITA Hajime  <morrita@google.com>
3529
3530         ShadowRoot.getElementById() returns removed node.
3531         https://bugs.webkit.org/show_bug.cgi?id=62184
3532
3533         Deregitration of m_elementsById map is done at Element::removedFrom()
3534         But the tree scope of the removed node is already reset from a shadow root
3535         to a document.
3536
3537         This change lookup the old shadow root through its parent node and
3538         deregitrater the node against it.
3539
3540         Reviewed by Dimitri Glazkov.
3541
3542         Test: fast/dom/shadow/get-element-by-id-in-shadow-mutation.html
3543
3544         * dom/Element.cpp:
3545         (WebCore::treeScopeOfParent):
3546         (WebCore):
3547         (WebCore::Element::removedFrom):
3548         * dom/Element.h:
3549         (Element):
3550         (WebCore::Element::updateId):
3551         (WebCore):
3552
3553 2012-05-29  Dana Jansens  <danakj@chromium.org>
3554
3555         [chromium] Unoccluded area in surfaces should always be clipped to the rootScissorRect
3556         https://bugs.webkit.org/show_bug.cgi?id=87677
3557
3558         Reviewed by Adrienne Walker.
3559
3560         When a contributing surface is visited, and we have not visited another
3561         surface, then we know the surface is completely unoccluded. However, the
3562         root scissor rect should still be applied, and anything outside of it
3563         should be considered occluded.
3564
3565         Unit test: WebKitTests::CCOcclusionTrackerTestTopmostSurfaceIsClippedToScissor
3566
3567         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3568         (WebCore::RenderSurfaceChromium::targetRenderSurface):
3569         (WebCore):
3570         * platform/graphics/chromium/RenderSurfaceChromium.h:
3571         (RenderSurfaceChromium):
3572         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3573         (WebCore::::unoccludedContributingSurfaceContentRect):
3574         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3575         (WebCore::CCRenderSurface::targetRenderSurface):
3576         (WebCore):
3577         * platform/graphics/chromium/cc/CCRenderSurface.h:
3578         (CCRenderSurface):
3579
3580 2012-05-29  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
3581
3582         [BlackBerry] Refactoring http/proxy authentication to use authcallback mechanism introduced with libcurl
3583         https://bugs.webkit.org/show_bug.cgi?id=87706
3584
3585         Reviewed by Antonio Gomes.
3586
3587         Because we use authentication callback mechanism of libcurl,
3588         which will take care of all the authentication communication
3589         between UA and server, so the only thing we need to do is to
3590         provide credential information when authentication callback
3591         is triggered. By using this we don't need to process
3592         intermediate headers for each http authentication scheme.
3593
3594         Implemented interface function notifyAuthReceived() in
3595         NetworkJob to handle the authentication notification from
3596         networking thread.
3597         When the authentication callback is triggered, we should
3598         cancel the current loading request and restart a new one with
3599         credential information attached which comes from
3600         credentialStorage or user input.
3601
3602         Internally reviewed by Joe Mason <jmason@rim.com>.
3603
3604         No new tests since there is no behavior change.
3605
3606         * platform/network/blackberry/NetworkJob.cpp:
3607         (WebCore::NetworkJob::notifyAuthReceived):
3608         (WebCore):
3609         (WebCore::NetworkJob::handleNotifyHeaderReceived):
3610         (WebCore::NetworkJob::sendRequestWithCredentials):
3611         * platform/network/blackberry/NetworkJob.h:
3612         (NetworkJob):
3613
3614 2012-05-29  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
3615
3616         [BlackBerry] http authentication challenge issue when loading subresource
3617         https://bugs.webkit.org/show_bug.cgi?id=87660
3618
3619         Reviewed by Rob Buis.
3620
3621         We should try to store the credential information as soon as we
3622         receive http status notification which indicates that the
3623         authentication succeeds, instead of storing credentials when the
3624         main resource receives notify done which is too late for loading
3625         subresource.
3626
3627         Internally reviewed by Joe Mason <jmason@rim.com>
3628
3629         No new tests since there is no change in behavior.
3630
3631         * platform/network/blackberry/NetworkJob.cpp:
3632         (WebCore::NetworkJob::handleNotifyStatusReceived):
3633         (WebCore::NetworkJob::handleNotifyClose):
3634
3635 2012-05-29  Alexey Proskuryakov  <ap@apple.com>
3636
3637         [Mac] Move DefaultFonts.plist to C++ code
3638         https://bugs.webkit.org/show_bug.cgi?id=87560
3639         <rdar://problem/11466119>
3640
3641         Reviewed by Dan Bernstein.
3642
3643         * DerivedSources.make:
3644         * Resources/DefaultFonts.plist.in: Removed.
3645         * WebCore.xcodeproj/project.pbxproj:
3646         * page/mac/SettingsMac.mm: (WebCore::Settings::initializeDefaultFontFamilies):
3647         Instead of having a separate configuration file, just hardcode the settings in C++.
3648
3649 2012-05-29  Alexei Filippov  <alexeif@chromium.org>
3650
3651         Web Inspector: Retainers are missing for all objects
3652         https://bugs.webkit.org/show_bug.cgi?id=87655
3653
3654         Reviewed by Yury Semikhatsky.
3655
3656         * inspector/front-end/HeapSnapshotDataGrids.js:
3657         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
3658
3659 2012-05-29  Philippe Normand  <pnormand@igalia.com>
3660
3661         [GStreamer] Video sink doesn't respect WebKit code style
3662         https://bugs.webkit.org/show_bug.cgi?id=87693
3663
3664         Reviewed by Alexis Menard.
3665
3666         No change in behavior of the sink, this patch only adapts the code
3667         style to WebKit's.
3668
3669         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3670         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
3671         (_WebKitVideoSinkPrivate):
3672         (webkitVideoSinkTimeoutCallback):
3673         (webkitVideoSinkRender):
3674         (webkitVideoSinkDispose):
3675         (unlockBufferMutex):
3676         (webkitVideoSinkUnlock):
3677         (webkitVideoSinkUnlockStop):
3678         (webkitVideoSinkStop):
3679         (webkitVideoSinkStart):
3680         (webkitVideoSinkMarshalVoidAndMiniObject):
3681         (webkit_video_sink_class_init):
3682         (webkitVideoSinkNew):
3683         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
3684         (_WebKitVideoSink):
3685         (_WebKitVideoSinkClass):
3686
3687 2012-05-29  Roland Takacs  <takacs.roland@stud.u-szeged.hu>
3688
3689         [Qt] Uninitialized shader compiler when GLES is used
3690         https://bugs.webkit.org/show_bug.cgi?id=87712
3691
3692         The '#if !defined(QT_OPENGL_ES_2)' has been removed before the initialization
3693         of shader compiler to compile shader codes for ES-platforms as well.
3694
3695         Reviewed by Noam Rosenthal.
3696
3697         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3698         (WebCore::GraphicsContext3D::GraphicsContext3D):
3699
3700 2012-05-29  Taiju Tsuiki  <tzik@chromium.org>
3701
3702         Add InspectorFileSystemAgent::FrontendProvider
3703         https://bugs.webkit.org/show_bug.cgi?id=87635
3704
3705         InspectorFileSystemAgent needs weak reference to its frontend to perform
3706         asynchronous operation.
3707
3708         Reviewed by Yury Semikhatsky.
3709
3710         * inspector/InspectorFileSystemAgent.cpp:
3711         (InspectorFileSystemAgent::FrontendProvider):
3712         (WebCore):
3713         (WebCore::InspectorFileSystemAgent::~InspectorFileSystemAgent):
3714         (WebCore::InspectorFileSystemAgent::enable):
3715         (WebCore::InspectorFileSystemAgent::disable):
3716         (WebCore::InspectorFileSystemAgent::setFrontend):
3717         (WebCore::InspectorFileSystemAgent::clearFrontend):
3718         (WebCore::InspectorFileSystemAgent::restore):
3719         (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
3720         * inspector/InspectorFileSystemAgent.h:
3721         (InspectorFileSystemAgent):
3722
3723 2012-05-29  Yoshifumi Inoue  <yosin@chromium.org>
3724
3725         REGRESSION(r109729): The optgroup element's "disabled" attribute has no effect to rendering and selection
3726         https://bugs.webkit.org/show_bug.cgi?id=87614
3727
3728         Reviewed by Kent Tamura.
3729
3730         This patch adds HTMLOptGroupElement::disabled and isEnabledFormControl
3731         methods which was implemented in HTMLFormControlElement at r109729 and
3732         updates CSS pseudo class checker to check "optgroup" element.
3733
3734         Tests: fast/forms/select/optgroup-clicking.html
3735                fast/forms/select/optgroup-disabled.html
3736                fast/forms/select/optgroup-rendering.html
3737
3738         * css/SelectorChecker.cpp:
3739         (WebCore::SelectorChecker::checkOneSelector): On disabled and enabled pseudo class checker. 
3740         We checked tag name "optgroup" in addition isFormControlElement.
3741         * css/StyleResolver.cpp:
3742         (WebCore::StyleResolver::canShareStyleWithElement): Checks optgroup.disabled.
3743         * html/HTMLOptGroupElement.cpp:
3744         (WebCore::HTMLOptGroupElement::disabled): Added.
3745         * html/HTMLOptGroupElement.h:
3746         (HTMLOptGroupElement): Added isEnabledFormControl.
3747
3748 2012-05-29  Alexander Pavlov  <apavlov@chromium.org>
3749
3750         [Chromium] [Regression] SELECT popup misplaced when there is not enough vertical space
3751         https://bugs.webkit.org/show_bug.cgi?id=87735
3752
3753         Reviewed by Kent Tamura.
3754
3755         This change fixes the obsolete WebWidget Y-repositioning code for the insufficient vertical space case, not removed in r113418.
3756
3757         No new tests, as popups are not testable in Chromium.
3758
3759         * platform/chromium/PopupContainer.cpp:
3760         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
3761
3762 2012-05-29  Andrei Bucur  <abucur@adobe.com>
3763
3764         [CSS Regions]Rename NamedFlow::overflow to NamedFlow::overset
3765         https://bugs.webkit.org/show_bug.cgi?id=87491
3766
3767         This patch updates the CSSOM property name overflow to overset. There are no changes in functionality.
3768         Link to spec: http://www.w3.org/TR/2012/WD-css3-regions-20120503/
3769
3770         Reviewed by Andreas Kling.
3771
3772         Test: fast/regions/webkit-named-flow-overset.html
3773
3774         * dom/WebKitNamedFlow.cpp:
3775         (WebCore::WebKitNamedFlow::overset):
3776         * dom/WebKitNamedFlow.h:
3777         (WebKitNamedFlow):
3778         * dom/WebKitNamedFlow.idl:
3779         * rendering/RenderFlowThread.cpp:
3780         (WebCore::RenderFlowThread::RenderFlowThread):
3781         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
3782         * rendering/RenderFlowThread.h:
3783
3784 2012-05-29  Andreas Kling  <kling@webkit.org>
3785
3786         Give StylePropertySet a proper mutability flag.
3787         <http://webkit.org/b/87675>
3788
3789         Reviewed by Antti Koivisto.
3790
3791         Add a flag to StylePropertySet that determines whether it's mutable or not. Only objects
3792         constructed from the CSS parser (by way of StylePropertySet::adopt()) are made immutable.
3793         This is clean-up and prep work for implementing a more efficient storage scheme for immutable
3794         StylePropertySets (fixed-size array instead of vector) as the vast majority of them are
3795         unlikely to ever mutate during their lifetime.
3796
3797         Sprinkled ASSERT(isMutable()) all over StylePropertySet to catch any attempts to modify
3798         an immutable object.
3799
3800         Also made properties() const on StyleRule and friends, which brought some additional code
3801         churn along with it.
3802
3803         * css/CSSComputedStyleDeclaration.cpp:
3804         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
3805         * css/CSSFontFaceRule.cpp:
3806         (WebCore::CSSFontFaceRule::style):
3807         (WebCore::CSSFontFaceRule::reattach):
3808         * css/CSSFontFaceSrcValue.cpp:
3809         (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs):
3810         * css/CSSFontFaceSrcValue.h:
3811         (CSSFontFaceSrcValue):
3812         * css/CSSPageRule.cpp:
3813         (WebCore::CSSPageRule::style):
3814         (WebCore::CSSPageRule::reattach):
3815         * css/CSSPrimitiveValue.cpp:
3816         (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
3817         * css/CSSPrimitiveValue.h:
3818         (CSSPrimitiveValue):
3819         * css/CSSReflectValue.cpp:
3820         (WebCore::CSSReflectValue::addSubresourceStyleURLs):
3821         * css/CSSReflectValue.h:
3822         (CSSReflectValue):
3823         * css/CSSStyleRule.cpp:
3824         (WebCore::CSSStyleRule::style):
3825         (WebCore::CSSStyleRule::reattach):
3826         * css/CSSValue.cpp:
3827         (WebCore::CSSValue::addSubresourceStyleURLs):
3828         * css/CSSValue.h:
3829         (CSSValue):
3830         * css/CSSValueList.cpp:
3831         (WebCore::CSSValueList::addSubresourceStyleURLs):
3832         * css/CSSValueList.h:
3833         (CSSValueList):
3834         * css/StylePropertySet.cpp:
3835         (WebCore::StylePropertySet::StylePropertySet):
3836         (WebCore::StylePropertySet::setCSSParserMode):
3837         (WebCore):
3838         (WebCore::StylePropertySet::copyPropertiesFrom):
3839         (WebCore::StylePropertySet::removeShorthandProperty):
3840         (WebCore::StylePropertySet::removeProperty):
3841         (WebCore::StylePropertySet::setProperty):
3842         (WebCore::StylePropertySet::parseDeclaration):
3843         (WebCore::StylePropertySet::addParsedProperties):
3844         (WebCore::StylePropertySet::addParsedProperty):
3845         (WebCore::StylePropertySet::merge):
3846         (WebCore::StylePropertySet::addSubresourceStyleURLs):
3847         (WebCore::StylePropertySet::removePropertiesInSet):
3848         (WebCore::StylePropertySet::findPropertyWithId):
3849         (WebCore::StylePropertySet::removeEquivalentProperties):
3850         (WebCore::StylePropertySet::copyPropertiesInSet):
3851         * css/StylePropertySet.h:
3852         (WebCore::StylePropertySet::adopt):
3853         (WebCore::StylePropertySet::adoptMutable):
3854         (StylePropertySet):
3855         (WebCore::StylePropertySet::isMutable):
3856         * css/StyleResolver.cpp:
3857         (WebCore::StyleResolver::addMatchedProperties):
3858         (WebCore::StyleResolver::collectMatchingRulesForList):
3859         * css/StyleResolver.h:
3860         (StyleResolver):
3861         * css/StyleRule.cpp:
3862         (WebCore::StyleRule::mutableProperties):
3863         (WebCore):
3864         (WebCore::StyleRulePage::mutableProperties):
3865         (WebCore::StyleRuleFontFace::mutableProperties):
3866         * css/StyleRule.h:
3867         (WebCore::StyleRule::properties):
3868         (StyleRule):
3869         (WebCore::StyleRuleFontFace::properties):
3870         (StyleRuleFontFace):
3871         (WebCore::StyleRulePage::properties):
3872         (StyleRulePage):
3873         * dom/ElementAttributeData.cpp:
3874         (WebCore::ElementAttributeData::ensureInlineStyle):
3875         (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
3876         * editing/EditingStyle.cpp:
3877         (WebCore::styleFromMatchedRulesForElement):
3878         * svg/SVGFontFaceElement.cpp:
3879         (WebCore::SVGFontFaceElement::parseAttribute):
3880         (WebCore::SVGFontFaceElement::rebuildFontFace):
3881         (WebCore::SVGFontFaceElement::removedFrom):
3882
3883 2012-05-29  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3884
3885         [EFL] Refactoring. Get rid of unnecessary singleCharacterString() function
3886         https://bugs.webkit.org/show_bug.cgi?id=87654
3887
3888         Reviewed by Csaba Osztrogonác.
3889
3890         Evas key events already provide key string, so no practical need for singleCharacterString() 
3891         evaluating the event string from keyname.
3892         Modified code related functionality is already covered with fast/events and fast/forms tests.
3893
3894         * platform/efl/EflKeyboardUtilities.cpp:
3895         * platform/efl/PlatformKeyboardEventEfl.cpp:
3896         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3897
3898 2012-05-29  Ilya Tikhonovsky  <loislo@chromium.org>
3899
3900         Unreviewed: Web Inspector: single line fix after r118742.
3901
3902         * inspector/front-end/HeapSnapshotView.js:
3903         (WebInspector.HeapProfileHeader.prototype.saveToFile):
3904
3905 2012-05-29  Kentaro Hara  <haraken@chromium.org>
3906
3907         Remove m_rootNode and m_selectorChecker from SelectorQuery.h
3908         https://bugs.webkit.org/show_bug.cgi?id=87650
3909
3910         Reviewed by Antti Koivisto.
3911
3912         To avoid parsing CSS selectors every time, I am planning to cache
3913         SelectorQuery objects into a HashMap, which will be defined in
3914         Node::querySelector(). To make the size of SelectorQuery small,
3915         this patch removes m_rootNode and m_selectorChecker from SelectorQuery.h.
3916
3917         Tests: fast/dom/SelectorAPI/*. No change in test results.
3918
3919         * dom/Node.cpp:
3920         (WebCore::Node::querySelector):
3921         (WebCore::Node::querySelectorAll):
3922         * dom/SelectorQuery.cpp:
3923         (WebCore::SelectorQuery::SelectorQuery):
3924         (WebCore):
3925         (WebCore::SelectorQuery::queryAll):
3926         (WebCore::SelectorQuery::queryFirst):
3927         * dom/SelectorQuery.h:
3928         (SelectorQuery):
3929
3930 2012-05-29  Eugene Klyuchnikov  <eustas.bug@gmail.com>
3931
3932         Web Inspector: Tabbed Settings Screen
3933         https://bugs.webkit.org/show_bug.cgi?id=87497
3934
3935         Reviewed by Yury Semikhatsky.
3936
3937         Combine settings screen and shortcuts screen
3938         to a single tabbed settings screen.
3939         This will make shortcuts screen more discoverable.
3940
3941         * inspector/front-end/HelpScreen.js:
3942         (WebInspector.HelpScreen): Make titled tamplate optional.
3943         (WebInspector.HelpScreen.prototype._createCloseButton): Extract method.
3944         * inspector/front-end/SettingsScreen.js:
3945         (WebInspector.SettingsScreen): Split initialization and UI construction.
3946         (WebInspector.SettingsScreen.prototype._createSettingsTabView.appendSection):
3947         (WebInspector.SettingsScreen.prototype._createSettingsTabView):
3948         Extract GUI construction method.
3949         (WebInspector.SettingsScreen.prototype._getOrCreateTabbedPane):
3950         Make GUI construction lazy.
3951         (WebInspector.SettingsScreen.prototype.selectTab):
3952         Add method for external tab swithching.
3953         (WebInspector.SettingsScreen.prototype.wasShown):
3954         Make GUI construction lazy.
3955         (WebInspector.SettingsScreenTabbedPane):
3956         Extend class to access protected member.
3957         (WebInspector.SettingsController.prototype._buttonClicked):
3958         Change "showSettingsScreen" visibility and parameters.
3959         (WebInspector.SettingsController.prototype._onHideSettingsScreen):
3960         Preserve settings screen state.
3961         (WebInspector.SettingsController.prototype.showSettingsScreen):
3962         Change method visibility and parameters.
3963         * inspector/front-end/ShortcutsScreen.js:
3964         (WebInspector.ShortcutsScreen): Remove inheritance from HelpScreen.
3965         (WebInspector.ShortcutsScreen.prototype._createShortcutsTabView):
3966         Refactoring of GUI construction.
3967         (WebInspector.ShortcutsSection.prototype.renderSection):
3968         Ditto.
3969         * inspector/front-end/helpScreen.css:
3970         (.help-window-main ::-webkit-scrollbar): Rebind scrollbar settings.
3971         (.help-window-main ::-webkit-resizer): Ditto.
3972         (.help-window-main ::-webkit-scrollbar-thumb:vertical): Ditto.
3973         (.help-window-main ::-webkit-scrollbar-thumb:vertical:active): Ditto.
3974         (.help-window-main ::-webkit-scrollbar-track:vertical): Ditto.
3975         (body:not(.compact) #settings-screen .tabbed-pane): Fix container height.
3976         (#settings-screen .tabbed-pane-header): Ditto.
3977         (#settings-screen .tabbed-pane-header-tabs): Adjust spacing.
3978         (#settings-screen .tabbed-pane-header-tab): Adjust style.
3979         (#settings-screen .help-close-button): Adjust spacing.
3980         (#settings-screen .tabbed-pane-header-tab.selected):
3981         Erase line below active tab.
3982         (#settings-screen .tabbed-pane-content): Adjust spacing.
3983         (#settings-screen .help-content): Ditto.
3984         * inspector/front-end/inspector.js:
3985         (WebInspector.documentKeyDown): Use Settings screen to show shortcuts.
3986
3987 2012-05-29  Ilya Tikhonovsky  <loislo@chromium.org>
3988
3989         Web Inspector: REGRESSION: load heap snapshot doesn't work.
3990         https://bugs.webkit.org/show_bug.cgi?id=87642
3991
3992         HeapSnapshotReceiver interface was introduced.
3993         It declares the API for HeapSnapshotLoader, HeapSnapshotLoaderProxy and HeapSnapshotSaveToFileReceiver.
3994         The HeapProfileHeader was refactored and tests were added.
3995
3996         Reviewed by Yury Semikhatsky.
3997
3998         * inspector/front-end/HeapSnapshotLoader.js:
3999         (WebInspector.HeapSnapshotLoader):
4000         (WebInspector.HeapSnapshotLoader.prototype.startLoading):
4001         (WebInspector.HeapSnapshotLoader.prototype.dispose):
4002         (WebInspector.HeapSnapshotLoader.prototype._reset):
4003         (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
4004         * inspector/front-end/HeapSnapshotProxy.js:
4005         (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls):
4006         (WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading):
4007         (WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk):
4008         (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
4009         * inspector/front-end/HeapSnapshotView.js:
4010         (WebInspector.HeapSnapshotReceiver):
4011         (WebInspector.HeapSnapshotReceiver.prototype.startLoading):
4012         (WebInspector.HeapSnapshotReceiver.prototype.pushJSONChunk):
4013         (WebInspector.HeapSnapshotReceiver.prototype.finishLoading):
4014         (WebInspector.HeapSnapshotReceiver.prototype.dispose):
4015         (WebInspector.HeapProfileHeader):
4016         (WebInspector.HeapProfileHeader.prototype.load):
4017         (WebInspector.HeapProfileHeader.prototype._setupWorker):
4018         (WebInspector.HeapProfileHeader.prototype.dispose):
4019         (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate):
4020         (WebInspector.HeapProfileHeader.prototype.pushJSONChunk):
4021         (WebInspector.HeapProfileHeader.prototype._parsed):
4022         (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
4023         (WebInspector.HeapProfileHeader.prototype.saveToFile):
4024         (WebInspector.HeapProfileHeader.prototype.loadFromFile.onLoad):
4025         (WebInspector.HeapProfileHeader.prototype.loadFromFile):
4026         (WebInspector.HeapProfileHeader.prototype._loadNextChunk):
4027         (WebInspector.HeapProfileHeader.prototype._nextChunkLoaded):
4028         (WebInspector.HeapProfileHeader.prototype._createFileReader):
4029         (WebInspector.HeapSnapshotSaveToFileReceiver):
4030         (WebInspector.HeapSnapshotSaveToFileReceiver.prototype.startLoading):
4031         (WebInspector.HeapSnapshotSaveToFileReceiver.prototype.pushJSONChunk):
4032         (WebInspector.HeapSnapshotSaveToFileReceiver.prototype.finishLoading):
4033         (WebInspector.HeapSnapshotSaveToFileReceiver.prototype.dispose):
4034         (WebInspector.HeapSnapshotSaveToFileReceiver.prototype._startSavingSnapshot):
4035         (WebInspector.HeapSnapshotSaveToFileReceiver.prototype._saveStatusUpdate):
4036         * inspector/front-end/ProfilesPanel.js:
4037         (WebInspector.ProfilesPanel.prototype._createFileSelectorElement.onChange):
4038         (WebInspector.ProfilesPanel.prototype._createFileSelectorElement):
4039         (WebInspector.ProfilesPanel.prototype._loadFromFile):
4040
4041 2012-05-29  Eric Seidel  <eric@webkit.org>
4042
4043         Add HTMLIFrameElement.seamless property accessor now that seamless is enabled and works
4044         https://bugs.webkit.org/show_bug.cgi?id=87708
4045
4046         Reviewed by Adam Barth.
4047
4048         Lots of tests in fast/frames/seamless cover this property.
4049
4050         * html/HTMLIFrameElement.idl:
4051
4052 2012-05-29  Kentaro Hara  <haraken@chromium.org>
4053
4054         [Performance] Optimize querySelector() and querySelectorAll() by removing
4055         redundant dummy style sheet creations
4056         https://bugs.webkit.org/show_bug.cgi?id=87627
4057
4058         Reviewed by Antti Koivisto.
4059
4060         This patch improves performance of querySelector("#id") by 4.2% ~ 17.7%
4061         in Safari and Chromium.
4062
4063         Performance tests: https://bugs.webkit.org/attachment.cgi?id=144288
4064
4065         The performance test results in my desktop:
4066
4067         [Safari/Mac]
4068         document.querySelector("#headId") :               13.60 ms =>  12.40 ms  +9.68%
4069         document.querySelector("#duplicatedId") :         14.80 ms =>  14.20 ms  +4.23%
4070         document.querySelector("#tailId") :               13.80 ms =>  12.20 ms  +13.11%
4071         document.querySelectorAll("#headId") :            17.80 ms =>  14.60 ms  +21.92%
4072         document.querySelectorAll("#duplicatedId") :     513.80 ms => 471.60 ms  +8.95%
4073         document.querySelectorAll("#tailId") :            19.20 ms =>  16.40 ms  +17.07%
4074         document.querySelector("h1") :                    14.40 ms =>  13.60 ms  +5.88%
4075         document.querySelector("h2") :                    14.80 ms =>  13.80 ms  +7.25%
4076         document.querySelector("h3") :                   312.00 ms => 306.60 ms  +1.76%
4077         document.querySelectorAll("h1") :                322.00 ms => 314.60 ms  +2.35%
4078         document.querySelectorAll("h2") :                481.00 ms => 420.60 ms  +14.36%
4079         document.querySelectorAll("h3") :                326.80 ms => 315.80 ms  +3.48%
4080         document.querySelector(".headClass") :            16.20 ms =>  15.40 ms  +5.19%
4081         document.querySelector(".duplicatedClass") :      17.00 ms =>  15.40 ms  +10.39%
4082         document.querySelector(".tailClass") :           369.60 ms => 362.60 ms  +1.93%
4083         document.querySelectorAll(".headClass") :        388.20 ms => 377.60 ms  +2.81%
4084         document.querySelectorAll(".duplicatedClass") :  605.00 ms => 581.20 ms  +4.09%
4085         document.querySelectorAll(".tailClass") :        401.60 ms => 391.40 ms  +2.61%
4086
4087         [Chromium/Linux]
4088         ocument.querySelector("#headId") :                16.00 ms =>  13.60 ms  +17.65%
4089         document.querySelector("#duplicatedId") :         16.80 ms =>  15.40 ms  +9.09%
4090         document.querySelector("#tailId") :               16.00 ms =>  13.60 ms  +17.65%
4091         document.querySelectorAll("#headId") :            29.00 ms =>  25.00 ms  +16.00%
4092         document.querySelectorAll("#duplicatedId") :     561.40 ms => 505.20 ms  +11.12%
4093<