CSSValuePool: Made identifier value cache a fixed-size array.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-04-17  Andreas Kling  <kling@webkit.org>
2
3         CSSValuePool: Made identifier value cache a fixed-size array.
4         <http://webkit.org/b/84219>
5
6         Reviewed by Antti Koivisto.
7
8         Change the identifier CSSPrimitiveValue cache in CSSValuePool from a HashMap to a
9         fixed-size array of RefPtr<CSSPrimitiveValue>s.
10
11         We have ~700 values total, so this is quite space efficient now that the CSSValuePool
12         is globally shared. More importantly it avoids a hash lookup every time we need an
13         identifier value.
14
15         * css/CSSValuePool.h:
16         * css/CSSValuePool.cpp:
17         (WebCore::CSSValuePool::createIdentifierValue):
18
19 2012-04-17  Antoine Labour  <piman@chromium.org>
20
21         [Chromium] Clean up texture ids on the impl side when losing the context
22         https://bugs.webkit.org/show_bug.cgi?id=84122
23
24         Reviewed by James Robinson.
25
26         Tested by CCLayerTreeHostImplTest.dontUseOldResourcesAfterLostContext.
27
28         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
29         (WebCore::CCTextureLayerImpl::didLoseContext):
30         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
31         (WebCore::CCTiledLayerImpl::didLoseContext):
32         (WebCore):
33         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
34         (CCTiledLayerImpl):
35         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
36         (WebCore::CCVideoLayerImpl::didLoseContext):
37         (WebCore):
38         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
39         (CCVideoLayerImpl):
40
41 2012-04-17  Emil A Eklund  <eae@chromium.org>
42
43         Change RenderThemeChromiumSkia paint methods to use pixel snapping
44         https://bugs.webkit.org/show_bug.cgi?id=84175
45
46         Reviewed by Eric Seidel.
47
48         No new tests, no change in functionality.
49
50         Change RenderThemeChromiumSkia to use subpixel types and pixel snap
51         values just before painting.
52
53         * rendering/RenderThemeChromiumSkia.cpp:
54         (WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
55         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
56         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
57         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
58         * rendering/RenderThemeChromiumSkia.h:
59
60  2012-04-17  Levi Weintraub  <leviw@chromium.org>
61
62         Clean up outstanding LayoutUnit misuse in WebCore
63         https://bugs.webkit.org/show_bug.cgi?id=84209
64
65         Reviewed by Eric Seidel.
66
67         Small changes to a handful of files to prepare trunk for FractionalLayoutUnits.
68         For more details, see https://trac.webkit.org/wiki/LayoutUnit
69
70         No new tests. No change in behavior.
71
72         * css/CSSComputedStyleDeclaration.cpp:
73         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): minimumValueForLength preserves
74         sub-pixel precision, so we should avoid unnecessarily using integers.
75         * platform/graphics/FractionalLayoutPoint.h:
76         (WebCore::FractionalLayoutPoint::FractionalLayoutPoint): Adding an explicit constructor from
77         FractionalLayoutSizes. This mirrors a method in IntPoint.
78         * rendering/RenderBoxModelObject.cpp:
79         (WebCore::RenderBoxModelObject::paintBorder): The rects that change come from roundedRects,
80         which are already pixel-snapped.
81         * rendering/RenderBoxModelObject.h: Removing a comment that is no longer applicable.
82         * rendering/RenderTable.cpp:
83         (WebCore::RenderTable::computeLogicalWidth): Since we layout tables using integers, we
84         need to explicitly calculate the width to be integral as well to avoid pushing the next element
85         over by a pixel that we won't later paint with our own box decorations.
86         * rendering/RenderText.h:
87         (RenderText): Correcting an unfortunate mismatch between in the return value of linesBoundingBox
88         between the header and implementation.
89         * rendering/style/RenderStyle.cpp:
90         (WebCore::RenderStyle::getRoundedBorderFor): We were incorrectly not using the snapped border
91         rect to pass to calcRadiiFor (which takes an IntRect). Correcting this.
92
93 2012-04-17  Luke Macpherson  <macpherson@chromium.org>
94
95         Ensure CSSParser member variables are initialized.
96         https://bugs.webkit.org/show_bug.cgi?id=84205
97
98         Reviewed by Andreas Kling.
99
100         No new tests / code cleanup only.
101
102         * css/CSSParser.cpp:
103         (WebCore::CSSParser::CSSParser):
104
105 2012-04-16  Alexandru Chiculita  <achicu@adobe.com>
106
107         Regression(114172): Use after free in CustomFilterProgram::notifyClients
108         https://bugs.webkit.org/show_bug.cgi?id=84000
109
110         Reviewed by Dean Jackson.
111
112         The function returned early and the shaders didn't have a chance to be saved. Moving
113         those two lines before the return false just to make sure that FilterEffectRenderer never adds
114         itself as a client for a shader without keeping track of that.
115
116         No new tests. The problem reproduces with existing tests.
117         css3/filters/custom/custom-filter-property-computed-style.html
118         css3/filters/custom/effect-custom-combined-missing.html
119
120         * rendering/FilterEffectRenderer.cpp:
121         (WebCore::FilterEffectRenderer::build):
122
123 2012-04-17  Alec Flett  <alecflett@chromium.org>
124
125         IndexedDB chooses wrong record on PREV_NO_DUPLICATE index cursor
126         https://bugs.webkit.org/show_bug.cgi?id=60746
127
128         Reviewed by Ojan Vafai.
129
130         When iterating backwards with PREV_NO_DUPLICATE, keep walking past
131         the 'prev' key until it changes, then walk forward one time. This
132         covers the object store and index cases.
133
134         Test: storage/indexeddb/mozilla/index-prev-no-duplicate.html
135
136         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
137         (WebCore):
138
139 2012-04-17  Yi Shen  <yi.4.shen@nokia.com>
140
141         Caret is not rendered properly inside an input element with text-indent
142         https://bugs.webkit.org/show_bug.cgi?id=82688
143
144         Reviewed by Ryosuke Niwa.
145
146         For an empty input element, there is no RenderText. Instead, RenderBlock::localCaretRect provides
147         the caret position for rendering the caret in the empty input element. To get correct caret rect,
148         textIndentOffset() should be used to adjust the caret's position.
149
150         Test: editing/style/text-indent.html
151
152         * rendering/RenderBlock.cpp:
153         (WebCore::RenderBlock::localCaretRect):
154
155 2012-04-17  Filip Pizlo  <fpizlo@apple.com>
156
157         It should be possible to create an inheritorID for the global this object without crashing
158         https://bugs.webkit.org/show_bug.cgi?id=84200
159         <rdar://problem/11251082>
160
161         Reviewed by Oliver Hunt.
162
163         No new tests, because the circumstances necessary to make this happen are rather hairy.
164
165         * bindings/js/JSDOMWindowShell.h:
166         (WebCore::JSDOMWindowShell::window):
167         (WebCore::JSDOMWindowShell::setWindow):
168
169 2012-04-17  Luke Macpherson  <macpherson@chromium.org>
170
171         Make CSSParser::parseValue()'s handling of CSSPropertyCursor more obviously correct.
172         https://bugs.webkit.org/show_bug.cgi?id=83544
173
174         Reviewed by Kentaro Hara.
175
176         No new tests / code cleanup only.
177
178         The code as it stands appears to be correct, but static analysis was concerned that value could become null.
179         This patch adds a null check and ASSERT_NOT_REACHED() to make the code more obviously correct.
180
181         * css/CSSParser.cpp:
182         (WebCore::CSSParser::parseValue):
183
184 2012-04-17  David Reveman  <reveman@chromium.org>
185
186         [Chromium] Add TextureUploader which allows us to use persistent GC3D state for texture uploads.
187         https://bugs.webkit.org/show_bug.cgi?id=83972
188
189         Reviewed by James Robinson.
190
191         Add TextureUploader class that allows us to add persistent GC3D state to the upload machinery.
192
193         * WebCore.gypi:
194         * platform/graphics/chromium/LayerRendererChromium.cpp:
195         (WebCore::LayerRendererChromium::initializeSharedObjects):
196         (WebCore::LayerRendererChromium::cleanupSharedObjects):
197         * platform/graphics/chromium/LayerRendererChromium.h:
198         (WebCore::LayerRendererChromium::textureUploader):
199         (LayerRendererChromium):
200         * platform/graphics/chromium/TextureUploader.cpp: Added.
201         (WebCore):
202         (WebCore::AcceleratedTextureUploader::AcceleratedTextureUploader):
203         (WebCore::AcceleratedTextureUploader::~AcceleratedTextureUploader):
204         (WebCore::AcceleratedTextureUploader::uploadTexture):
205         * platform/graphics/chromium/TextureUploader.h: Added.
206         (WebCore):
207         (TextureUploader):
208         (WebCore::TextureUploader::~TextureUploader):
209         (AcceleratedTextureUploader):
210         (WebCore::AcceleratedTextureUploader::create):
211         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
212         (WebCore::CCSingleThreadProxy::doCommit):
213         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
214         (WebCore::CCTextureUpdater::update):
215         * platform/graphics/chromium/cc/CCTextureUpdater.h:
216         (WebCore):
217         (CCTextureUpdater):
218         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
219         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
220
221 2012-04-17  Luke Macpherson  <macpherson@chromium.org>
222
223         Clean up CSSParser::parseFillRepeat().
224         https://bugs.webkit.org/show_bug.cgi?id=83547
225
226         Reviewed by Kentaro Hara.
227
228         Removed multiple unnecessary calls to m_valueList->current().
229         Restructured logic for parsing second value to make it clearer.
230
231         No new tests / code cleanup only.
232
233         * css/CSSParser.cpp:
234         (WebCore::CSSParser::parseFillRepeat):
235
236 2012-04-17  Kentaro Hara  <haraken@chromium.org>
237
238         [V8] Pass Isolate to toV8Slow()
239         https://bugs.webkit.org/show_bug.cgi?id=84173
240
241         Reviewed by Nate Chapin.
242
243         The final objective is to pass Isolate around in V8 bindings.
244         This patch passes the Isolate to toV8Slow().
245
246         No tests. No change in behavior.
247
248         * bindings/scripts/CodeGeneratorV8.pm:
249         (GenerateHeader):
250         * bindings/v8/custom/V8NodeCustom.cpp:
251         (WebCore::toV8Slow):
252
253 2012-04-17  Julien Chaffraix  <jchaffraix@webkit.org>
254
255         Fix the ACCELERATED_COMPOSITING code to not expose RenderLayer outside rendering
256         https://bugs.webkit.org/show_bug.cgi?id=83816
257
258         Reviewed by James Robinson.
259
260         No change in behavior expected.
261
262         This code adds several functions on RenderBoxModelObject to forward
263         to the associated layer. This removes the RenderLayer dependencies
264         at the call sites.
265
266         Currently only RenderBoxModelObject can be hardware accelerated as
267         we need a RenderLayer, this looks like the best place to put those
268         new functions.
269
270         * rendering/RenderBoxModelObject.cpp:
271         (WebCore::RenderBoxModelObject::contentChanged):
272         (WebCore::RenderBoxModelObject::hasAcceleratedCompositing):
273         (WebCore::RenderBoxModelObject::startTransition):
274         (WebCore::RenderBoxModelObject::transitionPaused):
275         (WebCore::RenderBoxModelObject::transitionFinished):
276         (WebCore::RenderBoxModelObject::startAnimation):
277         (WebCore::RenderBoxModelObject::animationPaused):
278         (WebCore::RenderBoxModelObject::animationFinished):
279         (WebCore::RenderBoxModelObject::suspendAnimations):
280         * rendering/RenderBoxModelObject.h:
281         Added the previous functions to hide the layer need.
282
283         * rendering/RenderLayer.cpp:
284         (WebCore::RenderLayer::hasAcceleratedCompositing):
285         * rendering/RenderLayer.h:
286         Removed the previous method as it was superseeded by the
287         one on RenderBoxModelObject. Also moved the ContentChangeType
288         enumaration.
289
290         * rendering/RenderLayerBacking.cpp:
291         (WebCore::RenderLayerBacking::contentChanged):
292         * rendering/RenderLayerBacking.h:
293         (RenderLayerBacking):
294         Updated after the ContentChangeType enumaration move.
295
296         * html/HTMLCanvasElement.cpp:
297         (WebCore::HTMLCanvasElement::reset):
298         (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
299         * html/canvas/CanvasRenderingContext2D.cpp:
300         (WebCore::CanvasRenderingContext2D::didDraw):
301         * html/canvas/WebGLRenderingContext.cpp:
302         (WebCore::WebGLRenderingContext::markContextChanged):
303         (WebCore::WebGLRenderingContext::reshape):
304         * page/animation/AnimationBase.cpp:
305         (WebCore::AnimationBase::freezeAtTime):
306         * page/animation/ImplicitAnimation.cpp:
307         (WebCore::ImplicitAnimation::startAnimation):
308         (WebCore::ImplicitAnimation::pauseAnimation):
309         (WebCore::ImplicitAnimation::endAnimation):
310         * page/animation/KeyframeAnimation.cpp:
311         (WebCore::KeyframeAnimation::startAnimation):
312         (WebCore::KeyframeAnimation::pauseAnimation):
313         (WebCore::KeyframeAnimation::endAnimation):
314         * rendering/RenderBox.cpp:
315         (WebCore::RenderBox::imageChanged):
316         * rendering/RenderImage.cpp:
317         (WebCore::RenderImage::imageDimensionsChanged):
318         (WebCore::RenderImage::notifyFinished):
319         * rendering/RenderVideo.cpp:
320         (WebCore::RenderVideo::updatePlayer):
321         Updated all those call sites to use the new functions. Also
322         removed unneeded RenderLayer.h include as we went.
323
324 2012-04-16  Andy Estes  <aestes@apple.com>
325
326         -webkit-mask-box-image does not draw when layer tree flattening is enabled
327         https://bugs.webkit.org/show_bug.cgi?id=84111
328
329         Reviewed by Simon Fraser.
330
331         No new tests since taking pixel test results with
332         PaintBehaviorFlattenCompositingLayers set is not currently supported.
333         <https://bugs.webkit.org/show_bug.cgi?id=84110> tracks fixing this.
334
335         When painting mask images, we should take the non-composited path if
336         layers are being flattened.
337
338         * rendering/InlineFlowBox.cpp:
339         (WebCore::InlineFlowBox::paintMask):
340         * rendering/RenderBox.cpp:
341         (WebCore::RenderBox::paintMaskImages):
342
343 2012-04-17  Emil A Eklund  <eae@chromium.org>
344
345         Rollout r114404 as it broke a couple of chromium builds.
346
347         * platform/FractionalLayoutUnit.h:
348         (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
349         (WebCore::FractionalLayoutUnit::isInBounds):
350         (WebCore):
351
352 2012-04-17  Ben Murdoch  <benm@google.com>
353
354         `localStorage.setItem` can overwrite `localStorage` methods
355         https://bugs.webkit.org/show_bug.cgi?id=30996
356
357         Update the JSC and V8 bindings such that if the name of the DOM
358         Storage property being retrieved is a match for a property in the
359         prototype, always return the prototype version. If there is a DOM
360         Storage key of the same name, it can still be retrieved via the
361         getItem method. This prevents storage methods from being
362         accidentally hidden. This brings WebKit behavior in line with the
363         de facto standard implemented by FireFox and IE.
364
365         Reviewed by Kentaro Hara.
366
367         Test: storage/domstorage/storage-functions-not-overwritten.html
368
369         * bindings/js/JSStorageCustom.cpp:
370         (WebCore::JSStorage::nameGetter):
371         * bindings/v8/custom/V8StorageCustom.cpp:
372         (WebCore::V8Storage::namedPropertyGetter):
373
374 2012-04-17  Emil A Eklund  <eae@chromium.org>
375
376         Fix Chromium/Windows build broken by r114404.
377
378         * platform/FractionalLayoutUnit.h:
379
380 2012-04-17  Kentaro Hara  <haraken@chromium.org>
381
382         [Performance][V8] Skip Isolate look-up to find StringCache
383         https://bugs.webkit.org/show_bug.cgi?id=84103
384
385         Reviewed by Nate Chapin.
386
387         This patch improves the performance of a lot of DOM attribute
388         getters that return a string.
389
390         - Improves the performance of Dromaeo/dom-attr.html(element.property)
391           by 27.7%.
392         - Improves the performance of Dromaeo/dom-attr.html(getAttribute)
393           by 10.6%.
394         - Improves the performance of div.id, div.className,
395           div.nodeName, text.nodeValue, text.textContent by 12% -- 21%.
396
397         The followings are the test results in my Linux desktop.
398
399         Performance test: Dromaeo/dom-attr.html
400         Total:                     674.64runs/s ->  707.03runs/s (+ 4.8%)
401         getAttribute:             1537.60runs/s -> 1700.20runs/s (+10.6%)
402         element.property:         1389.00runs/s -> 1774.20runs/s (+27.7%)
403         setAttribute:              538.88runs/s ->  548.87runs/s (+ 1.9%)
404         element.property = value:  644.07runs/s ->  656.67runs/s (+ 2.0%)
405         element.expando = value:   219.76runs/s ->  207.14runs/s (- 6.8%)
406         element.expando:           578.77runs/s ->  554.67runs/s (- 4.2%)
407
408         Performance test: https://bugs.webkit.org/attachment.cgi?id=137440
409         div.id:           30.70ns -> 26.70ns (+15%)
410         div.className:    31.10ns -> 26.40ns (+18%)
411         div.nodeName:     37.70ns -> 33.00ns (+14%)
412         text.nodeValue:   31.40ns -> 25.90ns (+21%)
413         text.textContent: 51.50ns -> 45.90ns (+12%)
414
415         Previously V8 bindings need to look up an Isolate to find
416         an Isolate-local StringCache. This patch skips the look-up
417         by getting the Isolate from AccessorInfo.GetIsolate()
418         or Arguments.GetIsolate().
419
420         No tests. No change in behavior.
421
422         * bindings/scripts/CodeGeneratorV8.pm:
423         (GenerateNormalAttrGetter):
424         (GenerateFunctionCallString):
425         (NativeToJSValue):
426         * bindings/v8/V8Binding.cpp:
427         (WebCore::getElementStringAttr):
428         * bindings/v8/V8Binding.h:
429         (WebCore::v8ExternalString): Make 'isolate' an optional argument.
430         Ideally we want to make 'isolate' a non-optional argument,
431         but it is difficult to rewrite all v8ExternalString() callers
432         at a breath. We can rewrite them incrementally.
433         (WebCore::v8String): Ditto.
434         (WebCore::v8StringOrNull): Ditto.
435         (WebCore::v8StringOrUndefined): Ditto.
436         (WebCore::v8StringOrFalse): Ditto.
437
438         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
439         (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
440         (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
441         * bindings/scripts/test/V8/V8TestInterface.cpp:
442         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
443         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
444         * bindings/scripts/test/V8/V8TestObj.cpp:
445         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
446         (WebCore::TestObjV8Internal::stringAttrAttrGetter):
447         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
448         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
449         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
450         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
451         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
452         (WebCore::TestObjV8Internal::hashAttrGetter):
453         (WebCore::TestObjV8Internal::conditionalMethod1Callback):
454
455 2012-04-17  Chris Fleizach  <cfleizach@apple.com>
456
457         Crash in invalid index for _textMarkerForIndex
458         https://bugs.webkit.org/show_bug.cgi?id=84104
459
460         Reviewed by Beth Dakin.
461
462         Test: platform/mac/accessibility/textmarker-for-index-out-of-bounds-crash.html
463
464         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
465         (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
466
467 2012-04-17  Jer Noble  <jer.noble@apple.com>
468
469         HTML5 Video Full Screen button broken (looks like white square)
470         https://bugs.webkit.org/show_bug.cgi?id=84101
471
472         Reviewed by Dan Bernstein.
473
474         No new tests; updated platform results which were previously rebaselined.
475
476         Use the correct CSS keyword for the -webkit-appearance of the full screen button.
477
478         * css/mediaControls.css:
479         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
480
481 2012-04-17  Tom Sepez  <tsepez@chromium.org>
482
483         Framesniffing defense is too aggressive.
484         https://bugs.webkit.org/show_bug.cgi?id=83721
485
486         Reviewed by James Robinson.
487
488         The RenderLayer code currently propagates scroll position to parent frames
489         without any cross-origin checks.  This gives it a quick origin boundary check
490         that is set by FrameLoader only when performing a fragment navigation.  This 
491         allows us to safely relax the restriction on not scrolling at load time in 
492         FrameLoader since the safe thing will happen later on at scroll time.
493         
494         Test: http/tests/navigation/anchor-frames-same-origin.html
495
496         * dom/Document.cpp:
497         (WebCore::Document::findUnsafeParentScrollPropagationBoundary):
498         * dom/Document.h:
499         (Document):
500         * loader/FrameLoader.cpp:
501         (WebCore::FrameLoader::finishedParsing):
502         (WebCore::FrameLoader::loadInSameDocument):
503         (WebCore::FrameLoader::scrollToFragmentWithParentBoundary):
504         * loader/FrameLoader.h:
505         (FrameLoader):
506         * page/FrameView.cpp:
507         (WebCore::FrameView::FrameView):
508         (WebCore::FrameView::reset):
509         * page/FrameView.h:
510         (WebCore::FrameView::safeToPropagateScrollToParent):
511         (WebCore::FrameView::setSafeToPropagateScrollToParent):
512         (FrameView):
513         * rendering/RenderLayer.cpp:
514         (WebCore::RenderLayer::scrollRectToVisible):
515
516 2012-04-17  Emil A Eklund  <eae@chromium.org>
517
518         Add size_t versions of multiplication and division operators to FractionalLayoutUnit
519         https://bugs.webkit.org/show_bug.cgi?id=83848
520
521         Reviewed by Julien Chaffraix.
522
523         Add size_t versions of operator* and operator/ for platforms where there
524         is no ambiguity between unsigned int and size_t.
525
526         No new tests, no new functionality.
527
528         * platform/FractionalLayoutUnit.h:
529         (FractionalLayoutUnit):
530         (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
531         (WebCore::FractionalLayoutUnit::isInBounds):
532         (WebCore):
533         (WebCore::operator*):
534         (WebCore::operator/):
535
536 2012-04-17  Kentaro Hara  <haraken@chromium.org>
537
538         [V8] Add an optional Isolate argument to toV8().
539         https://bugs.webkit.org/show_bug.cgi?id=84161
540
541         Reviewed by Nate Chapin.
542
543         The final objective is to pass Isolate around in V8 bindings.
544         This patch adds an optional Isolate argument to toV8().
545         After rewriting all toV8() callers so that they pass Isolate,
546         I will make the Isolate argument non-optional.
547
548         No tests. No change in behavior.
549
550         * bindings/scripts/CodeGeneratorV8.pm:
551         Modified as described above.
552         (GenerateHeader):
553         (NativeToJSValue):
554         * bindings/v8/custom/V8BlobCustom.cpp:
555         (WebCore::toV8):
556         * bindings/v8/custom/V8CSSRuleCustom.cpp:
557         (WebCore::toV8):
558         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
559         (WebCore::toV8):
560         * bindings/v8/custom/V8CSSValueCustom.cpp:
561         (WebCore::toV8):
562         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
563         (WebCore::toV8):
564         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
565         (WebCore::toV8):
566         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
567         (WebCore::toV8):
568         * bindings/v8/custom/V8DOMWindowCustom.cpp:
569         (WebCore::toV8):
570         * bindings/v8/custom/V8DataViewCustom.cpp:
571         (WebCore::toV8):
572         * bindings/v8/custom/V8DocumentCustom.cpp:
573         (WebCore::toV8):
574         * bindings/v8/custom/V8EntryCustom.cpp:
575         (WebCore::toV8):
576         * bindings/v8/custom/V8EntrySyncCustom.cpp:
577         (WebCore::toV8):
578         * bindings/v8/custom/V8EventCustom.cpp:
579         (WebCore::toV8):
580         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
581         (WebCore::toV8):
582         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
583         (WebCore::toV8):
584         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
585         (WebCore::toV8):
586         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
587         (WebCore::toV8):
588         * bindings/v8/custom/V8HTMLElementCustom.cpp:
589         (WebCore::toV8):
590         * bindings/v8/custom/V8IDBAnyCustom.cpp:
591         (WebCore::toV8):
592         * bindings/v8/custom/V8IDBKeyCustom.cpp:
593         (WebCore::toV8):
594         * bindings/v8/custom/V8ImageDataCustom.cpp:
595         (WebCore::toV8):
596         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
597         (WebCore::toV8):
598         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
599         (WebCore::toV8):
600         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
601         (WebCore::toV8):
602         * bindings/v8/custom/V8LocationCustom.cpp:
603         (WebCore::toV8):
604         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
605         (WebCore::toV8):
606         * bindings/v8/custom/V8NodeCustom.cpp:
607         (WebCore::toV8Slow):
608         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
609         (WebCore::toV8):
610         * bindings/v8/custom/V8SVGElementCustom.cpp:
611         (WebCore::toV8):
612         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
613         (WebCore::toV8):
614         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
615         (WebCore::toV8):
616         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
617         (WebCore::toV8):
618         * bindings/v8/custom/V8StyleSheetCustom.cpp:
619         (WebCore::toV8):
620         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
621         (WebCore::toV8):
622         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
623         (WebCore::toV8):
624         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
625         (WebCore::toV8):
626         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
627         (WebCore::toV8):
628         * bindings/v8/custom/V8WorkerContextCustom.cpp:
629         (WebCore::toV8):
630
631         * bindings/scripts/test/V8/V8Float64Array.h:
632         Updated run-bindings-tests results.
633         (WebCore):
634         (WebCore::toV8):
635         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
636         (WebCore::toV8):
637         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
638         (WebCore::toV8):
639         * bindings/scripts/test/V8/V8TestEventConstructor.h:
640         (WebCore::toV8):
641         * bindings/scripts/test/V8/V8TestEventTarget.h:
642         (WebCore::toV8):
643         * bindings/scripts/test/V8/V8TestInterface.h:
644         (WebCore::toV8):
645         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
646         (WebCore::toV8):
647         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
648         (WebCore::toV8):
649         * bindings/scripts/test/V8/V8TestNode.h:
650         (WebCore::toV8):
651         * bindings/scripts/test/V8/V8TestObj.h:
652         (WebCore::toV8):
653         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
654         (WebCore::toV8):
655
656 2012-04-17  Yury Semikhatsky  <yurys@chromium.org>
657
658         Web Inspector: move heap snapshot data grids into their own file
659         https://bugs.webkit.org/show_bug.cgi?id=84160
660
661         Moved heap snapshot data grids into a separate file.
662
663         Reviewed by Pavel Feldman.
664
665         * WebCore.gypi:
666         * WebCore.vcproj/WebCore.vcproj:
667         * inspector/compile-front-end.py:
668         * inspector/front-end/DataGrid.js:
669         * inspector/front-end/HeapSnapshotDataGrids.js: Added.
670         (WebInspector.HeapSnapshotSortableDataGrid):
671         (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
672         (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
673         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields):
674         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
675         (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
676         (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
677         (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
678         (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
679         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
680         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
681         (WebInspector.HeapSnapshotContainmentDataGrid):
682         (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
683         (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
684         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
685         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
686         (WebInspector.HeapSnapshotRetainmentDataGrid):
687         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
688         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
689         (WebInspector.HeapSnapshotConstructorsDataGrid):
690         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
691         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
692         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
693         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
694         (WebInspector.HeapSnapshotDiffDataGrid):
695         (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields):
696         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource):
697         (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
698         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
699         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
700         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
701         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
702         (WebInspector.HeapSnapshotDominatorsDataGrid):
703         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
704         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
705         * inspector/front-end/HeapSnapshotView.js:
706         * inspector/front-end/WebKit.qrc:
707         * inspector/front-end/inspector.html:
708
709 2012-04-17  Vivek Galatage  <vivekgalatage@gmail.com>
710
711         Script make_names.pl should generate consistent .h & .cpp files
712         https://bugs.webkit.org/show_bug.cgi?id=84140
713
714         Reviewed by Kentaro Hara.
715
716         Added a newline character and removed ';' after the DEFINE_GLOBAL
717
718         No test cases required for this change.
719
720         * dom/make_names.pl:
721         (printNamesCppFile):
722
723 2012-04-17  Aaron Colwell  <acolwell@chromium.org>
724
725         Add webkitSourceAddId() & webkitSourceRemoveId() to HTMLMediaElement
726         and propagate calls to the MediaPlayerPrivate interface.
727         These are needed to bring the Media Source implementation 
728         up to date with the new 0.4 version of the Media Source spec.
729         http://html5-mediasource-api.googlecode.com/svn/tags/0.4/draft-spec/mediasource-draft-spec.html
730         https://bugs.webkit.org/show_bug.cgi?id=83616
731
732         Reviewed by Eric Carlson, Darin Fisher.
733
734         Test: http/tests/media/media-source/webm/video-media-source-add-and-remove-ids.html
735
736         * html/HTMLMediaElement.cpp:
737         (WebCore):
738         (WebCore::HTMLMediaElement::isValidSourceId):
739         (WebCore::HTMLMediaElement::webkitSourceAddId):
740         (WebCore::HTMLMediaElement::webkitSourceRemoveId):
741         (WebCore::HTMLMediaElement::setSourceState):
742         * html/HTMLMediaElement.h:
743         (HTMLMediaElement):
744         * html/HTMLMediaElement.idl:
745         * platform/graphics/MediaPlayer.cpp:
746         (WebCore::NullMediaPlayerPrivate::sourceAddId):
747         (WebCore::NullMediaPlayerPrivate::sourceRemoveId):
748         (WebCore):
749         (WebCore::MediaPlayer::sourceAddId):
750         (WebCore::MediaPlayer::sourceRemoveId):
751         * platform/graphics/MediaPlayer.h:
752         * platform/graphics/MediaPlayerPrivate.h:
753         (WebCore::MediaPlayerPrivateInterface::sourceAddId):
754         (WebCore::MediaPlayerPrivateInterface::sourceRemoveId):
755
756 2012-04-17  Alexander Pavlov  <apavlov@chromium.org>
757
758         Web Inspector: [CRASH] InspectorDOMAgent::didInsertDOMNode() on page reload with open Inspector
759         https://bugs.webkit.org/show_bug.cgi?id=84154
760
761         Check that a node inserted actually has a parent.
762
763         Reviewed by Yury Semikhatsky.
764
765         Test: inspector/elements/elements-panel-reload-assert.html
766
767         * inspector/InspectorDOMAgent.cpp:
768         (WebCore::InspectorDOMAgent::didInsertDOMNode):
769
770 2012-04-17  Dana Jansens  <danakj@chromium.org>
771
772         [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result
773         https://bugs.webkit.org/show_bug.cgi?id=83543
774
775         Reviewed by Adrienne Walker.
776
777         It should not be possible to make a rect in layer space that is clipped
778         by the camera but for which the screen space transform gives a
779         rectilinear output. But use consistent methods for checking that the
780         result remains enclosed within the actual pixels.
781
782         One day when clipped is true, we can find an interior axis-aligned rect
783         within the clipped result, and checking clipped explicitly makes this
784         more clear.
785
786         Covered by existing tests.
787
788         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
789         (WebCore::computeOcclusionBehindLayer):
790         (WebCore::::markOccludedBehindLayer):
791
792 2012-04-17  Vsevolod Vlasov  <vsevik@chromium.org>
793
794         Web Inspector: Suggest box appears after the command was executed in console sometimes.
795         https://bugs.webkit.org/show_bug.cgi?id=84148
796
797         Reviewed by Pavel Feldman.
798
799         TextPrompt.complete() requests completions asynchronously, this change adds a flag
800         that informs TextPrompt._completionsReady() whether completions should still be shown.
801
802         * inspector/front-end/TextPrompt.js:
803         (WebInspector.TextPrompt.prototype.clearAutoComplete):
804         (WebInspector.TextPrompt.prototype.complete):
805         (WebInspector.TextPrompt.prototype._completionsReady):
806
807 2012-04-17  Yong Li  <yoli@rim.com>
808
809         REGRESSION (r105453): Crash when handling touch events
810         https://bugs.webkit.org/show_bug.cgi?id=81958
811
812         Reviewed by Antonio Gomes.
813
814         Always perform sanity checks when handling every touch point
815         because the node and document may have been destroyed or detached.
816
817         ManualTests/touch-stale-iframe-crash.html added.
818         (DumpRenderTree doesn't support transiting touch states in one shot yet)
819
820         * page/EventHandler.cpp:
821         (WebCore::EventHandler::handleTouchEvent):
822
823 2012-04-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
824
825         Asserts in XMLHttpRequestProgressEventThrottle
826         https://bugs.webkit.org/show_bug.cgi?id=81506
827
828         Reviewed by Julien Chaffraix.
829
830         The asserts were incorrectly triggered because suspending active DOM objects
831         (which suspends the XMLHttpRequestProgressEventThrottle) doesn't stop JavaScript
832         from running or suspend any running loader we may have. The previous code would
833         assume those 2 cases were impossible.
834
835         When XmlHttpRequest::open is called or data is received while the XmlHttpRequest object
836         is suspended the object may attempt to dispatch events. This patch defers these events
837         until the object is resumed.
838
839         Progress events are coalesced similar to normal throttling, and readystate-change events
840         are coalesced to avoid identical events emitted right after eachother.
841
842         On resume the events are dispatched after a timer to avoid interfering with 
843         ScriptExecutionContext which is iterating over suspended objects.
844
845         Test: fast/events/pagehide-xhr-open.html
846
847         * xml/XMLHttpRequestProgressEventThrottle.cpp:
848         (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
849         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
850         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent):
851         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
852         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
853         (WebCore::XMLHttpRequestProgressEventThrottle::fired):
854         (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
855         (WebCore::XMLHttpRequestProgressEventThrottle::resume):
856         * xml/XMLHttpRequestProgressEventThrottle.h:
857         (XMLHttpRequestProgressEventThrottle):
858
859 2012-04-16  Vsevolod Vlasov  <vsevik@chromium.org>
860
861         Web Inspector: [Chromium] Crash when inspecting empty IndexedDB object store.
862         https://bugs.webkit.org/show_bug.cgi?id=84035
863
864         Reviewed by Pavel Feldman.
865
866         Added a check that m_idbCursor is not null before calling postSuccessHandlerCallback() on it.
867
868         * inspector/InspectorIndexedDBAgent.cpp:
869         (WebCore):
870
871 2012-04-17  Pavel Feldman  <pfeldman@chromium.org>
872
873         Web Inspector: [regression r112413]content scripts tree outline is not added to the tab.
874         https://bugs.webkit.org/show_bug.cgi?id=84146
875
876         Reviewed by Vsevolod Vlasov.
877
878         Adding the tree to the container.
879
880         * inspector/front-end/ScriptsNavigator.js:
881         (WebInspector.ScriptsNavigator):
882
883 2012-04-17  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
884
885         [EFL][WK2] Fix build break when CONTEXT_MENUS is disabled.
886         https://bugs.webkit.org/show_bug.cgi?id=83285
887
888         Reviewed by Ryosuke Niwa.
889
890         * platform/ContextMenuItem.h: Remove macro around enums - needed by InjectedBundle.
891         (WebCore):
892         * platform/Widget.h: Remove namespace WebCore for PlatformPageClient typedef.
893
894 2012-04-17  Kent Tamura  <tkent@chromium.org>
895
896         Introduce an internal feature for a fixed placeholder
897         https://bugs.webkit.org/show_bug.cgi?id=84009
898
899         Reviewed by Hajime Morita.
900
901         This change adds a framework to support fixed placeholder string for
902         textfield-like <input> without the palceholder attribute support. This
903         doesn't change any behavior of input types which support the
904         'placeholder' attribute.
905
906         According to the standard, <input type=date> doesn't support the
907         'placeholder' attribute. However it is a kind of text field in WebKit
908         platforms with ENABLE_CALENDAR_PICKER, and we may show something useful
909         information as the default placeholder.
910
911         No new tests because of no behavior changes.
912
913         * html/HTMLTextFormControlElement.h:
914         (HTMLTextFormControlElement): Make isPlaceholderEmpty() virtual.
915         * html/HTMLInputElement.h:
916         (HTMLInputElement): Overrides isPlaceholderEmpty().
917         * html/HTMLInputElement.cpp:
918         (WebCore::HTMLInputElement::isPlaceholderEmpty):
919         Check InputType::defaultPlaceholder() if InputType::usesFixedPlaceholder().
920         * html/InputType.cpp:
921         (WebCore::InputType::usesFixedPlaceholder): Added. Returns false.
922         (WebCore::InputType::fixedPlaceholder): Added. Returns a null string.
923         * html/InputType.h:
924         (InputType): Add usesFixedPlaceholder() and fixedPlaceholder().
925         * html/TextFieldInputType.cpp:
926         (WebCore::TextFieldInputType::updatePlaceholderText):
927         Uses fixedPlaceholder() instead of strippedPlaceholder() if usesFixedPlaceholder().
928
929 2012-04-17  Kent Tamura  <tkent@chromium.org>
930
931         Move some code of LocalizedNumberICU.cpp to ICULocale.cpp
932         https://bugs.webkit.org/show_bug.cgi?id=84128
933
934         Reviewed by Hajime Morita.
935
936         No new tests. No behavior change.
937
938         * WebCore.gypi: Add ICULocale.cpp
939         * platform/text/ICULocale.cpp:
940         Added. Move some code from LocalizedNumberICU.cpp
941         * platform/text/ICULocale.h:
942         (ICULocale): Add currentLocale().
943         * platform/text/LocalizedNumberICU.cpp:
944         (WebCore::convertToLocalizedNumber): Use ICULocale::currentLocale().
945         (WebCore::convertFromLocalizedNumber): ditto.
946
947 2012-04-17  Bang Kwang min  <justine.bang@samsung.com>
948
949         [Plugins] delete ws_info regardless of window mode.
950         https://bugs.webkit.org/show_bug.cgi?id=83004
951
952         Reviewed by Simon Hausmann.
953
954         m_npWindow.ws_info should be deleted even if plugin run as windowless mode to remove memory leak.
955         Every plugin works well after this patch without any crash.
956         Additionally, change casting syntax to C++ style.
957
958         * plugins/PluginView.cpp:
959         (WebCore::PluginView::stop):
960
961 2012-04-17  Kent Tamura  <tkent@chromium.org>
962
963         Calendar Picker: Support RTL layout
964         https://bugs.webkit.org/show_bug.cgi?id=83668
965
966         Reviewed by Hajime Morita.
967
968         Manual test: ManualTests/forms/calendar-picker.html
969
970         * Resources/calendarPicker.js:
971         (layout): If params.isRTL, add dir=rtl to the body.
972         (DaysTable.prototype._handleKey): Reverse Left and Right cursor keys if RTL.
973         * html/shadow/CalendarPickerElement.cpp:
974         (WebCore::addProperty): Add addProperty() with a bool value.
975         (WebCore::CalendarPickerElement::writeDocument):
976         Check the direction of the first character of localized January label,
977         and pass it as isRTL property.
978
979 2012-04-16  Carlos Garcia Campos  <cgarcia@igalia.com>
980
981         Unreviewed. Fix make distcheck issues.
982
983         * GNUmakefile.list.am: Add missing files.
984
985 2012-04-16  Hajime Morrita  <morrita@chromium.org>
986
987         insertedIntoDocument and insertedIntoTree should be unitifed.
988         https://bugs.webkit.org/show_bug.cgi?id=82701
989
990         Reviewed by Ryosuke Niwa.
991
992         Both Node::insertedIntoTree() and Node::insertedIntoDocument() are
993         served as lifecycle callbacks which are invoked when a node is
994         inserted into its new parent. There are also removedFromTree()
995         and removedFromDocument() respectively. Considering that this pair
996         of virtual functions are laid onto the hot path, it's worth
997         merging them into one, to gain some speedup. Such
998         unification could clarify the semantics as well.
999
1000         This change makes following change to merge these functions.
1001
1002         - pulling the tree traversal out from ContainerNode to ChildNodeInsertionNotifier.
1003         - letting new Node::insertInto() do the job for its own, but not
1004           for its children and
1005         - Pass the parent of each insertion root as a parameter of insertedInto().
1006           This root node can tell inserted node where it is inserted,
1007           specifically whetehr the insertion is to the document or not.
1008
1009         Same pattern is also applied to Node::removedFromDocument() and
1010         Node::removedFromTree(), which are factored to Node::removedFrom()
1011         and ChildNodeRemovalNotifier respectively.
1012
1013         Speed up on Dromaeo/dom-modify.html is about 2%.
1014         Further speed-up by de-virtulization would be possible.
1015
1016         Caveat:
1017
1018         There is possible situation where a node need to invoke
1019         insertedInto() after its children is nofitied, instead of before
1020         that.  It was represented naturally with previous
1021         traversal-by-ContainerNode pattern, but is no longer simple with
1022         this new external traversal. To support this scenario, we
1023         introduced the InsertionNotificationRequest as a return value of insertedInto()
1024         and a supplemental hook Node::didNotifyDescendantInseretions(). See for
1025         example HTMLFormElement.cpp to learn how it works.
1026
1027         No new tests. Covered by existing tests.
1028
1029         * CMakeLists.txt:
1030         * GNUmakefile.list.am:
1031         * Target.pri:
1032         * WebCore.gypi:
1033         * WebCore.xcodeproj/project.pbxproj:
1034         * dom/ContainerNode.cpp:
1035         (WebCore::ContainerNode::parserInsertBefore):
1036         (WebCore::ContainerNode::removeChild):
1037         (WebCore::ContainerNode::parserRemoveChild):
1038         (WebCore::ContainerNode::removeChildren):
1039         (WebCore::ContainerNode::parserAddChild):
1040         (WebCore::updateTreeAfterInsertion):
1041         * dom/ContainerNode.h:
1042         (ContainerNode):
1043         (WebCore::Node::highestAncestor):
1044         (WebCore):
1045         * dom/ContainerNodeAlgorithms.cpp: Added.
1046         (WebCore):
1047         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
1048         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
1049         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
1050         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
1051         * dom/ContainerNodeAlgorithms.h:
1052         (ChildNodeInsertionNotifier):
1053         (WebCore::ChildNodeInsertionNotifier::ChildNodeInsertionNotifier):
1054         (WebCore):
1055         (ChildNodeRemovalNotifier):
1056         (WebCore::ChildNodeRemovalNotifier::ChildNodeRemovalNotifier):
1057         (WebCore::removeAllChildrenInContainer):
1058         (WebCore::appendChildToContainer):
1059         (Private):
1060         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
1061         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
1062         (WebCore::ChildNodeInsertionNotifier::notifyInsertedIntoDocument):
1063         (WebCore::ChildNodeInsertionNotifier::notify):
1064         (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromDocument):
1065         (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
1066         (WebCore::ChildNodeRemovalNotifier::notify):
1067         * dom/DOMAllInOne.cpp:
1068         * dom/DocumentType.cpp:
1069         (WebCore::DocumentType::insertedInto):
1070         (WebCore::DocumentType::removedFrom):
1071         * dom/DocumentType.h:
1072         (DocumentType):
1073         * dom/Element.cpp:
1074         (WebCore::Element::insertedInto):
1075         (WebCore::Element::removedFrom):
1076         * dom/Element.h:
1077         (Element):
1078         * dom/Node.cpp:
1079         (WebCore::Node::insertedInto):
1080         (WebCore::Node::removedFrom):
1081         * dom/Node.h:
1082         (Node):
1083         (WebCore::Node::didNotifyDescendantInseretions):
1084         * dom/ProcessingInstruction.cpp:
1085         (WebCore::ProcessingInstruction::insertedInto):
1086         (WebCore::ProcessingInstruction::removedFrom):
1087         * dom/ProcessingInstruction.h:
1088         (ProcessingInstruction):
1089         * dom/ScriptElement.cpp:
1090         (WebCore::ScriptElement::insertedInto):
1091         * dom/ScriptElement.h:
1092         (WebCore):
1093         (ScriptElement):
1094         * dom/ShadowTree.cpp:
1095         (WebCore::ShadowTree::addShadowRoot):
1096         (WebCore::ShadowTree::removeAllShadowRoots):
1097         * dom/ShadowTree.h:
1098         (ShadowTree):
1099         (ShadowRootVector):
1100         (WebCore::ShadowRootVector::ShadowRootVector):
1101         (WebCore):
1102         * html/FormAssociatedElement.cpp:
1103         (WebCore::FormAssociatedElement::insertedInto):
1104         (WebCore::FormAssociatedElement::removedFrom):
1105         (WebCore::FormAssociatedElement::formRemovedFromTree):
1106         * html/FormAssociatedElement.h:
1107         (FormAssociatedElement):
1108         * html/HTMLBaseElement.cpp:
1109         (WebCore::HTMLBaseElement::insertedInto):
1110         (WebCore::HTMLBaseElement::removedFrom):
1111         * html/HTMLBaseElement.h:
1112         (HTMLBaseElement):
1113         * html/HTMLBodyElement.cpp:
1114         (WebCore::HTMLBodyElement::insertedInto):
1115         (WebCore::HTMLBodyElement::didNotifyDescendantInseretions):
1116         * html/HTMLBodyElement.h:
1117         (HTMLBodyElement):
1118         * html/HTMLFormControlElement.cpp:
1119         (WebCore::HTMLFormControlElement::insertedInto):
1120         (WebCore::HTMLFormControlElement::removedFrom):
1121         * html/HTMLFormControlElement.h:
1122         (HTMLFormControlElement):
1123         * html/HTMLFormElement.cpp:
1124         (WebCore::HTMLFormElement::insertedInto):
1125         (WebCore::HTMLFormElement::didNotifyDescendantInseretions):
1126         (WebCore::HTMLFormElement::removedFrom):
1127         * html/HTMLFormElement.h:
1128         (HTMLFormElement):
1129         * html/HTMLFrameElementBase.cpp:
1130         (WebCore::HTMLFrameElementBase::insertedInto):
1131         (WebCore):
1132         (WebCore::HTMLFrameElementBase::didNotifyDescendantInseretions):
1133         * html/HTMLFrameElementBase.h:
1134         (HTMLFrameElementBase):
1135         * html/HTMLFrameSetElement.cpp:
1136         (WebCore::HTMLFrameSetElement::insertedInto):
1137         (WebCore::HTMLFrameSetElement::removedFrom):
1138         * html/HTMLFrameSetElement.h:
1139         (HTMLFrameSetElement):
1140         * html/HTMLIFrameElement.cpp:
1141         (WebCore::HTMLIFrameElement::insertedInto):
1142         (WebCore::HTMLIFrameElement::removedFrom):
1143         * html/HTMLIFrameElement.h:
1144         (HTMLIFrameElement):
1145         * html/HTMLImageElement.cpp:
1146         (WebCore::HTMLImageElement::insertedInto):
1147         (WebCore::HTMLImageElement::removedFrom):
1148         * html/HTMLImageElement.h:
1149         (HTMLImageElement):
1150         * html/HTMLInputElement.cpp:
1151         (WebCore::HTMLInputElement::insertedInto):
1152         (WebCore::HTMLInputElement::removedFrom):
1153         * html/HTMLInputElement.h:
1154         * html/HTMLLinkElement.cpp:
1155         (WebCore::HTMLLinkElement::insertedInto):
1156         (WebCore::HTMLLinkElement::removedFrom):
1157         * html/HTMLLinkElement.h:
1158         (HTMLLinkElement):
1159         * html/HTMLMapElement.cpp:
1160         (WebCore::HTMLMapElement::insertedInto):
1161         (WebCore::HTMLMapElement::removedFrom):
1162         * html/HTMLMapElement.h:
1163         (HTMLMapElement):
1164         * html/HTMLMediaElement.cpp:
1165         (WebCore::HTMLMediaElement::insertedInto):
1166         (WebCore::HTMLMediaElement::removedFrom):
1167         * html/HTMLMediaElement.h:
1168         (HTMLMediaElement):
1169         * html/HTMLMetaElement.cpp:
1170         (WebCore::HTMLMetaElement::insertedInto):
1171         * html/HTMLMetaElement.h:
1172         (HTMLMetaElement):
1173         * html/HTMLObjectElement.cpp:
1174         (WebCore::HTMLObjectElement::insertedInto):
1175         (WebCore::HTMLObjectElement::removedFrom):
1176         * html/HTMLObjectElement.h:
1177         (HTMLObjectElement):
1178         * html/HTMLOptionElement.cpp:
1179         (WebCore::HTMLOptionElement::insertedInto):
1180         * html/HTMLOptionElement.h:
1181         (HTMLOptionElement):
1182         * html/HTMLQuoteElement.cpp:
1183         (WebCore::HTMLQuoteElement::insertedInto):
1184         * html/HTMLQuoteElement.h:
1185         (HTMLQuoteElement):
1186         * html/HTMLScriptElement.cpp:
1187         (WebCore::HTMLScriptElement::insertedInto):
1188         * html/HTMLScriptElement.h:
1189         (HTMLScriptElement):
1190         * html/HTMLSelectElement.cpp:
1191         (WebCore::HTMLSelectElement::insertedInto):
1192         * html/HTMLSelectElement.h:
1193         * html/HTMLSourceElement.cpp:
1194         (WebCore::HTMLSourceElement::insertedInto):
1195         * html/HTMLSourceElement.h:
1196         (HTMLSourceElement):
1197         * html/HTMLStyleElement.cpp:
1198         (WebCore::HTMLStyleElement::insertedInto):
1199         (WebCore::HTMLStyleElement::removedFrom):
1200         * html/HTMLStyleElement.h:
1201         (HTMLStyleElement):
1202         * html/HTMLTextFormControlElement.cpp:
1203         (WebCore::HTMLTextFormControlElement::insertedInto):
1204         * html/HTMLTextFormControlElement.h:
1205         * html/HTMLTitleElement.cpp:
1206         (WebCore::HTMLTitleElement::insertedInto):
1207         (WebCore::HTMLTitleElement::removedFrom):
1208         * html/HTMLTitleElement.h:
1209         (HTMLTitleElement):
1210         * html/HTMLTrackElement.cpp:
1211         (WebCore::HTMLTrackElement::insertedInto):
1212         * html/HTMLTrackElement.h:
1213         (HTMLTrackElement):
1214         * mathml/MathMLMathElement.cpp:
1215         (WebCore::MathMLMathElement::insertedInto):
1216         * mathml/MathMLMathElement.h:
1217         (MathMLMathElement):
1218         * svg/SVGElement.cpp:
1219         (WebCore::SVGElement::removedFrom):
1220         * svg/SVGElement.h:
1221         (SVGElement):
1222         * svg/SVGFEImageElement.cpp:
1223         (WebCore::SVGFEImageElement::insertedInto):
1224         (WebCore::SVGFEImageElement::removedFrom):
1225         * svg/SVGFEImageElement.h:
1226         (SVGFEImageElement):
1227         * svg/SVGFontFaceElement.cpp:
1228         (WebCore::SVGFontFaceElement::insertedInto):
1229         (WebCore::SVGFontFaceElement::removedFrom):
1230         * svg/SVGFontFaceElement.h:
1231         (SVGFontFaceElement):
1232         * svg/SVGFontFaceUriElement.cpp:
1233         (WebCore::SVGFontFaceUriElement::insertedInto):
1234         * svg/SVGFontFaceUriElement.h:
1235         (SVGFontFaceUriElement):
1236         * svg/SVGGlyphElement.cpp:
1237         (WebCore::SVGGlyphElement::insertedInto):
1238         (WebCore::SVGGlyphElement::removedFrom):
1239         * svg/SVGGlyphElement.h:
1240         (SVGGlyphElement):
1241         * svg/SVGHKernElement.cpp:
1242         (WebCore::SVGHKernElement::insertedInto):
1243         (WebCore::SVGHKernElement::removedFrom):
1244         * svg/SVGHKernElement.h:
1245         (SVGHKernElement):
1246         * svg/SVGImageElement.cpp:
1247         (WebCore::SVGImageElement::insertedInto):
1248         * svg/SVGImageElement.h:
1249         (SVGImageElement):
1250         * svg/SVGSVGElement.cpp:
1251         (WebCore::SVGSVGElement::insertedInto):
1252         (WebCore::SVGSVGElement::removedFrom):
1253         * svg/SVGSVGElement.h:
1254         (SVGSVGElement):
1255         * svg/SVGScriptElement.cpp:
1256         (WebCore::SVGScriptElement::insertedInto):
1257         * svg/SVGScriptElement.h:
1258         (SVGScriptElement):
1259         * svg/SVGStyleElement.cpp:
1260         (WebCore::SVGStyleElement::insertedInto):
1261         (WebCore::SVGStyleElement::removedFrom):
1262         * svg/SVGStyleElement.h:
1263         (SVGStyleElement):
1264         * svg/SVGStyledElement.cpp:
1265         (WebCore::SVGStyledElement::insertedInto):
1266         (WebCore::SVGStyledElement::removedFrom):
1267         (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
1268         * svg/SVGStyledElement.h:
1269         (SVGStyledElement):
1270         * svg/SVGTRefElement.cpp:
1271         (WebCore::SVGTRefElement::buildPendingResource):
1272         (WebCore::SVGTRefElement::insertedInto):
1273         (WebCore::SVGTRefElement::removedFrom):
1274         * svg/SVGTRefElement.h:
1275         (SVGTRefElement):
1276         * svg/SVGTextPathElement.cpp:
1277         (WebCore::SVGTextPathElement::insertedInto):
1278         * svg/SVGTextPathElement.h:
1279         * svg/SVGTitleElement.cpp:
1280         (WebCore::SVGTitleElement::insertedInto):
1281         (WebCore::SVGTitleElement::removedFrom):
1282         * svg/SVGTitleElement.h:
1283         (SVGTitleElement):
1284         * svg/SVGUseElement.cpp:
1285         (WebCore::SVGUseElement::insertedInto):
1286         (WebCore::SVGUseElement::removedFrom):
1287         * svg/SVGUseElement.h:
1288         (SVGUseElement):
1289         * svg/SVGVKernElement.cpp:
1290         (WebCore::SVGVKernElement::insertedInto):
1291         (WebCore::SVGVKernElement::removedFrom):
1292         * svg/SVGVKernElement.h:
1293         (SVGVKernElement):
1294         * svg/animation/SVGSMILElement.cpp:
1295         (WebCore::SVGSMILElement::insertedInto):
1296         (WebCore::SVGSMILElement::removedFrom):
1297         * svg/animation/SVGSMILElement.h:
1298         (SVGSMILElement):
1299
1300 2012-04-16  David Barr  <davidbarr@chromium.org>
1301
1302         Stack overflow in CSS parser caused by recursive stylesheet import
1303         https://bugs.webkit.org/show_bug.cgi?id=83545
1304
1305         Reviewed by Ryosuke Niwa.
1306
1307         Test: http/tests/css/css-imports-redirect-cycle.html
1308
1309         * css/CSSImportRule.cpp:
1310         (WebCore::StyleRuleImport::requestStyleSheet):
1311
1312 2012-04-16  Kent Tamura  <tkent@chromium.org>
1313
1314         Rename LocalizedNumberICU.h to ICULocale.h
1315         https://bugs.webkit.org/show_bug.cgi?id=84119
1316
1317         Reviewed by Kentaro Hara.
1318
1319         LocalizedNumberICU.h contains only ICULocale class. It should be
1320         named as ICULocale.h. We're going to move some functions in
1321         LocalizedDateICU.cpp and LocalizedCalendarICU.cpp to ICULocale,
1322         and add unit tests for them.
1323
1324         * WebCore.gypi: Rename LocalizedNumberICU.h to ICULocale.h
1325         * platform/text/ICULocale.h:
1326         Renamed from Source/WebCore/platform/text/LocalizedNumberICU.h.
1327         * platform/text/LocalizedNumberICU.cpp:
1328         Rename LocalizedNumberICU.h to ICULocale.h
1329
1330 2012-04-16  James Robinson  <jamesr@chromium.org>
1331
1332         [chromium] Move paintRenderedResultsToCanvas code into DrawingBuffer
1333         https://bugs.webkit.org/show_bug.cgi?id=84066
1334
1335         Reviewed by Adrienne Walker.
1336
1337         WebGLLayerChromium used to be responsible for the readback path for software painting WebGL canvases (for
1338         printing, etc), but this path no longer has any compositor interaction. This moves the code into
1339         DrawingBufferChromium which is responsible for managing the front / back buffers for WebGL.
1340
1341         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1342         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
1343         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1344         * platform/graphics/chromium/WebGLLayerChromium.h:
1345         (WebGLLayerChromium):
1346
1347 2012-04-16  Dana Jansens  <danakj@chromium.org>
1348
1349         [chromium] Expose compositor filters to Aura through WebLayer
1350         https://bugs.webkit.org/show_bug.cgi?id=80054
1351
1352         Reviewed by James Robinson.
1353
1354         Adds WebFilterOperation that wraps WebCore::FilterOperation and
1355         WebFilterOperations that wraps WebCore::FilterOperations.
1356
1357         We add support for most of the FilterOperation subclasses, and
1358         allow the user to set the WebFilterOperations for both layer
1359         content filters and background filters.
1360
1361         * WebCore.gypi:
1362         * platform/chromium/support/WebFilterOperation.cpp: Added.
1363         (WebKit):
1364         (WebKit::WebBasicColorMatrixFilterOperation::toFilterOperation):
1365         (WebKit::WebBasicComponentTransferFilterOperation::toFilterOperation):
1366         (WebKit::WebBlurFilterOperation::toFilterOperation):
1367         (WebKit::WebDropShadowFilterOperation::toFilterOperation):
1368         * platform/chromium/support/WebFilterOperations.cpp: Added.
1369         (WebKit):
1370         (WebKit::WebFilterOperations::WebFilterOperations):
1371         (WebKit::WebFilterOperations::append):
1372         (WebKit::WebFilterOperations::clear):
1373         (WebKit::WebFilterOperations::toFilterOperations):
1374
1375 2012-04-16  Andrei Burago  <aburago@chromium.org>
1376
1377         Auto-sized frames may be taller than expected
1378         https://bugs.webkit.org/show_bug.cgi?id=84106
1379
1380         Reviewed by David Levin.
1381
1382         No new tests. The repro steps require using Chrome notifications on Win.
1383
1384         * page/FrameView.cpp:
1385         (WebCore::FrameView::autoSizeIfEnabled):
1386
1387 2012-04-13  James Robinson  <jamesr@chromium.org>
1388
1389         [chromium] Expose WebVideoLayer to Platform API and port WebMediaPlayerClientImpl to using it
1390         https://bugs.webkit.org/show_bug.cgi?id=83963
1391
1392         Reviewed by Adrienne Walker.
1393
1394         Converts VideoLayerChromium / CCVideoLayerImpl to use a Platform WebVideoFrameProvider interface instead of a
1395         WebCore VideoFrameProvider.
1396
1397         * WebCore.gypi:
1398         * platform/graphics/chromium/VideoLayerChromium.cpp:
1399         (WebCore::VideoLayerChromium::create):
1400         (WebCore::VideoLayerChromium::VideoLayerChromium):
1401         * platform/graphics/chromium/VideoLayerChromium.h:
1402         (WebKit):
1403         (WebCore):
1404         (VideoLayerChromium):
1405         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1406         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
1407         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1408         (WebCore::CCVideoLayerImpl::create):
1409         (CCVideoLayerImpl):
1410
1411 2012-04-16  Takashi Sakamoto  <tasak@google.com>
1412
1413         [Shadow DOM] InsertionPoint should have isActive() member function.
1414         https://bugs.webkit.org/show_bug.cgi?id=82010
1415
1416         Reviewed by Hajime Morita.
1417
1418         This patch adds isActive public member function to InsertionPoint and
1419         makes InsertionPoint elements consider whether active or not.
1420         If an InsertionPoint is inactive, the element is not shadow boundary
1421         and is needed to be rendered.
1422         c.f. https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#dfn-active-insertion-point
1423
1424         Test: update existing tests, i.e.
1425         LayoutTests/fast/dom/shadow/shadow-contents-fallback-dynamic.html and
1426         LayoutTests/fast/dom/shadow/shadow-contents-fallback.html
1427
1428         * html/shadow/InsertionPoint.cpp:
1429         (WebCore::InsertionPoint::isActive):
1430         A new public method for checking whether an insertion point is active or inactive.
1431         If active, returns true. Otherwise, false.
1432         (WebCore::InsertionPoint::isShadowBoundary):
1433         Make the method consider whether an insertin point is active or inactive.
1434         (WebCore::InsertionPoint::rendererIsNeeded):
1435         Changed to return true If an insertion point is inactive.
1436         (WebCore::InsertionPoint::attach):
1437         Changed to call only HTMLElement::attach If an insertion point is inactive.
1438         (WebCore::InsertionPoint::detach):
1439         Changed to call only HTMLElement::detach If an insertion point is inactive.
1440         * html/shadow/InsertionPoint.h:
1441         (InsertionPoint):
1442         Added isActive public method.
1443         * dom/NodeRenderingContext.cpp:
1444         (WebCore::NodeRenderingContext::NodeRenderingContext):
1445         Changed to take into account an insertion point's activeness when parent is an insertion point.
1446         (WebCore::NodeRenderingContext::firstRendererOf):
1447         (WebCore::NodeRenderingContext::lastRendererOf):
1448         Changed to take into account an insertion point's activeness.
1449
1450 2012-04-16  MORITA Hajime  <morrita@google.com>
1451
1452         Type tags in NodeFlags could be compressed
1453         https://bugs.webkit.org/show_bug.cgi?id=79299
1454
1455         Because existing node flags which indicate the class of each node
1456         are mutually exclusive, these flags can be represented as a enum.
1457         This patch introduces Node::NodeTypeTag to turn these flags into a
1458         enum, and embeds it into Node::m_nodeFlags.
1459
1460         Reviewed by Antti Koivisto.
1461
1462         No new tests. No bahavior change.
1463
1464         * dom/Node.cpp:
1465         (WebCore):
1466         * dom/Node.h:
1467         (WebCore):
1468         (Node):
1469         (WebCore::Node::typeTag):
1470         (WebCore::Node::parentNode):
1471         (WebCore::Node::parentNodeGuaranteedHostFree):
1472         (WebCore::Node::isContainerNode):
1473         (WebCore::Node::isElementNode):
1474         (WebCore::Node::isStyledElement):
1475         (WebCore::Node::isTextNode):
1476         (WebCore::Node::isHTMLElement):
1477         (WebCore::Node::isSVGElement):
1478         (WebCore::Node::isShadowRoot):
1479
1480 2012-04-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1481
1482         Unreviewed, rolling out r114285.
1483         http://trac.webkit.org/changeset/114285
1484         https://bugs.webkit.org/show_bug.cgi?id=84107
1485
1486         broke fast/media/media-query-list-08.html in Mac (Requested by
1487         andersca on #webkit).
1488
1489         * dom/Document.cpp:
1490         (WebCore::Document::styleSelectorChanged):
1491         * dom/Document.h:
1492         (Document):
1493         * page/FrameView.cpp:
1494         (WebCore::FrameView::layout):
1495
1496 2012-04-16  Nate Chapin  <japhet@chromium.org>
1497
1498         Remove unused variable CachedResourceLoader::m_loadFinishing
1499         https://bugs.webkit.org/show_bug.cgi?id=84100
1500
1501         Reviewed by Alexey Proskuryakov.
1502
1503         No new tests, removing dead code.
1504
1505         * loader/cache/CachedResourceLoader.cpp:
1506         (WebCore::CachedResourceLoader::CachedResourceLoader):
1507         (WebCore::CachedResourceLoader::loadDone):
1508         (WebCore::CachedResourceLoader::decrementRequestCount):
1509         * loader/cache/CachedResourceLoader.h:
1510         (CachedResourceLoader):
1511         (WebCore::CachedResourceLoader::requestCount):
1512
1513 2012-04-16  Andreas Kling  <kling@webkit.org>
1514
1515         Remove contextStyleSheet argument from CSSValuePool::createFontFaceValue().
1516         <http://webkit.org/b/83988>
1517
1518         Reviewed by Antti Koivisto.
1519
1520         Remove the 'context style sheet' argument to <font face> value parsing.
1521         It was only ever used to grab at the CSSValuePool back when they were per-Document.
1522
1523         * css/CSSParser.h:
1524         * css/CSSParser.cpp:
1525         (WebCore::CSSParser::parseFontFaceValue):
1526         * css/CSSValuePool.h:
1527         * css/CSSValuePool.cpp:
1528         (WebCore::CSSValuePool::createFontFaceValue):
1529         * html/HTMLFontElement.cpp:
1530         (WebCore::HTMLFontElement::collectStyleForAttribute):
1531
1532 2012-04-16  Dana Jansens  <danakj@chromium.org>
1533
1534         [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result
1535         https://bugs.webkit.org/show_bug.cgi?id=83543
1536
1537         Reviewed by Adrienne Walker.
1538
1539         It should not be possible to make a rect in layer space that is clipped
1540         by the camera but for which the screen space transform gives a
1541         rectilinear output. But use consistent methods for checking that the
1542         result remains enclosed within the actual pixels.
1543
1544         One day when clipped is true, we can find an interior axis-aligned rect
1545         within the clipped result, and checking clipped explicitly makes this
1546         more clear.
1547
1548         Covered by existing tests.
1549
1550         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1551         (WebCore::computeOcclusionBehindLayer):
1552         (WebCore::::markOccludedBehindLayer):
1553
1554 2012-04-16  Erik Arvidsson  <arv@chromium.org>
1555
1556         [V8] Don't delete the per context data until the V8IsolatedContext is deleted
1557         https://bugs.webkit.org/show_bug.cgi?id=83831
1558
1559         Reviewed by Nate Chapin.
1560
1561         Test: http/tests/security/isolatedWorld/context-destroy.html
1562
1563         * bindings/v8/V8IsolatedContext.cpp:
1564         (WebCore::V8IsolatedContext::destroy):
1565
1566 2012-04-16  Greg Billock  <gbillock@google.com>
1567
1568         Add V8 code generation support for MessagePortArray attributes.
1569         https://bugs.webkit.org/show_bug.cgi?id=83943
1570
1571         Reviewed by Kentaro Hara.
1572
1573         * bindings/scripts/CodeGeneratorV8.pm:
1574         (GenerateNormalAttrGetter):
1575         * bindings/scripts/IDLAttributes.txt:
1576         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
1577         (WebDOMTestSerializedScriptValueInterface::ports):
1578         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
1579         (WebDOMTestSerializedScriptValueInterface):
1580         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1581         (webkit_dom_test_serialized_script_value_interface_get_property):
1582         (webkit_dom_test_serialized_script_value_interface_class_init):
1583         (webkit_dom_test_serialized_script_value_interface_get_ports):
1584         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1585         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1586         (WebCore):
1587         (WebCore::jsTestSerializedScriptValueInterfacePorts):
1588         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1589         (WebCore):
1590         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
1591         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
1592         (-[DOMTestSerializedScriptValueInterface ports]):
1593         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1594         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1595         (WebCore::TestSerializedScriptValueInterfaceInternal::portsAttrGetter):
1596         (TestSerializedScriptValueInterfaceInternal):
1597         (WebCore):
1598
1599 2012-04-16  Xiaomei Ji  <xji@chromium.org>
1600
1601         platform/graphics/skia/GlyphPageTreeNodeSkia.cpp mis-use 'continue' for 'break'
1602         https://bugs.webkit.org/show_bug.cgi?id=83521
1603
1604         Reviewed by David Levin.
1605
1606         No functionality change, so no new tests.
1607
1608         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
1609         (WebCore::GlyphPage::fill):
1610
1611 2012-04-16  Levi Weintraub  <leviw@chromium.org>
1612
1613         Make borderBoxRect sub-pixel precise and add a pixel snapped version
1614         https://bugs.webkit.org/show_bug.cgi?id=84063
1615
1616         Reviewed by Eric Seidel.
1617
1618         In an effort to prevent misuse, we previously decided to have borderBoxRect return a
1619         pixel-snapped IntRect. This is because borderBoxRect returns a rect that's positioned
1620         at (0,0), and therefore won't snap to the same size as the element it's covering.
1621
1622         There are a couple uses of borderBoxRect that don't pixel snap the values and require
1623         sub-pixel precision. This patch adds a pixelSnappedBorderBoxRect that makes the snapping
1624         explicit, and moves uses that would otherwise pixel snap the rect to this version to
1625         avoid producing a rect of the incorrect size. For details about pixel snapping with
1626         LayoutUnits, please see https://trac.webkit.org/wiki/LayoutUnit
1627
1628         No new tests. No change in behavior.
1629
1630         * html/shadow/TextControlInnerElements.cpp:
1631         (WebCore::SpinButtonElement::defaultEventHandler):
1632         * rendering/RenderBlock.cpp:
1633         (WebCore::RenderBlock::addVisualOverflowFromTheme):
1634         * rendering/RenderBox.h:
1635         (WebCore::RenderBox::borderBoxRect):
1636         (WebCore::RenderBox::pixelSnappedBorderBoxRect):
1637         (WebCore::RenderBox::borderBoundingBox):
1638         (WebCore::RenderBox::hasVisualOverflow):
1639         * rendering/RenderLayer.cpp:
1640         (WebCore::RenderLayer::scrollCornerRect):
1641         (WebCore::RenderLayer::scrollCornerAndResizerRect):
1642         (WebCore::RenderLayer::horizontalScrollbarStart):
1643         (WebCore::RenderLayer::positionOverflowControls):
1644         (WebCore::RenderLayer::paintResizer):
1645         (WebCore::RenderLayer::hitTestOverflowControls):
1646         * rendering/RenderLayerBacking.cpp:
1647         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1648         (WebCore::RenderLayerBacking::startAnimation):
1649         (WebCore::RenderLayerBacking::startTransition):
1650         * rendering/RenderTable.cpp:
1651         (WebCore::RenderTable::addOverflowFromChildren):
1652         * rendering/RenderThemeMac.mm:
1653         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
1654         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
1655         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
1656         * rendering/svg/RenderSVGRoot.cpp:
1657         (WebCore::RenderSVGRoot::paintReplaced):
1658         (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
1659
1660 2012-04-16  Anders Carlsson  <andersca@apple.com>
1661
1662         Crash when running some editing related tests
1663         https://bugs.webkit.org/show_bug.cgi?id=84091
1664
1665         Reviewed by Andreas Kling.
1666
1667         Null check triggeringEvent.
1668
1669         * editing/Editor.cpp:
1670         (WebCore::Editor::insertTextWithoutSendingTextEvent):
1671
1672 2012-04-16  Simon Fraser  <simon.fraser@apple.com>
1673
1674         Rename to updateZOrderListsSlowCase to rebuildZOrderLists
1675         https://bugs.webkit.org/show_bug.cgi?id=84071
1676
1677         Reviewed by Antti Koivisto.
1678
1679         Use a better name for updateZOrderListsSlowCase().
1680
1681         * rendering/RenderLayer.cpp:
1682         (WebCore::RenderLayer::rebuildZOrderLists):
1683         * rendering/RenderLayer.h:
1684         (RenderLayer):
1685         (WebCore::RenderLayer::updateZOrderLists):
1686
1687 2012-04-16  Terry Anderson  <tdanderson@chromium.org>
1688
1689         [chromium] Allow WebGestureEvent to store four floating point values
1690         https://bugs.webkit.org/show_bug.cgi?id=84053
1691
1692         Reviewed by Darin Fisher.
1693
1694         See bug description for an explanation of the changes made.
1695
1696         * platform/PlatformGestureEvent.h:
1697         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
1698         (PlatformGestureEvent):
1699         (WebCore::PlatformGestureEvent::gammaX):
1700         (WebCore::PlatformGestureEvent::gammaY):
1701
1702 2012-04-16  Kentaro Hara  <haraken@chromium.org>
1703
1704         [Refactoring][V8] Remove $indent from NativeToJSValue()
1705         https://bugs.webkit.org/show_bug.cgi?id=84077
1706
1707         Reviewed by Nate Chapin.
1708
1709         $indent in NativeToJSValue() in CodeGeneratorV8.pm is not used.
1710         This patch removes it.
1711
1712         No new tests. No change in behavior.
1713
1714         * bindings/scripts/CodeGeneratorV8.pm:
1715         (GenerateNormalAttrGetter):
1716         (GenerateFunctionCallString):
1717         (NativeToJSValue):
1718
1719 2012-04-16  Luiz Agostini  <luiz.agostini@palm.com>
1720
1721         matchMedia() MediaQueryList not updating
1722         https://bugs.webkit.org/show_bug.cgi?id=75903
1723
1724         Reviewed by Antti Koivisto.
1725
1726         Test: fast/media/media-query-list-08.html
1727
1728         Viewport related MediaQueryList listeners were not triggered and the value
1729         of matches were not updated if the document's style selector were not
1730         affected by viewport changes.
1731
1732         The new method evaluateMediaQueries() is now called by FrameView instead of
1733         styleSelectorChanged() if the style selector is not affected by viewport changes.
1734
1735         * dom/Document.cpp:
1736         (WebCore::Document::evaluateMediaQueries):
1737         (WebCore):
1738         (WebCore::Document::styleSelectorChanged):
1739         * dom/Document.h:
1740         (Document):
1741         * page/FrameView.cpp:
1742         (WebCore::FrameView::layout):
1743
1744 2012-04-16  James Robinson  <jamesr@chromium.org>
1745
1746         [chromium] Delete uncalled unreserveContentsTextures function
1747         https://bugs.webkit.org/show_bug.cgi?id=84005
1748
1749         Reviewed by Adrienne Walker.
1750
1751         This is vestigal dead code.
1752
1753         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1754         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1755         (Canvas2DLayerChromium):
1756         * platform/graphics/chromium/LayerChromium.h:
1757         * platform/graphics/chromium/cc/CCLayerImpl.h:
1758         (CCLayerImpl):
1759
1760 2012-04-13  Simon Fraser  <simon.fraser@apple.com>
1761
1762         Avoid using backing store for compositing layers that just need to clip
1763         https://bugs.webkit.org/show_bug.cgi?id=40547
1764
1765         Reviewed by Dean Jackson.
1766         
1767         If a layer becomes composited because it needs to clip composited
1768         descendants, or if it has perspective, then it doesn't actually
1769         needs its own backing store; its contents can be painted by an
1770         ancestor, and we can just have an empty layer that does the clipping
1771         or applies the perspective transform.
1772         
1773         This saves backing store memory on some pages.
1774
1775         Tests: compositing/backing/no-backing-for-clip-overlap.html
1776                compositing/backing/no-backing-for-clip.html
1777                compositing/backing/no-backing-for-perspective.html
1778
1779         * rendering/RenderLayer.cpp:
1780         (WebCore):
1781         (WebCore::RenderLayer::enclosingCompositingLayerForRepaint):
1782         (WebCore::RenderLayer::paintLayer):
1783         * rendering/RenderLayer.h:
1784         (RenderLayer):
1785         * rendering/RenderLayerBacking.cpp:
1786         (WebCore::RenderLayerBacking::RenderLayerBacking):
1787         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1788         (WebCore::RenderLayerBacking::containsPaintedContent):
1789         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
1790         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
1791         (WebCore::RenderLayerBacking::paintIntoLayer):
1792         * rendering/RenderLayerBacking.h:
1793         (RenderLayerBacking):
1794         (WebCore::RenderLayerBacking::paintsIntoCompositedAncestor):
1795         (WebCore::RenderLayerBacking::setRequiresOwnBackingStore):
1796         * rendering/RenderLayerCompositor.cpp:
1797         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1798         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
1799         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1800         (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
1801         (WebCore):
1802         * rendering/RenderLayerCompositor.h:
1803         * rendering/RenderObject.cpp:
1804         (WebCore::RenderObject::containerForRepaint):
1805         * rendering/RenderTreeAsText.cpp:
1806         (WebCore::write):
1807         * rendering/RenderView.cpp:
1808         (WebCore::RenderView::paintBoxDecorations):
1809
1810 2012-04-16  Brady Eidson  <beidson@apple.com>
1811
1812         <rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050
1813         WebKit2 back/forward items in the page cache are never removed when the page is closed
1814
1815         Reviewed by Jessie Berlin and unofficially reviewed by Jon Lee.
1816
1817         * WebCore.exp.in: Export PageCache::remove()
1818
1819 2012-04-16  Philippe Normand  <pnormand@igalia.com>
1820
1821         Unreviewed, GTK build fix after r114269.
1822
1823         * GNUmakefile.list.am:
1824
1825 2012-04-16  Andrey Kosyakov  <caseq@chromium.org>
1826
1827         Web Inspector: timeline. Range selection works incorrect with right click
1828         https://bugs.webkit.org/show_bug.cgi?id=83870
1829
1830         Reviewed by Pavel Feldman.
1831
1832         - only start window dragging upon mousedown with left button (right will cause a context menu and we won't see mouseup)
1833
1834         * inspector/front-end/TimelineOverviewPane.js:
1835         (WebInspector.TimelineOverviewWindow.prototype._dragWindow):
1836
1837 2012-04-16  Andrey Kosyakov  <caseq@chromium.org>
1838
1839         Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling
1840         https://bugs.webkit.org/show_bug.cgi?id=83946
1841
1842         Reviewed by Pavel Feldman.
1843
1844         Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables
1845         support for moving overview window with horizontal swype over lower timeline pane, thus removing
1846         an irritating situation when we try to both change overview window and scroll lower timeline pane
1847         upon a single touchpad gesture. Those willing to move timeline window now would need to position
1848         mouse over overview.
1849
1850         * inspector/front-end/TimelineOverviewPane.js:
1851         (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
1852         (WebInspector.TimelineOverviewWindow.prototype._zoom):
1853         * inspector/front-end/TimelinePanel.js:
1854         (WebInspector.TimelinePanel):
1855
1856 2012-04-16  Yury Semikhatsky  <yurys@chromium.org>
1857
1858         Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
1859         https://bugs.webkit.org/show_bug.cgi?id=84038
1860
1861         A bunch of renames "detailed heapshot" -> "heap snapshot".
1862
1863         Reviewed by Pavel Feldman.
1864
1865         Tests: inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html
1866                inspector/profiler/heap-snapshot-comparison-show-all.html
1867                inspector/profiler/heap-snapshot-comparison-show-next.html
1868                inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html
1869                inspector/profiler/heap-snapshot-comparison-sorting.html
1870                inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html
1871                inspector/profiler/heap-snapshot-containment-show-all.html
1872                inspector/profiler/heap-snapshot-containment-show-next.html
1873                inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html
1874                inspector/profiler/heap-snapshot-containment-sorting.html
1875                inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html
1876                inspector/profiler/heap-snapshot-dominators-show-all.html
1877                inspector/profiler/heap-snapshot-dominators-show-next.html
1878                inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html
1879                inspector/profiler/heap-snapshot-dominators-sorting.html
1880                inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html
1881                inspector/profiler/heap-snapshot-summary-show-all.html
1882                inspector/profiler/heap-snapshot-summary-show-next.html
1883                inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html
1884                inspector/profiler/heap-snapshot-summary-sorting.html
1885
1886         * WebCore.gypi:
1887         * WebCore.vcproj/WebCore.vcproj:
1888         * inspector/compile-front-end.py:
1889         * inspector/front-end/HeapSnapshotGridNodes.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotGridNodes.js.
1890         (WebInspector.HeapSnapshotGridNode):
1891         (WebInspector.HeapSnapshotGridNode.prototype.ensureContentCreated):
1892         (WebInspector.HeapSnapshotGridNode.prototype.createCell):
1893         (WebInspector.HeapSnapshotGridNode.prototype.dispose):
1894         (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
1895         (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
1896         (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
1897         (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
1898         (WebInspector.HeapSnapshotGridNode.prototype._populate):
1899         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
1900         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
1901         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
1902         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
1903         (WebInspector.HeapSnapshotGridNode.prototype._saveChildren):
1904         (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
1905         (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
1906         (WebInspector.HeapSnapshotGridNode.prototype.sort):
1907         (WebInspector.HeapSnapshotLazyGridNode):
1908         (WebInspector.HeapSnapshotLazyGridNode.prototype.ensureContentCreated):
1909         (WebInspector.HeapSnapshotLazyGridNode.prototype.createCells):
1910         (WebInspector.HeapSnapshotGenericObjectNode):
1911         (WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell):
1912         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
1913         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
1914         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
1915         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
1916         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _retainedSizePercent):
1917         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent):
1918         (WebInspector.HeapSnapshotGenericObjectNode.prototype.updateHasChildren):
1919         (WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow):
1920         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
1921         (WebInspector.HeapSnapshotObjectNode):
1922         (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
1923         (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
1924         (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity):
1925         (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode):
1926         (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
1927         (WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
1928         (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
1929         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
1930         (WebInspector.HeapSnapshotInstanceNode):
1931         (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
1932         (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForEntity):
1933         (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForNode):
1934         (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
1935         (WebInspector.HeapSnapshotInstanceNode.prototype._emptyData):
1936         (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
1937         (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
1938         (WebInspector.HeapSnapshotConstructorNode):
1939         (WebInspector.HeapSnapshotConstructorNode.prototype.createCell):
1940         (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
1941         (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
1942         (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
1943         (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForEntity):
1944         (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForNode):
1945         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
1946         (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
1947         (WebInspector.HeapSnapshotConstructorNode.prototype.get _retainedSizePercent):
1948         (WebInspector.HeapSnapshotConstructorNode.prototype.get _shallowSizePercent):
1949         (WebInspector.HeapSnapshotIteratorsTuple):
1950         (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose):
1951         (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind):
1952         (WebInspector.HeapSnapshotDiffNode):
1953         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
1954         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff):
1955         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
1956         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived):
1957         (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
1958         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
1959         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
1960         (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity):
1961         (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode):
1962         (WebInspector.HeapSnapshotDiffNode.prototype.comparator):
1963         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
1964         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
1965         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
1966         (WebInspector.HeapSnapshotDiffNode.prototype._signForDelta):
1967         (WebInspector.HeapSnapshotDiffNode.prototype.get data):
1968         (WebInspector.HeapSnapshotDominatorObjectNode):
1969         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
1970         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
1971         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForEntity):
1972         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForNode):
1973         (WebInspector.HeapSnapshotDominatorObjectNode.prototype.comparator):
1974         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._emptyData):
1975         (MixInSnapshotNodeFunctions):
1976         * inspector/front-end/HeapSnapshotView.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotView.js.
1977         (WebInspector.HeapSnapshotSortableDataGrid):
1978         (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
1979         (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
1980         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields):
1981         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
1982         (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
1983         (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
1984         (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
1985         (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
1986         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
1987         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
1988         (WebInspector.HeapSnapshotContainmentDataGrid):
1989         (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
1990         (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
1991         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
1992         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
1993         (WebInspector.HeapSnapshotRetainmentDataGrid):
1994         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
1995         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
1996         (WebInspector.HeapSnapshotConstructorsDataGrid):
1997         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
1998         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
1999         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
2000         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
2001         (WebInspector.HeapSnapshotDiffDataGrid):
2002         (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields):
2003         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource):
2004         (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
2005         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
2006         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
2007         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
2008         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
2009         (WebInspector.HeapSnapshotDominatorsDataGrid):
2010         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
2011         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
2012         (WebInspector.HeapSnapshotView.profileCallback):
2013         (WebInspector.HeapSnapshotView):
2014         (WebInspector.HeapSnapshotView.prototype.dispose):
2015         (WebInspector.HeapSnapshotView.prototype.get statusBarItems):
2016         (WebInspector.HeapSnapshotView.prototype.get profile):
2017         (WebInspector.HeapSnapshotView.prototype.get profileWrapper):
2018         (WebInspector.HeapSnapshotView.prototype.get baseProfile):
2019         (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
2020         (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback1):
2021         (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback2):
2022         (WebInspector.HeapSnapshotView.prototype.wasShown):
2023         (WebInspector.HeapSnapshotView.prototype.willHide):
2024         (WebInspector.HeapSnapshotView.prototype.onResize):
2025         (WebInspector.HeapSnapshotView.prototype.searchCanceled):
2026         (WebInspector.HeapSnapshotView.prototype.performSearch.matchesByName):
2027         (WebInspector.HeapSnapshotView.prototype.performSearch.matchesById):
2028         (WebInspector.HeapSnapshotView.prototype.performSearch.matchesQuery):
2029         (WebInspector.HeapSnapshotView.prototype.performSearch):
2030         (WebInspector.HeapSnapshotView.prototype.jumpToFirstSearchResult):
2031         (WebInspector.HeapSnapshotView.prototype.jumpToLastSearchResult):
2032         (WebInspector.HeapSnapshotView.prototype.jumpToNextSearchResult):
2033         (WebInspector.HeapSnapshotView.prototype.jumpToPreviousSearchResult):
2034         (WebInspector.HeapSnapshotView.prototype.showingFirstSearchResult):
2035         (WebInspector.HeapSnapshotView.prototype.showingLastSearchResult):
2036         (WebInspector.HeapSnapshotView.prototype._jumpToSearchResult):
2037         (WebInspector.HeapSnapshotView.prototype.refreshVisibleData):
2038         (WebInspector.HeapSnapshotView.prototype._changeBase):
2039         (WebInspector.HeapSnapshotView.prototype._changeFilter):
2040         (WebInspector.HeapSnapshotView.prototype._createToolbarWithClassNameFilter):
2041         (WebInspector.HeapSnapshotView.prototype._changeNameFilter):
2042         (WebInspector.HeapSnapshotView.prototype._profiles):
2043         (WebInspector.HeapSnapshotView.prototype._loadProfile):
2044         (WebInspector.HeapSnapshotView.prototype._loadProfileByIndex):
2045         (WebInspector.HeapSnapshotView.prototype.isDetailedSnapshot):
2046         (WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot):
2047         (WebInspector.HeapSnapshotView.prototype._selectionChanged):
2048         (WebInspector.HeapSnapshotView.prototype._inspectedObjectChanged):
2049         (WebInspector.HeapSnapshotView.prototype._setRetainmentDataGridSource):
2050         (WebInspector.HeapSnapshotView.prototype._mouseDownInContentsGrid):
2051         (WebInspector.HeapSnapshotView.prototype.changeView.sortingComplete):
2052         (WebInspector.HeapSnapshotView.prototype.changeView):
2053         (WebInspector.HeapSnapshotView.prototype._changeView):
2054         (WebInspector.HeapSnapshotView.prototype._getHoverAnchor):
2055         (WebInspector.HeapSnapshotView.prototype._resolveObjectForPopover):
2056         (WebInspector.HeapSnapshotView.prototype._helpClicked.appendHelp):
2057         (WebInspector.HeapSnapshotView.prototype._helpClicked):
2058         (WebInspector.HeapSnapshotView.prototype._startRetainersHeaderDragging):
2059         (WebInspector.HeapSnapshotView.prototype._retainersHeaderDragging):
2060         (WebInspector.HeapSnapshotView.prototype._endRetainersHeaderDragging):
2061         (WebInspector.HeapSnapshotView.prototype._updateRetainmentViewHeight):
2062         (WebInspector.HeapSnapshotView.prototype._updateBaseOptions):
2063         (WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
2064         (WebInspector.HeapSnapshotProfileType):
2065         (WebInspector.HeapSnapshotProfileType.prototype.get buttonTooltip):
2066         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
2067         (WebInspector.HeapSnapshotProfileType.prototype.get treeItemTitle):
2068         (WebInspector.HeapSnapshotProfileType.prototype.get description):
2069         (WebInspector.HeapSnapshotProfileType.prototype.createSidebarTreeElementForProfile):
2070         (WebInspector.HeapSnapshotProfileType.prototype.createView):
2071         * inspector/front-end/ProfilesPanel.js:
2072         (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
2073         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2074         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
2075         * inspector/front-end/WebKit.qrc:
2076         * inspector/front-end/heapProfiler.css:
2077         (.heap-snapshot-view):
2078         (.heap-snapshot-view.visible):
2079         (.heap-snapshot-view .view):
2080         (.heap-snapshot-view .view.visible):
2081         (.heap-snapshot-view .data-grid tr:empty):
2082         (.heap-snapshot-view .data-grid):
2083         (.heap-snapshot-view .data-grid td.count-column):
2084         (.heap-snapshot-view .data-grid td.addedCount-column):
2085         (.heap-snapshot-view .data-grid td.removedCount-column):
2086         (.heap-snapshot-view .data-grid td.countDelta-column):
2087         (.heap-snapshot-view .data-grid td.addedSize-column):
2088         (.heap-snapshot-view .data-grid td.removedSize-column):
2089         (.heap-snapshot-view .data-grid td.sizeDelta-column):
2090         (.heap-snapshot-view .data-grid td.shallowSize-column):
2091         (.heap-snapshot-view .data-grid td.retainedSize-column):
2092         (.heap-snapshot-view .data-grid td.distanceToWindow-column):
2093         (.heap-snapshot-view .data-grid span.percent-column):
2094         (.heap-snapshot-view .console-formatted-object, .console-formatted-node):
2095         (.heap-snapshot-view .console-formatted-string):
2096         (.heap-snapshot-view .console-formatted-id):
2097         (.heap-snapshot-view .data-grid tr.selected *):
2098         (.heap-snapshot-view .data-grid:focus tr.selected *):
2099         (.heap-snapshot-view .delimiter):
2100         (.heap-snapshot-view .views-container):
2101         (.heap-snapshot-view .views-container .view):
2102         (.heap-snapshot-view .retaining-paths-view):
2103         (.heap-snapshot-view .class-view-grid):
2104         (.heap-snapshot-view .class-view-toolbar):
2105         (.heap-snapshot-view .class-view-toolbar input.class-name-filter):
2106         (.heap-snapshot-view .retainers-view-header):
2107         (.heap-snapshot-view .retainers-view-header .title > span):
2108         (.heap-snapshot-view tr:not(.selected) td.object-column span.highlight):
2109         (.heap-snapshot-view td.object-column span.grayed):
2110         (.heap-snapshot-help-status-bar-item .glyph):
2111         (table.heap-snapshot-help):
2112         * inspector/front-end/inspector.html:
2113
2114 2012-04-16  Andrey Kosyakov  <caseq@chromium.org>
2115
2116         Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling
2117         https://bugs.webkit.org/show_bug.cgi?id=83946
2118
2119         Reviewed by Pavel Feldman.
2120
2121         Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables
2122         support for moving overview window with horizontal swype over lower timeline pane, thus removing
2123         an irritating situation when we try to both change overview window and scroll lower timeline pane
2124         upon a single touchpad gesture. Those willing to move timeline window now would need to position
2125         mouse over overview.
2126
2127         * inspector/front-end/TimelineOverviewPane.js:
2128         (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
2129         (WebInspector.TimelineOverviewWindow.prototype._zoom):
2130         * inspector/front-end/TimelinePanel.js:
2131         (WebInspector.TimelinePanel):
2132
2133 2012-04-11  Philippe Normand  <pnormand@igalia.com>
2134
2135         [GStreamer] HRTFDatabaseLoader conflicts with AudioFileReader
2136         https://bugs.webkit.org/show_bug.cgi?id=78095
2137
2138         Reviewed by Martin Robinson.
2139
2140         Moved the GStreamer initialization logic to a new
2141         GStreamerUtilities module, used by the MediaPlayer and the
2142         AudioContext. I also removed the static variables as
2143         gst_init_check already handles cases where it's called multiple
2144         times.
2145
2146         * GNUmakefile.list.am:
2147         * Modules/webaudio/AudioContext.cpp:
2148         (WebCore::AudioContext::constructCommon):
2149         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2150         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
2151         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2152         (WebCore::AudioFileReader::createBus):
2153         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
2154         (WTF::adoptGRef):
2155         (WTF):
2156         (WTF::GstElementFactory):
2157         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
2158         (WTF):
2159         * platform/graphics/gstreamer/GStreamerUtilities.cpp: Added.
2160         (WebCore):
2161         (WebCore::initializeGStreamer):
2162         * platform/graphics/gstreamer/GStreamerUtilities.h: Added.
2163         (WebCore):
2164         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2165         (WebCore::doGstInit):
2166
2167 2012-04-16  ChangSeok Oh  <shivamidow@gmail.com>
2168
2169         Update GraphicsContext3DOpenGLES.cpp and fix some issues to build with GLES.
2170         https://bugs.webkit.org/show_bug.cgi?id=83982
2171
2172         Reviewed by Martin Robinson.
2173
2174         GL_BGRA is not defined in GLESv2, so it causes build-break at readRenderingResults.
2175         To resolve this, a helper function readPixelsAndConvertToBGRAIfNecessary is added
2176         in GC3DOpenGL.cpp & GC3DOpenGLES.cpp and it's used in GC3DOpenGLCommon.cpp.
2177         And some other issues to build with GLES are gone with this patch.
2178
2179         No new tests, since no new feature.
2180
2181         * platform/graphics/GraphicsContext3D.h:
2182         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2183         (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
2184         (WebCore):
2185         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2186         (WebCore::GraphicsContext3D::readRenderingResults):
2187         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2188         (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
2189         (WebCore):
2190         (WebCore::GraphicsContext3D::reshapeFBOs):
2191         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):
2192
2193 2012-04-16  Xiaomei Ji  <xji@chromium.org>
2194
2195         [chromium] wrong justification for arabic/persian page in cr-win.
2196         https://bugs.webkit.org/show_bug.cgi?id=83227
2197
2198         Reviewed by Kent Tamura.
2199
2200         Disable kashida justification if using Skia to draw.
2201
2202         Test: fast/text/international/arabic-justify.html
2203
2204         * platform/graphics/chromium/UniscribeHelper.cpp:
2205         (WebCore::UniscribeHelper::justify):
2206
2207 2012-04-16  Jia Pu  <jpu@apple.com>
2208
2209         Build fix.
2210
2211         Change set 114220 broke OS X internal build. Change set 114231 attempted to fix it, but isn't entirely
2212         correct. This patch amends change set 114231.
2213
2214         * WebCore.exp.in:
2215         * editing/DictationAlternative.cpp:
2216         (WebCore::DictationAlternative::DictationAlternative):
2217         * editing/DictationAlternative.h:
2218         (DictationAlternative):
2219
2220 2012-04-16  Antti Koivisto  <antti@apple.com>
2221
2222         REGRESSION (r104445): Style is not recomputed on serenaandlily.com
2223         https://bugs.webkit.org/show_bug.cgi?id=83663
2224
2225         Reviewed by Andreas Kling.
2226         
2227         CSS class and id selectors are case insensitive in non-strict modes. The code
2228         that invalidated the scope elements used getElementByID() which is case
2229         sensitive in all modes. As a result we would fail to invalidate elements
2230         that would match a style rule but used different case in id.
2231         
2232         The new code invalidates by crawling the DOM tree. This often (when there are classes) 
2233         actually faster than the existing code as we can now handle everything in a single pass.
2234         Each class scope required a crawl with the old code.
2235         
2236         The code uses the same functions as the selector matching code to get the same behavior.
2237         
2238         The maximum class limit is lifted as number of classes does not affect complexity anymore.
2239
2240         Test: fast/css/id-or-class-before-stylesheet-strict.html
2241
2242         * css/SelectorChecker.h:
2243         (WebCore::SelectorChecker::elementMatchesSelectorScopes):
2244         (WebCore):
2245         * dom/Document.cpp:
2246         (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
2247         (WebCore):
2248
2249 2012-04-16  Uday Kiran  <udaykiran@motorola.com>
2250
2251         CSS3 Selectors failures on css3test.com
2252         https://bugs.webkit.org/show_bug.cgi?id=83885
2253
2254         Reviewed by Zoltan Herczeg.
2255
2256         Parsing fix for CSS3 selectors :nth-child(), :nth-last-child() :nth-of-type() :nth-last-of-type()
2257         with values -n-b and n-b as they are of valid form an+b where a and b are integers.
2258         http://www.w3.org/TR/selectors/#structural-pseudos
2259
2260         Descriptors of form n-b or -n-b, where b is number, are valid CSS identifiers.
2261         However, in NthChildMode we need to check whether this identifier is a valid nth child descriptor.
2262         The original code only checked this if the string was n- or -n- but this is not enough.
2263         We need to check everything which starts with an n- or -n- prefix.
2264
2265         Test: css3/parsing-css3-nthchild.html
2266
2267         * css/CSSParser.cpp:
2268         (WebCore::CSSParser::lex):
2269
2270 2012-04-16  Eric Carlson  <eric.carlson@apple.com>
2271
2272         ASSERT in notifyChildInserted when HTMLMediaElement is removed from tree
2273         https://bugs.webkit.org/show_bug.cgi?id=83949
2274
2275         Reviewed by Antti Koivisto.
2276
2277         No new tests. I was not able to create a reproducible test case, but I have been unable
2278         to reproduce the ASSERT that occassionally fired in existing tests since I have been
2279         living on these changes.
2280
2281         * html/HTMLMediaElement.cpp:
2282         (WebCore::HTMLMediaElement::insertedIntoDocument): Call configureMediaControls.
2283         (WebCore::HTMLMediaElement::removedFromDocument): Ditto.
2284         (WebCore::HTMLMediaElement::configureMediaControls): Don't show controls when the
2285             media element is not in a Document.
2286
2287 2012-04-16  Eric Carlson  <eric.carlson@apple.com>
2288
2289         Layout Test media/track/track-delete-during-setup.html is hitting an ASSERT_NOT_REACHED
2290         https://bugs.webkit.org/show_bug.cgi?id=82269
2291
2292         Reviewed by Antti Koivisto.
2293
2294         No new tests, already tested by media/track/track-delete-during-setup.html.
2295
2296         * html/HTMLTrackElement.cpp:
2297         (WebCore::HTMLTrackElement::insertedIntoDocument): Don't notify the media element until/unless
2298         the track element is inserted into the document.
2299         * html/HTMLTrackElement.h:
2300
2301 2012-04-16  Yael Aharon  <yael.aharon@nokia.com>
2302
2303         [Qt][WK2] Fixed elements position is wrong after zooming.
2304         https://bugs.webkit.org/show_bug.cgi?id=83981
2305
2306         Reviewed by Kenneth Rohde Christiansen.
2307
2308         When setFixedVisibleContentRect is called we mark all fixed elements in the frame for layout.
2309         In order to find these elements, RenderView maintains a list of fixed elements.
2310         They are added and removed at the same time that they are added and removed from their parent RenderBlock.
2311         The idea is taken from the iOS5.1 branch, at opensource.apple.com.
2312         Added a manual test that allows removing and adding fixed elements at will.
2313
2314         * page/FrameView.cpp:
2315         (WebCore::FrameView::setFixedVisibleContentRect):
2316         * rendering/RenderBlock.cpp:
2317         (WebCore::RenderBlock::insertPositionedObject):
2318         (WebCore::RenderBlock::removePositionedObject):
2319         * rendering/RenderView.cpp:
2320         (WebCore::RenderView::setFixedPositionedObjectsNeedLayout):
2321         (WebCore):
2322         (WebCore::RenderView::insertFixedPositionedObject):
2323         (WebCore::RenderView::removeFixedPositionedObject):
2324         * rendering/RenderView.h:
2325         (RenderView):
2326
2327 2012-04-13  Pavel Feldman  <pfeldman@chromium.org>
2328
2329         Web Inspector: extract ContentProvider into its own file, make NetworkRequest, Resoruce and others implement it.
2330         https://bugs.webkit.org/show_bug.cgi?id=83922
2331
2332         Reviewed by Yury Semikhatsky.
2333
2334         We have two different types of requestContent methods: one on the source mapping level and one on the resource level.
2335         There are also adapters between the two. I'm aligning it all to a single requestContent method declared in ContentProvider.
2336
2337         * WebCore.gypi:
2338         * WebCore.vcproj/WebCore.vcproj:
2339         * inspector/compile-front-end.py:
2340         * inspector/front-end/BreakpointsSidebarPane.js:
2341         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didRequestContent):
2342         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
2343         * inspector/front-end/ContentProvider.js: Added.
2344         (WebInspector.ContentProvider):
2345         (WebInspector.ContentProvider.prototype.contentURL):
2346         (WebInspector.ContentProvider.prototype.requestContent):
2347         (WebInspector.ContentProvider.prototype.searchInContent):
2348         (WebInspector.ContentProvider.SearchMatch):
2349         * inspector/front-end/ContentProviders.js:
2350         (WebInspector.ScriptContentProvider.prototype.contentURL):
2351         (WebInspector.ScriptContentProvider.prototype.requestContent):
2352         (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentURL):
2353         (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
2354         (WebInspector.CompilerSourceMappingContentProvider.prototype.contentURL):
2355         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
2356         (WebInspector.StaticContentProvider.prototype.contentURL):
2357         (WebInspector.StaticContentProvider.prototype.requestContent):
2358         * inspector/front-end/DebuggerPresentationModel.js:
2359         * inspector/front-end/ExtensionServer.js:
2360         (WebInspector.ExtensionServer.prototype._getResourceContent):
2361         * inspector/front-end/JavaScriptSourceFrame.js:
2362         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
2363         * inspector/front-end/NetworkItemView.js:
2364         (WebInspector.RequestContentView.prototype._ensureInnerViewShown.callback):
2365         (WebInspector.RequestContentView.prototype._ensureInnerViewShown):
2366         * inspector/front-end/NetworkRequest.js:
2367         (WebInspector.NetworkRequest.prototype.contentURL):
2368         (WebInspector.NetworkRequest.prototype.requestContent):
2369         (WebInspector.NetworkRequest.prototype.searchInContent):
2370         (WebInspector.NetworkRequest.prototype.populateImageSource):
2371         (WebInspector.NetworkRequest.prototype._innerRequestContent.onResourceContent):
2372         (WebInspector.NetworkRequest.prototype._innerRequestContent):
2373         * inspector/front-end/RawSourceCode.js:
2374         (WebInspector.RawSourceCode.prototype._createContentProvider):
2375         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
2376         (WebInspector.RawSourceCode.prototype._createSourceMapping):
2377         * inspector/front-end/Resource.js:
2378         (WebInspector.Resource.prototype.contentURL):
2379         (WebInspector.Resource.prototype.requestContent):
2380         (WebInspector.Resource.prototype._innerRequestContent.callback):
2381         (WebInspector.Resource.prototype._innerRequestContent):
2382         (WebInspector.ResourceRevision.prototype.contentURL):
2383         (WebInspector.ResourceRevision.prototype.requestContent.callbackWrapper):
2384         (WebInspector.ResourceRevision.prototype.requestContent):
2385         (WebInspector.ResourceRevision.prototype.searchInContent):
2386         * inspector/front-end/ResourceView.js:
2387         (WebInspector.ResourceSourceFrame.prototype.requestContent):
2388         (WebInspector.ResourceSourceFrame.prototype._contentChanged):
2389         (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent):
2390         * inspector/front-end/ScriptFormatter.js:
2391         * inspector/front-end/ScriptsPanel.js:
2392         (WebInspector.ScriptsPanel.prototype.requestVisibleScriptOutline):
2393         * inspector/front-end/SourceFrame.js:
2394         (WebInspector.SourceFrame.prototype.setContent):
2395         * inspector/front-end/UISourceCode.js:
2396         (WebInspector.UISourceCode):
2397         (WebInspector.UISourceCode.prototype.requestContent):
2398         (WebInspector.UISourceCode.prototype._didRequestContent):
2399         * inspector/front-end/WebKit.qrc:
2400         * inspector/front-end/inspector.html:
2401
2402 2012-04-16  Jason Liu  <jason.liu@torchmobile.com.cn>
2403
2404         [BlackBerry] Missing readyState 2 when a XMLHttpRequest calls xmlhttp.open("HEAD","notExist.html",true).
2405         https://bugs.webkit.org/show_bug.cgi?id=83866
2406
2407         Reviewed by George Staikos.
2408         
2409         We receive 404 for a XMLHttpRequest which calls open("HEAD", "notExist.html", true).
2410         There are no data received because its method is HEAD.
2411         This case shouldn't be treated as a failure.
2412
2413         Test: http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html
2414
2415         * platform/network/blackberry/NetworkJob.cpp:
2416         (WebCore::NetworkJob::handleNotifyClose):
2417
2418 2012-04-16  Jon Lee  <jonlee@apple.com>
2419
2420         Build fix.
2421
2422         * WebCore.exp.in:
2423         * editing/DictationAlternative.cpp:
2424         (WebCore::DictationAlternative::DictationAlternative):
2425         * editing/DictationAlternative.h:
2426         (DictationAlternative):
2427
2428 2012-04-16  George Staikos  <staikos@webkit.org>
2429
2430         Fix signed/unsigned mismatch warning for BlackBerry debug builds.
2431         https://bugs.webkit.org/show_bug.cgi?id=80790
2432
2433         Reviewed by Rob Buis.
2434
2435         * platform/blackberry/CookieMap.cpp:
2436         (WebCore::CookieMap::removeCookieAtIndex):
2437
2438 2012-04-15  Kent Tamura  <tkent@chromium.org>
2439
2440         WebCore::weekDayShortLabels() for ICU always returns the fallback labels
2441         https://bugs.webkit.org/show_bug.cgi?id=83991
2442
2443         Reviewed by Hajime Morita.
2444
2445         We need to specfiy 1-based index to udat_getSymbols() with
2446         UDAT_SHORT_WEEKDAYS. Also, udat_countSymbols() with UDAT_SHORT_WEEKDAYS
2447         returns 8.
2448
2449         No new tests because this behavior depends on locale setting.
2450
2451         * platform/text/LocalizedCalendarICU.cpp:
2452         (WebCore::createLabelVector): Add startIndex argument.
2453         (WebCore::createMonthLabels):
2454         Pass UDAT_JANUARRY(0) as startIndex to createLabelVector().
2455         (WebCore::createWeekDayShortLabels):
2456         Pass UDAT_SUNDAY(1) as startIndex to createLabelVector().
2457
2458 2012-04-15  MORITA Hajime  <morrita@google.com>
2459
2460         Unreviewed attempt to chromium-win build fix.
2461
2462         * editing/DictationAlternative.h:
2463
2464 2012-04-15  Noel Gordon  <noel.gordon@gmail.com>
2465
2466         Align JSC/V8 bindings canvas.toDataURL() code flows
2467         https://bugs.webkit.org/show_bug.cgi?id=84003
2468
2469         Reviewed by Eric Seidel.
2470
2471         Align JSC/V8 bindings canvas.toDataURL() code flow so that the binding
2472         code implementations read alike.
2473
2474         No new tests. Covered by existing cnavas toDataURL tests.
2475
2476         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2477         (WebCore::JSHTMLCanvasElement::toDataURL):
2478
2479 2012-04-15  Jia Pu  <jpu@apple.com>
2480
2481         Introducing DictationCommand.
2482         https://bugs.webkit.org/show_bug.cgi?id=83549
2483
2484         Reviewed by Hajime Morita.
2485
2486         No new tests. This patch doesn't introduce any change of new functionality. It prepares for
2487         additional changes which will inlude tests.
2488
2489         On OS X, alternative dictation results need to be stored as document markers. This patch introduces
2490         following changes to achieve this:
2491         1. Added DictationMarkDetails to store non-string type maker detail.
2492         2. Introduce DictationCommand, which is similor to TypingCommand, but allows inserting text with
2493           attached markers.
2494         3. Added Editor::insertDictatedText as interaface to WebKit and WebKit2.
2495         4. Added struct DictationAlternative to pass dictation related info from WebKit to WebCore.
2496
2497         Several fragments of code in TypingCommand can be also used by DictationCommand. So this patch
2498         introduced a new class, TextInsertionBaseCommand. It's a subclass of CompositeEditCommmand, and
2499         base class of both TypingCommand and DictationCommand.
2500
2501         This patch also extends InsertTextCommand class. Its constructor will take an TextInsertionMarkerSupplier
2502         object. After text is inserted to a node, InsertTextCommand would give marker supplier a chance to
2503         add document markers to the inserted text.
2504
2505         * CMakeLists.txt:
2506         * GNUmakefile.list.am:
2507         * Target.pri:
2508         * WebCore.exp.in:
2509         * WebCore.gypi:
2510         * WebCore.vcproj/WebCore.vcproj:
2511         * WebCore.xcodeproj/project.pbxproj:
2512         * dom/Document.cpp:
2513         (WebCore::eventTargetNodeForDocument): Moved this function from EventHandler so that it can be used
2514           by AlternativeTextController.
2515         (WebCore):
2516         * dom/Document.h:
2517         (WebCore):
2518         * dom/DocumentMarker.cpp:
2519         (WebCore::DocumentMarker::DocumentMarker): New constructor that takes a pointer to DocumentMarkerDetails object.
2520         (WebCore):
2521         * dom/DocumentMarker.h:
2522         (WebCore::DocumentMarker::AllMarkers::AllMarkers):
2523         (DocumentMarker):
2524         * dom/DocumentMarkerController.cpp:
2525         (WebCore::DocumentMarkerController::addMarker):
2526         (WebCore):
2527         * dom/DocumentMarkerController.h:
2528         (DocumentMarkerController):
2529         * dom/TextEvent.cpp:
2530         (WebCore::TextEvent::createForDictation):
2531         (WebCore):
2532         (WebCore::TextEvent::TextEvent):
2533         * dom/TextEvent.h: Added member variable for dictation alternatives.
2534         (TextEvent):
2535         (WebCore::TextEvent::isDictation):
2536         (WebCore::TextEvent::dictationAlternatives):
2537         * dom/TextEventInputType.h:
2538         * editing/AlternativeTextController.cpp:
2539         (WebCore::AlternativeTextController::AlternativeTextController):
2540         (WebCore::AlternativeTextController::insertDictatedText): Used by Editor::insertDictatedText().
2541         (WebCore):
2542         * editing/AlternativeTextController.h:
2543         (WebCore):
2544         (DictationMarkerDetails):
2545         (WebCore::DictationMarkerDetails::create):
2546         (WebCore::DictationMarkerDetails::originalText):
2547         (WebCore::DictationMarkerDetails::dictationContext):
2548         (WebCore::DictationMarkerDetails::DictationMarkerDetails):
2549         (AlternativeTextController):
2550         * editing/CompositeEditCommand.h:
2551         (WebCore::CompositeEditCommand::isDictationCommand):
2552         * editing/DictationAlternative.cpp: Added.
2553         (WebCore):
2554         (WebCore::DictationAlternative::DictationAlternative):
2555         * editing/DictationAlternative.h: Added. Data structure for passing dictation related data from WebKit to WebCore.
2556         (DictationAlternative):
2557         (WebCore):
2558         * editing/DictationCommand.cpp: Added.
2559         (WebCore):
2560         (DictationCommandLineOperation):
2561         (WebCore::DictationCommandLineOperation::DictationCommandLineOperation):
2562         (WebCore::DictationCommandLineOperation::operator()):
2563         (DictationMarkerSupplier):
2564         (WebCore::DictationMarkerSupplier::create):
2565         (WebCore::DictationMarkerSupplier::addMarkersToTextNode):
2566         (WebCore::DictationMarkerSupplier::DictationMarkerSupplier):
2567         (WebCore::DictationCommand::DictationCommand):
2568         (WebCore::DictationCommand::insertText):
2569         (WebCore::DictationCommand::doApply):
2570         (WebCore::DictationCommand::insertTextRunWithoutNewlines):
2571         (WebCore::DictationCommand::insertParagraphSeparator):
2572         (WebCore::DictationCommand::collectDictationAlternativesInRange):
2573         * editing/DictationCommand.h: Added.
2574         (WebCore):
2575         (DictationCommand):
2576         (WebCore::DictationCommand::isDictationCommand):
2577         (WebCore::DictationCommand::create):
2578         * editing/EditingAllInOne.cpp:
2579         * editing/Editor.cpp:
2580         (WebCore::Editor::insertDictatedText): Main interface that allows WebKit passes in text with attached dictation information.
2581         (WebCore):
2582         (WebCore::Editor::insertTextWithoutSendingTextEvent):
2583         (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
2584         * editing/Editor.h:
2585         (Editor):
2586         * editing/InsertTextCommand.cpp:
2587         (WebCore::InsertTextCommand::InsertTextCommand):
2588         (WebCore):
2589         (WebCore::InsertTextCommand::doApply):
2590         * editing/InsertTextCommand.h:
2591         (WebCore):
2592         (TextInsertionMarkerSupplier): Interface to allow caller of InsertTextCommand to add document markers to inserted text.
2593         (WebCore::TextInsertionMarkerSupplier::~TextInsertionMarkerSupplier):
2594         (WebCore::TextInsertionMarkerSupplier::TextInsertionMarkerSupplier):
2595         (WebCore::InsertTextCommand::createWithMarkerSupplier):
2596         (InsertTextCommand):
2597         * editing/TextInsertionBaseCommand.cpp: Added. This class contains functions shared by TypingCommand and DictationCommand.
2598         (WebCore):
2599         (WebCore::TextInsertionBaseCommand::TextInsertionBaseCommand):
2600         (WebCore::TextInsertionBaseCommand::applyTextInsertionCommand):
2601         (WebCore::dispatchBeforeTextInsertedEvent):
2602         (WebCore::canAppendNewLineFeedToSelection):
2603         * editing/TextInsertionBaseCommand.h: Added.
2604         (WebCore):
2605         (TextInsertionBaseCommand):
2606         (WebCore::TextInsertionBaseCommand::~TextInsertionBaseCommand):
2607         (WebCore::forEachLineInString):
2608         * editing/TypingCommand.cpp:
2609         (TypingCommandLineOperation):
2610         (WebCore::TypingCommandLineOperation::TypingCommandLineOperation):
2611         (WebCore::TypingCommandLineOperation::operator()):
2612         (WebCore::TypingCommand::TypingCommand):
2613         (WebCore::TypingCommand::insertText):
2614         (WebCore::TypingCommand::insertLineBreak):
2615         (WebCore::TypingCommand::insertParagraphSeparator):
2616         * editing/TypingCommand.h:
2617         * page/EventHandler.cpp:
2618         * rendering/InlineTextBox.cpp:
2619         (WebCore::lineStyleForMarkerType):
2620         (WebCore::InlineTextBox::paintDocumentMarker): Renamed existing function to reflect new funcationality.
2621         (WebCore::InlineTextBox::paintDocumentMarkers):
2622         * rendering/InlineTextBox.h:
2623         (InlineTextBox):
2624         * testing/Internals.cpp:
2625         (WebCore::markerTypesFrom):
2626
2627 2012-04-15  James Robinson  <jamesr@chromium.org>
2628
2629         [chromium] LayerRendererChromium shouldn't know anything about CCLayerImpl
2630         https://bugs.webkit.org/show_bug.cgi?id=83415
2631
2632         Reviewed by Adrienne Walker.
2633
2634         This removes all knowledge of CCLayerImpl from LayerRendererChromium. The most significant move code-wise is
2635         moving the HUD up to live on CCLayerTreeHostImpl, since it's aware of the layer tree. This involves two changes.
2636         First, CCHeadsUpDisplay is in charge of populating a ManagedTexture but the actual drawing code now lives in
2637         LayerRendererChromium. Second, since we don't recreate CCLayerTreeHostImpl on a lost context, the font atlas
2638         ownership is much simpler. Now a CCFontAtlas is created on the main thread if needed and passed asynchronously
2639         to the CCHeadsUpDisplay which takes ownership of the atlas.
2640
2641         * platform/graphics/chromium/LayerRendererChromium.cpp:
2642         (WebCore::LayerRendererChromium::create):
2643         (WebCore::LayerRendererChromium::initialize):
2644         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2645         (WebCore::LayerRendererChromium::beginDrawingFrame):
2646         (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
2647         (WebCore):
2648         (WebCore::LayerRendererChromium::finishDrawingFrame):
2649         (WebCore::LayerRendererChromium::swapBuffers):
2650         * platform/graphics/chromium/LayerRendererChromium.h:
2651         (LayerRendererChromiumClient):
2652         (LayerRendererChromium):
2653         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2654         (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
2655         (WebCore::CCHeadsUpDisplay::setFontAtlas):
2656         (WebCore):
2657         (WebCore::CCHeadsUpDisplay::enabled):
2658         (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
2659         (WebCore::CCHeadsUpDisplay::draw):
2660         (WebCore::CCHeadsUpDisplay::drawHudContents):
2661         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
2662         (WebCore):
2663         (WebCore::CCHeadsUpDisplay::create):
2664         (CCHeadsUpDisplay):
2665         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2666         (WebCore::CCLayerTreeHost::initialize):
2667         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2668         (CCLayerTreeHost):
2669         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2670         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2671         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
2672         (WebCore::CCLayerTreeHostImpl::canDraw):
2673         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2674         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
2675         (WebCore::CCLayerTreeHostImpl::drawLayers):
2676         (WebCore::CCLayerTreeHostImpl::swapBuffers):
2677         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
2678         (WebCore::CCLayerTreeHostImpl::setFullRootLayerDamage):
2679         (WebCore::CCLayerTreeHostImpl::layerTreeAsText):
2680         (WebCore):
2681         (WebCore::CCLayerTreeHostImpl::setFontAtlas):
2682         (WebCore::CCLayerTreeHostImpl::dumpRenderSurfaces):
2683         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2684         (CCLayerTreeHostImpl):
2685         (WebCore::CCLayerTreeHostImpl::rootLayer):
2686         * platform/graphics/chromium/cc/CCProxy.h:
2687         (WebCore):
2688         (CCProxy):
2689         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2690         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
2691         (WebCore::CCSingleThreadProxy::recreateContext):
2692         (WebCore::CCSingleThreadProxy::setFontAtlas):
2693         (WebCore):
2694         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2695         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2696         (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
2697         (WebCore::CCThreadProxy::setFontAtlas):
2698         (WebCore):
2699         (WebCore::CCThreadProxy::setFontAtlasOnImplThread):
2700         (WebCore::CCThreadProxy::recreateContextOnImplThread):
2701         * platform/graphics/chromium/cc/CCThreadProxy.h:
2702         (CCThreadProxy):
2703
2704 2012-04-15  Antti Koivisto  <antti@apple.com>
2705
2706         Capture CSS parser context
2707         https://bugs.webkit.org/show_bug.cgi?id=83998
2708
2709         Reviewed by Andreas Kling.
2710
2711         Currently the CSS parser calls to the Document and StyleSheetInternal objects to get settings, base URL etc.
2712         The required information should be passed in on parser construction instead. The parser should not need to
2713         know about the document at all.
2714         
2715         The patch adds CSSParserContext struct that captures the parsing context. StyleSheetInternal saves the
2716         parsing context and reuses it for any further parsing.
2717         
2718         If the same stylesheet source is parsed with an identical context then the resulting stylesheet structure will
2719         be identical. This will allow sharing parsed stylesheets in the future.
2720
2721         * css/CSSGrammar.y:
2722         * css/CSSImportRule.cpp:
2723         (WebCore::StyleRuleImport::setCSSStyleSheet):
2724         * css/CSSMediaRule.cpp:
2725         (WebCore::CSSMediaRule::insertRule):
2726         * css/CSSPageRule.cpp:
2727         (WebCore::CSSPageRule::setSelectorText):
2728         * css/CSSParser.cpp:
2729         (WebCore):
2730         (WebCore::strictCSSParserContext):
2731         (WebCore::CSSParserContext::CSSParserContext):
2732         (WebCore::CSSParser::CSSParser):
2733         (WebCore::CSSParser::parseKeyframeRule):
2734         (WebCore::CSSParser::parseValue):
2735         (WebCore::CSSParser::parseSelector):
2736         (WebCore::CSSParser::completeURL):
2737         (WebCore::CSSParser::parseContent):
2738         (WebCore::CSSParser::parseAttr):
2739         (WebCore::CSSParser::parseFillImage):
2740         (WebCore::CSSParser::parseFontFaceSrcURI):
2741         (WebCore::CSSParser::parseFontFaceSrc):
2742         (WebCore::CSSParser::parseBorderImage):
2743         (WebCore::CSSParser::parseImageSet):
2744         (WebCore::CSSParser::parseCustomFilter):
2745         (WebCore::CSSParser::parseFilter):
2746         (WebCore::CSSParser::cssRegionsEnabled):
2747         (WebCore::CSSParser::parseFlowThread):
2748         (WebCore::CSSParser::createMediaRule):
2749         (WebCore::CSSParser::createStyleRule):
2750         (WebCore::CSSParser::createFontFaceRule):
2751         (WebCore::CSSParser::createPageRule):
2752         (WebCore::CSSParser::createKeyframe):
2753         * css/CSSParser.h:
2754         (CSSParser):
2755         (WebCore::CSSParser::inStrictMode):
2756         (WebCore::CSSParser::inQuirksMode):
2757         (WebCore::CSSParser::validUnit):
2758         * css/CSSParserMode.h:
2759         (WebCore):
2760         (CSSParserContext):
2761         * css/CSSRule.h:
2762         (WebCore::CSSRule::parserContext):
2763         (CSSRule):
2764         * css/CSSStyleRule.cpp:
2765         (WebCore::CSSStyleRule::setSelectorText):
2766         * css/CSSStyleSheet.cpp:
2767         (WebCore::StyleSheetInternal::StyleSheetInternal):
2768         (WebCore::StyleSheetInternal::parseString):
2769         (WebCore::StyleSheetInternal::parseStringAtLine):
2770         (WebCore):
2771         (WebCore::StyleSheetInternal::updateBaseURL):
2772         (WebCore::StyleSheetInternal::completeURL):
2773         (WebCore::CSSStyleSheet::insertRule):
2774         * css/CSSStyleSheet.h:
2775         (StyleSheetInternal):
2776         (WebCore::StyleSheetInternal::parserContext):
2777         (WebCore::StyleSheetInternal::charset):
2778         (WebCore::StyleSheetInternal::setFinalURL):
2779         (WebCore::StyleSheetInternal::baseURL):
2780         * css/CSSValuePool.cpp:
2781         * css/StylePropertySet.cpp:
2782         (WebCore::StylePropertySet::parseDeclaration):
2783         * css/WebKitCSSKeyframesRule.cpp:
2784         (WebCore::WebKitCSSKeyframesRule::insertRule):
2785         * dom/Document.cpp:
2786         (WebCore::Document::webkitGetFlowByName):
2787         (WebCore::Document::pageUserSheet):
2788         (WebCore::Document::pageGroupUserSheets):
2789         * dom/Element.cpp:
2790         (WebCore::Element::webkitMatchesSelector):
2791         * dom/Node.cpp:
2792         (WebCore::Node::querySelector):
2793         (WebCore::Node::querySelectorAll):
2794         * dom/ProcessingInstruction.cpp:
2795         (WebCore::ProcessingInstruction::parseStyleSheet):
2796         * dom/StyleElement.cpp:
2797         (WebCore::StyleElement::createSheet):
2798         * html/HTMLLinkElement.cpp:
2799         (WebCore::HTMLLinkElement::setCSSStyleSheet):
2800         * html/shadow/ContentSelectorQuery.cpp:
2801         (WebCore::ContentSelectorQuery::ContentSelectorQuery):
2802         * inspector/InspectorStyleSheet.cpp:
2803         (WebCore::InspectorStyle::setPropertyText):
2804         (WebCore::InspectorStyleSheet::reparseStyleSheet):
2805         (WebCore::InspectorStyleSheet::ensureSourceData):
2806         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
2807
2808 2012-04-15  Noel Gordon  <noel.gordon@gmail.com>
2809
2810         [Cairo] Separate image encoding from dataURL construction
2811         https://bugs.webkit.org/show_bug.cgi?id=83975
2812
2813         Reviewed by Martin Robinson.
2814
2815         Remove the implicit assumption that a dataURL is the only desired output format
2816         of the image encoding phase.
2817
2818         No new tests. Covered by existing canvas toDataURL tests.
2819
2820         * platform/graphics/cairo/ImageBufferCairo.cpp:
2821         (WebCore::writeFunction): Rename closure to output.
2822         (WebCore::encodeImage): Output the encoded image to the provided Vector<char>.
2823         PNG format is only supported per the Cairo encoding MIMETypeRegistry.
2824         (WebCore):
2825         (WebCore::ImageBuffer::toDataURL): Refactor to use encodeImage().
2826
2827 2012-04-15  Yuta Kitamura  <yutak@chromium.org>
2828
2829         Leak in WebSocketChannel with workers/worker-reload.html (part 2)
2830         https://bugs.webkit.org/show_bug.cgi?id=83749
2831
2832         Reviewed by David Levin.
2833
2834         Second attempt to remove leaks around WorkerThreadableWebSocketChannel.
2835
2836         No new tests, as this patch does not impose any functional change.
2837
2838         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2839         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
2840         (WebCore::ThreadableWebSocketChannelClientWrapper::failedWebSocketChannelCreation):
2841         (WebCore::ThreadableWebSocketChannelClientWrapper::setFailedWebSocketChannelCreation):
2842         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
2843         Add a boolean flag indicating whether Bridge::initialize() has exited without receiving
2844         a pointer to the peer object.
2845         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2846         (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::create):
2847         (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::WorkerContextDidInitializeTask):
2848         (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::performTask):
2849         Kick mainThreadDestroy() to delete the peer if the bridge has failed to receive
2850         a pointer to the peer (waitForMethodCompletion() exited due to message queue's
2851         termination).
2852         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
2853         (WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
2854         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
2855         (WorkerThreadableWebSocketChannel):
2856         Make WorkerContextDidInitializeTask an inner class of WorkerThreadableWebSocketChannel
2857         so it can refer WorkerThreadableWebSocketChannel's static member function (mainThreadDestroy()).
2858
2859 2012-04-14  Emil A Eklund  <eae@chromium.org>
2860
2861         Fix pixelSnapping for CalendarPicker, MediaControl and ScrollbarPart
2862         https://bugs.webkit.org/show_bug.cgi?id=83929
2863
2864         Reviewed by Eric Seidel.
2865
2866         Update CalendarPickerElement and MediaControlElements to use
2867         pixelSnappedSize in preparation for turning on subpixel support.
2868         Update RenderScrollbarPart to pixel snap rect before painting to ensure
2869         that it is painted on device pixel boundaries.
2870
2871         No new tests, no change in functionality.
2872
2873         * html/shadow/CalendarPickerElement.cpp:
2874         (WebCore::CalendarPickerElement::openPopup):
2875         * html/shadow/MediaControlElements.cpp:
2876         (WebCore::RenderMediaVolumeSliderContainer::layout):
2877         * rendering/RenderScrollbarPart.cpp:
2878         (WebCore::RenderScrollbarPart::paintIntoRect):
2879
2880 2012-04-14  Kent Tamura  <tkent@chromium.org>
2881
2882         Day of week labels are wrong if WebCore::firstDayOfWeek() is not 0
2883         https://bugs.webkit.org/show_bug.cgi?id=83990
2884
2885         Reviewed by Kentaro Hara.
2886
2887         We passed the "weekStartDay" property value as a
2888         string. CalendarPickerElement::writeDocument() created:
2889             weekStartDay: "1",
2890         and the JavaScript code used it in the following code:
2891             dayLabels[(weekStartDay + i) % 7]
2892         If weekStartDay was "1", the expression (weekStartDay + i)
2893         produced "10", "11", "12", ... We expected "1", "2", "3", ...
2894
2895         We need to pass the "weekStartDay" property as a number.
2896
2897         No new tests because we have no ways to test this for now. We'll
2898         introduce tests for the calendar picker later.
2899
2900         * html/shadow/CalendarPickerElement.cpp:
2901         (WebCore::addProperty): Add addProperty() function for a number.
2902         (WebCore::CalendarPickerElement::writeDocument):
2903         Pass a number, not a serialized number.
2904
2905 2012-04-14  Joe Thomas  <joethomas@motorola.com>
2906
2907         Viewport-percentage Length units does not work for Replaced elements size
2908         https://bugs.webkit.org/show_bug.cgi?id=83425
2909
2910         Reviewed by Antti Koivisto.
2911
2912         Added the support for viewport-percentage length units while calculating the width/height of replaced elements.
2913
2914         Tests: css3/viewport-percentage-lengths/viewport-percentage-image-size.html
2915
2916         * platform/Length.h:
2917         (WebCore::Length::isSpecified):
2918         * rendering/RenderBox.cpp:
2919         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2920
2921 2012-04-14  Joe Thomas  <joethomas@motorola.com>
2922
2923         CSSStyleDeclaration.getPropertyValue() for 'border-radius' returns null when value is set
2924         https://bugs.webkit.org/show_bug.cgi?id=80736
2925
2926         Reviewed by Antti Koivisto.
2927
2928         Added support for fetching the value of 'border-radius' CSS property which was missing.
2929
2930         Test: fast/css/border-radius-property-value.html
2931
2932         * css/StylePropertySet.cpp:
2933         (WebCore::StylePropertySet::getPropertyValue):
2934
2935 2012-04-14  David Hyatt  <hyatt@apple.com>
2936
2937         https://bugs.webkit.org/show_bug.cgi?id=83826
2938         
2939         Wrong Font code path was chosen after r114032. The TextRun constructor has an additional argument that
2940         needs to be included if rounding hacks are mentioned.
2941
2942         Reviewed by Dan Bernstein.
2943
2944         * html/canvas/CanvasRenderingContext2D.cpp:
2945         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2946         * rendering/RenderListBox.cpp:
2947         (WebCore::RenderListBox::paintItemForeground):
2948         * rendering/break_lines.cpp:
2949         (WebCore::nextBreakablePosition):
2950
2951 2012-04-14  Noel Gordon  <noel.gordon@gmail.com>
2952
2953         [Cairo] ImageBuffer::toDataURL(): improve error handling, add mimeType ASSERTs
2954         https://bugs.webkit.org/show_bug.cgi?id=83569
2955
2956         Reviewed by Eric Seidel.
2957
2958         No new tests. Covered by exiting fast/canvas/*toDataURL* tests.
2959
2960         * platform/graphics/cairo/ImageBufferCairo.cpp:
2961         (WebCore::writeFunction): Return write success or failure with the appropriate
2962         cairo status code per http://cairographics.org/manual/cairo-PNG-Support.html
2963         (WebCore::ImageBuffer::toDataURL): Add mimeType ASSERT()s. <canvas> ensures that
2964         a valid mimeType (supported by the port) is sent to toDataURL() calls. Check for
2965         encoding failure and return "data:," if so.
2966
2967 2012-04-13  David Reveman  <reveman@chromium.org>
2968
2969         [Chromium] Avoid unnecessary full tile updates for checkerboard tiles.
2970         https://bugs.webkit.org/show_bug.cgi?id=83804
2971
2972         Reviewed by James Robinson.
2973
2974         Cleanup code that determines if we need to use a buffered update and
2975         avoid buffering of tiles that are not in use by the impl thread.
2976
2977         Tests: CCLayerTreeHostTestAtomicCommitWithPartialUpdate.runMultiThread
2978                TiledLayerChromiumTest.partialUpdates
2979
2980         * platform/graphics/chromium/TiledLayerChromium.cpp:
2981         (UpdatableTile):
2982         (WebCore::UpdatableTile::UpdatableTile):
2983         (WebCore::TiledLayerChromium::pushPropertiesTo):
2984         (WebCore::TiledLayerChromium::tileOnlyNeedsPartialUpdate):
2985         (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate):
2986         (WebCore::TiledLayerChromium::updateTiles):
2987         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2988         (WebCore::CCLayerTreeHost::bufferedUpdates):
2989         (WebCore):
2990         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2991         (CCLayerTreeHost):
2992
2993 2012-04-13  Dana Jansens  <danakj@chromium.org>
2994
2995         [chromium] Cleanup texture memory eviction when LayerTreeHost becomes invisible
2996         https://bugs.webkit.org/show_bug.cgi?id=83899
2997
2998         Reviewed by Adrienne Walker.
2999
3000         When a LTH becomes invisible, the texture eviction is spread out across
3001         two different functions and is not entirely clear. We move all the logic
3002         together into a single place in didBecomeInvisibleOnImplThread() and
3003         make the consequences of the current code more clear.
3004
3005         Covered by existing tests.
3006
3007         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3008         (WebCore::CCLayerTreeHost::deleteContentsTexturesOnImplThread):
3009         (WebCore::CCLayerTreeHost::setVisible):
3010         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
3011
3012 2012-04-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3013
3014         Unreviewed, rolling out r114036.
3015         http://trac.webkit.org/changeset/114036
3016         https://bugs.webkit.org/show_bug.cgi?id=83969
3017
3018         Breaks gmail.com causing it to never finish loading (Requested
3019         by danakj on #webkit).
3020
3021         * bindings/scripts/CodeGeneratorJS.pm:
3022         (GenerateHeader):
3023         (GenerateImplementation):
3024         * bindings/scripts/CodeGeneratorV8.pm:
3025         (GenerateNamedConstructorCallback):
3026         (GenerateImplementation):
3027         * bindings/scripts/IDLAttributes.txt:
3028         * bindings/scripts/test/JS/JSTestObj.cpp:
3029         (WebCore::JSTestObj::createPrototype):
3030         * bindings/scripts/test/JS/JSTestObj.h:
3031         * bindings/scripts/test/TestObj.idl:
3032         * bindings/scripts/test/V8/V8Float64Array.cpp:
3033         (WebCore):
3034         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3035         (WebCore):
3036         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3037         (WebCore):
3038         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3039         (WebCore):
3040         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3041         (WebCore):
3042         * bindings/scripts/test/V8/V8TestInterface.cpp:
3043         (WebCore):
3044         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3045         (WebCore):
3046         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3047         (WebCore):
3048         * bindings/scripts/test/V8/V8TestNode.cpp:
3049         (WebCore):
3050         * bindings/scripts/test/V8/V8TestObj.cpp:
3051         (WebCore):
3052         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3053         (WebCore):
3054         * bindings/v8/NPV8Object.cpp:
3055         (WebCore::npObjectTypeInfo):
3056         * bindings/v8/V8BindingPerContextData.cpp:
3057         (WebCore::V8BindingPerContextData::init):
3058         (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
3059         (WebCore::V8BindingPerContextData::constructorForTypeSlowCase):
3060         * bindings/v8/V8BindingPerContextData.h:
3061         (V8BindingPerContextData):
3062         * bindings/v8/V8HiddenPropertyName.h:
3063         (WebCore):
3064         * bindings/v8/WrapperTypeInfo.h:
3065         (WrapperTypeInfo):
3066         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3067         (WebCore):
3068         * dom/NodeList.idl:
3069
3070 2012-04-13  Alexandre Elias  <aelias@google.com>
3071
3072         [chromium] Add null pointer check to animatePageScale
3073         https://bugs.webkit.org/show_bug.cgi?id=83940
3074
3075         Reviewed by James Robinson.
3076
3077         Add null pointer check to startPageScaleAnimation.
3078
3079         If the root scroll layer goes away in the middle of a page scale
3080         animation, there can be a null pointer access here.
3081
3082         No new tests.
3083
3084         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3085         (WebCore::CCLayerTreeHostImpl::animatePageScale):
3086
3087 2012-04-13  Dana Jansens  <danakj@chromium.org>
3088
3089         [chromium] Replicas should be included in the computed occlusion
3090         https://bugs.webkit.org/show_bug.cgi?id=82262
3091
3092         Reviewed by Adrienne Walker.
3093
3094         When merging a surface's occlusion up to its target, make a copy of it
3095         where the replica will be as well, and make sure that occlusion from a
3096         RenderSurface does not leave its clipRect.
3097
3098         Unit test: CCOcclusionTrackerTestReplicaDoesOcclude
3099                    CCOcclusionTrackerTestReplicaWithClipping
3100                    CCOcclusionTrackerTestSurfaceChildOfSurface
3101
3102         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3103         (WebCore::RenderSurfaceChromium::hasReplica):
3104         (WebCore):
3105         * platform/graphics/chromium/RenderSurfaceChromium.h:
3106         (RenderSurfaceChromium):
3107         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3108         (WebCore::transformSurfaceOpaqueRegion):
3109         (WebCore::::leaveToTargetRenderSurface):
3110
3111 2012-04-13  Raymond Liu  <raymond.liu@intel.com>
3112
3113         AudioContext createChannelMerger() method should have optional argument for number of inputs.
3114         https://bugs.webkit.org/show_bug.cgi?id=83759
3115
3116         Reviewed by Chris Rogers.
3117
3118         Check https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html for the optional argument.
3119
3120         Test: webaudio/audiochannelmerger-basic.html
3121
3122         * Modules/webaudio/AudioChannelMerger.cpp:
3123         (WebCore):
3124         (WebCore::AudioChannelMerger::create):
3125         (WebCore::AudioChannelMerger::AudioChannelMerger):
3126         * Modules/webaudio/AudioChannelMerger.h:
3127         (AudioChannelMerger):
3128         * Modules/webaudio/AudioContext.cpp:
3129         (WebCore::AudioContext::createChannelMerger):
3130         (WebCore):
3131         * Modules/webaudio/AudioContext.h:
3132         (AudioContext):
3133         * Modules/webaudio/AudioContext.idl:
3134
3135 2012-04-13  Dana Jansens  <danakj@chromium.org>
3136
3137         [chromium] Remove viewport memory restrictions
3138         https://bugs.webkit.org/show_bug.cgi?id=83316
3139
3140         Reviewed by Adrienne Walker.
3141
3142         We remove the memory restriction on web pages based on viewport size
3143         on desktop. This is causing pages that have complex use of layers to
3144         end up hitting our memory limits, and moreso when the window is small.
3145         Page complexity is not really a function of the viewport size.
3146
3147         We drop the mininum memory limit entirely, and just evict all
3148         unprotected textures instead.
3149
3150         Covered by existing tests.
3151
3152         * platform/graphics/chromium/TextureManager.cpp:
3153         (WebCore::TextureManager::highLimitBytes):
3154         (WebCore::TextureManager::reclaimLimitBytes):
3155         * platform/graphics/chromium/TextureManager.h:
3156         (TextureManager):
3157         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3158         (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
3159         (WebCore::CCLayerTreeHost::setVisible):
3160         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
3161         (WebCore::CCLayerTreeHost::updateLayers):
3162
3163 2012-04-13  Ken Buchanan  <kenrb@chromium.org>
3164
3165         Optimize tracking of intruding floats being removed from RenderBlock during layout
3166         https://bugs.webkit.org/show_bug.cgi?id=82928
3167
3168         Reviewed by David Hyatt.
3169
3170         Performance tweaks in RenderBlock layout as a follow up to r112935.
3171
3172         * rendering/RenderBlock.cpp:
3173         (WebCore::RenderBlock::clearFloats):
3174
3175 2012-04-13  Mihnea Ovidenie  <mihnea@adobe.com>
3176
3177         [CSSRegions]Implement NamedFlow::contentNodes attribute
3178         https://bugs.webkit.org/show_bug.cgi?id=80134
3179
3180         Reviewed by David Hyatt.
3181
3182         The named flow content nodes collection contains those nodes with webkitFlowInto property set to 'flow'.
3183         In the list, the nodes are placed in document order. Nodes with display:none are also part of the list.
3184         The list of nodes is returned as a static node list.
3185
3186         The content nodes are stored in RenderNamedFlowThread. The content nodes are added to the list in NodeRenderingContext::moveToFlowThreadIfNeeded
3187         and removed from the list in Element::detach. When an element -webkit-flow-into property is changed, the element is detached and attached.
3188         I have also added a bit in NodeFlags to mark that an element is part of a named flow (and the corresponding inNamedFlow/setInNamedFlow/clearInNamedFlow functions).
3189
3190         Test: fast/regions/webkit-named-flow-content-nodes.html
3191
3192         * dom/Document.cpp:
3193         (WebCore::Document::webkitGetFlowByName):
3194         * dom/Document.h:
3195         * dom/Element.cpp:
3196         (WebCore::Element::detach):
3197         * dom/Node.h:
3198         (WebCore::Node::inNamedFlow):
3199         (WebCore::Node::setInNamedFlow):
3200         (WebCore::Node::clearInNamedFlow):
3201         (Node):
3202         * dom/NodeRenderingContext.cpp:
3203         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
3204         * dom/WebKitNamedFlow.cpp:
3205         (WebCore::WebKitNamedFlow::contentNodes):
3206         (WebCore):
3207         * dom/WebKitNamedFlow.h:
3208         (WebKitNamedFlow):
3209         * dom/WebKitNamedFlow.idl:
3210         * rendering/FlowThreadController.cpp:
3211         (WebCore::FlowThreadController::registerNamedFlowContentNode):
3212         (WebCore):
3213         (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
3214         * rendering/FlowThreadController.h:
3215         (FlowThreadController):
3216         * rendering/RenderNamedFlowThread.cpp:
3217         (WebCore):
3218         (WebCore::RenderNamedFlowThread::registerNamedFlowContentNode):
3219         (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentNode):
3220         * rendering/RenderNamedFlowThread.h:
3221         (WebCore):
3222         (RenderNamedFlowThread):
3223         (WebCore::RenderNamedFlowThread::contentNodes):
3224         (WebCore::RenderNamedFlowThread::hasContentNode):
3225
3226 2012-04-13  Jessie Berlin  <jberlin@apple.com>
3227
3228         Remove the calls to CRASH() from ResourceLoader.cpp.
3229         https://bugs.webkit.org/show_bug.cgi?id=83962
3230
3231         Reviewed by Alexey Proskuryakov.
3232
3233         They were added in r91316 to aid debugging for the issue fixed in r105556 and r106130.
3234
3235         * loader/ResourceLoader.cpp:
3236         (WebCore::ResourceLoader::willSendRequest):
3237         (WebCore::ResourceLoader::didSendData):
3238         (WebCore::ResourceLoader::didReceiveResponse):
3239         (WebCore::ResourceLoader::didReceiveData):
3240         (WebCore::ResourceLoader::didFinishLoading):
3241         (WebCore::ResourceLoader::didFail):
3242         (WebCore::ResourceLoader::wasBlocked):
3243         (WebCore::ResourceLoader::cannotShowURL):
3244         (WebCore::ResourceLoader::shouldUseCredentialStorage):
3245         (WebCore::ResourceLoader::willCacheResponse):
3246
3247 2012-04-13  Xiaomei Ji  <xji@chromium.org>
3248
3249         REGRESSION(r102190) [chromium] text rendering (font and font size) in some Arabic/Persian page is wrong
3250         when using certain fonts
3251         https://bugs.webkit.org/show_bug.cgi?id=83523
3252
3253         Reviewed by Kent Tamura.
3254
3255         Revert r102190.
3256         Convert characters being treatAsSpace to white space. 
3257
3258         * platform/graphics/chromium/UniscribeHelper.cpp:
3259         (WebCore::UniscribeHelper::fillRuns):
3260         (WebCore::UniscribeHelper::adjustSpaceAdvances):
3261
3262 2012-04-13  Timothy Hatcher  <timothy@apple.com>
3263
3264         Change how the Web Insector is installed on Mac builds.
3265
3266         <rdar://problem/10857918>
3267
3268         Reviewed by Mark Rowe.
3269
3270         * WebCore.xcodeproj/project.pbxproj: Updated Copy Inspector Resources
3271         and Streamline Inspector Source build phases.
3272
3273 2012-04-13  Jer Noble  <jer.noble@apple.com>
3274
3275         Video at apple.com gets standard controls in addition to custom controls after returning from full screen
3276         https://bugs.webkit.org/show_bug.cgi?id=83939
3277
3278         Reviewed by Eric Carlson.
3279
3280         No new tests; DRT and WKTR don't have the infrastructure to test full-screen animation related bugs.
3281
3282         Instead of asking the media element whether it is in full screen or not, rely on when the media root element
3283         was told that it enteredFullscreen() or exitedFullscreen(), which may occur at a different time than the
3284         media element due to animations.
3285
3286         * html/shadow/MediaControlRootElement.cpp:
3287         (WebCore::MediaControlRootElement::reset):
3288         (WebCore::MediaControlRootElement::playbackStarted):
3289         (WebCore::MediaControlRootElement::enteredFullscreen):
3290         (WebCore::MediaControlRootElement::exitedFullscreen):
3291         (WebCore::MediaControlRootElement::defaultEventHandler):
3292         (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer):
3293         (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired):
3294         * html/shadow/MediaControlRootElement.h:
3295         (MediaControlRootElement): Added m_isFullscreen;
3296
3297 2012-04-13  Jer Noble  <jer.noble@apple.com>
3298
3299         fullscreen/video-controls-drag.html failing on Mac
3300         https://bugs.webkit.org/show_bug.cgi?id=81176
3301
3302         Reviewed by Eric Carlson.
3303
3304         No new tests.  Fixes fullscreen/video-controls-drag.html.
3305
3306         Regressed in r110409.  When the -webkit-media-controls-panel were changed
3307         from position:absolute to position:relative, this broke dragging of the 
3308         controls in fullscreen, which relies on the panel being absolutely positioned
3309         to do its drag positioning. Change the way drag positioning is calculated to
3310         accommodate position:relative.
3311
3312         * css/fullscreenQuickTime.css:
3313         (video:-webkit-full-screen::-webkit-media-controls-panel): Instead of bottom:50px,
3314             use margin-bottom:50px to push panel up from the bottom of the screen.
3315         * html/shadow/MediaControlElements.cpp:
3316         (WebCore::MediaControlPanelElement::startDrag): Do not ask for the current renderer location.
3317         (WebCore::MediaControlPanelElement::continueDrag): Use the delta between the event locations
3318             only to calculate the new panel position.
3319         * html/shadow/MediaControlElements.h:
3320
3321 2012-04-13  Simon Fraser  <simon.fraser@apple.com>
3322
3323         Compositing layers not updated after scroll in WebKit1
3324         https://bugs.webkit.org/show_bug.cgi?id=83945
3325
3326         Reviewed by James Robinson.
3327         
3328         Fix the WebKit1 code path to correctly update compositing layers
3329         after a scroll, by calling updateFixedElementsAfterScrolling() from
3330         scrollPositionChangedViaPlatformWidget().
3331
3332         Covered by existing tests.
3333
3334         * page/FrameView.cpp:
3335         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
3336
3337 2012-04-13  Dean Jackson  <dino@apple.com>
3338
3339         Don't process filters if the input region is exceptionally large.
3340         https://bugs.webkit.org/show_bug.cgi?id=83317
3341
3342         Reviewed by Simon Fraser.
3343
3344         An extremely large element causes problems with filters, either by
3345         taking too long to compute the output or using too much memory. The
3346         filter engine already has some constants for maximum expected size.
3347         Make sure the render tree checks them before deciding to apply
3348         effects.
3349
3350         Tests: css3/filters/huge-region-composited.html
3351                css3/filters/huge-region.html
3352
3353         * platform/graphics/filters/FilterEffect.cpp:
3354         (WebCore::FilterEffect::apply):
3355         * rendering/FilterEffectRenderer.cpp:
3356         (WebCore):
3357         (WebCore::isFilterSizeValid):
3358         (WebCore::FilterEffectRenderer::build):
3359         (WebCore::FilterEffectRenderer::updateBackingStore):
3360         (WebCore::FilterEffectRendererHelper::beginFilterEffect):
3361         * rendering/FilterEffectRenderer.h:
3362         (FilterEffectRenderer):
3363         * rendering/RenderLayer.cpp:
3364         (WebCore::RenderLayer::updateOrRemoveFilterEffect):
3365
3366 2012-04-13  Anna Cavender  <annacc@chromium.org>
3367
3368         Queue the cuechange event on HTMLTrackElement for proper sorting.
3369         https://bugs.webkit.org/show_bug.cgi?id=83858
3370
3371         Reviewed by Eric Carlson.
3372
3373         No new tests. Updates to media/track/track-cues-cuechange.html and
3374         media/track/track-mode.html
3375
3376         * html/HTMLMediaElement.cpp:
3377         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
3378             Add HTMLTrackElement's cuechange event to the event queue rather than 
3379             firing it synchronously.
3380         * html/track/LoadableTextTrack.cpp:
3381             Remove fireCueChangeEvent() as it is no longer used.
3382         * html/track/LoadableTextTrack.h:
3383             Ditto.
3384         * html/track/TextTrack.h:
3385         (TextTrack):
3386             Ditto.
3387
3388 2012-04-11  Antonio Gomes  <agomes@rim.com>
3389
3390         Be more restrictive when adding ScrollableArea's to FrameView's ScrollableArea's map
3391         https://bugs.webkit.org/show_bug.cgi?id=79611
3392
3393         Reviewed by James Robinson.
3394
3395         Source/WebCore:
3396
3397         As of today, any FrameView attached to the Widget-tree or any
3398         RenderLayer whose corresponding RenderBox's style has a 'overflow'
3399         property set to 'auto' is cached in its containing scrollable areas set.
3400         We could be more restrictive about what we in fact want to
3401         cache as scrollable areas, by checking if the element as an overflow
3402         (i.e. more content than its viewport).
3403
3404         * page/FrameView.cpp:
3405         (WebCore::FrameView::setFrameRect):
3406
3407         Whenever the viewport changes, check if we have an scrollable/overflowed
3408         content, and update the cache accordingly.
3409
3410         (WebCore::FrameView::setContentsSize):
3411
3412         Whenever the contents size changes, check if we have a scrollable/overflowed
3413         content, and update the cache accordingly.
3414
3415         (WebCore::FrameView::calculateScrollbarModesForLayout):
3416
3417         Introduces a way to query for the scrollbars by only
3418         taking into account the "rules" set by the web author.
3419         For that, a new enum was added called SrollbarModesCalculationStrategy,
3420         which allows callers to discard for example client-side scrollbar policies
3421         in order to verify if a given frameview is scrollable or not.
3422
3423         (WebCore::FrameView::updateScrollableAreaSet):
3424
3425         Take into account various factors before considering a FrameView as
3426         scrollable. If in the end it is, it gets added to its parent FrameView
3427         scrollable areas map, otherwise removed.
3428
3429         (WebCore):
3430         (WebCore::FrameView::addScrollableArea):
3431
3432         Became unneeded, thus removed.
3433
3434         (WebCore::FrameView::removeScrollableArea):
3435
3436         Whenever a FrameView is removed from the Widget-tree,
3437         remove it from the cache.
3438
3439         * page/FrameView.h:
3440         (FrameView):
3441         * rendering/RenderLayer.cpp:
3442         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
3443
3444         Update scrollable area set after layout.
3445
3446         (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
3447
3448         Update scrollable area set after style changes.
3449
3450         (WebCore::RenderLayer::styleChanged):
3451
3452         Removed the scrollable areas logic detection from it.
3453
3454         (WebCore::RenderLayer::updateScrollableAreaSet):
3455
3456         Updates the containing FrameView scrollable areas cache
3457         only when needed (i.e. an overflow exists).
3458
3459         (WebCore):