Bash scripts should support LF endings only
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-09  Ashod Nakashian  <ashodnakashian@yahoo.com>
2
3         Bash scripts should support LF endings only
4         https://bugs.webkit.org/show_bug.cgi?id=79509
5
6         Reviewed by David Kilzer.
7
8         * WebCore.gyp/mac/adjust_visibility.sh: Added property svn:eol-style.
9         * WebCore.vcproj/build-generated-files.sh: Added property svn:executable.
10         * WebCore.vcproj/migrate-scripts.sh: Added property svn:executable.
11         * gyp/copy-forwarding-and-icu-headers.sh: Added property svn:eol-style.
12         * gyp/copy-inspector-resources.sh: Added property svn:eol-style.
13         * gyp/generate-derived-sources.sh: Added property svn:eol-style.
14         * gyp/generate-webcore-export-file-generator.sh: Added property svn:eol-style.
15         * gyp/run-if-exists.sh: Added property svn:eol-style.
16         * gyp/streamline-inspector-source.sh: Added property svn:eol-style.
17         * gyp/update-info-plist.sh: Added property svn:eol-style.
18
19 2012-03-09  Andreas Kling  <awesomekling@apple.com>
20
21         CSSParser: Use Vector for intermediate property storage.
22         <http://webkit.org/b/80653>
23
24         Reviewed by Antti Koivisto.
25
26         Remove the custom memory management for intermediate CSSProperties in CSSParser
27         and replace it by a Vector<CSSProperty, 256>.
28         This avoids heap allocations and removes a bunch of unnecessary complexity.
29
30         Remove WTF_MAKE_FAST_ALLOCATED from CSSProperty since they are only created on
31         the stack now.
32
33         * css/CSSGrammar.y:
34         * css/CSSParser.cpp:
35         (WebCore::CSSParser::CSSParser):
36         (WebCore::CSSParser::~CSSParser):
37         (WebCore::CSSParser::parseValue):
38         (WebCore::CSSParser::parseColor):
39         (WebCore::CSSParser::parseDeclaration):
40         (WebCore::CSSParser::addProperty):
41         (WebCore::CSSParser::rollbackLastProperties):
42         (WebCore::CSSParser::clearProperties):
43         (WebCore::CSSParser::parse4Values):
44         (WebCore::CSSParser::parseFlowThread):
45         (WebCore::CSSParser::createStyleRule):
46         (WebCore::CSSParser::createFontFaceRule):
47         (WebCore::CSSParser::createPageRule):
48         (WebCore::CSSParser::createMarginAtRule):
49         (WebCore::CSSParser::startDeclarationsForMarginBox):
50         (WebCore::CSSParser::endDeclarationsForMarginBox):
51         (WebCore::CSSParser::deleteFontFaceOnlyValues):
52         (WebCore::CSSParser::createKeyframeRule):
53         * css/CSSParser.h:
54         (WebCore::CSSParser::hasProperties):
55         (CSSParser):
56         * css/CSSProperty.h:
57         * css/SVGCSSParser.cpp:
58         (WebCore::CSSParser::parseSVGValue):
59         * css/StylePropertySet.cpp:
60         (WebCore::StylePropertySet::StylePropertySet):
61         (WebCore::StylePropertySet::addParsedProperties):
62         * css/StylePropertySet.h:
63         (WebCore::StylePropertySet::create):
64         (StylePropertySet):
65
66 2012-03-09  Nate Chapin  <japhet@chromium.org>
67
68         CachedRawResource breaks when trying to load
69         a resource with an empty response body from cache.
70
71         Reviewed by Alexey Proskuryakov.
72
73         Test: http/tests/cache/zero-length-xhr.html
74
75         * loader/cache/CachedRawResource.cpp:
76         (WebCore::CachedRawResource::didAddClient): Don't exit early
77             if m_data is empty, we may still need to notifyFinished().
78
79 2012-03-09  Robin Cao  <robin.cao@torchmobile.com.cn>
80
81         [BlackBerry] Upstream classes that handle layer tiling
82         https://bugs.webkit.org/show_bug.cgi?id=79875
83
84         Reviewed by Rob Buis.
85
86         Initial upstreaming, no new tests.
87
88         * platform/graphics/blackberry/LayerTile.cpp: Added.
89         (WebCore):
90         (WebCore::LayerTile::LayerTile):
91         (WebCore::LayerTile::~LayerTile):
92         (WebCore::LayerTile::setContents):
93         (WebCore::LayerTile::setContentsToColor):
94         (WebCore::LayerTile::updateContents):
95         (WebCore::LayerTile::discardContents):
96         (WebCore::LayerTile::setVisible):
97         (WebCore::LayerTile::setTexture):
98         * platform/graphics/blackberry/LayerTile.h: Added.
99         (WebCore):
100         (LayerTileData):
101         (WebCore::LayerTileData::LayerTileData):
102         (WebCore::LayerTileData::isVisible):
103         (LayerTile):
104         (WebCore::LayerTile::texture):
105         (WebCore::LayerTile::isVisible):
106         (WebCore::LayerTile::isDirty):
107         (WebCore::LayerTile::hasTexture):
108         (WebCore::LayerTile::setContentsDirty):
109         * platform/graphics/blackberry/LayerTileIndex.h: Added.
110         (WebCore):
111         (TileIndex):
112         (WebCore::TileIndex::TileIndex):
113         (WebCore::TileIndex::~TileIndex):
114         (WebCore::TileIndex::i):
115         (WebCore::TileIndex::j):
116         (WebCore::TileIndex::setIndex):
117         (WebCore::operator==):
118         (WebCore::operator!=):
119         (WTF):
120         * platform/graphics/blackberry/LayerTiler.cpp: Added.
121         (WebCore):
122         (WebCore::transformPoint):
123         (WebCore::defaultTileSize):
124         (WebCore::LayerTiler::LayerTiler):
125         (WebCore::LayerTiler::~LayerTiler):
126         (WebCore::LayerTiler::layerWebKitThreadDestroyed):
127         (WebCore::LayerTiler::layerCompositingThreadDestroyed):
128         (WebCore::LayerTiler::setNeedsDisplay):
129         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
130         (WebCore::LayerTiler::shouldPerformRenderJob):
131         (WebCore::LayerTiler::addTextureJob):
132         (WebCore::LayerTiler::clearTextureJobs):
133         (WebCore::LayerTiler::commitPendingTextureUploads):
134         (WebCore::LayerTiler::layerVisibilityChanged):
135         (WebCore::LayerTiler::uploadTexturesIfNeeded):
136         (WebCore::LayerTiler::processTextureJob):
137         (WebCore::LayerTiler::addTileJob):
138         (WebCore::LayerTiler::performTileJob):
139         (WebCore::LayerTiler::drawTextures):
140         (WebCore::LayerTiler::drawMissingTextures):
141         (WebCore::LayerTiler::drawTexturesInternal):
142         (WebCore::LayerTiler::addRenderJob):
143         (WebCore::LayerTiler::removeRenderJob):
144         (WebCore::LayerTiler::deleteTextures):
145         (WebCore::LayerTiler::pruneTextures):
146         (WebCore::LayerTiler::updateTileSize):
147         (WebCore::LayerTiler::disableTiling):
148         (WebCore::LayerTiler::shouldPrefillTile):
149         (WebCore::LayerTiler::indexOfTile):
150         (WebCore::LayerTiler::originOfTile):
151         (WebCore::LayerTiler::rectForTile):
152         (WebCore::LayerTiler::hasDirtyTiles):
153         (WebCore::LayerTiler::bindContentsTexture):
154         * platform/graphics/blackberry/LayerTiler.h: Added.
155         (WebCore):
156         (LayerTiler):
157         (WebCore::LayerTiler::create):
158         (WebCore::LayerTiler::layer):
159         (WebCore::LayerTiler::hasMissingTextures):
160         (WebCore::LayerTiler::TextureJob::TextureJob):
161         (TextureJob):
162         (WebCore::LayerTiler::TextureJob::setContents):
163         (WebCore::LayerTiler::TextureJob::setContentsToColor):
164         (WebCore::LayerTiler::TextureJob::updateContents):
165         (WebCore::LayerTiler::TextureJob::discardContents):
166         (WebCore::LayerTiler::TextureJob::resizeContents):
167         (WebCore::LayerTiler::TextureJob::dirtyContents):
168         (WebCore::LayerTiler::TextureJob::isNull):
169         (WebCore::LayerTiler::tileSize):
170         (WebCore::LayerTiler::removeUpdateContentsJobs):
171
172 2012-03-09  Ian Vollick  <vollick@chromium.org>
173
174         [chromium] Ensure we use the correct time when notifying animation started
175         https://bugs.webkit.org/show_bug.cgi?id=79537
176
177         Reviewed by James Robinson
178
179         Tested in CCLayerTreeHostTestAddAnimation
180
181         * platform/graphics/chromium/LayerChromium.cpp:
182         (WebCore::LayerChromium::setAnimationEvent):
183         * platform/graphics/chromium/LayerChromium.h:
184         (LayerChromium):
185         * platform/graphics/chromium/cc/CCAnimationEvents.cpp:
186         (WebCore::CCAnimationStartedEvent::create):
187         (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
188         * platform/graphics/chromium/cc/CCAnimationEvents.h:
189         (CCAnimationEvent):
190         (CCAnimationStartedEvent):
191         * platform/graphics/chromium/cc/CCInputHandler.h:
192         (CCInputHandler):
193         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
194         (WebCore::CCLayerAnimationControllerImpl::animate):
195         (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
196         (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
197         (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
198         (WebCore::CCLayerAnimationControllerImpl::resolveConflicts):
199         (WebCore::CCLayerAnimationControllerImpl::tickAnimations):
200         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
201         (CCLayerAnimationControllerImpl):
202         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
203         (WebCore::CCLayerTreeHost::setAnimationEvents):
204         (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
205         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
206         (CCLayerTreeHost):
207         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
208         (WebCore::CCLayerTreeHostImpl::animate):
209         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
210         (WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
211         (WebCore::CCLayerTreeHostImpl::animatePageScale):
212         (WebCore::CCLayerTreeHostImpl::animateLayers):
213         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
214         (CCLayerTreeHostImplClient):
215         (CCLayerTreeHostImpl):
216         * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp:
217         (WebCore::CCPageScaleAnimation::create):
218         (WebCore::CCPageScaleAnimation::CCPageScaleAnimation):
219         (WebCore::CCPageScaleAnimation::zoomTo):
220         (WebCore::CCPageScaleAnimation::zoomWithAnchor):
221         (WebCore::CCPageScaleAnimation::scrollOffsetAtTime):
222         (WebCore::CCPageScaleAnimation::pageScaleAtTime):
223         (WebCore::CCPageScaleAnimation::isAnimationCompleteAtTime):
224         (WebCore::CCPageScaleAnimation::progressRatioForTime):
225         * platform/graphics/chromium/cc/CCPageScaleAnimation.h:
226         (CCPageScaleAnimation):
227         (WebCore::CCPageScaleAnimation::startTime):
228         (WebCore::CCPageScaleAnimation::duration):
229         (WebCore::CCPageScaleAnimation::endTime):
230         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
231         (WebCore::CCSingleThreadProxy::startPageScaleAnimation):
232         (WebCore::CCSingleThreadProxy::postAnimationEventsToMainThreadOnImplThread):
233         (WebCore::CCSingleThreadProxy::doComposite):
234         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
235         (CCSingleThreadProxy):
236         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
237         (WebCore::CCThreadProxy::startPageScaleAnimation):
238         (WebCore::CCThreadProxy::requestStartPageScaleAnimationOnImplThread):
239         (WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread):
240         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
241         (WebCore::CCThreadProxy::setAnimationEvents):
242         * platform/graphics/chromium/cc/CCThreadProxy.h:
243         (CCThreadProxy):
244
245 2012-03-09  Zoltan Herczeg  <zherczeg@webkit.org>
246
247         Add SVGRenderingContext and move there the context related code from SVGRenderSupport
248         https://bugs.webkit.org/show_bug.cgi?id=80413
249
250         Reviewed by Nikolas Zimmermann.
251
252         This is the first step of refactoring the rendering context for SVG. The
253         previous context was stateless before, which means the cleanup phase
254         needed to do a lot of checks to revert the initialization part and
255         was unaware of failed inititalization. Future code can also add
256         new local variables to the context.
257
258         This patch add a new SVGRenderingContext class, and moves there the context
259         initialization / cleanup code from SVGRenderSupport. All build systems were
260         updated.
261
262         * CMakeLists.txt:
263         * GNUmakefile.list.am:
264         * Target.pri:
265         * WebCore.gypi:
266         * WebCore.vcproj/WebCore.vcproj:
267         * WebCore.xcodeproj/project.pbxproj:
268         * rendering/svg/RenderSVGAllInOne.cpp:
269         * rendering/svg/RenderSVGContainer.cpp:
270         (WebCore::RenderSVGContainer::paint):
271         * rendering/svg/RenderSVGForeignObject.cpp:
272         (WebCore::RenderSVGForeignObject::paint):
273         * rendering/svg/RenderSVGImage.cpp:
274         (WebCore::RenderSVGImage::paint):
275         * rendering/svg/RenderSVGRoot.cpp:
276         (WebCore::RenderSVGRoot::paintReplaced):
277         * rendering/svg/RenderSVGShape.cpp:
278         (WebCore::RenderSVGShape::paint):
279         * rendering/svg/SVGInlineFlowBox.cpp:
280         (WebCore::SVGInlineFlowBox::paint):
281         * rendering/svg/SVGRenderSupport.cpp:
282         * rendering/svg/SVGRenderSupport.h:
283         * rendering/svg/SVGRenderingContext.cpp: Added.
284         (WebCore):
285         (WebCore::isRenderingMaskImage):
286         (WebCore::SVGRenderingContext::~SVGRenderingContext):
287         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
288         * rendering/svg/SVGRenderingContext.h: Added.
289         (WebCore):
290         (SVGRenderingContext):
291         (WebCore::SVGRenderingContext::SVGRenderingContext):
292         (WebCore::SVGRenderingContext::isRenderingPrepared):
293         * rendering/svg/SVGRootInlineBox.cpp:
294         (WebCore::SVGRootInlineBox::paint):
295
296 2012-03-09  Sheriff Bot  <webkit.review.bot@gmail.com>
297
298         Unreviewed, rolling out r110191, r110202, and r110279.
299         http://trac.webkit.org/changeset/110191
300         http://trac.webkit.org/changeset/110202
301         http://trac.webkit.org/changeset/110279
302         https://bugs.webkit.org/show_bug.cgi?id=80694
303
304         They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
305         #webkit).
306
307         * WebCore.exp.in:
308         * testing/Internals.cpp:
309         * testing/Internals.h:
310         (WebCore):
311         (Internals):
312         * testing/Internals.idl:
313
314 2012-03-09  Hans Wennborg  <hans@chromium.org>
315
316         Speech JavaScript API: add SpeechGrammar and SpeechGrammarList
317         https://bugs.webkit.org/show_bug.cgi?id=80417
318
319         Reviewed by Adam Barth.
320
321         Implement SpeechGrammar and SpeechGrammarList.
322         (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)
323
324         Test: fast/speech/scripted/speechgrammar-basics.html
325
326         * Modules/speech/DOMWindowSpeech.idl:
327         * Modules/speech/SpeechGrammar.cpp:
328         (WebCore):
329         (WebCore::SpeechGrammar::create):
330         (WebCore::SpeechGrammar::SpeechGrammar):
331         * Modules/speech/SpeechGrammar.h:
332         (WebCore):
333         (SpeechGrammar):
334         (WebCore::SpeechGrammar::src):
335         (WebCore::SpeechGrammar::setSrc):
336         (WebCore::SpeechGrammar::weight):
337         (WebCore::SpeechGrammar::setWeight):
338         * Modules/speech/SpeechGrammar.idl:
339         * Modules/speech/SpeechGrammarList.cpp:
340         (WebCore):
341         (WebCore::SpeechGrammarList::create):
342         (WebCore::SpeechGrammarList::item):
343         (WebCore::SpeechGrammarList::addFromUri):
344         (WebCore::SpeechGrammarList::addFromString):
345         (WebCore::SpeechGrammarList::SpeechGrammarList):
346         * Modules/speech/SpeechGrammarList.h:
347         (WebCore):
348         (SpeechGrammarList):
349         (WebCore::SpeechGrammarList::length):
350         * Modules/speech/SpeechGrammarList.idl:
351         * WebCore.gypi:
352
353 2012-03-09  Sheriff Bot  <webkit.review.bot@gmail.com>
354
355         Unreviewed, rolling out r110269.
356         http://trac.webkit.org/changeset/110269
357         https://bugs.webkit.org/show_bug.cgi?id=80688
358
359         It made inspector/elements/highlight-node.html fail everywhere
360         (Requested by Ossy on #webkit).
361
362         * testing/Internals.idl:
363
364 2012-03-07  Alexander Pavlov  <apavlov@chromium.org>
365
366         Web Inspector: [Styles] Click in the first line of rule while editing property starts a new property
367         https://bugs.webkit.org/show_bug.cgi?id=80507
368
369         Reviewed by Vsevolod Vlasov.
370
371         * inspector/front-end/StylesSidebarPane.js:
372         (WebInspector.StylePropertiesSection):
373         (WebInspector.StylePropertiesSection.prototype._checkWillCancelEditing):
374         (WebInspector.StylePropertiesSection.prototype._handleSelectorContainerClick):
375         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
376         (WebInspector.StylePropertyTreeElement.prototype.onattach):
377         (WebInspector.StylePropertyTreeElement.prototype):
378
379 2012-03-09  Mark Rowe  <mrowe@apple.com>
380
381         <rdar://problem/11012024> Fix the build by working around <rdar://problem/10710970>.
382
383         * platform/mac/RunLoopMac.mm:
384         (WebCore::RunLoop::stop):
385
386 2012-03-09  Marja Hölttä  <marja@google.com>
387
388         FileInputType doesn't support (save|restore)FormControlState
389         https://bugs.webkit.org/show_bug.cgi?id=80145
390
391         Reviewed by Kent Tamura.
392
393         This enables saving and restoring the state of file upload elements in
394         unsubmitted forms.
395
396         Test: fast/forms/file/recover-file-input-in-unposted-form.html
397
398         * html/BaseCheckableInputType.cpp:
399         (WebCore::BaseCheckableInputType::restoreFormControlState): non-const
400         * html/BaseCheckableInputType.h:
401         (BaseCheckableInputType): restoreFormControlState non-const
402         * html/FileInputType.cpp:
403         (WebCore::FileInputType::saveFormControlState): save chosen files
404         (WebCore):
405         (WebCore::FileInputType::restoreFormControlState): restore chosen files
406         * html/FileInputType.h:
407         (FileInputType): overwrite (save|restore)FormControlState
408         * html/HiddenInputType.cpp:
409         (WebCore::HiddenInputType::restoreFormControlState): non-const
410         * html/HiddenInputType.h:
411         (HiddenInputType): restoreFormControlState non-const
412         * html/InputType.cpp:
413         (WebCore::InputType::restoreFormControlState): non-const
414         * html/InputType.h:
415         (InputType): restoreFormControlState non-const
416         * html/PasswordInputType.cpp:
417         (WebCore::PasswordInputType::restoreFormControlState): non-const
418         * html/PasswordInputType.h:
419         (PasswordInputType): restoreFormControlState non-const
420
421 2012-03-08  Benjamin Poulain  <bpoulain@apple.com>
422
423         Base the access to CSSStyleDeclaration on the CSSPropertyID instead of the PropertyName
424         https://bugs.webkit.org/show_bug.cgi?id=80461
425
426         Reviewed by Geoffrey Garen.
427
428         Previously, the acces to CSS Style properties was done through a NamedGetter. This caused
429         the (slow) mapping between CSSPropertyName and CSSPropertyID to be done twice for every acess:
430         1) canGetItemsForName() prior to the definition of the slot.
431         2) nameGetter() called from the slot with CSSPropertyName to get the actual value.
432
433         This patch changes the access to be based on CSSPropertyID. The slot is defined with the
434         CSSPropertyID as the customIndex, and the value can be accessed directly when the slot is
435         called.
436
437         To handle the differences create by hadPixelOrPosPrefix, two nearly identical callback are defined,
438         one for hadPixelOrPosPrefix, the other for !hadPixelOrPosPrefix.
439
440         The performance gain is about 19% when accessing CSS properties.
441
442         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
443         (WebCore::getPropertyValueFallback):
444         (WebCore::cssPropertyGetterPixelOrPosPrefix):
445         (WebCore):
446         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
447         (WebCore::cssPropertyGetter):
448         (WebCore::cssPropertyGetterCallback):
449         (WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
450         (WebCore::JSCSSStyleDeclaration::getOwnPropertyDescriptorDelegate):
451         * css/CSSStyleDeclaration.idl:
452
453 2012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
454
455         [Qt] Fix Qt minimal build
456
457         * testing/Internals.idl:
458
459 2012-03-08  James Robinson  <jamesr@chromium.org>
460
461         [chromium] Remove dead CoreGraphics code from chromium compositor implementation
462         https://bugs.webkit.org/show_bug.cgi?id=80470
463
464         Reviewed by Adam Barth.
465
466         We haven't supported CoreGraphics as a raster backend in chromium for a few months and do not plan to do so, so
467         it's time to remove the USE(CG) #ifdefs from our compositor and just rely on USE(SKIA) being set.  This also
468         slightly simplifies how PlatformCanvas works.
469
470         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
471         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
472         * platform/graphics/chromium/ContentLayerChromium.cpp:
473         (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
474         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
475         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
476         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
477         * platform/graphics/chromium/ImageLayerChromium.h:
478         * platform/graphics/chromium/LayerChromium.cpp:
479         * platform/graphics/chromium/LayerRendererChromium.cpp:
480         (WebCore::LayerRendererChromium::initialize):
481         * platform/graphics/chromium/LayerRendererChromium.h:
482         * platform/graphics/chromium/PlatformCanvas.cpp:
483         (WebCore::PlatformCanvas::createBackingCanvas):
484         (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
485         (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
486         (WebCore):
487         (WebCore::PlatformCanvas::AutoLocker::pixels):
488         (WebCore::PlatformCanvas::Painter::Painter):
489         * platform/graphics/chromium/PlatformCanvas.h:
490         (WebCore):
491         (AutoLocker):
492         (Painter):
493         (PlatformCanvas):
494         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
495         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
496
497 2012-03-08  Ryosuke Niwa  <rniwa@webkit.org>
498
499         Get rid of itemTypeAttributeChanged
500         https://bugs.webkit.org/show_bug.cgi?id=80666
501
502         Reviewed by Adam Barth.
503
504         This function is unnecessay as we can invalidate m_microDataItemListCaches
505         in invalidateCachesThatDependOnAttributes as done for other node lists.
506
507         * dom/Node.cpp:
508         (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
509         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
510         * dom/Node.h:
511         * dom/NodeRareData.h:
512         (NodeListsNodeData):
513         * html/HTMLElement.cpp:
514         (WebCore::HTMLElement::parseAttribute):
515
516 2012-03-08  Sheriff Bot  <webkit.review.bot@gmail.com>
517
518         Unreviewed, rolling out r108616.
519         http://trac.webkit.org/changeset/108616
520         https://bugs.webkit.org/show_bug.cgi?id=80676
521
522         breaks animation on Safari welcome page (Requested by smfr on
523         #webkit).
524
525         * page/animation/AnimationController.cpp:
526         (WebCore::AnimationController::updateAnimations):
527         * page/animation/AnimationControllerPrivate.h:
528         (AnimationControllerPrivate):
529
530 2012-03-08  Benjamin Poulain  <benjamin@webkit.org>
531
532         Fix the build of WebKit with WTFURL following the removal of ForwardingHeaders/wtf
533         https://bugs.webkit.org/show_bug.cgi?id=80652
534
535         Reviewed by Eric Seidel.
536
537         The fowarding headers have been removed, we must now use the full path to the header.
538
539         * platform/KURLWTFURLImpl.h:
540
541 2012-03-08  Emil A Eklund  <eae@chromium.org>
542
543         Change calcRadiiFor to IntSize
544         https://bugs.webkit.org/show_bug.cgi?id=80655
545
546         Reviewed by Simon Fraser.
547
548         Borders and RoundedRect are both represented with pixel precision. As
549         such it doesn't make sense for calcRadiiFor to use subpixel units, it
550         just adds unnecessary type conversions.
551
552         No new tests, no new functionality.
553
554         * rendering/style/RenderStyle.cpp:
555         (WebCore::calcRadiiFor):
556
557 2012-03-08  Adrienne Walker  <enne@google.com>
558
559         [chromium] Encapsulate mask layer settings in LayerChromium
560         https://bugs.webkit.org/show_bug.cgi?id=80646
561
562         Reviewed by James Robinson.
563
564         If a WebLayer sets a mask layer, the setIsMask flag will not get set
565         properly and the mask layer will not turn off tiling. This was only
566         being set through GraphicsLayerChromium. Move this flag into
567         LayerChromium so that it always gets set.
568
569         Test: LayoutTests/compositing/
570
571         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
572         (WebCore::GraphicsLayerChromium::setMaskLayer):
573         * platform/graphics/chromium/LayerChromium.cpp:
574         (WebCore::LayerChromium::setMaskLayer):
575
576 2012-03-08  Tony Chang  <tony@chromium.org>
577
578         margins on flex-align: baseline are double counted
579         https://bugs.webkit.org/show_bug.cgi?id=80645
580
581         Reviewed by Ojan Vafai.
582
583         Fix a bug where we're counting the margins on baseline aligned
584         children twice. Also add some test cases to make sure we handle
585         wrap-reverse baseline alignment properly.
586
587         Tests: css3/flexbox/multiline-reverse-wrap-baseline-expected.html
588                css3/flexbox/multiline-reverse-wrap-baseline.html
589
590         * rendering/RenderFlexibleBox.cpp:
591         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
592
593 2012-03-08  Nat Duca  <nduca@chromium.org>
594
595         [chromium] Pass setVisibility to CCLayerTreeHostImpl regardless of LRC initialization status
596         https://bugs.webkit.org/show_bug.cgi?id=80584
597
598         Reviewed by James Robinson.
599
600         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
601         (WebCore::CCLayerTreeHost::setVisible):
602         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
603         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
604         (WebCore::CCLayerTreeHostImpl::setVisible):
605         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
606
607 2012-03-08  Ian Vollick  <vollick@chromium.org>
608
609         [chromium] Ensure that the cc thread animation framework continues to tick when the tab is backgrounded
610         https://bugs.webkit.org/show_bug.cgi?id=77668
611
612         Reviewed by James Robinson.
613
614         Tested in CCLayerTreeHostTestTickAnimationWhileBackgrounded
615
616         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
617         (CCLayerTreeHostImplTimeSourceAdapter):
618         (WebCore::CCLayerTreeHostImplTimeSourceAdapter::create):
619         (WebCore::CCLayerTreeHostImplTimeSourceAdapter::~CCLayerTreeHostImplTimeSourceAdapter):
620         (WebCore::CCLayerTreeHostImplTimeSourceAdapter::onTimerTick):
621         (WebCore::CCLayerTreeHostImplTimeSourceAdapter::setActive):
622         (WebCore::CCLayerTreeHostImplTimeSourceAdapter::CCLayerTreeHostImplTimeSourceAdapter):
623         (WebCore):
624         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
625         (WebCore::CCLayerTreeHostImpl::setVisible):
626         (WebCore::CCLayerTreeHostImpl::animateLayers):
627         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
628         (WebCore):
629         (CCLayerTreeHostImpl):
630         * platform/graphics/chromium/cc/CCProxy.cpp:
631         (WebCore::CCProxy::currentThread):
632         (WebCore):
633         (WebCore::CCProxy::isMainThread):
634         (WebCore::CCProxy::isImplThread):
635         (WebCore::CCProxy::setCurrentThreadIsImplThread):
636         * platform/graphics/chromium/cc/CCProxy.h:
637         (CCProxy):
638
639 2012-03-08  Nico Weber  <thakis@chromium.org>
640
641         [chromium] Only build NEON files if target_arch=="arm"
642         https://bugs.webkit.org/show_bug.cgi?id=80626
643
644         Currently, webcore_arm_neon will compile a bunch of files
645         whose contents are completely ifdef'd away on non-arm, and
646         then bundle all the generated empty .o files into a useless
647         libwebcore_arm_neon.a. Don't do this.
648
649         Reviewed by Tony Chang.
650
651         * WebCore.gyp/WebCore.gyp:
652         * WebCore.gypi:
653
654 2012-03-08 Nima Ghanavatian <nghanavatian@rim.com>
655
656         [BlackBerry] Fix warning in PlatformTouchEventBlackBerry.cpp
657         https://bugs.webkit.org/show_bug.cgi?id=80621
658
659         Fixes a warning seen when control reaches the end of a
660         non-void function.  Return TouchCancel in the 'default' case.
661
662         Reviewed by Rob Buis.
663
664         * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
665         (WebCore::touchEventType):
666
667 2012-03-08  Dana Jansens  <danakj@chromium.org>
668
669         [chromium] Using wrong scissor rect for draw culling
670         https://bugs.webkit.org/show_bug.cgi?id=80624
671
672         Reviewed by Adrienne Walker.
673
674         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
675         (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
676
677 2012-03-08  Andy Estes  <aestes@apple.com>
678
679         REGRESSION (r105396): Dragging an iWork document into icloud.com opens it in the Mac app instead of uploading it to icloud.com
680         https://bugs.webkit.org/show_bug.cgi?id=79443
681
682         Reviewed by Ryosuke Niwa.
683
684         icloud.com registers a drop event handler that sets display:none on the
685         file input element receiving the drop. After dispatching the drop event,
686         DragController hit tests the position under the mouse to see if it is a
687         file input element in need of receiving files. Since the file input
688         element has lost its renderer, it cannot be found by hit testing, so
689         the dropped file is never attached to the file input element, no change
690         event fires, and no upload commences. We want these things to happen
691         even if the element is no longer visible.
692
693         Since we already keep track of the file input element under the mouse
694         via m_fileInputElementUnderMouse, this additional hit test is
695         unnecessary. Use m_fileInputElementUnderMouse in concludeEditDrag()
696         when dropping files.
697
698         Test: fast/events/file-input-hidden-in-ondrop.html
699
700         * page/DragController.cpp:
701         (WebCore::DragController::concludeEditDrag): Use
702         m_fileInputElementUnderMouse instead of the element returned by hit
703         testing. Assert that m_fileInputElementUnderMouse equals the hit tested
704         element unless m_fileInputElementUnderMouse doesn't have a renderer.
705
706 2012-03-08  Ryosuke Niwa  <rniwa@webkit.org>
707
708         Mac build fix for micro data API.
709
710         * Configurations/FeatureDefines.xcconfig:
711         * WebCore.xcodeproj/project.pbxproj:
712         * dom/Document.cpp:
713         (WebCore::Document::removeCachedMicroDataItemList):
714         * html/HTMLElement.idl:
715
716 2012-03-07  Jon Lee  <jonlee@apple.com>
717
718         Support [Custom] for static functions
719         https://bugs.webkit.org/show_bug.cgi?id=80573
720
721         Reviewed by Kentaro Hara.
722
723         * bindings/scripts/CodeGeneratorJS.pm:
724         (GenerateHeader): If the function is static, add static qualifier to cpp function.
725         (GenerateImplementation): Reorganize the function to split out based on the static
726         attribute, instead of checking for it at every line we output.
727             If the function is static and not custom, the listed code should be the code in
728         the rest of the function that did not have the static check. If it is custom, then
729         we check the number of arguments, and then call the static impl function directly.
730             If the function is not static, all of the "unless ($function->isStatic)" checks
731         are removed since it is not necessary.
732
733         * bindings/scripts/test/TestObj.idl: Added new test case.
734
735         * bindings/scripts/test/JS/JSTestObj.cpp:
736         (WebCore):
737         (WebCore::jsTestObjConstructorFunctionClassMethod2):
738         * bindings/scripts/test/JS/JSTestObj.h:
739         (JSTestObj):
740         (WebCore):
741         * bindings/scripts/test/ObjC/DOMTestObj.h:
742         * bindings/scripts/test/ObjC/DOMTestObj.mm:
743         (-[DOMTestObj classMethod2]):
744         * bindings/scripts/test/V8/V8TestObj.cpp:
745         (WebCore::ConfigureV8TestObjTemplate):
746         * bindings/scripts/test/V8/V8TestObj.h:
747         (V8TestObj):
748
749 2012-03-08  Mark Pilgrim  <pilgrim@chromium.org>
750
751         Collapse ENABLE(BLOB)|ENABLE(FILE_SYSTEM) to just ENABLE(BLOB)
752         https://bugs.webkit.org/show_bug.cgi?id=80592
753
754         Reviewed by Adam Barth.
755
756         In anticipation of moving FILE_SYSTEM-related code to Modules/, we
757         are collapsing combination BLOB/FILE_SYSTEM ifdefs to just
758         BLOB. In other words, it is assumed from now on that you can not
759         have FILE_SYSTEM support without BLOB support.
760         
761         No new tests, all existing tests pass.
762
763         * CMakeLists.txt:
764         * dom/ScriptExecutionContext.cpp:
765         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
766         (WebCore):
767         (WebCore::ScriptExecutionContext::fileThread):
768         * dom/ScriptExecutionContext.h:
769         (WebCore):
770         (ScriptExecutionContext):
771         * fileapi/AsyncFileStream.cpp:
772         * fileapi/AsyncFileStream.h:
773         * fileapi/FileError.h:
774         * fileapi/FileException.cpp:
775         * fileapi/FileException.h:
776         * fileapi/FileThread.cpp:
777         * fileapi/FileThread.h:
778         * fileapi/OperationNotAllowedException.cpp:
779         * fileapi/OperationNotAllowedException.h:
780         * platform/FileStream.cpp:
781         * platform/FileStream.h:
782         * platform/FileStreamClient.h:
783         * platform/SchemeRegistry.cpp:
784         (WebCore::canDisplayOnlyIfCanRequestSchemes):
785         (WebCore::CORSEnabledSchemes):
786         (WebCore::SchemeRegistry::registerURLSchemeAsNotAllowingJavascriptURLs):
787
788 2012-03-08  James Robinson  <jamesr@chromium.org>
789
790         Use an explicit attribute to signal that a context prefers to use a discrete GPU
791         https://bugs.webkit.org/show_bug.cgi?id=80639
792
793         Reviewed by Stephen White.
794
795         On platforms that support both integrated and discrete GPUs and can dynamically switch between the two, we
796         sometimes have a specific preference for a given context. Specifically, contexts used for WebGL and canvas 2d
797         acceleration should use the discrete GPU if available, but compositor contexts can run fine on an integrated
798         GPU. Instead of attempting to infer the intent from examining other context attributes, this adds an explicit
799         attribute to control this behavior.
800
801         * html/canvas/WebGLRenderingContext.cpp:
802         (WebCore):
803         (WebCore::WebGLRenderingContext::create):
804         * platform/graphics/GraphicsContext3D.h:
805         (WebCore::GraphicsContext3D::Attributes::Attributes):
806         (Attributes):
807         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
808         (WebCore::SharedGraphicsContext3D::get):
809
810 2012-03-08  Andy Estes  <aestes@apple.com>
811
812         NULL renderer possible in WebCore::HTMLInputElement::setCanReceiveDroppedFiles()
813         https://bugs.webkit.org/show_bug.cgi?id=80648
814
815         Reviewed by Simon Fraser.
816
817         Test: fast/events/input-element-display-none-in-dragleave-crash.html
818
819         * html/HTMLInputElement.cpp:
820         (WebCore::HTMLInputElement::setCanReceiveDroppedFiles): NULL-check renderer().
821
822 2012-03-08  Jer Noble  <jer.noble@apple.com>
823
824         Yet another unreviewed build fix.
825
826         Remove an unneeded and Lion-defined window constant from WebCoreFullScreenWindow.
827
828         * platform/mac/WebCoreFullScreenWindow.mm:
829         (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
830
831 2012-03-08  Levi Weintraub  <leviw@chromium.org>
832
833         Switch absoluteRects, culledInlineAbsoluteRects, absoluteBoundingBoxRect, and addFocusRingRects back to integers
834         https://bugs.webkit.org/show_bug.cgi?id=80545
835
836         Reviewed by Simon Fraser.
837
838         Converting the above functions, all of which return rects that represent on-screen rects, to IntRects from
839         LayoutRects.
840
841         addFocusRingsRects generates a vector of rects that is handed off directly to the GraphicsContext to be
842         drawn. Snapping the rects before adding them to the vector saves an extra pass through the vector.
843
844         absoluteRects and culledInlineAbsoluteRects are only used by addFocusRingRects, hasNonEmptyBoundingBox (only
845         to check if they're empty), and absoluteBoundingBoxRect, which is exposed from WebCore and thus should be an
846         IntRect anyways.
847
848         No new tests. No change in behavior.
849
850         * dom/Node.cpp:
851         (WebCore::Node::hasNonEmptyBoundingBox):
852         * dom/Range.cpp:
853         (WebCore::Range::boundingBox):
854         * rendering/RenderBlock.cpp:
855         (WebCore::RenderBlock::absoluteRects):
856         (WebCore::RenderBlock::addFocusRingRects):
857         * rendering/RenderBlock.h:
858         (RenderBlock):
859         * rendering/RenderInline.cpp:
860         (WebCore::RenderInline::absoluteRects):
861         (WebCore::RenderInline::culledInlineAbsoluteRects):
862         (WebCore::RenderInline::addFocusRingRects):
863         * rendering/RenderInline.h:
864         (RenderInline):
865         * rendering/RenderListBox.cpp:
866         (WebCore::RenderListBox::addFocusRingRects):
867         * rendering/RenderListBox.h:
868         (RenderListBox):
869         * rendering/RenderObject.cpp:
870         (WebCore::RenderObject::paintFocusRing):
871         (WebCore::RenderObject::absoluteBoundingBoxRect):
872         (WebCore::RenderObject::absoluteFocusRingQuads):
873         * rendering/RenderObject.h:
874         (WebCore::RenderObject::absoluteRects):
875         (RenderObject):
876         (WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
877         (WebCore::RenderObject::addFocusRingRects):
878         * rendering/RenderText.cpp:
879         (WebCore::RenderText::absoluteRects):
880         (WebCore::RenderText::absoluteRectsForRange):
881         * rendering/RenderText.h:
882         (RenderText):
883         * rendering/RenderTextControl.cpp:
884         (WebCore::RenderTextControl::addFocusRingRects):
885         * rendering/RenderTextControl.h:
886         (RenderTextControl):
887         * rendering/RenderView.cpp:
888         (WebCore::RenderView::absoluteRects):
889         * rendering/RenderView.h:
890         (RenderView):
891         * rendering/svg/RenderSVGBlock.cpp:
892         (WebCore::RenderSVGBlock::absoluteRects):
893         * rendering/svg/RenderSVGBlock.h:
894         (RenderSVGBlock):
895         * rendering/svg/RenderSVGContainer.cpp:
896         (WebCore::RenderSVGContainer::addFocusRingRects):
897         * rendering/svg/RenderSVGContainer.h:
898         (RenderSVGContainer):
899         * rendering/svg/RenderSVGImage.cpp:
900         (WebCore::RenderSVGImage::addFocusRingRects):
901         * rendering/svg/RenderSVGImage.h:
902         (RenderSVGImage):
903         * rendering/svg/RenderSVGModelObject.cpp:
904         (WebCore::RenderSVGModelObject::absoluteRects):
905         * rendering/svg/RenderSVGModelObject.h:
906         (RenderSVGModelObject):
907         * rendering/svg/RenderSVGShape.cpp:
908         (WebCore::RenderSVGShape::addFocusRingRects):
909         * rendering/svg/RenderSVGShape.h:
910         (RenderSVGShape):
911
912 2012-03-08  Erik Arvidsson  <arv@chromium.org>
913
914         [V8] Use EventNames instead of strings
915         https://bugs.webkit.org/show_bug.cgi?id=80649
916
917         Reviewed by Ojan Vafai.
918
919         No new tests. Covered by existing tests.
920
921         * bindings/v8/V8AbstractEventListener.cpp:
922         (WebCore::V8AbstractEventListener::invokeEventHandler):
923
924 2012-03-08  Tim Horton  <timothy_horton@apple.com>
925
926         No-op filter changes color output because of colorspace issues
927         https://bugs.webkit.org/show_bug.cgi?id=72411
928         <rdar://problem/10588374>
929
930         Reviewed by Dean Jackson.
931
932         Redefine "linear RGB" color space on Mac to mean linearized sRGB, instead of linear
933         Generic RGB. This makes existing CG color matching equivalent to what other ports do via
934         ImageBuffer::transformColorSpace (which only adjusts gamma, as we will now). Previously,
935         we were also causing actual (non-gamma) color adjustments which were not reversible.
936
937         No new tests, covered by all existing SVG and CSS filter tests.
938
939         * Resources/linearSRGB.icc: Added.
940         * WebCore.xcodeproj/project.pbxproj:
941         * platform/graphics/cg/GraphicsContextCG.cpp:
942         (WebCore::linearRGBColorSpaceRef):
943
944 2012-03-08  Beth Dakin  <bdakin@apple.com>
945
946         https://bugs.webkit.org/show_bug.cgi?id=80463
947         RenderImage is using the wrong origin when calling addRelevantRepaintedObject
948         -and corresponding-
949         <rdar://problem/10970221>
950
951         Reviewed by Dan Bernstein.
952
953         Use the exact same rect that we paint with instead of the 
954         visualOverflowRect() which does not always have a correct x and y.
955         * rendering/RenderImage.cpp:
956         (WebCore::RenderImage::paintReplaced):
957         * rendering/RenderVideo.cpp:
958         (WebCore::RenderVideo::paintReplaced):
959
960 2012-03-07  Jon Lee  <jonlee@apple.com>
961
962         Add support for ENABLE(LEGACY_NOTIFICATIONS)
963         https://bugs.webkit.org/show_bug.cgi?id=80497
964
965         Reviewed by Adam Barth.
966
967         Prep for b80472: Update API for Web Notifications
968         * Configurations/FeatureDefines.xcconfig:
969         * GNUmakefile.am:
970
971 2012-03-08  Jer Noble  <jer.noble@apple.com>
972
973         Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes.
974         https://bugs.webkit.org/show_bug.cgi?id=78928
975
976         Reviewed by Anders Carlsson.
977
978         Move WKFullScreenWindow from WebKit2 into WebCore to be shared by WebKit2 and WebKit.
979         * WebCore.xcodeproj/project.pbxproj:
980         * platform/mac/WebCoreFullScreenWindow.h:
981         * platform/mac/WebCoreFullScreenWindow.mm:
982
983         Add symbols for the following classes and functions to the export list:
984             WebCoreFullScreenWindow
985             WebWindowScaleAnimation
986             WebWindowFadeAnimation
987             ScrollView::contentsToScreen()
988             RenderObject::localToContainerQuad()
989             Document::setAnimatingFullScreen()
990         * WebCore.exp.in:
991
992 2012-03-08  Jer Noble  <jer.noble@apple.com>
993
994         Full Screen Refactor Part 1: Remove special-case rendering code for Full Screen animation.
995         https://bugs.webkit.org/show_bug.cgi?id=78925
996
997         Reviewed by John Sullivan.
998
999         No new tests; no net change in functionality so covered by existing tests.
1000
1001         The following functions had special case code for rendering full-screen elements removed:
1002         * dom/Document.cpp:
1003         (WebCore::Document::webkitWillEnterFullScreenForElement):
1004         (WebCore::Document::webkitDidEnterFullScreenForElement):
1005         (WebCore::Document::webkitWillExitFullScreenForElement):
1006         (WebCore::Document::webkitDidExitFullScreenForElement):
1007         (WebCore::Document::setAnimatingFullScreen):
1008         * page/FrameView.cpp:
1009         (WebCore):
1010         (WebCore::FrameView::updateCompositingLayers):
1011         (WebCore::FrameView::syncCompositingStateForThisFrame):
1012         * rendering/RenderLayerBacking.cpp:
1013         (WebCore::layerOrAncestorIsTransformed):
1014         (WebCore::RenderLayerBacking::updateCompositedBounds):
1015         * rendering/RenderLayerCompositor.cpp:
1016         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1017         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1018         * rendering/RenderLayerCompositor.h:
1019
1020 2012-03-08  Matt Lilek  <mrl@apple.com>
1021
1022         Don't enable VIDEO_TRACK on all OS X platforms
1023         https://bugs.webkit.org/show_bug.cgi?id=80635
1024
1025         Reviewed by Eric Carlson.
1026
1027         * Configurations/FeatureDefines.xcconfig:
1028
1029 2012-03-08  Tony Chang  <tony@chromium.org>
1030
1031         implement flexbox wrap-reverse
1032         https://bugs.webkit.org/show_bug.cgi?id=80552
1033
1034         Reviewed by Ojan Vafai.
1035
1036         No new tests, but additional coverage in:
1037             css3/flexbox/multiline-align.html
1038             css3/flexbox/multiline-pack.html
1039             css3/flexbox/multiline.html
1040
1041         * rendering/RenderFlexibleBox.cpp:
1042         (WebCore::RenderFlexibleBox::WrapReverseContext::WrapReverseContext): Helper struct to hold information needed for reversing
1043         the order of lines.
1044         (RenderFlexibleBox::WrapReverseContext):
1045         (WebCore::RenderFlexibleBox::WrapReverseContext::addCrossAxisOffset):
1046         (WebCore::RenderFlexibleBox::WrapReverseContext::addNumberOfChildrenOnLine):
1047         (WebCore::RenderFlexibleBox::WrapReverseContext::lineCrossAxisDelta): Computes the number of pixels to move a line.
1048         (WebCore):
1049         (WebCore::RenderFlexibleBox::layoutFlexItems): Call flipForWrapReverse if needed. This happens
1050         before flipForRightToLeftColumn because otherwise the crossAxisOffsets will be wrong.
1051         (WebCore::flexAlignForChild):
1052         (WebCore::RenderFlexibleBox::alignChildren): Flip alignment in wrap-reverse because the cross directions are flipped.
1053         (WebCore::RenderFlexibleBox::flipForWrapReverse): Flip each line.
1054         * rendering/RenderFlexibleBox.h:
1055         (RenderFlexibleBox):
1056
1057 2012-03-08  Adam Klein  <adamk@chromium.org>
1058
1059         Remove InDocumentFlag manipulation methods from Node interface
1060         https://bugs.webkit.org/show_bug.cgi?id=80612
1061
1062         Reviewed by Ryosuke Niwa.
1063
1064         This is a first step towards tightening up Node::inDocument() to match
1065         the actual in-document-tree state (see r108152 for the sort of bug
1066         resulting from those not matching).
1067
1068         No new tests, refactoring only.
1069
1070         * dom/ContainerNode.cpp:
1071         (WebCore::ContainerNode::removedFromDocument): Remove duplicate call to clearInDocument:
1072         the call to Node::removedFromDocument three lines above will clear the flag.
1073         * dom/Document.cpp:
1074         (WebCore::Document::Document): Call ContainerNode constructor with InDocumentFlag always set
1075         instead of calling setInDocument.
1076         * dom/Node.cpp:
1077         (WebCore::Node::insertedIntoDocument): Inline setInDocument (now the only caller).
1078         (WebCore::Node::removedFromDocument): Inline clearInDocument (now the only caller).
1079         * dom/Node.h: Remove setInDocument & clearInDocument, add new CreateDocument ConstructionType.
1080
1081 2012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1082
1083         [Qt] Try to fix the Snow Leopard build
1084
1085         If the build is running under sh, echo -n does not empty the file.
1086
1087         * DerivedSources.pri:
1088
1089 2012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1090
1091         Prospective build fix for Qt minimal after r110191
1092
1093         https://bugs.webkit.org/show_bug.cgi?id=80338
1094
1095         * testing/Internals.cpp:
1096         (WebCore):
1097         * testing/Internals.h:
1098         (Internals):
1099
1100 2012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1101
1102         [Qt] Prospective Windows build fix
1103
1104         Don't assume that windows-builds will always run inside a cmd.exe shell.
1105
1106         * DerivedSources.pri:
1107
1108 2012-03-08  Vivek Galatage  <vivekgalatage@gmail.com>
1109
1110         Web Inspector: Creating a selector for class names with trailing spaces results with two dots instead of one
1111         https://bugs.webkit.org/show_bug.cgi?id=80529
1112
1113         Trim the className before replacing the whitespaces with dot "."
1114
1115         Reviewed by Pavel Feldman.
1116
1117         No new tests.
1118
1119         * inspector/front-end/DOMAgent.js:
1120         (WebInspector.DOMNode.prototype.appropriateSelectorFor):
1121
1122 2012-03-08  Dan Bernstein  <mitz@apple.com>
1123
1124         <rdar://problem/10981173> Dashboard regions should not be in device space
1125
1126         Reviewed by John Sullivan.
1127
1128         Test: TestWebKitAPI/Tests/mac/DeviceScaleFactorInDashboardRegions.mm
1129
1130         * rendering/RenderInline.cpp:
1131         (WebCore::RenderInline::addDashboardRegions): Stop applying the device scale factor to
1132         Dashboard regions.
1133         * rendering/RenderObject.cpp:
1134         (WebCore::RenderObject::addDashboardRegions): Ditto.
1135
1136 2012-03-08  Cem Kocagil  <cem.kocagil@gmail.com>
1137
1138         Web Inspector: Cannot insert right curly bracket on some keyboards
1139         https://bugs.webkit.org/show_bug.cgi?id=80474
1140
1141         Make sure other modifiers are not pressed
1142
1143         Reviewed by Pavel Feldman
1144
1145         * inspector/front-end/inspector.js:
1146         (WebInspector.documentKeyDown):
1147
1148 2012-03-08  Max Vujovic  <mvujovic@adobe.com>
1149
1150         Add a method to window.internals to enable testing of inspector highlight rects
1151         https://bugs.webkit.org/show_bug.cgi?id=80338
1152
1153         Reviewed by Pavel Feldman.
1154
1155         Add window.internals.inspectorHighlightRects, a method which makes it possible to test the
1156         positions and sizes of inspector highlight rects.
1157
1158         Test: inspector/elements/highlight-node.html
1159
1160         * WebCore.exp.in: Export symbols.
1161         * testing/Internals.cpp:
1162         (WebCore::Internals::inspectorHighlightRects): Call InspectorController::getHighlight and
1163         return the highlight's quads as a ClientRectList.
1164         (WebCore):
1165         * testing/Internals.h:
1166         (WebCore):
1167         (Internals):
1168         * testing/Internals.idl:
1169
1170             Add inspectorHighlightRects to the window.internals interface.
1171
1172 2012-03-08  Antti Koivisto  <antti@apple.com>
1173
1174         https://bugs.webkit.org/show_bug.cgi?id=80370
1175         Enable matched declaration caching for elements with a style attribute
1176
1177         Reviewed by Andreas Kling
1178
1179         Make the property set for style attribute immutable as long as there is no CSSOM
1180         wrapper for it. If the style attribute changes we create a new property set instead
1181         of recycling the old one. This way the property sets can be made cacheable as long
1182         as there is no CSSOM wrapper that would allow uncontrolled modifications. Constructing
1183         the wrapper disables caching.
1184         
1185         Made StyledElement::inlineStyle() and StyledElement::ensureInlineStyle() return a const
1186         StylePropertySet so making accidental modifications difficult. Also dropped *Decl from
1187         the names.
1188         
1189         Fixed two unrelated bugs that this exposed.
1190
1191         * css/CSSStyleSelector.cpp:
1192         
1193             Don't allow caching of document element style if writingModeSetOnDocumentElement() bit is set.
1194             Tested by fast/multicol/vertical-rl/break-properties.html.
1195         
1196         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1197         * css/StylePropertySet.h:
1198         (StylePropertySet):
1199         (WebCore::StylePropertySet::hasCSSOMWrapper):
1200         * dom/Element.cpp:
1201         (WebCore::Element::recalcStyle):
1202         
1203             Invalidate the matched properties cache if the document has rem units and the root font changes.
1204             Tested by fast/css/rem-dynamic-scaling.html.
1205         
1206         * dom/ElementAttributeData.cpp:
1207         (WebCore):
1208         (WebCore::ElementAttributeData::ensureInlineStyle):
1209         (WebCore::ElementAttributeData::ensureMutableInlineStyle):
1210         (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
1211         (WebCore::ElementAttributeData::destroyInlineStyle):
1212         * dom/ElementAttributeData.h:
1213         (WebCore::ElementAttributeData::inlineStyle):
1214         (ElementAttributeData):
1215         * dom/StyledElement.cpp:
1216         (WebCore::StyledElement::updateStyleAttribute):
1217         (WebCore::StyledElement::~StyledElement):
1218         (WebCore):
1219         (WebCore::StyledElement::style):
1220         (WebCore::StyledElement::parseAttribute):
1221         (WebCore::StyledElement::setInlineStyleProperty):
1222         (WebCore::StyledElement::removeInlineStyleProperty):
1223         (WebCore::StyledElement::addSubresourceAttributeURLs):
1224         * dom/StyledElement.h:
1225         (WebCore::StyledElement::inlineStyle):
1226         (WebCore::StyledElement::ensureInlineStyle):
1227         (StyledElement):
1228         (WebCore::StyledElement::destroyInlineStyle):
1229         * editing/ApplyStyleCommand.cpp:
1230         (WebCore::hasNoAttributeOrOnlyStyleAttribute):
1231         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1232         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1233         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1234         (WebCore::ApplyStyleCommand::removeCSSStyle):
1235         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
1236         (WebCore::ApplyStyleCommand::addBlockStyle):
1237         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1238         * editing/EditingStyle.cpp:
1239         (WebCore::HTMLElementEquivalent::propertyExistsInStyle):
1240         (HTMLTextDecorationEquivalent):
1241         (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
1242         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
1243         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
1244         (WebCore::EditingStyle::mergeInlineStyleOfElement):
1245         (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl):
1246         (WebCore::EditingStyle::mergeStyle):
1247         * editing/EditingStyle.h:
1248         (EditingStyle):
1249         * editing/RemoveCSSPropertyCommand.cpp:
1250         (WebCore::RemoveCSSPropertyCommand::doApply):
1251         * editing/ReplaceSelectionCommand.cpp:
1252         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1253         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
1254         * editing/markup.cpp:
1255         (WebCore::StyledMarkupAccumulator::appendElement):
1256         (WebCore::styleFromMatchedRulesAndInlineDecl):
1257         * html/HTMLElement.cpp:
1258         (WebCore::StyledElement::copyNonAttributeProperties):
1259         * html/canvas/CanvasStyle.cpp:
1260         (WebCore::currentColor):
1261         * page/PageSerializer.cpp:
1262         (WebCore::PageSerializer::serializeFrame):
1263         (WebCore::PageSerializer::retrieveResourcesForProperties):
1264         * page/PageSerializer.h:
1265         (PageSerializer):
1266         * rendering/RenderTreeAsText.cpp:
1267         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
1268
1269 2012-03-08  Scott Byer  <scottbyer@chromium.org>
1270
1271         Have ScrollAnimatorNone use requestAnimationFrame
1272         https://bugs.webkit.org/show_bug.cgi?id=78938
1273
1274         Reviewed by James Robinson.
1275
1276         No new tests. Passes Chromium webkit_unit_tests.
1277
1278         * page/FrameView.cpp:
1279         (WebCore::FrameView::serviceScriptedAnimations):
1280         * platform/ScrollAnimator.h:
1281         (WebCore::ScrollAnimator::serviceScrollAnimations):
1282         * platform/ScrollAnimatorNone.cpp:
1283         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
1284         (WebCore::ScrollAnimatorNone::scroll):
1285         (WebCore::ScrollAnimatorNone::cancelAnimations):
1286         (WebCore):
1287         (WebCore::ScrollAnimatorNone::serviceScrollAnimations):
1288         (WebCore::ScrollAnimatorNone::animationTimerFired):
1289         (WebCore::ScrollAnimatorNone::startNextTimer):
1290         (WebCore::ScrollAnimatorNone::animationTimerActive):
1291         (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
1292         * platform/ScrollAnimatorNone.h:
1293         (ScrollAnimatorNone):
1294         * platform/ScrollableArea.cpp:
1295         (WebCore::ScrollableArea::serviceScrollAnimations):
1296         (WebCore):
1297         * platform/ScrollableArea.h:
1298         (WebCore):
1299         (ScrollableArea):
1300         * rendering/RenderLayer.h:
1301         (WebCore::RenderLayer::hostWindow):
1302         (RenderLayer):
1303         * rendering/RenderListBox.h:
1304         (WebCore::RenderListBox::hostWindow):
1305         (RenderListBox):
1306
1307 2012-03-08  Dan Bernstein  <mitz@apple.com>
1308
1309         REGRESSION (r109964): Assertion failure (!isUndefined()) in Length::getIntValue() when a Dashboard region is specified without offsets
1310         https://bugs.webkit.org/show_bug.cgi?id=80614
1311
1312         Reviewed by Beth Dakin.
1313
1314         Test: fast/css/dashboard-regions-undefined-length-assertion.html
1315
1316         * css/CSSStyleSelector.cpp:
1317         (WebCore::CSSStyleSelector::collectMatchingRulesForList): Reverted to setting zero lengths,
1318         rather than Undefined ones, in the RenderStyle when offsets are not given.
1319
1320 2012-03-08  Mikkel Kruse Johnsen  <mikkel@linet.dk>
1321
1322         WebKitGtk+ fails to build on win32 against GTK3
1323         https://bugs.webkit.org/show_bug.cgi?id=63919
1324
1325         Reviewed by Gustavo Noronha Silva.
1326
1327         * plugins/gtk/PluginViewGtk.cpp: Don't use gtk_socket_new with GTK3 on Win32
1328         (WebCore::PluginView::platformStart):
1329
1330 2012-03-08  Jason Liu  <jason.liu@torchmobile.com.cn>
1331
1332         [BlackBerry]New feature: support about:cookie for internal build.
1333         https://bugs.webkit.org/show_bug.cgi?id=80367
1334
1335         Reviewed by Antonio Gomes.
1336
1337         No new tests.
1338
1339         * platform/blackberry/CookieManager.cpp:
1340         (WebCore::CookieManager::generateHtmlFragmentForCookies):
1341         (WebCore):
1342         * platform/blackberry/CookieManager.h:
1343         * platform/network/blackberry/NetworkJob.cpp:
1344         (WebCore::NetworkJob::handleAbout):
1345
1346 2012-03-08  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1347
1348         Make elements with attributes smaller by eliminating the m_element back pointer in NamedNodeMap
1349         https://bugs.webkit.org/show_bug.cgi?id=75069
1350
1351         Reviewed by Ryosuke Niwa.
1352
1353         NamedNodeMap is an exposed DOM representation of an element's attribute storage. As part of
1354         its implementation it keeps a pointer to its associated Element plus all the attribute
1355         storage.
1356
1357         This commit separate the two things: NamedNodeMap is now a wrapper to Element, containing
1358         only the pointer, and the attribute storage is now owned by Element directly. Since usage
1359         of NamedNodeMap is not very common, it can be stored in ElementRareData. As a result, most
1360         elements with attributes now don't need to allocate memory for that extra pointer in
1361         NamedNodeMap.
1362
1363         One consequence of this implementation is that now we explicitly don't support
1364         DocumentType.notations and DocumentType.entities. They weren't supported before, a
1365         NamedNodeMap was never created for those attributes -- and some NamedNodeMap functions
1366         wouldn't work correctly without an associated Element.
1367
1368         NamedNodeMap itself was cleaned up, as well as unnecessary references to it removed in the
1369         code and comments.
1370
1371         No new tests and should not change results for existing tests.
1372
1373         * dom/Attribute.h:
1374         (WebCore):
1375         * dom/DocumentType.h:
1376         (DocumentType): Point out that we don't support does attributes yet.
1377         * dom/Element.cpp:
1378         (WebCore::Element::~Element): Detaching the NamedNodeMap is no longer necessary because it
1379         will be destroyed. We still detach the potential Attrs inside our Attributes by using
1380         clearAttributes().
1381         (WebCore::Element::attributes): Looks in ElementRareData now. Note we ensure the creation
1382         of the attribute storage.
1383         (WebCore):
1384         (WebCore::Element::getAttribute):
1385         (WebCore::Element::setAttributeInternal):
1386         (WebCore::Element::parserSetAttributes):
1387         (WebCore::Element::hasAttributes):
1388         (WebCore::Element::createAttributeData):
1389         (WebCore::Element::insertedIntoDocument):
1390         (WebCore::Element::removedFromDocument):
1391         (WebCore::Element::getURLAttribute):
1392         (WebCore::Element::getNonEmptyURLAttribute):
1393         (WebCore::Element::hasNamedNodeMap): Helper function for Node::dumpStatistics().
1394         * dom/Element.h:
1395         (Element):
1396         (WebCore::Element::attributeData):
1397         (WebCore::Element::ensureAttributeData):
1398         (WebCore::Element::fastHasAttribute):
1399         (WebCore::Element::fastGetAttribute):
1400         (WebCore::Element::hasAttributesWithoutUpdate):
1401         (WebCore::Element::idForStyleResolution):
1402         (WebCore::Element::attributeCount):
1403         (WebCore::Element::attributeItem):
1404         (WebCore::Element::getAttributeItem):
1405         * dom/ElementAttributeData.h:
1406         (WebCore::ElementAttributeData::create):
1407         (ElementAttributeData):
1408         * dom/ElementRareData.h:
1409         (ElementRareData):
1410         * dom/NamedNodeMap.cpp: Rewriting now that m_attributeData is not a member, using m_element
1411         methods when possible.
1412         (WebCore::NamedNodeMap::ref):
1413         (WebCore::NamedNodeMap::deref):
1414         (WebCore::NamedNodeMap::getNamedItem):
1415         (WebCore::NamedNodeMap::getNamedItemNS):
1416         (WebCore::NamedNodeMap::removeNamedItem):
1417         (WebCore::NamedNodeMap::removeNamedItemNS):
1418         (WebCore::NamedNodeMap::setNamedItem):
1419         (WebCore::NamedNodeMap::item):
1420         (WebCore::NamedNodeMap::length):
1421         * dom/NamedNodeMap.h:
1422         (WebCore):
1423         (WebCore::NamedNodeMap::create):
1424         (NamedNodeMap):
1425         (WebCore::NamedNodeMap::NamedNodeMap): Instead of asserting m_element in every function, we
1426         now assert only in the constructor.
1427         * dom/Node.cpp:
1428         (WebCore::Node::dumpStatistics): Add a counter for elements with rare data, this allows us
1429         compare more clearly the impact of moving NamedNodeMap there.
1430         (WebCore::Node::isEqualNode): Remove use of mapsEquivalent(). It was dead code, because
1431         both entities and notations were always NULL.
1432         (WebCore::Node::compareDocumentPosition):
1433         * inspector/DOMPatchSupport.h:
1434         (WebCore):
1435         * svg/SVGElement.cpp:
1436         (WebCore::SVGElement::attributeChanged):
1437
1438 2012-03-08  Robin Cao  <robin.cao@torchmobile.com.cn>
1439
1440         [BlackBerry] Upstream WebGL related files from platform/graphics
1441         https://bugs.webkit.org/show_bug.cgi?id=79876
1442
1443         Reviewed by Rob Buis.
1444
1445         Initial upstream, no new tests.
1446
1447         * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp: Added.
1448         (WebCore):
1449         (DrawingBufferInternal):
1450         (WebCore::generateColorTexture):
1451         (WebCore::DrawingBuffer::DrawingBuffer):
1452         (WebCore::DrawingBuffer::~DrawingBuffer):
1453         (WebCore::DrawingBuffer::publishToPlatformLayer):
1454         (WebCore::DrawingBuffer::reset):
1455         (WebCore::DrawingBuffer::platformLayer):
1456         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp: Added.
1457         (WebCore):
1458         (WebCore::GraphicsContext3D::create):
1459         (WebCore::GraphicsContext3D::GraphicsContext3D):
1460         (WebCore::GraphicsContext3D::~GraphicsContext3D):
1461         (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
1462         (WebCore::GraphicsContext3D::makeContextCurrent):
1463         (WebCore::GraphicsContext3D::isGLES2Compliant):
1464         (WebCore::GraphicsContext3D::isGLES2NPOTStrict):
1465         (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
1466         (WebCore::GraphicsContext3D::platformTexture):
1467         (WebCore::GraphicsContext3D::platformLayer):
1468         (WebCore::GraphicsContext3D::paintToCanvas):
1469         (WebCore::GraphicsContext3D::setContextLostCallback):
1470         * platform/graphics/blackberry/WebGLLayerWebKitThread.cpp: Added.
1471         (WebCore):
1472         (WebCore::WebGLLayerWebKitThread::WebGLLayerWebKitThread):
1473         (WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread):
1474         (WebCore::WebGLLayerWebKitThread::setNeedsDisplay):
1475         (WebCore::WebGLLayerWebKitThread::updateTextureContentsIfNeeded):
1476         * platform/graphics/blackberry/WebGLLayerWebKitThread.h: Added.
1477         (WebCore):
1478         (WebGLLayerWebKitThread):
1479         (WebCore::WebGLLayerWebKitThread::create):
1480         (WebCore::WebGLLayerWebKitThread::setWebGLContext):
1481
1482 2012-03-08  Yong Li  <yoli@rim.com>
1483
1484         [BlackBerry] LayerRender should turn off stencil/scissor after drawing layers
1485         https://bugs.webkit.org/show_bug.cgi?id=80598
1486
1487         Reviewed by Rob Buis.
1488
1489         Turn off stencil/scissor after using them to avoid affecting later GL operation
1490         accidentally.
1491
1492         * platform/graphics/blackberry/LayerRenderer.cpp:
1493         (WebCore::LayerRenderer::drawLayers):
1494
1495 2012-03-08  Simon Hausmann  <simon.hausmann@nokia.com>
1496
1497         [Qt] Windows build fix.
1498
1499         Reviewed by Tor Arne Vestbø.
1500
1501         * DerivedSources.pri: Replace commandline that is too long for Windows with
1502         separate lines to be executed in the Makefile for the IDL preprocessing.
1503
1504 2012-03-08  Ilya Tikhonovsky  <loislo@chromium.org>
1505
1506         Web Inspector: The function had to return a hash but it returned just address.
1507         https://bugs.webkit.org/show_bug.cgi?id=80591
1508
1509         Reviewed by Yury Semikhatsky.
1510
1511         * bindings/v8/RetainedDOMInfo.cpp:
1512         (WebCore::RetainedDOMInfo::GetHash):
1513
1514 2012-03-08  Ilya Tikhonovsky  <loislo@chromium.org>
1515
1516         Unreviewed single line fix. The function had to return a hash but it returned just address.
1517
1518         * bindings/v8/V8GCController.cpp:
1519         (WebCore::UnspecifiedGroup::GetHash):
1520
1521 2012-03-08  Shinya Kawanaka  <shinyak@chromium.org>
1522
1523         <shadow> should be rendered correctly.
1524         https://bugs.webkit.org/show_bug.cgi?id=78596
1525
1526         Reviewed by Hajime Morita.
1527
1528         This patch supports <shadow> element rendering.
1529
1530         When attaching <shadow> element, if it is in the oldest shadow tree, it runs a part of
1531         distribution algorithm. If it is in non-oldest shadow tree, it runs tree a part of
1532         tree composition algorithm to assign a older shadow root. In this patch, InsertionPonit
1533         try to treat the distributed host children and the assigned shadow children similarly.
1534
1535         NodeRenderingContext supports rendering <shadow> element. Since the assigned shadow children
1536         are treated like distributed host children, that change is to consider non-youngest shadow
1537         tree basically also.
1538
1539         Tests: fast/dom/shadow/shadow-element-rendering-multiple.html
1540                fast/dom/shadow/shadow-element-rendering-single.html
1541
1542         * dom/NodeRenderingContext.cpp:
1543         (WebCore):
1544         (WebCore::NodeRenderingContext::NodeRenderingContext):
1545           Does not ignore non-youngest shadow tree.
1546         * dom/ShadowRoot.cpp:
1547         (WebCore::ShadowRoot::ShadowRoot):
1548         * dom/ShadowRoot.h:
1549         (ShadowRoot):
1550         (WebCore::ShadowRoot::assignedTo):
1551         (WebCore):
1552         (WebCore::ShadowRoot::setAssignedTo):
1553         (WebCore::ShadowRoot::isUsedForRendering):
1554           Returns true if ShadowRoot is youngest or assigned to some InsertionPoint.
1555         (WebCore::toShadowRoot):
1556         * dom/ShadowTree.cpp:
1557         (WebCore::ShadowTree::insertionPointFor):
1558           Returns InsertionPoint to which node is distributed.
1559         * dom/ShadowTree.h:
1560         (ShadowTree):
1561         * html/shadow/HTMLContentElement.h:
1562         (WebCore::HTMLContentElement::doesSelectFromHostChildren):
1563         (HTMLContentElement):
1564         * html/shadow/HTMLShadowElement.cpp:
1565         (WebCore::HTMLShadowElement::HTMLShadowElement):
1566         (WebCore::HTMLShadowElement::select):
1567         (WebCore::HTMLShadowElement::doesSelectFromHostChildren):
1568         (WebCore):
1569         * html/shadow/HTMLShadowElement.h:
1570         (HTMLShadowElement):
1571         * html/shadow/InsertionPoint.cpp:
1572         (WebCore::InsertionPoint::attach):
1573         (WebCore::InsertionPoint::detach):
1574         (WebCore::InsertionPoint::assignedFrom):
1575         (WebCore):
1576         (WebCore::InsertionPoint::assignShadowRoot):
1577         (WebCore::InsertionPoint::clearAssignment):
1578         * html/shadow/InsertionPoint.h:
1579         (InsertionPoint):
1580
1581 2012-03-06  Hans Wennborg  <hans@chromium.org>
1582
1583         Speech JavaScript API: SpeechRecognitionAlternative, Result and ResultList
1584         https://bugs.webkit.org/show_bug.cgi?id=80424
1585
1586         Reviewed by Adam Barth.
1587
1588         Implement the SpeechRecognitionAlternative,
1589         SpeechRecognitionResult and SpeechRecognitionResultList.
1590         (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)
1591
1592         No new tests because these interfaces don't have constructors.
1593         They will be tested as more of the API gets implemented.
1594
1595         * Modules/speech/SpeechRecognitionAlternative.cpp: Added.
1596         (WebCore):
1597         (WebCore::SpeechRecognitionAlternative::create):
1598         (WebCore::SpeechRecognitionAlternative::SpeechRecognitionAlternative):
1599         * Modules/speech/SpeechRecognitionAlternative.h: Added.
1600         (WebCore):
1601         (SpeechRecognitionAlternative):
1602         (WebCore::SpeechRecognitionAlternative::transcript):
1603         (WebCore::SpeechRecognitionAlternative::confidence):
1604         * Modules/speech/SpeechRecognitionAlternative.idl: Added.
1605         * Modules/speech/SpeechRecognitionResult.cpp: Added.
1606         (WebCore):
1607         (WebCore::SpeechRecognitionResult::create):
1608         (WebCore::SpeechRecognitionResult::item):
1609         (WebCore::SpeechRecognitionResult::SpeechRecognitionResult):
1610         * Modules/speech/SpeechRecognitionResult.h: Added.
1611         (WebCore):
1612         (SpeechRecognitionResult):
1613         (WebCore::SpeechRecognitionResult::length):
1614         (WebCore::SpeechRecognitionResult::final):
1615         * Modules/speech/SpeechRecognitionResult.idl: Added.
1616         * Modules/speech/SpeechRecognitionResultList.cpp: Added.
1617         (WebCore):
1618         (WebCore::SpeechRecognitionResultList::create):
1619         (WebCore::SpeechRecognitionResultList::item):
1620         (WebCore::SpeechRecognitionResultList::SpeechRecognitionResultList):
1621         * Modules/speech/SpeechRecognitionResultList.h: Added.
1622         (WebCore):
1623         (SpeechRecognitionResultList):
1624         (WebCore::SpeechRecognitionResultList::length):
1625         * Modules/speech/SpeechRecognitionResultList.idl: Added.
1626         * WebCore.gypi:
1627
1628 2012-03-08  Robin Cao  <robin.cao@torchmobile.com.cn>
1629
1630         [BlackBerry] Upstream GraphicsLayerBlackBerry.{h, cpp}
1631         https://bugs.webkit.org/show_bug.cgi?id=79867
1632
1633         Reviewed by Rob Buis.
1634
1635         Initial upstream, no new tests.
1636
1637         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp: Added.
1638         (WebCore):
1639         (WebCore::setLayerBorderColor):
1640         (WebCore::clearBorderColor):
1641         (WebCore::setLayerBackgroundColor):
1642         (WebCore::clearLayerBackgroundColor):
1643         (WebCore::GraphicsLayer::create):
1644         (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
1645         (WebCore::GraphicsLayerBlackBerry::~GraphicsLayerBlackBerry):
1646         (WebCore::GraphicsLayerBlackBerry::setName):
1647         (WebCore::GraphicsLayerBlackBerry::setChildren):
1648         (WebCore::GraphicsLayerBlackBerry::addChild):
1649         (WebCore::GraphicsLayerBlackBerry::addChildAtIndex):
1650         (WebCore::GraphicsLayerBlackBerry::addChildBelow):
1651         (WebCore::GraphicsLayerBlackBerry::addChildAbove):
1652         (WebCore::GraphicsLayerBlackBerry::replaceChild):
1653         (WebCore::GraphicsLayerBlackBerry::removeFromParent):
1654         (WebCore::GraphicsLayerBlackBerry::setPosition):
1655         (WebCore::GraphicsLayerBlackBerry::setAnchorPoint):
1656         (WebCore::GraphicsLayerBlackBerry::setSize):
1657         (WebCore::GraphicsLayerBlackBerry::setTransform):
1658         (WebCore::GraphicsLayerBlackBerry::setChildrenTransform):
1659         (WebCore::GraphicsLayerBlackBerry::setPreserves3D):
1660         (WebCore::GraphicsLayerBlackBerry::setMasksToBounds):
1661         (WebCore::GraphicsLayerBlackBerry::setDrawsContent):
1662         (WebCore::GraphicsLayerBlackBerry::setContentsVisible):
1663         (WebCore::GraphicsLayerBlackBerry::setMaskLayer):
1664         (WebCore::GraphicsLayerBlackBerry::setReplicatedByLayer):
1665         (WebCore::GraphicsLayerBlackBerry::setFixedPosition):
1666         (WebCore::GraphicsLayerBlackBerry::setHasFixedContainer):
1667         (WebCore::GraphicsLayerBlackBerry::setHasFixedAncestorInDOMTree):
1668         (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
1669         (WebCore::GraphicsLayerBlackBerry::clearBackgroundColor):
1670         (WebCore::GraphicsLayerBlackBerry::setContentsOpaque):
1671         (WebCore::GraphicsLayerBlackBerry::setBackfaceVisibility):
1672         (WebCore::GraphicsLayerBlackBerry::setOpacity):
1673         (WebCore::GraphicsLayerBlackBerry::setContentsNeedsDisplay):
1674         (WebCore::GraphicsLayerBlackBerry::setNeedsDisplay):
1675         (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
1676         (WebCore::GraphicsLayerBlackBerry::setContentsRect):
1677         (WebCore::removeAnimationByIdAndProperty):
1678         (WebCore::removeAnimationByName):
1679         (WebCore::GraphicsLayerBlackBerry::addAnimation):
1680         (WebCore::GraphicsLayerBlackBerry::pauseAnimation):
1681         (WebCore::GraphicsLayerBlackBerry::removeAnimation):
1682         (WebCore::GraphicsLayerBlackBerry::suspendAnimations):
1683         (WebCore::GraphicsLayerBlackBerry::resumeAnimations):
1684         (WebCore::GraphicsLayerBlackBerry::setContentsToImage):
1685         (WebCore::GraphicsLayerBlackBerry::updateContentsImage):
1686         (WebCore::GraphicsLayerBlackBerry::setContentsToCanvas):
1687         (WebCore::GraphicsLayerBlackBerry::setContentsToMedia):
1688         (WebCore::GraphicsLayerBlackBerry::hostLayerForSublayers):
1689         (WebCore::GraphicsLayerBlackBerry::layerForSuperlayer):
1690         (WebCore::GraphicsLayerBlackBerry::platformLayer):
1691         (WebCore::GraphicsLayerBlackBerry::setDebugBackgroundColor):
1692         (WebCore::GraphicsLayerBlackBerry::setDebugBorder):
1693         (WebCore::GraphicsLayerBlackBerry::updateSublayerList):
1694         (WebCore::GraphicsLayerBlackBerry::updateLayerPosition):
1695         (WebCore::GraphicsLayerBlackBerry::updateLayerSize):
1696         (WebCore::GraphicsLayerBlackBerry::updateAnchorPoint):
1697         (WebCore::GraphicsLayerBlackBerry::updateTransform):
1698         (WebCore::GraphicsLayerBlackBerry::updateChildrenTransform):
1699         (WebCore::GraphicsLayerBlackBerry::updateMasksToBounds):
1700         (WebCore::GraphicsLayerBlackBerry::updateContentsOpaque):
1701         (WebCore::GraphicsLayerBlackBerry::updateBackfaceVisibility):
1702         (WebCore::GraphicsLayerBlackBerry::updateLayerPreserves3D):
1703         (WebCore::GraphicsLayerBlackBerry::updateLayerIsDrawable):
1704         (WebCore::GraphicsLayerBlackBerry::updateFixedPosition):
1705         (WebCore::GraphicsLayerBlackBerry::updateHasFixedContainer):
1706         (WebCore::GraphicsLayerBlackBerry::updateHasFixedAncestorInDOMTree):
1707         (WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
1708         (WebCore::GraphicsLayerBlackBerry::updateAnimations):
1709         (WebCore::GraphicsLayerBlackBerry::updateContentsVideo):
1710         (WebCore::GraphicsLayerBlackBerry::updateContentsRect):
1711         (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
1712         (WebCore::GraphicsLayerBlackBerry::updateOpacityOnLayer):
1713         (WebCore::GraphicsLayerBlackBerry::contentsVisible):
1714         * platform/graphics/blackberry/GraphicsLayerBlackBerry.h: Added.
1715         (WebCore):
1716         (GraphicsLayerBlackBerry):
1717         (WebCore::GraphicsLayerBlackBerry::notifySyncRequired):
1718         (WebCore::GraphicsLayerBlackBerry::notifyAnimationStarted):
1719         (WebCore::GraphicsLayerBlackBerry::primaryLayer):
1720         (WebCore::GraphicsLayerBlackBerry::contentsLayer):
1721
1722 2012-03-07  Shinya Kawanaka  <shinyak@chromium.org>
1723
1724         Refactoring: Remove Node::isContentElement and Node::isShadowElement.
1725         https://bugs.webkit.org/show_bug.cgi?id=80501
1726
1727         Reviewed by Hajime Morita.
1728
1729         Removes Node::isContentElement and Node::isShadowElement. These methods are replaced
1730         by hasTagName. However the tag name of HTMLContentElement was not consistent,
1731         this patch make them consistent.
1732
1733         No new tests. Should be covered by existing tests.
1734
1735         * dom/Node.h:
1736         * html/HTMLElement.h:
1737         (WebCore::HTMLElement::isInsertionPoint):
1738         (HTMLElement):
1739         * html/HTMLSummaryElement.cpp:
1740         (WebCore::SummaryContentElement::SummaryContentElement):
1741           It uses HTMLNames::divTag as tagname. It should use HTMLNames::webkitShadowTagName.
1742         * html/shadow/HTMLContentElement.h:
1743         (HTMLContentElement):
1744         * html/shadow/InsertionPoint.h:
1745         (InsertionPoint):
1746         (WebCore::InsertionPoint::isInsertionPoint):
1747         (WebCore::isInsertionPoint):
1748         * testing/Internals.cpp:
1749         (WebCore::Internals::isValidContentSelect):
1750         * testing/Internals.h:
1751         (Internals):
1752
1753 2012-03-07  Adam Barth  <abarth@webkit.org>
1754
1755         ContainerNode::insertedIntoDocument and removedFromDocument use weak iteration patterns
1756         https://bugs.webkit.org/show_bug.cgi?id=80569
1757
1758         Reviewed by Ryosuke Niwa.
1759
1760         This patch moves ContainerNode::insertedIntoDocument and
1761         removedFromDocument to using a better iteration pattern in which we
1762         collect all the nodes we're planning to iterate into a vector and then
1763         iterate over them.
1764
1765         * dom/ContainerNode.cpp:
1766         (WebCore::ContainerNode::insertedIntoDocument):
1767         (WebCore::ContainerNode::removedFromDocument):
1768
1769 2012-03-07  Ami Fischman  <fischman@chromium.org>
1770
1771         [Chromium] Allow CCLayerTreeHost::context() to be called even with the threaded compositor enabled.
1772         https://bugs.webkit.org/show_bug.cgi?id=80565
1773
1774         Reviewed by James Robinson.
1775
1776         This gets triggered by the video HW decode+render path when threaded compositor is enabled
1777         (https://chromiumcodereview.appspot.com/9639005/)
1778
1779         No new tests.
1780
1781         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1782         (WebCore::CCLayerTreeHost::context):
1783
1784 2012-03-07  Mike Lawther  <mikelawther@chromium.org>
1785
1786         CSS3 calc: mixed absolute/percentages work for width, height, margin and padding
1787         https://bugs.webkit.org/show_bug.cgi?id=79621
1788
1789         Reviewed by Andreas Kling.
1790
1791         ApplyPropertyLength in CSSStyleApplyPropery now handles mixed absolute/percentage
1792         length expressions. All property handlers using this template now work with
1793         mixed expressions.
1794
1795         This patch adds a new expression evaluator in CalculationValue.cpp. This is because
1796         Length.[cpp|h] (in platform) cannot refer to CSSCalculationValue.[cpp|h] (in css) 
1797         due to layering restrictions.
1798
1799         Lengths can be copied, and so the expressions are stored in a hashmap, and only their
1800         ids are copied along with Length. The expressions are RefCounted, and will get 
1801         cleaned up when the last referring Length is destructed.
1802
1803         * WebCore.exp.in:
1804         * css/CSSCalculationValue.cpp:
1805         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
1806         (CSSCalcPrimitiveValue):
1807         (WebCore::CSSCalcBinaryOperation::toCalcValue):
1808         (CSSCalcBinaryOperation):
1809         * css/CSSCalculationValue.h:
1810         (WebCore):
1811         (CSSCalcExpressionNode):
1812         (CSSCalcValue):
1813         (WebCore::CSSCalcValue::toCalcValue):
1814         * css/CSSPrimitiveValue.cpp:
1815         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1816         * css/CSSStyleApplyProperty.cpp:
1817         (WebCore::ApplyPropertyLength::applyValue):
1818         * css/CSSStyleSelector.cpp:
1819         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1820         * css/CSSStyleSelector.h:
1821         (CSSStyleSelector):
1822         * platform/CalculationValue.cpp:
1823         (WebCore::CalcExpressionBinaryOperation::evaluate):
1824         (WebCore):
1825         (WebCore::CalculationValue::create):
1826         (WebCore::CalculationValue::evaluate):
1827         * platform/CalculationValue.h:
1828         (CalcExpressionNode):
1829         (WebCore::CalcExpressionNode::~CalcExpressionNode):
1830         (WebCore):
1831         (CalculationValue):
1832         (WebCore::CalculationValue::CalculationValue):
1833         (CalcExpressionNumber):
1834         (WebCore::CalcExpressionNumber::CalcExpressionNumber):
1835         (WebCore::CalcExpressionNumber::evaluate):
1836         (CalcExpressionLength):
1837         (WebCore::CalcExpressionLength::CalcExpressionLength):
1838         (WebCore::CalcExpressionLength::evaluate):
1839         (CalcExpressionBinaryOperation):
1840         (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
1841         * platform/Length.cpp:
1842         (WebCore):
1843         (WebCore::Length::~Length):
1844         (CalculationValueHandleMap):
1845         (WebCore::CalculationValueHandleMap::CalculationValueHandleMap):
1846         (WebCore::CalculationValueHandleMap::insert):
1847         (WebCore::CalculationValueHandleMap::remove):
1848         (WebCore::CalculationValueHandleMap::get):
1849         (WebCore::calcHandles):
1850         (WebCore::Length::Length):
1851         (WebCore::Length::calculationValue):
1852         (WebCore::Length::calculatedValue):
1853         (WebCore::Length::calculatedMinValue):
1854         (WebCore::Length::calculatedFloatValue):
1855         (WebCore::Length::incrementCalculatedRef):
1856         (WebCore::Length::decrementCalculatedRef):
1857         (WebCore::Length::nonNanCalculatedValue):
1858         * platform/Length.h:
1859         (Length):
1860         (WebCore::Length::Length):
1861         (WebCore::Length::operator=):
1862         (WebCore::Length::operator*=):
1863         (WebCore::Length::value):
1864         (WebCore::Length::setValue):
1865         (WebCore::Length::calcValue):
1866         (WebCore::Length::calcMinValue):
1867         (WebCore::Length::calcFloatValue):
1868         (WebCore::Length::isZero):
1869         (WebCore::Length::isPositive):
1870         (WebCore::Length::isNegative):
1871         (WebCore::Length::isPercent):
1872         (WebCore::Length::isSpecified):
1873         (WebCore::Length::isCalculated):
1874         (WebCore::Length::initFromLength):
1875         (WebCore::Length::calculationHandle):
1876
1877 2012-03-07  Kent Tamura  <tkent@chromium.org>
1878
1879         Do not refer to resutlsButtonElement and cancelButtonElement to compute paddings of search popups
1880         https://bugs.webkit.org/show_bug.cgi?id=80564
1881
1882         Reviewed by Hajime Morita.
1883
1884         We'd like to reduce dependency of resultsButtonElement and
1885         cancelButtonElement from RenderTextControlSingleLine.
1886
1887         No behavior change.
1888
1889         * rendering/RenderTextControlSingleLine.cpp:
1890         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
1891         Use the left position of innerBlockElement, instead of the width of resultsButtonElement.
1892         They are equivalent.
1893         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
1894         Use <the container width - right position of innerBlockElement>,
1895         instead of the width of the cancelButtonElement. They are
1896         equivalent.
1897
1898 2012-03-07  Mike Lawther  <mikelawther@chromium.org>
1899
1900         use DEFINE_STATIC_LOCAL on Lengths to avoid exit time destructors
1901         https://bugs.webkit.org/show_bug.cgi?id=80561
1902
1903         Reviewed by Eric Seidel.
1904
1905         This is in preparation for http://wkb.ug/79621 where a destructor is added to Length.
1906
1907         No new tests as this is not a behaviour change.
1908
1909         * css/CSSStyleApplyProperty.cpp:
1910         (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
1911
1912 2012-03-07  Adam Barth  <abarth@webkit.org>
1913
1914         ContainerNode::willRemove uses a weak iteration pattern
1915         https://bugs.webkit.org/show_bug.cgi?id=80530
1916
1917         Reviewed by Ryosuke Niwa.
1918
1919         This patch moves ContainerNode::willRemove to using a better iteration
1920         pattern in which we collect all the nodes we're planning to iterate
1921         into a vector and then iterate over them.
1922
1923         * dom/ContainerNode.cpp:
1924         (WebCore::ContainerNode::willRemove):
1925
1926 2012-03-07  Kentaro Hara  <haraken@chromium.org>
1927
1928         [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
1929         Element.dataset and Node.attributes
1930         https://bugs.webkit.org/show_bug.cgi?id=80376
1931
1932         Reviewed by Adam Barth.
1933
1934         This patch improves the performance of HTMLElement.classList, Element.dataset
1935         and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.
1936
1937         Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
1938         created every time the DOM attribute is accessed, in spite of the fact that
1939         the 'hiddenReferenceName' string is static.
1940
1941         This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
1942         Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
1943         since if 'element' exists, it is guaranteed that 'elementValue' is not empty
1944         and is an Object.
1945
1946         Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283
1947
1948         AppleWebKit/JavaScriptCore:
1949         div.classList : 382ms
1950         div.classList.foo = 123 : 335ms
1951         div.dataset : 403ms
1952         div.dataset.foo = 123 : 5250ms
1953         div.attributes : 183ms
1954
1955         Chromium/V8 (without this patch):
1956         div.classList : 9140ms
1957         div.classList.foo = 123 : 9086ms
1958         div.dataset : 9930ms
1959         div.dataset.foo = 123 : 49698ms
1960         div.attributes : 13489ms
1961
1962         Chromium/V8 (with this patch):
1963         div.classList : 1435ms
1964         div.classList.foo = 123 : 1470ms
1965         div.dataset : 1400ms
1966         div.dataset.foo = 123 : 30396ms
1967         div.attributes : 1242ms
1968
1969         No tests. No change in behavior.
1970
1971         * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
1972         (WebCore::toV8):
1973         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
1974         (WebCore::toV8):
1975         * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
1976         (WebCore::toV8):
1977
1978         * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
1979         to optimize the macro.
1980         (WebCore):
1981         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
1982         * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
1983         and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
1984         or a hidden reference.
1985         (WebCore):
1986         (V8HiddenPropertyName):
1987
1988 2012-03-07  Kent Tamura  <tkent@chromium.org>
1989
1990         Add RenderBoxModelObject::marginWidth() and marginHeight()
1991         https://bugs.webkit.org/show_bug.cgi?id=80556
1992
1993         Reviewed by Kentaro Hara.
1994
1995         They make some code shorter.
1996
1997         No behavior change.
1998
1999         * rendering/RenderBoxModelObject.h:
2000         (WebCore::RenderBoxModelObject::marginHeight): Added.
2001         (WebCore::RenderBoxModelObject::marginWidth): Added.
2002         * inspector/DOMNodeHighlighter.cpp: Use marginHeight() and/or marginWidth().
2003         * rendering/RenderBlock.h:
2004         (WebCore::RenderBlock::FloatWithRect::FloatWithRect): ditto.
2005         * rendering/RenderBlockLineLayout.cpp:
2006         (WebCore::RenderBlock::checkFloatsInCleanLine): ditto.
2007         * rendering/RenderBox.cpp:
2008         (WebCore::RenderBox::repaintLayerRectsForImage): ditto.
2009         * rendering/RenderDeprecatedFlexibleBox.cpp:
2010         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): ditto.
2011         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): ditto.
2012         * rendering/RenderFlexibleBox.cpp:
2013         (WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild): ditto.
2014         (WebCore::RenderFlexibleBox::computeNextFlexLine): ditto.
2015         * rendering/RenderInline.cpp:
2016         (WebCore::RenderInline::culledInlineAbsoluteRects): ditto.
2017         (WebCore::RenderInline::culledInlineAbsoluteQuads): ditto.
2018         (WebCore::RenderInline::culledInlineBoundingBox): ditto.
2019         * rendering/RenderScrollbar.cpp:
2020         (WebCore::RenderScrollbar::trackPieceRectWithMargins): ditto.
2021         * rendering/RenderTextControl.cpp:
2022         (WebCore::RenderTextControl::computeLogicalHeight): ditto.
2023         * rendering/RenderTextControlSingleLine.cpp:
2024         (WebCore::RenderTextControlSingleLine::computeControlHeight): ditto.
2025
2026 2012-03-07  Jessie Berlin  <jberlin@apple.com>
2027
2028         Clean Windows build fails after r110033
2029         https://bugs.webkit.org/show_bug.cgi?id=80553
2030
2031         Rubber-stamped by Jon Honeycutt and Eric Seidel.
2032
2033         * WebCore.vcproj/WebCore.vcproj:
2034         Update the expected location of the copied JSC WTF string implementation files.
2035
2036 2012-03-07  Michael Nordman  <michaeln@google.com>
2037
2038         [Chromium] Don't be so CRASH() happy in the bindings layer.
2039         https://bugs.webkit.org/show_bug.cgi?id=75111
2040         - change the v8 bindings generated code to check for the 'worker is terminating'
2041           condition prior to committing a suicidal CRASH()
2042         - fixup custom v8 bindings accordingly
2043         - simplify bindings/generic/ActiveDOMCallback, there is no need for it to support
2044           destruction on a different thread
2045
2046         Reviewed by David Levin.
2047
2048         No new tests, existing tests apply.
2049
2050         * bindings/generic/ActiveDOMCallback.cpp: Simplified in general.
2051         (WebCore):
2052         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
2053         (WebCore::ActiveDOMCallback::~ActiveDOMCallback):
2054         (WebCore::ActiveDOMCallback::canInvokeCallback):
2055         (WebCore::ActiveDOMCallback::isScriptControllerTerminating): New method to avoid CRASH()ing in exceptional conditions in v8 bindings.
2056         * bindings/generic/ActiveDOMCallback.h: Derive from ContextDestructionObserver.
2057         * bindings/js/WorkerScriptController.cpp:
2058         (WebCore::WorkerScriptController::scheduleExecutionTermination): Use a mutex to provide a memory barrier.
2059         (WebCore::WorkerScriptController::isExecutionTerminating): New supporting method to avoid CRASH()ing in exceptional conditions.
2060         * bindings/js/WorkerScriptController.h:
2061         (WorkerScriptController):
2062         * bindings/scripts/CodeGeneratorV8.pm: Generates v8 bindding code that uses isScriptControllerTerminating to avoid CRASH()ing.
2063         (GenerateCallbackImplementation):
2064         * bindings/scripts/test/V8/V8TestCallback.cpp: Fixup expected outputs of the modified CodeGeneratorV8.pm script.
2065         (WebCore::V8TestCallback::callbackWithClass1Param):
2066         (WebCore::V8TestCallback::callbackWithClass2Param):
2067         (WebCore::V8TestCallback::callbackWithStringList):
2068         * bindings/v8/WorkerScriptController.cpp:
2069         (WebCore::WorkerScriptController::WorkerScriptController): Initialize a new data member.
2070         (WebCore::WorkerScriptController::scheduleExecutionTermination): Use a mutex to provide a memory barrier.
2071         (WebCore::WorkerScriptController::isExecutionTerminating): New supporting method to avoid CRASH()ing in exceptional conditions.
2072         * bindings/v8/WorkerScriptController.h: Add a pair of new data members, bool + mutex.
2073         (WorkerScriptController):
2074         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2075         (WebCore::V8SQLStatementErrorCallback::handleEvent):
2076         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
2077         (WebCore::V8MutationCallback::handleEvent):
2078         * dom/ScriptExecutionContext.cpp:
2079         (WebCore::ScriptExecutionContext::ScriptExecutionContext): Initilaize data members.
2080         (WebCore::ScriptExecutionContext::stopActiveDOMObjects): Set m_activeDOMObjectsAreStopped.
2081         * dom/ScriptExecutionContext.h: Add m_activeDOMObjectsAreStopped data member.
2082         (WebCore::ScriptExecutionContext::activeDOMObjectsAreStopped): Simple getter.
2083         (ScriptExecutionContext):
2084
2085 2012-03-07  Kent Tamura  <tkent@chromium.org>
2086
2087         Remove meaningless code in RenderTextControlSingleLine::preferredContentWidth()
2088         https://bugs.webkit.org/show_bug.cgi?id=80493
2089
2090         Reviewed by Hajime Morita.
2091
2092         preferredContentWidth() added border+padding widths of the search result
2093         button, search cancel button, and speech input button. It makes no sense
2094         to make the intrinsic width wider by only their border+padding width,
2095         not their content width.
2096
2097         The default borders and paddings of these buttons are 0 in all
2098         platforms, and adding border or padding to these elements by page
2099         authors made unreasonable behavior. So we had better remove this
2100         code.
2101
2102         Tests: fast/forms/search/intrinsic-search-width-with-decoration-border-padding.html
2103                fast/speech/intrinsic-input-width-with-speech-border-padding.html
2104
2105         * rendering/RenderTextControlSingleLine.cpp:
2106         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
2107          Remove the meaningless code.
2108         * rendering/RenderTextControlSingleLine.h:
2109         (RenderTextControlSingleLine): Remove speechButtonElement(). It's unnecessary.
2110
2111 2012-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2112
2113         Unreviewed, rolling out r110126.
2114         http://trac.webkit.org/changeset/110126
2115         https://bugs.webkit.org/show_bug.cgi?id=80558
2116
2117         compile failed on AppleMac (Requested by ukai on #webkit).
2118
2119         * WebCore.exp.in:
2120         * css/CSSCalculationValue.cpp:
2121         * css/CSSCalculationValue.h:
2122         (WebCore):
2123         (CSSCalcExpressionNode):
2124         (CSSCalcValue):
2125         * css/CSSPrimitiveValue.cpp:
2126         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2127         * css/CSSStyleApplyProperty.cpp:
2128         (WebCore::ApplyPropertyLength::applyValue):
2129         * css/CSSStyleSelector.cpp:
2130         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2131         * css/CSSStyleSelector.h:
2132         * platform/CalculationValue.cpp:
2133         * platform/CalculationValue.h:
2134         * platform/Length.cpp:
2135         (WebCore::newLengthArray):
2136         * platform/Length.h:
2137         (WebCore::Length::operator*=):
2138         (WebCore::Length::value):
2139         (WebCore::Length::setValue):
2140         (Length):
2141         (WebCore::Length::calcValue):
2142         (WebCore::Length::calcMinValue):
2143         (WebCore::Length::calcFloatValue):
2144         (WebCore::Length::isZero):
2145         (WebCore::Length::isPositive):
2146         (WebCore::Length::isNegative):
2147         (WebCore::Length::isPercent):
2148         (WebCore::Length::isSpecified):
2149
2150 2012-03-05  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2151
2152         Make Node::dumpStatistics() work again
2153         https://bugs.webkit.org/show_bug.cgi?id=80327
2154
2155         Reviewed by Ryosuke Niwa.
2156
2157         Update the code in dumpStatistics() to the latest attribute storage changes. Also
2158         move the DUMP_NODE_STATISTICS define here from the Node.cpp, since its also used
2159         by Document.h.
2160
2161         * dom/Node.cpp:
2162         (WebCore::Node::dumpStatistics): Use more self-describing variable names.
2163         * dom/Node.h:
2164
2165 2012-03-07  Mike Lawther  <mikelawther@chromium.org>
2166
2167         CSS3 calc: mixed absolute/percentages work for width, height, margin and padding
2168         https://bugs.webkit.org/show_bug.cgi?id=79621
2169
2170         Reviewed by Andreas Kling.
2171
2172         ApplyPropertyLength in CSSStyleApplyPropery now handles mixed absolute/percentage
2173         length expressions. All property handlers using this template now work with
2174         mixed expressions.
2175
2176         This patch adds a new expression evaluator in CalculationValue.cpp. This is because
2177         Length.[cpp|h] (in platform) cannot refer to CSSCalculationValue.[cpp|h] (in css) 
2178         due to layering restrictions.
2179
2180         Lengths can be copied, and so the expressions are stored in a hashmap, and only their
2181         ids are copied along with Length. The expressions are RefCounted, and will get 
2182         cleaned up when the last referring Length is destructed.
2183
2184         * WebCore.exp.in:
2185         * css/CSSCalculationValue.cpp:
2186         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
2187         (CSSCalcPrimitiveValue):
2188         (WebCore::CSSCalcBinaryOperation::toCalcValue):
2189         (CSSCalcBinaryOperation):
2190         * css/CSSCalculationValue.h:
2191         (WebCore):
2192         (CSSCalcExpressionNode):
2193         (CSSCalcValue):
2194         (WebCore::CSSCalcValue::toCalcValue):
2195         * css/CSSPrimitiveValue.cpp:
2196         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2197         * css/CSSStyleApplyProperty.cpp:
2198         (WebCore::ApplyPropertyLength::applyValue):
2199         * css/CSSStyleSelector.cpp:
2200         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2201         * css/CSSStyleSelector.h:
2202         (CSSStyleSelector):
2203         * platform/CalculationValue.cpp:
2204         (WebCore::CalcExpressionBinaryOperation::evaluate):
2205         (WebCore):
2206         (WebCore::CalculationValue::create):
2207         (WebCore::CalculationValue::evaluate):
2208         * platform/CalculationValue.h:
2209         (CalcExpressionNode):
2210         (WebCore::CalcExpressionNode::~CalcExpressionNode):
2211         (WebCore):
2212         (CalculationValue):
2213         (WebCore::CalculationValue::CalculationValue):
2214         (CalcExpressionNumber):
2215         (WebCore::CalcExpressionNumber::CalcExpressionNumber):
2216         (WebCore::CalcExpressionNumber::evaluate):
2217         (CalcExpressionLength):
2218         (WebCore::CalcExpressionLength::CalcExpressionLength):
2219         (WebCore::CalcExpressionLength::evaluate):
2220         (CalcExpressionBinaryOperation):
2221         (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
2222         * platform/Length.cpp:
2223         (WebCore):
2224         (WebCore::Length::~Length):
2225         (CalculationValueHandleMap):
2226         (WebCore::CalculationValueHandleMap::CalculationValueHandleMap):
2227         (WebCore::CalculationValueHandleMap::insert):
2228         (WebCore::CalculationValueHandleMap::remove):
2229         (WebCore::CalculationValueHandleMap::get):
2230         (WebCore::calcHandles):
2231         (WebCore::Length::Length):
2232         (WebCore::Length::calculationValue):
2233         (WebCore::Length::calculatedValue):
2234         (WebCore::Length::calculatedMinValue):
2235         (WebCore::Length::calculatedFloatValue):
2236         (WebCore::Length::incrementCalculatedRef):
2237         (WebCore::Length::decrementCalculatedRef):
2238         (WebCore::Length::nonNanCalculatedValue):
2239         * platform/Length.h:
2240         (Length):
2241         (WebCore::Length::Length):
2242         (WebCore::Length::operator=):
2243         (WebCore::Length::operator*=):
2244         (WebCore::Length::value):
2245         (WebCore::Length::setValue):
2246         (WebCore::Length::calcValue):
2247         (WebCore::Length::calcMinValue):
2248         (WebCore::Length::calcFloatValue):
2249         (WebCore::Length::isZero):
2250         (WebCore::Length::isPositive):
2251         (WebCore::Length::isNegative):
2252         (WebCore::Length::isPercent):
2253         (WebCore::Length::isSpecified):
2254         (WebCore::Length::isCalculated):
2255         (WebCore::Length::initFromLength):
2256         (WebCore::Length::calculationHandle):
2257
2258 2012-03-07  Emil A Eklund  <eae@chromium.org>
2259
2260         Change remaining scroll methods to integers
2261         https://bugs.webkit.org/show_bug.cgi?id=80539
2262
2263         Reviewed by Eric Seidel.
2264
2265         No new tests, no new functionality.
2266
2267         * rendering/RenderLayer.cpp:
2268         (WebCore::RenderLayer::scrollByRecursively):
2269         (WebCore::RenderLayer::scrollToOffset):
2270         (WebCore::RenderLayer::scrollRectToVisible):
2271         (WebCore::RenderLayer::scrollToXOffset):
2272         (WebCore::RenderLayer::scrollToYOffset):
2273         Change scrollTo methods to take integer x and y values as the actual
2274         scrolling is done in increments of full pixels.
2275         
2276         (WebCore::cornerStart):
2277         (WebCore::RenderLayer::scrollWidth):
2278         (WebCore::RenderLayer::scrollHeight):
2279         Change scrollWidth/Height to return pixel snapped values and remove
2280         pixelSnapped versions of same as all callers either used snapped the
2281         values or used the pixelSnapped versions of these methods.
2282
2283         * rendering/RenderListBox.cpp:
2284         (WebCore::RenderListBox::scrollWidth):
2285         Change scrollWidth to return snapped client width.
2286         
2287         * rendering/RenderListBox.h:
2288         Change scrollSize, scrollPosition and setScrollOffset methods to use
2289         integers in accordance with the interface defined by ScrollableArea.
2290         
2291         * rendering/RenderTreeAsText.cpp:
2292         (WebCore::write):
2293
2294 2012-03-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2295
2296         Implement getAttributeNode() in terms of ElementAttributeData instead of NamedNodeMap
2297         https://bugs.webkit.org/show_bug.cgi?id=80541
2298
2299         Reviewed by Ryosuke Niwa.
2300
2301         DOM methods exposed in Element and NamedNodeMap are now implemented in terms of
2302         ElementAttributeData. The difference between them is that Element methods can early
2303         return if there's no attribute storage.
2304
2305         * dom/Element.cpp:
2306         (WebCore::Element::getAttributeNode):
2307         Removed the manual lowercasing letting our existing mechanism in
2308         ElementAttributeData::getAttributeItemIndex() take care of it. I considered that
2309         this could be an optimization, but testing a few Dromaeo tests (dom-attr,
2310         jslib-attr-jquery, jslib-attr-prototype) the difference isn't significant. It
2311         shouldn't affect correctness either.
2312
2313         (WebCore::Element::getAttributeNodeNS):
2314         * dom/ElementAttributeData.cpp:
2315         * dom/ElementAttributeData.h:
2316         (ElementAttributeData):
2317         (WebCore::ElementAttributeData::getAttributeNode):
2318         (WebCore):
2319         * dom/NamedNodeMap.cpp:
2320         (WebCore::NamedNodeMap::getNamedItem):
2321         (WebCore::NamedNodeMap::getNamedItemNS):
2322         * dom/NamedNodeMap.h:
2323         (NamedNodeMap):
2324
2325 2012-03-07  James Robinson  <jamesr@chromium.org>
2326
2327         [chromium] Support printing WebGL content in threaded compositor
2328         https://bugs.webkit.org/show_bug.cgi?id=80464
2329
2330         Reviewed by Kenneth Russell.
2331
2332         Do the readback on the WebGL context instead of the compositor's context since we cannot use the latter from the
2333         main thread. Since we're on the WebGL context, we have to be careful to restore any state we change.
2334
2335         Tested printing manually with threaded compositing enabled.
2336
2337         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2338         (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
2339         * platform/graphics/chromium/WebGLLayerChromium.h:
2340         (WebGLLayerChromium):
2341
2342 2012-03-07  Adam Barth  <abarth@webkit.org>
2343
2344         Remove #define private public from WebCache.cpp
2345         https://bugs.webkit.org/show_bug.cgi?id=80520
2346
2347         Reviewed by Eric Seidel.
2348
2349         Add some accessors for state used by WebCache.cpp.
2350
2351         * loader/cache/MemoryCache.h:
2352         (WebCore::MemoryCache::minDeadCapacity):
2353         (WebCore::MemoryCache::maxDeadCapacity):
2354         (WebCore::MemoryCache::capacity):
2355         (WebCore::MemoryCache::liveSize):
2356         (WebCore::MemoryCache::deadSize):
2357         (MemoryCache):
2358
2359 2012-03-07  Kentaro Hara  <haraken@chromium.org>
2360
2361         [V8][Performance] Optimize Element.firstElementChild, Element.lastElementChild,
2362         Element.previousElementSibling, Element.nextElementSibling, Node.parentElement
2363         https://bugs.webkit.org/show_bug.cgi?id=80506
2364
2365         Reviewed by Adam Barth.
2366
2367         This patch improves the performance of Element.firstElementChild by 5.8 times,
2368         Element.lastElementChild by 6.2 times, Element.previousElementSibling by 7.1 times,
2369         Element.nextElementSibling by 7.1 times, and Node.parentElement by 6.7 times.
2370
2371         Previously, while toV8(Node*) caches a wrapper object on a node object
2372         (i.e. node->wrapper(), node->setWrapper()), toV8(Element*) does not
2373         cache a wrapper object.
2374
2375         This patch removes toV8(Element*), so that DOM attribute getters that return
2376         Element* use toV8(Node*). This change makes these DOM attribute getters
2377         cache the wrapper object on a node object. This optimization is already
2378         implemented in JavaScriptCore.
2379
2380         Performance tests: https://bugs.webkit.org/attachment.cgi?id=130594
2381
2382         The test results in my local Mac environment are as follows:
2383
2384         AppleWebKit/JavaScriptCore:
2385         div.firstElementChild : 1162ms
2386         div.lastElementChild : 1016ms
2387         div.previousElementSibling : 918ms
2388         div.nextElementSibling : 900ms
2389         div.parentElement : 901ms
2390
2391         Chromium/V8 (without this patch):
2392         div.firstElementChild : 9515ms
2393         div.lastElementChild : 9449ms
2394         div.previousElementSibling : 9254ms
2395         div.nextElementSibling : 9315ms
2396         div.parentElement : 9380ms
2397
2398         Chromium/V8 (with this patch):
2399         div.firstElementChild : 1628ms
2400         div.lastElementChild : 1527ms
2401         div.previousElementSibling : 1310ms
2402         div.nextElementSibling : 1310ms
2403         div.parentElement : 1410ms
2404
2405         No tests. No change in behavior.
2406
2407         * dom/Element.idl: Removed toV8(Element*)
2408         * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
2409         (WebCore::toV8Slow):
2410         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2411         (GenerateHeader):
2412
2413         * bindings/v8/custom/V8ElementCustom.cpp: Removed.
2414         * Target.pri: Removed V8ElementCustom.cpp.
2415         * UseV8.cmake: Ditto.
2416         * WebCore.gypi: Ditto.
2417
2418 2012-03-07  Joshua Bell  <jsbell@chromium.org>
2419
2420         [Chromium] IndexedDB: V8LocalContext creation in IDBKey extraction/injection is slow
2421         https://bugs.webkit.org/show_bug.cgi?id=80358
2422
2423         Cache a re-usable context (per isolate) for cases like IDB's key/SSV extraction/injection,
2424         where no user script is run. This yields a 3x-4x performance improvement in basic IDB
2425         operations.
2426
2427         Reviewed by Tony Chang.
2428
2429         No new tests - no behavior changes.
2430
2431         * bindings/v8/IDBBindingUtilities.cpp:
2432         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
2433         (WebCore::injectIDBKeyIntoSerializedValue):
2434         * bindings/v8/V8Binding.h:
2435         (WebCore::V8BindingPerIsolateData::auxiliaryContext):
2436         (V8BindingPerIsolateData):
2437         * bindings/v8/V8Utilities.cpp:
2438         (WebCore::V8AuxiliaryContext::V8AuxiliaryContext):
2439         (WebCore::V8AuxiliaryContext::~V8AuxiliaryContext):
2440         (WebCore::V8AuxiliaryContext::auxiliaryContext):
2441         * bindings/v8/V8Utilities.h:
2442         (V8AuxiliaryContext):
2443
2444 2012-03-07  Nat Duca  <nduca@chromium.org>
2445
2446         [chromium] Remove unused wasRecreate variable
2447         https://bugs.webkit.org/show_bug.cgi?id=80533
2448
2449         Reviewed by Adrienne Walker.
2450
2451         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2452         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
2453
2454 2012-03-07  Ryan Sleevi  <rsleevi@chromium.org>
2455
2456         [chromium] Update GYP files to reflect file deletes/renames
2457         https://bugs.webkit.org/show_bug.cgi?id=80525
2458
2459         Reviewed by Ryosuke Niwa.
2460
2461         No change in functionality, so no tests.
2462
2463         * WebCore.gypi:
2464         Updated AppleMac private headers due to r109877
2465         Updated platform/qt references due to r109542
2466         Updated platform/mac references due to r109147
2467         Updated platform/mac references due to r108956
2468
2469 2012-03-07  Eric Carlson  <eric.carlson@apple.com>
2470
2471         Html5 video element Useragent string is Quicktime
2472         https://bugs.webkit.org/show_bug.cgi?id=46241
2473
2474         Reviewed by Daniel Bates.
2475
2476         Test: http/tests/media/video-useragent.html
2477
2478         * html/HTMLMediaElement.cpp:
2479         (WebCore::HTMLMediaElement::mediaPlayerUserAgent): Return the UA string for the current source.
2480         * html/HTMLMediaElement.h:
2481
2482         * platform/graphics/MediaPlayer.cpp:
2483         (WebCore::MediaPlayer::userAgent):  New, return the client's mediaPlayerUserAgent.
2484         * platform/graphics/MediaPlayer.h:
2485         (WebCore::MediaPlayerClient::mediaPlayerUserAgent):
2486
2487         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2488         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to set
2489             the UA header.
2490
2491 2012-03-07  Scott Byer  <scottbyer@chromium.org>
2492
2493         Get ScrollAnimatorNone to handle the stop and reverse cases.
2494         https://bugs.webkit.org/show_bug.cgi?id=80455
2495
2496         Reviewed by James Robinson.
2497
2498         Chromium webkit_unit_tests ScrollAnimatorNoneTest.ScrollStopInMiddle and
2499         ScrollAnimatorNoneTest.ReverseInMiddle.
2500
2501         * platform/ScrollAnimatorNone.cpp:
2502         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
2503
2504 2012-03-07  Yong Li  <yoli@rim.com>
2505
2506         RenderImage ignores its percent width/height when setContainerSizeForRenderer
2507         https://bugs.webkit.org/show_bug.cgi?id=80431
2508
2509         Reviewed by George Staikos.
2510
2511         Not only respect fixed width/height explicitly specified in img element, but also
2512         respect percent width/height when determining container size for images.
2513
2514         No new tests because there is no functional change but only internal buffer sizes.
2515
2516         * rendering/RenderImage.cpp:
2517         (WebCore::RenderImage::computeReplacedLogicalWidth):
2518
2519 2012-03-06  Benjamin Poulain  <bpoulain@apple.com>
2520
2521         [Mac] Update the configuration files for iOS
2522         https://bugs.webkit.org/show_bug.cgi?id=80435
2523
2524         Reviewed by David Kilzer.
2525
2526         * Configurations/WebCore.xcconfig:
2527
2528 2012-03-07  Dana Jansens  <danakj@chromium.org>
2529
2530         [chromium] Cull occluded tiles during paint
2531         https://bugs.webkit.org/show_bug.cgi?id=76838
2532
2533         Reviewed by Adrienne Walker.
2534
2535         Using CCOcclusionTracker instead of the old custom paint occlusion
2536         tracking. Stops painting tiles when the tile is not visible.
2537
2538         CCOcclusionTracker only uses Layer::opaque() for determining
2539         occlusion so far. The Layer::addSelfToOccludedRegion is being
2540         replaced by a superior method in CCOcclusionTracker that will
2541         work for both threads, so removing that support here.
2542
2543         Unit test: TiledLayerChromiumTest.cpp
2544
2545         * platform/graphics/chromium/ContentLayerChromium.cpp:
2546         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2547         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
2548         * platform/graphics/chromium/ContentLayerChromium.h:
2549         (ContentLayerChromium):
2550         * platform/graphics/chromium/ImageLayerChromium.cpp:
2551         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2552         * platform/graphics/chromium/LayerChromium.cpp:
2553         * platform/graphics/chromium/LayerChromium.h:
2554         (WebCore::LayerChromium::idlePaintContentsIfDirty):
2555         (LayerChromium):
2556         * platform/graphics/chromium/TiledLayerChromium.cpp:
2557         (WebCore):
2558         (WebCore::contentToLayerTransform):
2559         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2560         (WebCore::TiledLayerChromium::prepareToUpdate):
2561         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
2562         * platform/graphics/chromium/TiledLayerChromium.h:
2563         (TiledLayerChromium):
2564         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2565         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
2566         (WebCore::CCLayerTreeHost::paintLayerContents):
2567
2568 2012-03-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2569
2570         Implement removeAttributeNode() in terms of ElementAttributeData instead of NamedNodeMap
2571         https://bugs.webkit.org/show_bug.cgi?id=80522
2572
2573         Reviewed by Andreas Kling.
2574
2575         DOM methods exposed in Element and NamedNodeMap are now implemented in terms of
2576         ElementAttributeData. A helper function takeAttribute() was added to increase
2577         code sharing. Also removed some unneeded methods.
2578
2579         * dom/Element.cpp:
2580         (WebCore::Element::removeAttribute): Use ElementAttributeData function directly.
2581         (WebCore::Element::removeAttributeNode): Get the index manually and use new
2582         takeAttribute() directly.
2583         * dom/Element.h:
2584         (Element): Remove unused removeAttribute(unsigned index).
2585         * dom/ElementAttributeData.cpp:
2586         (WebCore::ElementAttributeData::takeAttribute): Like removeAttribute() but
2587         returns a reference to old Attr.
2588         (WebCore):
2589         * dom/ElementAttributeData.h:
2590         (ElementAttributeData):
2591         * dom/NamedNodeMap.cpp:
2592         (WebCore::NamedNodeMap::removeNamedItem): Avoid looking up the property twice by
2593         getting the index directly from the name, instead of going through the qualified name.
2594         * dom/NamedNodeMap.h: Remove now unused internal methods for removing attributes.
2595
2596 2012-03-07  Alexey Proskuryakov  <ap@apple.com>
2597
2598         Merge AsyncFileStream with FileStreamProxy
2599         https://bugs.webkit.org/show_bug.cgi?id=80325
2600
2601         Build fix.
2602
2603         * WebCore.xcodeproj/project.pbxproj: Removed files that got mysteriously added to the project
2604         with a merge.
2605
2606 2012-03-07  Julien Chaffraix  <jchaffraix@webkit.org>
2607
2608         Unreviewed ASSERT failure fix.
2609         https://bugs.webkit.org/show_bug.cgi?id=75568
2610
2611         * rendering/RenderBoxModelObject.cpp:
2612         (WebCore::RenderBoxModelObject::styleDidChange):
2613         Fix a bad merge of the patch, we should call updateCachedSizeForOverflowClip if we lose
2614         our layer.
2615
2616 2012-03-07  ChangSeok Oh  <shivamidow@gmail.com>
2617
2618         [EFL] Revise PlatformKeyboardEventEfl and EflKeyboardUtilities
2619         https://bugs.webkit.org/show_bug.cgi?id=80511
2620
2621         Reviewed by Gustavo Noronha Silva.
2622
2623         Added 'const' keyword in front of argument of keyIdentifiersForEvasKeyName/windowsKeyCodeForEvasKeyName.
2624         Since they should not be changed while processing each function.
2625         And initialized missing member variables of PlatformKeyboardEventEfl.
2626
2627         No new tests, since no new feature.
2628
2629         * platform/efl/EflKeyboardUtilities.cpp:
2630         (WebCore::keyIdentifierForEvasKeyName): Added const keyword
2631         (WebCore::windowsKeyCodeForEvasKeyName): Added const keyword
2632         * platform/efl/EflKeyboardUtilities.h:
2633         (WebCore):
2634         * platform/efl/PlatformKeyboardEventEfl.cpp:
2635         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2636
2637 2012-03-07  Hironori Bono  <hbono@chromium.org>
2638
2639         [Chromium] Mirror the resizer image of an RTL element when WTF_USE_RTL_SCROLLBAR is 1
2640         https://bugs.webkit.org/show_bug.cgi?id=9223
2641
2642         Reviewed by Tony Chang.
2643
2644         This change mirrors a resizer image of an RTL element horizontall as Firefox
2645         does. This change also mirrors its dragging behavior, i.e. draging the resizer
2646         of an RTL element to the left side increases its width. (This feature is enabled
2647         only when WTF_USE_RTL_SCROLLBAR is 1.)
2648
2649         Test: platform/chromium/scrollbars/drag-rtl-resizer.html
2650
2651         * rendering/RenderLayer.cpp:
2652         (WebCore::RenderLayer::resize): Mirrored the x coordinate of mouse positions
2653         when mirroring a resizer.
2654         (WebCore::RenderLayer::offsetFromResizeCorner): Returned the offset from the
2655         bottom-left corner when rendering a resizer there.
2656         (WebCore::RenderLayer::drawPlatformResizerImage): Mirrored the resizer bitmap
2657         horizontally when rendering a resizer to the bottom-left corner.
2658
2659 2012-03-07  Julien Chaffraix  <jchaffraix@webkit.org>
2660
2661         Lazily allocate overflow: hidden layers if we have overflowing content
2662         https://bugs.webkit.org/show_bug.cgi?id=75568
2663
2664         Reviewed by David Hyatt.
2665
2666         Change covered by the existing tests and the tons of rebaselines.
2667
2668         This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.
2669
2670         Apart from saving some memory, it will also speed up the rendering as we don't need to
2671         go through the layer's machinery when painting and hit testing.
2672
2673         On http://dglazkov.github.com/performance-tests/biggrid.html benchmark, this puts the
2674         overflow: hidden case in par with the overflow: visible case when scrolling that is a
2675         very-smooth scrolling vs a jerky one currently (mostly due to the painting speedup).
2676
2677         * rendering/RenderBlock.cpp:
2678         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
2679         Changed this method to update our size cache if needed.
2680
2681         * rendering/RenderBlock.cpp:
2682         (WebCore::RenderBlock::layoutBlock):
2683         (WebCore::RenderBlock::paint):
2684         (WebCore::RenderBlock::isPointInOverflowControl):
2685         * rendering/RenderBlock.h:
2686         (RenderBlock):
2687         * rendering/RenderBox.cpp:
2688         (WebCore::RenderBox::willBeDestroyed):
2689         (WebCore::RenderBox::styleDidChange):
2690         (WebCore::RenderBox::layout):
2691         (WebCore::RenderBox::scrollWidth):
2692         (WebCore::RenderBox::scrollHeight):
2693         (WebCore::RenderBox::scrollLeft):
2694         (WebCore::RenderBox::scrollTop):
2695         (WebCore::RenderBox::setScrollLeft):
2696         (WebCore::RenderBox::setScrollTop):
2697         (WebCore::RenderBox::includeVerticalScrollbarSize):
2698         (WebCore::RenderBox::includeHorizontalScrollbarSize):
2699         (WebCore::RenderBox::scrolledContentOffset):
2700         (WebCore::RenderBox::pushContentsClip):
2701         (WebCore::RenderBox::popContentsClip):
2702         (WebCore::RenderBox::addLayoutOverflow):
2703         Added layer() check to the previous call sites.
2704
2705         (WebCore::cachedSizeForOverflowClipMap):
2706         (WebCore::RenderBox::cachedSizeForOverflowClip):
2707         (WebCore::RenderBox::updateCachedSizeForOverflowClip):
2708         (WebCore::RenderBox::clearCachedSizeForOverflowClip):
2709         This logic stores the size information for later repainting.
2710         It is in practice replicating what RenderLayer is doing.
2711         I had to disable an ASSERT here as it would trigger in NRWT but
2712         not under DRT. I haven't found by code inspection what was wrong.
2713
2714         * rendering/RenderBox.h:
2715         (WebCore::RenderBox::hasOverflowClipWithLayer):
2716         Helper function.
2717
2718         (WebCore::RenderBox::requiresLayerForOverflowClip):
2719         This determines if we can survive without a RenderLayer. For the moment,
2720         it is very conservative.
2721
2722         (WebCore::RenderBox::requiresLayer):
2723         Updated to call requiresLayerForOverflowClip.
2724
2725         * rendering/RenderBoxModelObject.cpp:
2726         (WebCore::RenderBoxModelObject::ensureLayer):
2727         Added this function to create and add a new layer.
2728
2729         (WebCore::RenderBoxModelObject::willBeDestroyed):
2730         (WebCore::RenderBoxModelObject::styleDidChange):
2731         Patched those method to handle updating / removing
2732         cached size entries.
2733
2734         * rendering/RenderBoxModelObject.h:
2735         (WebCore::RenderBoxModelObject::requiresLayer):
2736         Pushed the overflowClip check down to RenderBox as only RenderBoxes can have
2737         overflow clips.
2738
2739         * rendering/RenderTableRow.h:
2740         (WebCore::RenderTableRow::requiresLayer):
2741         Added a comment about why we need a layout for table rows.
2742
2743         * rendering/RenderDeprecatedFlexibleBox.cpp:
2744         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2745         * rendering/RenderFlexibleBox.cpp:
2746         (WebCore::RenderFlexibleBox::layoutBlock):
2747         * rendering/RenderTableSection.cpp:
2748         (WebCore::RenderTableSection::layout):
2749         Updated those call sites to use RenderBlock::updateScrollInfoAfterLayout
2750         or RenderBox::updateCachedSizeForOverflowClip. The current logic is really
2751         not tight proof and would need to be rethought to not avoid cases.
2752
2753 2012-03-07  Konrad Piascik  <kpiascik@rim.com>
2754
2755         [BlackBerry] Fix warnings in CookieMap
2756         https://bugs.webkit.org/show_bug.cgi?id=80512
2757
2758         Reviewed by Rob Buis.
2759
2760         No new tests. No behavioural changes.
2761
2762         * platform/blackberry/CookieMap.cpp:
2763         (WebCore::CookieMap::addOrReplaceCookie):
2764         (WebCore::CookieMap::removeCookie):
2765         (WebCore::CookieMap::getAllCookies):
2766         (WebCore::CookieMap::updateOldestCookie):
2767
2768 2012-03-07  Levi Weintraub  <leviw@chromium.org>
2769
2770         Update usage of LayoutUnits in InlineBox and InlineFlowBox
2771         https://bugs.webkit.org/show_bug.cgi?id=80051
2772
2773         Reviewed by Eric Seidel.
2774
2775         Updating LayoutUnit vs Integer usage in InlineBox and InlineFlowBox. While the
2776         line box tree remains floating point, margins are now subpixel, and rects from
2777         the render tree use LayoutUnits. For more information, see the LayoutUnit wiki
2778         page: https://trac.webkit.org/wiki/LayoutUnit
2779
2780         No new tests. No change in behavior.
2781
2782         * rendering/InlineBox.cpp:
2783         (WebCore::InlineBox::flipForWritingMode): Changing over to LayoutUnits.
2784         * rendering/InlineBox.h:
2785         (InlineBox):
2786         * rendering/InlineFlowBox.cpp:
2787         (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth): Returning a LayoutUnit
2788         instead of an integer, as it uses margin which is a LayoutUnit.
2789         (WebCore::InlineFlowBox::placeBoxesInInlineDirection): Using a LayoutUnit for
2790         margin.
2791         (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Build fixes for when
2792         LayoutUnits are subpixel.
2793         (WebCore::InlineFlowBox::paintFillLayer): Ditto.
2794         * rendering/InlineFlowBox.h:
2795         (WebCore::InlineFlowBox::marginBorderPaddingLogicalLeft): Returning a LayoutUnit
2796         instead of an integer since margin is a LayoutUnit.
2797         (WebCore::InlineFlowBox::marginBorderPaddingLogicalRight): Ditto.
2798         (InlineFlowBox):
2799         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow): Adding a static_cast that's
2800         redundant now, but required when we switch to subpixel LayoutUnits.
2801         (WebCore::InlineFlowBox::logicalRightLayoutOverflow): Ditto.
2802         (WebCore::InlineFlowBox::logicalLeftVisualOverflow): Ditto.
2803         (WebCore::InlineFlowBox::logicalRightVisualOverflow): Ditto.
2804
2805 2012-03-07  Qi Zhang  <qi.2.zhang@nokia.com>
2806
2807         [Qt] Unskip http/tests/websocket/tests/hixie76/long-invalid-header.html
2808         https://bugs.webkit.org/show_bug.cgi?id=80516
2809
2810         Reviewed by Csaba Osztrogonác.
2811
2812         Missed some files related to websocket, take them in.
2813
2814         * Target.pri:
2815
2816 2012-03-05  Alexey Proskuryakov  <ap@apple.com>
2817
2818         Merge AsyncFileStream with FileStreamProxy
2819         https://bugs.webkit.org/show_bug.cgi?id=80325
2820
2821         Reviewed by Filip Pizlo.
2822
2823         AsyncFileStream sounds like a platform concept, but the implementation is web specific.
2824         Better to just keep it in one place.
2825
2826         This is a step toward decoupling blob scheme support from ResourceHandle, which is supposed
2827         to be an interface to platform networking APIs only, and definitely shouldn't know about
2828         Web concepts.
2829
2830         No change in functionality, so no tests.
2831
2832         * CMakeLists.txt:
2833         * GNUmakefile.list.am:
2834         * Target.pri:
2835         * WebCore.gypi:
2836         * WebCore.vcproj/WebCore.vcproj:
2837         * WebCore.xcodeproj/project.pbxproj:
2838         Updated for moved and removed files. Namely, platform/AsyncFileStream is dead, and
2839         fileapi/FileStreamProxy is now fileapi/AsyncFileStream.
2840
2841         * fileapi/AsyncFileStream.cpp: Copied from Source/WebCore/fileapi/FileStreamProxy.cpp.
2842         (WebCore::AsyncFileStream::AsyncFileStream):
2843         (WebCore::AsyncFileStream::create):
2844         (WebCore::AsyncFileStream::~AsyncFileStream):
2845         (WebCore::AsyncFileStream::fileThread):
2846         (WebCore::didStart):
2847         (WebCore::AsyncFileStream::startOnFileThread):
2848         (WebCore::AsyncFileStream::stop):
2849         (WebCore::derefProxyOnContext):
2850         (WebCore::AsyncFileStream::stopOnFileThread):
2851         (WebCore::didGetSize):
2852         (WebCore::AsyncFileStream::getSize):
2853         (WebCore::AsyncFileStream::getSizeOnFileThread):
2854         (WebCore::didOpen):
2855         (WebCore::AsyncFileStream::openForRead):
2856         (WebCore::AsyncFileStream::openForReadOnFileThread):
2857         (WebCore::AsyncFileStream::openForWrite):
2858         (WebCore::AsyncFileStream::openForWriteOnFileThread):
2859         (WebCore::AsyncFileStream::close):
2860         (WebCore::AsyncFileStream::closeOnFileThread):
2861         (WebCore::didRead):
2862         (WebCore::AsyncFileStream::read):
2863         (WebCore::AsyncFileStream::readOnFileThread):
2864         (WebCore::didWrite):
2865         (WebCore::AsyncFileStream::write):
2866         (WebCore::AsyncFileStream::writeOnFileThread):
2867         (WebCore::didTruncate):
2868         (WebCore::AsyncFileStream::truncate):
2869         (WebCore::AsyncFileStream::truncateOnFileThread):
2870         * fileapi/AsyncFileStream.h: Copied from Source/WebCore/fileapi/FileStreamProxy.h.
2871         (WebCore):
2872         (AsyncFileStream):
2873         (WebCore::AsyncFileStream::client):
2874         (WebCore::AsyncFileStream::setClient):
2875         * fileapi/FileStreamProxy.cpp: Removed.
2876         * fileapi/FileStreamProxy.h: Removed.
2877         * loader/ResourceLoader.cpp:
2878         (WebCore::ResourceLoader::createAsyncFileStream):
2879         * platform/AsyncFileStream.h: Removed.
2880         Fewer files!
2881
2882         * platform/network/BlobRegistry.h: Removed createResourceHandle(). It's logically a method
2883         on in-process BlobRegistryImpl only, and we no longer need to call this from platform code.
2884
2885         * platform/network/BlobRegistryImpl.cpp:
2886         (WebCore::createResourceHandle):
2887         (WebCore::registerBlobResourceHandleConstructor):
2888         (WebCore::BlobRegistryImpl::registerBlobURL):
2889         * platform/network/BlobRegistryImpl.h:
2890         Except for chromium, "blob" is a scheme that's handled internally. Added hooks for that.
2891
2892         * platform/network/ResourceHandle.cpp:
2893         (WebCore::builtinResourceHandleConstructorMap):
2894         (WebCore::ResourceHandle::registerBuiltinConstructor):
2895         (WebCore::ResourceHandle::create):
2896         * platform/network/ResourceHandle.h:
2897         Added a way for other code to register handlers for URL schemes. Non-Chromium platforms
2898         use this for blob: now.
2899
2900 2012-03-07  Dan Bernstein  <mitz@apple.com>
2901
2902         <rdar://problem/10923294> REGRESSION (r100847): Entries are clipped out in Day One
2903         https://bugs.webkit.org/show_bug.cgi?id=80494
2904
2905         Reviewed by Sam Weinig.
2906
2907         Test: fast/dom/HTMLDocument/width-and-height.html
2908
2909         * html/HTMLDocument.idl: Reverted r100847 by re-enabling the width and height properties
2910         in the JavaScript bindings.
2911
2912 2012-03-07  Philippe Normand  <pnormand@igalia.com>
2913
2914         [GTK] media/audio-garbage-collect.html is flaky
2915         https://bugs.webkit.org/show_bug.cgi?id=72698
2916
2917         Reviewed by Xan Lopez.
2918
2919         Call ::hasPendingActivity() instead of ::paused() when checking if
2920         the audio element is still active. This is similar to what the
2921         image element (another ActiveDOMObject implementation) does just
2922         above. This contributes to fixing the audio-garbage-collect.html
2923         test.
2924
2925         * bindings/js/JSNodeCustom.cpp:
2926         (WebCore::isReachableFromDOM):
2927
2928 2012-03-07  Adele Peterson  <adele@apple.com>
2929
2930         REGRESSION(r96566): Cursor is I-beam upon dragging an attachment in mail
2931         https://bugs.webkit.org/show_bug.cgi?id=80458
2932         <rdar://problem/10873195>
2933
2934         Reviewed by Dan Bernstein.
2935
2936         No tests because we currently don't have any test machinery for cursors.
2937
2938         Make sure the shortcut to always use an iBeam cursor during selection isn't used during dragging.
2939         Before r96566, we handled plugin cursors as a special case before calling into selectCursor, so we never hit this code path.
2940
2941         * page/EventHandler.cpp: (WebCore::EventHandler::selectCursor):
2942
2943 2012-03-07  ChangSeok Oh  <shivamidow@gmail.com>
2944
2945         [EFL] Key press event is not processed properly.
2946         https://bugs.webkit.org/show_bug.cgi?id=80491
2947
2948         Reviewed by Gustavo Noronha Silva.
2949
2950         This issue is related with mutation observer feature.
2951         If enter key is pressed, then a keyboard event should be processed
2952         and reach to the mutation observer, but it doesn't.
2953         Some special keys like Enter, Backspace and Tab key should be processed
2954         and change to a single character code, but EFL port hasn't handled like that.
2955
2956         At least we can verify this with following two tests as I know. but they require another
2957         functionality for bug79601. I'm going to submit the patch for it after this one.
2958
2959         Test: fast/mutation/end-of-task-delivery.html
2960               fast/mutation/inline-event-listener.html
2961
2962         * platform/efl/EflKeyboardUtilities.cpp:
2963         (WebCore::singleCharacterString):
2964         (WebCore):
2965         * platform/efl/EflKeyboardUtilities.h:
2966         (WebCore):
2967         * platform/efl/PlatformKeyboardEventEfl.cpp:
2968         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2969
2970 2012-03-07  Gavin Peters  <gavinp@chromium.org>
2971
2972         Add Histograms for reporting on PageCache reject reasons
2973         https://bugs.webkit.org/show_bug.cgi?id=80187
2974
2975         Enhance the PageCache debug mode so that it uses Histograms to
2976         report on causes of failure.  Turn on the debug printing path
2977         even in non-debug Chromium builds, so these histograms will
2978         update.
2979
2980         Reviewed by Brady Eidson.
2981
2982         No new tests, does not change behaviour.
2983
2984         * history/PageCache.cpp:
2985         (WebCore):
2986         (WebCore::logCanCacheFrameDecision):
2987         (WebCore::logCanCachePageDecision):
2988         (WebCore::PageCache::canCache):
2989
2990 2012-03-07  Elliot Poger  <epoger@google.com>
2991
2992         [Chromium] Remove use_skia option from GYP
2993         https://bugs.webkit.org/show_bug.cgi?id=75811
2994
2995         Reviewed by Tony Chang.
2996
2997         * WebCore.gyp/WebCore.gyp:
2998
2999 2012-03-07  Yoshifumi Inoue  <yosin@chromium.org>
3000
3001         [Forms] Introduce LabelableElement to share "labels" attribute implementation
3002         https://bugs.webkit.org/show_bug.cgi?id=80392
3003
3004         Reviewed by Kent Tamura.
3005
3006         This patch introduces new class LabelableElement as base class of
3007         HTMLFormControlElement for sharing implementation of "labels" 
3008         attribute among form-associate elements, "meter" element, and 
3009         "progress" element.
3010
3011         This patch allows us to change base class of HTMLMeterElement and
3012         HTMLProgressElement dervied from HTMLFormControlElement to 
3013         HTMLElement for remove them from HTMLFormElement::m_associatedFormElements
3014         where we don't need to put "meter" and "progress" elements(bug 80381.)
3015
3016         This patch also changes implementation of isLabelable using virtual
3017         method rather than sequence of hasTagName for execution speed and
3018         better readability.
3019
3020         No new tests are required. No behavior changes.
3021
3022         * CMakeLists.txt: Add LabelableElement.cpp and .h
3023         * GNUmakefile.list.am:  Add LabelableElement.cpp and .h
3024         * Target.pri: Add LabelableElement.cpp and .h
3025         * WebCore.gypi: Add LabelableElement.cpp and .h
3026         * WebCore.vcproj/WebCore.vcproj: Add LabelableElement.cpp and .h
3027         * WebCore.xcodeproj/project.pbxproj: Add LabelableElement.cpp and .h
3028         * html/HTMLButtonElement.h: Implement isLabelable.
3029         * html/HTMLFormControlElement.cpp:
3030         (WebCore::HTMLFormControlElement::HTMLFormControlElement): Change direct base class.
3031         * html/HTMLFormControlElement.h:
3032         (HTMLFormControlElement): Change direct base class.
3033         * html/HTMLInputElement.cpp:
3034         (WebCore::HTMLInputElement::isLabelable): Removed to use virtual method instead of hasTagName.
3035         (WebCore):
3036         * html/HTMLInputElement.h: Declaration of isLabelable.
3037         * html/HTMLKeygenElement.h: Implement isLabelable.
3038         * html/HTMLMeterElement.h: Implement isLabelable.
3039         * html/HTMLProgressElement.h: Implement isLabelable.
3040         * html/HTMLSelectElement.h: Implement isLabelable.
3041         * html/HTMLTextAreaElement.h: Implement isLabelable.
3042         * html/LabelableElement.cpp: Added.
3043         (WebCore):
3044         (WebCore::LabelableElement::LabelableElement):
3045         (WebCore::LabelableElement::~LabelableElement):
3046         (WebCore::LabelableElement::labels): Moved from HTMLFormControlElement.
3047         * html/LabelableElement.h: Added.
3048         (WebCore):
3049         (LabelableElement):
3050
3051 2012-03-07  Arun Patole  <bmf834@motorola.com>
3052
3053         HTMLTrackElement.idl doesn't have default attribute.
3054         https://bugs.webkit.org/show_bug.cgi?id=80116
3055
3056         Reviewed by Kentaro Hara.
3057
3058         Renamed isDefault to 'default' so that in JS, it will be track.default instead of track.isDefault.
3059         * html/HTMLTrackElement.idl:
3060
3061 2012-03-07  Zoltan Horvath  <zoltan@webkit.org>
3062
3063         [Qt] Add qmake config tests for JPEG and PNG library
3064         https://bugs.webkit.org/show_bug.cgi?id=80398
3065
3066         Reviewed by Tor Arne Vestbø.
3067
3068         Add JPEG and PNG library tests to config.tests and
3069         add error() abort to WebCore.pri if tests don't work.
3070
3071         * WebCore.pri:
3072
3073 2012-03-06  Pavel Podivilov  <podivilov@chromium.org>
3074
3075         Web Inspector: extract source mapping logic from DebuggerPresentationModel to ScriptMappingImpl.
3076         https://bugs.webkit.org/show_bug.cgi?id=80412
3077
3078         Reviewed by Vsevolod Vlasov.
3079
3080         * WebCore.gypi:
3081         * WebCore.vcproj/WebCore.vcproj:
3082         * inspector/compile-front-end.sh:
3083         * inspector/front-end/ScriptMapping.js:
3084         (WebInspector.ScriptMappingImpl):
3085         (WebInspector.ScriptMappingImpl.prototype.rawLocationToUILocation):
3086         (WebInspector.ScriptMappingImpl.prototype.createLiveLocation):
3087         (WebInspector.ScriptMappingImpl.prototype.uiSourceCodeList):
3088         (WebInspector.ScriptMappingImpl.prototype._handleUISourceCodeListChanged):
3089         (WebInspector.ScriptMappingImpl.prototype._uiSourceCodeListChanged):
3090         (WebInspector.ScriptMappingImpl.prototype._bindScriptToRawSourceCode):
3091         (WebInspector.ScriptMappingImpl.prototype.setFormatSource):
3092         (WebInspector.ScriptMappingImpl.prototype.forceUpdateSourceMapping):
3093         (WebInspector.ScriptMappingImpl.prototype.reset):
3094
3095 2012-03-07  Mark Rowe  <mrowe@apple.com>
3096
3097         Fix DerivedSources.make to not assume that WTF and WebCore build in to the same build directory.
3098
3099         We can't assume that wtf/Platform.h can be found inside BUILT_PRODUCTS_DIR as
3100         that won't be the case if WTF and WebCore are building in to different build
3101         directories. We should instead look for wtf/Platform.h in the header search path.
3102         
3103         Unreviewed due to being a build fix.
3104
3105         * DerivedSources.make: Set up the header search path, and invoke the compiler in
3106         such a manner that it looks for wtf/Platform.h in that search path.
3107
3108 2012-03-07  Robin Cao  <robin.cao@torchmobile.com.cn>
3109
3110         [BlackBerry] Upstream Texture and TextureCache
3111         https://bugs.webkit.org/show_bug.cgi?id=80121
3112
3113         Reviewed by Rob Buis.
3114
3115         Initial upstream, no new tests.
3116
3117         * platform/graphics/blackberry/Texture.cpp: Added.
3118         (WebCore):
3119         (WebCore::copyImageData):
3120         (WebCore::Texture::Texture):
3121         (WebCore::Texture::~Texture):
3122         (WebCore::Texture::updateContents):
3123         (WebCore::Texture::setContentsToColor):
3124         (WebCore::Texture::protect):
3125         * platform/graphics/blackberry/Texture.h: Added.
3126         (WebCore):
3127         (Texture):
3128         (WebCore::Texture::create):
3129         (WebCore::Texture::textureId):
3130         (WebCore::Texture::isDirty):
3131         (WebCore::Texture::hasTexture):
3132         (WebCore::Texture::isColor):
3133         (WebCore::Texture::isOpaque):
3134         (WebCore::Texture::isProtected):
3135         (WebCore::Texture::protect):
3136         (WebCore::Texture::unprotect):
3137         (WebCore::Texture::size):
3138         (WebCore::Texture::width):
3139         (WebCore::Texture::height):
3140         (WebCore::Texture::bytesPerPixel):
3141         (WebCore::Texture::setTextureId):
3142         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp: Added.
3143         (WebCore):
3144         (TextureProtector):
3145         (WebCore::TextureProtector::TextureProtector):
3146         (WebCore::TextureProtector::~TextureProtector):
3147         (WebCore::TextureCacheCompositingThread::TextureCacheCompositingThread):
3148         (WebCore::TextureCacheCompositingThread::allocateTextureId):
3149         (WebCore::TextureCacheCompositingThread::freeTextureId):
3150         (WebCore::TextureCacheCompositingThread::collectGarbage):
3151         (WebCore::TextureCacheCompositingThread::textureResized):
3152         (WebCore::TextureCacheCompositingThread::textureDestroyed):
3153         (WebCore::TextureCacheCompositingThread::install):
3154         (WebCore::TextureCacheCompositingThread::evict):
3155         (WebCore::TextureCacheCompositingThread::textureAccessed):
3156         (WebCore::textureCacheCompositingThread):
3157         (WebCore::TextureCacheCompositingThread::prune):
3158         (WebCore::TextureCacheCompositingThread::clear):
3159         (WebCore::TextureCacheCompositingThread::setMemoryUsage):
3160         (WebCore::TextureCacheCompositingThread::textureForTiledContents):
3161         (WebCore::TextureCacheCompositingThread::textureForColor):
3162         (WebCore::TextureCacheCompositingThread::updateContents):
3163         (WebCore::TextureCacheCompositingThread::key):
3164         * platform/graphics/blackberry/TextureCacheCompositingThread.h: Added.
3165         (WebCore):
3166         (TextureCacheCompositingThread):
3167         (WebCore::TextureCacheCompositingThread::createTexture):
3168         (WebCore::TextureCacheCompositingThread::memoryUsage):
3169         (WebCore::TextureCacheCompositingThread::memoryLimit):
3170         (WebCore::TextureCacheCompositingThread::setMemoryLimit):
3171         (WebCore::TextureCacheCompositingThread::prune):
3172         (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
3173         (ZombieTexture):
3174         (WebCore::TextureCacheCompositingThread::incMemoryUsage):
3175         (WebCore::TextureCacheCompositingThread::decMemoryUsage):
3176         (WebCore::TextureCacheCompositingThread::ColorHash::hash):
3177         (WebCore::TextureCacheCompositingThread::ColorHash::equal):
3178         (ColorHash):
3179         (ColorHashTraits):
3180         (WebCore::TextureCacheCompositingThread::ColorHashTraits::constructDeletedValue):
3181         (WebCore::TextureCacheCompositingThread::ColorHashTraits::isDeletedValue):
3182
3183 2012-03-07  Kenichi Ishibashi  <bashi@chromium.org>
3184
3185         [WebSocket] Should raise SYNTAX_ERR when message contains unpaired surrogates
3186         https://bugs.webkit.org/show_bug.cgi?id=80103
3187
3188         Reviewed by Kent Tamura.
3189
3190         Add UTF8 validation checks for WebSocket message and close reason.
3191
3192         Tests: http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html
3193                http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html
3194
3195         * Modules/websockets/WebSocket.cpp:
3196         (WebCore::WebSocket::send): Raise SYNTAX_ERR if the message is invalid.
3197         (WebCore::WebSocket::close):Raise SYNTAX_ERR if the reason is invalid.
3198         * Modules/websockets/WebSocketChannel.cpp:
3199         (WebCore::WebSocketChannel::send): Check whether message is a valid UTF8 string.
3200
3201 2012-03-07  Byungwoo Lee  <bw80.lee@samsung.com>
3202
3203         [EFL] Build warning: Fix warn_unused_result warnings.
3204         https://bugs.webkit.org/show_bug.cgi?id=79194
3205
3206         Reviewed by Filip Pizlo.
3207
3208         Fixed build warning which is getting generated when not using return
3209         value of a fuction, especially declared with warn_unused_result
3210         attribute.
3211
3212         * platform/efl/SharedBufferEfl.cpp:
3213         (WebCore::SharedBuffer::createWithContentsOfFile):
3214
3215 2012-03-07  Kent Tamura  <tkent@chromium.org>
3216
3217         Cleanup of RenderTextControl::adjustControlHeightBasedOnLineHeight()
3218         https://bugs.webkit.org/show_bug.cgi?id=80480
3219
3220         Reviewed by Hajime Morita.
3221
3222         The callsite of adjustControlHeightBasedOnLineHeight() stored
3223         padding+border+margin height of the inner text in height(), and
3224         adjustControlHeightBasedOnLineHeight() implementations refered it. It
3225         was unreasonable and hard to understand.
3226
3227         The purpose of adjustControlHeightBasedOnLineHeight() is to compute
3228         - the maximum height of line-heights of the inner text and decorations
3229         - the maximum height of padding+border+margin heights of the inner text and decorations,
3230         and to sum them up. This patch rewrites the code to make it understood easily.
3231
3232         adjustControlHeightBasedOnLineHeight() is renamed to
3233         computeControlheight(), it takes additional parameter of
3234         padding+boder+margin height, and returns the sum of them.
3235
3236         No behavior change.
3237
3238         * rendering/RenderTextControl.cpp:
3239         (WebCore::RenderTextControl::computeLogicalHeight):
3240         * rendering/RenderTextControl.h:
3241         (RenderTextControl):
3242         * rendering/RenderTextControlMultiLine.cpp:
3243         (WebCore::RenderTextControlMultiLine::computeControlHeight):
3244         * rendering/RenderTextControlMultiLine.h:
3245         (RenderTextControlMultiLine):
3246         * rendering/RenderTextControlSingleLine.cpp:
3247         (WebCore::RenderTextControlSingleLine::computeControlHeight):
3248         * rendering/RenderTextControlSingleLine.h:
3249         (RenderTextControlSingleLine):
3250
3251 2012-03-06  Eric Seidel  <eric@webkit.org>
3252
3253         Make WTF public headers use fully-qualified include paths and remove ForwardingHeaders/wtf
3254         https://bugs.webkit.org/show_bug.cgi?id=80363
3255
3256         Reviewed by Mark Rowe.
3257
3258         ForwardingHeaders/wtf is no longer needed (or functional) now that
3259         JavaScriptCore no longer includes the WTF headers as private headers.
3260
3261         * DerivedSources.make:
3262         * ForwardingHeaders/wtf/ASCIICType.h: Removed.
3263         * ForwardingHeaders/wtf/AVLTree.h: Removed.
3264         * ForwardingHeaders/wtf/Alignment.h: Removed.
3265         * ForwardingHeaders/wtf/AlwaysInline.h: Removed.
3266         * ForwardingHeaders/wtf/ArrayBuffer.h: Removed.
3267         * ForwardingHeaders/wtf/ArrayBufferView.h: Removed.
3268         * ForwardingHeaders/wtf/Assertions.h: Removed.
3269         * ForwardingHeaders/wtf/Atomics.h: Removed.
3270         * ForwardingHeaders/wtf/Bitmap.h: Removed.
3271         * ForwardingHeaders/wtf/BloomFilter.h: Removed.
3272         * ForwardingHeaders/wtf/BumpPointerAllocator.h: Removed.
3273         * ForwardingHeaders/wtf/ByteArray.h: Removed.
3274         * ForwardingHeaders/wtf/CheckedArithmetic.h: Removed.
3275         * ForwardingHeaders/wtf/CheckedBoolean.h: Removed.
3276         * ForwardingHeaders/wtf/Compiler.h: Removed.
3277         * ForwardingHeaders/wtf/Complex.h: Removed.
3278         * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Removed.
3279         * ForwardingHeaders/wtf/CurrentTime.h: Removed.
3280         * ForwardingHeaders/wtf/DataLog.h: Removed.
3281         * ForwardingHeaders/wtf/DateInstanceCache.h: Removed.
3282         * ForwardingHeaders/wtf/DateMath.h: Removed.
3283         * ForwardingHeaders/wtf/DecimalNumber.h: Removed.
3284         * ForwardingHeaders/wtf/Decoder.h: Removed.
3285         * ForwardingHeaders/wtf/Deque.h: Removed.
3286         * ForwardingHeaders/wtf/DisallowCType.h: Removed.
3287         * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
3288         * ForwardingHeaders/wtf/DynamicAnnotations.h: Removed.
3289         * ForwardingHeaders/wtf/Encoder.h: Removed.
3290         * ForwardingHeaders/wtf/ExportMacros.h: Removed.
3291         * ForwardingHeaders/wtf/FastAllocBase.h: Removed.
3292         * ForwardingHeaders/wtf/FastMalloc.h: Removed.
3293         * ForwardingHeaders/wtf/FixedArray.h: Removed.
3294         * ForwardingHeaders/wtf/Float32Array.h: Removed.
3295         * ForwardingHeaders/wtf/Float64Array.h: Removed.
3296         * ForwardingHeaders/wtf/Forward.h: Removed.
3297         * ForwardingHeaders/wtf/Functional.h: Removed.
3298         * ForwardingHeaders/wtf/GetPtr.h: Removed.
3299         * ForwardingHeaders/wtf/HashCountedSet.h: Removed.
3300         * ForwardingHeaders/wtf/HashFunctions.h: Removed.
3301         * ForwardingHeaders/wtf/HashMap.h: Removed.
3302         * ForwardingHeaders/wtf/HashSet.h: Removed.
3303         * ForwardingHeaders/wtf/HashTable.h: Removed.
3304         * ForwardingHeaders/wtf/HashTraits.h: Removed.
3305         * ForwardingHeaders/wtf/HexNumber.h: Removed.
3306         * ForwardingHeaders/wtf/Int16Array.h: Removed.
3307         * ForwardingHeaders/wtf/Int32Array.h: Removed.
3308         * ForwardingHeaders/wtf/Int8Array.h: Removed.
3309         * ForwardingHeaders/wtf/ListHashSet.h: Removed.
3310         * ForwardingHeaders/wtf/ListRefPtr.h: Removed.
3311         * ForwardingHeaders/wtf/Locker.h: Removed.
3312         * ForwardingHeaders/wtf/MD5.h: Removed.
3313         * ForwardingHeaders/wtf/MainThread.h: Removed.
3314         * ForwardingHeaders/wtf/MathExtras.h: Removed.
3315         * ForwardingHeaders/wtf/MessageQueue.h: Removed.
3316         * ForwardingHeaders/wtf/MetaAllocator.h: Removed.
3317         * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Removed.
3318         * ForwardingHeaders/wtf/NonCopyingSort.h: Removed.
3319         * ForwardingHeaders/wtf/Noncopyable.h: Removed.
3320         * ForwardingHeaders/wtf/NotFound.h: Removed.
3321         * ForwardingHeaders/wtf/OSAllocator.h: Removed.
3322         * ForwardingHeaders/wtf/OwnArrayPtr.h: Removed.
3323         * ForwardingHeaders/wtf/OwnPtr.h: Removed.
3324         * ForwardingHeaders/wtf/OwnPtrCommon.h: Removed.
3325         * ForwardingHeaders/wtf/PageAllocation.h: Removed.
3326         * ForwardingHeaders/wtf/PageAllocationAligned.h: Removed.
3327         * ForwardingHeaders/wtf/PageBlock.h: Removed.
3328         * ForwardingHeaders/wtf/PageReservation.h: Removed.
3329         * ForwardingHeaders/wtf/ParallelJobs.h: Removed.
3330         * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Removed.
3331         * ForwardingHeaders/wtf/PassOwnPtr.h: Removed.
3332         * ForwardingHeaders/wtf/PassRefPtr.h: Removed.
3333         * ForwardingHeaders/wtf/Platform.h: Removed.
3334         * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
3335         * ForwardingHeaders/wtf/RandomNumber.h: Removed.
3336         * ForwardingHeaders/wtf/RedBlackTree.h: Removed.
3337         * ForwardingHeaders/wtf/RefCounted.h: Removed.
3338         * ForwardingHeaders/wtf/RefCountedLeakCounter.h: Removed.
3339         * ForwardingHeaders/wtf/RefPtr.h: Removed.
3340         * ForwardingHeaders/wtf/RetainPtr.h: Removed.
3341         * ForwardingHeaders/wtf/SHA1.h: Removed.
3342         * ForwardingHeaders/wtf/SegmentedVector.h: Removed.
3343         * ForwardingHeaders/wtf/SimpleStats.h: Removed.
3344         * ForwardingHeaders/wtf/Spectrum.h: Removed.
3345         * ForwardingHeaders/wtf/StackBounds.h: Removed.
3346         * ForwardingHeaders/wtf/StaticConstructors.h: Removed.
3347         * ForwardingHeaders/wtf/StdLibExtras.h: Removed.
3348         * ForwardingHeaders/wtf/StringExtras.h: Removed.
3349         * ForwardingHeaders/wtf/StringHasher.h: Removed.
3350         * ForwardingHeaders/wtf/TemporaryChange.h: Removed.
3351         * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
3352         * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Removed.
3353         * ForwardingHeaders/wtf/ThreadSpecific.h: Removed.
3354         * ForwardingHeaders/wtf/Threading.h: Removed.
3355         * ForwardingHeaders/wtf/ThreadingPrimitives.h: Removed.
3356         * ForwardingHeaders/wtf/TypeTraits.h: Removed.
3357         * ForwardingHeaders/wtf/Uint16Array.h: Removed.
3358         * ForwardingHeaders/wtf/Uint32Array.h: Removed.
3359         * ForwardingHeaders/wtf/Uint8Array.h: Removed.
3360         * ForwardingHeaders/wtf/Uint8ClampedArray.h: Removed.
3361         * ForwardingHeaders/wtf/UnusedParam.h: Removed.
3362         * ForwardingHeaders/wtf/VMTags.h: Removed.
3363         * ForwardingHeaders/wtf/ValueCheck.h: Removed.
3364         * ForwardingHeaders/wtf/Vector.h: Removed.
3365         * ForwardingHeaders/wtf/VectorTraits.h: Removed.
3366         * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
3367         * ForwardingHeaders/wtf/dtoa.h: Removed.
3368         * ForwardingHeaders/wtf/dtoa/double-conversion.h: Removed.
3369         * ForwardingHeaders/wtf/text/ASCIIFastPath.h: Removed.
3370         * ForwardingHeaders/wtf/text/AtomicString.h: Removed.
3371         * ForwardingHeaders/wtf/text/AtomicStringHash.h: Removed.
3372         * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Removed.
3373         * ForwardingHeaders/wtf/text/CString.h: Removed.
3374         * ForwardingHeaders/wtf/text/StringBuffer.h: Removed.
3375         * ForwardingHeaders/wtf/text/StringBuilder.h: Removed.
3376         * ForwardingHeaders/wtf/text/StringConcatenate.h: Removed.
3377         * ForwardingHeaders/wtf/text/StringHash.h: Removed.
3378         * ForwardingHeaders/wtf/text/StringImpl.h: Removed.
3379         * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
3380         * ForwardingHeaders/wtf/text/WTFString.h: Removed.
3381         * ForwardingHeaders/wtf/unicode/CharacterNames.h: Removed.
3382         * ForwardingHeaders/wtf/unicode/Collator.h: Removed.
3383         * ForwardingHeaders/wtf/unicode/UTF8.h: Removed.
3384         * ForwardingHeaders/wtf/unicode/Unicode.h: Removed.
3385         * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Removed.
3386         * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Removed.
3387         * ForwardingHeaders/wtf/url/ParsedURL.h: Removed.
3388
3389 2012-03-07  Yoshifumi Inoue  <yosin@chromium.org>
3390
3391         [Forms] The "legend" element should not be a form-associated element.
3392         https://bugs.webkit.org/show_bug.cgi?id=80239
3393
3394         Reviewed by Kent Tamura.
3395
3396         This patch changes base class of HTMLLegendElement to HTMLElement from
3397         HTMLFormControlElement for saving memory space and iteration time of
3398         extra "legend" elements in HTMLFormElement::m_formAssociatedElements
3399         and matching the HTML5 specification for ease of maintenance.
3400
3401         Changes of TextIterator is lead by usage of isFormControlElement. This
3402         changes will be replaced with more meaningful predicate as part of
3403         https://bugs.webkit.org/show_bug.cgi?id=80381
3404
3405         No new tests are required. No behavior changes.
3406
3407         * editing/TextIterator.cpp:
3408         (WebCore::TextIterator::advance): Check HTMLLegendElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
3409         * html/HTMLLegendElement.cpp:
3410         (WebCore::HTMLLegendElement::HTMLLegendElement): Remove form parameter.
3411         (WebCore::HTMLLegendElement::create): Remove form parameter.
3412         (WebCore::HTMLLegendElement::associatedControl): Stop checking legend element, because HTMLLegendElement is no longer HTMLFormControlElement.
3413         (WebCore::HTMLLegendElement::supportFocus): Removed. It called HTMLElement::supportFocus.
3414         (WebCore::HTMLLegendElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
3415         * html/HTMLLegendElement.h:
3416         (HTMLLegendElement): Change base class to HTMLElement.
3417         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
3418
3419 2012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
3420
3421         [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
3422         https://bugs.webkit.org/show_bug.cgi?id=80469
3423
3424         Reviewed by Antonio Gomes.
3425
3426         No new tests, this is a buildsystem change.
3427
3428         * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
3429         property on the library being created.
3430
3431 2012-03-06  Lianghui Chen  <liachen@rim.com>
3432
3433         [BlackBerry] Set correct ResourceRequest target type.
3434         https://bugs.webkit.org/show_bug.cgi?id=80430
3435
3436         Reviewed by Rob Buis.
3437
3438         For loads started by AppCache, they are based on the manifest file,
3439         it is not definitely sure what target it is for, so we just guess
3440         based on its mimetype or file extension.
3441
3442         * loader/appcache/ApplicationCacheGroup.cpp:
3443         (WebCore::ApplicationCacheGroup::createResourceHandle):
3444         * loader/cache/CachedResource.cpp:
3445         (WebCore):
3446         (WebCore::CachedResource::load):
3447         * platform/network/blackberry/ResourceRequest.h:
3448         (ResourceRequest):
3449         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
3450         (WebCore):
3451         (WebCore::mimeTypeRequestTypeMap):
3452         (WebCore::ResourceRequest::targetTypeFromMimeType):
3453         * workers/DefaultSharedWorkerRepository.cpp:
3454         (WebCore::SharedWorkerScriptLoader::load):
3455         * workers/Worker.cpp:
3456         (WebCore::Worker::create):
3457         * workers/WorkerContext.cpp:
3458         (WebCore::WorkerContext::importScripts):
3459         * workers/WorkerScriptLoader.cpp:
3460         (WebCore::WorkerScriptLoader::createResourceRequest):
3461         * workers/WorkerScriptLoader.h:
3462         (WorkerScriptLoader):
3463
3464 2012-03-06  Dana Jansens  <danakj@chromium.org>
3465
3466         [chromium] Add clipping to scissor rect to CCOcclusionTracker
3467         https://bugs.webkit.org/show_bug.cgi?id=79927
3468
3469         Reviewed by Adrienne Walker.
3470
3471         Adds logic to CCOcclusionTracker to occlude anything outside of the
3472         current screen and target surface scissor rects. When tracking
3473         damage for partial swaps, the scissor rects are bounded by the
3474         tracked damage rects.
3475
3476         Unit tests: CCOcclusionTrackerTest.cpp