Unreviewed, rolling out r109014.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r109014.
4         http://trac.webkit.org/changeset/109014
5         https://bugs.webkit.org/show_bug.cgi?id=81551
6
7         Causing crashes (Requested by inferno-sec on #webkit).
8
9         * rendering/style/RenderStyle.h:
10
11 2012-03-19  Tony Chang  <tony@chromium.org>
12
13         Unreviewed, remove headers that no longer exist or moved in WebCore.gypi.
14
15         * WebCore.gypi:
16
17 2012-03-19  Mihnea Ovidenie  <mihnea@adobe.com>
18
19         [CSSRegions]Implement NamedFlow::contentNodes attribute
20         https://bugs.webkit.org/show_bug.cgi?id=80134
21
22         Reviewed by David Hyatt.
23
24         The named flow content nodes collection contains those nodes with webkitFlowInto property set to 'flow'.
25         In the list, the nodes are placed in document order. Nodes with display:none are also part of the list.
26         The list of nodes is returned as a static node list.
27
28         Test: fast/regions/webkit-named-flow-content-nodes.html
29
30         * dom/Document.cpp:
31         (WebCore::Document::webkitGetFlowByName):
32         * dom/Document.h:
33         * dom/Element.cpp:
34         (WebCore::Element::detach):
35         * dom/NodeRenderingContext.cpp:
36         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
37         * dom/WebKitNamedFlow.cpp:
38         (WebCore::WebKitNamedFlow::contentNodes):
39         (WebCore):
40         (WebCore::WebKitNamedFlow::registerContentNode):
41         * dom/WebKitNamedFlow.h:
42         (WebCore):
43         (WebKitNamedFlow):
44         (WebCore::WebKitNamedFlow::unregisterContentNode):
45         * dom/WebKitNamedFlow.idl:
46
47 2012-03-19  Xingnan Wang  <xingnan.wang@intel.com>
48
49         ConvolverNode should not incur processing latency
50         https://bugs.webkit.org/show_bug.cgi?id=75564
51
52         Reviewed by Chris Rogers.
53
54         Add the DirectConvolver instead of FFTConvolver for the processing of the leading portion of impulse response.
55
56         * WebCore.gypi:
57         * platform/audio/DirectConvolver.cpp: Added.
58         (WebCore):
59         (WebCore::DirectConvolver::DirectConvolver):
60         (WebCore::DirectConvolver::process):
61         (WebCore::DirectConvolver::reset):
62         * platform/audio/DirectConvolver.h: Added.
63         (WebCore):
64         (DirectConvolver):
65         (WebCore::DirectConvolver::convolveSize):
66         * platform/audio/ReverbConvolver.cpp:
67         (WebCore::ReverbConvolver::ReverbConvolver):
68         * platform/audio/ReverbConvolver.h:
69         * platform/audio/ReverbConvolverStage.cpp:
70         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
71         (WebCore::ReverbConvolverStage::process):
72         (WebCore::ReverbConvolverStage::reset):
73         * platform/audio/ReverbConvolverStage.h:
74         (WebCore):
75         (ReverbConvolverStage):
76
77 2012-03-19  Anders Carlsson  <andersca@apple.com>
78
79         Find in page highlights get out of place when scrolling
80         https://bugs.webkit.org/show_bug.cgi?id=81543
81
82         Reviewed by Sam Weinig.
83
84         Remove a now unused function from GraphicsLayer.
85
86         * platform/graphics/GraphicsLayer.h:
87         (GraphicsLayer):
88         * platform/graphics/ca/GraphicsLayerCA.h:
89         (GraphicsLayerCA):
90
91 2012-03-19  David Hyatt  <hyatt@apple.com>
92
93         https://bugs.webkit.org/show_bug.cgi?id=81534
94
95         [New Multicolumn] Make the multi-column block re-layout its children when the column width/count change.
96         Cache the count/width on the multi-column block for easy access.
97
98         Reviewed by Antti Koivisto.
99
100         * rendering/RenderBlock.cpp:
101         (WebCore::RenderBlock::recomputeLogicalWidth):
102         (WebCore::RenderBlock::layoutBlock):
103         * rendering/RenderBlock.h:
104         Virtualize the code that recomputes the logical width for a block and sets relayoutChildren to true,
105         so that column code can subclass the method to also check for changes in the column width/count.
106
107         * rendering/RenderMultiColumnBlock.cpp:
108         (WebCore::RenderMultiColumnBlock::computeColumnCountAndWidth):
109         The column count/width determination algorithm in one method on the RenderMultiColumnBlock. It's a copy
110         of the code from RenderBlock (which will be going away eventually).
111
112         (WebCore::RenderMultiColumnBlock::recomputeLogicalWidth):
113         * rendering/RenderMultiColumnBlock.h:
114         (RenderMultiColumnBlock):
115         Subclassed method to also check for changes in the column width to set relayoutChildren to true.
116
117 2012-03-19  Michal Mocny  <mmocny@google.com>
118
119         [chromium] Updating WebGraphicsContext3D MemoryAllocation callback to accept a struct with have backbuffer suggestion.
120         https://bugs.webkit.org/show_bug.cgi?id=81279
121
122         Reviewed by James Robinson.
123
124         * platform/graphics/chromium/Extensions3DChromium.h:
125         (GpuMemoryAllocationCHROMIUM):
126         (WebCore::Extensions3DChromium::GpuMemoryAllocationCHROMIUM::GpuMemoryAllocationCHROMIUM):
127         (GpuMemoryAllocationChangedCallbackCHROMIUM):
128
129 2012-03-19  Tony Chang  <tony@chromium.org>
130
131         flex-item-align: stretch should only grow, never shrink
132         https://bugs.webkit.org/show_bug.cgi?id=80882
133
134         Reviewed by Ojan Vafai.
135
136         New test cases in css3/flexbox/flex-align-stretch.html.
137
138         * rendering/RenderFlexibleBox.cpp:
139         (WebCore::RenderFlexibleBox::alignChildren): Move stretch code into a separate function.
140         (WebCore::RenderFlexibleBox::alignChildStretch): Add an early return if our height is shrinking.
141         (WebCore):
142         * rendering/RenderFlexibleBox.h:
143         (RenderFlexibleBox):
144
145 2012-03-19  Vsevolod Vlasov  <vsevik@chromium.org>
146
147         Web Inspector: Implement snippets evaluation.
148         https://bugs.webkit.org/show_bug.cgi?id=81334
149
150         Reviewed by Pavel Feldman.
151
152         * inspector/front-end/ConsoleView.js:
153         (WebInspector.ConsoleView.prototype.evaluateUsingTextPrompt):
154         (WebInspector.ConsoleView.prototype._enterKeyPressed):
155         * inspector/front-end/ScriptMapping.js:
156         (WebInspector.MainScriptMapping):
157         * inspector/front-end/SnippetsModel.js:
158         * inspector/front-end/externs.js:
159         (WebInspector.evaluateInConsole):
160         * inspector/front-end/inspector.js:
161         (WebInspector.evaluateInConsole):
162
163 2012-03-19  Tommy Widenflycht  <tommyw@google.com>
164
165         MediaStream API (JSEP): Introducing PeerConnection00Handler
166         https://bugs.webkit.org/show_bug.cgi?id=81333
167
168         Reviewed by Adam Barth.
169
170         In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
171
172         Not possible to test until the entire JSEP feature is commited.
173
174         * GNUmakefile.list.am:
175         * WebCore.gypi:
176         * platform/mediastream/PeerConnection00Handler.cpp: Added.
177         (WebCore):
178         (WebCore::PeerConnection00Handler::create):
179         (WebCore::PeerConnection00Handler::PeerConnection00Handler):
180         (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
181         (WebCore::PeerConnection00Handler::createOffer):
182         (WebCore::PeerConnection00Handler::createAnswer):
183         (WebCore::PeerConnection00Handler::setLocalDescription):
184         (WebCore::PeerConnection00Handler::setRemoteDescription):
185         (WebCore::PeerConnection00Handler::localDescription):
186         (WebCore::PeerConnection00Handler::remoteDescription):
187         (WebCore::PeerConnection00Handler::startIce):
188         (WebCore::PeerConnection00Handler::processIceMessage):
189         (WebCore::PeerConnection00Handler::addStream):
190         (WebCore::PeerConnection00Handler::removeStream):
191         (WebCore::PeerConnection00Handler::stop):
192         * platform/mediastream/PeerConnection00Handler.h: Added.
193         (WebCore):
194         (PeerConnection00Handler):
195         * platform/mediastream/PeerConnection00HandlerClient.h: Added.
196         (WebCore):
197         (PeerConnection00HandlerClient):
198         (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
199
200 2012-03-19  David Reveman  <reveman@chromium.org>
201
202         [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
203         https://bugs.webkit.org/show_bug.cgi?id=80988
204
205         Reviewed by Adrienne Walker.
206
207         Expose EXT_occlusion_query API to WebKit compositor. Add
208         GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
209         enums.
210
211         * platform/graphics/chromium/Extensions3DChromium.h:
212         (Extensions3DChromium):
213
214 2012-03-19  Mike Lawther  <mikelawther@chromium.org>
215
216         CSS3 calc: make mask images work with mixed percent/absolute
217         https://bugs.webkit.org/show_bug.cgi?id=81477
218
219         Reviewed by Ojan Vafai.
220
221         Test: css3/calc/simple-composited-mask-expected.html
222
223         * css/CSSStyleSelector.cpp:
224         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
225
226 2012-03-19  Mark Pilgrim  <pilgrim@chromium.org>
227
228         Style cleanup in Modules/filesystem/
229         https://bugs.webkit.org/show_bug.cgi?id=81520
230
231         Reviewed by Adam Barth.
232
233         No new tests, all existing tests pass.
234
235         * Modules/filesystem/AsyncFileWriter.h:
236         (WebCore::AsyncFileWriter::~AsyncFileWriter):
237         * Modules/filesystem/AsyncFileWriterClient.h:
238         (WebCore::AsyncFileWriterClient::~AsyncFileWriterClient):
239         * Modules/filesystem/DOMFilePath.cpp:
240         (WebCore::DOMFilePath::getDirectory):
241         * Modules/filesystem/DOMFilePath.h:
242         (DOMFilePath):
243         * Modules/filesystem/DOMFileSystemBase.h:
244         (DOMFileSystemBase):
245         * Modules/filesystem/DirectoryEntry.h:
246         * Modules/filesystem/DirectoryEntrySync.h:
247         * Modules/filesystem/EntryArray.h:
248         (EntryArray):
249         * Modules/filesystem/FileEntry.h:
250         (FileEntry):
251         * Modules/filesystem/FileSystemCallbacks.h:
252         (FileSystemCallbacksBase):
253         * Modules/filesystem/FileWriter.cpp:
254         (WebCore::FileWriter::abort):
255
256 2012-03-19  Mike Lawther  <mikelawther@chromium.org>
257
258         CSS3 calc: background positioning works with mixed percent/absolute expressions
259         https://bugs.webkit.org/show_bug.cgi?id=81478
260
261         Reviewed by Ojan Vafai.
262
263         Test: css3/calc/background-position-parsing-expected.html
264
265         * css/CSSStyleSelector.cpp:
266         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
267
268 2012-03-19  Alexander Færøy  <alexander.faeroy@nokia.com>
269
270         Add NodeRenderStyle.h to TouchAdjustment.cpp
271
272         Unreviewed build fix after r111185.
273
274         * page/TouchAdjustment.cpp:
275
276 2012-03-19  Leo Yang  <leo.yang@torchmobile.com.cn>
277
278         [BlackBerry] Add PlatformMediaEngineClassName for blackberry in platform/graphics/MediaPlayer.cpp
279         https://bugs.webkit.org/show_bug.cgi?id=81489
280
281         Reviewed by Rob Buis.
282
283         * platform/graphics/MediaPlayer.cpp:
284
285 2012-03-19  Leo Yang  <leo.yang@torchmobile.com.cn>
286
287         [BlackBerry] Upstream the BlackBerry change to platform/PlatformKeyboardEvent.h
288         https://bugs.webkit.org/show_bug.cgi?id=81312
289
290         Reviewed by Rob Buis.
291
292         * platform/PlatformKeyboardEvent.h:
293         (Platform):
294         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
295         (PlatformKeyboardEvent):
296         (WebCore::PlatformKeyboardEvent::unmodifiedCharacter):
297         Add BlackBerry specific constructor and member fields.
298         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
299         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
300         Change the parameter type to const reference type to adapt to the declaration.
301
302 2012-03-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
303
304         Select best target for tap gesture.
305         https://bugs.webkit.org/show_bug.cgi?id=78801
306
307         Reviewed by Kenneth Rohde Christiansen.
308         IntRect changes reviewed by Dave Hyatt.
309
310         The new API is available through EventHandler::bestClickableNodeForTouchPoint, but
311         implementation details have been placed in page/TouchAdjustment.
312
313         The default hit detection is performed by measuring the distance to the center
314         lines of the absolute rects of the hit nodes. Absolute rects are used instead
315         of bounding rects to make hit-detecting against links over line breaks. Distance
316         to center line is used to make it easier to hit small links next to large links.
317         For line-rects the distance to the center-line is a better expression of the distance
318         to a rectangles center than the distance to the center-point.
319
320         Tests: touchadjustment/event-triggered-widgets.html
321                touchadjustment/html-label.html
322                touchadjustment/nested-touch.html
323                touchadjustment/touch-inlines.html
324
325         * Target.pri:
326         * page/EventHandler.cpp:
327         (WebCore::EventHandler::handleGestureTap):
328         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
329         * page/EventHandler.h:
330         * page/TouchAdjustment.cpp: Added.
331         (WebCore::TouchAdjustment::QuadForHitTest::QuadForHitTest):
332         (WebCore::TouchAdjustment::QuadForHitTest::node):
333         (WebCore::TouchAdjustment::QuadForHitTest::quad):
334         (WebCore::TouchAdjustment::QuadForHitTest::boundingBox):
335         (WebCore::TouchAdjustment::nodeRespondsToTapGesture):
336         (WebCore::TouchAdjustment::appendAbsoluteQuadsForNodeToHitTestList):
337         (WebCore::TouchAdjustment::compileQuadsForHitTesting):
338         (WebCore::TouchAdjustment::distanceSquaredToQuadCenterLine):
339         (WebCore::TouchAdjustment::findNodeWithLowestMetric):
340         (WebCore::findBestClickableCandidate):
341         * page/TouchAdjustment.h: Added.
342         * platform/graphics/FloatQuad.h:
343         (WebCore::FloatQuad::center):
344         * platform/graphics/IntPoint.h:
345         (WebCore::IntPoint::distanceSquaredToPoint):
346         * platform/graphics/IntRect.cpp:
347         (WebCore::distanceToInterval):
348         (WebCore::IntRect::differenceToPoint):
349         (WebCore::IntRect::differenceFromCenterLineToPoint):
350         * platform/graphics/IntRect.h:
351         (WebCore::IntRect::distanceSquaredToPoint):
352         (WebCore::IntRect::distanceSquaredFromCenterLineToPoint):
353         * platform/graphics/IntSize.h:
354         (WebCore::IntSize::diagonalLengthSquared):
355         * testing/Internals.cpp:
356         (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
357         (WebCore::Internals::touchNodeAdjustedToBestClickableNode):
358         * testing/Internals.h:
359         * testing/Internals.idl:
360
361 2012-03-19  Mark Pilgrim  <pilgrim@chromium.org>
362
363         Add ENABLED(FILE_SYSTEM) to DOMFilePath.h
364         https://bugs.webkit.org/show_bug.cgi?id=81393
365
366         Reviewed by Kentaro Hara.
367
368         No new tests, all existing tests pass.
369
370         * Modules/filesystem/DOMFilePath.h:
371
372 2012-03-19  Max Vujovic  <mvujovic@adobe.com>
373
374         inspector highlight of SVG root element with viewbox does not match dimensions of element
375         https://bugs.webkit.org/show_bug.cgi?id=78037
376
377         Reviewed by Nikolas Zimmermann.
378
379         Functions such as RenderBox::absoluteQuads and DOMNodeHighlighter::getOrDrawNodeHighlight
380         eventually call RenderSVGRoot::mapLocalToContainer, passing along local CSS box coordinates.
381
382         However, before this patch, RenderSVGRoot::mapLocalToContainer expected local SVG viewport
383         coordinates. This caused the inspector highlight to be incorrectly sized and positioned.
384
385         Now, RenderSVGRoot::mapLocalToContainer expects local CSS box coordinates, like other HTML
386         renderers.
387
388         Test: inspector/elements/highlight-svg-root.html
389
390         * dom/Element.cpp:
391         (WebCore::Element::getBoundingClientRect):
392             Now, the SVG root element can use the code path for elements with CSS boxes to calculate
393             its bounding client rect.
394
395         * rendering/svg/RenderSVGRoot.cpp:
396         (WebCore::RenderSVGRoot::mapLocalToContainer):
397             RenderSVGRoot::mapLocalToContainer no longer needs to apply the
398             localToBorderBoxTransform to convert from local SVG viewport coordinates to local CSS
399             box coordinates. Now, it receives local CSS box coordinates.
400
401         * rendering/svg/RenderSVGRoot.h:
402         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
403             RenderSVGRoot::localToBorderBoxTransform has been exposed for child elements in the SVG
404             namespace to use when mapping from local SVG viewport coordinates to local CSS box
405             coordinates.
406
407         (RenderSVGRoot):
408         * rendering/svg/SVGRenderSupport.cpp:
409         (WebCore::SVGRenderSupport::mapLocalToContainer):
410             Elements in the SVG namespace should now apply the localToBorderBoxTransform at the
411             SVG/HTML boundary (aka RenderSVGRoot) when mapping their coordinates up the render tree.
412
413         * svg/SVGSVGElement.cpp:
414         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
415             Same as above. This method is eventually used in the SVGLocatable::getScreenCTM
416             calculation.
417
418 2012-03-19  Hironori Bono  <hbono@chromium.org>
419
420         Add a copy constructor to CollapsedBorderValue
421         https://bugs.webkit.org/show_bug.cgi?id=81502
422
423         Reviewed by Hajime Morita.
424
425         Due to the lack of this copy constructor, GCC (x86) creates a broken copy
426         constructor and it causes a build break on Google Chrome.
427
428         * rendering/style/CollapsedBorderValue.h:
429         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
430         (CollapsedBorderValue):
431
432 2012-03-18  Matt Falkenhagen  <falken@chromium.org>
433
434         Fallback to common script when per-script font setting is the empty string
435         https://bugs.webkit.org/show_bug.cgi?id=81329
436
437         Reviewed by Kent Tamura.
438
439         Tests: fast/text/international/font-fallback-to-common-script.html
440
441         * page/Settings.cpp:
442         (WebCore::setGenericFontFamilyForScript): Remove the setting when the per-script font family is the empty string.
443
444 2012-03-18  Luke Macpherson   <macpherson@chromium.org>
445
446         Remove remnants of code that assume Lengths are 28 bit integers.
447         https://bugs.webkit.org/show_bug.cgi?id=67976
448
449         Reviewed by Eric Seidel.
450
451         Test: LayoutTests/fast/table/max-width-integer-overflow-expected.html
452
453         * css/CSSPrimitiveValue.cpp:
454         (WebCore::CSSPrimitiveValue::computeLength):
455         Bound by INT_MAX and INT_MIN instead of 28 bit bounds.
456         * css/CSSStyleApplyProperty.cpp:
457         (WebCore::ApplyPropertyBorderRadius::applyValue):
458         Use PrimitiveValue::computeLength function directly.
459         * platform/Length.h:
460         Remove 28 bit integer limit constants.
461         * rendering/AutoTableLayout.cpp:
462         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
463         Use std::numeric_limits.
464
465 2012-03-16  Shinya Kawanaka  <shinyak@chromium.org>
466
467         Should remove RuntimeEnabledFeatures::multipleShadowSubtreesEnabled
468         https://bugs.webkit.org/show_bug.cgi?id=79307
469
470         Reviewed by Dimitri Glazkov.
471
472         Since RuntimeEnabledFeatures::multipleShadowSubtreesEnabled was introduced for
473         temporal unstability of multiple shadow roots. We should remove it now, and
474         enable it by default.
475
476         Test: fast/dom/shadow/shadow-root-js-api.html should cover this change.
477         The other shadow related tests should also covers this change.
478
479         * WebCore.exp.in:
480         * bindings/generic/RuntimeEnabledFeatures.cpp:
481         (WebCore):
482         * bindings/generic/RuntimeEnabledFeatures.h:
483         (RuntimeEnabledFeatures):
484         * dom/ShadowRoot.cpp:
485         (WebCore::ShadowRoot::create):
486         * dom/ShadowTree.cpp:
487         (WebCore::ShadowTree::addShadowRoot):
488         * testing/Internals.cpp:
489         * testing/Internals.h:
490         (Internals):
491         * testing/Internals.idl:
492
493 2012-03-18  Dana Jansens  <danakj@chromium.org>
494
495         [chromium] Don't occlude on main-thread behind layers/surfaces with impl-thread animations
496         https://bugs.webkit.org/show_bug.cgi?id=81354
497
498         Reviewed by Adrienne Walker.
499
500         Layers and surfaces can have an animating opacity or translation on the
501         impl thread. In this case, the main thread does not know their actual
502         values, and treats these values as "unknowns". This means we can't use
503         them for marking areas of the screen as occluded, and we can't consider
504         a part of a layer occluded in a space that we can not reliably transform
505         to.
506
507         Unit test: CCOcclusionTrackerTestAnimationOpacity0OnMainThread
508                    CCOcclusionTrackerTestAnimationOpacity1OnMainThread
509                    CCOcclusionTrackerTestAnimationTranslateOnMainThread
510
511         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
512         (WebCore::layerOpacityKnown):
513         (WebCore::layerTransformsToTargetKnown):
514         (WebCore::layerTransformsToScreenKnown):
515         (WebCore):
516         (WebCore::surfaceOpacityUnknown):
517         (WebCore::surfaceTransformsToTargetUnknown):
518         (WebCore::surfaceTransformsToScreenUnknown):
519         (WebCore::::finishedTargetRenderSurface):
520         (WebCore::contentToScreenSpaceTransform):
521         (WebCore::contentToTargetSurfaceTransform):
522         (WebCore::::markOccludedBehindLayer):
523         (WebCore::::occluded):
524         (WebCore::::unoccludedContentRect):
525
526 2012-03-18  Dana Jansens  <danakj@chromium.org>
527
528         [chromium] Animating opacity is not opaque and should create a render surface on main thread
529         https://bugs.webkit.org/show_bug.cgi?id=81401
530
531         Reviewed by James Robinson.
532
533         Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy
534
535         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
536         (WebCore::layerOpacityIsOpaque):
537         (WebCore):
538         (WebCore::subtreeShouldRenderToSeparateSurface):
539
540 2012-03-18  Sam Weinig  <sam@webkit.org>
541
542         WebCore::BitmapImage::getCGImageRef should not be used off the main thread.
543         https://bugs.webkit.org/show_bug.cgi?id=81441
544
545         Reviewed by Anders Carlsson.
546
547         Covered by existing tests.
548
549         * loader/cache/MemoryCache.cpp:
550         (WebCore::memoryCache):
551         (WebCore::MemoryCache::add):
552         (WebCore::MemoryCache::revalidationFailed):
553         (WebCore::MemoryCache::resourceForURL):
554         (WebCore::MemoryCache::evict):
555         Add back main thread assertions.
556
557         * platform/graphics/cg/PatternCG.cpp:
558         (PatternCallbackData):
559         (WebCore::patternCallback):
560         (WebCore::patternReleaseOnMainThreadCallback):
561         (WebCore::Pattern::createPlatformPattern):
562         Instead of pulling out the CGImageRef in the pattern callback, do it upfront.
563
564 2012-03-18  Alexander Færøy  <alexander.faeroy@nokia.com>
565
566         [Qt] Don't prepare SQL statements when the database is not open
567         https://bugs.webkit.org/show_bug.cgi?id=81470
568
569         Reviewed by Kenneth Rohde Christiansen.
570
571         Already covered by existing tests.
572
573         * platform/qt/CookieJarQt.cpp:
574         (WebCore::SharedCookieJarQt::deleteCookiesForHostname):
575         (WebCore::SharedCookieJarQt::deleteAllCookies):
576         (WebCore::SharedCookieJarQt::setCookiesFromUrl):
577         (WebCore::SharedCookieJarQt::loadCookies):
578
579 2012-03-18  Kentaro Hara  <haraken@chromium.org>
580
581         Unreviewed, rolling out r110994 due to Chromium crash
582
583         * CMakeLists.txt:
584         * DerivedSources.make:
585         * DerivedSources.pri:
586         * GNUmakefile.list.am:
587         * Target.pri:
588         * WebCore.gypi:
589         * WebCore.vcproj/WebCore.vcproj:
590         * WebCore.xcodeproj/project.pbxproj:
591         * notifications/DOMWindowNotifications.cpp: Removed.
592         * notifications/DOMWindowNotifications.h: Removed.
593         * notifications/DOMWindowNotifications.idl: Removed.
594         * page/DOMWindow.cpp:
595         (WebCore::DOMWindow::~DOMWindow):
596         (WebCore::DOMWindow::willDetachPage):
597         (WebCore::DOMWindow::disconnectDOMWindowProperties):
598         (WebCore::DOMWindow::clearDOMWindowProperties):
599         (WebCore):
600         (WebCore::DOMWindow::webkitNotifications):
601         (WebCore::DOMWindow::resetNotifications):
602         * page/DOMWindow.h:
603         (WebCore):
604         (DOMWindow):
605         * page/DOMWindow.idl:
606         * page/Frame.cpp:
607         (WebCore::Frame::willDetachPage):
608         (WebCore::Frame::transferChildFrameToNewDocument):
609
610 2012-03-18  Kentaro Hara  <haraken@chromium.org>
611
612         Unreviewed, rolling out r111086.
613         http://trac.webkit.org/changeset/111086
614         https://bugs.webkit.org/show_bug.cgi?id=81374
615
616         Chromium crash
617
618         * notifications/DOMWindowNotifications.cpp:
619         (WebCore::DOMWindowNotifications::disconnectFrame):
620
621 2012-03-18  David Reveman  <reveman@chromium.org>
622
623         Invalidation issue when creating backing layer for fixed positioned element.
624         https://bugs.webkit.org/show_bug.cgi?id=80647
625
626         Reviewed by James Robinson.
627
628         Ensure that root layer is correctly invalidated by handling scroll and
629         invalidation from movement of fixed position elements prior to creating
630         any backing layers.
631
632         Test: compositing/layer-creation/fixed-position-scroll.html
633
634         * page/FrameView.cpp:
635         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
636         (WebCore):
637         (WebCore::FrameView::updateFixedElementsAfterScrolling):
638         * page/FrameView.h:
639         (FrameView):
640         * platform/ScrollView.cpp:
641         (WebCore::ScrollView::scrollTo):
642         * platform/ScrollView.h:
643         (WebCore::ScrollView::repaintFixedElementsAfterScrolling):
644         (WebCore::ScrollView::updateFixedElementsAfterScrolling):
645
646 2012-03-18  Dana Jansens  <danakj@chromium.org>
647
648         [chromium] Transform animation state should be inherited from parents
649         https://bugs.webkit.org/show_bug.cgi?id=81363
650
651         Reviewed by Adrienne Walker.
652
653         Adds a drawTransformIsAnimating() and screenSpaceTransformIsAnimating()
654         to the layer classes, and similar to the surface classes. These inherit
655         the values from their parents in the same way that the transforms
656         themselves do, and reflect if the layer's transform is being affected
657         by some active animation.
658
659         These can be used in main-thread culling when determining if the layer's
660         position is static in the given coordinate space or being animated.
661
662         Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy
663
664         * platform/graphics/chromium/LayerChromium.cpp:
665         (WebCore::LayerChromium::LayerChromium):
666         * platform/graphics/chromium/LayerChromium.h:
667         (LayerChromium):
668         (WebCore::LayerChromium::drawTransformIsAnimating):
669         (WebCore::LayerChromium::setDrawTransformIsAnimating):
670         (WebCore::LayerChromium::screenSpaceTransformIsAnimating):
671         (WebCore::LayerChromium::setScreenSpaceTransformIsAnimating):
672         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
673         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
674         * platform/graphics/chromium/RenderSurfaceChromium.h:
675         (WebCore::RenderSurfaceChromium::targetSurfaceTransformsAreAnimating):
676         (WebCore::RenderSurfaceChromium::setTargetSurfaceTransformsAreAnimating):
677         (WebCore::RenderSurfaceChromium::screenSpaceTransformsAreAnimating):
678         (WebCore::RenderSurfaceChromium::setScreenSpaceTransformsAreAnimating):
679         (RenderSurfaceChromium):
680         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
681         (WebCore::CCLayerImpl::CCLayerImpl):
682         * platform/graphics/chromium/cc/CCLayerImpl.h:
683         (CCLayerImpl):
684         (WebCore::CCLayerImpl::drawTransformIsAnimating):
685         (WebCore::CCLayerImpl::setDrawTransformIsAnimating):
686         (WebCore::CCLayerImpl::screenSpaceTransformIsAnimating):
687         (WebCore::CCLayerImpl::setScreenSpaceTransformIsAnimating):
688         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
689         (WebCore::subtreeShouldBeSkipped):
690         (WebCore::calculateDrawTransformsAndVisibilityInternal):
691         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
692         (WebCore::CCRenderSurface::CCRenderSurface):
693         * platform/graphics/chromium/cc/CCRenderSurface.h:
694         (WebCore::CCRenderSurface::targetSurfaceTransformsAreAnimating):
695         (WebCore::CCRenderSurface::setTargetSurfaceTransformsAreAnimating):
696         (WebCore::CCRenderSurface::screenSpaceTransformsAreAnimating):
697         (WebCore::CCRenderSurface::setScreenSpaceTransformsAreAnimating):
698         (CCRenderSurface):
699
700 2012-03-18  Pratik Solanki  <psolanki@apple.com>
701
702         Fix compile when FULLSCREEN_API is not enabled on Mac
703         https://bugs.webkit.org/show_bug.cgi?id=81474
704
705         Reviewed by Ada Chan.
706
707         Guard the full screen api code inside ENABLE(FULLSCREEN_API).
708
709         No new tests because no functional changes.
710
711         * platform/mac/WebCoreFullScreenWindow.h:
712         * platform/mac/WebCoreFullScreenWindow.mm:
713
714 2012-03-18  Kentaro Hara  <haraken@chromium.org>
715
716         Change the initial buffer size of a plain text
717         https://bugs.webkit.org/show_bug.cgi?id=81192
718
719         Reviewed by Dimitri Glazkov.
720
721         r111109 changed the initial buffer size of a plain text
722         from 1<<16 to 1<<15 in Chromium/Mac only, for the following reasons:
723
724         - As far as I experimented locally, while 1<<15 is better than 1<<16 in Chromium/Mac,
725         1<<15 and 1<<16 are the same in AppleWebKit/Mac and Chromium/Linux (their performance
726         "gap" exists at between 1<<17 and 1<<18).
727         - The reason why I changed 1<<16 to 1<<15 in Chromium/Mac only is that
728         the value highly depends on the underlying malloc system and I was a bit afraid
729         that changing to 1<<15 _might_ cause unintentional performance regression in some
730         platform.
731
732         That being said, it seems that 1<<15 would not be worse than 1<<16 in all platforms,
733         and we should just keep the value consistent. In the first place, according to anttik
734         (who wrote 1<<16 a long time ago), there was no strong reason for 1<<16.
735
736         Based on these observations (See https://bugs.webkit.org/show_bug.cgi?id=81192
737         for more details), this patch unifies the value to 1<<15 in all platforms.
738
739         No tests. No change in behavior.
740
741         * editing/TextIterator.cpp:
742         (WebCore::plainTextToMallocAllocatedBuffer):
743
744 2012-02-13  Robert Hogan  <robert@webkit.org>
745
746         CSS 2.1 failure: eof-003.htm fails
747         https://bugs.webkit.org/show_bug.cgi?id=78538
748
749         Reviewed by Antti Koivisto.
750
751         Tests: css2.1/20110323/eof-001.htm
752                css2.1/20110323/eof-003.htm
753                css2.1/20110323/eof-004.htm
754                css2.1/20110323/eof-005.htm
755                css2.1/20110323/eof-006.htm
756                css2.1/20110323/eof-007.htm
757
758         This patch fixes eof-003.htm, eof-005.htm and eof-006.htm. The other eof-* tests already pass.
759
760         * css/CSSGrammar.y: Allow EOF as well as ';' to terminate import rules.
761                             This should probably be done for other rules in a separate patch.
762         * css/CSSParser.cpp:
763         (WebCore::CSSParser::checkAndSkipString): Allow strings to end with EOF.
764         (WebCore::CSSParser::parseString): ditto
765
766 2012-03-17  David Reveman  <reveman@chromium.org>
767
768         [Chromium] PlatformContextSkia::m_drawingToImageBuffer is not correctly set when using per-tile painting.
769         https://bugs.webkit.org/show_bug.cgi?id=81463
770
771         Reviewed by James Robinson.
772
773         Call PlatformContextSkia::setDrawingToImageBuffer() from
774         SkPictureCanvasLayerTextureUpdater::prepareToUpdate so that sub-pixel
775         text rendering is not used incorrectly with per-tile painting.
776
777         No new tests.
778
779         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
780         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
781
782 2012-03-17  Robert Kroeger  <rjkroege@chromium.org>
783
784         [chromium] Make pixel-accurate wheel scrolling be unanimated
785         https://bugs.webkit.org/show_bug.cgi?id=81457
786
787         Reviewed by James Robinson.
788
789         * platform/ScrollAnimatorNone.cpp:
790         (WebCore::ScrollAnimatorNone::scroll):
791
792 2012-03-17  Rob Buis  <rbuis@rim.com>
793
794         [BlackBerry] Implement openTemporaryFile in FileSystem
795         https://bugs.webkit.org/show_bug.cgi?id=81373
796
797         Reviewed by George Staikos.
798
799         Move the Efl implementation to Posix, this way BlackBerry port can reuse it.
800
801         * platform/blackberry/FileSystemBlackBerry.cpp:
802         * platform/efl/FileSystemEfl.cpp:
803         * platform/posix/FileSystemPOSIX.cpp:
804         (WebCore::openTemporaryFile):
805         (WebCore):
806
807 2012-03-17  Joe Thomas  <joethomas@motorola.com>
808
809         move calc*Value functions out from Length (and platform)
810         https://bugs.webkit.org/show_bug.cgi?id=80897
811
812         Moving the Length calc*Value functions out from Length structure and also from /WebCore/platform/ folder.
813         This helps to avoid the layering violation while length calculation. Otherwise layer violation can be avoided only by adding a virtual interface(bug 27160).
814
815         Reviewed by Antti Koivisto.
816
817         * GNUmakefile.list.am: Build system changes for adding new files.
818         * Target.pri: Ditto.
819         * WebCore.gypi: Ditto.
820         * WebCore.vcproj/WebCore.vcproj: Ditto.
821         * WebCore.xcodeproj/project.pbxproj: Ditto.
822         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
823         (getAttributeSetForAccessibilityObject):
824         * css/CSSComputedStyleDeclaration.cpp:
825         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
826         * css/LengthFunctions.h: Added. Moved calc*Value functions of Length.
827         (WebCore):
828         (WebCore::calculateMinimumValue):
829         (WebCore::calculateValue):
830         (WebCore::calculateFloatValue):
831         * dom/Document.cpp:
832         (WebCore::Document::pageSizeAndMarginsInPixels):
833         * html/HTMLAreaElement.cpp:
834         (WebCore::HTMLAreaElement::getRegion):
835         * platform/CalculationValue.h:
836         (WebCore::CalcExpressionLength::evaluate):
837         * platform/Length.h: Removed the calc*Value functions from Length structure.
838         (Length):
839         (WebCore::Length::getFloatValue):
840         (WebCore::Length::getIntValue):
841         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
842         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
843         (PlatformCALayer::setFilters):
844         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
845         (WebCore::CCRenderSurfaceFilters::apply):
846         * platform/graphics/filters/FilterOperations.cpp:
847         (WebCore::FilterOperations::getOutsets):
848         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
849         (WebCore::PerspectiveTransformOperation::blend):
850         * platform/graphics/transforms/PerspectiveTransformOperation.h:
851         (WebCore::PerspectiveTransformOperation::isIdentity):
852         (WebCore::PerspectiveTransformOperation::apply):
853         * platform/graphics/transforms/TranslateTransformOperation.h:
854         (WebCore::TranslateTransformOperation::x):
855         (WebCore::TranslateTransformOperation::y):
856         (WebCore::TranslateTransformOperation::z):
857         (WebCore::TranslateTransformOperation::isIdentity):
858         * platform/win/PopupMenuWin.cpp:
859         (WebCore::PopupMenuWin::paint):
860         * rendering/AutoTableLayout.cpp:
861         (WebCore::AutoTableLayout::layout):
862         * rendering/FilterEffectRenderer.cpp:
863         (WebCore::FilterEffectRenderer::build):
864         * rendering/FixedTableLayout.cpp:
865         (WebCore::FixedTableLayout::layout):
866         * rendering/RenderBlock.cpp:
867         (WebCore::RenderBlock::textIndentOffset):
868         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
869         * rendering/RenderBox.cpp:
870         (WebCore::RenderBox::reflectionOffset):
871         (WebCore::RenderBox::clipRect):
872         (WebCore::RenderBox::computeLogicalWidthInRegion):
873         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
874         (WebCore::RenderBox::computeInlineDirectionMargins):
875         (WebCore::RenderBox::computePercentageLogicalHeight):
876         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
877         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
878         (WebCore::RenderBox::availableLogicalHeightUsing):
879         (WebCore::RenderBox::computeBlockDirectionMargins):
880         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
881         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
882         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
883         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
884         * rendering/RenderBoxModelObject.cpp:
885         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
886         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
887         (WebCore::RenderBoxModelObject::paddingTop):
888         (WebCore::RenderBoxModelObject::paddingBottom):
889         (WebCore::RenderBoxModelObject::paddingLeft):
890         (WebCore::RenderBoxModelObject::paddingRight):
891         (WebCore::RenderBoxModelObject::paddingBefore):
892         (WebCore::RenderBoxModelObject::paddingAfter):
893         (WebCore::RenderBoxModelObject::paddingStart):
894         (WebCore::RenderBoxModelObject::paddingEnd):
895         (WebCore::RenderBoxModelObject::calculateFillTileSize):
896         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
897         (WebCore::computeBorderImageSide):
898         (WebCore::RenderBoxModelObject::paintNinePieceImage):
899         * rendering/RenderFlexibleBox.cpp:
900         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
901         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
902         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
903         * rendering/RenderFrameSet.cpp:
904         (WebCore::RenderFrameSet::layOutAxis):
905         * rendering/RenderInline.cpp:
906         (WebCore::computeMargin):
907         * rendering/RenderLayer.cpp:
908         (WebCore::RenderLayer::perspectiveTransform):
909         (WebCore::RenderLayer::perspectiveOrigin):
910         * rendering/RenderLayerBacking.cpp:
911         (WebCore::RenderLayerBacking::computeTransformOrigin):
912         (WebCore::RenderLayerBacking::computePerspectiveOrigin):
913         * rendering/RenderMarquee.cpp:
914         (WebCore::RenderMarquee::timerFired):
915         * rendering/RenderMenuList.cpp:
916         (WebCore::RenderMenuList::updateOptionsWidth):
917         * rendering/RenderObject.cpp:
918         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
919         * rendering/RenderReplaced.cpp:
920         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
921         * rendering/RenderScrollbarPart.cpp:
922         (WebCore::calcScrollbarThicknessUsing):
923         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
924         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
925         * rendering/RenderTable.cpp:
926         (WebCore::RenderTable::computeLogicalWidth):
927         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
928         * rendering/RenderTableCell.cpp:
929         (WebCore::RenderTableCell::logicalHeightForRowSizing):
930         * rendering/RenderTableSection.cpp:
931         (WebCore::RenderTableSection::calcRowLogicalHeight):
932         * rendering/RenderText.h:
933         (WebCore::RenderText::marginLeft):
934         (WebCore::RenderText::marginRight):
935         * rendering/RootInlineBox.cpp:
936         (WebCore::RootInlineBox::verticalPositionForBox):
937         * rendering/style/RenderStyle.cpp:
938         (WebCore::RenderStyle::applyTransform):
939         (WebCore::calcRadiiFor):
940         * rendering/style/RenderStyle.h:
941         * rendering/svg/RenderSVGRoot.cpp:
942         (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
943         (WebCore::resolveLengthAttributeForSVG):
944         * svg/SVGSVGElement.cpp:
945         (WebCore::SVGSVGElement::currentViewBoxRect):
946         (WebCore::SVGSVGElement::currentViewportSize):
947         * svg/graphics/SVGImage.cpp:
948         (WebCore::SVGImage::computeIntrinsicDimensions):
949
950 2012-03-17  Nikolas Zimmermann  <nzimmermann@rim.com>
951
952         Enable animVal support for SVGNumberOptionalNumber
953         https://bugs.webkit.org/show_bug.cgi?id=81448
954
955         Reviewed by Antti Koivisto.
956
957         Enable animVal support for SVGNumberOptionalNumber. Its a special case as two SVG DOM properties
958         eg. stdDeviationX/stdDeviationY are mapped to a single XML attribute: SVGNames::stdDeviationAttr.
959
960         When animating properties like this, both animVal wrappers need to reflect changes.
961         Generalize the current animVal code to support more than one SVGAnimatedProperty that gets
962         animated for a single attributeName. This allows us to remove SVGAnimatedType::variantValue/setVariantValue
963         which paves the way for removing SVGGenericAnimatedType from even more places.
964
965         Covered by existing tests.
966
967         * svg/SVGAnimateElement.cpp:
968         (WebCore::SVGAnimateElement::SVGAnimateElement):
969         (WebCore::SVGAnimateElement::calculateAnimatedValue):
970         (WebCore::SVGAnimateElement::resetToBaseValue):
971         (WebCore::SVGAnimateElement::targetElementWillChange):
972         * svg/SVGAnimateElement.h:
973         (SVGAnimateElement):
974         * svg/SVGAnimatedLength.cpp:
975         (WebCore::SVGAnimatedLengthAnimator::constructFromBaseValue):
976         (WebCore):
977         (WebCore::SVGAnimatedLengthAnimator::resetAnimatedTypeToBaseValue):
978         * svg/SVGAnimatedLength.h:
979         (SVGAnimatedLengthAnimator):
980         * svg/SVGAnimatedLengthList.cpp:
981         (WebCore::SVGAnimatedLengthListAnimator::constructFromBaseValue):
982         (WebCore):
983         (WebCore::SVGAnimatedLengthListAnimator::resetAnimatedTypeToBaseValue):
984         * svg/SVGAnimatedLengthList.h:
985         (SVGAnimatedLengthListAnimator):
986         * svg/SVGAnimatedNumber.cpp:
987         (WebCore::SVGAnimatedNumberAnimator::constructFromBaseValue):
988         (WebCore):
989         (WebCore::SVGAnimatedNumberAnimator::resetAnimatedTypeToBaseValue):
990         * svg/SVGAnimatedNumber.h:
991         (SVGAnimatedNumberAnimator):
992         * svg/SVGAnimatedNumberList.cpp:
993         (WebCore::SVGAnimatedNumberListAnimator::constructFromBaseValue):
994         (WebCore):
995         (WebCore::SVGAnimatedNumberListAnimator::resetAnimatedTypeToBaseValue):
996         * svg/SVGAnimatedNumberList.h:
997         (SVGAnimatedNumberListAnimator):
998         * svg/SVGAnimatedNumberOptionalNumber.cpp:
999         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromBaseValue):
1000         (WebCore):
1001         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimatedTypeToBaseValue):
1002         * svg/SVGAnimatedNumberOptionalNumber.h:
1003         (WebCore):
1004         (SVGAnimatedNumberOptionalNumberAnimator):
1005         * svg/SVGAnimatedTransformList.cpp:
1006         (WebCore::SVGAnimatedTransformListAnimator::constructFromBaseValue):
1007         (WebCore::SVGAnimatedTransformListAnimator::resetAnimatedTypeToBaseValue):
1008         (WebCore):
1009         * svg/SVGAnimatedTransformList.h:
1010         (SVGAnimatedTransformListAnimator):
1011         * svg/SVGAnimatedType.cpp:
1012         (WebCore::SVGAnimatedType::supportsAnimVal):
1013         * svg/SVGAnimatedType.h:
1014         (SVGAnimatedType):
1015         * svg/SVGAnimatedTypeAnimator.h:
1016         (SVGAnimatedTypeAnimator):
1017         (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue):
1018         (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeToBaseValue):
1019         (WebCore::SVGAnimatedTypeAnimator::currentBaseValueVariant):
1020         (WebCore::SVGAnimatedTypeAnimator::constructFromOneBaseValue):
1021         (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeFromOneBaseValue):
1022         (WebCore::SVGAnimatedTypeAnimator::constructFromTwoBaseValues):
1023         (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeFromTwoBaseValues):
1024         * svg/SVGAnimationElement.cpp:
1025         (WebCore::findMatchingAnimatedProperties):
1026         (WebCore::SVGAnimationElement::applyAnimatedValue):
1027         (WebCore::notifyAnimatedPropertyAboutAnimationBeginEnd):
1028         (WebCore::SVGAnimationElement::animationStarted):
1029         (WebCore::SVGAnimationElement::animationEnded):
1030         (WebCore::SVGAnimationElement::animatedPropertiesForType):
1031         * svg/SVGAnimationElement.h:
1032         * svg/properties/SVGAnimatedListPropertyTearOff.h:
1033         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
1034         (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
1035         * svg/properties/SVGAnimatedProperty.h:
1036         (SVGAnimatedProperty):
1037         * svg/properties/SVGAnimatedPropertyTearOff.h:
1038         (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
1039         (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
1040         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
1041         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
1042         (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
1043
1044 2012-03-12  Philippe Normand  <pnormand@igalia.com>
1045
1046         [GStreamer] run AudioFileReader in a nested loop
1047         https://bugs.webkit.org/show_bug.cgi?id=80823
1048
1049         Reviewed by Martin Robinson.
1050
1051         Use a separate main loop for the file reader, this approach is
1052         much cleaner than polling the default GLib main context.
1053
1054         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1055         (AudioFileReader):
1056         (WebCore::enteredMainLoopCallback):
1057         (WebCore):
1058         (WebCore::AudioFileReader::AudioFileReader):
1059         (WebCore::AudioFileReader::handleMessage):
1060         (WebCore::AudioFileReader::start):
1061         (WebCore::AudioFileReader::createBus):
1062
1063 2012-02-07  Robert Hogan  <robert@webkit.org>
1064
1065         CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail
1066         https://bugs.webkit.org/show_bug.cgi?id=78027
1067
1068         Reviewed by Julien Chaffraix.
1069
1070         Both of these test the (slightly implicit) rule that width set on column-groups cannot
1071         affect the width of columns in a fixed layout table: http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout
1072         FF, Opera and IE all pass these two tests.
1073
1074         Tests: css2.1/20110323/fixed-table-layout-013.htm
1075                css2.1/20110323/fixed-table-layout-015.htm
1076                fast/table/fixed-table-layout-toggle-colwidth.html
1077
1078         * rendering/FixedTableLayout.cpp:
1079         (WebCore::nextCol): A helper function for finding the next column along.
1080         (WebCore::FixedTableLayout::calcWidthArray): Ignore width specified by column groups.
1081         * rendering/RenderTableCol.h:
1082         (WebCore::RenderTableCol::isTableColGroup): Convenience function for identifying column groups.
1083
1084 2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
1085
1086         [BlackBerry] Add BlackBerry to NavigatorBase.cpp
1087         https://bugs.webkit.org/show_bug.cgi?id=81303
1088
1089         Reviewed by Rob Buis.
1090
1091         * page/NavigatorBase.cpp:
1092
1093 2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
1094
1095         [BlackBerry] Add typedef of DragDataRef for blackberry
1096         https://bugs.webkit.org/show_bug.cgi?id=81301
1097
1098         Reviewed by Rob Buis.
1099
1100         * platform/DragData.h:
1101
1102 2012-03-16  James Robinson  <jamesr@chromium.org>
1103
1104         [chromium] Unify the drawing logic for different layer types that output textures to the compositor
1105         https://bugs.webkit.org/show_bug.cgi?id=81286
1106
1107         Reviewed by Adrienne Walker.
1108
1109         Currently canvas 2d, webgl, and plugin layers all export a texture to the compositor that then needs to be
1110         drawn.  There are a small set of operations that can be applied to the texture at draw time - do a Y flip,
1111         stretch a subrect to the layer bounds, set the blend mode etc but they are fundamentally the same thing. This
1112         collapses the nearly-redundant code into a single impl-side layer type for a texture-backed layer that can
1113         handle the union of the bits needed for each layer type.
1114
1115         Canvas 2d, WebGL and plugin composited rendering are all covered by layout tests.
1116
1117         * WebCore.gypi:
1118         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1119         (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
1120         * platform/graphics/chromium/CanvasLayerChromium.cpp:
1121         (WebCore::CanvasLayerChromium::createCCLayerImpl):
1122         * platform/graphics/chromium/LayerRendererChromium.cpp:
1123         (WebCore::LayerRendererChromium::drawQuad):
1124         (WebCore::TexStretchTextureProgramBinding::set):
1125         (WebCore::TexTransformTextureProgramBinding::set):
1126         (WebCore::LayerRendererChromium::drawTextureQuad):
1127         (WebCore::LayerRendererChromium::textureLayerProgramFlip):
1128         (WebCore::LayerRendererChromium::textureLayerProgramStretch):
1129         (WebCore::LayerRendererChromium::textureLayerProgramStretchFlip):
1130         (WebCore::LayerRendererChromium::textureLayerTexRectProgram):
1131         (WebCore::LayerRendererChromium::textureLayerTexRectProgramFlip):
1132         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1133         * platform/graphics/chromium/LayerRendererChromium.h:
1134         (WebCore):
1135         (LayerRendererChromium):
1136         * platform/graphics/chromium/PluginLayerChromium.cpp:
1137         (WebCore::PluginLayerChromium::PluginLayerChromium):
1138         (WebCore::PluginLayerChromium::createCCLayerImpl):
1139         (WebCore::PluginLayerChromium::setIOSurfaceProperties):
1140         (WebCore::PluginLayerChromium::pushPropertiesTo):
1141         * platform/graphics/chromium/PluginLayerChromium.h:
1142         (PluginLayerChromium):
1143         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1144         (WebCore::WebGLLayerChromium::pushPropertiesTo):
1145         * platform/graphics/chromium/cc/CCCanvasDrawQuad.cpp: Removed.
1146         * platform/graphics/chromium/cc/CCCanvasDrawQuad.h: Removed.
1147         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: Removed.
1148         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: Removed.
1149         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
1150         (WebCore::CCDrawQuad::toTextureDrawQuad):
1151         * platform/graphics/chromium/cc/CCDrawQuad.h:
1152         (WebCore):
1153         (CCDrawQuad):
1154         * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginDrawQuad.cpp.
1155         (WebCore):
1156         (WebCore::CCTextureDrawQuad::create):
1157         (WebCore::CCTextureDrawQuad::CCTextureDrawQuad):
1158         * platform/graphics/chromium/cc/CCTextureDrawQuad.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginDrawQuad.h.
1159         (WebCore):
1160         (CCTextureDrawQuad):
1161         (WebCore::CCTextureDrawQuad::textureId):
1162         (WebCore::CCTextureDrawQuad::hasAlpha):
1163         (WebCore::CCTextureDrawQuad::premultipliedAlpha):
1164         (WebCore::CCTextureDrawQuad::uvRect):
1165         (WebCore::CCTextureDrawQuad::flipped):
1166         (WebCore::CCTextureDrawQuad::ioSurfaceSize):
1167         (WebCore::CCTextureDrawQuad::ioSurfaceTextureId):
1168         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginLayerImpl.cpp.
1169         (WebCore):
1170         (WebCore::CCTextureLayerImpl::CCTextureLayerImpl):
1171         (WebCore::CCTextureLayerImpl::~CCTextureLayerImpl):
1172         (WebCore::CCTextureLayerImpl::willDraw):
1173         (WebCore::CCTextureLayerImpl::appendQuads):
1174         (WebCore::CCTextureLayerImpl::dumpLayerProperties):
1175         (WebCore::CCTextureLayerImpl::didLoseContext):
1176         (WebCore::CCTextureLayerImpl::setIOSurfaceProperties):
1177         * platform/graphics/chromium/cc/CCTextureLayerImpl.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginLayerImpl.h.
1178         (WebCore):
1179         (CCTextureLayerImpl):
1180         (WebCore::CCTextureLayerImpl::create):
1181         (WebCore::CCTextureLayerImpl::textureId):
1182         (WebCore::CCTextureLayerImpl::setTextureId):
1183         (WebCore::CCTextureLayerImpl::setHasAlpha):
1184         (WebCore::CCTextureLayerImpl::setPremultipliedAlpha):
1185         (WebCore::CCTextureLayerImpl::setFlipped):
1186         (WebCore::CCTextureLayerImpl::setUVRect):
1187         (WebCore::CCTextureLayerImpl::layerTypeAsString):
1188
1189 2012-03-16  Martin Robinson  <mrobinson@igalia.com>
1190
1191         [Cairo] Text extent of shadowed text is calculated incorrectly
1192         https://bugs.webkit.org/show_bug.cgi?id=65035
1193
1194         Reviewed by Martin Robinson.
1195
1196         No new tests. This is already covered by fast/canvas/fillText-shadow.html.
1197
1198         Correct determine the size of rendered text using x and y bearing from the font
1199         extents.
1200
1201         * platform/graphics/cairo/FontCairo.cpp:
1202         (WebCore::drawGlyphsShadow): Use the x and y bearing to calculate text extents.
1203         This gives a more accurate sizing and avoids clipping the edges of the shadow.
1204
1205 2012-03-16  Kentaro Hara  <haraken@chromium.org>
1206
1207         [Chromium][Performance] Optimize innerText and outerText in Chromium/Mac
1208         https://bugs.webkit.org/show_bug.cgi?id=81192
1209
1210         Reviewed by Dimitri Glazkov.
1211
1212         This patch makes innerText and outerText 4 times faster on Chromium/Mac.
1213         A similar performance improvement will be also observed in APIs that are using
1214         TextIterator::plainText() (e.g. Editting, SpellChecker, Clipboard, Pasteboard etc).
1215
1216         Performance test: https://bugs.webkit.org/attachment.cgi?id=131989
1217
1218         - AppleWebKit/JavaScriptCore/Mac:
1219         div.innerText : 2978.4ms
1220         div.outerText : 2944.4ms
1221
1222         - Chromium/V8/Mac without the patch:
1223         div.innerText : 10050.8ms
1224         div.outerText : 10072.2ms
1225
1226         - Chromium/V8/Mac with the patch:
1227         div.innerText: 2536.4ms
1228         div.outerText: 2714ms
1229
1230         This patch just changes the initial buffer size of a plain text buffer on Chromium/Mac.
1231         As shown below, in my local Chromium/Mac environment the performance changes
1232         dramatically between 1<<15 and 1<<16, and in my local Chromium/Linux environment
1233         the performance changes between 1<<17 and 1<<18. I am not yet sure what determines
1234         these figures, but it seems there exists a performance gap at some point
1235         depending on a malloc mechanism.
1236
1237         - div.innerText results on Chromium/V8/Mac:
1238         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 14 ==> 2465.6 ms
1239         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 15 ==> 2447.2 ms   <--- after this patch
1240         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 16 ==> 10250.8 ms  <--- before this patch
1241         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 17 ==> 10278.2 ms
1242
1243         - div.innerText results on Chromium/V8/Linux:
1244         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 14 ==> 1569.8 ms
1245         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 15 ==> 1531.8 ms
1246         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 16 ==> 1543.2 ms  <--- before/after this patch
1247         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 17 ==> 1541.6 ms
1248         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 18 ==> 12540.8 ms
1249         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 19 ==> 12340.8 ms
1250
1251         * editing/TextIterator.cpp:
1252         (WebCore::plainTextToMallocAllocatedBuffer):
1253
1254 2012-03-16  Dmitry Titov  <dimich@chromium.org>
1255
1256         HTMLFrameElementBase::m_remainsAliveOnRemovalFromTree can be cleared without unloading the frame.
1257         https://bugs.webkit.org/show_bug.cgi?id=80766
1258
1259         Reviewed by Adam Barth.
1260
1261         * html/HTMLFrameElementBase.cpp:
1262         (WebCore::HTMLFrameElementBase::insertedIntoDocument):
1263         (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree):
1264         if adoptNode() is called on a detached iframe or with a detached document,
1265         unload the iframe to avoid live iframe to hang around w/o being attached to
1266         a document.
1267
1268 2012-03-16  Joe Thomas  <joethomas@motorola.com>
1269
1270         Xcode project file is not sorted.
1271         https://bugs.webkit.org/show_bug.cgi?id=81439
1272
1273         Sorted the project file entries using sort-Xcode-project-file script.
1274
1275         Reviewed by Eric Seidel.
1276
1277         * WebCore.xcodeproj/project.pbxproj:
1278
1279 2012-03-16  Yael Aharon  <yael.aharon@nokia.com>
1280
1281         Unreviewed build fix after r111075.
1282         Correct the path of WebKitBlobBuilder.idl.
1283
1284         * DerivedSources.pri:
1285
1286 2012-03-16  David Levin  <levin@chromium.org>
1287
1288         Fix for test runs for non-chromium platforms.
1289
1290         * loader/cache/MemoryCache.cpp:
1291         (WebCore::memoryCache):
1292         (WebCore::MemoryCache::add):
1293         (WebCore::MemoryCache::revalidationFailed):
1294         (WebCore::MemoryCache::resourceForURL):
1295         (WebCore::MemoryCache::evict):
1296
1297 2012-03-16  Tony Chang  <tony@chromium.org>
1298
1299         Unreviewed, rolling out r111094.
1300         http://trac.webkit.org/changeset/111094
1301         https://bugs.webkit.org/show_bug.cgi?id=80882
1302
1303         broke test on chromium-win
1304
1305         * rendering/RenderFlexibleBox.cpp:
1306         (WebCore::RenderFlexibleBox::alignChildren):
1307         * rendering/RenderFlexibleBox.h:
1308         (RenderFlexibleBox):
1309
1310 2012-03-16  Anders Carlsson  <andersca@apple.com>
1311
1312         REGRESSION (r110737): Height element changes on scrolled page causes failure
1313         https://bugs.webkit.org/show_bug.cgi?id=81381
1314         <rdar://problem/11066006>
1315
1316         Reviewed by Sam Weinig.
1317
1318         Limit the fix made in r110737 to check if there's a rubber-band gesture in progress and only ignore the range if that is the case.
1319
1320         * platform/ScrollAnimator.h:
1321         (WebCore::ScrollAnimator::isRubberBandInProgress):
1322         (ScrollAnimator):
1323         * platform/ScrollView.cpp:
1324         (WebCore::ScrollView::updateScrollbars):
1325         * platform/mac/ScrollAnimatorMac.h:
1326         (ScrollAnimatorMac):
1327         * platform/mac/ScrollAnimatorMac.mm:
1328         (WebCore::ScrollAnimatorMac::isRubberBandInProgress):
1329         (WebCore):
1330         * platform/mac/ScrollElasticityController.h:
1331         (ScrollElasticityController):
1332         * platform/mac/ScrollElasticityController.mm:
1333         (WebCore::ScrollElasticityController::isRubberBandInProgress):
1334         (WebCore):
1335
1336 2012-03-16  Robert Kroeger  <rjkroege@chromium.org>
1337
1338         GestureTapDown needs to pin in-progress flings
1339         https://bugs.webkit.org/show_bug.cgi?id=80875
1340
1341         Reviewed by Adam Barth.
1342
1343         * page/EventHandler.cpp:
1344         (WebCore):
1345         (WebCore::EventHandler::handleGestureTapDown):
1346         * page/EventHandler.h:
1347         (EventHandler):
1348
1349 2012-03-16  Chris Rogers  <crogers@google.com>
1350
1351         Account for sample-rate in convolution normalization
1352         https://bugs.webkit.org/show_bug.cgi?id=81432
1353
1354         Reviewed by James Robinson.
1355
1356         * platform/audio/Reverb.cpp:
1357         (WebCore):
1358         (WebCore::calculateNormalizationScale):
1359         * webaudio/ConvolverNode.cpp:
1360         (WebCore::ConvolverNode::setBuffer):
1361
1362 2012-03-16  Tom Sepez  <tsepez@chromium.org>
1363
1364         Make V8 window.open.call(), window.open.showModalDialog() results more closely match JSC. 
1365         https://bugs.webkit.org/show_bug.cgi?id=81260
1366         https://bugs.webkit.org/show_bug.cgi?id=39897
1367
1368         Reviewed by Adam Barth.
1369
1370         Tested via http/tests/security/cross-frame-access-call.htm
1371
1372         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1373         (WebCore::V8DOMWindow::showModalDialogCallback):
1374         (WebCore::V8DOMWindow::openCallback):
1375
1376 2012-03-16  Matt Lilek  <mrl@apple.com>
1377
1378         Use modern NSNumberFormatter API in LocalizedNumberMac.mm
1379         https://bugs.webkit.org/show_bug.cgi?id=81429
1380
1381         Reviewed by Dan Bernstein.
1382
1383         No new tests as no change in behavior.
1384
1385         * platform/text/mac/LocalizedNumberMac.mm:
1386         (WebCore::createFormatterForCurrentLocaleForDisplay):
1387
1388 2012-03-16  Tony Chang  <tony@chromium.org>
1389
1390         flex-item-align: stretch should only grow, never shrink
1391         https://bugs.webkit.org/show_bug.cgi?id=80882
1392
1393         Reviewed by Ojan Vafai.
1394
1395         New test cases in css3/flexbox/flex-align-stretch.html.
1396
1397         * rendering/RenderFlexibleBox.cpp:
1398         (WebCore::RenderFlexibleBox::alignChildren): Move stretch code into a separate function.
1399         (WebCore::RenderFlexibleBox::alignChildStretch): Add an early return if our height is shrinking.
1400         (WebCore):
1401         * rendering/RenderFlexibleBox.h:
1402         (RenderFlexibleBox):
1403
1404 2012-03-16  Raphael Kubo da Costa  <kubo@profusion.mobi>
1405
1406         [EFL] Unreviewed, fix build after r111041.
1407
1408         * platform/efl/RenderThemeEfl.cpp:
1409         (WebCore::RenderThemeEfl::emitMediaButtonSignal): Rename
1410         MediaFullscreenButton to MediaEnterFullscreenButton.
1411         (WebCore::RenderThemeEfl::paintMediaFullscreenButton): Ditto.
1412
1413 2012-03-16  Dmitry Lomov  <dslomov@google.com>
1414
1415         REGRESSION: DOMURL::revokeObjectURL accesses memoryCache on worker thread.
1416         https://bugs.webkit.org/show_bug.cgi?id=80889
1417         On worker threads, post a task to main thread to evict from cache.
1418         ASSERT that MemoryCache is only accessed from main thread.
1419
1420         Reviewed by David Levin.
1421
1422         * html/DOMURL.cpp:
1423         (WebCore::DOMURL::revokeObjectURL):
1424         * loader/cache/MemoryCache.cpp:
1425         (WebCore::memoryCache):
1426         (WebCore::MemoryCache::add):
1427         (WebCore::MemoryCache::revalidationFailed):
1428         (WebCore::MemoryCache::resourceForURL):
1429         (WebCore::MemoryCache::evict):
1430         (WebCore):
1431         (WebCore::MemoryCache::removeUrlFromCache):
1432         (WebCore::MemoryCache::removeUrlFromCacheImpl):
1433         * loader/cache/MemoryCache.h:
1434         (WebCore):
1435         (MemoryCache):
1436
1437 2012-03-16  Jacky Jiang  <zhajiang@rim.com>
1438
1439         [BlackBerry] Upstream ScriptControllerBlackBerry.cpp
1440         https://bugs.webkit.org/show_bug.cgi?id=81397
1441
1442         Reviewed by Rob Buis.
1443
1444         Initial upstream, no new tests.
1445
1446         * bindings/js/ScriptControllerBlackBerry.cpp: Added.
1447
1448 2012-03-16  Adam Barth  <abarth@webkit.org>
1449
1450         remove-body-during-body-replacement2.html is triggering crashes on all platforms
1451         https://bugs.webkit.org/show_bug.cgi?id=81374
1452
1453         Reviewed by Eric Seidel.
1454
1455         When overriding disconnectFrame, we need to call the base class version
1456         of the method so that it can clear the m_frame pointer.
1457
1458         Tests: This patch fixes a large number of crashes in tests.
1459
1460         * notifications/DOMWindowNotifications.cpp:
1461         (WebCore::DOMWindowNotifications::disconnectFrame):
1462
1463 2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
1464
1465         [BlackBerry] Upstream the BlackBerry change to platform/Widget.h
1466         https://bugs.webkit.org/show_bug.cgi?id=81304
1467
1468         Reviewed by Rob Buis.
1469
1470         typedefs of PlatformWidget and PlatformPageClient for the BlackBerry.
1471
1472         * platform/Widget.h:
1473
1474 2012-03-16  David Barton  <dbarton@mathscribe.com>
1475
1476         MathML internals - factor code for almost anonymous blocks
1477         https://bugs.webkit.org/show_bug.cgi?id=81387
1478
1479         Reviewed by Eric Seidel.
1480
1481         MathML uses "almost anonymous" blocks to layout parts of mathematical expressions. These
1482         will be converted to true anonymous blocks in a later patch. Here we factor out the code
1483         to create them into RenderMathMLBlock::createAlmostAnonymousBlock().
1484
1485         No new tests. Some tree dump output is modified for existing tests. <munder>, <mover>,
1486         and <munderover> renderers already used true anonymous blocks, so we change them to call
1487         RenderBlock::createAnonymousBlock(). In the other direction, <mroot>'s almost anonymous
1488         blocks are now made RenderMathMLBlock not just RenderBlock, in agreement with other
1489         current MathML renderers.
1490
1491         * rendering/mathml/RenderMathMLBlock.cpp:
1492         (WebCore::RenderMathMLBlock::createAlmostAnonymousBlock):
1493         * rendering/mathml/RenderMathMLBlock.h:
1494         (RenderMathMLBlock):
1495         (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
1496         * rendering/mathml/RenderMathMLFenced.cpp:
1497         (WebCore::RenderMathMLFenced::addChild):
1498         * rendering/mathml/RenderMathMLFraction.cpp:
1499         (WebCore::RenderMathMLFraction::updateFromElement):
1500             - improve some variable names
1501         (WebCore::RenderMathMLFraction::addChild):
1502         (WebCore::RenderMathMLFraction::layout):
1503         (WebCore::RenderMathMLFraction::paint):
1504         (WebCore::RenderMathMLFraction::baselinePosition):
1505         * rendering/mathml/RenderMathMLRoot.cpp:
1506         (WebCore::RenderMathMLRoot::addChild):
1507         * rendering/mathml/RenderMathMLSubSup.cpp:
1508         (WebCore::RenderMathMLSubSup::addChild):
1509         * rendering/mathml/RenderMathMLSubSup.h:
1510         * rendering/mathml/RenderMathMLUnderOver.cpp:
1511         (WebCore::RenderMathMLUnderOver::addChild):
1512
1513 2012-03-16  Levi Weintraub  <leviw@chromium.org>
1514
1515         Prepare RenderObject for FractionalLayoutUnits
1516         https://bugs.webkit.org/show_bug.cgi?id=81178
1517
1518         Reviewed by Eric Seidel.
1519
1520         This readies RenderObject to deal with FractionalLayoutUnits as a backend for the
1521         LayoutUnit abstraction.
1522
1523         No new tests. No change in behavior.
1524
1525         * rendering/RenderObject.cpp:
1526         (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect): Convenience method to be
1527         used instead of absouluteClippedOverflowRect in platform code. Platform updates will come
1528         in a separate patch.
1529         (WebCore):
1530         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Borders remain ints when we move to
1531         sub-pixel layout. This adjusts border variables for this, and adds compiler fixes when
1532         using std::max and std::min with mixed int/LayoutUnits.
1533         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Outlines, like borders, remain
1534         ints in the new sub-pixel world. Using variables that reflect that.
1535         * rendering/RenderObject.h:
1536         (RenderObject):
1537         (WebCore::adjustForAbsoluteZoom): Handles FractionalLayoutUnit values. Flooring is what
1538         JavaScript requires since this is used with values that must return ints.
1539         (WebCore): Adding FractionalLayoutUnit.h to support the new adjusteForAbsoluteZoom method.
1540
1541 2012-03-16  Brady Eidson  <beidson@apple.com>
1542
1543         <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412
1544         REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted
1545
1546         Reviewed by Geoff Garen.
1547
1548         WebKit API test WebViewCanPasteURL.mm added.
1549
1550         * WebCore.exp.in:
1551
1552         Add a strategy method specifically for getting the URL:
1553         * platform/PasteboardStrategy.h:
1554
1555         Use that strategy method when creating the fragment for a URL:
1556         * platform/mac/PasteboardMac.mm:
1557         (WebCore::Pasteboard::documentFragment):
1558
1559         Add a platform pasteboard accessor to "do the right thing" for getting a URL:
1560         * platform/PlatformPasteboard.h:
1561         * platform/mac/PlatformPasteboardMac.mm:
1562         (WebCore::PlatformPasteboard::url):
1563
1564 2012-03-16  Joseph Pecoraro  <pecoraro@apple.com>
1565
1566         <http://webkit.org/b/81380> clang warning unused variable when ENABLE(TEXT_CARET) is disabled
1567
1568         Reviewed by Dan Bernstein.
1569
1570         * editing/FrameSelection.cpp:
1571         (WebCore::FrameSelection::recomputeCaretRect):
1572         Put the variable inside of a guard because it is only
1573         used inside of a guard.
1574
1575 2012-03-16  Andreas Kling  <kling@webkit.org>
1576
1577         Shrink BorderValue.
1578         <http://webkit.org/b/69521>
1579
1580         Reviewed by Anders Carlsson.
1581
1582         Split BorderValue's Color member into RGBA32/bool buddies and stash the bool in
1583         the BorderValue bitfield.
1584
1585         This shrinks BorderValue by 4 bytes, in turn shrinking BorderData by 16 bytes.
1586         Altogether this yields ~800 kB in reduced memory consumption when viewing the full
1587         HTML5 spec at <http://whatwg.org/c>
1588
1589         * rendering/style/BorderValue.h:
1590         (WebCore::BorderValue::BorderValue):
1591         (WebCore::BorderValue::isTransparent):
1592         (WebCore::BorderValue::operator==):
1593         (BorderValue):
1594         (WebCore::BorderValue::setColor):
1595         (WebCore::BorderValue::color):
1596         * rendering/style/OutlineValue.h:
1597         (WebCore::OutlineValue::operator==):
1598         * rendering/style/RenderStyle.cpp:
1599         (SameSizeAsBorderValue):
1600         * rendering/style/RenderStyle.h:
1601
1602 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
1603
1604         Moves remaining filesystem files to Modules/filesystem/
1605         https://bugs.webkit.org/show_bug.cgi?id=81353
1606
1607         Reviewed by Adam Barth.
1608
1609         No new tests, all existing tests pass.
1610
1611         * CMakeLists.txt:
1612         * DerivedSources.make:
1613         * DerivedSources.pri:
1614         * GNUmakefile.list.am:
1615         * Modules/filesystem/AsyncFileWriter.h: Copied from Source/WebCore/fileapi/AsyncFileWriter.h.
1616         * Modules/filesystem/AsyncFileWriterClient.h: Copied from Source/WebCore/fileapi/AsyncFileWriterClient.h.
1617         * Modules/filesystem/DOMFilePath.cpp: Copied from Source/WebCore/fileapi/DOMFilePath.cpp.
1618         * Modules/filesystem/DOMFilePath.h: Copied from Source/WebCore/fileapi/DOMFilePath.h.
1619         * Modules/filesystem/DOMFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMFileSystem.cpp.
1620         * Modules/filesystem/DOMFileSystem.h: Copied from Source/WebCore/fileapi/DOMFileSystem.h.
1621         * Modules/filesystem/DOMFileSystem.idl: Copied from Source/WebCore/fileapi/DOMFileSystem.idl.
1622         * Modules/filesystem/DOMFileSystemBase.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemBase.cpp.
1623         * Modules/filesystem/DOMFileSystemBase.h: Copied from Source/WebCore/fileapi/DOMFileSystemBase.h.
1624         * Modules/filesystem/DOMFileSystemSync.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemSync.cpp.
1625         * Modules/filesystem/DOMFileSystemSync.h: Copied from Source/WebCore/fileapi/DOMFileSystemSync.h.
1626         * Modules/filesystem/DOMFileSystemSync.idl: Copied from Source/WebCore/fileapi/DOMFileSystemSync.idl.
1627         * Modules/filesystem/Entry.cpp: Copied from Source/WebCore/fileapi/Entry.cpp.
1628         * Modules/filesystem/Entry.h: Copied from Source/WebCore/fileapi/Entry.h.
1629         * Modules/filesystem/Entry.idl: Copied from Source/WebCore/fileapi/Entry.idl.
1630         * Modules/filesystem/EntryArray.cpp: Copied from Source/WebCore/fileapi/EntryArray.cpp.
1631         * Modules/filesystem/EntryArray.h: Copied from Source/WebCore/fileapi/EntryArray.h.
1632         * Modules/filesystem/EntryArray.idl: Copied from Source/WebCore/fileapi/EntryArray.idl.
1633         * Modules/filesystem/EntryArraySync.cpp: Copied from Source/WebCore/fileapi/EntryArraySync.cpp.
1634         * Modules/filesystem/EntryArraySync.h: Copied from Source/WebCore/fileapi/EntryArraySync.h.
1635         * Modules/filesystem/EntryArraySync.idl: Copied from Source/WebCore/fileapi/EntryArraySync.idl.
1636         * Modules/filesystem/EntryBase.cpp: Copied from Source/WebCore/fileapi/EntryBase.cpp.
1637         * Modules/filesystem/EntryBase.h: Copied from Source/WebCore/fileapi/EntryBase.h.
1638         * Modules/filesystem/EntryCallback.h: Copied from Source/WebCore/fileapi/EntryCallback.h.
1639         * Modules/filesystem/EntryCallback.idl: Copied from Source/WebCore/fileapi/EntryCallback.idl.
1640         * Modules/filesystem/EntrySync.cpp: Copied from Source/WebCore/fileapi/EntrySync.cpp.
1641         * Modules/filesystem/EntrySync.h: Copied from Source/WebCore/fileapi/EntrySync.h.
1642         * Modules/filesystem/EntrySync.idl: Copied from Source/WebCore/fileapi/EntrySync.idl.
1643         * Modules/filesystem/ErrorCallback.h: Copied from Source/WebCore/fileapi/ErrorCallback.h.
1644         * Modules/filesystem/ErrorCallback.idl: Copied from Source/WebCore/fileapi/ErrorCallback.idl.
1645         * Modules/filesystem/FileCallback.h: Copied from Source/WebCore/fileapi/FileCallback.h.
1646         * Modules/filesystem/FileCallback.idl: Copied from Source/WebCore/fileapi/FileCallback.idl.
1647         * Modules/filesystem/FileEntry.cpp: Copied from Source/WebCore/fileapi/FileEntry.cpp.
1648         * Modules/filesystem/FileEntry.h: Copied from Source/WebCore/fileapi/FileEntry.h.
1649         * Modules/filesystem/FileEntry.idl: Copied from Source/WebCore/fileapi/FileEntry.idl.
1650         * Modules/filesystem/FileEntrySync.cpp: Copied from Source/WebCore/fileapi/FileEntrySync.cpp.
1651         * Modules/filesystem/FileEntrySync.h: Copied from Source/WebCore/fileapi/FileEntrySync.h.
1652         * Modules/filesystem/FileEntrySync.idl: Copied from Source/WebCore/fileapi/FileEntrySync.idl.
1653         * Modules/filesystem/FileSystemCallback.h: Copied from Source/WebCore/fileapi/FileSystemCallback.h.
1654         * Modules/filesystem/FileSystemCallback.idl: Copied from Source/WebCore/fileapi/FileSystemCallback.idl.
1655         * Modules/filesystem/FileSystemCallbacks.cpp: Copied from Source/WebCore/fileapi/FileSystemCallbacks.cpp.
1656         * Modules/filesystem/FileSystemCallbacks.h: Copied from Source/WebCore/fileapi/FileSystemCallbacks.h.
1657         * Modules/filesystem/FileWriter.cpp: Copied from Source/WebCore/fileapi/FileWriter.cpp.
1658         * Modules/filesystem/FileWriter.h: Copied from Source/WebCore/fileapi/FileWriter.h.
1659         * Modules/filesystem/FileWriter.idl: Copied from Source/WebCore/fileapi/FileWriter.idl.
1660         * Modules/filesystem/FileWriterBase.cpp: Copied from Source/WebCore/fileapi/FileWriterBase.cpp.
1661         * Modules/filesystem/FileWriterBase.h: Copied from Source/WebCore/fileapi/FileWriterBase.h.
1662         * Modules/filesystem/FileWriterBaseCallback.h: Copied from Source/WebCore/fileapi/FileWriterBaseCallback.h.
1663         * Modules/filesystem/FileWriterCallback.h: Copied from Source/WebCore/fileapi/FileWriterCallback.h.
1664         * Modules/filesystem/FileWriterCallback.idl: Copied from Source/WebCore/fileapi/FileWriterCallback.idl.
1665         * Modules/filesystem/FileWriterSync.cpp: Copied from Source/WebCore/fileapi/FileWriterSync.cpp.
1666         * Modules/filesystem/FileWriterSync.h: Copied from Source/WebCore/fileapi/FileWriterSync.h.
1667         * Modules/filesystem/FileWriterSync.idl: Copied from Source/WebCore/fileapi/FileWriterSync.idl.
1668         * Modules/filesystem/LocalFileSystem.cpp: Copied from Source/WebCore/fileapi/LocalFileSystem.cpp.
1669         * Modules/filesystem/LocalFileSystem.h: Copied from Source/WebCore/fileapi/LocalFileSystem.h.
1670         * Modules/filesystem/Metadata.h: Copied from Source/WebCore/fileapi/Metadata.h.
1671         * Modules/filesystem/Metadata.idl: Copied from Source/WebCore/fileapi/Metadata.idl.
1672         * Modules/filesystem/MetadataCallback.h: Copied from Source/WebCore/fileapi/MetadataCallback.h.
1673         * Modules/filesystem/MetadataCallback.idl: Copied from Source/WebCore/fileapi/MetadataCallback.idl.
1674         * Modules/filesystem/SyncCallbackHelper.h: Copied from Source/WebCore/fileapi/SyncCallbackHelper.h.
1675         * Modules/filesystem/WebKitFlags.h: Copied from Source/WebCore/fileapi/WebKitFlags.h.
1676         * Modules/filesystem/WorkerContextFileSystem.cpp: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.cpp.
1677         * Modules/filesystem/WorkerContextFileSystem.h: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.h.
1678         * Modules/filesystem/WorkerContextFileSystem.idl: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.idl.
1679         * Target.pri:
1680         * WebCore.gyp/WebCore.gyp:
1681         * WebCore.gypi:
1682         * WebCore.vcproj/WebCore.vcproj:
1683         * WebCore.xcodeproj/project.pbxproj:
1684         * fileapi/AsyncFileWriter.h: Removed.
1685         * fileapi/AsyncFileWriterClient.h: Removed.
1686         * fileapi/DOMFilePath.cpp: Removed.
1687         * fileapi/DOMFilePath.h: Removed.
1688         * fileapi/DOMFileSystem.cpp: Removed.
1689         * fileapi/DOMFileSystem.h: Removed.
1690         * fileapi/DOMFileSystem.idl: Removed.
1691         * fileapi/DOMFileSystemBase.cpp: Removed.
1692         * fileapi/DOMFileSystemBase.h: Removed.
1693         * fileapi/DOMFileSystemSync.cpp: Removed.
1694         * fileapi/DOMFileSystemSync.h: Removed.
1695         * fileapi/DOMFileSystemSync.idl: Removed.
1696         * fileapi/Entry.cpp: Removed.
1697         * fileapi/Entry.h: Removed.
1698         * fileapi/Entry.idl: Removed.
1699         * fileapi/EntryArray.cpp: Removed.
1700         * fileapi/EntryArray.h: Removed.
1701         * fileapi/EntryArray.idl: Removed.
1702         * fileapi/EntryArraySync.cpp: Removed.
1703         * fileapi/EntryArraySync.h: Removed.
1704         * fileapi/EntryArraySync.idl: Removed.
1705         * fileapi/EntryBase.cpp: Removed.
1706         * fileapi/EntryBase.h: Removed.
1707         * fileapi/EntryCallback.h: Removed.
1708         * fileapi/EntryCallback.idl: Removed.
1709         * fileapi/EntrySync.cpp: Removed.
1710         * fileapi/EntrySync.h: Removed.
1711         * fileapi/EntrySync.idl: Removed.
1712         * fileapi/ErrorCallback.h: Removed.
1713         * fileapi/ErrorCallback.idl: Removed.
1714         * fileapi/FileCallback.h: Removed.
1715         * fileapi/FileCallback.idl: Removed.
1716         * fileapi/FileEntry.cpp: Removed.
1717         * fileapi/FileEntry.h: Removed.
1718         * fileapi/FileEntry.idl: Removed.
1719         * fileapi/FileEntrySync.cpp: Removed.
1720         * fileapi/FileEntrySync.h: Removed.
1721         * fileapi/FileEntrySync.idl: Removed.
1722         * fileapi/FileSystemCallback.h: Removed.
1723         * fileapi/FileSystemCallback.idl: Removed.
1724         * fileapi/FileSystemCallbacks.cpp: Removed.
1725         * fileapi/FileSystemCallbacks.h: Removed.
1726         * fileapi/FileWriter.cpp: Removed.
1727         * fileapi/FileWriter.h: Removed.
1728         * fileapi/FileWriter.idl: Removed.
1729         * fileapi/FileWriterBase.cpp: Removed.
1730         * fileapi/FileWriterBase.h: Removed.
1731         * fileapi/FileWriterBaseCallback.h: Removed.
1732         * fileapi/FileWriterCallback.h: Removed.
1733         * fileapi/FileWriterCallback.idl: Removed.
1734         * fileapi/FileWriterSync.cpp: Removed.
1735         * fileapi/FileWriterSync.h: Removed.
1736         * fileapi/FileWriterSync.idl: Removed.
1737         * fileapi/LocalFileSystem.cpp: Removed.
1738         * fileapi/LocalFileSystem.h: Removed.
1739         * fileapi/Metadata.h: Removed.
1740         * fileapi/Metadata.idl: Removed.
1741         * fileapi/MetadataCallback.h: Removed.
1742         * fileapi/MetadataCallback.idl: Removed.
1743         * fileapi/SyncCallbackHelper.h: Removed.
1744         * fileapi/WebKitFlags.h: Removed.
1745         * fileapi/WorkerContextFileSystem.cpp: Removed.
1746         * fileapi/WorkerContextFileSystem.h: Removed.
1747         * fileapi/WorkerContextFileSystem.idl: Removed.
1748
1749 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
1750
1751         Collapse ENABLE(BLOB)|ENABLE(FILE_SYSTEM) to just ENABLE(BLOB) in OperationNotAllowedException.idl
1752         https://bugs.webkit.org/show_bug.cgi?id=81391
1753
1754         Reviewed by Adam Barth.
1755
1756         No new tests, all existing tests pass.
1757
1758         * fileapi/OperationNotAllowedException.idl:
1759
1760 2012-03-16  Emil A Eklund  <eae@chromium.org>
1761
1762         Fix rounding and usage of LayoutUnits in RenderBoxModelObject
1763         https://bugs.webkit.org/show_bug.cgi?id=81057
1764
1765         Reviewed by Julien Chaffraix.
1766
1767         No new tests.
1768
1769         (WebCore):
1770         * rendering/RenderBoxModelObject.cpp:
1771         (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
1772         (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
1773         Fix implementation of pixelSnappedOffsetWidth/Height. The location
1774         parameter will be ignored until we enable subpixel support.
1775
1776         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1777         Use ints for border widths.
1778         
1779         (WebCore::resolveWidthForRatio):
1780         (WebCore::resolveHeightForRatio):
1781         (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio):
1782         (WebCore::resolveAgainstIntrinsicRatio):
1783         Change resolve*Ratio methods to operate on IntSizes as none of the
1784         callers need subpixel precision.
1785
1786         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1787         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1788         Pixel snap paintRect when computing image geometry.
1789
1790 2012-03-16  Terry Anderson  <tdanderson@chromium.org>
1791
1792         100% height elements to not respond to vertical browser rescaling
1793         https://bugs.webkit.org/show_bug.cgi?id=43022
1794
1795         Reviewed by Julien Chaffraix.
1796
1797         Test: fast/replaced/vertical-resize-100percent-element.html
1798
1799         * rendering/RenderBox.cpp:
1800         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1801             For the case where a replaced element has a percentage height,
1802             we update the entries in RenderBlock::gPercentHeightDescendantsMap
1803             corresponding to all ancestors of the replaced element.
1804
1805 2012-03-15  Daniel Cheng  <dcheng@chromium.org>
1806
1807         [chromium] Refactor ClipboardChromium and DataTransferItemList/DataTransferItem to support HTML spec
1808         https://bugs.webkit.org/show_bug.cgi?id=76598
1809
1810         Reviewed by Tony Chang.
1811
1812         We no longer store drag/clipboard data in named fields. We used to maintain the data store
1813         list separately, which resulted in a lot of complicated code to try to make sure that
1814         ChromiumDataObject and this list stayed in sync. We now just store what is essentially a
1815         list MIME type/data pairs directly in ChromiumDataObject. This has the benefit of letting us
1816         easily add write support during dragstart/copy operations using DataTransferItemList.
1817
1818         Tests: fast/events/clipboard-dataTransferItemList.html
1819                fast/events/drag-dataTransferItemList.html
1820
1821         * platform/chromium/ChromiumDataObject.cpp:
1822         (WebCore::findItem):
1823         (WebCore::ChromiumDataObject::createFromPasteboard):
1824         (WebCore::ChromiumDataObject::create):
1825         (WebCore::ChromiumDataObject::copy):
1826         (WebCore::ChromiumDataObject::items):
1827         (WebCore::ChromiumDataObject::clearData):
1828         (WebCore::ChromiumDataObject::clearAll):
1829         (WebCore::ChromiumDataObject::clearAllExceptFiles):
1830         (WebCore::ChromiumDataObject::types):
1831         (WebCore::ChromiumDataObject::getData):
1832         (WebCore::ChromiumDataObject::setData):
1833         (WebCore::ChromiumDataObject::urlAndTitle):
1834         (WebCore::ChromiumDataObject::setURLAndTitle):
1835         (WebCore::ChromiumDataObject::htmlAndBaseURL):
1836         (WebCore::ChromiumDataObject::setHTMLAndBaseURL):
1837         (WebCore::ChromiumDataObject::containsFilenames):
1838         (WebCore):
1839         (WebCore::ChromiumDataObject::filenames):
1840         (WebCore::ChromiumDataObject::addFilename):
1841         (WebCore::ChromiumDataObject::addSharedBuffer):
1842         (WebCore::ChromiumDataObject::ChromiumDataObject):
1843         * platform/chromium/ChromiumDataObject.h:
1844         (WebCore):
1845         (ChromiumDataObject):
1846         * platform/chromium/ClipboardChromium.cpp:
1847         (WebCore::normalizeType):
1848         (WebCore::ClipboardChromium::ClipboardChromium):
1849         (WebCore::ClipboardChromium::clearData):
1850         (WebCore::ClipboardChromium::clearAllData):
1851         (WebCore::ClipboardChromium::getData):
1852         (WebCore::ClipboardChromium::setData):
1853         (WebCore::ClipboardChromium::types):
1854         (WebCore::ClipboardChromium::files):
1855         (WebCore::writeImageToDataObject):
1856         (WebCore::ClipboardChromium::declareAndWriteDragImage):
1857         (WebCore::ClipboardChromium::writeURL):
1858         (WebCore::ClipboardChromium::writeRange):
1859         (WebCore::ClipboardChromium::writePlainText):
1860         (WebCore::ClipboardChromium::hasData):
1861         (WebCore::ClipboardChromium::items):
1862         * platform/chromium/ClipboardChromium.h:
1863         (WebCore):
1864         (ClipboardChromium):
1865         (WebCore::ClipboardChromium::frame):
1866         * platform/chromium/ClipboardUtilitiesChromium.cpp:
1867         (WebCore::convertURIListToURL):
1868         (WebCore):
1869         * platform/chromium/ClipboardUtilitiesChromium.h:
1870         (WebCore):
1871         * platform/chromium/DataTransferItemChromium.cpp:
1872         (WebCore::DataTransferItemChromium::createFromString):
1873         (WebCore::DataTransferItemChromium::createFromFile):
1874         (WebCore::DataTransferItemChromium::createFromURL):
1875         (WebCore::DataTransferItemChromium::createFromHTML):
1876         (WebCore):
1877         (WebCore::DataTransferItemChromium::createFromSharedBuffer):
1878         (WebCore::DataTransferItemChromium::createFromPasteboard):
1879         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
1880         (WebCore::DataTransferItemChromium::getAsString):
1881         (WebCore::DataTransferItemChromium::getAsFile):
1882         (WebCore::DataTransferItemChromium::internalGetAsString):
1883         (WebCore::DataTransferItemChromium::isFilename):
1884         * platform/chromium/DataTransferItemChromium.h:
1885         (WebCore):
1886         (DataTransferItemChromium):
1887         (WebCore::DataTransferItemChromium::kind):
1888         (WebCore::DataTransferItemChromium::type):
1889         (WebCore::DataTransferItemChromium::sharedBuffer):
1890         (WebCore::DataTransferItemChromium::title):
1891         (WebCore::DataTransferItemChromium::baseURL):
1892         * platform/chromium/DataTransferItemListChromium.cpp:
1893         (WebCore::DataTransferItemListChromium::create):
1894         (WebCore::DataTransferItemListChromium::createFromPasteboard):
1895         (WebCore):
1896         (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
1897         (WebCore::DataTransferItemListChromium::length):
1898         (WebCore::DataTransferItemListChromium::item):
1899         (WebCore::DataTransferItemListChromium::deleteItem):
1900         (WebCore::DataTransferItemListChromium::clear):
1901         (WebCore::DataTransferItemListChromium::add):
1902         (WebCore::DataTransferItemListChromium::internalAddStringItem):
1903         (WebCore::DataTransferItemListChromium::internalAddFileItem):
1904         * platform/chromium/DataTransferItemListChromium.h:
1905         (WebCore):
1906         (DataTransferItemListChromium):
1907         * platform/chromium/DragDataChromium.cpp:
1908         (WebCore::DragData::asURL):
1909         (WebCore::DragData::asPlainText):
1910         (WebCore::DragData::asFragment):
1911
1912 2012-03-16  Matt Lilek  <mrl@apple.com>
1913
1914         Don't install libWebCoreTestSupport on OS X production builds
1915         https://bugs.webkit.org/show_bug.cgi?id=81087
1916
1917         Reviewed by Mark Rowe.
1918
1919         * Configurations/WebCoreTestSupport.xcconfig:
1920
1921 2012-03-16  Tony Chang  <tony@chromium.org>
1922
1923         incorrectly removing scrollbar height for auto height flexbox children
1924         https://bugs.webkit.org/show_bug.cgi?id=81388
1925
1926         Reviewed by Ojan Vafai.
1927
1928         In a column flexbox, when computing the preferred height of an auto
1929         height child, we were subtracting out the horizontal scrollbar height.
1930
1931         New test case in css3/flexbox/columns-auto-size.html.
1932
1933         * rendering/RenderFlexibleBox.cpp:
1934         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
1935
1936 2012-03-16  Adam Klein  <adamk@chromium.org>
1937
1938         Out-of-document radio buttons should be grouped when associated with a form
1939         https://bugs.webkit.org/show_bug.cgi?id=81268
1940
1941         Reviewed by Kent Tamura.
1942
1943         Per the HTML spec, and the behavior of Firefox and IE 8/9, radio buttons
1944         with a form owner should be grouped, even if that form is not in the document.
1945
1946         r104668 added many inDocument() tests to radio button grouping code.
1947         While those are necessary to avoid unattached <input type=radio>
1948         elements being grouped together, it also kept them from being grouped
1949         when associated with a form outside the document.
1950
1951         This patch changes the HTMLInputElement::checkedRadioButtons() method
1952         to return either a pointer to the proper CheckedRadioButtons instance
1953         (either the document's or a form's), but will return null if the
1954         element should not be associated with any radio button group.
1955
1956         The main fallout of this was that the callers of checkedRadioButtons()
1957         now have to check for null, resulting in the creation of a few helper
1958         methods in HTMLInputElement to wrap the null checks.
1959
1960         This refactoring has the pleasant side-effect of exposing a cleaner API between
1961         HTMLInputElement and RadioInputType, and making a clearer contract
1962         between HTMLInputElement and CheckedRadioButtons (e.g., all
1963         CheckedRadioButtons methods that take an element can now assume that
1964         it is a radio button, where previously some checked for that and
1965         others asserted it).
1966
1967         Test: fast/forms/radio/radio-group-in-detached-form.html
1968
1969         * dom/CheckedRadioButtons.cpp:
1970         (WebCore): Removed shouldMakeRadioGroup() helper function.
1971         (WebCore::CheckedRadioButtons::addButton): Replace call to shouldMakeRadioGroup
1972         with appropriate assert and name check.
1973         (WebCore::CheckedRadioButtons::updateCheckedState): ditto.
1974         (WebCore::CheckedRadioButtons::requiredAttributeChanged): ditto.
1975         (WebCore::CheckedRadioButtons::isRequiredGroup): Renamed from isInRequiredGroup,
1976         changed to take only a group name, not an element.
1977         (WebCore::CheckedRadioButtons::removeButton): Replace call to shouldMakeRadioGroup.
1978         with appropriate assert and name check.
1979         * dom/CheckedRadioButtons.h:
1980         (CheckedRadioButtons):
1981         * html/HTMLInputElement.cpp:
1982         (WebCore::HTMLInputElement::~HTMLInputElement): Added isRadioButton check
1983         now that it's asserted in CheckedRadioButtons.
1984         (WebCore::HTMLInputElement::updateType): Call helper method instead of
1985         calling directly into CheckedRadioButtons.
1986         (WebCore::HTMLInputElement::parseAttribute): ditto.
1987         (WebCore::HTMLInputElement::setChecked): ditto.
1988         (WebCore::HTMLInputElement::willChangeForm): ditto.
1989         (WebCore::HTMLInputElement::didChangeForm): ditto.
1990         (WebCore::HTMLInputElement::insertedIntoDocument): ditto.
1991         (WebCore::HTMLInputElement::removedFromDocument): ditto.
1992         (WebCore::HTMLInputElement::didMoveToNewDocument): Added isRadioButton check.
1993         (WebCore::HTMLInputElement::requiredAttributeChanged): Check for membership in a group
1994         before calling into CheckedRadioButtons.
1995         (WebCore::HTMLInputElement::isInRequiredRadioButtonGroup): Added helper method for use by RadioInputType.
1996         (WebCore):
1997         (WebCore::HTMLInputElement::checkedRadioButtonForGroup): ditto.
1998         (WebCore::HTMLInputElement::checkedRadioButtons): Changed to return a
1999         pointer, only return non-null if actually a member of a group.
2000         (WebCore::HTMLInputElement::addToRadioButtonGroup): Helper method for
2001         use in HTMLInputElement.
2002         (WebCore::HTMLInputElement::removeFromRadioButtonGroup): ditto.
2003         * html/HTMLInputElement.h:
2004         (HTMLInputElement): Added/removed methods, removed outdated comment about visibility.
2005         * html/RadioInputType.cpp:
2006         (WebCore::RadioInputType::valueMissing): Call new HTMLInputElement methods instead
2007         of interacting directly with CheckedRadioButtons.
2008         (WebCore::RadioInputType::isKeyboardFocusable): ditto.
2009         (WebCore::RadioInputType::willDispatchClick): ditto.
2010
2011 2012-03-16  David Hyatt  <hyatt@apple.com>
2012
2013         https://bugs.webkit.org/show_bug.cgi?id=81366
2014         
2015         Add RenderMultiColumnBlock subclass of RenderBlock. This new class will hold all of the multi-column
2016         logic (as well as painting/hit testing). That way the column code can be kept out of the base class
2017         and be more cleanly factored.
2018
2019         Patch Node::diff so that we detach and re-attach the renderer if column counts or widths change
2020         from auto to non-auto (and vice versa) to ensure the right renderer gets made.
2021         
2022         Patch RenderObject::createObject to make a RenderMultiColumnBlock if either the column count or
2023         column width is non-auto.
2024         
2025         Patch RenderBlock::calcColumnWidth to "turn off" the old implementation of columns if the pref to use
2026         the new column implementation is set. This single chokepoint should be sufficient for disabling the old
2027         columns in favor of the new.
2028
2029         Reviewed by Dan Bernstein.
2030
2031         * CMakeLists.txt:
2032         * GNUmakefile.list.am:
2033         * WebCore.gypi:
2034         * WebCore.vcproj/WebCore.vcproj:
2035         * WebCore.xcodeproj/project.pbxproj:
2036         * dom/Document.cpp:
2037         (WebCore::Document::regionBasedColumnsEnabled):
2038         (WebCore):
2039         (WebCore::Document::recalcStyle):
2040         * dom/Document.h:
2041         (Document):
2042         * dom/Element.cpp:
2043         (WebCore::Element::recalcStyle):
2044         * dom/Node.cpp:
2045         (WebCore::Node::diff):
2046         * dom/Node.h:
2047         * rendering/RenderBlock.cpp:
2048         (WebCore::RenderBlock::calcColumnWidth):
2049         (WebCore::RenderBlock::updateFirstLetterStyle):
2050         * rendering/RenderMultiColumnBlock.cpp: Added.
2051         (WebCore):
2052         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
2053         (WebCore::RenderMultiColumnBlock::renderName):
2054         * rendering/RenderMultiColumnBlock.h: Added.
2055         (WebCore):
2056         (RenderMultiColumnBlock):
2057         * rendering/RenderObject.cpp:
2058         (WebCore::RenderObject::createObject):
2059         * rendering/RenderObjectChildList.cpp:
2060         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2061
2062 2012-03-16  Stephen White  <senorblanco@chromium.org>
2063
2064         [chromium] Improve CSS3 filter blur performance.
2065         https://bugs.webkit.org/show_bug.cgi?id=81360
2066
2067         This change improves blur performance by 2-2.5X on blurred CSS
2068         3D transforms and accelerated canvas demos by skipping an unnecessary
2069         texture allocation and bitmap draw.
2070
2071         Reviewed by James Robinson.
2072
2073         Covered by existing layout tests in css3/filters.
2074
2075         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
2076         (WebCore::CCRenderSurfaceFilters::apply):
2077         Call SkCanvas::drawSprite() directly instead of using
2078         saveLayer()/restore().
2079
2080 2012-03-16  Joshua Bell  <jsbell@chromium.org>
2081
2082         [Chromium] IndexedDB: Assertion failure when storing File objects
2083         https://bugs.webkit.org/show_bug.cgi?id=76746
2084
2085         The blob data in Blob/File/FileList objects is serialized "by reference" (the
2086         internal URL) rather than "by value" (the actual data); this is sufficient for
2087         postMessage() but not for IndexedDB since the referenced data is not retained
2088         Expose a mechanism to enumerate the URLs so that SSVs can be rejected by IDB
2089         until blob data serialization can is implemented (outside the SSV mechanism, and
2090         potentially asynchronously).
2091
2092         Also, correct issue in V8DOMWrapper::instantiateV8Object where context is assumed
2093         to be a Worker context if it's not a Window, which is incorrect for the
2094         Chromium utility process; this is hit if Blobs are not blocked.
2095
2096         Reviewed by Tony Chang.
2097
2098         Test: storage/indexeddb/noblobs.html
2099
2100         * Modules/indexeddb/IDBCursor.cpp:
2101         (WebCore::IDBCursor::update): Reject SSVs that contain blob references.
2102         * Modules/indexeddb/IDBObjectStore.cpp:
2103         (WebCore::IDBObjectStore::add): Reject SSVs that contain blob references.
2104         (WebCore::IDBObjectStore::put): Reject SSVs that contain blob references.
2105         * bindings/js/SerializedScriptValue.cpp:
2106         (WebCore::CloneSerializer::serialize):
2107         (WebCore::CloneSerializer::CloneSerializer):
2108         (WebCore::CloneSerializer::dumpIfTerminal):
2109         (WebCore::CloneSerializer::write):
2110         (CloneSerializer):
2111         (WebCore::SerializedScriptValue::SerializedScriptValue):
2112         (WebCore::SerializedScriptValue::create):
2113         (WebCore::SerializedScriptValue::undefinedValue):
2114         (WebCore::SerializedScriptValue::booleanValue):
2115         * bindings/js/SerializedScriptValue.h: New API to enable the clients to be picky.
2116         * bindings/v8/SerializedScriptValue.cpp:
2117         (WebCore::SerializedScriptValue::SerializedScriptValue):
2118         * bindings/v8/SerializedScriptValue.h: New API to enable the clients to be picky.
2119         (WebCore::SerializedScriptValue::blobURLs):
2120         (SerializedScriptValue):
2121         * bindings/v8/V8DOMWrapper.cpp:
2122         (WebCore::V8DOMWrapper::instantiateV8Object):  Ensure context is a worker context before treating it as such.
2123
2124 2012-03-16  Erik Arvidsson  <arv@chromium.org>
2125
2126         [V8] Ensure that invalid syntax in inline event handlers does not cause a crash
2127         https://bugs.webkit.org/show_bug.cgi?id=81385
2128
2129         Reviewed by Nate Chapin.
2130
2131         The way that V8 does its inline event handler involves concatting strings and
2132         if the attribute value is crafted in a special way this could cause a crash.
2133
2134         Test: fast/dom/inline-event-attributes-crash.html
2135
2136         * bindings/v8/V8LazyEventListener.cpp:
2137         (WebCore::V8LazyEventListener::prepareListenerObject):
2138
2139 2012-03-14  Jer Noble  <jer.noble@apple.com>
2140
2141         Wrong icon to restore to windowed mode in full screen video panel
2142         https://bugs.webkit.org/show_bug.cgi?id=70437
2143
2144         Reviewed by Eric Carlson.
2145
2146         No new tests. Updated platform/mac/accessibility/media-element-expected.txt.
2147
2148         Renamed MediaFullscreenButton to MediaEnterFullscreenButton and added MediaExitFullscreenButton:
2149         * accessibility/AccessibilityMediaControls.cpp:
2150         (WebCore::AccessibilityMediaControl::controlTypeName):
2151         (WebCore::AccessibilityMediaControl::roleValue):
2152         * html/shadow/MediaControlElements.cpp:
2153         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
2154         * css/CSSPrimitiveValueMappings.h:
2155         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2156         * css/CSSValueKeywords.in:
2157         * platform/ThemeTypes.h:
2158
2159         Added setIsFullscreen which controls the display of the enter/exit fullscreen button:
2160         * html/shadow/MediaControlElements.cpp:
2161         (WebCore::MediaControlFullscreenButtonElement::setIsFullscreen): Added.
2162         * html/shadow/MediaControlElements.h:
2163         * html/shadow/MediaControlRootElement.cpp:
2164         (WebCore::MediaControlRootElement::enteredFullscreen):
2165         (WebCore::MediaControlRootElement::exitedFullscreen):
2166
2167         Paint the enter/exit fullscreen button accordingly:
2168         * rendering/RenderMediaControlsChromium.cpp:
2169         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
2170         * rendering/RenderTheme.cpp:
2171         (WebCore::RenderTheme::paint):
2172         * rendering/RenderThemeChromiumAndroid.cpp:
2173         (WebCore::RenderThemeChromiumAndroid::paintMediaFullscreenButton):
2174         * rendering/RenderThemeMac.mm:
2175         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
2176         * rendering/RenderMediaControls.cpp:
2177         (WebCore::RenderMediaControls::paintMediaControlsPart):
2178         * rendering/RenderThemeSafari.cpp:
2179         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
2180
2181         Update the localized strings for the exit and enter fullscreen buttons:
2182         * English.lproj/Localizable.strings:
2183         * platform/LocalizedStrings.cpp:
2184         (WebCore::localizedMediaControlElementString):
2185         * platform/gtk/LocalizedStringsGtk.cpp:
2186         (WebCore::localizedMediaControlElementString):
2187         (WebCore::localizedMediaControlElementHelpText):
2188         * platform/qt/LocalizedStringsQt.cpp:
2189         (WebCore::localizedMediaControlElementString):
2190         (WebCore::localizedMediaControlElementHelpText):
2191
2192 2012-03-16  Levi Weintraub  <leviw@chromium.org>
2193
2194         Update LayoutUnit usage in RenderListBox
2195         https://bugs.webkit.org/show_bug.cgi?id=81038
2196
2197         Reviewed by Julien Chaffraix.
2198
2199         Bringing RenderListBox in line with the rules listed in
2200         https://trac.webkit.org/wiki/LayoutUnit
2201
2202         No new tests. No change in behavior.
2203
2204         * rendering/RenderListBox.cpp:
2205         (WebCore::RenderListBox::paintScrollbar): Pixel snapping before handing off scrollbar
2206         painting to the platform.
2207         (WebCore::RenderListBox::paintItemForeground): Rounding the offset for text painting.
2208         (WebCore::RenderListBox::paintItemBackground): Pixel snapping the background rect.
2209         (WebCore::RenderListBox::panScroll): EventHandler::currentMousePosition is an IntPoint,
2210         so it doesn't require additional rounding in RenderListBox.
2211
2212 2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2213
2214         Unreviewed, rolling out r111020.
2215         http://trac.webkit.org/changeset/111020
2216         https://bugs.webkit.org/show_bug.cgi?id=81377
2217
2218         Broke Chromium Win compile (Requested by pkasting on #webkit).
2219
2220         * GNUmakefile.list.am:
2221         * WebCore.gypi:
2222         * platform/mediastream/PeerConnection00Handler.cpp: Removed.
2223         * platform/mediastream/PeerConnection00Handler.h: Removed.
2224         * platform/mediastream/PeerConnection00HandlerClient.h: Removed.
2225
2226 2012-03-16  Dominic Mazzoni  <dmazzoni@google.com>
2227
2228         File input control accessibility can cause a crash
2229         https://bugs.webkit.org/show_bug.cgi?id=80896
2230
2231         Reviewed by Chris Fleizach.
2232
2233         Test: accessibility/input-file-causes-crash.html
2234
2235         * accessibility/AccessibilityRenderObject.cpp:
2236         (WebCore::AccessibilityRenderObject::textUnderElement):
2237
2238 2012-03-08  Jer Noble  <jer.noble@apple.com>
2239
2240         Support W3C Full Screen API proposal
2241         https://bugs.webkit.org/show_bug.cgi?id=80660
2242
2243         Reviewed by Alexey Proskuryakov.
2244
2245         Tests: fullscreen/full-screen-element-stack.html
2246                fullscreen/full-screen-enabled.html
2247                fullscreen/full-screen-restrictions.html
2248
2249         The W3C proposal for taking arbitrary elements into full-screen mode is significantly
2250         different than the Mozilla proposal. For example, the W3C has proposed a lower-case "s"
2251         in "Fullscreen", which means the W3C and Mozilla "requestFullscreen" APIs differ only by
2252         in that lower-case "s". Annoying as this is, it does allow us to retain the semantics for
2253         the Mozilla case (har!).
2254
2255         A significant difficulty is obeying the new W3C spec rules is that we would like to apply the
2256         fullscreen CSS rules while exiting fullscreen mode, though the W3C spec insists that the
2257         webkitFullscreenElement returns the new value immediately.  As such, we retain the m_fullScreenElement
2258         variable (distinct from the top of the m_fullScreenElements stack) which is controlled by the
2259         webkit{Will,Did}{Enter,Exit}FullScreen functions.
2260
2261         New APIs for the W3C Fullscreen spec:
2262         * dom/Document.h:
2263         (WebCore::Document::webkitFullscreenElement):
2264         (WebCore::Document::webkitFullscreenEnabled):
2265         * dom/Document.idl:
2266         * dom/Element.cpp:
2267         (WebCore::Element::webkitRequestFullscreen):
2268         * dom/Element.h:
2269         * dom/Element.idl:
2270
2271         * dom/Document.cpp:
2272         (WebCore::Document::removedLastRef): Clear m_fullScreenElementStack.
2273         (WebCore::Document::requestFullScreenForElement): Implement the W3C requirements.
2274         (WebCore::Document::webkitExitFullscreen): Ditto.
2275         (WebCore::Document::webkitCancelFullScreen): Implement in terms of webkitCancelFullscreen.
2276         (WebCore::Document::webkitDidEnterFullScreenForElement): 
2277         (WebCore::Document::webkitWillExitFullScreenForElement):
2278         (WebCore::Document::webkitDidExitFullScreenForElement):
2279         (WebCore::Document::fullScreenChangeDelayTimerFired): Protect against items being
2280             added to the event and error queue by swapping out empty queues before starting.
2281         (WebCore::Document::clearFullscreenElementStack): Simple accessor.
2282         (WebCore::Document::popFullscreenElementStack): Ditto.
2283         (WebCore::Document::pushFullscreenElementStack): Ditto.
2284         * dom/Element.cpp:
2285         (WebCore::Element::webkitRequestFullScreen):
2286
2287         Add new RuntimeEnabledFeatures functions for the added Document and Element functions.
2288         * bindings/generic/RuntimeEnabledFeatures.h:
2289         (RuntimeEnabledFeatures):
2290         (WebCore::RuntimeEnabledFeatures::webkitFullscreenEnabledEnabled):
2291         (WebCore::RuntimeEnabledFeatures::webkitFullscreenElementEnabled):
2292         (WebCore::RuntimeEnabledFeatures::webkitExitFullscreenEnabled):
2293         (WebCore::RuntimeEnabledFeatures::webkitRequestFullscreenEnabled):
2294
2295
2296 2012-03-16  Adam Klein  <adamk@chromium.org>
2297
2298         Make HTMLInputElement::isRadioButton non-virtual and remove unused HTMLFormControlElement::isRadioButton method
2299         https://bugs.webkit.org/show_bug.cgi?id=81255
2300
2301         Reviewed by Kent Tamura.
2302
2303         No new tests, no change in behavior.
2304
2305         * html/HTMLFormControlElement.h:
2306         * html/HTMLInputElement.h:
2307         (HTMLInputElement):
2308
2309 2012-03-16  Tay Grigg  <tgrigg@rim.com>
2310
2311         [BlackBerry] Update NetworkJob to accept batched headers
2312         https://bugs.webkit.org/show_bug.cgi?id=81273
2313
2314         Batch up the headers into a vector before they come into
2315         webkit to increase performance, and simplify the API.
2316
2317         Reviewed by George Staikos.
2318
2319         * platform/network/blackberry/NetworkJob.cpp:
2320         (WebCore::NetworkJob::notifyHeadersReceived):
2321         * platform/network/blackberry/NetworkJob.h:
2322         (NetworkJob):
2323
2324 2012-03-16  Dana Jansens  <danakj@chromium.org>
2325
2326         [chromium] Add overdraw metrics for texture uploads
2327         https://bugs.webkit.org/show_bug.cgi?id=81175
2328
2329         Reviewed by Adrienne Walker.
2330
2331         Record texture upload metrics during paint. To properly record
2332         the amount of pixels culled, we must compute the amount of pixels we
2333         would have uploaded for a tile. This requires knowing the dirty rect of
2334         the tile, but the dirty rect can be changed by WebKit during a paint, so
2335         we always store the dirtyRect in the tile's updateRect. We add an
2336         m_updateCulled bool to the UpdatableTile structure, to identify tiles
2337         that were not updated, and know a tile was updated if updateRect is not
2338         empty and updateCulled is false.
2339
2340         Tested by all TiledLayerChromiumTests that use occlusion tracker.
2341
2342         * platform/graphics/chromium/TiledLayerChromium.cpp:
2343         (UpdatableTile):
2344         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2345         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2346         (WebCore::CCLayerTreeHost::paintLayerContents):
2347
2348 2012-03-16  Jer Noble  <jer.noble@apple.com>
2349
2350         Allow AudioContext::create() to emit an ExceptionCode.
2351         https://bugs.webkit.org/show_bug.cgi?id=81049
2352
2353         Reviewed by Kentaro Hara.
2354
2355         No new tests; no change in functionality.
2356
2357         Pass through an ExceptionCode parameter to AudioContext::create().  It is currently
2358         never modified, but exceptions will be added in the future.
2359
2360         * bindings/js/JSAudioContextCustom.cpp:
2361         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
2362         * bindings/v8/custom/V8AudioContextCustom.cpp:
2363         (WebCore::V8AudioContext::constructorCallback):
2364         * webaudio/AudioContext.cpp:
2365         (WebCore::AudioContext::create):
2366         * webaudio/AudioContext.h:
2367
2368 2012-03-16  Dana Jansens  <danakj@chromium.org>
2369
2370         [chromium] Remove surface damage client from occlusion tracker
2371         https://bugs.webkit.org/show_bug.cgi?id=81242
2372
2373         Reviewed by Adrienne Walker.
2374
2375         Code was not used yet, so no new tests. Removing tests instead!
2376
2377         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2378         (WebCore::::CCOcclusionTrackerBase):
2379         (WebCore::::layerScissorRectInTargetSurface):
2380         (WebCore):
2381         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
2382         (WebCore):
2383         (CCOcclusionTrackerBase):
2384
2385 2012-03-16  Tommy Widenflycht  <tommyw@google.com>
2386
2387         MediaStream API (JSEP): Introducing PeerConnection00Handler
2388         https://bugs.webkit.org/show_bug.cgi?id=81333
2389
2390         Reviewed by Adam Barth.
2391
2392         In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
2393
2394         Not possible to test until the entire JSEP feature is commited.
2395
2396         * GNUmakefile.list.am:
2397         * WebCore.gypi:
2398         * platform/mediastream/PeerConnection00Handler.cpp: Added.
2399         (WebCore):
2400         (WebCore::PeerConnection00Handler::create):
2401         (WebCore::PeerConnection00Handler::PeerConnection00Handler):
2402         (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
2403         (WebCore::PeerConnection00Handler::createOffer):
2404         (WebCore::PeerConnection00Handler::createAnswer):
2405         (WebCore::PeerConnection00Handler::setLocalDescription):
2406         (WebCore::PeerConnection00Handler::setRemoteDescription):
2407         (WebCore::PeerConnection00Handler::localDescription):
2408         (WebCore::PeerConnection00Handler::remoteDescription):
2409         (WebCore::PeerConnection00Handler::startIce):
2410         (WebCore::PeerConnection00Handler::processIceMessage):
2411         (WebCore::PeerConnection00Handler::addStream):
2412         (WebCore::PeerConnection00Handler::removeStream):
2413         (WebCore::PeerConnection00Handler::stop):
2414         * platform/mediastream/PeerConnection00Handler.h: Added.
2415         (WebCore):
2416         (PeerConnection00Handler):
2417         * platform/mediastream/PeerConnection00HandlerClient.h: Added.
2418         (WebCore):
2419         (PeerConnection00HandlerClient):
2420         (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
2421
2422 2012-03-16  Pavel Podivilov  <podivilov@chromium.org>
2423
2424         Web Inspector: fix exception when hovering over bound function in heap profiler.
2425         https://bugs.webkit.org/show_bug.cgi?id=81362
2426
2427         Reviewed by Yury Semikhatsky.
2428
2429         * inspector/front-end/DebuggerPresentationModel.js:
2430         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
2431
2432 2012-03-16  Yoshifumi Inoue  <yosin@chromium.org>
2433
2434         [Forms] The "progress" element should not be a form-associated element.
2435         https://bugs.webkit.org/show_bug.cgi?id=80240
2436
2437         Reviewed by Kent Tamura.
2438
2439         This patch changes base class of HTMLProgressElement to LabelableElement from
2440         HTMLFormControlElement for saving memory space and iteration time of
2441         extra "progress" elements in HTMLFormElement::m_formAssociatedElements
2442         and matching the HTML5 specification for ease of maintenance.
2443
2444         Changes of TextIterator is lead by usage of isFormControlElement. This
2445         changes will be replaced with more meaningful predicate as part of
2446         https://bugs.webkit.org/show_bug.cgi?id=80381
2447
2448         No new tests. Update existing tests to cover this change.
2449
2450         * css/CSSStyleSelector.cpp:
2451         (WebCore::CSSStyleSelector::canShareStyleWithElement): Moved the "progress" element support code from canShareStyleWithControl.
2452         (WebCore::CSSStyleSelector::canShareStyleWithControl):
2453         * css/SelectorChecker.cpp:
2454         (WebCore::SelectorChecker::checkOneSelector): Remove isFormControlElement check for PseudoIndeterminate.
2455         * editing/TextIterator.cpp:
2456         (WebCore::TextIterator::advance): Check HTMLProgressElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
2457         * html/HTMLProgressElement.cpp: Remove unused include file.
2458         (WebCore::HTMLProgressElement::HTMLProgressElement): Changed base class to LabelableElement.
2459         (WebCore::HTMLProgressElement::create): Remove form paraprogress.
2460         (WebCore::HTMLProgressElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement.
2461         (WebCore::HTMLProgressElement::attach): Replace HTMLFormControlElement to LabelableElement.
2462         * html/HTMLProgressElement.h:
2463         (HTMLProgressElement):
2464         * html/HTMLProgressElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
2465         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
2466
2467 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
2468
2469         Web Inspector: Heap Snapshot: Unreviewed single line fix for isWindow getter.
2470
2471         * inspector/front-end/HeapSnapshot.js:
2472         (WebInspector.HeapSnapshotNode.prototype.get isWindow):
2473
2474 2012-03-16  Tommy Widenflycht  <tommyw@google.com>
2475
2476         MediaStream API (JSEP): Fixing a few nits
2477         https://bugs.webkit.org/show_bug.cgi?id=81322
2478
2479         Reviewed by Adam Barth.
2480
2481         Addressing the nits from bugs 81206 and 81207.
2482
2483         Nothing to test.
2484
2485         * Modules/mediastream/SessionDescription.idl:
2486         * platform/mediastream/IceOptions.h:
2487         (WebCore::IceOptions::IceOptions):
2488         * platform/mediastream/SessionDescriptionDescriptor.h:
2489         (SessionDescriptionDescriptor):
2490
2491 2012-03-16  Peter Rybin  <peter.rybin@gmail.com>
2492
2493         Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
2494         https://bugs.webkit.org/show_bug.cgi?id=80789
2495
2496         Reviewed by Yury Semikhatsky.
2497
2498         OptOutput class is added for optional return parameters.
2499
2500         Strict mode added to Generator that makes all parameter types strict
2501         and drop pre-set default values for return parameters.
2502
2503         Debugger and Page domain is switched to strict mode.
2504
2505         * inspector/CodeGeneratorInspector.py:
2506         (CommandReturnPassModel.OptOutput):
2507         (CommandReturnPassModel.OptOutput.__init__):
2508         (CommandReturnPassModel.OptOutput.get_return_var_type):
2509         (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
2510         (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
2511         (CommandReturnPassModel.OptOutput.get_output_parameter_type):
2512         (CommandReturnPassModel):
2513         (CommandReturnPassModel.OptOutput.get_set_return_condition):
2514         (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
2515         (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
2516         (OptOutput):
2517         (Generator.process_event):
2518         (Generator.process_command):
2519         * inspector/ContentSearchUtils.cpp:
2520         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
2521         (WebCore::ContentSearchUtils::searchInTextByLines):
2522         * inspector/ContentSearchUtils.h:
2523         (ContentSearchUtils):
2524         * inspector/InjectedScript.cpp:
2525         (WebCore::InjectedScript::evaluate):
2526         (WebCore::InjectedScript::callFunctionOn):
2527         (WebCore::InjectedScript::evaluateOnCallFrame):
2528         (WebCore::InjectedScript::makeEvalCall):
2529         * inspector/InjectedScript.h:
2530         (InjectedScript):
2531         * inspector/InspectorDOMDebuggerAgent.cpp:
2532         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
2533         (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
2534         (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
2535         (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
2536         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
2537         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
2538         * inspector/InspectorDebuggerAgent.cpp:
2539         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2540         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2541         (WebCore::InspectorDebuggerAgent::searchInContent):
2542         (WebCore::InspectorDebuggerAgent::setScriptSource):
2543         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
2544         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
2545         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2546         (WebCore::InspectorDebuggerAgent::didPause):
2547         (WebCore::InspectorDebuggerAgent::breakProgram):
2548         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
2549         * inspector/InspectorDebuggerAgent.h:
2550         (InspectorDebuggerAgent):
2551         * inspector/InspectorPageAgent.cpp:
2552         (WebCore::buildObjectForCookie):
2553         (WebCore::buildArrayForCookies):
2554         (WebCore::InspectorPageAgent::getCookies):
2555         (WebCore::InspectorPageAgent::getResourceTree):
2556         (WebCore::InspectorPageAgent::searchInResource):
2557         (WebCore::InspectorPageAgent::searchInResources):
2558         (WebCore::InspectorPageAgent::buildObjectForFrame):
2559         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
2560         * inspector/InspectorPageAgent.h:
2561         * inspector/InspectorRuntimeAgent.cpp:
2562         (WebCore::InspectorRuntimeAgent::evaluate):
2563         (WebCore::InspectorRuntimeAgent::callFunctionOn):
2564
2565 2012-03-16  Kentaro Hara  <haraken@chromium.org>
2566
2567         The IDL parser should support sequence<T> type
2568         https://bugs.webkit.org/show_bug.cgi?id=81345
2569
2570         Reviewed by Adam Barth.
2571
2572         This patch makes the IDL parser support sequence<T> type.
2573         This patch just makes sequence<T> parseable, and the generated code
2574         for sequence<T> is wrong. This issue will be soon fixed in bug 80696.
2575         This is a preparing patch for bug 80696.
2576
2577         Test: bindings/scripts/test/TestObj.idl
2578
2579         * bindings/scripts/test/TestObj.idl: Added tests for sequence<T>.
2580
2581         * bindings/scripts/IDLStructure.pm: Updated the regular expressions to support sequence<T>.
2582
2583         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
2584         (WebDOMTestObj::sequenceAttr):
2585         (WebDOMTestObj::setSequenceAttr):
2586         (WebDOMTestObj::methodWithSequenceArg):
2587         (WebDOMTestObj::methodReturningSequence):
2588         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2589         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2590         (webkit_dom_test_obj_method_with_sequence_arg):
2591         (webkit_dom_test_obj_method_returning_sequence):
2592         (webkit_dom_test_obj_get_sequence_attr):
2593         (webkit_dom_test_obj_set_sequence_attr):
2594         (webkit_dom_test_obj_get_property):
2595         (webkit_dom_test_obj_class_init):
2596         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2597         * bindings/scripts/test/JS/JSTestObj.cpp:
2598         (WebCore):
2599         (WebCore::jsTestObjSequenceAttr):
2600         (WebCore::setJSTestObjSequenceAttr):
2601         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
2602         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
2603         * bindings/scripts/test/JS/JSTestObj.h:
2604         (WebCore):
2605         * bindings/scripts/test/ObjC/DOMTestObj.h:
2606         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2607         (-[DOMTestObj sequenceAttr]):
2608         (-[DOMTestObj setSequenceAttr:]):
2609         (-[DOMTestObj methodWithSequenceArg:]):
2610         (-[DOMTestObj methodReturningSequence:]):
2611         * bindings/scripts/test/V8/V8TestObj.cpp:
2612         (WebCore::TestObjInternal::sequenceAttrAttrGetter):
2613         (TestObjInternal):
2614         (WebCore::TestObjInternal::sequenceAttrAttrSetter):
2615         (WebCore::TestObjInternal::methodWithSequenceArgCallback):
2616         (WebCore::TestObjInternal::methodReturningSequenceCallback):
2617         (WebCore):
2618         (WebCore::ConfigureV8TestObjTemplate):
2619
2620 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
2621
2622         Web Inspector: HeapSnapshot: merge two long operations into one.
2623         https://bugs.webkit.org/show_bug.cgi?id=81347
2624
2625         Reviewed by Yury Semikhatsky.
2626
2627         * inspector/front-end/HeapSnapshot.js:
2628         (WebInspector.HeapSnapshot.prototype.aggregates):
2629         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2630         (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):
2631
2632 2012-03-16  Gavin Peters  <gavinp@chromium.org>
2633
2634         Add asserts and improve logging in PageCache.
2635         https://bugs.webkit.org/show_bug.cgi?id=81179
2636
2637         Reviewed by Brady Eidson.
2638
2639         The early exits from logCanCacheFrameDecision had the potential to skew histogram data.  Moving
2640         the DocumentLoader check to the top, but eliminating the early exits is a compromise that keeps
2641         the logged data mostly accurate.
2642
2643         * history/PageCache.cpp:
2644         (WebCore::logCanCacheFrameDecision):
2645
2646 2012-03-16  Yoshifumi Inoue  <yosin@chromium.org>
2647
2648         [Forms] label.form attribute doesn't work
2649         https://bugs.webkit.org/show_bug.cgi?id=80499
2650
2651         Reviewed by Kent Tamura.
2652
2653         This patch changes implementation of label.form of IDL attribute to
2654         compute it to the form element specified by the "form" HTML attribute
2655         or form ancestor when the "form" HTML attribute isn't in HTML.
2656
2657         This patch introduces new function FormAssociatedElement::findAssociatedForm
2658         for sharing code among FormAssociateElement::insertedIntoTree, resetFormOwner
2659         and HTMLLabelElement::form.
2660
2661         No new tests. Update existing tests.
2662
2663         * html/FormAssociatedElement.cpp:
2664         (WebCore::FormAssociatedElement::findAssociatedForm): Added.
2665         (WebCore):
2666         (WebCore::FormAssociatedElement::insertedIntoTree):
2667         (WebCore::FormAssociatedElement::resetFormOwner):
2668         * html/FormAssociatedElement.h:
2669         (FormAssociatedElement):
2670         * html/HTMLLabelElement.cpp: Remove unused include files
2671         (WebCore::HTMLLabelElement::form): Added.
2672
2673 2012-03-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2674
2675         Use the normalize method of FloatPoint instead of normalizing manually
2676         https://bugs.webkit.org/show_bug.cgi?id=81343
2677
2678         Reviewed by Simon Hausmann.
2679
2680         * platform/graphics/TiledBackingStore.cpp:
2681         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
2682         (WebCore::TiledBackingStore::computeCoverAndKeepRect):
2683
2684 2012-03-16  Kentaro Hara  <haraken@chromium.org>
2685
2686         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl
2687         https://bugs.webkit.org/show_bug.cgi?id=79636
2688
2689         Reviewed by Adam Barth.
2690
2691         For WebKit modularization, this patch moves Notifications-related APIs
2692         from DOMWindow.idl to DOMWindowNotifications.idl.
2693
2694         Tests: fast/notifications/* (No change in test results)
2695
2696         * CMakeLists.txt: Added DOMWindowNotifications.{h,cpp,idl}.
2697         * DerivedSources.make: Ditto.
2698         * DerivedSources.pri: Ditto.
2699         * GNUmakefile.list.am: Ditto.
2700         * Target.pri: Ditto.
2701         * WebCore.gypi: Ditto.
2702         * WebCore.vcproj/WebCore.vcproj: Ditto.
2703
2704         * WebCore.exp.in: Added mangled signatures of webkitNotifications().
2705
2706         * notifications/DOMWindowNotifications.cpp: Added.
2707         (WebCore):
2708         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
2709         (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
2710         (WebCore::DOMWindowNotifications::from):
2711         (WebCore::DOMWindowNotifications::webkitNotifications):
2712         (WebCore::DOMWindowNotifications::ensureWebkitNotifications):
2713         (WebCore::DOMWindowNotifications::disconnectFrame):
2714         * notifications/DOMWindowNotifications.h: Added.
2715         (WebCore):
2716         (DOMWindowNotifications):
2717         * notifications/DOMWindowNotifications.idl: Added.
2718
2719         * page/DOMWindow.cpp: Removed ENABLE(NOTIFICATIONS).
2720         (WebCore::DOMWindow::~DOMWindow):
2721         (WebCore::DOMWindow::willDetachPage):
2722         (WebCore::DOMWindow::clear):
2723         * page/DOMWindow.h: Ditto.
2724         (WebCore):
2725         (DOMWindow):
2726         * page/DOMWindow.idl: Ditto.
2727         * page/Frame.cpp: Ditto.
2728         (WebCore::Frame::willDetachPage):
2729         (WebCore::Frame::transferChildFrameToNewDocument):
2730
2731 2012-03-16  Kentaro Hara  <haraken@chromium.org>
2732
2733         [Performance] Optimize innerHTML and outerHTML
2734         https://bugs.webkit.org/show_bug.cgi?id=81214
2735
2736         Reviewed by Adam Barth.
2737
2738         This patch makes innerHTML and outerHTML 2.4 times faster.
2739
2740         Performance test: https://bugs.webkit.org/attachment.cgi?id=132034
2741         The performance test measures body.innerHTML for 3000 lines of HTML,
2742         which is copied from the HTML spec.
2743
2744         - Chromium/Mac without the patch
2745         div.innerHTML: 1658.6 ms
2746         div.outerHTML: 4859.6 ms
2747         body.innerHTML: 640.2 ms
2748         body.outerHTML: 641.8 ms
2749
2750         - Chromium/Mac with the patch
2751         div.innerHTML:  751.0 ms
2752         div.outerHTML: 2096.0 ms
2753         body.innerHTML: 271.2 ms
2754         body.outerHTML: 271.2 ms
2755
2756         - Chromium/Linux without the patch
2757         div.innerHTML:  950.4 ms
2758         div.outerHTML: 2257.8 ms
2759         body.innerHTML: 452.8 ms
2760         body.outerHTML: 457.6 ms
2761
2762         - Chromium/Linux with the patch
2763         div.innerHTML:  582.4 ms
2764         div.outerHTML: 1283.0 ms
2765         body.innerHTML: 233.0 ms
2766         body.outerHTML: 233.4 ms
2767
2768         - AppleWebKit/Mac without the patch
2769         div.innerHTML:  900.6 ms
2770         div.outerHTML: 2245.2 ms
2771         body.innerHTML: 462.6 ms
2772         body.outerHTML: 468.0 ms
2773
2774         - AppleWebKit/Mac with the patch
2775         div.innerHTML:  529.8  ms
2776         div.outerHTML: 1090.2 ms
2777         body.innerHTML: 239.2 ms
2778         body.outerHTML: 239.2 ms
2779
2780         This patch applies the following two optimizations:
2781
2782         (a) Remove redundant copies between Vector<String> and StringBuilders
2783         in MarkupAccumulator::serializeNodes(), MarkupAccumulator::appendStartTag(),
2784         and MarkupAccumulator::appendEndTag().
2785
2786             (Previous behavior)
2787             - Create a StringBuilder for each tag.
2788             - Append a created string in each StringBuilder to Vector<String>,
2789               parsing the DOM tree.
2790             - After the parsing, allocate a StringBuilder whose size is the sum
2791               of all Strings in Vector<String>.
2792             - Append all Strings in Vector<String> to the StringBuilder.
2793             (New behavior)
2794             - Allocate a StringBuilder with a default buffer size.
2795             - Append created strings to the StringBuilder, incrementally parsing
2796               the DOM tree.
2797
2798         (b) Optimize stringBuilder.append().
2799             (b-1) Replace stringBuilder.append("A") with stringBuilder.append('A').
2800                   stringBuilder.append("A") requires to cast the characters to LChar*,
2801                   and then call strlen("A"). stringBuilder.append('A') is faster.
2802             (b-2) Replace stringBuilder.append("AB") with stringBuilder.append('A')
2803                   and stringBuilder.append('B'). In my experiment, appending characters
2804                   one by one is faster than appending the characters at a breath if the
2805                   number of characters is less than 3.
2806             (b-3) Hard-code a string length; i.e. replace stringBuilder.append("ABCDE")
2807                   with stringBuilder.append("ABCDE", 5). While the former requires to call
2808                   strlen("ABCDE"), the latter does not.
2809
2810         (a) improves performance by 170% ~ 200%. (b) improves performance by 30 ~ 40%.
2811
2812         Tests: fast/dom/Range/range-extract-contents.html
2813                fast/dom/serialize-nodes.xhtml
2814                fast/dom/XMLSerializer.html
2815                and all other tests that use innerHTML or outerHTML.
2816                No change in the test results.
2817
2818         * editing/MarkupAccumulator.cpp:
2819         (WebCore::MarkupAccumulator::serializeNodes):
2820         (WebCore::MarkupAccumulator::appendString):
2821         (WebCore::MarkupAccumulator::appendStartTag):
2822         (WebCore::MarkupAccumulator::appendEndTag):
2823         (WebCore::MarkupAccumulator::concatenateMarkup):
2824         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
2825         (WebCore::MarkupAccumulator::appendComment):
2826         (WebCore::MarkupAccumulator::appendDocumentType):
2827         (WebCore::MarkupAccumulator::appendProcessingInstruction):
2828         (WebCore::MarkupAccumulator::appendOpenTag):
2829         (WebCore::MarkupAccumulator::appendAttribute):
2830         (WebCore::MarkupAccumulator::appendCDATASection):
2831         * editing/MarkupAccumulator.h:
2832         (MarkupAccumulator):
2833
2834 2012-03-16  Kihong Kwon  <kihong.kwon@samsung.com>
2835
2836         Support for Battery Status API
2837         https://bugs.webkit.org/show_bug.cgi?id=62698
2838
2839         Battery Status API is implemented under the Navigator class.
2840         Battery Status API has four types of events, and all events are operated based on a callback mechanism.
2841          : onchargingchange, onchargingtimechange, ondischargingtimechange, onlevelchange.
2842         The battery status can be accessed using BatteryManager(navigator.webkitBattery), and battery status is controlled by BatteryController which manages instances of BatteryManager.
2843         When battery status event is raised, BatteryController calls all registered BatteryManager's event dispatcher.
2844         http://www.w3.org/TR/battery-status/
2845
2846         Reviewed by Adam Barth.
2847
2848         Tests: batterystatus/add-listener-from-callback.html
2849                batterystatus/basic-all-types-of-events.html
2850                batterystatus/basic-operation.html
2851                batterystatus/event-after-navigation.html
2852                batterystatus/multiple-frames.html
2853                batterystatus/updates.html
2854                batterystatus/window-property.html
2855
2856         * CMakeLists.txt:
2857         * Modules/battery/BatteryClient.h: Added.
2858         (WebCore):
2859         (BatteryClient):
2860         (WebCore::BatteryClient::~BatteryClient):
2861         * Modules/battery/BatteryController.cpp: Added.
2862         (WebCore):
2863         (WebCore::BatteryController::BatteryController):
2864         (WebCore::BatteryController::~BatteryController):
2865         (WebCore::BatteryController::create):
2866         (WebCore::BatteryController::addListener):
2867         (WebCore::BatteryController::removeListener):
2868         (WebCore::BatteryController::didChangeBatteryStatus):
2869         (WebCore::BatteryController::supplementName):
2870         (WebCore::BatteryController::isActive):
2871         (WebCore::provideBatteryTo):
2872         * Modules/battery/BatteryController.h: Added.
2873         (WebCore):
2874         (BatteryController):
2875         (WebCore::BatteryController::client):
2876         (WebCore::BatteryController::from):
2877         * Modules/battery/BatteryManager.cpp: Added.
2878         (WebCore):
2879         (WebCore::BatteryManager::create):
2880         (WebCore::BatteryManager::~BatteryManager):
2881         (WebCore::BatteryManager::BatteryManager):
2882         (WebCore::BatteryManager::charging):
2883         (WebCore::BatteryManager::chargingTime):
2884         (WebCore::BatteryManager::dischargingTime):
2885         (WebCore::BatteryManager::level):
2886         (WebCore::BatteryManager::didChangeBatteryStatus):
2887         (WebCore::BatteryManager::suspend):
2888         (WebCore::BatteryManager::resume):
2889         (WebCore::BatteryManager::stop):
2890         * Modules/battery/BatteryManager.h: Added.
2891         (WebCore):
2892         (BatteryManager):
2893         (WebCore::BatteryManager::interfaceName):
2894         (WebCore::BatteryManager::scriptExecutionContext):
2895         (WebCore::BatteryManager::batteryControllerDestroyed):
2896         (WebCore::BatteryManager::canSuspend):
2897         (WebCore::BatteryManager::eventTargetData):
2898         (WebCore::BatteryManager::ensureEventTargetData):
2899         (WebCore::BatteryManager::refEventTarget):
2900         (WebCore::BatteryManager::derefEventTarget):
2901         * Modules/battery/BatteryManager.idl: Added.
2902         * Modules/battery/BatteryStatus.cpp: Added.
2903         (WebCore):
2904         (WebCore::BatteryStatus::create):
2905         (WebCore::BatteryStatus::BatteryStatus):
2906         * Modules/battery/BatteryStatus.h: Added.
2907         (WebCore):
2908         (BatteryStatus):
2909         (WebCore::BatteryStatus::charging):
2910         (WebCore::BatteryStatus::chargingTime):
2911         (WebCore::BatteryStatus::dischargingTime):
2912         (WebCore::BatteryStatus::level):
2913         * Modules/battery/NavigatorBattery.cpp: Added.
2914         (WebCore):
2915         (WebCore::NavigatorBattery::NavigatorBattery):
2916         (WebCore::NavigatorBattery::~NavigatorBattery):
2917         (WebCore::NavigatorBattery::webkitBattery):
2918         (WebCore::NavigatorBattery::from):
2919         (WebCore::NavigatorBattery::batteryManager):
2920         * Modules/battery/NavigatorBattery.h: Added.
2921         (WebCore):
2922         (NavigatorBattery):
2923         * Modules/battery/NavigatorBattery.idl: Added.
2924         * dom/EventNames.h:
2925         (WebCore):
2926         * dom/EventTargetFactory.in:
2927         * testing/Internals.cpp:
2928         (WebCore::Internals::setBatteryStatus):
2929         (WebCore):
2930         * testing/Internals.h:
2931         (Internals):
2932         * testing/Internals.idl:
2933
2934 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
2935
2936         Web Inspector: HeapSnapshot: speedup buildReverseIndex.
2937         https://bugs.webkit.org/show_bug.cgi?id=81327
2938
2939         Reviewed by Yury Semikhatsky.
2940
2941         * inspector/front-end/HeapSnapshot.js:
2942         (WebInspector.HeapSnapshot.prototype.get maxNodeId):
2943         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
2944         (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
2945         (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
2946         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
2947         (WebInspector.HeapSnapshot.prototype):
2948
2949 2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2950
2951         Unreviewed, rolling out r110976.
2952         http://trac.webkit.org/changeset/110976
2953         https://bugs.webkit.org/show_bug.cgi?id=81330
2954
2955         webkit_unit_tests crashes. (Requested by morrita on #webkit).
2956
2957         * loader/cache/CachedCSSStyleSheet.cpp:
2958         (WebCore::CachedCSSStyleSheet::error):
2959         (WebCore):
2960         * loader/cache/CachedCSSStyleSheet.h:
2961         (CachedCSSStyleSheet):
2962         * loader/cache/CachedFont.cpp:
2963         (WebCore):
2964         (WebCore::CachedFont::error):
2965         * loader/cache/CachedFont.h:
2966         (CachedFont):
2967         * loader/cache/CachedImage.cpp:
2968         (WebCore::CachedImage::error):
2969         * loader/cache/CachedResource.h:
2970         (CachedResource):
2971         * loader/cache/CachedScript.cpp:
2972         (WebCore::CachedScript::error):
2973         (WebCore):
2974         * loader/cache/CachedScript.h:
2975         (CachedScript):
2976         * loader/cache/CachedXSLStyleSheet.cpp:
2977         (WebCore::CachedXSLStyleSheet::error):
2978         (WebCore):
2979         * loader/cache/CachedXSLStyleSheet.h:
2980         (CachedXSLStyleSheet):
2981
2982 2012-03-16  Luke Macpherson   <macpherson@chromium.org>
2983
2984         Implement cast between CSSPrimitiveValue and LineClampValue.
2985         https://bugs.webkit.org/show_bug.cgi?id=76806
2986
2987         Reviewed by Andreas Kling.
2988
2989         Covered by many existing LayoutTests.
2990
2991         This simplifies code in CSSStyleSelector and future mapping to CSSStyleApplyProperty.
2992
2993         * css/CSSPrimitiveValueMappings.h:
2994         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2995         (WebCore::CSSPrimitiveValue::operator LineClampValue):
2996         * css/CSSStyleSelector.cpp:
2997         (WebCore::CSSStyleSelector::applyProperty):
2998
2999 2012-03-16  Nat Duca  <nduca@chromium.org>
3000
3001         [chromium] Bump textureUpdatesPerFrame to 32 to favor updating the screen over jank prevention
3002         https://bugs.webkit.org/show_bug.cgi?id=81298
3003
3004         Reviewed by James Robinson.
3005
3006         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3007         (WTF):
3008
3009 2012-03-16  Levi Weintraub  <leviw@chromium.org>
3010
3011         Update usage of LayoutUnits in RenderBlock*
3012         https://bugs.webkit.org/show_bug.cgi?id=80437
3013
3014         Reviewed by Julien Chaffraix.
3015
3016         Updating LayoutUnit usage in RenderBlock and RenderBlockLineLayout. This better readies trunk for
3017         the transition to subpixel layout.
3018
3019         See https://trac.webkit.org/wiki/LayoutUnit for more details.
3020
3021         No new tests. No changed behavior.
3022
3023         * rendering/InlineTextBox.cpp:
3024         (WebCore::InlineTextBox::paint): Adding the paint offset rounding previously in RenderBlock::paint.
3025         * rendering/LayoutTypes.h:
3026         (WebCore::floorToInt): Will floor a LayoutUnit to an integer once we switch to
3027         FractionalLayoutUnits.
3028         (WebCore::boundedMultiply): Method that will return the multiplied result of two LayoutUnits
3029         or the max/min LayoutUnit if the result overflows. Only does a regular multiply while
3030         LayoutUnits are integers instead of FractionalLayoutUnits.
3031         (WebCore):
3032         * rendering/RenderBlock.cpp:
3033         (WebCore::RenderBlock::paintContents): Rounding the paintOffset here didn't work for all
3034         inline blocks. This rounding is actually only needed for InlineTextBoxes, so the logic has
3035         been moved there.
3036         (WebCore::RenderBlock::newLine): Use a LayoutUnit for the y position.
3037         (WebCore::RenderBlock::isPointInOverflowControl): Points for hit testing need to be rounded.
3038         (WebCore::RenderBlock::layoutColumns): Using boundedMultiply for a calculation prone to overflow.
3039         (WebCore::updatePreferredWidth): Reverting back to using ceilf. ceiledLayoutUnit was to be ultimately
3040         converted to just a straight LayoutUnit constructor to preserve precision. This precision doesn't work
3041         for us here as we still paint Boxes/Blocks on pixel boundaries, so we need to expand to a pixel size
3042         that encloses the contained text.
3043         (WebCore::RenderBlock::setPageLogicalOffset): LogicalOffset should be a LayoutUnit.
3044         (WebCore::RenderBlock::marginValuesForChild): Margins should have subpixel resolution.
3045         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject): Intervals for floating objects
3046         need to use pixel snapped values to give the proper results.
3047         * rendering/RenderBlock.h:
3048         (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Only moved.
3049         (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine): While we can round the left offset,
3050         columns add an extra offset at paint that can't currently be planned for at line-layout time. To
3051         avoid laying out lines that run off the end of columns, we floor the right offset. The resulting
3052         lines will be up to 1 pixel shorter than they potentially could be.
3053         (RenderBlock):
3054         (WebCore::RenderBlock::FloatingObject::pixelSnappedX): Using corresponding pixelSnappedX value from
3055         LayoutRects.
3056         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX): Ditto.
3057         (WebCore::RenderBlock::FloatingObject::pixelSnappedY): Ditto.
3058         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY): Ditto.
3059         (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth): Ditto.
3060         (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight): Ditto.
3061         * rendering/RenderBlockLineLayout.cpp:
3062         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): LogicalHeight is a LayoutUnit. Also
3063         flooring textIndentOffset to an integer to match old behavior.
3064         (WebCore::LineWidth::fitBelowFloats): Using LayoutUnits for float logical top and bottoms.
3065         (WebCore::LineLayoutState::endLineLogicalTop): Changing to a LayoutUnit.
3066         (WebCore::LineLayoutState::setEndLineLogicalTop): Ditto.
3067         (LineLayoutState): Ditto.
3068         (WebCore::RenderBlock::linkToEndLineIfNeeded): Calculating overflow with LayoutUnits.
3069         (WebCore::RenderBlock::layoutInlineChildren): LowestAllowedPosition should be subpixel.
3070         (WebCore::RenderBlock::checkLinesForTextOverflow): Reverting ellipsis width calculation to integers
3071         as this value can be seen as representing pixels on screen.
3072
3073 2012-03-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3074
3075         Follow up to: window.innerWidth/Height should not include page scale
3076         https://bugs.webkit.org/show_bug.cgi?id=76555
3077
3078         Reviewed by Simon Hausmann.
3079
3080         Introduce mapping methods for converting between CSS and layout units.
3081
3082         * page/DOMWindow.cpp:
3083         (WebCore::DOMWindow::innerHeight):
3084         (WebCore::DOMWindow::innerWidth):
3085         (WebCore::DOMWindow::scrollX):
3086         (WebCore::DOMWindow::scrollY):
3087         (WebCore::DOMWindow::scrollTo):
3088         * page/FrameView.h:
3089         (FrameView):
3090         (WebCore::FrameView::mapFromLayoutToCSSUnits):
3091         (WebCore):
3092         (WebCore::FrameView::mapFromCSSToLayoutUnits):
3093
3094 2012-03-16  Ian Vollick  <vollick@chromium.org>
3095
3096         [chromium] Threaded opacity animation jump to opacity of 0
3097         https://bugs.webkit.org/show_bug.cgi?id=80744
3098
3099         Reviewed by James Robinson.
3100
3101         Tested in CCLayerTreeHostTestDoNotSkipLayersWithAnimatedOpacity
3102
3103         * platform/graphics/chromium/LayerChromium.cpp:
3104         (WebCore::LayerChromium::LayerChromium):
3105         (WebCore::LayerChromium::opacityIsAnimating):
3106         (WebCore):
3107         (WebCore::LayerChromium::transformIsAnimating):
3108         * platform/graphics/chromium/LayerChromium.h:
3109         (LayerChromium):
3110         (WebCore::LayerChromium::drawOpacityIsAnimating):
3111         (WebCore::LayerChromium::setDrawOpacityIsAnimating):
3112         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3113         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
3114         * platform/graphics/chromium/RenderSurfaceChromium.h:
3115         (WebCore::RenderSurfaceChromium::drawOpacityIsAnimating):
3116         (WebCore::RenderSurfaceChromium::setDrawOpacityIsAnimating):
3117         (RenderSurfaceChromium):
3118         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
3119         (WebCore::CCLayerAnimationController::isAnimatingProperty):
3120         (WebCore):
3121         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
3122         (CCLayerAnimationController):
3123         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
3124         (WebCore::CCLayerAnimationControllerImpl::isAnimatingProperty):
3125         (WebCore):
3126         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
3127         (CCLayerAnimationControllerImpl):
3128         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3129         (WebCore::CCLayerImpl::CCLayerImpl):
3130         (WebCore::CCLayerImpl::opacityIsAnimating):
3131         (WebCore):
3132         (WebCore::CCLayerImpl::transformIsAnimating):
3133         * platform/graphics/chromium/cc/CCLayerImpl.h:
3134         (CCLayerImpl):
3135         (WebCore::CCLayerImpl::drawOpacityIsAnimating):
3136         (WebCore::CCLayerImpl::setDrawOpacityIsAnimating):
3137         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3138         (WebCore::CCLayerTreeHost::paintLayerContents):
3139         (WebCore::CCLayerTreeHost::updateCompositorResources):
3140         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3141         (WebCore::layerShouldBeSkipped):
3142         (WebCore::subtreeShouldBeSkipped):
3143         (WebCore):
3144         (WebCore::LayerChromium):
3145         (WebCore::calculateDrawTransformsAndVisibilityInternal):
3146         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3147         (WebCore::CCRenderSurface::CCRenderSurface):
3148         * platform/graphics/chromium/cc/CCRenderSurface.h:
3149         (WebCore::CCRenderSurface::drawOpacityIsAnimating):
3150         (WebCore::CCRenderSurface::setDrawOpacityIsAnimating):
3151         (CCRenderSurface):
3152
3153 2012-03-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3154
3155         [TexMap] Reuse textures following the same rules as they do internally.
3156         https://bugs.webkit.org/show_bug.cgi?id=80843
3157
3158         Reviewed by Noam Rosenthal.
3159
3160         BitmapTextures were recently changed to be the same size as their contents.
3161         This would obsolete the logic in acquireTextureFromPool which would
3162         assume that a BitmapTexture has good chances of being reused if its
3163         size is bigger or equal to the new size.
3164
3165         This asks the texture instead if it can be reused which now simply
3166         check for an exact size match.
3167
3168         * platform/graphics/texmap/TextureMapper.cpp:
3169         (WebCore::TextureMapper::acquireTextureFromPool):
3170         * platform/graphics/texmap/TextureMapper.h:
3171         (WebCore::BitmapTexture::canReuseWith):
3172         (WebCore::BitmapTexture::reset):
3173         (WebCore::BitmapTexture::didReset):
3174         * platform/graphics/texmap/TextureMapperGL.cpp:
3175         (WebCore::BitmapTextureGL::canReuseWith):
3176         (WebCore):
3177         * platform/graphics/texmap/TextureMapperGL.h:
3178         (BitmapTextureGL):
3179
3180 2012-03-16  Robert Kroeger  <rjkroege@chromium.org>
3181
3182         Connect up fling event delivery to gesture curve animation framework
3183         https://bugs.webkit.org/show_bug.cgi?id=80858
3184
3185         Reviewed by Adam Barth.
3186
3187         * platform/ScrollAnimatorNone.cpp:
3188         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
3189
3190 2012-03-16  Nate Chapin  <japhet@chromium.org>
3191
3192         Remove duplicate error() impls in CachedResource subclasses
3193         https://bugs.webkit.org/show_bug.cgi?id=81161
3194
3195         Reviewed by Alexey Proskuryakov.
3196
3197         No new tests, refactor only.
3198
3199         * loader/cache/CachedCSSStyleSheet.cpp:
3200         * loader/cache/CachedCSSStyleSheet.h:
3201         * loader/cache/CachedFont.cpp:
3202         * loader/cache/CachedFont.h:
3203         * loader/cache/CachedImage.cpp:
3204         * loader/cache/CachedResource.h: Make checkNotify()
3205              virtual, so the right checkNotify() gets called in error().
3206         * loader/cache/CachedScript.cpp:
3207         * loader/cache/CachedScript.h:
3208         * loader/cache/CachedXSLStyleSheet.cpp:
3209         * loader/cache/CachedXSLStyleSheet.h:
3210
3211 2012-03-16  Dana Jansens  <danakj@chromium.org>
3212
3213         [chromium] Changes to overdraw metrics to allow upload tracking
3214         https://bugs.webkit.org/show_bug.cgi?id=81222
3215
3216         Reviewed by Adrienne Walker.
3217
3218         Stick CCOverdrawMetrics into CCOcclusionTracker, so that it is available
3219         everywhere that culling/drawing/painting is going on. Then we can stop
3220         plumbing a metrics object through CCQuadCuller.
3221
3222         Rename the CCOverdrawMetrics "painting" stuff to "uploading" as this will
3223         measure texture uploads rather than pixels painted in main memory.
3224
3225         Covered by existing tests.
3226
3227         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3228         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3229         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3230         (WebCore::::CCOcclusionTrackerBase):
3231         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
3232         (CCOcclusionTrackerBase):
3233         (WebCore::CCOcclusionTrackerBase::overdrawMetrics):
3234         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
3235         (WebCore::CCOverdrawMetrics::didCull):
3236         (WebCore):
3237         (WebCore::CCOverdrawMetrics::didDraw):
3238         (WebCore::CCOverdrawMetrics::recordMetrics):
3239         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
3240         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
3241         (WebCore):
3242         (WebCore::CCOverdrawMetrics::create):
3243         (CCOverdrawMetrics):
3244         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
3245         (WebCore::CCQuadCuller::CCQuadCuller):
3246         (WebCore::CCQuadCuller::append):
3247         * platform/graphics/chromium/cc/CCQuadCuller.h:
3248         (CCQuadCuller):
3249         * platform/graphics/chromium/cc/CCRenderPass.cpp:
3250         (WebCore::CCRenderPass::appendQuadsForLayer):
3251         * platform/graphics/chromium/cc/CCRenderPass.h:
3252         (WebCore):
3253         (CCRenderPass):
3254
3255 2012-03-16  Greg Billock  <gbillock@google.com>
3256
3257         Add TransferList IDL modifier, with support in V8 code gen.
3258         https://bugs.webkit.org/show_bug.cgi?id=81127
3259
3260         Reviewed by Adam Barth.
3261
3262         * bindings/scripts/CodeGeneratorV8.pm:
3263         (GenerateFunctionCallback):
3264         (GetIndexOf):
3265         (GenerateParametersCheck):
3266         (GenerateConstructorCallback):
3267         (GenerateNamedConstructorCallback):
3268         (GenerateFunctionCallString):
3269         * bindings/scripts/IDLAttributes.txt:
3270         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
3271         (WebDOMTestSerializedScriptValueInterface::acceptTransferList):
3272         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
3273         (WebDOMTestSerializedScriptValueInterface):
3274         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
3275         (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
3276         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
3277         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3278         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
3279         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
3280         (WebCore):
3281         (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertySlot):
3282         (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertyDescriptor):
3283         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
3284         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3285         (JSTestSerializedScriptValueInterfacePrototype):
3286         (WebCore):
3287         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
3288         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
3289         (-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
3290         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
3291         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3292         (WebCore::TestSerializedScriptValueInterfaceInternal::acceptTransferListCallback):
3293         (TestSerializedScriptValueInterfaceInternal):
3294         (WebCore):
3295         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
3296         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
3297
3298 2012-03-16  Dana Jansens  <danakj@chromium.org>
3299
3300         [chromium] Quads that become fully opaque after culling should not use blending
3301         https://bugs.webkit.org/show_bug.cgi?id=81235
3302
3303         Reviewed by Adrienne Walker.
3304
3305         Unit test: CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers
3306
3307         * platform/graphics/chromium/cc/CCDrawQuad.h:
3308         (WebCore::CCDrawQuad::needsBlending):
3309
3310 2012-03-16  Xiaomei Ji  <xji@chromium.org>
3311
3312         Using ICU break iterator to simplify visual word movement implementation.
3313         https://bugs.webkit.org/show_bug.cgi?id=78856
3314
3315         Reviewed by Ryosuke Niwa.
3316
3317         This patch relies on ICU word break iterator and cursor visual movement by character to get the word break
3318         position in visual order. It reduces the complexity of old implementation.
3319
3320         Test: editing/selection/move-by-word-visually-wrong-left-right.html
3321
3322         * editing/FrameSelection.cpp: Exclude WinCE from visual word movement since isWordTextBreak is not implemented.
3323         (WebCore::FrameSelection::modifyMovingRight):
3324         (WebCore::FrameSelection::modifyMovingLeft):
3325         * editing/visible_units.cpp:
3326         (WebCore):
3327         (WebCore::previousLeafWithSameEditability): Just moving to the top without functionality change.
3328         (WebCore::enclosingNodeWithNonInlineRenderer): ditto.
3329         (WebCore::nextLeafWithSameEditability): ditto.
3330         (WebCore::previousRootInlineBox): return previous RootInlineBox which is in different renderer.
3331         (WebCore::nextRootInlineBox): return next RootInlineBox which is in different renderer.
3332         (WebCore::boxIndexInVector):
3333         (WebCore::previousBoxInLine): returns logically previous box in one line.
3334         (WebCore::logicallyPreviousBox): returns logically previous box.
3335         (WebCore::nextBoxInLine): returns logically next box in one line.
3336         (WebCore::logicallyNextBox): returns logically next box.
3337         (WebCore::wordBreakIteratorForMinOffsetBoundary): create word break iterator for position that is a box's min offset.
3338         (WebCore::wordBreakIteratorForMaxOffsetBoundary): create word break iterator for position that is a box's max offset.
3339         (WebCore::isLogicalStartOfWord): return whether a position is logically start of word.
3340         (WebCore::islogicalEndOfWord): return whether a position is logically end of word.
3341         (WebCore::visualWordPosition): returns the visual left or right word position.
3342         (WebCore::leftWordPosition):
3343         (WebCore::rightWordPosition):
3344         * platform/text/TextBreakIterator.h: Add isWordTextBreak().
3345         (WebCore):
3346         * platform/text/TextBreakIteratorICU.cpp:
3347         (WebCore::isWordTextBreak):
3348         (WebCore):
3349         * platform/text/gtk/TextBreakIteratorGtk.cpp:
3350         (WebCore::isWordTextBreak):
3351         (WebCore):
3352         * platform/text/qt/TextBreakIteratorQt.cpp:
3353         (WebCore::isWordTextBreak):
3354         (WebCore):
3355         * platform/text/wince/TextBreakIteratorWinCE.cpp:
3356         (WebCore::isWordTextBreak):
3357         (WebCore):
3358
3359 2012-03-16  Dana Jansens  <danakj@chromium.org>
3360
3361         [chromium] Don't create a quad for video layers without a frame (avoid use of uninitialized m_format)
3362         https://bugs.webkit.org/show_bug.cgi?id=81250
3363
3364         Reviewed by James Robinson.
3365
3366         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3367         (WebCore::CCVideoLayerImpl::appendQuads):
3368
3369 2012-03-16  Hajime Morrita  <morrita@chromium.org>
3370
3371         Unreviewed attempt to fix Chromium windows build.
3372
3373         * Modules/speech/SpeechRecognition.h:
3374         (SpeechRecognition):
3375
3376 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
3377
3378         Move DOMWindowFileSystem to Modules/filesystem/
3379         https://bugs.webkit.org/show_bug.cgi?id=81030
3380
3381         Reviewed by Adam Barth.
3382
3383         No new tests, all existing tests pass.
3384
3385         * CMakeLists.txt:
3386         * DerivedSources.make:
3387         * DerivedSources.pri:
3388         * GNUmakefile.am:
3389         * GNUmakefile.list.am:
3390         * Modules/filesystem/DOMWindowFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.cpp.
3391         * Modules/filesystem/DOMWindowFileSystem.h: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.h.
3392         * Modules/filesystem/DOMWindowFileSystem.idl: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.idl.
3393         * Target.pri:
3394         * WebCore.gyp/WebCore.gyp:
3395         * WebCore.gypi:
3396         * WebCore.vcproj/WebCore.vcproj:
3397         * WebCore.vcproj/WebCoreCommon.vsprops:
3398         * WebCore.vcproj/copyForwardingHeaders.cmd:
3399         * fileapi/DOMWindowFileSystem.cpp: Removed.
3400         * fileapi/DOMWindowFileSystem.h: Removed.
3401         * fileapi/DOMWindowFileSystem.idl: Removed.
3402
3403 2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3404
3405         Unreviewed, rolling out r110951.
3406         http://trac.webkit.org/changeset/110951
3407         https://bugs.webkit.org/show_bug.cgi?id=81316
3408
3409         Does not build on apple-mac (Requested by abarth on #webkit).
3410
3411         * platform/audio/DynamicsCompressor.h:
3412         (DynamicsCompressor):
3413         * webaudio/DynamicsCompressorNode.cpp:
3414         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
3415         (WebCore::DynamicsCompressorNode::process):
3416         * webaudio/DynamicsCompressorNode.h:
3417         (DynamicsCompressorNode):
3418         * webaudio/DynamicsCompressorNode.idl:
3419
3420 2012-03-16  Seo Sanghyeon  <sh4.seo@samsung.com>
3421
3422         Cleanup empty attribute list in IDLs
3423         https://bugs.webkit.org/show_bug.cgi?id=81228
3424
3425         Reviewed by Adam Barth.
3426
3427         No tests. No change in behavior.
3428
3429         * css/WebKitCSSRegionRule.idl:
3430
3431 2012-03-16  Pratik Solanki  <psolanki@apple.com>
3432
3433         onorientationchange event should have JSWindowEventListener attribute
3434         https://bugs.webkit.org/show_bug.cgi?id=79513
3435
3436         Reviewed by Kentaro Hara.
3437
3438         * html/HTMLFrameSetElement.idl:
3439
3440 2012-03-15  Gao Chun  <chun.gao@intel.com>
3441
3442         Expose attack, release as DynamicsCompressorNode's attributes.
3443         https://bugs.webkit.org/show_bug.cgi?id=81221
3444
3445         Reviewed by Chris Rogers.
3446
3447         Test: webaudio/dynamicscompressor-basic.html
3448
3449         * platform/audio/DynamicsCompressor.h:
3450         (DynamicsCompressor):
3451         * webaudio/DynamicsCompressorNode.cpp:
3452         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
3453         (WebCore::DynamicsCompressorNode::process):
3454         * webaudio/DynamicsCompressorNode.h: