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