1 2012-03-09 Ashod Nakashian <ashodnakashian@yahoo.com>
3 Bash scripts should support LF endings only
4 https://bugs.webkit.org/show_bug.cgi?id=79509
6 Reviewed by David Kilzer.
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.
19 2012-03-09 Andreas Kling <awesomekling@apple.com>
21 CSSParser: Use Vector for intermediate property storage.
22 <http://webkit.org/b/80653>
24 Reviewed by Antti Koivisto.
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.
30 Remove WTF_MAKE_FAST_ALLOCATED from CSSProperty since they are only created on
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):
54 (WebCore::CSSParser::hasProperties):
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):
66 2012-03-09 Nate Chapin <japhet@chromium.org>
68 CachedRawResource breaks when trying to load
69 a resource with an empty response body from cache.
71 Reviewed by Alexey Proskuryakov.
73 Test: http/tests/cache/zero-length-xhr.html
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().
79 2012-03-09 Robin Cao <robin.cao@torchmobile.com.cn>
81 [BlackBerry] Upstream classes that handle layer tiling
82 https://bugs.webkit.org/show_bug.cgi?id=79875
86 Initial upstreaming, no new tests.
88 * platform/graphics/blackberry/LayerTile.cpp: Added.
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.
101 (WebCore::LayerTileData::LayerTileData):
102 (WebCore::LayerTileData::isVisible):
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.
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!=):
120 * platform/graphics/blackberry/LayerTiler.cpp: Added.
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.
157 (WebCore::LayerTiler::create):
158 (WebCore::LayerTiler::layer):
159 (WebCore::LayerTiler::hasMissingTextures):
160 (WebCore::LayerTiler::TextureJob::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):
172 2012-03-09 Ian Vollick <vollick@chromium.org>
174 [chromium] Ensure we use the correct time when notifying animation started
175 https://bugs.webkit.org/show_bug.cgi?id=79537
177 Reviewed by James Robinson
179 Tested in CCLayerTreeHostTestAddAnimation
181 * platform/graphics/chromium/LayerChromium.cpp:
182 (WebCore::LayerChromium::setAnimationEvent):
183 * platform/graphics/chromium/LayerChromium.h:
185 * platform/graphics/chromium/cc/CCAnimationEvents.cpp:
186 (WebCore::CCAnimationStartedEvent::create):
187 (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
188 * platform/graphics/chromium/cc/CCAnimationEvents.h:
190 (CCAnimationStartedEvent):
191 * platform/graphics/chromium/cc/CCInputHandler.h:
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:
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:
245 2012-03-09 Zoltan Herczeg <zherczeg@webkit.org>
247 Add SVGRenderingContext and move there the context related code from SVGRenderSupport
248 https://bugs.webkit.org/show_bug.cgi?id=80413
250 Reviewed by Nikolas Zimmermann.
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.
258 This patch add a new SVGRenderingContext class, and moves there the context
259 initialization / cleanup code from SVGRenderSupport. All build systems were
263 * GNUmakefile.list.am:
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.
285 (WebCore::isRenderingMaskImage):
286 (WebCore::SVGRenderingContext::~SVGRenderingContext):
287 (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
288 * rendering/svg/SVGRenderingContext.h: Added.
290 (SVGRenderingContext):
291 (WebCore::SVGRenderingContext::SVGRenderingContext):
292 (WebCore::SVGRenderingContext::isRenderingPrepared):
293 * rendering/svg/SVGRootInlineBox.cpp:
294 (WebCore::SVGRootInlineBox::paint):
296 2012-03-09 Sheriff Bot <webkit.review.bot@gmail.com>
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
304 They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
308 * testing/Internals.cpp:
309 * testing/Internals.h:
312 * testing/Internals.idl:
314 2012-03-09 Hans Wennborg <hans@chromium.org>
316 Speech JavaScript API: add SpeechGrammar and SpeechGrammarList
317 https://bugs.webkit.org/show_bug.cgi?id=80417
319 Reviewed by Adam Barth.
321 Implement SpeechGrammar and SpeechGrammarList.
322 (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)
324 Test: fast/speech/scripted/speechgrammar-basics.html
326 * Modules/speech/DOMWindowSpeech.idl:
327 * Modules/speech/SpeechGrammar.cpp:
329 (WebCore::SpeechGrammar::create):
330 (WebCore::SpeechGrammar::SpeechGrammar):
331 * Modules/speech/SpeechGrammar.h:
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:
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:
349 (WebCore::SpeechGrammarList::length):
350 * Modules/speech/SpeechGrammarList.idl:
353 2012-03-09 Sheriff Bot <webkit.review.bot@gmail.com>
355 Unreviewed, rolling out r110269.
356 http://trac.webkit.org/changeset/110269
357 https://bugs.webkit.org/show_bug.cgi?id=80688
359 It made inspector/elements/highlight-node.html fail everywhere
360 (Requested by Ossy on #webkit).
362 * testing/Internals.idl:
364 2012-03-07 Alexander Pavlov <apavlov@chromium.org>
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
369 Reviewed by Vsevolod Vlasov.
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):
379 2012-03-09 Mark Rowe <mrowe@apple.com>
381 <rdar://problem/11012024> Fix the build by working around <rdar://problem/10710970>.
383 * platform/mac/RunLoopMac.mm:
384 (WebCore::RunLoop::stop):
386 2012-03-09 Marja Hölttä <marja@google.com>
388 FileInputType doesn't support (save|restore)FormControlState
389 https://bugs.webkit.org/show_bug.cgi?id=80145
391 Reviewed by Kent Tamura.
393 This enables saving and restoring the state of file upload elements in
396 Test: fast/forms/file/recover-file-input-in-unposted-form.html
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
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
415 (InputType): restoreFormControlState non-const
416 * html/PasswordInputType.cpp:
417 (WebCore::PasswordInputType::restoreFormControlState): non-const
418 * html/PasswordInputType.h:
419 (PasswordInputType): restoreFormControlState non-const
421 2012-03-08 Benjamin Poulain <bpoulain@apple.com>
423 Base the access to CSSStyleDeclaration on the CSSPropertyID instead of the PropertyName
424 https://bugs.webkit.org/show_bug.cgi?id=80461
426 Reviewed by Geoffrey Garen.
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.
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
437 To handle the differences create by hadPixelOrPosPrefix, two nearly identical callback are defined,
438 one for hadPixelOrPosPrefix, the other for !hadPixelOrPosPrefix.
440 The performance gain is about 19% when accessing CSS properties.
442 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
443 (WebCore::getPropertyValueFallback):
444 (WebCore::cssPropertyGetterPixelOrPosPrefix):
446 (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
447 (WebCore::cssPropertyGetter):
448 (WebCore::cssPropertyGetterCallback):
449 (WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
450 (WebCore::JSCSSStyleDeclaration::getOwnPropertyDescriptorDelegate):
451 * css/CSSStyleDeclaration.idl:
453 2012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
455 [Qt] Fix Qt minimal build
457 * testing/Internals.idl:
459 2012-03-08 James Robinson <jamesr@chromium.org>
461 [chromium] Remove dead CoreGraphics code from chromium compositor implementation
462 https://bugs.webkit.org/show_bug.cgi?id=80470
464 Reviewed by Adam Barth.
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.
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):
487 (WebCore::PlatformCanvas::AutoLocker::pixels):
488 (WebCore::PlatformCanvas::Painter::Painter):
489 * platform/graphics/chromium/PlatformCanvas.h:
494 * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
495 * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
497 2012-03-08 Ryosuke Niwa <rniwa@webkit.org>
499 Get rid of itemTypeAttributeChanged
500 https://bugs.webkit.org/show_bug.cgi?id=80666
502 Reviewed by Adam Barth.
504 This function is unnecessay as we can invalidate m_microDataItemListCaches
505 in invalidateCachesThatDependOnAttributes as done for other node lists.
508 (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
509 (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
511 * dom/NodeRareData.h:
513 * html/HTMLElement.cpp:
514 (WebCore::HTMLElement::parseAttribute):
516 2012-03-08 Sheriff Bot <webkit.review.bot@gmail.com>
518 Unreviewed, rolling out r108616.
519 http://trac.webkit.org/changeset/108616
520 https://bugs.webkit.org/show_bug.cgi?id=80676
522 breaks animation on Safari welcome page (Requested by smfr on
525 * page/animation/AnimationController.cpp:
526 (WebCore::AnimationController::updateAnimations):
527 * page/animation/AnimationControllerPrivate.h:
528 (AnimationControllerPrivate):
530 2012-03-08 Benjamin Poulain <benjamin@webkit.org>
532 Fix the build of WebKit with WTFURL following the removal of ForwardingHeaders/wtf
533 https://bugs.webkit.org/show_bug.cgi?id=80652
535 Reviewed by Eric Seidel.
537 The fowarding headers have been removed, we must now use the full path to the header.
539 * platform/KURLWTFURLImpl.h:
541 2012-03-08 Emil A Eklund <eae@chromium.org>
543 Change calcRadiiFor to IntSize
544 https://bugs.webkit.org/show_bug.cgi?id=80655
546 Reviewed by Simon Fraser.
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.
552 No new tests, no new functionality.
554 * rendering/style/RenderStyle.cpp:
555 (WebCore::calcRadiiFor):
557 2012-03-08 Adrienne Walker <enne@google.com>
559 [chromium] Encapsulate mask layer settings in LayerChromium
560 https://bugs.webkit.org/show_bug.cgi?id=80646
562 Reviewed by James Robinson.
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.
569 Test: LayoutTests/compositing/
571 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
572 (WebCore::GraphicsLayerChromium::setMaskLayer):
573 * platform/graphics/chromium/LayerChromium.cpp:
574 (WebCore::LayerChromium::setMaskLayer):
576 2012-03-08 Tony Chang <tony@chromium.org>
578 margins on flex-align: baseline are double counted
579 https://bugs.webkit.org/show_bug.cgi?id=80645
581 Reviewed by Ojan Vafai.
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.
587 Tests: css3/flexbox/multiline-reverse-wrap-baseline-expected.html
588 css3/flexbox/multiline-reverse-wrap-baseline.html
590 * rendering/RenderFlexibleBox.cpp:
591 (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
593 2012-03-08 Nat Duca <nduca@chromium.org>
595 [chromium] Pass setVisibility to CCLayerTreeHostImpl regardless of LRC initialization status
596 https://bugs.webkit.org/show_bug.cgi?id=80584
598 Reviewed by James Robinson.
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):
607 2012-03-08 Ian Vollick <vollick@chromium.org>
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
612 Reviewed by James Robinson.
614 Tested in CCLayerTreeHostTestTickAnimationWhileBackgrounded
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):
624 (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
625 (WebCore::CCLayerTreeHostImpl::setVisible):
626 (WebCore::CCLayerTreeHostImpl::animateLayers):
627 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
629 (CCLayerTreeHostImpl):
630 * platform/graphics/chromium/cc/CCProxy.cpp:
631 (WebCore::CCProxy::currentThread):
633 (WebCore::CCProxy::isMainThread):
634 (WebCore::CCProxy::isImplThread):
635 (WebCore::CCProxy::setCurrentThreadIsImplThread):
636 * platform/graphics/chromium/cc/CCProxy.h:
639 2012-03-08 Nico Weber <thakis@chromium.org>
641 [chromium] Only build NEON files if target_arch=="arm"
642 https://bugs.webkit.org/show_bug.cgi?id=80626
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.
649 Reviewed by Tony Chang.
651 * WebCore.gyp/WebCore.gyp:
654 2012-03-08 Nima Ghanavatian <nghanavatian@rim.com>
656 [BlackBerry] Fix warning in PlatformTouchEventBlackBerry.cpp
657 https://bugs.webkit.org/show_bug.cgi?id=80621
659 Fixes a warning seen when control reaches the end of a
660 non-void function. Return TouchCancel in the 'default' case.
662 Reviewed by Rob Buis.
664 * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
665 (WebCore::touchEventType):
667 2012-03-08 Dana Jansens <danakj@chromium.org>
669 [chromium] Using wrong scissor rect for draw culling
670 https://bugs.webkit.org/show_bug.cgi?id=80624
672 Reviewed by Adrienne Walker.
674 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
675 (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
677 2012-03-08 Andy Estes <aestes@apple.com>
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
682 Reviewed by Ryosuke Niwa.
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.
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()
698 Test: fast/events/file-input-hidden-in-ondrop.html
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.
706 2012-03-08 Ryosuke Niwa <rniwa@webkit.org>
708 Mac build fix for micro data API.
710 * Configurations/FeatureDefines.xcconfig:
711 * WebCore.xcodeproj/project.pbxproj:
713 (WebCore::Document::removeCachedMicroDataItemList):
714 * html/HTMLElement.idl:
716 2012-03-07 Jon Lee <jonlee@apple.com>
718 Support [Custom] for static functions
719 https://bugs.webkit.org/show_bug.cgi?id=80573
721 Reviewed by Kentaro Hara.
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.
733 * bindings/scripts/test/TestObj.idl: Added new test case.
735 * bindings/scripts/test/JS/JSTestObj.cpp:
737 (WebCore::jsTestObjConstructorFunctionClassMethod2):
738 * bindings/scripts/test/JS/JSTestObj.h:
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:
749 2012-03-08 Mark Pilgrim <pilgrim@chromium.org>
751 Collapse ENABLE(BLOB)|ENABLE(FILE_SYSTEM) to just ENABLE(BLOB)
752 https://bugs.webkit.org/show_bug.cgi?id=80592
754 Reviewed by Adam Barth.
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.
761 No new tests, all existing tests pass.
764 * dom/ScriptExecutionContext.cpp:
765 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
767 (WebCore::ScriptExecutionContext::fileThread):
768 * dom/ScriptExecutionContext.h:
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):
788 2012-03-08 James Robinson <jamesr@chromium.org>
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
793 Reviewed by Stephen White.
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.
801 * html/canvas/WebGLRenderingContext.cpp:
803 (WebCore::WebGLRenderingContext::create):
804 * platform/graphics/GraphicsContext3D.h:
805 (WebCore::GraphicsContext3D::Attributes::Attributes):
807 * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
808 (WebCore::SharedGraphicsContext3D::get):
810 2012-03-08 Andy Estes <aestes@apple.com>
812 NULL renderer possible in WebCore::HTMLInputElement::setCanReceiveDroppedFiles()
813 https://bugs.webkit.org/show_bug.cgi?id=80648
815 Reviewed by Simon Fraser.
817 Test: fast/events/input-element-display-none-in-dragleave-crash.html
819 * html/HTMLInputElement.cpp:
820 (WebCore::HTMLInputElement::setCanReceiveDroppedFiles): NULL-check renderer().
822 2012-03-08 Jer Noble <jer.noble@apple.com>
824 Yet another unreviewed build fix.
826 Remove an unneeded and Lion-defined window constant from WebCoreFullScreenWindow.
828 * platform/mac/WebCoreFullScreenWindow.mm:
829 (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
831 2012-03-08 Levi Weintraub <leviw@chromium.org>
833 Switch absoluteRects, culledInlineAbsoluteRects, absoluteBoundingBoxRect, and addFocusRingRects back to integers
834 https://bugs.webkit.org/show_bug.cgi?id=80545
836 Reviewed by Simon Fraser.
838 Converting the above functions, all of which return rects that represent on-screen rects, to IntRects from
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.
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
848 No new tests. No change in behavior.
851 (WebCore::Node::hasNonEmptyBoundingBox):
853 (WebCore::Range::boundingBox):
854 * rendering/RenderBlock.cpp:
855 (WebCore::RenderBlock::absoluteRects):
856 (WebCore::RenderBlock::addFocusRingRects):
857 * rendering/RenderBlock.h:
859 * rendering/RenderInline.cpp:
860 (WebCore::RenderInline::absoluteRects):
861 (WebCore::RenderInline::culledInlineAbsoluteRects):
862 (WebCore::RenderInline::addFocusRingRects):
863 * rendering/RenderInline.h:
865 * rendering/RenderListBox.cpp:
866 (WebCore::RenderListBox::addFocusRingRects):
867 * rendering/RenderListBox.h:
869 * rendering/RenderObject.cpp:
870 (WebCore::RenderObject::paintFocusRing):
871 (WebCore::RenderObject::absoluteBoundingBoxRect):
872 (WebCore::RenderObject::absoluteFocusRingQuads):
873 * rendering/RenderObject.h:
874 (WebCore::RenderObject::absoluteRects):
876 (WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
877 (WebCore::RenderObject::addFocusRingRects):
878 * rendering/RenderText.cpp:
879 (WebCore::RenderText::absoluteRects):
880 (WebCore::RenderText::absoluteRectsForRange):
881 * rendering/RenderText.h:
883 * rendering/RenderTextControl.cpp:
884 (WebCore::RenderTextControl::addFocusRingRects):
885 * rendering/RenderTextControl.h:
887 * rendering/RenderView.cpp:
888 (WebCore::RenderView::absoluteRects):
889 * rendering/RenderView.h:
891 * rendering/svg/RenderSVGBlock.cpp:
892 (WebCore::RenderSVGBlock::absoluteRects):
893 * rendering/svg/RenderSVGBlock.h:
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:
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:
912 2012-03-08 Erik Arvidsson <arv@chromium.org>
914 [V8] Use EventNames instead of strings
915 https://bugs.webkit.org/show_bug.cgi?id=80649
917 Reviewed by Ojan Vafai.
919 No new tests. Covered by existing tests.
921 * bindings/v8/V8AbstractEventListener.cpp:
922 (WebCore::V8AbstractEventListener::invokeEventHandler):
924 2012-03-08 Tim Horton <timothy_horton@apple.com>
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>
930 Reviewed by Dean Jackson.
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.
937 No new tests, covered by all existing SVG and CSS filter tests.
939 * Resources/linearSRGB.icc: Added.
940 * WebCore.xcodeproj/project.pbxproj:
941 * platform/graphics/cg/GraphicsContextCG.cpp:
942 (WebCore::linearRGBColorSpaceRef):
944 2012-03-08 Beth Dakin <bdakin@apple.com>
946 https://bugs.webkit.org/show_bug.cgi?id=80463
947 RenderImage is using the wrong origin when calling addRelevantRepaintedObject
949 <rdar://problem/10970221>
951 Reviewed by Dan Bernstein.
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):
960 2012-03-07 Jon Lee <jonlee@apple.com>
962 Add support for ENABLE(LEGACY_NOTIFICATIONS)
963 https://bugs.webkit.org/show_bug.cgi?id=80497
965 Reviewed by Adam Barth.
967 Prep for b80472: Update API for Web Notifications
968 * Configurations/FeatureDefines.xcconfig:
971 2012-03-08 Jer Noble <jer.noble@apple.com>
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
976 Reviewed by Anders Carlsson.
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:
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()
992 2012-03-08 Jer Noble <jer.noble@apple.com>
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
997 Reviewed by John Sullivan.
999 No new tests; no net change in functionality so covered by existing tests.
1001 The following functions had special case code for rendering full-screen elements removed:
1003 (WebCore::Document::webkitWillEnterFullScreenForElement):
1004 (WebCore::Document::webkitDidEnterFullScreenForElement):
1005 (WebCore::Document::webkitWillExitFullScreenForElement):
1006 (WebCore::Document::webkitDidExitFullScreenForElement):
1007 (WebCore::Document::setAnimatingFullScreen):
1008 * page/FrameView.cpp:
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:
1020 2012-03-08 Matt Lilek <mrl@apple.com>
1022 Don't enable VIDEO_TRACK on all OS X platforms
1023 https://bugs.webkit.org/show_bug.cgi?id=80635
1025 Reviewed by Eric Carlson.
1027 * Configurations/FeatureDefines.xcconfig:
1029 2012-03-08 Tony Chang <tony@chromium.org>
1031 implement flexbox wrap-reverse
1032 https://bugs.webkit.org/show_bug.cgi?id=80552
1034 Reviewed by Ojan Vafai.
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
1041 * rendering/RenderFlexibleBox.cpp:
1042 (WebCore::RenderFlexibleBox::WrapReverseContext::WrapReverseContext): Helper struct to hold information needed for reversing
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.
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):
1057 2012-03-08 Adam Klein <adamk@chromium.org>
1059 Remove InDocumentFlag manipulation methods from Node interface
1060 https://bugs.webkit.org/show_bug.cgi?id=80612
1062 Reviewed by Ryosuke Niwa.
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).
1068 No new tests, refactoring only.
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.
1074 (WebCore::Document::Document): Call ContainerNode constructor with InDocumentFlag always set
1075 instead of calling setInDocument.
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.
1081 2012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
1083 [Qt] Try to fix the Snow Leopard build
1085 If the build is running under sh, echo -n does not empty the file.
1087 * DerivedSources.pri:
1089 2012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
1091 Prospective build fix for Qt minimal after r110191
1093 https://bugs.webkit.org/show_bug.cgi?id=80338
1095 * testing/Internals.cpp:
1097 * testing/Internals.h:
1100 2012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
1102 [Qt] Prospective Windows build fix
1104 Don't assume that windows-builds will always run inside a cmd.exe shell.
1106 * DerivedSources.pri:
1108 2012-03-08 Vivek Galatage <vivekgalatage@gmail.com>
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
1113 Trim the className before replacing the whitespaces with dot "."
1115 Reviewed by Pavel Feldman.
1119 * inspector/front-end/DOMAgent.js:
1120 (WebInspector.DOMNode.prototype.appropriateSelectorFor):
1122 2012-03-08 Dan Bernstein <mitz@apple.com>
1124 <rdar://problem/10981173> Dashboard regions should not be in device space
1126 Reviewed by John Sullivan.
1128 Test: TestWebKitAPI/Tests/mac/DeviceScaleFactorInDashboardRegions.mm
1130 * rendering/RenderInline.cpp:
1131 (WebCore::RenderInline::addDashboardRegions): Stop applying the device scale factor to
1133 * rendering/RenderObject.cpp:
1134 (WebCore::RenderObject::addDashboardRegions): Ditto.
1136 2012-03-08 Cem Kocagil <cem.kocagil@gmail.com>
1138 Web Inspector: Cannot insert right curly bracket on some keyboards
1139 https://bugs.webkit.org/show_bug.cgi?id=80474
1141 Make sure other modifiers are not pressed
1143 Reviewed by Pavel Feldman
1145 * inspector/front-end/inspector.js:
1146 (WebInspector.documentKeyDown):
1148 2012-03-08 Max Vujovic <mvujovic@adobe.com>
1150 Add a method to window.internals to enable testing of inspector highlight rects
1151 https://bugs.webkit.org/show_bug.cgi?id=80338
1153 Reviewed by Pavel Feldman.
1155 Add window.internals.inspectorHighlightRects, a method which makes it possible to test the
1156 positions and sizes of inspector highlight rects.
1158 Test: inspector/elements/highlight-node.html
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.
1165 * testing/Internals.h:
1168 * testing/Internals.idl:
1170 Add inspectorHighlightRects to the window.internals interface.
1172 2012-03-08 Antti Koivisto <antti@apple.com>
1174 https://bugs.webkit.org/show_bug.cgi?id=80370
1175 Enable matched declaration caching for elements with a style attribute
1177 Reviewed by Andreas Kling
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.
1185 Made StyledElement::inlineStyle() and StyledElement::ensureInlineStyle() return a const
1186 StylePropertySet so making accidental modifications difficult. Also dropped *Decl from
1189 Fixed two unrelated bugs that this exposed.
1191 * css/CSSStyleSelector.cpp:
1193 Don't allow caching of document element style if writingModeSetOnDocumentElement() bit is set.
1194 Tested by fast/multicol/vertical-rl/break-properties.html.
1196 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1197 * css/StylePropertySet.h:
1199 (WebCore::StylePropertySet::hasCSSOMWrapper):
1201 (WebCore::Element::recalcStyle):
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.
1206 * dom/ElementAttributeData.cpp:
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):
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):
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:
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:
1266 * rendering/RenderTreeAsText.cpp:
1267 (WebCore::isEmptyOrUnstyledAppleStyleSpan):
1269 2012-03-08 Scott Byer <scottbyer@chromium.org>
1271 Have ScrollAnimatorNone use requestAnimationFrame
1272 https://bugs.webkit.org/show_bug.cgi?id=78938
1274 Reviewed by James Robinson.
1276 No new tests. Passes Chromium webkit_unit_tests.
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):
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):
1297 * platform/ScrollableArea.h:
1300 * rendering/RenderLayer.h:
1301 (WebCore::RenderLayer::hostWindow):
1303 * rendering/RenderListBox.h:
1304 (WebCore::RenderListBox::hostWindow):
1307 2012-03-08 Dan Bernstein <mitz@apple.com>
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
1312 Reviewed by Beth Dakin.
1314 Test: fast/css/dashboard-regions-undefined-length-assertion.html
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.
1320 2012-03-08 Mikkel Kruse Johnsen <mikkel@linet.dk>
1322 WebKitGtk+ fails to build on win32 against GTK3
1323 https://bugs.webkit.org/show_bug.cgi?id=63919
1325 Reviewed by Gustavo Noronha Silva.
1327 * plugins/gtk/PluginViewGtk.cpp: Don't use gtk_socket_new with GTK3 on Win32
1328 (WebCore::PluginView::platformStart):
1330 2012-03-08 Jason Liu <jason.liu@torchmobile.com.cn>
1332 [BlackBerry]New feature: support about:cookie for internal build.
1333 https://bugs.webkit.org/show_bug.cgi?id=80367
1335 Reviewed by Antonio Gomes.
1339 * platform/blackberry/CookieManager.cpp:
1340 (WebCore::CookieManager::generateHtmlFragmentForCookies):
1342 * platform/blackberry/CookieManager.h:
1343 * platform/network/blackberry/NetworkJob.cpp:
1344 (WebCore::NetworkJob::handleAbout):
1346 2012-03-08 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
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
1351 Reviewed by Ryosuke Niwa.
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
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
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.
1368 NamedNodeMap itself was cleaned up, as well as unnecessary references to it removed in the
1371 No new tests and should not change results for existing tests.
1375 * dom/DocumentType.h:
1376 (DocumentType): Point out that we don't support does attributes yet.
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
1381 (WebCore::Element::attributes): Looks in ElementRareData now. Note we ensure the creation
1382 of the attribute storage.
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().
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:
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:
1423 (WebCore::NamedNodeMap::create):
1425 (WebCore::NamedNodeMap::NamedNodeMap): Instead of asserting m_element in every function, we
1426 now assert only in the constructor.
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:
1435 * svg/SVGElement.cpp:
1436 (WebCore::SVGElement::attributeChanged):
1438 2012-03-08 Robin Cao <robin.cao@torchmobile.com.cn>
1440 [BlackBerry] Upstream WebGL related files from platform/graphics
1441 https://bugs.webkit.org/show_bug.cgi?id=79876
1443 Reviewed by Rob Buis.
1445 Initial upstream, no new tests.
1447 * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp: Added.
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.
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.
1472 (WebCore::WebGLLayerWebKitThread::WebGLLayerWebKitThread):
1473 (WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread):
1474 (WebCore::WebGLLayerWebKitThread::setNeedsDisplay):
1475 (WebCore::WebGLLayerWebKitThread::updateTextureContentsIfNeeded):
1476 * platform/graphics/blackberry/WebGLLayerWebKitThread.h: Added.
1478 (WebGLLayerWebKitThread):
1479 (WebCore::WebGLLayerWebKitThread::create):
1480 (WebCore::WebGLLayerWebKitThread::setWebGLContext):
1482 2012-03-08 Yong Li <yoli@rim.com>
1484 [BlackBerry] LayerRender should turn off stencil/scissor after drawing layers
1485 https://bugs.webkit.org/show_bug.cgi?id=80598
1487 Reviewed by Rob Buis.
1489 Turn off stencil/scissor after using them to avoid affecting later GL operation
1492 * platform/graphics/blackberry/LayerRenderer.cpp:
1493 (WebCore::LayerRenderer::drawLayers):
1495 2012-03-08 Simon Hausmann <simon.hausmann@nokia.com>
1497 [Qt] Windows build fix.
1499 Reviewed by Tor Arne Vestbø.
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.
1504 2012-03-08 Ilya Tikhonovsky <loislo@chromium.org>
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
1509 Reviewed by Yury Semikhatsky.
1511 * bindings/v8/RetainedDOMInfo.cpp:
1512 (WebCore::RetainedDOMInfo::GetHash):
1514 2012-03-08 Ilya Tikhonovsky <loislo@chromium.org>
1516 Unreviewed single line fix. The function had to return a hash but it returned just address.
1518 * bindings/v8/V8GCController.cpp:
1519 (WebCore::UnspecifiedGroup::GetHash):
1521 2012-03-08 Shinya Kawanaka <shinyak@chromium.org>
1523 <shadow> should be rendered correctly.
1524 https://bugs.webkit.org/show_bug.cgi?id=78596
1526 Reviewed by Hajime Morita.
1528 This patch supports <shadow> element rendering.
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.
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.
1539 Tests: fast/dom/shadow/shadow-element-rendering-multiple.html
1540 fast/dom/shadow/shadow-element-rendering-single.html
1542 * dom/NodeRenderingContext.cpp:
1544 (WebCore::NodeRenderingContext::NodeRenderingContext):
1545 Does not ignore non-youngest shadow tree.
1546 * dom/ShadowRoot.cpp:
1547 (WebCore::ShadowRoot::ShadowRoot):
1550 (WebCore::ShadowRoot::assignedTo):
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.
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):
1569 * html/shadow/HTMLShadowElement.h:
1570 (HTMLShadowElement):
1571 * html/shadow/InsertionPoint.cpp:
1572 (WebCore::InsertionPoint::attach):
1573 (WebCore::InsertionPoint::detach):
1574 (WebCore::InsertionPoint::assignedFrom):
1576 (WebCore::InsertionPoint::assignShadowRoot):
1577 (WebCore::InsertionPoint::clearAssignment):
1578 * html/shadow/InsertionPoint.h:
1581 2012-03-06 Hans Wennborg <hans@chromium.org>
1583 Speech JavaScript API: SpeechRecognitionAlternative, Result and ResultList
1584 https://bugs.webkit.org/show_bug.cgi?id=80424
1586 Reviewed by Adam Barth.
1588 Implement the SpeechRecognitionAlternative,
1589 SpeechRecognitionResult and SpeechRecognitionResultList.
1590 (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)
1592 No new tests because these interfaces don't have constructors.
1593 They will be tested as more of the API gets implemented.
1595 * Modules/speech/SpeechRecognitionAlternative.cpp: Added.
1597 (WebCore::SpeechRecognitionAlternative::create):
1598 (WebCore::SpeechRecognitionAlternative::SpeechRecognitionAlternative):
1599 * Modules/speech/SpeechRecognitionAlternative.h: Added.
1601 (SpeechRecognitionAlternative):
1602 (WebCore::SpeechRecognitionAlternative::transcript):
1603 (WebCore::SpeechRecognitionAlternative::confidence):
1604 * Modules/speech/SpeechRecognitionAlternative.idl: Added.
1605 * Modules/speech/SpeechRecognitionResult.cpp: Added.
1607 (WebCore::SpeechRecognitionResult::create):
1608 (WebCore::SpeechRecognitionResult::item):
1609 (WebCore::SpeechRecognitionResult::SpeechRecognitionResult):
1610 * Modules/speech/SpeechRecognitionResult.h: Added.
1612 (SpeechRecognitionResult):
1613 (WebCore::SpeechRecognitionResult::length):
1614 (WebCore::SpeechRecognitionResult::final):
1615 * Modules/speech/SpeechRecognitionResult.idl: Added.
1616 * Modules/speech/SpeechRecognitionResultList.cpp: Added.
1618 (WebCore::SpeechRecognitionResultList::create):
1619 (WebCore::SpeechRecognitionResultList::item):
1620 (WebCore::SpeechRecognitionResultList::SpeechRecognitionResultList):
1621 * Modules/speech/SpeechRecognitionResultList.h: Added.
1623 (SpeechRecognitionResultList):
1624 (WebCore::SpeechRecognitionResultList::length):
1625 * Modules/speech/SpeechRecognitionResultList.idl: Added.
1628 2012-03-08 Robin Cao <robin.cao@torchmobile.com.cn>
1630 [BlackBerry] Upstream GraphicsLayerBlackBerry.{h, cpp}
1631 https://bugs.webkit.org/show_bug.cgi?id=79867
1633 Reviewed by Rob Buis.
1635 Initial upstream, no new tests.
1637 * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp: Added.
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.
1716 (GraphicsLayerBlackBerry):
1717 (WebCore::GraphicsLayerBlackBerry::notifySyncRequired):
1718 (WebCore::GraphicsLayerBlackBerry::notifyAnimationStarted):
1719 (WebCore::GraphicsLayerBlackBerry::primaryLayer):
1720 (WebCore::GraphicsLayerBlackBerry::contentsLayer):
1722 2012-03-07 Shinya Kawanaka <shinyak@chromium.org>
1724 Refactoring: Remove Node::isContentElement and Node::isShadowElement.
1725 https://bugs.webkit.org/show_bug.cgi?id=80501
1727 Reviewed by Hajime Morita.
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.
1733 No new tests. Should be covered by existing tests.
1736 * html/HTMLElement.h:
1737 (WebCore::HTMLElement::isInsertionPoint):
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:
1746 (WebCore::InsertionPoint::isInsertionPoint):
1747 (WebCore::isInsertionPoint):
1748 * testing/Internals.cpp:
1749 (WebCore::Internals::isValidContentSelect):
1750 * testing/Internals.h:
1753 2012-03-07 Adam Barth <abarth@webkit.org>
1755 ContainerNode::insertedIntoDocument and removedFromDocument use weak iteration patterns
1756 https://bugs.webkit.org/show_bug.cgi?id=80569
1758 Reviewed by Ryosuke Niwa.
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
1765 * dom/ContainerNode.cpp:
1766 (WebCore::ContainerNode::insertedIntoDocument):
1767 (WebCore::ContainerNode::removedFromDocument):
1769 2012-03-07 Ami Fischman <fischman@chromium.org>
1771 [Chromium] Allow CCLayerTreeHost::context() to be called even with the threaded compositor enabled.
1772 https://bugs.webkit.org/show_bug.cgi?id=80565
1774 Reviewed by James Robinson.
1776 This gets triggered by the video HW decode+render path when threaded compositor is enabled
1777 (https://chromiumcodereview.appspot.com/9639005/)
1781 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1782 (WebCore::CCLayerTreeHost::context):
1784 2012-03-07 Mike Lawther <mikelawther@chromium.org>
1786 CSS3 calc: mixed absolute/percentages work for width, height, margin and padding
1787 https://bugs.webkit.org/show_bug.cgi?id=79621
1789 Reviewed by Andreas Kling.
1791 ApplyPropertyLength in CSSStyleApplyPropery now handles mixed absolute/percentage
1792 length expressions. All property handlers using this template now work with
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.
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.
1804 * css/CSSCalculationValue.cpp:
1805 (WebCore::CSSCalcPrimitiveValue::toCalcValue):
1806 (CSSCalcPrimitiveValue):
1807 (WebCore::CSSCalcBinaryOperation::toCalcValue):
1808 (CSSCalcBinaryOperation):
1809 * css/CSSCalculationValue.h:
1811 (CSSCalcExpressionNode):
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:
1822 * platform/CalculationValue.cpp:
1823 (WebCore::CalcExpressionBinaryOperation::evaluate):
1825 (WebCore::CalculationValue::create):
1826 (WebCore::CalculationValue::evaluate):
1827 * platform/CalculationValue.h:
1828 (CalcExpressionNode):
1829 (WebCore::CalcExpressionNode::~CalcExpressionNode):
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:
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:
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):
1877 2012-03-07 Kent Tamura <tkent@chromium.org>
1879 Do not refer to resutlsButtonElement and cancelButtonElement to compute paddings of search popups
1880 https://bugs.webkit.org/show_bug.cgi?id=80564
1882 Reviewed by Hajime Morita.
1884 We'd like to reduce dependency of resultsButtonElement and
1885 cancelButtonElement from RenderTextControlSingleLine.
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
1898 2012-03-07 Mike Lawther <mikelawther@chromium.org>
1900 use DEFINE_STATIC_LOCAL on Lengths to avoid exit time destructors
1901 https://bugs.webkit.org/show_bug.cgi?id=80561
1903 Reviewed by Eric Seidel.
1905 This is in preparation for http://wkb.ug/79621 where a destructor is added to Length.
1907 No new tests as this is not a behaviour change.
1909 * css/CSSStyleApplyProperty.cpp:
1910 (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
1912 2012-03-07 Adam Barth <abarth@webkit.org>
1914 ContainerNode::willRemove uses a weak iteration pattern
1915 https://bugs.webkit.org/show_bug.cgi?id=80530
1917 Reviewed by Ryosuke Niwa.
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.
1923 * dom/ContainerNode.cpp:
1924 (WebCore::ContainerNode::willRemove):
1926 2012-03-07 Kentaro Hara <haraken@chromium.org>
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
1932 Reviewed by Adam Barth.
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.
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.
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
1946 Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283
1948 AppleWebKit/JavaScriptCore:
1949 div.classList : 382ms
1950 div.classList.foo = 123 : 335ms
1952 div.dataset.foo = 123 : 5250ms
1953 div.attributes : 183ms
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
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
1969 No tests. No change in behavior.
1971 * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
1973 * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
1975 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
1978 * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
1979 to optimize the macro.
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.
1986 (V8HiddenPropertyName):
1988 2012-03-07 Kent Tamura <tkent@chromium.org>
1990 Add RenderBoxModelObject::marginWidth() and marginHeight()
1991 https://bugs.webkit.org/show_bug.cgi?id=80556
1993 Reviewed by Kentaro Hara.
1995 They make some code shorter.
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.
2026 2012-03-07 Jessie Berlin <jberlin@apple.com>
2028 Clean Windows build fails after r110033
2029 https://bugs.webkit.org/show_bug.cgi?id=80553
2031 Rubber-stamped by Jon Honeycutt and Eric Seidel.
2033 * WebCore.vcproj/WebCore.vcproj:
2034 Update the expected location of the copied JSC WTF string implementation files.
2036 2012-03-07 Michael Nordman <michaeln@google.com>
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
2046 Reviewed by David Levin.
2048 No new tests, existing tests apply.
2050 * bindings/generic/ActiveDOMCallback.cpp: Simplified in general.
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):
2085 2012-03-07 Kent Tamura <tkent@chromium.org>
2087 Remove meaningless code in RenderTextControlSingleLine::preferredContentWidth()
2088 https://bugs.webkit.org/show_bug.cgi?id=80493
2090 Reviewed by Hajime Morita.
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.
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
2102 Tests: fast/forms/search/intrinsic-search-width-with-decoration-border-padding.html
2103 fast/speech/intrinsic-input-width-with-speech-border-padding.html
2105 * rendering/RenderTextControlSingleLine.cpp:
2106 (WebCore::RenderTextControlSingleLine::preferredContentWidth):
2107 Remove the meaningless code.
2108 * rendering/RenderTextControlSingleLine.h:
2109 (RenderTextControlSingleLine): Remove speechButtonElement(). It's unnecessary.
2111 2012-03-07 Sheriff Bot <webkit.review.bot@gmail.com>
2113 Unreviewed, rolling out r110126.
2114 http://trac.webkit.org/changeset/110126
2115 https://bugs.webkit.org/show_bug.cgi?id=80558
2117 compile failed on AppleMac (Requested by ukai on #webkit).
2120 * css/CSSCalculationValue.cpp:
2121 * css/CSSCalculationValue.h:
2123 (CSSCalcExpressionNode):
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):
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):
2150 2012-03-05 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
2152 Make Node::dumpStatistics() work again
2153 https://bugs.webkit.org/show_bug.cgi?id=80327
2155 Reviewed by Ryosuke Niwa.
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
2162 (WebCore::Node::dumpStatistics): Use more self-describing variable names.
2165 2012-03-07 Mike Lawther <mikelawther@chromium.org>
2167 CSS3 calc: mixed absolute/percentages work for width, height, margin and padding
2168 https://bugs.webkit.org/show_bug.cgi?id=79621
2170 Reviewed by Andreas Kling.
2172 ApplyPropertyLength in CSSStyleApplyPropery now handles mixed absolute/percentage
2173 length expressions. All property handlers using this template now work with
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.
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.
2185 * css/CSSCalculationValue.cpp:
2186 (WebCore::CSSCalcPrimitiveValue::toCalcValue):
2187 (CSSCalcPrimitiveValue):
2188 (WebCore::CSSCalcBinaryOperation::toCalcValue):
2189 (CSSCalcBinaryOperation):
2190 * css/CSSCalculationValue.h:
2192 (CSSCalcExpressionNode):
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:
2203 * platform/CalculationValue.cpp:
2204 (WebCore::CalcExpressionBinaryOperation::evaluate):
2206 (WebCore::CalculationValue::create):
2207 (WebCore::CalculationValue::evaluate):
2208 * platform/CalculationValue.h:
2209 (CalcExpressionNode):
2210 (WebCore::CalcExpressionNode::~CalcExpressionNode):
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:
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:
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):
2258 2012-03-07 Emil A Eklund <eae@chromium.org>
2260 Change remaining scroll methods to integers
2261 https://bugs.webkit.org/show_bug.cgi?id=80539
2263 Reviewed by Eric Seidel.
2265 No new tests, no new functionality.
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.
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.
2283 * rendering/RenderListBox.cpp:
2284 (WebCore::RenderListBox::scrollWidth):
2285 Change scrollWidth to return snapped client width.
2287 * rendering/RenderListBox.h:
2288 Change scrollSize, scrollPosition and setScrollOffset methods to use
2289 integers in accordance with the interface defined by ScrollableArea.
2291 * rendering/RenderTreeAsText.cpp:
2294 2012-03-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
2296 Implement getAttributeNode() in terms of ElementAttributeData instead of NamedNodeMap
2297 https://bugs.webkit.org/show_bug.cgi?id=80541
2299 Reviewed by Ryosuke Niwa.
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.
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.
2313 (WebCore::Element::getAttributeNodeNS):
2314 * dom/ElementAttributeData.cpp:
2315 * dom/ElementAttributeData.h:
2316 (ElementAttributeData):
2317 (WebCore::ElementAttributeData::getAttributeNode):
2319 * dom/NamedNodeMap.cpp:
2320 (WebCore::NamedNodeMap::getNamedItem):
2321 (WebCore::NamedNodeMap::getNamedItemNS):
2322 * dom/NamedNodeMap.h:
2325 2012-03-07 James Robinson <jamesr@chromium.org>
2327 [chromium] Support printing WebGL content in threaded compositor
2328 https://bugs.webkit.org/show_bug.cgi?id=80464
2330 Reviewed by Kenneth Russell.
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.
2335 Tested printing manually with threaded compositing enabled.
2337 * platform/graphics/chromium/WebGLLayerChromium.cpp:
2338 (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
2339 * platform/graphics/chromium/WebGLLayerChromium.h:
2340 (WebGLLayerChromium):
2342 2012-03-07 Adam Barth <abarth@webkit.org>
2344 Remove #define private public from WebCache.cpp
2345 https://bugs.webkit.org/show_bug.cgi?id=80520
2347 Reviewed by Eric Seidel.
2349 Add some accessors for state used by WebCache.cpp.
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):
2359 2012-03-07 Kentaro Hara <haraken@chromium.org>
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
2365 Reviewed by Adam Barth.
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.
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.
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.
2380 Performance tests: https://bugs.webkit.org/attachment.cgi?id=130594
2382 The test results in my local Mac environment are as follows:
2384 AppleWebKit/JavaScriptCore:
2385 div.firstElementChild : 1162ms
2386 div.lastElementChild : 1016ms
2387 div.previousElementSibling : 918ms
2388 div.nextElementSibling : 900ms
2389 div.parentElement : 901ms
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
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
2405 No tests. No change in behavior.
2407 * dom/Element.idl: Removed toV8(Element*)
2408 * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
2409 (WebCore::toV8Slow):
2410 * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2413 * bindings/v8/custom/V8ElementCustom.cpp: Removed.
2414 * Target.pri: Removed V8ElementCustom.cpp.
2415 * UseV8.cmake: Ditto.
2416 * WebCore.gypi: Ditto.
2418 2012-03-07 Joshua Bell <jsbell@chromium.org>
2420 [Chromium] IndexedDB: V8LocalContext creation in IDBKey extraction/injection is slow
2421 https://bugs.webkit.org/show_bug.cgi?id=80358
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
2427 Reviewed by Tony Chang.
2429 No new tests - no behavior changes.
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):
2444 2012-03-07 Nat Duca <nduca@chromium.org>
2446 [chromium] Remove unused wasRecreate variable
2447 https://bugs.webkit.org/show_bug.cgi?id=80533
2449 Reviewed by Adrienne Walker.
2451 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2452 (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
2454 2012-03-07 Ryan Sleevi <rsleevi@chromium.org>
2456 [chromium] Update GYP files to reflect file deletes/renames
2457 https://bugs.webkit.org/show_bug.cgi?id=80525
2459 Reviewed by Ryosuke Niwa.
2461 No change in functionality, so no tests.
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
2469 2012-03-07 Eric Carlson <eric.carlson@apple.com>
2471 Html5 video element Useragent string is Quicktime
2472 https://bugs.webkit.org/show_bug.cgi?id=46241
2474 Reviewed by Daniel Bates.
2476 Test: http/tests/media/video-useragent.html
2478 * html/HTMLMediaElement.cpp:
2479 (WebCore::HTMLMediaElement::mediaPlayerUserAgent): Return the UA string for the current source.
2480 * html/HTMLMediaElement.h:
2482 * platform/graphics/MediaPlayer.cpp:
2483 (WebCore::MediaPlayer::userAgent): New, return the client's mediaPlayerUserAgent.
2484 * platform/graphics/MediaPlayer.h:
2485 (WebCore::MediaPlayerClient::mediaPlayerUserAgent):
2487 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2488 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to set
2491 2012-03-07 Scott Byer <scottbyer@chromium.org>
2493 Get ScrollAnimatorNone to handle the stop and reverse cases.
2494 https://bugs.webkit.org/show_bug.cgi?id=80455
2496 Reviewed by James Robinson.
2498 Chromium webkit_unit_tests ScrollAnimatorNoneTest.ScrollStopInMiddle and
2499 ScrollAnimatorNoneTest.ReverseInMiddle.
2501 * platform/ScrollAnimatorNone.cpp:
2502 (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
2504 2012-03-07 Yong Li <yoli@rim.com>
2506 RenderImage ignores its percent width/height when setContainerSizeForRenderer
2507 https://bugs.webkit.org/show_bug.cgi?id=80431
2509 Reviewed by George Staikos.
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.
2514 No new tests because there is no functional change but only internal buffer sizes.
2516 * rendering/RenderImage.cpp:
2517 (WebCore::RenderImage::computeReplacedLogicalWidth):
2519 2012-03-06 Benjamin Poulain <bpoulain@apple.com>
2521 [Mac] Update the configuration files for iOS
2522 https://bugs.webkit.org/show_bug.cgi?id=80435
2524 Reviewed by David Kilzer.
2526 * Configurations/WebCore.xcconfig:
2528 2012-03-07 Dana Jansens <danakj@chromium.org>
2530 [chromium] Cull occluded tiles during paint
2531 https://bugs.webkit.org/show_bug.cgi?id=76838
2533 Reviewed by Adrienne Walker.
2535 Using CCOcclusionTracker instead of the old custom paint occlusion
2536 tracking. Stops painting tiles when the tile is not visible.
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.
2543 Unit test: TiledLayerChromiumTest.cpp
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):
2556 * platform/graphics/chromium/TiledLayerChromium.cpp:
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):
2568 2012-03-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
2570 Implement removeAttributeNode() in terms of ElementAttributeData instead of NamedNodeMap
2571 https://bugs.webkit.org/show_bug.cgi?id=80522
2573 Reviewed by Andreas Kling.
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.
2580 (WebCore::Element::removeAttribute): Use ElementAttributeData function directly.
2581 (WebCore::Element::removeAttributeNode): Get the index manually and use new
2582 takeAttribute() directly.
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.
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.
2596 2012-03-07 Alexey Proskuryakov <ap@apple.com>
2598 Merge AsyncFileStream with FileStreamProxy
2599 https://bugs.webkit.org/show_bug.cgi?id=80325
2603 * WebCore.xcodeproj/project.pbxproj: Removed files that got mysteriously added to the project
2606 2012-03-07 Julien Chaffraix <jchaffraix@webkit.org>
2608 Unreviewed ASSERT failure fix.
2609 https://bugs.webkit.org/show_bug.cgi?id=75568
2611 * rendering/RenderBoxModelObject.cpp:
2612 (WebCore::RenderBoxModelObject::styleDidChange):
2613 Fix a bad merge of the patch, we should call updateCachedSizeForOverflowClip if we lose
2616 2012-03-07 ChangSeok Oh <shivamidow@gmail.com>
2618 [EFL] Revise PlatformKeyboardEventEfl and EflKeyboardUtilities
2619 https://bugs.webkit.org/show_bug.cgi?id=80511
2621 Reviewed by Gustavo Noronha Silva.
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.
2627 No new tests, since no new feature.
2629 * platform/efl/EflKeyboardUtilities.cpp:
2630 (WebCore::keyIdentifierForEvasKeyName): Added const keyword
2631 (WebCore::windowsKeyCodeForEvasKeyName): Added const keyword
2632 * platform/efl/EflKeyboardUtilities.h:
2634 * platform/efl/PlatformKeyboardEventEfl.cpp:
2635 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2637 2012-03-07 Hironori Bono <hbono@chromium.org>
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
2642 Reviewed by Tony Chang.
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.)
2649 Test: platform/chromium/scrollbars/drag-rtl-resizer.html
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.
2659 2012-03-07 Julien Chaffraix <jchaffraix@webkit.org>
2661 Lazily allocate overflow: hidden layers if we have overflowing content
2662 https://bugs.webkit.org/show_bug.cgi?id=75568
2664 Reviewed by David Hyatt.
2666 Change covered by the existing tests and the tons of rebaselines.
2668 This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.
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.
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).
2677 * rendering/RenderBlock.cpp:
2678 (WebCore::RenderBlock::updateScrollInfoAfterLayout):
2679 Changed this method to update our size cache if needed.
2681 * rendering/RenderBlock.cpp:
2682 (WebCore::RenderBlock::layoutBlock):
2683 (WebCore::RenderBlock::paint):
2684 (WebCore::RenderBlock::isPointInOverflowControl):
2685 * rendering/RenderBlock.h:
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.
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.
2714 * rendering/RenderBox.h:
2715 (WebCore::RenderBox::hasOverflowClipWithLayer):
2718 (WebCore::RenderBox::requiresLayerForOverflowClip):
2719 This determines if we can survive without a RenderLayer. For the moment,
2720 it is very conservative.
2722 (WebCore::RenderBox::requiresLayer):
2723 Updated to call requiresLayerForOverflowClip.
2725 * rendering/RenderBoxModelObject.cpp:
2726 (WebCore::RenderBoxModelObject::ensureLayer):
2727 Added this function to create and add a new layer.
2729 (WebCore::RenderBoxModelObject::willBeDestroyed):
2730 (WebCore::RenderBoxModelObject::styleDidChange):
2731 Patched those method to handle updating / removing
2732 cached size entries.
2734 * rendering/RenderBoxModelObject.h:
2735 (WebCore::RenderBoxModelObject::requiresLayer):
2736 Pushed the overflowClip check down to RenderBox as only RenderBoxes can have
2739 * rendering/RenderTableRow.h:
2740 (WebCore::RenderTableRow::requiresLayer):
2741 Added a comment about why we need a layout for table rows.
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.
2753 2012-03-07 Konrad Piascik <kpiascik@rim.com>
2755 [BlackBerry] Fix warnings in CookieMap
2756 https://bugs.webkit.org/show_bug.cgi?id=80512
2758 Reviewed by Rob Buis.
2760 No new tests. No behavioural changes.
2762 * platform/blackberry/CookieMap.cpp:
2763 (WebCore::CookieMap::addOrReplaceCookie):
2764 (WebCore::CookieMap::removeCookie):
2765 (WebCore::CookieMap::getAllCookies):
2766 (WebCore::CookieMap::updateOldestCookie):
2768 2012-03-07 Levi Weintraub <leviw@chromium.org>
2770 Update usage of LayoutUnits in InlineBox and InlineFlowBox
2771 https://bugs.webkit.org/show_bug.cgi?id=80051
2773 Reviewed by Eric Seidel.
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
2780 No new tests. No change in behavior.
2782 * rendering/InlineBox.cpp:
2783 (WebCore::InlineBox::flipForWritingMode): Changing over to LayoutUnits.
2784 * rendering/InlineBox.h:
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
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.
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.
2805 2012-03-07 Qi Zhang <qi.2.zhang@nokia.com>
2807 [Qt] Unskip http/tests/websocket/tests/hixie76/long-invalid-header.html
2808 https://bugs.webkit.org/show_bug.cgi?id=80516
2810 Reviewed by Csaba Osztrogonác.
2812 Missed some files related to websocket, take them in.
2816 2012-03-05 Alexey Proskuryakov <ap@apple.com>
2818 Merge AsyncFileStream with FileStreamProxy
2819 https://bugs.webkit.org/show_bug.cgi?id=80325
2821 Reviewed by Filip Pizlo.
2823 AsyncFileStream sounds like a platform concept, but the implementation is web specific.
2824 Better to just keep it in one place.
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
2830 No change in functionality, so no tests.
2833 * GNUmakefile.list.am:
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.
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):
2855 (WebCore::AsyncFileStream::openForRead):
2856 (WebCore::AsyncFileStream::openForReadOnFileThread):
2857 (WebCore::AsyncFileStream::openForWrite):
2858 (WebCore::AsyncFileStream::openForWriteOnFileThread):
2859 (WebCore::AsyncFileStream::close):
2860 (WebCore::AsyncFileStream::closeOnFileThread):
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.
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.
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.
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.
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.
2900 2012-03-07 Dan Bernstein <mitz@apple.com>
2902 <rdar://problem/10923294> REGRESSION (r100847): Entries are clipped out in Day One
2903 https://bugs.webkit.org/show_bug.cgi?id=80494
2905 Reviewed by Sam Weinig.
2907 Test: fast/dom/HTMLDocument/width-and-height.html
2909 * html/HTMLDocument.idl: Reverted r100847 by re-enabling the width and height properties
2910 in the JavaScript bindings.
2912 2012-03-07 Philippe Normand <pnormand@igalia.com>
2914 [GTK] media/audio-garbage-collect.html is flaky
2915 https://bugs.webkit.org/show_bug.cgi?id=72698
2917 Reviewed by Xan Lopez.
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
2925 * bindings/js/JSNodeCustom.cpp:
2926 (WebCore::isReachableFromDOM):
2928 2012-03-07 Adele Peterson <adele@apple.com>
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>
2934 Reviewed by Dan Bernstein.
2936 No tests because we currently don't have any test machinery for cursors.
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.
2941 * page/EventHandler.cpp: (WebCore::EventHandler::selectCursor):
2943 2012-03-07 ChangSeok Oh <shivamidow@gmail.com>
2945 [EFL] Key press event is not processed properly.
2946 https://bugs.webkit.org/show_bug.cgi?id=80491
2948 Reviewed by Gustavo Noronha Silva.
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.
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.
2959 Test: fast/mutation/end-of-task-delivery.html
2960 fast/mutation/inline-event-listener.html
2962 * platform/efl/EflKeyboardUtilities.cpp:
2963 (WebCore::singleCharacterString):
2965 * platform/efl/EflKeyboardUtilities.h:
2967 * platform/efl/PlatformKeyboardEventEfl.cpp:
2968 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2970 2012-03-07 Gavin Peters <gavinp@chromium.org>
2972 Add Histograms for reporting on PageCache reject reasons
2973 https://bugs.webkit.org/show_bug.cgi?id=80187
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
2980 Reviewed by Brady Eidson.
2982 No new tests, does not change behaviour.
2984 * history/PageCache.cpp:
2986 (WebCore::logCanCacheFrameDecision):
2987 (WebCore::logCanCachePageDecision):
2988 (WebCore::PageCache::canCache):
2990 2012-03-07 Elliot Poger <epoger@google.com>
2992 [Chromium] Remove use_skia option from GYP
2993 https://bugs.webkit.org/show_bug.cgi?id=75811
2995 Reviewed by Tony Chang.
2997 * WebCore.gyp/WebCore.gyp:
2999 2012-03-07 Yoshifumi Inoue <yosin@chromium.org>
3001 [Forms] Introduce LabelableElement to share "labels" attribute implementation
3002 https://bugs.webkit.org/show_bug.cgi?id=80392
3004 Reviewed by Kent Tamura.
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
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.)
3016 This patch also changes implementation of isLabelable using virtual
3017 method rather than sequence of hasTagName for execution speed and
3020 No new tests are required. No behavior changes.
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.
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.
3044 (WebCore::LabelableElement::LabelableElement):
3045 (WebCore::LabelableElement::~LabelableElement):
3046 (WebCore::LabelableElement::labels): Moved from HTMLFormControlElement.
3047 * html/LabelableElement.h: Added.
3051 2012-03-07 Arun Patole <bmf834@motorola.com>
3053 HTMLTrackElement.idl doesn't have default attribute.
3054 https://bugs.webkit.org/show_bug.cgi?id=80116
3056 Reviewed by Kentaro Hara.
3058 Renamed isDefault to 'default' so that in JS, it will be track.default instead of track.isDefault.
3059 * html/HTMLTrackElement.idl:
3061 2012-03-07 Zoltan Horvath <zoltan@webkit.org>
3063 [Qt] Add qmake config tests for JPEG and PNG library
3064 https://bugs.webkit.org/show_bug.cgi?id=80398
3066 Reviewed by Tor Arne Vestbø.
3068 Add JPEG and PNG library tests to config.tests and
3069 add error() abort to WebCore.pri if tests don't work.
3073 2012-03-06 Pavel Podivilov <podivilov@chromium.org>
3075 Web Inspector: extract source mapping logic from DebuggerPresentationModel to ScriptMappingImpl.
3076 https://bugs.webkit.org/show_bug.cgi?id=80412
3078 Reviewed by Vsevolod Vlasov.
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):
3095 2012-03-07 Mark Rowe <mrowe@apple.com>
3097 Fix DerivedSources.make to not assume that WTF and WebCore build in to the same build directory.
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.
3103 Unreviewed due to being a build fix.
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.
3108 2012-03-07 Robin Cao <robin.cao@torchmobile.com.cn>
3110 [BlackBerry] Upstream Texture and TextureCache
3111 https://bugs.webkit.org/show_bug.cgi?id=80121
3113 Reviewed by Rob Buis.
3115 Initial upstream, no new tests.
3117 * platform/graphics/blackberry/Texture.cpp: Added.
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.
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.
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.
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):
3174 (WebCore::TextureCacheCompositingThread::incMemoryUsage):
3175 (WebCore::TextureCacheCompositingThread::decMemoryUsage):
3176 (WebCore::TextureCacheCompositingThread::ColorHash::hash):
3177 (WebCore::TextureCacheCompositingThread::ColorHash::equal):
3180 (WebCore::TextureCacheCompositingThread::ColorHashTraits::constructDeletedValue):
3181 (WebCore::TextureCacheCompositingThread::ColorHashTraits::isDeletedValue):
3183 2012-03-07 Kenichi Ishibashi <bashi@chromium.org>
3185 [WebSocket] Should raise SYNTAX_ERR when message contains unpaired surrogates
3186 https://bugs.webkit.org/show_bug.cgi?id=80103
3188 Reviewed by Kent Tamura.
3190 Add UTF8 validation checks for WebSocket message and close reason.
3192 Tests: http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html
3193 http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html
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.
3201 2012-03-07 Byungwoo Lee <bw80.lee@samsung.com>
3203 [EFL] Build warning: Fix warn_unused_result warnings.
3204 https://bugs.webkit.org/show_bug.cgi?id=79194
3206 Reviewed by Filip Pizlo.
3208 Fixed build warning which is getting generated when not using return
3209 value of a fuction, especially declared with warn_unused_result
3212 * platform/efl/SharedBufferEfl.cpp:
3213 (WebCore::SharedBuffer::createWithContentsOfFile):
3215 2012-03-07 Kent Tamura <tkent@chromium.org>
3217 Cleanup of RenderTextControl::adjustControlHeightBasedOnLineHeight()
3218 https://bugs.webkit.org/show_bug.cgi?id=80480
3220 Reviewed by Hajime Morita.
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.
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.
3232 adjustControlHeightBasedOnLineHeight() is renamed to
3233 computeControlheight(), it takes additional parameter of
3234 padding+boder+margin height, and returns the sum of them.
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):
3251 2012-03-06 Eric Seidel <eric@webkit.org>
3253 Make WTF public headers use fully-qualified include paths and remove ForwardingHeaders/wtf
3254 https://bugs.webkit.org/show_bug.cgi?id=80363
3256 Reviewed by Mark Rowe.
3258 ForwardingHeaders/wtf is no longer needed (or functional) now that
3259 JavaScriptCore no longer includes the WTF headers as private headers.
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.
3389 2012-03-07 Yoshifumi Inoue <yosin@chromium.org>
3391 [Forms] The "legend" element should not be a form-associated element.
3392 https://bugs.webkit.org/show_bug.cgi?id=80239
3394 Reviewed by Kent Tamura.
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.
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
3405 No new tests are required. No behavior changes.
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.
3419 2012-03-06 Raphael Kubo da Costa <kubo@profusion.mobi>
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
3424 Reviewed by Antonio Gomes.
3426 No new tests, this is a buildsystem change.
3428 * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
3429 property on the library being created.
3431 2012-03-06 Lianghui Chen <liachen@rim.com>
3433 [BlackBerry] Set correct ResourceRequest target type.
3434 https://bugs.webkit.org/show_bug.cgi?id=80430
3436 Reviewed by Rob Buis.
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.
3442 * loader/appcache/ApplicationCacheGroup.cpp:
3443 (WebCore::ApplicationCacheGroup::createResourceHandle):
3444 * loader/cache/CachedResource.cpp:
3446 (WebCore::CachedResource::load):
3447 * platform/network/blackberry/ResourceRequest.h:
3449 * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
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):
3464 2012-03-06 Dana Jansens <danakj@chromium.org>
3466 [chromium] Add clipping to scissor rect to CCOcclusionTracker
3467 https://bugs.webkit.org/show_bug.cgi?id=79927
3469 Reviewed by Adrienne Walker.
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.
3476 Unit tests: CCOcclusionTrackerTest.cpp