Ask CG to not parse image metadata
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-10-27  Pratik Solanki  <psolanki@apple.com>
2
3         Ask CG to not parse image metadata
4         https://bugs.webkit.org/show_bug.cgi?id=71029
5
6         Reviewed by Simon Fraser.
7
8         We don't need CG to parse the image metadata since WebCore never uses it. Passing this
9         option shaves off time spent under CGImageSourceCopyPropertiesAtIndex. Under Instruments I
10         saw the time drop from ~75ms to ~25ms when loading http://boston.com/bigpicture and the
11         first link on that page.
12
13         No new tests because no change in functionality.
14
15         * platform/graphics/ImageSource.h:
16         * platform/graphics/cg/ImageSourceCG.cpp:
17         (WebCore::imageSourceOptions):
18         (WebCore::ImageSource::isSizeAvailable):
19         (WebCore::ImageSource::frameSizeAtIndex):
20         (WebCore::ImageSource::getHotSpot):
21         (WebCore::ImageSource::repetitionCount):
22         (WebCore::ImageSource::createFrameAtIndex):
23         (WebCore::ImageSource::frameDurationAtIndex):
24
25 2011-10-27  David Grogan  <dgrogan@chromium.org>
26
27         Move eventqueue from Document to ScriptExecutionContext so that it can be accessed from workers
28         https://bugs.webkit.org/show_bug.cgi?id=57789
29
30         Extract interface from EventQueue and create two new subclasses:
31         DocumentEventQueue and WorkerEventQueue.  DocumentEventQueue is the
32         old EventQueue implementation that uses DOMTimer(0) to post async
33         events.  WorkerEventQueue posts events to its thread's message loop.
34
35         Reviewed by David Levin.
36
37         No new tests - IndexedDB will use this but isn't ready yet.  I don't
38         know of any other API available in workers that I can test this with.
39
40         * GNUmakefile.list.am:
41         * WebCore.gypi:
42         * WebCore.pro:
43         * WebCore.xcodeproj/project.pbxproj:
44         * dom/DOMAllInOne.cpp:
45         * dom/Document.cpp:
46         (WebCore::Document::Document):
47         * dom/Document.h:
48         (WebCore::Document::eventQueue):
49         * dom/DocumentEventQueue.cpp: Renamed from Source/WebCore/dom/EventQueue.cpp.
50         (WebCore::shouldDispatchScrollEventSynchronously):
51         (WebCore::DocumentEventQueueTimer::DocumentEventQueueTimer):
52         (WebCore::DocumentEventQueueTimer::fired):
53         (WebCore::DocumentEventQueue::create):
54         (WebCore::DocumentEventQueue::DocumentEventQueue):
55         (WebCore::DocumentEventQueue::~DocumentEventQueue):
56         (WebCore::DocumentEventQueue::enqueueEvent):
57         (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
58         (WebCore::DocumentEventQueue::cancelEvent):
59         (WebCore::DocumentEventQueue::close):
60         (WebCore::DocumentEventQueue::pendingEventTimerFired):
61         (WebCore::DocumentEventQueue::dispatchEvent):
62         * dom/DocumentEventQueue.h: Copied from Source/WebCore/dom/EventQueue.h.
63         * dom/EventQueue.h:
64         * dom/ScriptExecutionContext.h:
65         * page/EventHandler.cpp: Change EventQueue to DocumentEventQueue.
66         (WebCore::EventHandler::sendScrollEvent): Change EventQueue to DocumentEventQueue.
67         * rendering/RenderLayer.cpp:
68         (WebCore::RenderLayer::scrollTo): Change EventQueue to DocumentEventQueue.
69         * rendering/RenderListBox.cpp:
70         (WebCore::RenderListBox::scrollTo): Change EventQueue to DocumentEventQueue.
71         * storage/IDBDatabase.cpp:
72         * storage/IDBRequest.cpp:
73         * storage/IDBTransaction.cpp:
74         * workers/WorkerContext.cpp:
75         (WebCore::WorkerContext::eventQueue):
76         * workers/WorkerContext.h:
77         * workers/WorkerEventQueue.cpp: Added.
78         (WebCore::WorkerEventQueue::create):
79         (WebCore::WorkerEventQueue::WorkerEventQueue):
80         (WebCore::WorkerEventQueue::~WorkerEventQueue):
81         (WebCore::WorkerEventQueue::EventDispatcherTask::create):
82         (WebCore::WorkerEventQueue::EventDispatcherTask::dispatchEvent):
83         (WebCore::WorkerEventQueue::EventDispatcherTask::performTask):
84         (WebCore::WorkerEventQueue::EventDispatcherTask::cancel):
85         (WebCore::WorkerEventQueue::EventDispatcherTask::EventDispatcherTask):
86         (WebCore::WorkerEventQueue::removeEvent):
87         (WebCore::WorkerEventQueue::enqueueEvent):
88         (WebCore::WorkerEventQueue::cancelEvent):
89         (WebCore::WorkerEventQueue::close):
90         * workers/WorkerEventQueue.h: Copied from Source/WebCore/dom/EventQueue.h.
91
92 2011-10-27  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
93
94         [GStreamer] Prevent memory leak when fullscreening a video
95         https://bugs.webkit.org/show_bug.cgi?id=71043
96
97         Reviewed by Gustavo Noronha Silva.
98
99         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
100         (WebCore::GStreamerGWorld::GStreamerGWorld):
101         (WebCore::GStreamerGWorld::enterFullscreen):
102         (WebCore::GStreamerGWorld::exitFullscreen):
103         * platform/graphics/gstreamer/GStreamerGWorld.h:
104
105 2011-10-27  Joseph Pecoraro  <pecoraro@apple.com>
106
107         Reviewed by David Kilzer.
108
109         Make FeatureDefines Identical Across OS X Projects
110         https://bugs.webkit.org/show_bug.cgi?id=71051
111
112         * Configurations/FeatureDefines.xcconfig:
113
114 2011-10-27  Joseph Pecoraro  <pecoraro@apple.com>
115
116         Correctly Guard Exported REQUEST_ANIMATION_FRAME Symbols
117         https://bugs.webkit.org/show_bug.cgi?id=71047
118
119         Reviewed by David Kilzer.
120
121         * WebCore.exp.in:
122
123 2011-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>
124
125         Unreviewed, rolling out r98626.
126         http://trac.webkit.org/changeset/98626
127         https://bugs.webkit.org/show_bug.cgi?id=71066
128
129         Does not compile on cr-win (Requested by jamesr_ on #webkit).
130
131         * platform/graphics/chromium/FontChromiumWin.cpp:
132         (WebCore::Font::drawGlyphs):
133         * platform/graphics/skia/SkiaFontWin.cpp:
134         (WebCore::paintSkiaText):
135
136 2011-10-27  Tony Chang  <tony@chromium.org>
137
138         Fix a compiler warning caught by gcc 4.6.1. Need to return something.
139
140         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
141         (WebCore::CCSchedulerStateMachine::nextAction):
142
143 2011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>
144
145         Web Inspector: Advanced search style fixes.
146         https://bugs.webkit.org/show_bug.cgi?id=71036
147
148         Reviewed by Pavel Feldman.
149
150         * inspector/front-end/AdvancedSearchController.js:
151         (WebInspector.SearchView):
152         * inspector/front-end/Images/statusbarButtonGlyphs.png:
153         * inspector/front-end/inspector.css:
154         (.search-view .search-panel):
155         (.search-view .search-panel input[type="search"].search-config-search):
156         (.search-view .search-panel input[type="checkbox"].search-config-checkbox):
157         (body:not(.platform-mac) .search-view .search-panel input[type="checkbox"].search-config-checkbox):
158         (body.platform-mac .search-view .search-panel input[type="checkbox"].search-config-checkbox):
159         (#drawer-status-bar .search-status-bar-progress):
160         (body:not(.platform-mac) #drawer-status-bar .search-status-bar-progress):
161         (body.platform-mac #drawer-status-bar .search-status-bar-progress):
162
163 2011-10-27  David Hyatt  <hyatt@apple.com>
164
165         https://bugs.webkit.org/show_bug.cgi?id=71061
166         
167         [CSS Line Grid] Add support for parsing the line-grid property.
168
169         New tests in fast/line-grid.
170
171         Reviewed by Dan Bernstein.
172
173         * css/CSSComputedStyleDeclaration.cpp:
174         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
175         * css/CSSParser.cpp:
176         (WebCore::CSSParser::parseValue):
177         * css/CSSProperty.cpp:
178         (WebCore::CSSProperty::isInheritedProperty):
179         * css/CSSPropertyNames.in:
180         * css/CSSStyleSelector.cpp:
181         (WebCore::CSSStyleSelector::applyProperty):
182         * rendering/style/RenderStyle.h:
183         (WebCore::InheritedFlags::lineGrid):
184         (WebCore::InheritedFlags::setLineGrid):
185         (WebCore::InheritedFlags::initialLineGrid):
186         * rendering/style/StyleRareInheritedData.cpp:
187         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
188         (WebCore::StyleRareInheritedData::operator==):
189         * rendering/style/StyleRareInheritedData.h:
190
191 2011-10-27  Fady Samuel  <fsamuel@chromium.org>
192
193         iframes seem to occasionally doubly scale or scale incorrectly when pageScaleFactor != 1.0
194         https://bugs.webkit.org/show_bug.cgi?id=70552
195
196         Reviewed by Simon Fraser.
197
198         Test: fast/frames/iframe-double-scale-contents.html
199
200         The iframe's document style was using the page's scale factor, rather than the frame's (1.0).
201         If the page scale factor was set after layout was complete, then this would have no impact because the iframe's document style and layout is not recomputed, 
202         but if the page scale factor is set prior to creating and laying out the iframe, the iframe's content would be doubly scaled.
203
204         * css/CSSStyleSelector.cpp:
205         (WebCore::CSSStyleSelector::styleForDocument):
206
207 2011-10-27  Nat Duca  <nduca@chromium.org>
208
209         Unreviewed, fix CCSchedulerStateMachine build errors.
210
211         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
212         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
213
214 2011-10-27  Tony Chang  <tony@chromium.org>
215
216         fix sizing of auto sized flexbox
217         https://bugs.webkit.org/show_bug.cgi?id=70839
218
219         Reviewed by David Hyatt.
220
221         Correctly set the height of the flexbox when we have a column flow
222         and the height is auto.
223
224         Tests: css3/flexbox/columns-auto-size.html
225                css3/flexbox/flex-flow-margins-auto-size.html
226
227         * rendering/RenderFlexibleBox.cpp:
228         (WebCore::RenderFlexibleBox::layoutBlock): Always computeLogicalHeight() after we're done placing children.
229         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection): Set the height as we place children.
230
231 2011-10-25  Vangelis Kokkevis  <vangelis@chromium.org>
232
233         Add support for creating compositing layers for fixed position elements.
234         https://bugs.webkit.org/show_bug.cgi?id=69796
235
236         position:fixed elements will get a compositing layer if:
237         1. Settings:acceleratedCompositingForFixedPositionEnabled() returns true, 
238         2. The element has its own stacking context (e.g. has a z-index), and
239         3. The element's container is the RenderView (e.g. not a descendant of a transformed element)
240
241         Reviewed by Simon Fraser.
242
243
244         Test: compositing/geometry/fixed-position-composited-switch.html
245
246         * page/Settings.cpp:
247         (WebCore::Settings::Settings):
248         * page/Settings.h:
249         (WebCore::Settings::setAcceleratedCompositingForFixedPositionEnabled):
250         (WebCore::Settings::acceleratedCompositingForFixedPositionEnabled):
251         * rendering/RenderLayerCompositor.cpp:
252         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
253         (WebCore::RenderLayerCompositor::updateCompositingLayers):
254         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
255         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
256         * rendering/RenderLayerCompositor.h:
257         * testing/Internals.cpp:
258         (WebCore::Internals::setEnableCompositingForFixedPosition):
259         * testing/Internals.h:
260         * testing/Internals.idl:
261
262 2011-10-27  Arthur Hsu  <arthurhsu@chromium.org>
263
264         https://bugs.webkit.org/show_bug.cgi?id=70390
265         Ensure font load for Skia backend during printing.
266
267         Reviewed by James Robinson.
268
269         * platform/graphics/chromium/FontChromiumWin.cpp:
270         (WebCore::Font::drawGlyphs):
271         * platform/graphics/skia/SkiaFontWin.cpp:
272         (WebCore::paintSkiaText):
273
274 2011-10-27  Michael Saboff  <msaboff@apple.com>
275
276         Investigate storing strings in 8-bit buffers when possible
277         https://bugs.webkit.org/show_bug.cgi?id=66161
278
279         Changes to support 8 bit StringImpl changes.
280         
281         Reviewed by Geoffrey Garen.
282         
283         No new tests, refactored StringImpl for 8 bit strings.
284
285         * platform/text/cf/StringImplCF.cpp:
286         (WTF::StringImpl::createCFString):
287
288 2011-10-27  Nat Duca  <nduca@chromium.org>
289
290         [chromium] Encapsulate state machine parts of scheduling in CCSchedulerStateMachine
291         https://bugs.webkit.org/show_bug.cgi?id=70714
292
293         Reland of ill-fated r98612.
294
295         Reviewed by James Robinson.
296
297         * WebCore.gypi:
298         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Added.
299         (WebCore::CCSchedulerStateMachine::nextAction):
300         (WebCore::CCSchedulerStateMachine::updateState):
301         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Added.
302         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
303         (WebCore::CCSchedulerStateMachine::operator=):
304         (WebCore::CCSchedulerStateMachine::commitPending):
305         (WebCore::CCSchedulerStateMachine::setNeedsRedraw):
306         (WebCore::CCSchedulerStateMachine::setNeedsCommit):
307         (WebCore::CCSchedulerStateMachine::beginFrameComplete):
308         (WebCore::CCSchedulerStateMachine::updateResourcesComplete):
309
310 2011-10-27  Pavel Podivilov  <podivilov@chromium.org>
311
312         Get rid of optional parameters in the middle in IDLs.
313         https://bugs.webkit.org/show_bug.cgi?id=70816
314
315         Reviewed by Adam Barth.
316
317         Optional parameters in the middle are prohibited by WebIDL spec.
318
319         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
320         * bindings/scripts/CodeGeneratorJS.pm:
321         (GenerateHeader):
322         (GenerateImplementation):
323         * bindings/scripts/CodeGeneratorV8.pm:
324         (GenerateHeader):
325         (GenerateArgumentsCountCheck):
326         (GenerateImplementation):
327         * bindings/scripts/test/JS/JSTestObj.cpp:
328         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
329         * bindings/scripts/test/TestObj.idl:
330         * bindings/scripts/test/V8/V8TestObj.cpp:
331         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
332         * html/canvas/CanvasRenderingContext2D.idl:
333         * page/DOMWindow.idl:
334
335 2011-10-27  Antti Koivisto  <antti@apple.com>
336
337         REGRESSION(r98542): tables/mozilla_expected_failures/bugs/bug14007-2.html
338         https://bugs.webkit.org/show_bug.cgi?id=71032
339
340         Reviewed by Dave Hyatt.
341
342         If we apply an explicitly inherited property, we need to apply any further
343         non-inherited properties as the property might get overridden again.
344
345         * css/CSSStyleSelector.cpp:
346         (WebCore::CSSStyleSelector::styleForKeyframe):
347         (WebCore::CSSStyleSelector::styleForPage):
348         (WebCore::CSSStyleSelector::applyDeclaration):
349         (WebCore::CSSStyleSelector::applyDeclarations):
350         * css/CSSStyleSelector.h:
351
352 2011-10-27  Julien Chaffraix  <jchaffraix@webkit.org>
353
354         Remove RenderTableSection::m_gridRows
355         https://bugs.webkit.org/show_bug.cgi?id=70570
356
357         Reviewed by Darin Adler.
358
359         No new test, refactoring only.
360
361         Just nuke the old field that was duplicating
362         m_grid.size().
363
364         * rendering/RenderTableSection.h:
365         (WebCore::RenderTableSection::numRows):
366         * rendering/RenderTableSection.cpp:
367         (WebCore::RenderTableSection::RenderTableSection):
368         (WebCore::RenderTableSection::ensureRows):
369         (WebCore::RenderTableSection::setCellLogicalWidths):
370         (WebCore::RenderTableSection::calcRowLogicalHeight):
371         (WebCore::RenderTableSection::layoutRows):
372         (WebCore::RenderTableSection::calcOuterBorderBefore):
373         (WebCore::RenderTableSection::calcOuterBorderAfter):
374         (WebCore::RenderTableSection::calcOuterBorderStart):
375         (WebCore::RenderTableSection::calcOuterBorderEnd):
376         (WebCore::RenderTableSection::firstLineBoxBaseline):
377         (WebCore::RenderTableSection::paint):
378         (WebCore::RenderTableSection::paintObject):
379         (WebCore::RenderTableSection::clearGrid):
380         (WebCore::RenderTableSection::numColumns):
381         (WebCore::RenderTableSection::appendColumn):
382         (WebCore::RenderTableSection::splitColumn):
383         s/m_gridRows/m_grid.size()/.
384         Also updated the code as m_grid.size() is unsigned.
385
386         (WebCore::RenderTableSection::recalcCells):
387         The old code would keep the grid's memory but we have to clear it to properly
388         count the elements. To avoid lots of small reallocations, we reallocate the
389         buffer at the old capacity upfront.
390
391 2011-10-27  Nat Duca  <nduca@chromium.org>
392
393         Unreviewed, rolling out r98612.
394         http://trac.webkit.org/changeset/98612
395         https://bugs.webkit.org/show_bug.cgi?id=70714
396
397         Broke build
398
399         * WebCore.gypi:
400         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Removed.
401         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Removed.
402
403 2011-10-24  Nat Duca  <nduca@chromium.org>
404
405         [chromium] Encapsulate state machine parts of scheduling in CCSchedulerStateMachine
406         https://bugs.webkit.org/show_bug.cgi?id=70714
407
408         Reviewed by James Robinson.
409
410         * WebCore.gypi:
411         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Added.
412         (WebCore::CCSchedulerStateMachine::nextAction):
413         (WebCore::CCSchedulerStateMachine::updateState):
414         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Added.
415         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
416         (WebCore::CCSchedulerStateMachine::operator=):
417         (WebCore::CCSchedulerStateMachine::commitPending):
418         (WebCore::CCSchedulerStateMachine::setNeedsRedraw):
419         (WebCore::CCSchedulerStateMachine::setNeedsCommit):
420         (WebCore::CCSchedulerStateMachine::beginFrameComplete):
421         (WebCore::CCSchedulerStateMachine::updateResourcesComplete):
422
423 2011-10-27  Dan Bernstein  <mitz@apple.com>
424
425         <rdar://problem/10262205> Allow column progression to be independent of writing mode
426         https://bugs.webkit.org/show_bug.cgi?id=71028
427
428         Reviewed by Darin Adler.
429
430         Tests: fast/multicol/block-axis-horizontal-bt.html
431                fast/multicol/block-axis-horizontal-tb.html
432                fast/multicol/block-axis-vertical-lr.html
433                fast/multicol/block-axis-vertical-rl.html
434                fast/multicol/flipped-blocks-hit-test.html
435
436         Allow “columns” to be stacked along the block axis rather than the inline axis. This can facilitate
437         paginated interfaces. A column-axis property is added in order to enable this mode.
438
439         * css/CSSComputedStyleDeclaration.cpp:
440         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle the column-axis property.
441         * css/CSSParser.cpp:
442         (WebCore::CSSParser::parseValue): Ditto.
443         * css/CSSPrimitiveValueMappings.h:
444         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map ColumnAxis values to identifiers.
445         (WebCore::CSSPrimitiveValue::operator ColumnAxis): Map identifiers to ColumnAxis values.
446         * css/CSSProperty.cpp:
447         (WebCore::CSSProperty::isInheritedProperty): Updated to return false for the column-axis property.
448         * css/CSSPropertyNames.in: Added -webkit-column-axis.
449         * css/CSSStyleSelector.cpp:
450         (WebCore::CSSStyleSelector::applyProperty): Handle column-axis.
451         * rendering/ColumnInfo.h:
452         (WebCore::ColumnInfo::ColumnInfo): Added m_progressionAxis to the initialization list.
453         (WebCore::ColumnInfo::progressionAxis): Added this getter.
454         (WebCore::ColumnInfo::setProgressionAxis): Added this setter.
455         * rendering/RenderBlock.cpp:
456         (WebCore::RenderBlock::addOverflowFromChildren): Simplified, and thus also made this function work
457         with block-axis column progression.
458         (WebCore::RenderBlock::paintColumnRules): Added code to paint rules between columns with block-axis
459         progression.
460         (WebCore::RenderBlock::paintColumnContents): Adjusted the painting offset for the block-axis
461         column progression case.
462         (WebCore::RenderBlock::nodeAtPoint): Fixed hit-testing in flipped-blocks writing modes. This is
463         covered by flipped-blocks-hit-test.html.
464         (WebCore::RenderBlock::hitTestColumns): Adjusted the offset for the block-axis column progression
465         case.
466         (WebCore::RenderBlock::calcColumnWidth): Set the column width to the content logical width in
467         the block-axis column progression case. The column-width and column-count properties are ignored.
468         (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Set the column progression axis based on
469         the style.
470         (WebCore::RenderBlock::columnCount): Broke up an assertion into two.
471         (WebCore::RenderBlock::columnRectAt): Updated for block-axis column progression.
472         (WebCore::RenderBlock::adjustPointToColumnContents): Ditto.
473         (WebCore::RenderBlock::adjustRectForColumns): Ditto.
474         (WebCore::RenderBlock::adjustForColumns): Ditto.
475         * rendering/RenderLayer.cpp:
476         (WebCore::RenderLayer::paintChildLayerIntoColumns): Adjusted the offser for the block-axis column
477         progression case.
478         (WebCore::RenderLayer::hitTestChildLayerColumns): Ditto.
479         * rendering/style/RenderStyle.h:
480         (WebCore::InheritedFlags::columnAxis): Added this getter.
481         (WebCore::InheritedFlags::hasInlineColumnAxis): Added. Checks the column axis against the writing
482         mode.
483         (WebCore::InheritedFlags::specifiesColumns): Changed to return true if the specified column axis
484         is the block axis.
485         (WebCore::InheritedFlags::setColumnAxis): Added this setter.
486         (WebCore::InheritedFlags::initialColumnAxis): Added. Returns AutoColumnAxis.
487         * rendering/style/RenderStyleConstants.h: Added a ColumnAxis enum.
488         * rendering/style/StyleMultiColData.cpp:
489         (WebCore::StyleMultiColData::StyleMultiColData): Added m_axis to the initialization list.
490         (WebCore::StyleMultiColData::operator==): Compare m_axis.
491         * rendering/style/StyleMultiColData.h: Added m_axis member variable.
492
493 2011-10-27  Mihnea Ovidenie  <mihnea@adobe.com>
494
495         [CSSRegions]Flag regions with custom styling
496         https://bugs.webkit.org/show_bug.cgi?id=70733
497
498         Reviewed by David Hyatt.
499
500         Region elements that have custom region styling are now marked accordingly.
501
502         Test: fast/regions/render-region-custom-style-mark.html
503
504         * css/CSSStyleSelector.cpp:
505         (WebCore::CSSStyleSelector::checkRegionStyle):
506         * css/CSSStyleSelector.h:
507         * rendering/RenderRegion.cpp:
508         (WebCore::RenderRegion::RenderRegion):
509         (WebCore::RenderRegion::styleDidChange):
510         * rendering/RenderRegion.h:
511         (WebCore::RenderRegion::hasCustomRegionStyle):
512         (WebCore::RenderRegion::setHasCustomRegionStyle):
513         * rendering/RenderTreeAsText.cpp:
514         (WebCore::writeRenderFlowThreads):
515
516 2011-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>
517
518         Unreviewed, rolling out r98556.
519         http://trac.webkit.org/changeset/98556
520         https://bugs.webkit.org/show_bug.cgi?id=71031
521
522         The test added by the patch doesn't pass on Snow Leopard
523         (Requested by rniwa on #webkit).
524
525         * editing/TextCheckingHelper.cpp:
526         (WebCore::checkTextOfParagraph):
527         * testing/Internals.cpp:
528         * testing/Internals.h:
529         * testing/Internals.idl:
530
531 2011-10-27  Mike Reed  <reed@google.com>
532
533         [skia] replace offscreen technique with native support for antialiased clipping
534         https://bugs.webkit.org/show_bug.cgi?id=70748
535
536         Reviewed by Stephen White.
537
538         ~100 layout tests need to be rebaselined, as the native aa-clipping differs sometimes in the low
539         bits of the result. Other than that, the results should be the same, except that now the drawing
540         can go directly to the canvas, rather than being direct offscreen and then have that result
541         "clipped" during the restore. This has the effect of allowing LCD text to be drawing inside a
542         antialiased clip area.
543
544         * platform/graphics/skia/PlatformContextSkia.cpp:
545         (WebCore::PlatformContextSkia::State::State):
546         (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
547         (WebCore::PlatformContextSkia::clipPathAntiAliased):
548         (WebCore::PlatformContextSkia::restore):
549         * platform/graphics/skia/PlatformContextSkia.h:
550
551 2011-10-27  Tony Chang  <tony@chromium.org>
552
553         use main/cross instead of logical width/height when talking about flow direction
554         https://bugs.webkit.org/show_bug.cgi?id=70977
555
556         Reviewed by Ojan Vafai.
557
558         Flexbox code uses logical in function names to refer to the flow
559         direction. This is confusing because writing mode also uses logical,
560         but this is a diffent usage. To avoid confusion, be explicit about
561         main vs cross axis. Extent is used instead of width/height.
562
563         No new tests, just a refactoring.
564
565         * rendering/RenderFlexibleBox.cpp:
566         (WebCore::RenderFlexibleBox::mainAxisLengthForChild):
567         (WebCore::RenderFlexibleBox::crossAxisLength):
568         (WebCore::RenderFlexibleBox::setCrossExtent):
569         (WebCore::RenderFlexibleBox::crossExtentForChild):
570         (WebCore::RenderFlexibleBox::mainExtentForChild):
571         (WebCore::RenderFlexibleBox::crossAxisExtent):
572         (WebCore::RenderFlexibleBox::mainAxisExtent):
573         (WebCore::RenderFlexibleBox::crossAxisContentExtent):
574         (WebCore::RenderFlexibleBox::mainAxisContentExtent):
575         (WebCore::RenderFlexibleBox::crossAxisBorderAndPaddingExtent):
576         (WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild):
577         (WebCore::RenderFlexibleBox::flowAwareLocationForChild):
578         (WebCore::RenderFlexibleBox::setFlowAwareLocationForChild):
579         (WebCore::RenderFlexibleBox::mainAxisBorderAndPaddingExtentForChild):
580         (WebCore::RenderFlexibleBox::mainAxisScrollbarExtentForChild):
581         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForFlexItem):
582         (WebCore::RenderFlexibleBox::layoutInlineDirection):
583         (WebCore::RenderFlexibleBox::positiveFlexForChild): Since flex only
584             matters in the main axis, there's no reason to deambiguate it here.
585         (WebCore::RenderFlexibleBox::negativeFlexForChild): Ditto.
586         (WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Alignment is always
587             in the cross axis direction, so don't include that in the method name.
588         (WebCore::RenderFlexibleBox::marginBoxAscent):
589         (WebCore::RenderFlexibleBox::computePreferredMainAxisExtent):
590         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
591         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
592         (WebCore::RenderFlexibleBox::adjustAlignmentForChild):  Alignment is always
593             in the cross axis direction, so don't include that in the method name.
594         (WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
595         * rendering/RenderFlexibleBox.h:
596
597 2011-10-27  Mark Hahnenberg  <mhahnenberg@apple.com>
598
599         De-virtualize JSCell::toThisObject
600         https://bugs.webkit.org/show_bug.cgi?id=70958
601
602         Reviewed by Geoffrey Garen.
603
604         No new tests.
605
606         Converted all instances of toThisObject to static functions, 
607         added toThisObject to the MethodTable, and replaced all call sites
608         with a corresponding lookup in the MethodTable.
609
610         * bindings/js/JSDOMWindowBase.cpp:
611         (WebCore::JSDOMWindowBase::toThisObject):
612         * bindings/js/JSDOMWindowBase.h:
613         * bindings/js/JSErrorHandler.cpp:
614         (WebCore::JSErrorHandler::handleEvent):
615         * bridge/NP_jsobject.cpp:
616         (_NPN_Invoke):
617         * bridge/qt/qt_runtime.cpp:
618         (JSC::Bindings::QtRuntimeConnectionMethod::call):
619
620 2011-10-27  Adam Roben  <aroben@apple.com>
621
622         Windows build fix after r98512
623
624         * html/HTMLMediaElement.cpp: Moved a Web Audio-related #include inside an appropriate ENABLE
625         guard.
626
627 2011-10-27  Adam Roben  <aroben@apple.com>
628
629         Regenerate WebCore's Localizable.strings file
630
631         All I did was run update-webkit-localizable-strings. A few localizer comments changed, and
632         some strings (which must have been hand-added) got moved to a different part of the file.
633
634         * English.lproj/Localizable.strings:
635
636 2011-10-27  Daniel Cheng  <dcheng@chromium.org>
637
638         Clean up MicroDataItemValue to use const String& instead of String
639         https://bugs.webkit.org/show_bug.cgi?id=70978
640
641         Reviewed by Tony Chang.
642
643         * html/MicroDataItemValue.cpp:
644         (WebCore::MicroDataItemValue::MicroDataItemValue):
645         * html/MicroDataItemValue.h:
646
647 2011-10-27  Antti Koivisto  <antti@apple.com>
648
649         Use StringHasher to generate the matched declaration cache hash
650         https://bugs.webkit.org/show_bug.cgi?id=71012
651
652         Reviewed by Kenneth Rohde Christiansen and Andreas Kling.
653
654         It is faster and better than the current custom function.
655
656         * css/CSSStyleSelector.cpp:
657         (WebCore::CSSStyleSelector::computeDeclarationHash):
658
659 2011-10-27  Kentaro Hara  <haraken@chromium.org>
660
661         Refactor OptionsObject.cpp
662         https://bugs.webkit.org/show_bug.cgi?id=70572
663
664         Reviewed by Adam Barth.
665
666         For example, OptionsObject::getKeyBool() is an alias of
667         OptionsObject::getKeyValue(const String& key, bool& value).
668         We should remove OptionsObject::getKeyXXXX() (XXXX is some specific type)
669         and unify them into OptionsObject::get(const String& key, XXXX& value).
670         c.f. Corresponding JSC methods are unified into
671         JSDictionary::convertValue(JSC::ExecState*, JSC::JSValue, XXXX&).
672
673         The result of git diff is weird, but this patch is making just the following changes:
674         - Replaced getKeyBool(), getKeyInt32(), getKeyDouble() and getKeyString() with get().
675         - Renamed getKeyStringWithUndefinedOrNullCheck() to getWithUndefinedOrNullCheck().
676         - Removed getKeyDOMStringList() and getKeyKeyRange(), since these are not used.
677         - Move definitions of get() from .h to .cpp.
678
679         No new tests. No change in behavior.
680
681         * bindings/v8/OptionsObject.cpp:
682         (WebCore::OptionsObject::get): Renamed from getKeyValue().
683         (WebCore::OptionsObject::getKey): No change to this method. git diff seems to misunderstand as if it is modified.
684         (WebCore::OptionsObject::getKeyDOMStringList): Removed, since no one is using it.
685         (WebCore::OptionsObject::getKeyKeyRange): Ditto.
686         (WebCore::OptionsObject::getWithUndefinedOrNullCheck): No change to this method. git diff seems to misunderstand as if it is modified.
687         * bindings/v8/OptionsObject.h: Moved definitions of get() to OptionsObject.cpp
688         * bindings/v8/custom/V8EventConstructors.cpp:
689         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
690         (WebCore::V8WebKitMutationObserver::observeCallback): Replaced getKeyXXXX() to get();
691         * storage/IDBDatabase.cpp:
692         (WebCore::IDBDatabase::createObjectStore): Ditto.
693         * storage/IDBObjectStore.cpp:
694         (WebCore::IDBObjectStore::createIndex): Ditto.
695
696 2011-10-27  Andreas Kling  <kling@webkit.org>
697
698         StyleSheet.parentStyleSheet does not work.
699         https://bugs.webkit.org/show_bug.cgi?id=70956
700
701         Reviewed by Antti Koivisto.
702
703         Since StyleSheet is only ever parented by a CSSRule, we need
704         to go through that rule when resolving the StyleSheet's parent.
705
706         Test: fast/css/stylesheet-parentStyleSheet.html
707
708         * css/StyleSheet.cpp:
709         (WebCore::StyleSheet::parentStyleSheet):
710
711 2011-10-27  Antoine Labour  <piman@chromium.org>
712
713         Disable blending when drawing opaque layers
714         https://bugs.webkit.org/show_bug.cgi?id=70085
715
716         Reviewed by James Robinson.
717
718         Covered by compositing/ tests, as well as a new unit test:
719         CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers
720
721         * platform/graphics/chromium/LayerChromium.cpp:
722         (WebCore::LayerChromium::LayerChromium):
723         (WebCore::LayerChromium::pushPropertiesTo):
724         * platform/graphics/chromium/LayerRendererChromium.cpp:
725         (WebCore::LayerRendererChromium::drawLayer):
726         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
727         (WebCore::CCLayerImpl::CCLayerImpl):
728         * platform/graphics/chromium/cc/CCLayerImpl.h:
729         (WebCore::CCLayerImpl::setOpaque):
730         (WebCore::CCLayerImpl::opaque):
731
732 2011-10-27  Joshua Bell  <jsbell@chromium.org>
733
734         IndexedDB: Passing empty array to IDBDatabase.transaction should raise exception
735         https://bugs.webkit.org/show_bug.cgi?id=70251
736
737         Reviewed by Adam Barth.
738
739         IDBDatabase.transaction() supported being called with an empty array to
740         lock all object stores. Support for this was rejected from inclusion in
741         the IDB spec due to performance concerns. This patch removes that
742         functionality.
743
744         A special case in the spec (passing a string instead of an array) worked
745         in WebKit accidentally, by resolving the string to an empty array. This
746         needed explicit support. Support for DOMString[] is added to the binding
747         code generators (reliant on DOMStringList) to ensure JS arrays are not
748         coerced to DOMStrings. This matches the proposed IDL.
749
750         * bindings/scripts/CodeGeneratorV8.pm:
751         (GenerateParametersCheckExpression):
752         (GetNativeType):
753         (JSValueToNative):
754         (IsArrayType):
755         * bindings/scripts/IDLStructure.pm:
756         * storage/IDBDatabase.cpp:
757         (WebCore::IDBDatabase::transaction):
758         * storage/IDBDatabase.h:
759         (WebCore::IDBDatabase::transaction):
760         * storage/IDBDatabase.idl:
761         * storage/IDBTransactionBackendImpl.cpp:
762         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
763         (WebCore::IDBTransactionBackendImpl::objectStore):
764
765 2011-10-27  Ken Buchanan <kenrb@chromium.org>
766
767         Crash due to nested first-letter selectors
768         https://bugs.webkit.org/show_bug.cgi?id=70457
769
770         Now only the lowest-level first-letter pseudostyle will be applied to
771         a given piece of text. Previously the last renderer to have layout
772         done would have its pseudostyle applied, no matter where it was in the
773         tree.
774
775         Reviewed by David Hyatt.
776
777         * renderer/RenderBlock.cpp:
778         (WebCore::RenderBlock::updateFirstLetter): Use the pseudostyle from
779         the lowest level node to have one
780
781 2011-10-27  Andras Becsi  <andras.becsi@nokia.com>
782
783         Fix the build if NO_LISTBOX_RENDERING is enabled
784         https://bugs.webkit.org/show_bug.cgi?id=71009
785
786         Reviewed by Kenneth Rohde Christiansen.
787
788         If NO_LISTBOX_RENDERING is enabled RenderMenuList::listBoxSelectItem uses the
789         HTMLSelectElement::listBoxSelectItem function which was accidentally removed in r97533.
790         Reintroduce HTMLSelectElement::listBoxSelectItem with a NO_LISTBOX_RENDERING guard to unbreak this setup.
791
792         This is covered by:
793         Source/WebCore/manual-tests/no-listbox-rendering.html
794
795         * html/HTMLSelectElement.cpp:
796         (WebCore::HTMLSelectElement::listBoxSelectItem): Reintroduce.
797         * html/HTMLSelectElement.h:
798
799 2011-10-27  Shinya Kawanaka  <shinyak@google.com>
800
801         Implement legacy text check emulation in unified text check interface.
802         https://bugs.webkit.org/show_bug.cgi?id=70299
803
804         Reviewed by Hajime Morita.
805
806         When UNIFIED_TEXT_CHECKING is off, WebCore::checkTextOfParagraph() emulates
807         TextCheckerClient::checkTextOfParagraph() using checkSpellingOfString and checkGrammarOfString.
808
809         This emulation can be used by setting the flag on.
810         This can be done by WebCore::Internals::setUnifiedTextCheckingEnabled.
811
812         Test: editing/spelling/spelling-unified-emulation.html
813
814         * editing/TextCheckingHelper.cpp:
815         (WebCore::findBadGrammars): Added.
816         (WebCore::findMisspellings): Added.
817         (WebCore::checkTextOfParagraph):
818           Emulates TextCheckerClients::checkTextOfParagraph if UNIFIED_TEXT_CHECKING is off.
819         * testing/Internals.cpp:
820         (WebCore::Internals::setUnifiedTextCheckingEnabled): flag setter.
821         (WebCore::Internals::unifiedTextCheckingEnabled): flag getter.
822         * testing/Internals.h:
823         * testing/Internals.idl:
824
825 2011-10-27  Philippe Normand  <pnormand@igalia.com>
826
827         Unreviewed, remove those un-needed files committed by error in
828         r98554.
829
830         * platform/audio/gstreamer/#AudioFileReaderGStreamer.h#: Removed.
831         * platform/audio/gstreamer/.#AudioFileReaderGStreamer.h: Removed.
832
833 2011-10-27  Philippe Normand  <pnormand@igalia.com> and Zan Dobersek  <zandobersek@gmail.com>
834
835         [GStreamer] WebAudio AudioFileReader implementation
836         https://bugs.webkit.org/show_bug.cgi?id=69834
837
838         Reviewed by Martin Robinson.
839
840         Basic FileReader implementation, supporting one or 2 audio
841         channels. An empty AudioDestination is also provided, its complete
842         implementation is handled in bug 69835.
843
844         * GNUmakefile.am:
845         * GNUmakefile.list.am:
846         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp: Added.
847         (WebCore::AudioDestination::create):
848         (WebCore::AudioDestination::hardwareSampleRate):
849         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
850         (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
851         (WebCore::AudioDestinationGStreamer::start):
852         (WebCore::AudioDestinationGStreamer::stop):
853         * platform/audio/gstreamer/AudioDestinationGStreamer.h: Added.
854         (WebCore::AudioDestinationGStreamer::isPlaying):
855         (WebCore::AudioDestinationGStreamer::sampleRate):
856         (WebCore::AudioDestinationGStreamer::sourceProvider):
857         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: Added.
858         (WebCore::getGStreamerAudioCaps):
859         (WebCore::getFloatFromByteReader):
860         (WebCore::copyGstreamerBuffersToAudioChannel):
861         (WebCore::onAppsinkNewBufferCallback):
862         (WebCore::messageCallback):
863         (WebCore::onGStreamerDeinterleavePadAddedCallback):
864         (WebCore::onGStreamerDeinterleaveReadyCallback):
865         (WebCore::onGStreamerDecodebinPadAddedCallback):
866         (WebCore::AudioFileReader::AudioFileReader):
867         (WebCore::AudioFileReader::~AudioFileReader):
868         (WebCore::AudioFileReader::handleBuffer):
869         (WebCore::AudioFileReader::handleMessage):
870         (WebCore::AudioFileReader::handleNewDeinterleavePad):
871         (WebCore::AudioFileReader::deinterleavePadsConfigured):
872         (WebCore::AudioFileReader::plugDeinterleave):
873         (WebCore::AudioFileReader::createBus):
874         (WebCore::createBusFromAudioFile):
875         (WebCore::createBusFromInMemoryAudioFile):
876         * platform/audio/gtk/AudioBusGtk.cpp: Added.
877         (WebCore::AudioBus::loadPlatformResource):
878
879 2011-10-27  Philippe Normand  <pnormand@igalia.com>
880
881         Unreviewed, rebaseline of the bindings tests after r98501 which
882         removed getOwnPropertySlotVirtual.
883
884         * bindings/scripts/test/JS/JSTestInterface.cpp:
885         * bindings/scripts/test/JS/JSTestInterface.h:
886         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
887         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
888         * bindings/scripts/test/JS/JSTestObj.cpp:
889         * bindings/scripts/test/JS/JSTestObj.h:
890         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
891         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
892
893 2011-10-27  Ilya Tikhonovsky  <loislo@chromium.org>
894
895         WebInspector: View throughs the exception when a child view are removed by removeChildren call.
896         https://bugs.webkit.org/show_bug.cgi?id=71002
897
898         Another followup fix after r98225.
899
900         Reviewed by Pavel Feldman.
901
902         * inspector/front-end/DatabaseTableView.js:
903         (WebInspector.DatabaseTableView.prototype._queryFinished):
904         (WebInspector.DatabaseTableView.prototype._queryError):
905
906 2011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>
907
908         Web Inspector: Execution line in selected call frame should keep showing after toggling format source.
909         https://bugs.webkit.org/show_bug.cgi?id=70906
910
911         Reviewed by Yury Semikhatsky.
912
913         Test: inspector/debugger/selected-call-frame-after-formatting-source.html
914
915         * inspector/front-end/DebuggerPresentationModel.js:
916         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
917
918 2011-10-27  Steve Block  <steveblock@google.com>
919
920         Numerous debug build fixes
921
922         Unreviewed build fix.
923
924         No new tests, buuld fix only.
925
926         * loader/icon/IconDatabase.cpp: urlForLogging() is used by both LOG() and LOG_ERROR()
927         * storage/AbstractDatabase.h: databaseDebugName() is used by both LOG() and LOG_ERROR()
928         * storage/DatabaseTask.cpp: m_complete is only available when !LOG_DISABLED
929
930 2011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>
931
932         Web Inspector: Refactor ScriptsPanel so that ConsoleView does not depend on it.
933         https://bugs.webkit.org/show_bug.cgi?id=70899
934
935         Moved methods used in console view to DebuggerPresentationModel.
936         Changed debuggerPaused handler logic so that selectedCallFrame is never null when debugger is paused.
937
938         Reviewed by Pavel Feldman.
939
940         * inspector/front-end/ConsoleView.js:
941         * inspector/front-end/DebuggerPresentationModel.js:
942         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
943         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
944         (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
945         (WebInspector.DebuggerPresentationModel.prototype.getSelectedCallFrameVariables.propertiesCollected):
946         (WebInspector.DebuggerPresentationModel.prototype.getSelectedCallFrameVariables):
947         (WebInspector.DebuggerPresentationModel.prototype._dispatchExecutionLineChanged):
948         (WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
949         * inspector/front-end/ScriptsPanel.js:
950         (WebInspector.ScriptsPanel.prototype._consoleCommandEvaluatedInSelectedCallFrame):
951         (WebInspector.ScriptsPanel.prototype._executionLineChanged):
952         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
953         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
954         (WebInspector.ScriptsPanel.prototype._updateCallFrame):
955
956 2011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>
957
958         Web Inspector: Add support for advanced search in content scripts.
959         https://bugs.webkit.org/show_bug.cgi?id=70923
960
961         Reviewed by Yury Semikhatsky.
962
963         * English.lproj/localizedStrings.js:
964         * inspector/front-end/ScriptsSearchScope.js:
965         * inspector/front-end/SettingsScreen.js:
966         (WebInspector.SettingsScreen):
967
968 2011-10-27  Ilya Tikhonovsky  <loislo@chromium.org>
969
970         Unreviewed one line fix for DOMStorageItemsView.
971         It have to use this.detachChildViews instead of this.element.removeChildren after r98225.
972
973         * inspector/front-end/DOMStorageItemsView.js:
974         (WebInspector.DOMStorageItemsView.prototype.update):
975
976 2011-10-27  Antti Koivisto  <antti@apple.com>
977
978         Matched declaration cache
979         https://bugs.webkit.org/show_bug.cgi?id=70931
980
981         Reviewed by Darin Adler.
982
983         Sets of style declarations are applied repeatedly for different elements when calculating the document style.
984         The same set of applied declarations results in the same non-inherited style, independent of the element and 
985         its context. We can use this to build a cache to speed up style applying and to share more style data for
986         reduced memory usage.
987         
988         The patch reduces RenderStyle memory use ~40% and total memory use by ~7% over HTML5 spec load.
989         It is also ~10% progression in PerformanceTests/Parser/html5-full-render.html.
990
991         * css/CSSProperty.cpp:
992         (WebCore::CSSProperty::isInheritedProperty):
993         * css/CSSProperty.h:
994         (WebCore::CSSProperty::CSSProperty):
995         (WebCore::CSSProperty::isInherited):
996         
997             We need to know which properties are inherited, something we didn't have available so far.
998         
999         * css/CSSStyleSelector.cpp:
1000         (WebCore::CSSStyleSelector::matchAllRules):
1001         
1002             A set of declarations is only cacheable if it contains no element specific style. This way we
1003             don't need to worry about cache invalidation. The whole style selector is reconstructed if the
1004             stylesheets change, invalidating the cache too.
1005     
1006         (WebCore::CSSStyleSelector::styleForElement):
1007         
1008             Trigger image loads bit earlier so cached style will have them too.
1009         
1010         (WebCore::CSSStyleSelector::applyDeclaration):
1011         (WebCore::CSSStyleSelector::applyDeclarations):
1012         
1013             Allow skipping over non-inherited properties.
1014         
1015         (WebCore::CSSStyleSelector::computeDeclarationHash):
1016         
1017             Hash function for declartion cache lookups.
1018         
1019         (WebCore::operator==):
1020         (WebCore::operator!=):
1021         (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
1022         
1023             Lookup from cache.
1024         
1025         (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
1026         
1027             Add to cache.
1028         
1029         (WebCore::CSSStyleSelector::applyMatchedDeclarations):
1030         
1031             If cached style is found, copy the non-inherited properties from the cache and apply the inherited properties (if any) only.
1032         
1033             Font and zoom changes force full applying as they can affect values of other properties (this can be relaxed later).
1034         
1035         * css/CSSStyleSelector.h:
1036         (WebCore::CSSStyleSelector::MatchResult::MatchResult):
1037         
1038             Cacheability bit.
1039         
1040         * rendering/style/RenderStyle.cpp:
1041         (WebCore::RenderStyle::copyNonInheritedFrom):
1042         * rendering/style/RenderStyle.h:
1043         * rendering/style/SVGRenderStyle.cpp:
1044         (WebCore::SVGRenderStyle::copyNonInheritedFrom):
1045         * rendering/style/SVGRenderStyle.h:
1046         
1047             Functions for assembling RenderStyle from non-inherited parts of the cached style.
1048
1049 2011-10-27  Andrey Kosyakov  <caseq@chromium.org>
1050
1051         Web Inspector: [Extensions API] add ignoreCache flag to options of inspectedWindow.reload()
1052         https://bugs.webkit.org/show_bug.cgi?id=70926
1053
1054         Reviewed by Pavel Feldman.
1055
1056         Test: http/tests/inspector/extensions-ignore-cache.html
1057
1058         * inspector/front-end/ExtensionServer.js:
1059         (WebInspector.ExtensionServer.prototype._onReload):
1060         * inspector/front-end/externs.js:
1061         ():
1062
1063 2011-10-26  Steve Falkenburg  <sfalken@apple.com>
1064
1065         ResourceError doesn't support custom domains on Windows
1066         https://bugs.webkit.org/show_bug.cgi?id=70983
1067         <rdar://problem/10352145>
1068
1069         Reviewed by Oliver Hunt.
1070
1071         * platform/network/cf/ResourceErrorCF.cpp:
1072         (WebCore::ResourceError::platformLazyInit): Add fallback case for unknown error types.
1073
1074 2011-10-26  Dan Bernstein  <mitz@apple.com>
1075
1076         Fix a slider thumb rendering regression in Chromium on OS X in r98520.
1077
1078         Reviewed by Anders Carlsson.
1079
1080         * rendering/RenderThemeMac.mm:
1081         (WebCore::RenderThemeMac::paintSliderThumb): Reverted the changes to the Chromium code path.
1082
1083 2011-10-26  Julien Chaffraix  <jchaffraix@webkit.org>
1084
1085         Unreviewed, rolling out r98486.
1086         http://trac.webkit.org/changeset/98486
1087         https://bugs.webkit.org/show_bug.cgi?id=70748
1088
1089         Broke Chromium's test_expectation.txt
1090
1091         * platform/graphics/skia/PlatformContextSkia.cpp:
1092         (WebCore::PlatformContextSkia::State::State):
1093         (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
1094         (WebCore::PlatformContextSkia::clipPathAntiAliased):
1095         (WebCore::PlatformContextSkia::restore):
1096         (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
1097         * platform/graphics/skia/PlatformContextSkia.h:
1098
1099 2011-10-26  Dan Bernstein  <mitz@apple.com>
1100
1101         <rdar://problem/10350775> REGRESSION (r97032): Slider thumb is not drawn
1102         https://bugs.webkit.org/show_bug.cgi?id=70891
1103
1104         Reviewed by Anders Carlsson.
1105
1106         * platform/mac/ThemeMac.mm:
1107         (WebCore::ThemeMac::ensuredView): Set the WebCoreFlippedView’s size, because NSSliderCell
1108         always shrinks the slider thumb to fit in the control view’s bounds.
1109         * rendering/RenderThemeMac.mm:
1110         (WebCore::RenderThemeMac::paintSliderThumb): Removed workaround code no longer needed after
1111         r97032.
1112
1113 2011-10-26  Chris Rogers  <crogers@google.com>
1114
1115         Add AudioSourceProviderClient and setFormat() method so we can know audio stream format
1116         https://bugs.webkit.org/show_bug.cgi?id=70155
1117
1118         Reviewed by Eric Carlson.
1119
1120         No new tests.  There isn't yet an implementation to test.
1121
1122         * html/HTMLMediaElement.cpp:
1123         (WebCore::HTMLMediaElement::createMediaPlayer):
1124         (WebCore::HTMLMediaElement::setAudioSourceNode):
1125         Let MediaPlayer know about the MediaElementAudioSourceNode so it can callback with audio stream format information.
1126         * platform/audio/AudioSourceProvider.h:
1127         (WebCore::AudioSourceProvider::setClient):
1128         Add abstract setClient() method so a client may know about stream format information when it becomes available.
1129         * platform/audio/AudioSourceProviderClient.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
1130         (WebCore::AudioSourceProviderClient::~AudioSourceProviderClient):
1131         Add abstract class AudioSourceProviderClient which implements setFormat() to receive audio stream format information.
1132         * webaudio/MediaElementAudioSourceNode.cpp:
1133         (WebCore::MediaElementAudioSourceNode::setFormat):
1134         Concrete implementation of setFormat() so MediaElementAudioSourceNode can create necessary audio converters.
1135         * webaudio/MediaElementAudioSourceNode.h:
1136         Make MediaElementAudioSourceNode implement AudioSourceProviderClient so it can get audio stream format information
1137         when its setFormat() method is called.
1138
1139 2011-10-26  Julien Chaffraix  <jchaffraix@webkit.org>
1140
1141         Unreviewed, rolling out r98483.
1142         http://trac.webkit.org/changeset/98483
1143         https://bugs.webkit.org/show_bug.cgi?id=47156
1144
1145         Change is causing some crashes and ASSERTs.
1146
1147         * loader/cache/CachedImage.cpp:
1148         (WebCore::CachedImage::lookupImageForSize):
1149         (WebCore::CachedImage::lookupImageForRenderer):
1150         (WebCore::CachedImage::lookupOrCreateImageForRenderer):
1151         (WebCore::CachedImage::setContainerSizeForRenderer):
1152         (WebCore::CachedImage::imageSizeForRenderer):
1153         (WebCore::CachedImage::computeIntrinsicDimensions):
1154         (WebCore::CachedImage::createImage):
1155         * loader/cache/CachedImage.h:
1156         * page/ChromeClient.h:
1157         * rendering/ImageBySizeCache.cpp:
1158         (WebCore::ImageBySizeCache::addClient):
1159         (WebCore::ImageBySizeCache::removeClient):
1160         (WebCore::ImageBySizeCache::imageForSize):
1161         (WebCore::ImageBySizeCache::sizeForClient):
1162         * rendering/ImageBySizeCache.h:
1163         * rendering/RenderBoxModelObject.cpp:
1164         (WebCore::RenderBoxModelObject::calculateFillTileSize):
1165         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1166         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1167         * rendering/RenderBoxModelObject.h:
1168         * rendering/RenderImage.cpp:
1169         (WebCore::RenderImage::RenderImage):
1170         (WebCore::RenderImage::imageDimensionsChanged):
1171         (WebCore::RenderImage::isLogicalWidthSpecified):
1172         (WebCore::RenderImage::isLogicalHeightSpecified):
1173         (WebCore::RenderImage::computeReplacedLogicalWidth):
1174         (WebCore::RenderImage::computeReplacedLogicalHeight):
1175         (WebCore::RenderImage::calcAspectRatioLogicalWidth):
1176         (WebCore::RenderImage::calcAspectRatioLogicalHeight):
1177         * rendering/RenderImage.h:
1178         * rendering/RenderImageResource.cpp:
1179         (WebCore::RenderImageResource::setContainerSizeForRenderer):
1180         * rendering/RenderImageResourceStyleImage.cpp:
1181         * rendering/RenderImageResourceStyleImage.h:
1182         (WebCore::RenderImageResourceStyleImage::image):
1183         (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer):
1184         * rendering/RenderListMarker.cpp:
1185         (WebCore::RenderListMarker::computePreferredLogicalWidths):
1186         * rendering/RenderReplaced.cpp:
1187         (WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
1188         (WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
1189         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
1190         * rendering/style/StyleCachedImage.cpp:
1191         (WebCore::StyleCachedImage::computeIntrinsicDimensions):
1192         (WebCore::StyleCachedImage::setContainerSizeForRenderer):
1193         (WebCore::StyleCachedImage::addClient):
1194         (WebCore::StyleCachedImage::removeClient):
1195         * rendering/style/StyleCachedImage.h:
1196         * rendering/style/StyleGeneratedImage.h:
1197         (WebCore::StyleGeneratedImage::setContainerSizeForRenderer):
1198         * rendering/style/StyleImage.h:
1199         * rendering/style/StylePendingImage.h:
1200         (WebCore::StylePendingImage::setContainerSizeForRenderer):
1201         * rendering/svg/RenderSVGImage.cpp:
1202         (WebCore::RenderSVGImage::layout):
1203         * rendering/svg/RenderSVGRoot.cpp:
1204         (WebCore::RenderSVGRoot::computeIntrinsicWidth):
1205         (WebCore::RenderSVGRoot::computeIntrinsicHeight):
1206         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
1207         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
1208         (WebCore::RenderSVGRoot::layout):
1209         (WebCore::RenderSVGRoot::paint):
1210         (WebCore::RenderSVGRoot::calcViewport):
1211         (WebCore::RenderSVGRoot::computeRectForRepaint):
1212         * rendering/svg/RenderSVGRoot.h:
1213         * svg/SVGLength.cpp:
1214         (WebCore::SVGLength::determineViewport):
1215         * svg/SVGSVGElement.cpp:
1216         (WebCore::SVGSVGElement::SVGSVGElement):
1217         (WebCore::SVGSVGElement::relativeWidthValue):
1218         (WebCore::SVGSVGElement::relativeHeightValue):
1219         (WebCore::SVGSVGElement::currentViewBoxRect):
1220         * svg/SVGSVGElement.h:
1221         (WebCore::SVGSVGElement::setContainerSize):
1222         (WebCore::SVGSVGElement::containerSize):
1223         (WebCore::SVGSVGElement::hasSetContainerSize):
1224         * svg/graphics/SVGImage.cpp:
1225         (WebCore::SVGImage::setContainerSize):
1226         (WebCore::SVGImage::usesContainerSize):
1227         (WebCore::SVGImage::size):
1228         (WebCore::SVGImage::hasRelativeWidth):
1229         (WebCore::SVGImage::hasRelativeHeight):
1230         (WebCore::SVGImage::draw):
1231         (WebCore::SVGImage::computeIntrinsicDimensions):
1232         (WebCore::SVGImage::dataChanged):
1233         * svg/graphics/SVGImage.h:
1234
1235 2011-10-26  Eric Carlson  <eric.carlson@apple.com>
1236
1237         Constructors for all TextTrack interfaces should be available on DOMWindow
1238         https://bugs.webkit.org/show_bug.cgi?id=70734
1239
1240         Reviewed by Sam Weinig.
1241         
1242         window-properties-expected.txt and global-constructors-expected.txt updated for this change.
1243
1244         * page/DOMWindow.idl: Add HTMLTrackElement, TextTrack, and TextTrackCueList.
1245
1246 2011-10-25  Andy Estes  <aestes@apple.com>
1247
1248         REGRESSION (r93108): Shadow DOM media controls created for plug-in backed media elements.
1249         https://bugs.webkit.org/show_bug.cgi?id=70872
1250
1251         Reviewed by Eric Carlson.
1252
1253         r93108 added a call to HTMLMediaElement::configureMediaControls() in
1254         HTMLMediaElement::prepareForLoad(), which creates shadow DOM media
1255         controls and is only appropriate to call when media elements are not
1256         backed by plug-in proxies.
1257
1258         Resolve this by refactoring configureMediaControls() to do the right
1259         thing for the plug-in proxy case by calling MediaPlayer::setControls().
1260
1261         * html/HTMLMediaElement.cpp:
1262         (WebCore::HTMLMediaElement::attributeChanged): Call
1263         configureMediaControls() directly and remove the preprocessor
1264         conditional.
1265         (WebCore::HTMLMediaElement::configureMediaControls): Call
1266         MediaPlayer::setControls() if PLUGIN_PROXY_FOR_VIDEO is enabled.
1267
1268 2011-10-26  Jon Lee  <jonlee@apple.com>
1269
1270         selectedIndex gets set from -1 to 0 when modifying options
1271         https://bugs.webkit.org/show_bug.cgi?id=70547
1272         <rdar://problem/8388856>
1273
1274         Reviewed by Darin Adler.
1275
1276         Changing the text causes a recalculation of the list items, which in the menu list case
1277         forces the first element to be selected. We check the value of the selected option prior,
1278         and restore it if it differs.
1279
1280         Test: fast/dom/HTMLSelectElement/selected-index-preserved-when-option-text-changes.html
1281
1282         * html/HTMLOptionElement.cpp:
1283         (WebCore::HTMLOptionElement::setText):
1284         * html/HTMLSelectElement.h: promote usesMenuList() from private to public for use by HTMLOptionElement
1285
1286 2011-10-25  Alexey Proskuryakov  <ap@apple.com>
1287
1288         Embedded PDFs should be known to DocumentLoader
1289         https://bugs.webkit.org/show_bug.cgi?id=70864
1290
1291         Reviewed by Darin Adler.
1292
1293         * WebCore.exp.in: Added exports.
1294
1295 2011-10-26  Mark Hahnenberg  <mhahnenberg@apple.com>
1296
1297         Remove getOwnPropertySlotVirtual
1298         https://bugs.webkit.org/show_bug.cgi?id=70741
1299
1300         Reviewed by Geoffrey Garen.
1301
1302         No new tests.
1303
1304         Removed all declarations and definitions of getOwnPropertySlotVirtual.
1305         Also replaced all call sites to getOwnPropertyVirtualVirtual with a 
1306         corresponding lookup in the MethodTable.
1307
1308         * WebCore.exp.in:
1309         * bindings/js/JSDOMWindowCustom.cpp:
1310         (WebCore::DialogHandler::returnValue):
1311         * bindings/js/JSDOMWindowShell.cpp:
1312         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
1313         * bindings/js/JSDOMWindowShell.h:
1314         * bindings/js/SerializedScriptValue.cpp:
1315         (WebCore::CloneSerializer::getSparseIndex):
1316         (WebCore::CloneSerializer::getProperty):
1317         * bindings/scripts/CodeGeneratorJS.pm:
1318         (GenerateHeader):
1319         (GenerateImplementation):
1320         (GenerateConstructorDeclaration):
1321         (GenerateConstructorDefinition):
1322         * bridge/objc/objc_runtime.h:
1323         * bridge/objc/objc_runtime.mm:
1324         * bridge/qt/qt_runtime.cpp:
1325         * bridge/qt/qt_runtime.h:
1326         * bridge/runtime_array.cpp:
1327         * bridge/runtime_array.h:
1328         * bridge/runtime_method.cpp:
1329         * bridge/runtime_method.h:
1330         * bridge/runtime_object.cpp:
1331         * bridge/runtime_object.h:
1332
1333 2011-10-26  Alejandro G. Castro  <alex@igalia.com>
1334
1335         [GTK] Fix distcheck compilation
1336         https://bugs.webkit.org/show_bug.cgi?id=70921
1337
1338         Add EventTargetFactory.in to the dist files, required after
1339         r98388.
1340
1341         Reviewed by Martin Robinson.
1342
1343         * GNUmakefile.am:
1344
1345 2011-10-26  Michael Saboff  <msaboff@apple.com>
1346
1347         Increase StringImpl Flag Bits for 8 bit Strings
1348         https://bugs.webkit.org/show_bug.cgi?id=70937
1349
1350         Increased the number of bits used for flags in StringImpl
1351         from 6 to 8 bits. This frees up 2 flag bits that will be
1352         used for 8-bit string support. Updated hash methods accordingly.
1353         Changed hash value masking from the low bits to the high
1354         bits.
1355
1356         Reviewed by Darin Adler.
1357
1358         * bindings/scripts/CodeGeneratorJS.pm:
1359         (GenerateHashValue):
1360
1361 2011-10-26  Dimitri Glazkov  <dglazkov@chromium.org>
1362
1363         REGRESSION (r94887): Scrolling the HTML spec is more jerky now than it was (regression)
1364         https://bugs.webkit.org/show_bug.cgi?id=70857
1365
1366         Revert r94887, because it regressed performance.
1367
1368         Rubber-stamped by Antti Koivisto.
1369
1370         * css/CSSStyleSelector.cpp:
1371         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1372         (WebCore::parentStylePreventsSharing):
1373         * css/SelectorChecker.cpp:
1374         (WebCore::SelectorChecker::checkSelector):
1375         * dom/Element.cpp:
1376         (WebCore::Element::recalcStyle):
1377         (WebCore::checkForSiblingStyleChanges):
1378         * rendering/style/RenderStyle.cpp:
1379         (WebCore::RenderStyle::RenderStyle):
1380         * rendering/style/RenderStyle.h:
1381         (WebCore::InheritedFlags::childrenAffectedByDirectAdjacentRules):
1382         (WebCore::InheritedFlags::setChildrenAffectedByDirectAdjacentRules):
1383
1384 2011-10-26  Alexander Pavlov  <apavlov@chromium.org>
1385
1386         Web Inspector: Need workaround for the red crossed circle in the status bar not bringing up the console when clicked
1387         https://bugs.webkit.org/show_bug.cgi?id=70928
1388
1389         Reviewed by Pavel Feldman.
1390
1391         * inspector/front-end/inspector.css:
1392         (#error-count-img):
1393         (#error-count + #warning-count-img):
1394         (#warning-count-img):
1395         * inspector/front-end/inspector.js:
1396         (WebInspector._updateErrorAndWarningCounts):
1397
1398 2011-10-26  Mike Reed  <reed@google.com>
1399
1400         [skia] replace offscreen technique with native support for antialiased clipping
1401         https://bugs.webkit.org/show_bug.cgi?id=70748
1402
1403         Reviewed by Stephen White.
1404
1405         ~100 layout tests need to be rebaselined, as the native aa-clipping differs sometimes in the low
1406         bits of the result. Other than that, the results should be the same, except that now the drawing
1407         can go directly to the canvas, rather than being direct offscreen and then have that result
1408         "clipped" during the restore. This has the effect of allowing LCD text to be drawing inside a
1409         antialiased clip area.
1410
1411         * platform/graphics/skia/PlatformContextSkia.cpp:
1412         (WebCore::PlatformContextSkia::State::State):
1413         (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
1414         (WebCore::PlatformContextSkia::clipPathAntiAliased):
1415         (WebCore::PlatformContextSkia::restore):
1416
1417 2011-10-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1418
1419         CSS 2.1 failure: background-intrinsic-*
1420         https://bugs.webkit.org/show_bug.cgi?id=47156
1421
1422         SVGs do not work as tiled background images
1423         https://bugs.webkit.org/show_bug.cgi?id=16281
1424
1425         Apply preserveAspectRatio and synthesize viewboxes in <img>
1426         https://bugs.webkit.org/show_bug.cgi?id=34521
1427
1428         SVG background doesn't resize properly when dimensions are changed
1429         https://bugs.webkit.org/show_bug.cgi?id=42944
1430
1431         Images with percent height inside a floated div should use intrinsic height.
1432         https://bugs.webkit.org/show_bug.cgi?id=45439
1433
1434         SVG image in HTML changes size as the window is resized
1435         https://bugs.webkit.org/show_bug.cgi?id=52045
1436
1437         Reviewed by Antti Koivisto.
1438
1439         Implement intrinsic sizing support for SVGImage (svg embedded through <html:img>/<svg:image>/background-image/border-image/...).
1440         This is demanded by CSS 2.1, and covered by new layout tests in LayoutTests/css2.1 and several new custom testcases.
1441
1442         Tests: css2.1/20110323/background-intrinsic-001.htm
1443                css2.1/20110323/background-intrinsic-002.htm
1444                css2.1/20110323/background-intrinsic-003.htm
1445                css2.1/20110323/background-intrinsic-004.htm
1446                css2.1/20110323/background-intrinsic-005.htm
1447                css2.1/20110323/background-intrinsic-006.htm
1448                css2.1/20110323/background-intrinsic-007.htm
1449                css2.1/20110323/background-intrinsic-008.htm
1450                css2.1/20110323/background-intrinsic-009.htm
1451                svg/as-background-image/background-image-preserveaspectRatio-support.html (adapted from testcase from bug 34521)
1452                svg/as-background-image/background-image-tiled.html (reduction from bug 16281)
1453                svg/as-background-image/same-image-two-instances-background-image.html
1454                svg/as-image/img-preserveAspectRatio-support-1.html (reduction from bug 34521)
1455                svg/as-image/same-image-two-instances.html
1456                svg/as-image/svg-as-relative-image-with-explicit-size.html
1457                svg/as-image/svg-image-change-content-size.xhtml (reduction from bug 42944)
1458                svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
1459
1460         * loader/cache/CachedImage.cpp: Enable SVGImage <-> IntSize cache.
1461         (WebCore::CachedImage::lookupImageForSize): Use recently introduced ImageBySizeCache, to lookup an image for a certain size.
1462         (WebCore::CachedImage::lookupImageForRenderer): Lookup image by renderer, which first looks up a size for a renderer, then uses lookupImageForSize().
1463         (WebCore::createSVGImage): Refactored from createImage(), contains the SVGImage creation part only.
1464         (WebCore::CachedImage::lookupOrCreateImageForRenderer): Use recently introduced ImageBySizeCache, to dynamically create copies of m_image if needed.
1465         (WebCore::CachedImage::setContainerSizeForRenderer): For SVGImages, pass on container size handling to ImageBySizeCache.
1466         (WebCore::CachedImage::imageSizeForRenderer): Figure out the image size, respecting per-renderer overrides, for a certain renderer.
1467         (WebCore::CachedImage::computeIntrinsicDimensions): Remove unnecessary RenderObject parameter.
1468         (WebCore::CachedImage::addClientForRenderer): Special variant of addClient(), overriding the existing in CachedResource.
1469         (WebCore::CachedImage::removeClientForRenderer): Special variant of removeClient(), that also clears the image in the ImageBySizeCache.
1470         (WebCore::CachedImage::createImage): Refactor SVGImage creation into createSVGImage() free function, to be useable from lookupOrCreateImageForRenderer().
1471         * loader/cache/CachedImage.h: Expose removeClientForRenderer().
1472         * page/ChromeClient.h:
1473         (WebCore::ChromeClient::isSVGImageChromeClient): Used to identify whether a RenderSVGRoot is embedded through a SVGImage. Returns false, by default.
1474         * rendering/ImageBySizeCache.cpp:
1475         (WebCore::ImageBySizeCache::addClient): Assert the passed renderer is valid.
1476         (WebCore::ImageBySizeCache::removeClient): Ditto. Allow removeClient() to be called w/o prio addClient() usage.
1477         (WebCore::ImageBySizeCache::setClient): New helper function, that combines the usage of addClient/removeClient, for the use in CachedImage.
1478         (WebCore::ImageBySizeCache::imageForSize): Respect empty sizes, just return 0, instead of asserting.
1479         (WebCore::ImageBySizeCache::imageForRenderer): Added a helper that retrieves an image for a renderer, by lookup up its size and using imageForSize().
1480         * rendering/ImageBySizeCache.h: Expose setClient() & imageForRenderer().
1481         * rendering/RenderBoxModelObject.cpp: Implement CSS 2.1 intrinsic size negotiation for images.
1482         (WebCore::resolveWidthForRatio): New inline helper function used bz calculateImageIntrinsicDimensions.
1483         (WebCore::resolveHeightForRatio): Ditto.
1484         (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio): Ditto.
1485         (WebCore::resolveAgainstIntrinsicRatio):  Ditto.
1486         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): New helper function, containing the main algorithm, which is a pure transcription of the spec.
1487         (WebCore::RenderBoxModelObject::calculateFillTileSize): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
1488         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Propagate calculateFillTileSize() result to the image resource, via setContainerSizeForRenderer().
1489         (WebCore::RenderBoxModelObject::paintNinePieceImage): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
1490         * rendering/RenderBoxModelObject.h: Clarify some variable names, added calculateImageIntrinsicDimensions().
1491         * rendering/RenderImage.cpp:
1492         (WebCore::RenderImage::RenderImage): Use IntSize(), instead of IntSize(0, 0).
1493         (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Refactored from imageDimensionsChanged().
1494         (WebCore::RenderImage::imageDimensionsChanged): Use updateIntrinsicSizeIfNeeded().
1495         (WebCore::RenderImage::computeReplacedLogicalWidth): Use RenderReplaced::computeReplacedLogicalWidth() exclusively. For this to work, the intrinsic size must be correct.
1496         (WebCore::RenderImage::computeIntrinsicRatioInformation): Default implementation for non-SVGImages.
1497         (WebCore::RenderImage::needsPreferredWidthsRecalculation): Return true, just like RenderPart, if embeddedContentBox is not null.
1498         (WebCore::RenderImage::embeddedContentBox): Returns the RenderSVGRoot* renderer of the embedded SVG, if possible.
1499         * rendering/RenderImage.h: Remove isLogicalWidth/HeightSpecified() / computeReplacedLogicalHeight() / calcAspectRatioLogicalWidth/Height().
1500         * rendering/RenderImageResource.cpp:
1501         (WebCore::RenderImageResource::setContainerSizeForRenderer): Pass around new "float containerZoomFactor" parameter.
1502         * rendering/RenderImageResourceStyleImage.cpp:
1503         (WebCore::RenderImageResourceStyleImage::image): embeddedContentBox() is now calling image() earlier than before. We now have to handle the case that the image is pending.
1504         (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Pass zoom factor.
1505         * rendering/RenderImageResourceStyleImage.h:
1506         * rendering/RenderListMarker.cpp:
1507         (WebCore::RenderListMarker::computePreferredLogicalWidths): Pass effective zoom to setContainerSizeForRenderer().
1508         * rendering/RenderReplaced.cpp:
1509         (WebCore::RenderReplaced::computeIntrinsicLogicalWidth): Generalized this code, as RenderImage is using it as well now. Marginal changes needed.
1510         (WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
1511         (WebCore::RenderReplaced::computeReplacedLogicalWidth): Ditto.
1512         * rendering/style/StyleCachedImage.cpp:
1513         (WebCore::StyleCachedImage::computeIntrinsicDimensions): Stop passing m_renderer to CachedImage, it's no longer needed.
1514         (WebCore::StyleCachedImage::setContainerSizeForRenderer): Add "float containerZoomFactor" parameter.
1515         (WebCore::StyleCachedImage::addClient): Forward to new addClientForRenderer().
1516         (WebCore::StyleCachedImage::removeClient): Call new removeClientForRenderer() instead of removeClient(), so the ImageBySizeCache is also updated.
1517         * rendering/style/StyleCachedImage.h: Add "float containerZoomFactor" parameter to setContainerSizeForRenderer.
1518         * rendering/style/StyleGeneratedImage.h:
1519         (WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Ditto.
1520         * rendering/style/StyleImage.h: Ditto.
1521         * rendering/style/StylePendingImage.h:
1522         (WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
1523         * rendering/svg/RenderSVGImage.cpp:
1524         (WebCore::RenderSVGImage::layout): Always supply a container size when embedding SVGs in <svg:image>.
1525         * rendering/svg/RenderSVGRoot.cpp: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
1526         (WebCore::RenderSVGRoot::isEmbeddedThroughImageElement): Add helper method to determine whether we're loaded through SVGImage.
1527         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): If we have a valid container size, it has precendence (only supplied via external SVGImages).
1528         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
1529         (WebCore::RenderSVGRoot::layout): Remove calcViewport() usage, no need to track/override the viewport size anymore, all done in coputeReplacedLogical* now.
1530         (WebCore::RenderSVGRoot::paint): Use borderBoxRect() which now always matches the previously computed m_viewportSize. 
1531         (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
1532         * rendering/svg/RenderSVGRoot.h: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
1533         (WebCore::RenderSVGRoot::containerSize):
1534         (WebCore::RenderSVGRoot::setContainerSize):
1535         * svg/SVGLength.cpp:
1536         (WebCore::SVGLength::determineViewport): Resolve lengths against override container size in documents embedded through SVGImage.
1537         * svg/SVGSVGElement.cpp: Remove "override container size" handling from SVGSVGElement.
1538         (WebCore::SVGSVGElement::SVGSVGElement): Ditto.
1539         (WebCore::SVGSVGElement::currentViewBoxRect): Always synthesize a viewBox, if we're embedded through SVGImage, as demanded by SVG 1.1 2nd Edition.
1540         * svg/SVGSVGElement.h:
1541         * svg/graphics/SVGImage.cpp:
1542         (WebCore::SVGImageChromeClient::setObserver): Helper function.
1543         (WebCore::SVGImageChromeClient::isSVGImageChromeClient): Return true, used to identify whether RenderSVGRoot is embedded through SVGImage.
1544         (WebCore::SVGImage::setContainerZoom): Forwarded to Page::setPageZoomFactor.
1545         (WebCore::SVGImage::setContainerSize): Assert that container size is not empty. We should never receive an empty container size.
1546         (WebCore::SVGImage::usesContainerSize): Adapt to override container size changes, it now lives in RenderSVGRoot instead of SVGSVGElement.
1547         (WebCore::SVGImage::size): New algorithm to figure out the size of an embedded SVG, as demanded by the CSS/SVG specs.
1548         (WebCore::SVGImage::draw): Stop calling layout() while painting!
1549         (WebCore::SVGImage::embeddedContentBox): Add helper which returns the RenderSVGRoot of the document.
1550         (WebCore::SVGImage::computeIntrinsicDimensions): Implement intrinsic ratio calculation. 
1551         (WebCore::SVGImage::dataChanged): Force calling FrameView::setCanHaveScrollbars(false), as SVG images now always synthesize a viewBox, and thus never receive scrollbars.
1552         * svg/graphics/SVGImage.h:
1553
1554 2011-10-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1555
1556         Properly suspend/resume Geolocation/DeviceMotion/DeviceOrientation objects
1557         https://bugs.webkit.org/show_bug.cgi?id=70328
1558
1559         Reviewed by Simon Hausmann.
1560
1561         Also remove checks for m_client in DeviceMotionController as it can never be null.
1562
1563         No new tests, as the suspend/resume functionality is not fully working yet.
1564
1565         * dom/DeviceMotionController.cpp:
1566         (WebCore::DeviceMotionController::timerFired):
1567         (WebCore::DeviceMotionController::addListener):
1568         (WebCore::DeviceMotionController::removeListener):
1569         (WebCore::DeviceMotionController::removeAllListeners):
1570         (WebCore::DeviceMotionController::suspend):
1571         (WebCore::DeviceMotionController::resume):
1572         * dom/DeviceMotionController.h:
1573         * dom/DeviceOrientationController.cpp:
1574         (WebCore::DeviceOrientationController::suspend):
1575         (WebCore::DeviceOrientationController::resume):
1576         * dom/DeviceOrientationController.h:
1577         * dom/Document.cpp:
1578         (WebCore::Document::suspendActiveDOMObjects):
1579         (WebCore::Document::resumeActiveDOMObjects):
1580         (WebCore::Document::stopActiveDOMObjects):
1581         * dom/Document.h:
1582         * dom/ScriptExecutionContext.h:
1583         * page/GeolocationController.cpp:
1584         (WebCore::GeolocationController::GeolocationController):
1585         (WebCore::GeolocationController::removeObserver):
1586         (WebCore::GeolocationController::suspend):
1587         (WebCore::GeolocationController::resume):
1588         * page/GeolocationController.h:
1589
1590 2011-10-26  Pavel Feldman  <pfeldman@google.com>
1591
1592         Not reviewed: follow up to 98236 - moved inspector settings initialization earlier to unbreak settings panel.
1593
1594         * inspector/front-end/TextEditorModel.js:
1595         (WebInspector.TextEditorModel):
1596
1597 2011-10-26  Zalan Bujtas  <zbujtas@gmail.com>
1598
1599         Name viewport change event consistently.
1600         https://bugs.webkit.org/show_bug.cgi?id=70901
1601
1602         Reviewed by Kenneth Rohde Christiansen.
1603
1604         Use ViewportPropertiesDidChange term consistently throughout WebKit.
1605
1606         No tests needed as the change is only method renaming.
1607
1608         * page/Chrome.cpp:
1609         (WebCore::Chrome::dispatchViewportPropertiesDidChange):
1610         * page/Chrome.h:
1611         * page/ChromeClient.h:
1612         (WebCore::ChromeClient::dispatchViewportPropertiesDidChange):
1613         * page/Page.cpp:
1614         (WebCore::Page::updateViewportArguments):
1615
1616 2011-10-25  Stephen White  <senorblanco@chromium.org>
1617
1618         [chromium] Canvas2D should rate-limit drawing to prevent swamping the GPU process.
1619         https://bugs.webkit.org/show_bug.cgi?id=70367
1620
1621         Reviewed by James Robinson.
1622
1623         Sadly, we don't have infrastructure to test this kind of GPU swamping
1624         yet.
1625
1626         * WebCore.gypi:
1627         Add RateLimiter.* to the Chromium build.
1628         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1629         (WebCore::Canvas2DLayerChromium::contentChanged):
1630         When the layer is notified that the contents have changed, ping the
1631         rate limiter.
1632         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1633         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1634         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1635         Call (new) virtual contentChanged() on a layer when its contents have
1636         been changed (e.g., by a drawing call).
1637         * platform/graphics/chromium/LayerChromium.h:
1638         (WebCore::LayerChromium::contentChanged):
1639         New virtual contentChanged().
1640         * platform/graphics/chromium/RateLimiter.cpp: Added.
1641         (WebCore::RateLimiter::create):
1642         Rate limiter factory function.
1643         (WebCore::RateLimiter::RateLimiter):
1644         (WebCore::RateLimiter::start):
1645         Public API to start rate limiting a context.
1646         (WebCore::RateLimiter::stop):
1647         Public API to stop rate limiting a context.
1648         (WebCore::RateLimiter::rateLimitContext):
1649         Internal timer callback when a context should be rate limited.
1650         * platform/graphics/chromium/RateLimiter.h: Added.
1651         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1652         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
1653         Remove rate limiting timer and extension check (moved to RateLimiter).
1654         (WebCore::WebGLLayerChromium::contentChanged):
1655         The function formerly known as setTextureUpdated(), now renamed to
1656         match the base class virtual contentChanged().  Call rate limiter in
1657         CCLayerTreeHost (local implementation removed).
1658         (WebCore::WebGLLayerChromium::setContext):
1659         When the context is changed, stop the pending rate limiter on the old
1660         context.  Remove extension check (moved to RateLimiter).
1661         * platform/graphics/chromium/WebGLLayerChromium.h:
1662         Remove rate limiting timer and extension check (moved to RateLimiter).
1663         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1664         (WebCore::CCLayerTreeHost::startRateLimiter):
1665         Public API for starting per-context rate limiter.
1666         (WebCore::CCLayerTreeHost::stopRateLimiter):
1667         Public API for stopping per-context rate limiter.
1668         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1669         Implementation of per-GraphicsContext3D RateLimiter.
1670
1671
1672 2011-10-26  Pavel Feldman  <pfeldman@chromium.org>
1673
1674         Not reviewed: fixing inspector extensions tests.
1675
1676         * inspector/front-end/ConsoleMessage.js:
1677         (WebInspector.ConsoleMessageImpl):
1678         * inspector/front-end/ExtensionServer.js:
1679         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
1680
1681 2011-10-26  Balazs Kelemen  <kbalazs@webkit.org>
1682
1683         ParallelJobs path of FEConvolveMatrix is erroneous
1684         https://bugs.webkit.org/show_bug.cgi?id=70409
1685
1686         Reviewed by Zoltan Herczeg.
1687
1688         Covered by existing tests.
1689
1690         * platform/graphics/filters/FEConvolveMatrix.cpp:
1691         (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
1692         Reject the silly idea that bytes per pixel ratio is 3 in preserveAlphaValues mode.
1693         The bug was hidden so far because that computation has no effect when we are going
1694         with the full inferior area in one round (in that case clipBottom and yEnd are equals
1695         and the value of the expression is always 0). With ParallelJobs we process sub-areas
1696         on each thread which has triggered the issue.
1697
1698 2011-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1699
1700         Unreviewed, rolling out r98393.
1701         http://trac.webkit.org/changeset/98393
1702         https://bugs.webkit.org/show_bug.cgi?id=70892
1703
1704         "Compilation is broken on Chromium Webkit Mac Builder (dbg) "
1705         (Requested by yurys on #webkit).
1706
1707         * platform/graphics/chromium/LayerChromium.h:
1708         (WebCore::LayerChromium::setMasksToBounds):
1709         (WebCore::LayerChromium::setMaskLayer):
1710
1711 2011-10-26  Pavel Feldman  <pfeldman@google.com>
1712
1713         Web Inspector: order console message parameters for better optional parameters handling.
1714         https://bugs.webkit.org/show_bug.cgi?id=70809
1715
1716         Reviewed by Yury Semikhatsky.
1717
1718         * inspector/Inspector.json:
1719         * inspector/front-end/ConsoleMessage.js:
1720         (WebInspector.ConsoleMessageImpl):
1721         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
1722         * inspector/front-end/ConsoleModel.js:
1723         (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
1724         (WebInspector.ConsoleMessage.create):
1725         (WebInspector.ConsoleDispatcher.prototype.messageAdded):
1726         * inspector/front-end/ConsoleView.js:
1727         (WebInspector.ConsoleCommandResult):
1728         (WebInspector.ConsoleMessage.create):
1729         * inspector/front-end/ExtensionServer.js:
1730         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
1731         * inspector/front-end/NetworkManager.js:
1732         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
1733         * inspector/front-end/inspector.js:
1734         (WebInspector.log.logMessage):
1735         (WebInspector.log):
1736
1737 2011-10-26  Vsevolod Vlasov  <vsevik@chromium.org>
1738
1739         Web Inspector: Debugger fails when there is an invalid watch expression.
1740         https://bugs.webkit.org/show_bug.cgi?id=70718
1741
1742         Reviewed by Pavel Feldman.
1743
1744         Test: inspector/debugger/watch-expressions-panel-switch.html
1745
1746         * inspector/front-end/ScriptsPanel.js:
1747         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
1748
1749 2011-10-26  Fady Samuel  <fsamuel@chromium.org>
1750
1751         Page Scale Factor broken when navigating history on pages with child frames
1752         https://bugs.webkit.org/show_bug.cgi?id=70459
1753
1754         Reviewed by Darin Fisher.
1755
1756         With frameScaleFactor now always returning 1.0 for subframes and pageScaleFactor for the mainFrame,
1757         and there being only a single pageScaleFactor, history for scaling is broken. Scaling history is
1758         saved on a per frame basis but restored, overriding the per-page pageScaleFactor multiple times.
1759         As a result, sometimes pages that have subframes end up getting a scale factor of 1.0 instead
1760         of the correct scale factor that was assigned to the main frame.
1761
1762         No new tests because I don't know how to test this.
1763
1764         * loader/HistoryController.cpp:
1765         (WebCore::HistoryController::restoreScrollPositionAndViewState):
1766
1767 2011-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1768
1769         Unreviewed, rolling out r98429.
1770         http://trac.webkit.org/changeset/98429
1771         https://bugs.webkit.org/show_bug.cgi?id=70881
1772
1773         "webkit_gpu_tests fail in Chromium" (Requested by yurys on
1774         #webkit).
1775
1776         * platform/graphics/chromium/LayerRendererChromium.cpp:
1777         (WebCore::LayerRendererChromium::initialize):
1778         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1779         (WebCore::WebGLLayerChromium::layerRendererContext):
1780         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1781         (WebCore::CCHeadsUpDisplay::enabled):
1782         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1783         (WebCore::CCLayerTreeHost::initialize):
1784         (WebCore::CCLayerTreeHost::context):
1785         (WebCore::CCLayerTreeHost::setNeedsAnimate):
1786         (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
1787         (WebCore::CCLayerTreeHost::setNeedsRedraw):
1788         (WebCore::CCLayerTreeHost::composite):
1789         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1790         (WebCore::CCSettings::CCSettings):
1791         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1792         (WebCore::CCThreadProxy::setThread):
1793         * platform/graphics/chromium/cc/CCThreadProxy.h:
1794
1795 2011-10-26  Ben Wells  <benwells@chromium.org>
1796
1797         Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
1798         https://bugs.webkit.org/show_bug.cgi?id=66920
1799
1800         Reviewed by James Robinson.
1801
1802         Test: fast/canvas/canvas-composite-image.html
1803
1804         Use the same method as fills to handle composited drawImage calls that will affect the whole
1805         canvas. To do this code used when doing fills has been factored into seperate functions and
1806         used by drawImage. Some functions used to do these types of operations have also been renamed.
1807
1808         * html/canvas/CanvasRenderingContext2D.cpp:
1809         (WebCore::isFullCanvasCompositeMode):
1810         (WebCore::CanvasRenderingContext2D::fill):
1811         (WebCore::CanvasRenderingContext2D::fillRect):
1812         (WebCore::CanvasRenderingContext2D::drawImage):
1813         (WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
1814         (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
1815         (WebCore::CanvasRenderingContext2D::compositeBuffer):
1816         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
1817         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
1818         * html/canvas/CanvasRenderingContext2D.h:
1819
1820 2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1821
1822         Unreviewed, rolling out r98379.
1823         http://trac.webkit.org/changeset/98379
1824         https://bugs.webkit.org/show_bug.cgi?id=70875
1825
1826         Did not pass on JSC ports (Requested by abarth on #webkit).
1827
1828         * bindings/scripts/CodeGeneratorJS.pm:
1829         (GenerateHeader):
1830         (GenerateImplementation):
1831         * bindings/scripts/CodeGeneratorV8.pm:
1832         (GenerateHeader):
1833         (GenerateArgumentsCountCheck):
1834         (GenerateImplementation):
1835         * html/canvas/CanvasRenderingContext2D.idl:
1836         * page/DOMWindow.idl:
1837
1838 2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1839
1840         Unreviewed, rolling out r98346.
1841         http://trac.webkit.org/changeset/98346
1842         https://bugs.webkit.org/show_bug.cgi?id=70874
1843
1844         Breaks JSC-based bots. (Requested by pfeldman on #webkit).
1845
1846         * inspector/front-end/ScriptsPanel.js:
1847         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
1848
1849 2011-10-25  Nat Duca  <nduca@chromium.org>
1850
1851         [chromium] Enable threaded compositing via CCThreadProxy::hasThread only
1852         https://bugs.webkit.org/show_bug.cgi?id=70838
1853
1854         Reviewed by James Robinson.
1855
1856         * platform/graphics/chromium/LayerRendererChromium.cpp:
1857         (WebCore::LayerRendererChromium::initialize):
1858         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1859         (WebCore::WebGLLayerChromium::layerRendererContext):
1860         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1861         (WebCore::CCHeadsUpDisplay::enabled):
1862         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1863         (WebCore::CCLayerTreeHost::initialize):
1864         (WebCore::CCLayerTreeHost::context):
1865         (WebCore::CCLayerTreeHost::setNeedsAnimate):
1866         (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
1867         (WebCore::CCLayerTreeHost::setNeedsRedraw):
1868         (WebCore::CCLayerTreeHost::composite):
1869         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1870         (WebCore::CCSettings::CCSettings):
1871         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1872         (WebCore::CCThreadProxy::hasThread):
1873         * platform/graphics/chromium/cc/CCThreadProxy.h:
1874
1875 2011-10-25  Xiaomei Ji  <xji@chromium.org>
1876
1877         --webkit-visual-word does not work in multi-line
1878         https://bugs.webkit.org/show_bug.cgi?id=61344
1879
1880         Reviewed by Ryosuke Niwa.
1881
1882         Get next or previous root inline box (which is not in the same
1883         render object as the current root inline box) by traversing DOM node.
1884
1885         Test: editing/selection/move-by-word-visually-inline-block-positioned-element.html
1886
1887         * editing/visible_units.cpp:
1888         (WebCore::previousRootInlineBox):
1889         (WebCore::nextRootInlineBox):
1890         (WebCore::leftInlineBox):
1891         (WebCore::rightInlineBox):
1892
1893 2011-10-25  Adam Barth  <abarth@webkit.org>
1894
1895         JSEventTarget.cpp has a bunch of unnessary includes
1896         https://bugs.webkit.org/show_bug.cgi?id=70865
1897
1898         Reviewed by Eric Seidel.
1899
1900         In the process of removing these includes, I noticed we had a bunch of
1901         non-autogenerated code in this file, which I've now autogenerated.
1902
1903         * bindings/js/JSEventTarget.cpp:
1904         (WebCore::toEventTarget):
1905             - One subtly here is the outter static_cast, which is caused by an
1906               inheritance infelicity in JavaScriptAudioNode, which I've noted
1907               with a FIXME.  In any case, the extra static_cast shouldn't cause
1908               any trouble.
1909         * webaudio/JavaScriptAudioNode.h:
1910
1911 2011-10-25  Adam Barth  <abarth@webkit.org>
1912
1913         V8DOMWrapper.cpp has unneeded header includes
1914         https://bugs.webkit.org/show_bug.cgi?id=70863
1915
1916         Reviewed by Eric Seidel.
1917
1918         * bindings/v8/V8DOMWrapper.cpp:
1919
1920 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
1921
1922         Resetting baseline for test bindings
1923
1924         Unreviewed preemptive build fix
1925
1926         No new tests.
1927
1928         * bindings/scripts/test/JS/JSTestObj.cpp:
1929         * bindings/scripts/test/JS/JSTestObj.h:
1930
1931 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
1932
1933         Remove deletePropertyVirtual
1934         https://bugs.webkit.org/show_bug.cgi?id=70738
1935
1936         Reviewed by Geoffrey Garen.
1937
1938         No new tests.
1939
1940         Removed all declarations and definitions of deletePropertyVirtual.
1941         Also replaced all call sites to deletePropertyVirtual with a 
1942         corresponding lookup in the MethodTable.
1943
1944         * WebCore.exp.in:
1945         * bindings/js/JSDOMStringMapCustom.cpp:
1946         (WebCore::JSDOMStringMap::deleteProperty):
1947         * bindings/js/JSDOMWindowCustom.cpp:
1948         (WebCore::JSDOMWindow::deleteProperty):
1949         * bindings/js/JSDOMWindowShell.cpp:
1950         (WebCore::JSDOMWindowShell::deleteProperty):
1951         * bindings/js/JSDOMWindowShell.h:
1952         * bindings/js/JSHistoryCustom.cpp:
1953         (WebCore::JSHistory::deleteProperty):
1954         * bindings/js/JSLocationCustom.cpp:
1955         (WebCore::JSLocation::deleteProperty):
1956         * bindings/js/JSStorageCustom.cpp:
1957         (WebCore::JSStorage::deleteProperty):
1958         * bindings/js/ScriptObject.cpp:
1959         (WebCore::ScriptGlobalObject::remove):
1960         * bindings/objc/WebScriptObject.mm:
1961         (-[WebScriptObject removeWebScriptKey:]):
1962         * bindings/scripts/CodeGeneratorJS.pm:
1963         (GenerateHeader):
1964         * bridge/NP_jsobject.cpp:
1965         (_NPN_RemoveProperty):
1966         * bridge/jni/jni_jsobject.mm:
1967         (JavaJSObject::removeMember):
1968         * bridge/objc/objc_runtime.h:
1969         * bridge/objc/objc_runtime.mm:
1970         * bridge/runtime_array.cpp:
1971         * bridge/runtime_array.h:
1972         * bridge/runtime_object.cpp:
1973         * bridge/runtime_object.h:
1974
1975 2011-10-25  Chris Fleizach  <cfleizach@apple.com>
1976
1977         AX: WebKit does not expose HTML label for slider elements
1978         https://bugs.webkit.org/show_bug.cgi?id=70856
1979
1980         Reviewed by Darin Adler.
1981
1982         Test: platform/mac/accessibility/slider-allows-title-ui-element.html
1983
1984         * accessibility/AccessibilitySlider.h:
1985         (WebCore::AccessibilitySlider::isControl):
1986         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1987         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1988
1989 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
1990
1991         Remove putVirtual
1992         https://bugs.webkit.org/show_bug.cgi?id=70740
1993
1994         Reviewed by Geoffrey Garen.
1995
1996         No new tests.
1997
1998         Removed all declarations and definitions of putVirtual.
1999         Also replaced all call sites to putVirtual with a 
2000         corresponding lookup in the MethodTable.
2001
2002         * WebCore.exp.in:
2003         * bindings/js/JSDOMWindowCustom.cpp:
2004         * bindings/js/JSDOMWindowShell.cpp:
2005         (WebCore::JSDOMWindowShell::put):
2006         * bindings/js/JSDOMWindowShell.h:
2007         * bindings/js/JSPluginElementFunctions.cpp:
2008         (WebCore::runtimeObjectCustomPut):
2009         * bindings/js/SerializedScriptValue.cpp:
2010         (WebCore::CloneDeserializer::putProperty):
2011         * bindings/objc/WebScriptObject.mm:
2012         (-[WebScriptObject setValue:forKey:]):
2013         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
2014         * bindings/scripts/CodeGeneratorJS.pm:
2015         (GenerateHeader):
2016         (GenerateImplementation):
2017         * bridge/NP_jsobject.cpp:
2018         (_NPN_SetProperty):
2019         * bridge/jni/jni_jsobject.mm:
2020         (JavaJSObject::setMember):
2021         (JavaJSObject::setSlot):
2022         * bridge/objc/objc_runtime.h:
2023         * bridge/objc/objc_runtime.mm:
2024         * bridge/qt/qt_runtime.cpp:
2025         (JSC::Bindings::convertQVariantToValue):
2026         * bridge/runtime_array.cpp:
2027         * bridge/runtime_array.h:
2028         * bridge/runtime_object.cpp:
2029         * bridge/runtime_object.h:
2030         * bridge/testqtbindings.cpp:
2031         (main):
2032
2033 2011-10-25  Adam Barth  <abarth@webkit.org>
2034
2035         EventTargetFactory.in is not sorted
2036         https://bugs.webkit.org/show_bug.cgi?id=70855
2037
2038         Reviewed by Eric Seidel.
2039
2040         This patch sorts the file.  I was not able to measure a performance
2041         difference using the microbenchmark included with this patch.
2042
2043         * dom/EventTargetFactory.in:
2044
2045 2011-10-25  Adam Barth  <abarth@webkit.org>
2046
2047         Attempt to fix the Windows build.  Windows mashes all these files into
2048         one, which doesn't respect the compilation unit rules of C++.
2049
2050         * bindings/js/JSEventCustom.cpp:
2051         * bindings/js/JSEventTarget.cpp:
2052
2053 2011-10-25  Ryosuke Niwa  <rniwa@webkit.org>
2054
2055         Moving to the start of line should not place the caret outside of the table
2056         https://bugs.webkit.org/show_bug.cgi?id=70757
2057
2058         Reviewed by Chang Shu.
2059
2060         The bug was caused by positionAvoidingFirstPositionInTable. Get rid of the function.
2061
2062         Test: editing/selection/table-lineboundary.html
2063
2064         * editing/visible_units.cpp:
2065         (WebCore::startPositionForLine):
2066
2067 2011-10-25  Beth Dakin  <bdakin@apple.com>
2068
2069         https://bugs.webkit.org/show_bug.cgi?id=70852
2070         Setting up a HiDPI base-level GraphicsContext should be more straightforward for 
2071         WebKit2
2072
2073         Reviewed by Dan Bernstein.
2074
2075         This patch removes the old cg-only GraphicsContext::setBaseCTM() api, and adds 
2076         platform-independent GraphicsContext::applyDeviceScaleFactor().
2077         * WebCore.exp.in:
2078         * platform/graphics/GraphicsContext.cpp:
2079         (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
2080         (WebCore::GraphicsContext::applyDeviceScaleFactor):
2081         * platform/graphics/GraphicsContext.h:
2082         * platform/graphics/cg/GraphicsContextCG.cpp:
2083         (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
2084
2085         Since this patch removes GraphicsContext::setBaseCTM(), this code has been 
2086         reverted to do what it used to do before that was added; it just calls into 
2087         WebCoreSystemInterface directly.
2088         * platform/graphics/cg/ImageCG.cpp:
2089         (WebCore::Image::drawPattern):
2090
2091 2011-10-25  Anders Carlsson  <andersca@apple.com>
2092
2093         Plug-ins have to use JavaScript to find out the current device scale factor
2094         https://bugs.webkit.org/show_bug.cgi?id=67225
2095
2096         Reviewed by Darin Adler.
2097
2098         Test: platform/mac-wk2/plugins/contents-scale-factor.html
2099
2100         Add NPNVcontentsScaleFactor, as per https://wiki.mozilla.org/NPAPI:ContentsScaleFactor.
2101
2102         * plugins/npapi.h:
2103
2104 2011-10-25  Adam Klein  <adamk@chromium.org>
2105
2106         Forward declare MutationObserverEntry as a struct to fix clang build
2107         https://bugs.webkit.org/show_bug.cgi?id=70853
2108
2109         Reviewed by Ryosuke Niwa.
2110
2111         Node.h forward declared MutationObserverEntry as a class, and clang
2112         complains if the two declarations don't match.
2113
2114         * dom/Node.h:
2115
2116 2011-10-25  Dan Bernstein  <mitz@apple.com>
2117
2118         Caret can be positioned or repainted incorrectly in flipped-blocks multi-column blocks
2119         https://bugs.webkit.org/show_bug.cgi?id=70851
2120
2121         Reviewed by Dave Hyatt.
2122
2123         * manual-tests/caret-in-columns-flipped.html: Added.
2124         * rendering/RenderBlock.cpp:
2125         (WebCore::RenderBlock::adjustForColumns): Removed flipped-blocks writing mode considerations
2126         from this function, since not all callers were expecting it to account for flippedness. This makes
2127         it similar to adjustRectForColumns() in not adjusting for flippedness.
2128         * rendering/RenderBox.cpp:
2129         (WebCore::RenderBox::offsetFromContainer): In the columns case, account for flipped-blocks modes
2130         by first mapping the point and the offset to non-flipped, non-columns space, then adjusting for
2131         columns, then flipping.
2132
2133 2011-10-25  Michal Mocny  <mmocny@google.com>
2134
2135         LayerRendererChromium::setVisible called needlessly without a visibility change
2136         https://bugs.webkit.org/show_bug.cgi?id=70766
2137
2138         Reviewed by Kenneth Russell.
2139
2140         Check that visibility has actually changed before calling LayerRendererChromium::setVisible
2141
2142         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2143         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2144         (WebCore::CCLayerTreeHostImpl::setVisible):
2145         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2146
2147 2011-10-25  Anders Carlsson  <andersca@apple.com>
2148
2149         REGRESSION(97821): HistoryController::itemsAreClones crashes a lot
2150         https://bugs.webkit.org/show_bug.cgi?id=70827
2151         <rdar://problem/10342925>
2152
2153         Reviewed by Adam Barth.
2154
2155         Check that m_currentItem is non-null before passing it to itemsAreClones. While I wasn't
2156         able to make a test case that would reproduce this crash, we do check m_currentItem for null
2157         everywhere else, and the crash log indicates that this would fix the crash.
2158
2159         * loader/HistoryController.cpp:
2160         (WebCore::HistoryController::recursiveUpdateForCommit):
2161
2162 2011-10-25  Adam Barth  <abarth@webkit.org>
2163
2164         EventTarget.h shouldn't need to know about every feature and ifdef
2165         https://bugs.webkit.org/show_bug.cgi?id=70659
2166
2167         Reviewed by Darin Adler.
2168
2169         This patch follows the approach of Event.h and introduces an
2170         interfaceName virtual function that returns the name of the DOM
2171         interface for the concrete type of the object.  This function lets us
2172         remove a large number of fake dynamic casts.
2173
2174         * CMakeLists.txt:
2175         * CodeGenerators.pri:
2176         * DerivedSources.make:
2177         * GNUmakefile.am:
2178         * WebCore.gyp/WebCore.gyp:
2179         * WebCore.gyp/scripts/action_makenames.py:
2180             - Teach action_makenames how to handle the new "in" file.
2181         * WebCore.gypi:
2182         * WebCore.vcproj/WebCore.vcproj:
2183         * WebCore.xcodeproj/project.pbxproj:
2184         * bindings/js/JSEventTarget.cpp:
2185         (WebCore::toJS):
2186             - Use the new autogenerated macro to remove a large amount of
2187               feature-specific code.
2188         * bindings/js/WorkerScriptController.cpp:
2189         (WebCore::WorkerScriptController::initScript):
2190         * bindings/objc/DOM.mm:
2191         (kit):
2192             - The SVGElementInstance branch was never taken previously because
2193               SVGElementInstance::toNode returns a non-NULL value. This code
2194               was introduced in http://trac.webkit.org/changeset/42618 and
2195               doesn't appear to have ever worked as the author intended.
2196         * bindings/v8/V8DOMWrapper.cpp:
2197         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2198             - Use the new autogenerated macro to remove a large amount of
2199               feature-specific code.
2200         * dom/EventNames.cpp:
2201         (WebCore::EventNames::EventNames):
2202         * dom/EventNames.h:
2203         * dom/EventTarget.cpp:
2204         * dom/EventTarget.h:
2205         * dom/EventTargetFactory.in: Added.
2206             - Add a new "in" file that lists all the EventTargets.
2207         * dom/LocalMediaStream.cpp:
2208         (WebCore::LocalMediaStream::interfaceName):
2209         * dom/LocalMediaStream.h:
2210         * dom/MediaStream.cpp:
2211         (WebCore::MediaStream::interfaceName):
2212         * dom/MediaStream.h:
2213         * dom/MessagePort.cpp:
2214         (WebCore::MessagePort::interfaceName):
2215         * dom/MessagePort.h:
2216         * dom/Node.cpp:
2217         (WebCore::Node::toNode):
2218         (WebCore::Node::interfaceName):
2219         * dom/Node.h:
2220         * dom/make_event_factory.pl:
2221             - Generalize make_event_factory.pl to be able to generate
2222               interfaces for different namespaces.
2223         * fileapi/FileReader.cpp:
2224         (WebCore::FileReader::interfaceName):
2225         * fileapi/FileReader.h:
2226         * fileapi/FileWriter.cpp:
2227         (WebCore::FileWriter::interfaceName):
2228         * fileapi/FileWriter.h:
2229         * loader/appcache/DOMApplicationCache.cpp:
2230         (WebCore::DOMApplicationCache::interfaceName):
2231         * loader/appcache/DOMApplicationCache.h:
2232         * notifications/Notification.cpp:
2233         (WebCore::Notification::interfaceName):
2234         * notifications/Notification.h:
2235         (WebCore::Notification::scriptExecutionContext):
2236         * p2p/PeerConnection.cpp:
2237         (WebCore::PeerConnection::interfaceName):
2238         * p2p/PeerConnection.h:
2239         * page/DOMWindow.cpp:
2240         (WebCore::DOMWindow::interfaceName):
2241         (WebCore::DOMWindow::toDOMWindow):
2242         * page/DOMWindow.h:
2243         * page/EventSource.cpp:
2244         (WebCore::EventSource::interfaceName):
2245         * page/EventSource.h:
2246         * storage/IDBDatabase.cpp:
2247         (WebCore::IDBDatabase::interfaceName):
2248         * storage/IDBDatabase.h:
2249         * storage/IDBRequest.cpp:
2250         (WebCore::IDBRequest::interfaceName):
2251         * storage/IDBRequest.h:
2252         * storage/IDBTransaction.cpp:
2253         (WebCore::IDBTransaction::interfaceName):
2254         * storage/IDBTransaction.h:
2255         * storage/IDBVersionChangeRequest.cpp:
2256         (WebCore::IDBVersionChangeRequest::interfaceName):
2257         * storage/IDBVersionChangeRequest.h:
2258         * svg/SVGElementInstance.cpp:
2259         (WebCore::SVGElementInstance::interfaceName):
2260         * svg/SVGElementInstance.h:
2261         (WebCore::SVGElementInstance::toNode):
2262         * webaudio/AudioContext.cpp:
2263         (WebCore::AudioContext::interfaceName):
2264         (WebCore::AudioContext::scriptExecutionContext):
2265         * webaudio/AudioContext.h:
2266         * webaudio/JavaScriptAudioNode.cpp:
2267         (WebCore::JavaScriptAudioNode::interfaceName):
2268         * webaudio/JavaScriptAudioNode.h:
2269         * websockets/WebSocket.cpp:
2270         (WebCore::WebSocket::interfaceName):
2271         * websockets/WebSocket.h:
2272         * workers/DedicatedWorkerContext.cpp:
2273         (WebCore::DedicatedWorkerContext::interfaceName):
2274         * workers/DedicatedWorkerContext.h:
2275         * workers/DefaultSharedWorkerRepository.cpp:
2276         (WebCore::SharedWorkerConnectTask::performTask):
2277         * workers/SharedWorker.cpp:
2278         (WebCore::SharedWorker::interfaceName):
2279         * workers/SharedWorker.h:
2280         * workers/SharedWorkerContext.cpp:
2281         (WebCore::SharedWorkerContext::interfaceName):
2282         * workers/SharedWorkerContext.h:
2283         * workers/Worker.cpp:
2284         (WebCore::Worker::interfaceName):
2285         * workers/Worker.h:
2286         * xml/XMLHttpRequest.cpp:
2287         (WebCore::XMLHttpRequest::interfaceName):
2288         * xml/XMLHttpRequest.h:
2289         * xml/XMLHttpRequestUpload.cpp:
2290         (WebCore::XMLHttpRequestUpload::interfaceName):
2291         * xml/XMLHttpRequestUpload.h:
2292
2293 2011-10-25  Pavel Podivilov  <podivilov@chromium.org>
2294
2295         Fix several minor problems in idls.
2296         https://bugs.webkit.org/show_bug.cgi?id=70811
2297
2298         Reviewed by Adam Barth.
2299
2300         This patch does not have any effect on generated bindings.
2301
2302         * dom/DataTransferItems.idl:
2303         * page/History.idl:
2304         * storage/IDBIndex.idl:
2305         * xml/XMLHttpRequest.idl:
2306
2307 2011-10-25  Nate Chapin  <japhet@chromium.org>
2308
2309         Make DocumentThreadableLoader a CachedResourceClient.
2310         This will allow us to cache ThreadableLoaderClients as
2311         appropriate in a later patch.
2312         https://bugs.webkit.org/show_bug.cgi?id=61225
2313
2314         Reviewed by Antti Koivisto.
2315
2316         No new tests, no functionality change intended.
2317
2318         * WebCore.gypi:
2319         * loader/DocumentThreadableLoader.cpp:
2320         (WebCore::DocumentThreadableLoader::notifyFinished): CachedResourceClients don't send separate callbacks
2321             for didFail() and didFinishLoading(), so we need to differentiate here.
2322         (WebCore::DocumentThreadableLoader::loadRequest): Call CachedResourceLoader::requestRawResource()
2323             instead of ResourceLoadScheduler::scheduleSubresourceLoad().
2324         * loader/DocumentThreadableLoader.h:
2325         * loader/cache/CachedRawResource.cpp:
2326         (WebCore::CachedRawResource::data): Handle the complexity of some ThreadableLoaderClients setting
2327             DoNotBufferData in ResoureLoaderOptions. If the DataBufferingPolicy is BufferData, then the
2328             'data' input parameter will contain all data received so far, and we need to determine the
2329             incremental data to forward to the clients. If the policy is DoNotBufferData, 'data' is just
2330             the incremental data.
2331         * loader/cache/CachedRawResource.h:
2332         * loader/cache/CachedResource.cpp:
2333         * loader/cache/CachedResource.h:
2334         (WebCore::CachedResource::preloadResult):
2335         (WebCore::CachedResource::didSendData):
2336         (WebCore::CachedResource::didDownloadData):
2337         (WebCore::CachedResource::setLoadFinishTime):
2338         (WebCore::CachedResource::loadFinishTime):
2339         * loader/cache/CachedResourceClient.h: Add several new callbacks needed by DocumentThreadableLoader.
2340         * loader/cache/CachedResourceRequest.cpp:
2341         (WebCore::CachedResourceRequest::didReceiveResponse): CachedResource::setResponse() can now cancel
2342             the request, so protect appropriately.
2343         * loader/cache/CachedResourceRequest.h:
2344         * loader/chromium/CachedRawResourceChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
2345         * loader/chromium/CachedResourceRequestChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
2346         * loader/chromium/DocumentThreadableLoaderChromium.cpp:
2347         * platform/network/BlobResourceHandle.cpp:
2348         (WebCore::BlobResourceHandle::notifyResponse): Protect before setting response, since it might kill us.
2349
2350 2011-10-25  Pavel Podivilov  <podivilov@chromium.org>
2351
2352         Get rid of optional parameters in the middle in IDLs.
2353         https://bugs.webkit.org/show_bug.cgi?id=70816
2354
2355         Reviewed by Adam Barth.
2356
2357         Optional parameters in the middle are prohibited by WebIDL spec.
2358
2359         * bindings/scripts/CodeGeneratorJS.pm:
2360         (GenerateHeader):
2361         (GenerateImplementation):
2362         * bindings/scripts/CodeGeneratorV8.pm:
2363         (GenerateHeader):
2364         (GenerateArgumentsCountCheck):
2365         (GenerateImplementation):
2366         * html/canvas/CanvasRenderingContext2D.idl:
2367         * page/DOMWindow.idl:
2368
2369 2011-10-25  Chris Evans  <cevans@google.com>
2370
2371         Manage the CSS property array length correctly
2372         https://bugs.webkit.org/show_bug.cgi?id=70783
2373
2374         Reviewed by Adam Barth.
2375
2376         * css/CSSParser.cpp:
2377         (WebCore::CSSParser::addProperty): don't allow max length to get out of sync with the buffer.
2378
2379 2011-10-25  Tony Chang  <tony@chromium.org>
2380
2381         avoid unnecessary layouts of flex items during the flex pass
2382         https://bugs.webkit.org/show_bug.cgi?id=70557
2383
2384         Reviewed by Ojan Vafai.
2385
2386         If the preferred size of a flex item is provided, we don't need to
2387         layout the flex item when computing the preferred size.  This allows
2388         us to only call layout on each flex item once in the common case.
2389
2390         No new tests, covered by existing tests.
2391
2392         * rendering/RenderFlexibleBox.cpp:
2393         (WebCore::RenderFlexibleBox::flowAwareLogicalWidthLengthForChild):
2394         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
2395         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
2396         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
2397         * rendering/RenderFlexibleBox.h:
2398
2399 2011-10-25  Fady Samuel  <fsamuel@chromium.org>
2400
2401         Crash in WebCore::RenderTableSection::addChild due to assert failure
2402         https://bugs.webkit.org/show_bug.cgi?id=70678
2403
2404         Reviewed by David Hyatt.
2405
2406         Tests: fast/table/table-anonymous-cell-bug.html
2407                fast/table/table-anonymous-row-bug.html
2408                fast/table/table-anonymous-section-bug.html
2409
2410         If the child being added is not a Section/Row/Cell, and the previous sibling is not anonymous, 
2411         we need to create a new anonymous Section/Row/Cell respectively, instead of failing an
2412         assert.
2413
2414         * rendering/RenderTable.cpp:
2415         (WebCore::RenderTable::addChild):
2416         * rendering/RenderTableRow.cpp:
2417         (WebCore::RenderTableRow::addChild):
2418         * rendering/RenderTableSection.cpp:
2419         (WebCore::RenderTableSection::addChild):
2420
2421 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
2422
2423         Add getOwnPropertySlot to MethodTable
2424         https://bugs.webkit.org/show_bug.cgi?id=69807
2425
2426         Reviewed by Oliver Hunt.
2427
2428         No new tests.
2429
2430         * bridge/runtime_method.h: Changed getOwnPropertySlot to be protected so 
2431         subclasses can reference it in their MethodTables.
2432
2433 2011-10-25  Simon Fraser  <simon.fraser@apple.com>
2434
2435         REGRESSION (r88580): Cursor fails to change to pointer on embedded Google maps popups
2436         https://bugs.webkit.org/show_bug.cgi?id=62797
2437
2438         Reviewed by Chris Marrin.
2439         
2440         When hit testing through transformed layers, RenderLayer would simply use
2441         the composited bounds of the layer as the localHitTestRect for hit testing sublayers.
2442         However, this broke hit testing on pages that have a composited, non-transformed layer
2443         which falls outside the bounds of its parent, composited-transformed layer, like Google
2444         Maps.
2445         
2446         Fix by mapping the hitTestRect through transforms. However this is tricky, because
2447         mapping a rect into the coordinate system of a layer can result in invalid rectangles
2448         when point projection results in a negative w component. Fix TransformationMatrix::projectPoint()
2449         to detect this case and replace X and Y with large values, and add boundsOfProjectedQuad(), which 
2450         maps rectangles with possibly-infinite location or bounds into rects which are representable
2451         in an IntRect.
2452
2453         Tests: transforms/3d/hit-testing/composited-hit-test.html
2454                transforms/3d/hit-testing/rotated-hit-test-with-child.html
2455                transforms/3d/hit-testing/rotated-hit-test2.html
2456
2457         * platform/graphics/transforms/TransformationMatrix.cpp:
2458         (WebCore::TransformationMatrix::projectPoint):
2459         (WebCore::TransformationMatrix::projectQuad):
2460         (WebCore::clampEdgeValue):
2461         (WebCore::TransformationMatrix::boundsOfProjectedQuad):
2462         * platform/graphics/transforms/TransformationMatrix.h:
2463         * rendering/HitTestingTransformState.cpp:
2464         (WebCore::HitTestingTransformState::boundsOfMappedQuad):
2465         * rendering/HitTestingTransformState.h:
2466         * rendering/RenderLayer.cpp:
2467         (WebCore::RenderLayer::hitTestLayer):
2468
2469 2011-10-25  Adrienne Walker  <enne@google.com>
2470
2471         [chromium] Batch up texture uploads so that they can be updated incrementally
2472         https://bugs.webkit.org/show_bug.cgi?id=70454
2473
2474         Reviewed by James Robinson.
2475
2476         Because texture uploads can sometimes take more than a frame to
2477         complete, collect all the uploads that need to occur in a
2478         CCTextureUpdater so that we can easily incrementally upload some of
2479         them, interleaving input and drawing so that the compositor thread
2480         continues to appear responsive during a commit.
2481
2482         This change doesn't actually interleave the commits, it just pushes
2483         the infrastructure for doing so up to the CCProxy level so that a
2484         future scheduler can make this decision.
2485
2486         VideoLayerChromium is the only layer type to not use this system. It
2487         needs to be converted to use a texture updater first and it is less of
2488         a priority than the tiled layers.
2489
2490         * WebCore.gypi:
2491         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2492         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
2493         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2494         * platform/graphics/chromium/LayerChromium.h:
2495         (WebCore::LayerChromium::updateCompositorResources):
2496         * platform/graphics/chromium/TiledLayerChromium.cpp:
2497         (WebCore::TiledLayerChromium::updateCompositorResources):
2498         * platform/graphics/chromium/TiledLayerChromium.h:
2499         * platform/graphics/chromium/VideoLayerChromium.cpp:
2500         (WebCore::VideoLayerChromium::updateCompositorResources):
2501         * platform/graphics/chromium/VideoLayerChromium.h:
2502         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2503         (WebCore::WebGLLayerChromium::updateCompositorResources):
2504         * platform/graphics/chromium/WebGLLayerChromium.h:
2505         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2506         (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
2507         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2508         (WebCore::CCLayerTreeHost::updateCompositorResources):
2509         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2510         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2511         (WebCore::CCSingleThreadProxy::setNeedsCommit):
2512         (WebCore::CCSingleThreadProxy::doCommit):
2513         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2514         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2515         * platform/graphics/chromium/cc/CCTextureUpdater.cpp: Added.
2516         (WebCore::CCTextureUpdater::CCTextureUpdater):
2517         (WebCore::CCTextureUpdater::~CCTextureUpdater):
2518         (WebCore::CCTextureUpdater::append):
2519         (WebCore::CCTextureUpdater::update):
2520         (WebCore::CCTextureUpdater::clear):
2521         * platform/graphics/chromium/cc/CCTextureUpdater.h: Added.
2522         (WebCore::CCTextureUpdater::allocator):
2523         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2524         (WebCore::CCThreadProxy::commitOnImplThread):
2525
2526 2011-10-24  Jer Noble  <jer.noble@apple.com>
2527
2528         compositing/video tests time out on Lion
2529         https://bugs.webkit.org/show_bug.cgi?id=70448
2530
2531         Reviewed by Simon Fraser.
2532
2533         AVFoundation will not begin loading or decoding media until a consumer for that media is present.
2534         For video-only media, this means that an AVPlayerLayer must be created and attached to the 
2535         AVPlayer before the load state will ever reach "canPlayThrough". Once the metadata for a media
2536         is loaded, create a AVPlayerLayer if the media has a video track.
2537
2538         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2539         (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
2540
2541 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
2542
2543         Merge endOfLine with logicalEndOfLine and startOfLine with logicalStartOfLine
2544         https://bugs.webkit.org/show_bug.cgi?id=70755
2545
2546         Reviewed by Chang Shu.
2547
2548         Merged endOfLine with logicalEndOfLine, and startOfLine with logicalStartOfLine
2549         to reduce the code duplication.
2550
2551         * editing/visible_units.cpp:
2552         (WebCore::startPositionForLine):
2553         (WebCore::startOfLine):
2554         (WebCore::logicalStartOfLine):
2555         (WebCore::endPositionForLine):
2556         (WebCore::inSameLogicalLine):
2557         (WebCore::endOfLine):
2558         (WebCore::logicalEndOfLine):
2559         * editing/visible_units.h:
2560
2561 2011-10-25  Arko Saha  <arko@motorola.com>
2562
2563         Microdata: itemtype attribute should be space-separated list to allow multiple types.
2564         https://bugs.webkit.org/show_bug.cgi?id=70501
2565
2566         Reviewed by Ryosuke Niwa.
2567
2568         Tests: fast/dom/MicroData/getitems-multiple-itemtypes.html
2569                fast/dom/MicroData/itemtype-add-remove-tokens.html
2570                fast/dom/MicroData/itemtype-attribute-test.html
2571
2572         * dom/MicroDataItemList.cpp:
2573         (WebCore::MicroDataItemList::nodeMatches):
2574         * html/DOMSettableTokenList.h:
2575         (WebCore::DOMSettableTokenList::tokens):
2576         * html/HTMLElement.cpp:
2577         (WebCore::HTMLElement::parseMappedAttribute):
2578         (WebCore::HTMLElement::setItemValueText):
2579         (WebCore::HTMLElement::itemType):
2580         (WebCore::HTMLElement::setItemType):
2581         * html/HTMLElement.h:
2582         * html/HTMLElement.idl:
2583
2584 2011-10-25  Dan Bernstein  <mitz@apple.com>
2585
2586         <rdar://problem/10337033> DOMRangeOfString:relativeTo:options has problems with -webkit-user-select: none
2587
2588         Reviewed by Adam Roben.
2589
2590         Test: added to TestWebKitAPI/Tests/mac/DOMRangeOfString.mm
2591
2592         * page/Page.cpp:
2593         (WebCore::Page::rangeOfString): This function was incorrectly adding the StartInSelection option to
2594         the initial search.
2595
2596 2011-10-25  Yury Semikhatsky  <yurys@chromium.org>
2597
2598         Web Inspector: redesign workers sidebar pane
2599         https://bugs.webkit.org/show_bug.cgi?id=70815
2600
2601         Changed workers sidebar pane design.
2602
2603         Now there is a link to worker inspector for each dedicated worker created
2604         by inspected page. The sidebar display a link to a page with list of all
2605         shared workers if there one is supported by the WebKit port. Also there
2606         is a checkbox that allows pause all new workers on first statements.
2607
2608         Reviewed by Pavel Feldman.
2609
2610         * inspector/front-end/Settings.js:
2611         * inspector/front-end/StylesSidebarPane.js:
2612         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
2613         * inspector/front-end/WorkerManager.js:
2614         (WebInspector.WorkerManager.prototype.openWorkerInspector):
2615         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
2616         * inspector/front-end/WorkersSidebarPane.js:
2617         (WebInspector.WorkerListSidebarPane):
2618         (WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
2619         (WebInspector.WorkerListSidebarPane.prototype._workersCleared):
2620         (WebInspector.WorkerListSidebarPane.prototype._addWorker):
2621         (WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
2622         (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
2623         (WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink.link.onclick):
2624         (WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink):
2625         * inspector/front-end/elementsPanel.css:
2626         * inspector/front-end/inspectorCommon.css:
2627         (.sidebar-separator):
2628         (.sidebar-label):
2629         * inspector/front-end/scriptsPanel.css:
2630         (.dedicated-worker-item):
2631         (#shared-workers-list):
2632         (#pause-workers-checkbox > input):
2633
2634 2011-10-25  Nico Weber  <thakis@chromium.org>
2635
2636         [chromium/mac] Fix an ODR violation.
2637         https://bugs.webkit.org/show_bug.cgi?id=70753
2638
2639         Reviewed by Anders Carlsson.
2640
2641         Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
2642         Remove the unused one.
2643
2644         * WebCore.gyp/WebCore.gyp:
2645
2646 2011-10-25  Vsevolod Vlasov  <vsevik@chromium.org>
2647
2648         Web Inspector: Debugger fails when there is an invalid watch expression.
2649         https://bugs.webkit.org/show_bug.cgi?id=70718
2650
2651         Reviewed by Pavel Feldman.
2652
2653         Test: inspector/debugger/watch-expressions-panel-switch.html
2654
2655         * inspector/front-end/ScriptsPanel.js:
2656         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2657
2658 2011-10-24  Pavel Podivilov  <podivilov@chromium.org>
2659
2660         Web Inspector: fix empty line handling in source maps.
2661         https://bugs.webkit.org/show_bug.cgi?id=70726
2662
2663         Reviewed by Yury Semikhatsky.
2664
2665         * inspector/front-end/CompilerSourceMapping.js:
2666         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
2667
2668 2011-10-25  Justin Schuh  <jschuh@chromium.org>
2669
2670         Check for empty string in parseArcFlag
2671         https://bugs.webkit.org/show_bug.cgi?id=70763
2672
2673         Reviewed by Dirk Schulze.
2674
2675         Test: svg/path-invalid.html
2676
2677         * svg/SVGParserUtilities.cpp:
2678         (WebCore::parseArcFlag):
2679
2680 2011-10-24  Pavel Podivilov  <podivilov@chromium.org>
2681
2682         Web Inspector: keep old source mapping when new one could not be loaded.
2683         https://bugs.webkit.org/show_bug.cgi?id=70729
2684
2685         Reviewed by Yury Semikhatsky.
2686
2687         * inspector/front-end/RawSourceCode.js:
2688         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
2689         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
2690         (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
2691
2692 2011-10-25  Sachin Puranik  <sachin.puranik@motorola.com>
2693
2694         Double number step=.5 should be considered valid in <input type="number" step=".5">
2695         https://bugs.webkit.org/show_bug.cgi?id=70320
2696
2697         Reviewed by Kent Tamura.
2698
2699         Test: fast/forms/input-step-as-double.html
2700
2701         * html/parser/HTMLParserIdioms.cpp:
2702         (WebCore::parseToDoubleForNumberType): Changed the function to consider
2703         step as valid even if it starts with "."
2704
2705 2011-10-25  Alexander Pavlov  <apavlov@chromium.org>
2706
2707         Web Inspector: [Chromium] Audits panel context menu for links not working properly
2708         https://bugs.webkit.org/show_bug.cgi?id=70813
2709
2710         Reviewed by Pavel Feldman.
2711
2712         * inspector/front-end/AuditResultView.js:
2713         (WebInspector.AuditResultView):
2714         (WebInspector.AuditResultView.prototype._contextMenuEventFired):
2715
2716 2011-10-25  Vsevolod Vlasov  <vsevik@chromium.org>
2717
2718         Web Inspector: Resources panel: display the current search match index in the toolbar.
2719         https://bugs.webkit.org/show_bug.cgi?id=66050
2720
2721         Reviewed by Pavel Feldman.
2722
2723         Test: http/tests/inspector/search/resources-search-match-index.html
2724
2725         * inspector/front-end/ResourcesPanel.js:
2726         (WebInspector.ResourcesPanel.prototype.performSearch.callback):
2727         (WebInspector.ResourcesPanel.prototype.performSearch):
2728         (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
2729         (WebInspector.ResourcesPanel.prototype._showSearchResult):
2730         (WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
2731         (WebInspector.ResourcesSearchController):
2732         (WebInspector.ResourcesSearchController.prototype.nextSearchResult):
2733         (WebInspector.ResourcesSearchController.prototype.previousSearchResult):
2734         (WebInspector.ResourcesSearchController.prototype._searchResult):
2735         (WebInspector.SearchResultsTreeElementsTraverser.prototype.next):
2736         (WebInspector.SearchResultsTreeElementsTraverser.prototype.previous):
2737         (WebInspector.SearchResultsTreeElementsTraverser.prototype.matchIndex):
2738         (WebInspector.SearchResultsTreeElementsTraverser.prototype._elementSearchMatchesCount):
2739         (WebInspector.SearchResultsTreeElementsTraverser.prototype._traverseNext):
2740         (WebInspector.SearchResultsTreeElementsTraverser.prototype._traversePrevious):
2741         * inspector/front-end/treeoutline.js:
2742
2743 2011-10-25  Andrey Kosyakov  <caseq@chromium.org>
2744
2745         Web Inspector: JS exception in JavaScriptSourceFrame.onShowPopover/showObjectPopover()
2746         https://bugs.webkit.org/show_bug.cgi?id=70812
2747
2748         Reviewed by Pavel Feldman.
2749
2750         Check if highlighted element is present while displaying object popover.
2751
2752         * inspector/front-end/JavaScriptSourceFrame.js:
2753         (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover.showObjectPopover):
2754         (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover):
2755
2756 2011-10-21  Nat Duca  <nduca@chromium.org>
2757
2758         [chromium] Route Console::time and Console::timeEnd to trace_event
2759         https://bugs.webkit.org/show_bug.cgi?id=70620
2760
2761         Reviewed by Pavel Feldman.
2762
2763         * page/Console.cpp:
2764         (WebCore::Console::time):
2765         (WebCore::Console::timeEnd):
2766
2767 2011-10-21  Andrey Kosyakov  <caseq@chromium.org>
2768
2769         Web Inspector: [Extensions API] allow extensions to specify script to be injected on reload
2770         https://bugs.webkit.org/show_bug.cgi?id=70600
2771
2772         Reviewed by Pavel Feldman.
2773
2774         - change webInspector.inspectedPage.reload() to accept multiple options in an object
2775         - add an ability to inject a script upon a page reload
2776         - return script id in addScriptToEvaluateOnLoad()
2777         - provide removeScriptToEvaluateOnLoad()
2778         - store scripts to evaluate on load in inspector state cookie
2779
2780         Test: inspector/extensions/extensions-reload.html
2781
2782         * inspector/Inspector.json:
2783         * inspector/InspectorPageAgent.cpp:
2784         (WebCore::InspectorPageAgent::InspectorPageAgent):
2785         (WebCore::InspectorPageAgent::restore):
2786         (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
2787         (WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
2788         (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
2789         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
2790         (WebCore::InspectorPageAgent::frameNavigated):
2791         * inspector/InspectorPageAgent.h:
2792         * inspector/front-end/ExtensionAPI.js:
2793         (injectedExtensionAPI.InspectedWindow.prototype.reload):
2794         * inspector/front-end/ExtensionServer.js:
2795         (WebInspector.ExtensionServer.prototype._onReload):
2796         * inspector/front-end/WorkersSidebarPane.js:
2797         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation.callback):
2798         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
2799
2800 2011-10-24  Pavel Feldman  <pfeldman@google.com>
2801
2802         Web Inspector: print expired message count before remaining messages.
2803         https://bugs.webkit.org/show_bug.cgi?id=70736
2804
2805         Reviewed by Yury Semikhatsky.
2806
2807         * inspector/Inspector-0.1.json:
2808         * inspector/Inspector.json:
2809         * inspector/InspectorConsoleAgent.cpp:
2810         (WebCore::InspectorConsoleAgent::enable):
2811         (WebCore::InspectorConsoleAgent::restore):
2812         * inspector/InspectorConsoleAgent.h:
2813         * inspector/front-end/ConsoleModel.js:
2814
2815 2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
2816
2817         Unreviewed, rolling out r98309.
2818         http://trac.webkit.org/changeset/98309
2819         https://bugs.webkit.org/show_bug.cgi?id=70801
2820
2821         Test fails on mac (Requested by benwells on #webkit).
2822
2823         * html/canvas/CanvasRenderingContext2D.cpp:
2824         (WebCore::CanvasRenderingContext2D::fill):
2825         (WebCore::CanvasRenderingContext2D::fillRect):
2826         (WebCore::CanvasRenderingContext2D::drawImage):
2827         (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere):
2828         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
2829         * html/canvas/CanvasRenderingContext2D.h:
2830
2831 2011-10-24  Geoffrey Garen  <ggaren@apple.com>
2832
2833         Chromium build fix: #include window.h for HANDLE.
2834
2835         * platform/graphics/opentype/OpenTypeUtilities.h:
2836
2837 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
2838
2839         Include ThreadSafeRefCounted.h since the class declared in this header file
2840         inherits from ThreadSafeRefCounted.
2841
2842         * storage/IDBIndexBackendInterface.h:
2843
2844 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
2845
2846         Fix a typo.
2847
2848         * bindings/v8/JavaScriptCallFrame.h:
2849
2850 2011-10-24  Geoffrey Garen  <ggaren@apple.com>
2851
2852         Removed SharedUChar and tightened language around its previous uses
2853         https://bugs.webkit.org/show_bug.cgi?id=70698
2854
2855         Reviewed by David Levin.
2856
2857         - Renamed "threadSafeCopy" and "crossThreadCopy" to "isolatedCopy" because
2858         the former names gave the dangerous misimpression that the resulting object
2859         was thread-safe, which is not true.
2860         
2861         - Updated a bunch of files for header dependency changes, now that
2862         CrossThreadRefCounted is gone.
2863
2864         * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Removed.
2865         * WebCore.exp.in:
2866         * bindings/js/ScriptHeapSnapshot.h:
2867         * bindings/v8/SerializedScriptValue.cpp:
2868         (WebCore::SerializedScriptValue::release):
2869         (WebCore::SerializedScriptValue::SerializedScriptValue):
2870         * css/CSSPropertySourceData.h:
2871         * css/CSSValue.h:
2872         * css/StyleMedia.h:
2873         * css/WebKitCSSMatrix.h:
2874         * dom/QualifiedName.h:
2875         * fileapi/LocalFileSystem.h:
2876         (WebCore::LocalFileSystem::SystemBasePath::operator String):
2877         * history/CachedFrame.h:
2878         * history/CachedPage.h:
2879         * history/HistoryItem.h:
2880         * html/canvas/CanvasStyle.h:
2881         * inspector/InspectorResourceAgent.h:
2882         * loader/FormState.h:
2883         * loader/TextResourceDecoder.h:
2884         * loader/WorkerThreadableLoader.cpp:
2885         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2886         * loader/icon/IconDatabase.cpp:
2887         (WebCore::IconDatabase::open):
2888         (WebCore::IconDatabase::synchronousIconForPageURL):
2889         (WebCore::IconDatabase::synchronousIconURLForPageURL):
2890         (WebCore::IconDatabase::retainIconForPageURL):
2891         (WebCore::IconDatabase::releaseIconForPageURL):
2892         (WebCore::IconDatabase::setIconDataForIconURL):
2893         (WebCore::IconDatabase::setIconURLForPageURL):
2894         (WebCore::IconDatabase::databasePath):
2895         (WebCore::IconDatabase::defaultDatabaseFilename):
2896         (WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem):
2897         (WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem):
2898         * page/ContentSecurityPolicy.h:
2899         * page/Coordinates.h:
2900         (WebCore::Coordinates::isolatedCopy):
2901         * page/Geoposition.h:
2902         (WebCore::Geoposition::isolatedCopy):
2903         * page/SecurityOrigin.cpp:
2904         (WebCore::SecurityOrigin::SecurityOrigin):
2905         (WebCore::SecurityOrigin::isolatedCopy):
2906         * page/SecurityOrigin.h:
2907         * page/animation/AnimationBase.h:
2908         * platform/CrossThreadCopier.cpp:
2909         (WebCore::::copy):
2910         * platform/FileChooser.h:
2911         * platform/KURL.cpp:
2912         (WebCore::KURL::copy):
2913         * platform/cf/SchedulePair.h:
2914         * platform/network/BlobData.cpp:
2915         (WebCore::BlobDataItem::detachFromCurrentThread):
2916         (WebCore::BlobData::detachFromCurrentThread):
2917         * platform/network/HTTPHeaderMap.cpp:
2918         (WebCore::HTTPHeaderMap::copyData):
2919         * platform/network/MIMEHeader.h:
2920         * platform/network/ResourceErrorBase.cpp:
2921         (WebCore::ResourceErrorBase::copy):
2922         * platform/network/ResourceLoadInfo.h:
2923         * platform/network/ResourceRequestBase.cpp:
2924         (WebCore::ResourceRequestBase::copyData):
2925         * platform/network/ResourceResponseBase.cpp:
2926         (WebCore::ResourceResponseBase::copyData):
2927         * platform/sql/SQLValue.cpp:
2928         (WebCore::SQLValue::SQLValue):
2929         (WebCore::SQLValue::string):
2930         * rendering/style/QuotesData.h:
2931         * storage/AbstractDatabase.cpp:
2932         (WebCore::updateGuidVersionMap):
2933         (WebCore::AbstractDatabase::AbstractDatabase):
2934         (WebCore::AbstractDatabase::performOpenAndVerify):
2935         (WebCore::AbstractDatabase::stringIdentifier):
2936         (WebCore::AbstractDatabase::displayName):
2937         (WebCore::AbstractDatabase::fileName):
2938         (WebCore::AbstractDatabase::setExpectedVersion):
2939         (WebCore::AbstractDatabase::getCachedVersion):
2940         * storage/ChangeVersionWrapper.cpp:
2941         (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
2942         * storage/Database.cpp:
2943         (WebCore::Database::Database):
2944         (WebCore::Database::tableNames):
2945         * storage/DatabaseDetails.h:
2946         * storage/DatabaseTracker.cpp:
2947         (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
2948         (WebCore::DatabaseTracker::databaseDirectoryPath):
2949         (WebCore::DatabaseTracker::trackerDatabasePath):
2950         (WebCore::DatabaseTracker::canEstablishDatabase):
2951         (WebCore::DatabaseTracker::originPath):
2952         (WebCore::DatabaseTracker::fullPathForDatabase):
2953         (WebCore::DatabaseTracker::populateOrigins):
2954         (WebCore::DatabaseTracker::databaseNamesForOrigin):
2955         (WebCore::DatabaseTracker::addOpenDatabase):
2956         (WebCore::DatabaseTracker::setQuota):
2957         (WebCore::DatabaseTracker::recordCreatingDatabase):
2958         (WebCore::DatabaseTracker::recordDeletingDatabase):
2959         (WebCore::DatabaseTracker::recordDeletingOrigin):
2960         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
2961         * storage/OriginQuotaManager.cpp:
2962         (WebCore::OriginQuotaManager::trackOrigin):
2963         (WebCore::OriginQuotaManager::addDatabase):
2964         * storage/SQLError.h:
2965         (WebCore::SQLError::message):
2966         (WebCore::SQLError::SQLError):
2967         * storage/SQLResultSetRowList.h:
2968         * storage/SQLStatement.cpp:
2969         (WebCore::SQLStatement::SQLStatement):
2970         * storage/StorageAreaSync.cpp:
2971         (WebCore::StorageAreaSync::StorageAreaSync):
2972         (WebCore::StorageAreaSync::syncTimerFired):
2973         * storage/StorageAreaSync.h:
2974         * storage/StorageMap.cpp:
2975         (WebCore::StorageMap::importItem):
2976         * storage/StorageNamespaceImpl.cpp:
2977         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
2978         * storage/StorageSyncManager.cpp:
2979         (WebCore::StorageSyncManager::StorageSyncManager):
2980         * storage/StorageTracker.cpp:
2981         (WebCore::StorageTracker::StorageTracker):
2982         (WebCore::StorageTracker::syncImportOriginIdentifiers):
2983         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
2984         (WebCore::StorageTracker::setOriginDetails):
2985         (WebCore::StorageTracker::willDeleteAllOrigins):
2986         * svg/SVGPathSeg.h:
2987         * workers/DefaultSharedWorkerRepository.cpp:
2988         (WebCore::SharedWorkerProxy::url):
2989         (WebCore::SharedWorkerProxy::name):
2990         (WebCore::SharedWorkerProxy::SharedWorkerProxy):
2991         (WebCore::DefaultSharedWorkerRepository::getProxy):
2992         * workers/SharedWorkerThread.cpp:
2993         (WebCore::SharedWorkerThread::SharedWorkerThread):
2994         * workers/WorkerMessagingProxy.cpp:
2995         (WebCore::WorkerExceptionTask::WorkerExceptionTask):
2996         (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask):
2997         * workers/WorkerRunLoop.cpp:
2998         (WebCore::WorkerRunLoop::postTaskForMode):
2999         (WebCore::WorkerRunLoop::Task::Task):
3000         * workers/WorkerThread.cpp:
3001         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
3002
3003 2011-10-24  Adam Barth  <abarth@webkit.org>
3004
3005         Remove empty directory.
3006
3007         * p2p: Removed.
3008
3009 2011-10-24  Shawn Singh  <shawnsingh@chromium.org>
3010
3011         [chromium] Refactor painting/updating/drawing code.
3012         https://bugs.webkit.org/show_bug.cgi?id=70057
3013
3014         Reviewed by James Robinson.
3015
3016         This refactoring separates the "early exits" from the actual loop
3017         that draws layers. As part of this, it was also appropriate to
3018         clean up the way that masks and replicas are dealt with when
3019         painting and updating. The purpose of all this is to make things
3020         easier to test, and for a scissoring optimization that needs to
3021         know exatly what gets drawn. Existing layout tests were able to
3022         verify the refactoring did not change behavior.
3023
3024         * platform/graphics/chromium/LayerRendererChromium.cpp:
3025         (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
3026         (WebCore::LayerRendererChromium::drawLayersInternal):
3027         (WebCore::LayerRendererChromium::drawLayer):
3028         * platform/graphics/chromium/LayerRendererChromium.h:
3029         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3030         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
3031         (WebCore::CCLayerTreeHost::paintLayerContents):
3032         (WebCore::CCLayerTreeHost::updateCompositorResources):
3033         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3034         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3035         (WebCore::layerShouldBeAppended):
3036         (WebCore::calculateDrawTransformsAndVisibilityInternal):
3037         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
3038         (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
3039
3040 2011-10-24  Luke Macpherson   <macpherson@chromium.org>
3041
3042         REGRESSION(80893): HTML5 spec takes 2s longer to load due to time spent in CSSStyleSelector
3043         https://bugs.webkit.org/show_bug.cgi?id=68944
3044
3045         Reviewed by Antti Koivisto.
3046
3047         No new tests / Covered by existing tests.
3048
3049         Removes all virtual dispatch from CSSStyleApplyProperty by converting to use static function pointers for dispatch.
3050         Uses class templates instead of function templates to allow default parameters and also to share parameter declarations across static functions.
3051         All constructor parameters become template parameters. This improves the level of compiler optimization that can be achieved.
3052         Overall this achieved a ~2% overall speedup on run-safari PerformanceTests/Parser/html5-full-render.html,
3053         and profiling showed a reduction in the time spent inside CSSStyleSelector::applyProperty().
3054
3055         * css/CSSStyleApplyProperty.cpp:
3056         (WebCore::ApplyPropertyExpanding::applyInheritValue):
3057         (WebCore::ApplyPropertyExpanding::applyInitialValue):
3058         (WebCore::ApplyPropertyExpanding::applyValue):
3059         (WebCore::ApplyPropertyExpanding::createHandler):
3060         (WebCore::ApplyPropertyDefaultBase::setValue):
3061         (WebCore::ApplyPropertyDefaultBase::value):
3062         (WebCore::ApplyPropertyDefaultBase::initial):
3063         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
3064         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
3065         (WebCore::ApplyPropertyDefaultBase::applyValue):
3066         (WebCore::ApplyPropertyDefaultBase::createHandler):
3067         (WebCore::ApplyPropertyDefault::setValue):
3068         (WebCore::ApplyPropertyDefault::applyValue):
3069         (WebCore::ApplyPropertyDefault::createHandler):
3070         (WebCore::ApplyPropertyStyleImage::applyValue):
3071         (WebCore::ApplyPropertyStyleImage::createHandler):
3072         (WebCore::ApplyPropertyAuto::setValue):
3073         (WebCore::ApplyPropertyAuto::value):
3074         (WebCore::ApplyPropertyAuto::hasAuto):
3075         (WebCore::ApplyPropertyAuto::setAuto):
3076         (WebCore::ApplyPropertyAuto::applyInheritValue):
3077         (WebCore::ApplyPropertyAuto::applyInitialValue):
3078         (WebCore::ApplyPropertyAuto::applyValue):
3079         (WebCore::ApplyPropertyAuto::createHandler):
3080         (WebCore::defaultInitialColor):
3081         (WebCore::ApplyPropertyColor::applyInheritValue):
3082         (WebCore::ApplyPropertyColor::applyInitialValue):
3083         (WebCore::ApplyPropertyColor::applyValue):
3084         (WebCore::ApplyPropertyColor::createHandler):
3085         (WebCore::ApplyPropertyDirection::applyValue):
3086         (WebCore::ApplyPropertyDirection::createHandler):
3087         (WebCore::ApplyPropertyLength::setValue):
3088         (WebCore::ApplyPropertyLength::applyValue):
3089         (WebCore::ApplyPropertyLength::createHandler):
3090         (WebCore::ApplyPropertyString::setValue):
3091         (WebCore::ApplyPropertyString::applyValue):
3092         (WebCore::ApplyPropertyString::createHandler):
3093         (WebCore::ApplyPropertyBorderRadius::setValue):
3094         (WebCore::ApplyPropertyBorderRadius::applyValue):
3095         (WebCore::ApplyPropertyBorderRadius::createHandler):
3096         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
3097         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
3098         (WebCore::ApplyPropertyFillLayer::applyValue):
3099         (WebCore::ApplyPropertyFillLayer::createHandler):
3100         (WebCore::ApplyPropertyComputeLength::setValue):
3101         (WebCore::ApplyPropertyComputeLength::applyValue):
3102         (WebCore::ApplyPropertyComputeLength::createHandler):
3103         (WebCore::ApplyPropertyFont::applyInheritValue):
3104         (WebCore::ApplyPropertyFont::applyInitialValue):
3105         (WebCore::ApplyPropertyFont::applyValue):
3106         (WebCore::ApplyPropertyFont::createHandler):
3107         (WebCore::ApplyPropertyFontWeight::applyValue):
3108         (WebCore::ApplyPropertyFontWeight::createHandler):
3109         (WebCore::ApplyPropertyCounter::emptyFunction):
3110         (WebCore::ApplyPropertyCounter::applyValue):
3111         (WebCore::ApplyPropertyCounter::createHandler):
3112         (WebCore::ApplyPropertyCursor::applyInheritValue):
3113         (WebCore::ApplyPropertyCursor::applyInitialValue):
3114         (WebCore::ApplyPropertyCursor::applyValue):
3115         (WebCore::ApplyPropertyCursor::createHandler):
3116         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
3117         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
3118         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
3119         (WebCore::ApplyPropertyTextEmphasisStyle::createHandler):
3120         (WebCore::ApplyPropertyAnimation::setValue):
3121         (WebCore::ApplyPropertyAnimation::value):
3122         (WebCore::ApplyPropertyAnimation::test):
3123         (WebCore::ApplyPropertyAnimation::clear):
3124         (WebCore::ApplyPropertyAnimation::initial):
3125         (WebCore::ApplyPropertyAnimation::map):
3126         (WebCore::ApplyPropertyAnimation::accessAnimations):
3127         (WebCore::ApplyPropertyAnimation::animations):
3128         (WebCore::ApplyPropertyAnimation::applyInheritValue):
3129         (WebCore::ApplyPropertyAnimation::applyInitialValue):
3130         (WebCore::ApplyPropertyAnimation::applyValue):
3131         (WebCore::ApplyPropertyAnimation::createHandler):
3132         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
3133         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
3134         (WebCore::ApplyPropertyOutlineStyle::applyValue):
3135         (WebCore::ApplyPropertyOutlineStyle::createHandler):
3136         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3137         * css/CSSStyleApplyProperty.h:
3138         (WebCore::PropertyHandler::PropertyHandler):
3139         (WebCore::PropertyHandler::applyInheritValue):
3140         (WebCore::PropertyHandler::applyInitialValue):
3141         (WebCore::PropertyHandler::applyValue):
3142         (WebCore::PropertyHandler::isValid):
3143         (WebCore::PropertyHandler::inheritFunction):
3144         (WebCore::PropertyHandler::initialFunction):
3145         (WebCore::PropertyHandler::applyFunction):
3146         (WebCore::CSSStyleApplyProperty::propertyHandler):
3147         (WebCore::CSSStyleApplyProperty::setPropertyHandler):
3148         * css/CSSStyleSelector.cpp:
3149         (WebCore::CSSStyleSelector::applyProperty):
3150         * rendering/style/RenderStyle.h:
3151         (WebCore::InheritedFlags::invalidColor):
3152
3153 2011-10-24  Ben Wells  <benwells@chromium.org>
3154
3155         Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
3156         https://bugs.webkit.org/show_bug.cgi?id=66920
3157
3158         Reviewed by James Robinson.
3159
3160         Test: fast/canvas/canvas-composite-image.html
3161
3162         Use the same method as fills to handle composited drawImage calls that will affect the whole
3163         canvas. To do this code used when doing fills has been factored into seperate functions and
3164         used by drawImage. Some functions used to do these types of operations have also been renamed.
3165
3166         * html/canvas/CanvasRenderingContext2D.cpp:
3167         (WebCore::isFullCanvasCompositeMode):
3168         (WebCore::CanvasRenderingContext2D::fill):
3169         (WebCore::CanvasRenderingContext2D::fillRect):
3170         (WebCore::CanvasRenderingContext2D::drawImage):
3171         (WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
3172         (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
3173         (WebCore::CanvasRenderingContext2D::compositeBuffer):
3174         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
3175         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
3176         * html/canvas/CanvasRenderingContext2D.h:
3177
3178 2011-10-24  Sheriff Bot  <webkit.review.bot@gmail.com>
3179
3180         Unreviewed, rolling out r98294 and r98306.
3181         http://trac.webkit.org/changeset/98294
3182         http://trac.webkit.org/changeset/98306
3183         https://bugs.webkit.org/show_bug.cgi?id=70790
3184
3185         the first patch broke chromium-mac and the second gclient
3186         (Requested by jchaffraix on #webkit).
3187
3188         * WebCore.gyp/WebCore.gyp:
3189
3190 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
3191
3192         Build fix after r98300.
3193
3194         * WebCore.gypi:
3195         * WebCore.pro:
3196
3197 2011-10-24  Anders Carlsson  <andersca@apple.com>
3198
3199         It should be possible for Widget subclasses to control whether transforms affect the frame rect
3200         https://bugs.webkit.org/show_bug.cgi?id=70787
3201
3202         Reviewed by Sam Weinig.
3203
3204         Currently RenderWidget sets the frame rect of it's hosted widget to the bounding box of the transformed
3205         content box rect (unless the Widget is a frame view). It should be possible for Widget subclasses to override
3206         this behavior and have the frame rect set to the absolute content box without any transforms applied.
3207
3208         * platform/Widget.h:
3209         (WebCore::Widget::transformsAffectFrameRect):
3210         Add new member function.
3211
3212         * rendering/RenderWidget.cpp:
3213         (WebCore::RenderWidget::updateWidgetGeometry):
3214         Move shared code from setWidget and updateWidgetPosition out into a new function. If transformsAffectFrameRect returns 
3215         false, just set the frame rect to the absolute content box.
3216
3217         (WebCore::RenderWidget::setWidget):
3218         (WebCore::RenderWidget::updateWidgetPosition):
3219         Call updateWidgetGeometry.
3220
3221         * rendering/RenderWidget.h:
3222
3223 2011-10-24  Arko Saha  <arko@motorola.com>
3224
3225         Microdata: Add itemprop, itemref, itemvalue attributes.
3226         https://bugs.webkit.org/show_bug.cgi?id=69839
3227
3228         Reviewed by Ryosuke Niwa.
3229
3230         Tests: fast/dom/MicroData/itemprop-add-remove-tokens.html
3231                fast/dom/MicroData/itemprop-for-an-element-must-be-correct.html
3232                fast/dom/MicroData/itemprop-must-be-read-only.html
3233                fast/dom/MicroData/itemprop-reflected-by-itemProp-property.html
3234                fast/dom/MicroData/itemref-add-remove-tokens.html
3235                fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property.html
3236                fast/dom/MicroData/itemref-for-an-element-must-be-correct.html
3237                fast/dom/MicroData/itemref-must-be-read-only.html
3238                fast/dom/MicroData/itemvalue-reflects-data-attr-on-object-element.html
3239                fast/dom/MicroData/itemvalue-reflects-href-attr.html
3240                fast/dom/MicroData/itemvalue-reflects-src-attribute-on-img-element.html
3241                fast/dom/MicroData/itemvalue-reflects-the-content-attr-on-meta-element.html
3242                fast/dom/MicroData/itemvalue-reflects-the-src-attr.html
3243                fast/dom/MicroData/itemvalue-returns-element-itself.html
3244                fast/dom/MicroData/itemvalue-returns-null.html
3245                fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-001.html
3246                fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-002.html
3247
3248         * CMakeLists.txt:
3249         * GNUmakefile.list.am:
3250         * WebCore.gypi:
3251         * WebCore.pro:
3252         * WebCore.vcproj/WebCore.vcproj:
3253         * bindings/js/JSHTMLElementCustom.cpp:
3254         (WebCore::toJS):
3255         (WebCore::JSHTMLElement::itemValue):
3256         (WebCore::JSHTMLElement::setItemValue):
3257         * bindings/v8/custom/V8HTMLElementCustom.cpp:
3258         (WebCore::toV8Object):
3259         (WebCore::V8HTMLElement::itemValueAccessorGetter):
3260         (WebCore::V8HTMLElement::itemValueAccessorSetter):
3261         * dom/MicroDataItemList.cpp:
3262         * html/HTMLAnchorElement.cpp:
3263         (WebCore::HTMLAnchorElement::itemValueText):
3264         (WebCore::HTMLAnchorElement::setItemValueText):
3265         * html/HTMLAnchorElement.h:
3266         * html/HTMLAreaElement.cpp:
3267         (WebCore::HTMLAreaElement::itemValueText):
3268         (WebCore::HTMLAreaElement::setItemValueText):
3269         * html/HTMLAreaElement.h:
3270         * html/HTMLAttributeNames.in:
3271         * html/HTMLElement.cpp:
3272         (WebCore::HTMLElement::parseMappedAttribute):
3273         (WebCore::HTMLElement::itemProp): Returns element's itemprop content attribute.
3274         (WebCore::HTMLElement::setItemProp): Sets itemprop value on changing elemet's
3275         itemprop attribute.
3276         (WebCore::HTMLElement::itemRef): Returns element's itemref content attribute.
3277         (WebCore::HTMLElement::setItemRef): Sets itemref value on changing elemet's
3278         itemref attribute.
3279         (WebCore::HTMLElement::setItemValue): Sets element's itemvalue. If the element has no
3280         itemprop attribute or if element has an itemscope attribute, it throws INVALID_ACCESS_ERR
3281         exception.
3282         (WebCore::HTMLElement::itemValue): Returns the elements itemvalue.
3283
3284         If the element has no itemprop attribute it returns null.
3285         If the element has an itemscope attribute, it returns the element itself.
3286         If the element is a meta element: It acts as it would if it was reflecting the element's
3287         content content attribute.
3288         If the element is an audio, embed, iframe, img, source, track, or video element: It acts
3289         as it would if it was reflecting the element's src content attribute.
3290         If the element is an a, area, or link element: It act as it would if it was reflecting the
3291         href content attribute.
3292         If the element is an object element: It acts as  it would if it was reflecting the element's
3293         data content attribute.
3294
3295         (WebCore::HTMLElement::itemValueText):
3296         (WebCore::HTMLElement::setItemValueText):
3297         * html/HTMLElement.h:
3298         * html/HTMLElement.idl:
3299         * html/HTMLEmbedElement.cpp:
3300         (WebCore::HTMLEmbedElement::itemValueText):
3301         (WebCore::HTMLEmbedElement::setItemValueText):
3302         * html/HTMLEmbedElement.h:
3303         * html/HTMLIFrameElement.cpp:
3304         (WebCore::HTMLIFrameElement::itemValueText):
3305         (WebCore::HTMLIFrameElement::setItemValueText):
3306         * html/HTMLIFrameElement.h:
3307         * html/HTMLImageElement.cpp:
3308         (WebCore::HTMLImageElement::itemValueText):
3309         (WebCore::HTMLImageElement::setItemValueText):
3310         * html/HTMLImageElement.h:
3311         * html/HTMLLinkElement.cpp:
3312         (WebCore::HTMLLinkElement::itemValueText):
3313         (WebCore::HTMLLinkElement::setItemValueText):
3314         * html/HTMLLinkElement.h:
3315         * html/HTMLMediaElement.cpp:
3316         (WebCore::HTMLMediaElement::itemValueText):
3317         (WebCore::HTMLMediaElement::setItemValueText):
3318         * html/HTMLMediaElement.h:
3319         * html/HTMLMetaElement.cpp:
3320         (WebCore::HTMLMetaElement::itemValueText):
3321         (WebCore::HTMLMetaElement::setItemValueText):
3322         * html/HTMLMetaElement.h:
3323         * html/HTMLObjectElement.cpp:
3324         (WebCore::HTMLObjectElement::itemValueText):
3325         (WebCore::HTMLObjectElement::setItemValueText):
3326         * html/HTMLObjectElement.h:
3327         * html/HTMLSourceElement.cpp:
3328         (WebCore::HTMLSourceElement::itemValueText):
3329         (WebCore::HTMLSourceElement::setItemValueText):
3330         * html/HTMLSourceElement.h:
3331         * html/HTMLTrackElement.cpp:
3332         (WebCore::HTMLTrackElement::itemValueText):
3333         (WebCore::HTMLTrackElement::setItemValueText):
3334         * html/HTMLTrackElement.h:
3335         * html/MicroDataItemValue.cpp: Added.
3336         (WebCore::MicroDataItemValue::MicroDataItemValue):
3337         (WebCore::MicroDataItemValue::createFromString):
3338         (WebCore::MicroDataItemValue::createFromNode):
3339         * html/MicroDataItemValue.h: Added.
3340         (WebCore::MicroDataItemValue::isNode):
3341         (WebCore::MicroDataItemValue::getNode):
3342         (WebCore::MicroDataItemValue::getString):
3343
3344 2011-10-24  Joseph Pecoraro  <joepeck@webkit.org>
3345
3346         Remove unused instance variable
3347         https://bugs.webkit.org/show_bug.cgi?id=70750
3348
3349         Reviewed by Dimitri Glazkov.
3350
3351         * rendering/RenderTextControl.h:
3352
3353 2011-10-24  Nico Weber  <thakis@chromium.org>
3354
3355         [chromium/mac] Fix an ODR violation.
3356         https://bugs.webkit.org/show_bug.cgi?id=70753
3357
3358         Reviewed by Anders Carlsson.
3359
3360         Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
3361         Remove the unused one.
3362
3363         * WebCore.gyp/WebCore.gyp:
3364
3365 2011-10-24  Tim Horton  <timothy_horton@apple.com>
3366
3367         feColorMatrix doesn't use the correct default "matrix" type when no type attribute is specified
3368         https://bugs.webkit.org/show_bug.cgi?id=70035
3369         <rdar://problem/10280177>
3370
3371         Reviewed by Nikolas Zimmermann.
3372
3373         Make feColorMatrix's type attribute be "matrix" by default.
3374
3375         Test: svg/filters/feColorMatrix-default-type.svg
3376
3377         * svg/SVGFEColorMatrixElement.cpp:
3378         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
3379
3380 2011-10-24  Joshua Bell  <jsbell@chromium.org>
3381
3382         Unbreak binding generation tests
3383         https://bugs.webkit.org/show_bug.cgi?id=70768
3384
3385         Reviewed by Darin Adler.
3386
3387         Update the expected output of V8 binding tests to match
3388         results c/o https://bugs.webkit.org/show_bug.cgi?id=70065
3389
3390         * bindings/scripts/test/V8/V8TestObj.cpp:
3391         (WebCore::TestObjInternal::idbKeyCallback):
3392
3393 2011-10-21  Nat Duca  <nduca@chromium.org>
3394
3395         [chromium] Add isTraceEventEnabled to PlatformSupport.
3396         https://bugs.webkit.org/show_bug.cgi?id=70618
3397
3398         Reviewed by Darin Fisher.
3399
3400         * platform/chromium/PlatformSupport.h:
3401
3402 2011-10-24  Mihnea Ovidenie  <mihnea@adobe.com>
3403
3404         Use StringBuilder in CSSRuleList::rulesText()/CSSSelectorList::selectorsText()
3405         https://bugs.webkit.org/show_bug.cgi?id=70746
3406
3407         Reviewed by Tony Chang.
3408
3409         Covered by existing tests.
3410
3411         * css/CSSRuleList.cpp:
3412         (WebCore::CSSRuleList::rulesText):
3413         * css/CSSSelectorList.cpp:
3414         (WebCore::CSSSelectorList::selectorsText):
3415         * css/WebKitCSSKeyframesRule.cpp:
3416         (WebCore::WebKitCSSKeyframesRule::cssText): Use CSSRuleList::rulesText() method instead of explicit loop.
3417
3418 2011-10-24  Michael Saboff  <msaboff@apple.com>
3419
3420         WebKit doesn't build with recent changes to libdispatch
3421         https://bugs.webkit.org/show_bug.cgi?id=70737
3422
3423         Added initialization for new WebKitSystemInterface function 
3424         CreateVMPressureDispatchOnMainQueue.  Changed MemoryPressureHandler::install
3425         to use new function.
3426
3427         Reviewed by Geoffrey Garen.
3428
3429         No new tests.  Moved functionality to WebKitSystemInterface.
3430
3431         * WebCore.exp.in:
3432         * platform/mac/MemoryPressureHandlerMac.mm:
3433         (WebCore::MemoryPressureHandler::install):
3434         * platform/mac/WebCoreSystemInterface.h:
3435         * platform/mac/WebCoreSystemInterface.mm:
3436
3437 2011-10-24  Joshua Bell  <jsbell@chromium.org>
3438
3439         IndexedDB: Throw DATA_ERR on invalid keys, remove null key support
3440         https://bugs.webkit.org/show_bug.cgi?id=70065
3441
3442         Reviewed by Tony Chang.
3443
3444         Part 1 of a two-sided commit. Renames IDBKey::NullType to
3445         IDBKey::InvalidType. JS binding yields this type rather
3446         than throwing immediately so the correct exception type can
3447         be raised. Checks for invalid keys added to front-end classes.
3448
3449         * bindings/js/JSIDBKeyCustom.cpp:
3450         (WebCore::toJS):
3451         * bindings/scripts/CodeGeneratorV8.pm:
3452         (Ty