Make use of CG rounded-rect primitives
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-29  Tim Horton  <timothy_horton@apple.com>
2
3         Make use of CG rounded-rect primitives
4         https://bugs.webkit.org/show_bug.cgi?id=79932
5         <rdar://problem/9274953>
6
7         Reviewed by Simon Fraser.
8
9         Dispatch to potentially platform-specific rounded rectangle path
10         construction from addPathForRoundedRect. Make use of this to call
11         wkCGPathAddRoundedRect on Lion and above, as long as the rounded
12         corners are all equivalent.
13
14         No new tests, as this is covered by many that use rounded corners,
15         and is only a performance improvement.
16
17         * WebCore.exp.in:
18         * platform/graphics/Path.cpp:
19         (WebCore::Path::addRoundedRect):
20         (WebCore):
21         (WebCore::Path::addPathForRoundedRect):
22         * platform/graphics/Path.h:
23         (Path):
24         * platform/graphics/cg/PathCG.cpp:
25         (WebCore::Path::addPathForRoundedRect):
26         (WebCore):
27         * platform/mac/WebCoreSystemInterface.h:
28         * platform/mac/WebCoreSystemInterface.mm:
29
30 2012-02-29  Leo Yang  <leo.yang@torchmobile.com.cn>
31
32         [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatPoint.h
33         https://bugs.webkit.org/show_bug.cgi?id=79887
34
35         Reviewed by Antonio Gomes.
36
37         Add conversion convenience between WebCore::FloatPoint and BlackBerry::Platform::FloatPoint.
38
39         The porting can't be built yet, no new tests.
40
41         * platform/graphics/FloatPoint.h:
42         (Platform):
43         (FloatPoint):
44
45 2012-02-29  Kaustubh Atrawalkar  <kaustubh@motorola.com>
46
47         ShadowRoot need innerHTML
48         https://bugs.webkit.org/show_bug.cgi?id=78473
49
50         Reviewed by Hajime Morita.
51
52         Refactor code for sharing common code between HTMLElement & ShadowRoot.
53         Implement innerHTML attribute for ShadowRoot.
54
55         Test: fast/dom/shadow/shadow-root-innerHTML.html
56
57         * dom/ShadowRoot.cpp:
58         (WebCore::ShadowRoot::cloneNode):
59         (WebCore):
60         (WebCore::ShadowRoot::innerHTML):
61         (WebCore::ShadowRoot::setInnerHTML):
62         * dom/ShadowRoot.h:
63         (ShadowRoot):
64         * dom/ShadowRoot.idl:
65         * editing/markup.cpp:
66         (WebCore::urlToMarkup):
67         (WebCore):
68         (WebCore::createFragmentFromSource):
69         (WebCore::hasOneChild):
70         (WebCore::hasOneTextChild):
71         (WebCore::replaceChildrenWithFragment):
72         (WebCore::replaceChildrenWithText):
73         * editing/markup.h:
74         * html/HTMLElement.cpp:
75         (WebCore):
76
77 2012-02-29  Julien Chaffraix  <jchaffraix@webkit.org>
78
79         Stop doubling maximalOutlineSize during painting
80         https://bugs.webkit.org/show_bug.cgi?id=79724
81
82         Reviewed by Tony Chang.
83
84         Refactoring only, covered by existing tests (mostly repaint ones).
85
86         * rendering/RenderReplaced.cpp:
87         (WebCore::RenderReplaced::shouldPaint):
88         * rendering/RenderTableCell.cpp:
89         (WebCore::RenderTableCell::paintCollapsedBorders):
90         Introduce a local repaint rectangle that we inflate by the maximalOutlineSize
91         to simplify the comparison logic. Also tried to make it clearer what's going on
92         by tweaking the existing code.
93
94         * rendering/RenderTableSection.cpp:
95         (WebCore::RenderTableSection::paintObject):
96         Remove the doubling.
97
98 2012-02-29  Ken Buchanan  <kenrb@chromium.org>
99
100         Crash when changing list marker locations
101         https://bugs.webkit.org/show_bug.cgi?id=79681
102
103         Reviewed by David Hyatt.
104
105         This fixes a regression crash from r108548.
106
107         There are some conditions where removing the anonymous block
108         parent at that point can cause problems. One is when there is
109         a continuation from it, and another when it is a sibling of
110         lineBoxParent and it causes lineBoxParent to be deleted
111         incidentally. This patch delays the destruction until after
112         lineBoxParent has been used and makes an exception for
113         continuations.
114
115         * rendering/RenderListItem.cpp:
116         (WebCore::RenderListItem::updateMarkerLocation)
117
118 2012-02-29  Max Feil  <mfeil@rim.com>
119
120         [BlackBerry] Add support for FLAC audio and OGG/Vorbis audio
121         https://bugs.webkit.org/show_bug.cgi?id=79519
122
123         Reviewed by Antonio Gomes.
124
125         A layout test already exists for OGG. We do not support OGG
126         video at this time, only audio.
127
128         Test: media/media-can-play-flac-audio.html
129
130         * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
131         (WebCore):
132
133 2012-02-28  Beth Dakin  <bdakin@apple.com>
134
135         https://bugs.webkit.org/show_bug.cgi?id=79868
136         Overlay scrollbars should respond to AppKit's NSEventPhaseMayBegin
137         -and corresponding-
138         <rdar://problem/10688637>
139
140         Reviewed by Anders Carlsson.
141
142         Scrollbars are currently drawn on the main thread even when scrolling happens 
143         on the scrolling thread, so we have to call back to the main thread for the 
144         time being to make the right drawing calls for NSEventPhaseMayBegin.
145         * page/scrolling/ScrollingCoordinator.cpp:
146         (WebCore::ScrollingCoordinator::handleWheelEventPhase):
147         (WebCore):
148         * page/scrolling/ScrollingCoordinator.h:
149         (ScrollingCoordinator):
150         * page/scrolling/ScrollingTree.cpp:
151         (WebCore::ScrollingTree::handleWheelEventPhase):
152         (WebCore):
153         * page/scrolling/ScrollingTree.h:
154         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
155         (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
156         * platform/ScrollAnimator.h:
157         (WebCore::ScrollAnimator::handleWheelEventPhase):
158         (ScrollAnimator):
159
160         Call into AppKit on NSEventPhaseMayBegin.
161         * platform/mac/ScrollAnimatorMac.h:
162         (ScrollAnimatorMac):
163         * platform/mac/ScrollAnimatorMac.mm:
164         (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
165         (WebCore):
166         (WebCore::ScrollAnimatorMac::handleWheelEventPhase):
167         (WebCore::ScrollAnimatorMac::handleWheelEvent):
168
169 2012-02-28  Jer Noble  <jer.noble@apple.com>
170
171         Full screen video volume slider has "progress bar"
172         https://bugs.webkit.org/show_bug.cgi?id=79812
173
174         Reviewed by Eric Carlson.
175
176         No new tests; strictly a platform-specific look-and-feel change.
177
178         The full-screen volume slider has a "media-slider"" appearance, which is rendering as if
179         the volume slider has a "progress".  Make a concrete "media-fullscreen-volume-slider" appearance
180         which has the correct look-and-feel.
181
182         Add two new appearance keywords, media-fullscreen-volume-slider and thumb, and their associated
183         types and CSS keywords:
184         * css/CSSValueKeywords.in:
185         * css/CSSPrimitiveValueMappings.h:
186         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
187         * html/shadow/MediaControlElements.h:
188         * platform/ThemeTypes.h:
189
190         Handle the new slider and thumb types when rendering:
191         * rendering/RenderMediaControls.cpp:
192         (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
193         (WebCore::RenderMediaControls::paintMediaControlsPart):
194         * rendering/RenderTheme.cpp:
195         (WebCore::RenderTheme::adjustStyle):
196         (WebCore::RenderTheme::paint):
197         * rendering/RenderTheme.h:
198         (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderTrack):
199         (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderThumb):
200         * rendering/RenderThemeMac.h:
201         (RenderThemeMac):
202         * rendering/RenderThemeMac.mm:
203         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize):
204         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack):
205         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb):
206         * rendering/RenderMediaControlsChromium.cpp:
207         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
208
209         * accessibility/AccessibilitySlider.cpp:
210         (WebCore::AccessibilitySlider::orientation): Mark the fullscreen volume slider as horizontal.
211         * html/shadow/SliderThumbElement.cpp:
212         (WebCore::RenderSliderThumb::updateAppearance): Give MediaFullScreenVolumeSliderParts 
213             MediaFullScreenVolumeSliderThumbParts.
214         * css/fullscreenQuickTime.css: Change the styles for the fullscreen slider, min, and max buttons.
215         (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-min-button):
216         (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-slider):
217         (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-max-button):
218         * html/shadow/MediaControlRootElement.cpp:
219         (WebCore::MediaControlRootElement::reset): Set the value of the fullscreen volume slider
220             when resetting.
221
222 2012-02-29  Antti Koivisto  <antti@apple.com>
223
224         Applying region style should not need to access parent rules
225         https://bugs.webkit.org/show_bug.cgi?id=79910 
226          
227         Reviewed by Andreas Kling.
228
229         Currently CSSStyleSelector::applyProperties looks into parent rules to see if a rule is
230         part of region style. The plan is to eliminate the rule parent pointer so this needs to be refactored.
231         
232         Add a bit to RuleData to indicate if the StyleRule is part of a region style.
233
234         * css/CSSStyleSelector.cpp:
235         (RuleData):
236         (WebCore::RuleData::isInRegionRule):
237         (RuleSet):
238         (WebCore::CSSStyleSelector::addMatchedProperties):
239         (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
240         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
241         * css/CSSStyleSelector.h:
242         (CSSStyleSelector):
243
244 2012-02-27  Vsevolod Vlasov  <vsevik@chromium.org>
245
246         Web Inspector: [InspectorIndexedDB] Add refresh to IndexedDB support.
247         https://bugs.webkit.org/show_bug.cgi?id=79695
248
249         Reviewed by Pavel Feldman.
250
251         * inspector/front-end/IndexedDBViews.js:
252         (WebInspector.IDBDataView):
253         (WebInspector.IDBDataView.prototype._refreshButtonClicked):
254         (WebInspector.IDBDataView.prototype.get statusBarItems):
255         * inspector/front-end/ResourcesPanel.js:
256         (WebInspector.IndexedDBTreeElement):
257         (WebInspector.IndexedDBTreeElement.prototype.onattach):
258         (WebInspector.IndexedDBTreeElement.prototype._handleContextMenuEvent):
259         (WebInspector.IDBDatabaseTreeElement.prototype.onattach):
260         (WebInspector.IDBDatabaseTreeElement.prototype._handleContextMenuEvent):
261         (WebInspector.IDBDatabaseTreeElement.prototype._refreshIndexedDB):
262
263 2012-02-29  Andrey Kosyakov  <caseq@chromium.org>
264
265         Web Inspector: timeline markers are not shown on the timeline panel
266         https://bugs.webkit.org/show_bug.cgi?id=79921
267
268         Reviewed by Pavel Feldman.
269
270         * inspector/front-end/TimelinePanel.js:
271         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords):
272         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
273
274 2012-02-29  Kenichi Ishibashi  <bashi@chromium.org>
275
276         Align InlineBox::m_expansion to a byte boundary
277         https://bugs.webkit.org/show_bug.cgi?id=79761
278
279         Add a bit to m_expansion to align a byte boundary.
280         This will make valgrind memcheck happy.
281         I confirmed sizeof(InlineBox) is unchanged.
282
283         Reviewed by Hajime Morita.
284
285         No new tests. No behavior changes.
286
287         * rendering/InlineBox.h:
288         (InlineBox): Aligned m_expansion to a byte boundary.
289
290 2012-02-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
291
292         Do not iterate all tiles for resizing when the content didn't change
293         https://bugs.webkit.org/show_bug.cgi?id=79787
294
295         Reviewed by Simon Hausmann.
296
297         * platform/graphics/TiledBackingStore.cpp:
298         (WebCore::TiledBackingStore::createTiles):
299
300 2012-02-29  Parag Radke  <parag@motorola.com>
301
302         Crash in WebCore::CompositeEditCommand::insertNodeAt
303         https://bugs.webkit.org/show_bug.cgi?id=67764
304
305         Reviewed by Ryosuke Niwa.
306
307         If caret position after deletion and destination position coincides then
308         removing the node will result in removing the destination node also. Hence crash.
309
310         Test: editing/deleting/delete-block-merge-contents-025.html
311
312         * editing/CompositeEditCommand.cpp:
313         (WebCore::CompositeEditCommand::cleanupAfterDeletion):
314         If the caret position after delete and the destination position
315         renderes at the same place, pruning the node and making an early exit.
316
317 2012-02-29  Pavel Feldman  <pfeldman@google.com>
318
319         Web Inspector: remove calculator's updateBoundaries in the timeline panel.
320         https://bugs.webkit.org/show_bug.cgi?id=79907
321
322         Reviewed by Yury Semikhatsky.
323
324         * inspector/front-end/NetworkPanel.js:
325         (WebInspector.NetworkBaseCalculator.prototype.computeBarGraphLabels):
326         (WebInspector.NetworkBaseCalculator.prototype.formatTime):
327         (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphLabels):
328         (WebInspector.NetworkTimeCalculator.prototype.formatTime):
329         (WebInspector.NetworkTransferTimeCalculator.prototype.formatTime):
330         (WebInspector.NetworkTransferDurationCalculator.prototype.formatTime):
331         * inspector/front-end/TimelineGrid.js:
332         (WebInspector.TimelineGrid.prototype.updateDividers):
333         * inspector/front-end/TimelineOverviewPane.js:
334         (WebInspector.TimelineOverviewCalculator.prototype.formatTime):
335         (WebInspector.TimelineStartAtZeroOverview):
336         (WebInspector.TimelineStartAtZeroOverview.prototype.update):
337         * inspector/front-end/TimelinePanel.js:
338         (WebInspector.TimelinePanel):
339         (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
340         (WebInspector.TimelinePanel.prototype._refresh):
341         (WebInspector.TimelinePanel.prototype._refreshRecords):
342         (WebInspector.TimelinePanel.prototype.get timelinePaddingLeft):
343         (WebInspector.TimelineCalculator):
344         (WebInspector.TimelineCalculator.prototype.setWindow):
345         (WebInspector.TimelineCalculator.prototype.setRecords):
346         (WebInspector.TimelineCalculator.prototype.formatTime):
347         (WebInspector.TimelineFitInWindowCalculator):
348         (WebInspector.TimelineFitInWindowCalculator.prototype.setWindow):
349         (WebInspector.TimelineFitInWindowCalculator.prototype.setRecords):
350         * inspector/front-end/TimelinePresentationModel.js:
351         (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
352
353 2012-02-29  Yury Semikhatsky  <yurys@chromium.org>
354
355         Web Inspector: enable Profiles panel for workers
356         https://bugs.webkit.org/show_bug.cgi?id=79908
357
358         Introduced worker profiler agent. Enabled script profiling for
359         workers.
360
361         Reviewed by Pavel Feldman.
362
363         * bindings/js/ScriptProfiler.cpp:
364         (WebCore::ScriptProfiler::startForPage):
365         (WebCore):
366         (WebCore::ScriptProfiler::startForWorkerContext):
367         (WebCore::ScriptProfiler::stopForPage):
368         (WebCore::ScriptProfiler::stopForWorkerContext):
369         * bindings/js/ScriptProfiler.h:
370         (WebCore):
371         (ScriptProfiler):
372         * bindings/v8/ScriptProfiler.cpp:
373         (WebCore::ScriptProfiler::startForPage):
374         (WebCore):
375         (WebCore::ScriptProfiler::startForWorkerContext):
376         (WebCore::ScriptProfiler::stopForPage):
377         (WebCore::ScriptProfiler::stopForWorkerContext):
378         * bindings/v8/ScriptProfiler.h:
379         (WebCore):
380         (ScriptProfiler):
381         * inspector/InspectorProfilerAgent.cpp:
382         (WebCore):
383         (PageProfilerAgent):
384         (WebCore::PageProfilerAgent::PageProfilerAgent):
385         (WebCore::PageProfilerAgent::~PageProfilerAgent):
386         (WebCore::PageProfilerAgent::startProfiling):
387         (WebCore::PageProfilerAgent::stopProfiling):
388         (WebCore::InspectorProfilerAgent::create):
389         (WorkerProfilerAgent):
390         (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
391         (WebCore::WorkerProfilerAgent::~WorkerProfilerAgent):
392         (WebCore::WorkerProfilerAgent::startProfiling):
393         (WebCore::WorkerProfilerAgent::stopProfiling):
394         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
395         (WebCore::InspectorProfilerAgent::start):
396         (WebCore::InspectorProfilerAgent::stop):
397         * inspector/InspectorProfilerAgent.h:
398         (WebCore):
399         (InspectorProfilerAgent):
400         * inspector/WorkerInspectorController.cpp:
401         (WebCore::WorkerInspectorController::WorkerInspectorController):
402         (WebCore::WorkerInspectorController::connectFrontend):
403         (WebCore::WorkerInspectorController::disconnectFrontend):
404         (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
405         * inspector/WorkerInspectorController.h:
406         (WebCore):
407         (WorkerInspectorController):
408         * inspector/front-end/ProfilesPanel.js:
409         * inspector/front-end/inspector.js:
410         (WebInspector._createPanels):
411
412 2012-02-29  Alexander Pavlov  <apavlov@chromium.org>
413
414         Web Inspector: Clicking relative links fails when query string contains a slash
415         https://bugs.webkit.org/show_bug.cgi?id=79905
416
417         Reviewed by Vsevolod Vlasov.
418
419         * inspector/front-end/ResourceUtils.js:
420         (WebInspector.completeURL):
421
422 2012-02-29  Pavel Feldman  <pfeldman@google.com>
423
424         Web Inspector: Ctrl R should reload page from the console panel as well.
425         https://bugs.webkit.org/show_bug.cgi?id=79883
426
427         Reviewed by Vsevolod Vlasov.
428
429         * inspector/front-end/inspector.js:
430         (WebInspector.documentKeyDown):
431
432 2012-02-28  Pavel Podivilov  <podivilov@chromium.org>
433
434         Extended attributes list should go before 'static' and 'const' modifiers in IDLs.
435         https://bugs.webkit.org/show_bug.cgi?id=79807
436
437         Reviewed by Kentaro Hara.
438
439         No new tests. Generated code isn't changed.
440
441         * bindings/scripts/IDLParser.pm:
442         (ParseInterface):
443         * bindings/scripts/IDLStructure.pm:
444         * bindings/scripts/test/TestObj.idl:
445         * bindings/scripts/test/TestSupplemental.idl:
446         * html/DOMURL.idl:
447         * html/HTMLMediaElement.idl:
448         * html/HTMLTrackElement.idl:
449
450 2012-02-28  Yury Semikhatsky  <yurys@chromium.org>
451
452         Web Inspector: move DOM counter graphs out of experimental
453         https://bugs.webkit.org/show_bug.cgi?id=79802
454
455         Enable DOM counter graphs by default.
456
457         Reveal nearest record from the left hand side when there is no
458         record containing the point where the user clicked.
459
460         Reviewed by Pavel Feldman.
461
462         * inspector/front-end/Settings.js:
463         (WebInspector.ExperimentsSettings):
464         * inspector/front-end/TimelinePanel.js:
465         (WebInspector.TimelinePanel):
466         (WebInspector.TimelinePanel.prototype._endSplitterDragging):
467         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
468         (WebInspector.TimelinePanel.prototype.sidebarResized):
469         (WebInspector.TimelinePanel.prototype._resetPanel):
470         (WebInspector.TimelinePanel.prototype._refresh):
471         (WebInspector.TimelinePanel.prototype.revealRecordAt):
472
473 2012-02-28  MORITA Hajime  <morrita@google.com>
474
475         [Refactoring] Shadow related attach paths should be in ShadowTree.
476         https://bugs.webkit.org/show_bug.cgi?id=79854
477
478         Reviewed by Ryosuke Niwa.
479
480         No new tests. No behavior change.
481
482         This change introduces ShadowTree::attachHost() and ShadowTree::detachHost()
483         and moves shadow-enabled attachment code from Element to ShadowRoot.
484         This also factored out small ContainerNode method to use it from ShadowTree.
485
486         Even after this change, the traveral order in ShadowTree
487         attachment has some unclear part. Coming changes will clarify
488         these. This change is aimed to be purely textural.
489
490         * dom/ContainerNode.cpp:
491         (WebCore::ContainerNode::attach):
492         (WebCore::ContainerNode::detach):
493         * dom/ContainerNode.h:
494         (ContainerNode):
495         (WebCore::ContainerNode::attachAsNode): Added.
496         (WebCore::ContainerNode::attachChildren): Added.
497         (WebCore::ContainerNode::attachChildrenIfNeeded): Added.
498         (WebCore::ContainerNode::attachChildrenLazily): Added.
499         (WebCore::ContainerNode::detachAsNode): Added.
500         (WebCore::ContainerNode::detachChildrenIfNeeded): Added.
501         (WebCore::ContainerNode::detachChildren): Added.
502         * dom/Element.cpp:
503         (WebCore::Element::attach):
504         (WebCore::Element::detach):
505         * dom/ShadowTree.cpp:
506         (WebCore::ShadowTree::addShadowRoot):
507         (WebCore::ShadowTree::removeAllShadowRoots):
508         (WebCore::ShadowTree::detachHost):
509         (WebCore):
510         (WebCore::ShadowTree::attachHost):
511         (WebCore::ShadowTree::reattachHostChildrenAndShadow):
512         * dom/ShadowTree.h:
513         (ShadowTree):
514
515 2012-02-28  Arko Saha  <arko@motorola.com>
516
517         Microdata: Implement HTMLPropertiesCollection collection.namedItem().
518         https://bugs.webkit.org/show_bug.cgi?id=73156
519
520         Reviewed by Kentaro Hara.
521
522         Tests: fast/dom/MicroData/nameditem-must-be-case-sensitive.html
523                fast/dom/MicroData/nameditem-must-return-correct-item-properties.html
524                fast/dom/MicroData/properties-collection-nameditem-test.html
525
526         * bindings/scripts/CodeGeneratorJS.pm: Modified code generator to generate
527         JS bindings code for HTMLPropertiesCollection [NamedGetter] property.
528         (GenerateImplementation):
529         * html/HTMLPropertiesCollection.cpp:
530         (WebCore::HTMLPropertiesCollection::names):
531         (WebCore):
532         (WebCore::HTMLPropertiesCollection::namedItem): Returns a NodeList object
533         containing any elements that add a property named name.
534         (WebCore::HTMLPropertiesCollection::hasNamedItem): Checks if the items can
535         be retrieved or not based on the property named name.
536         * html/HTMLPropertiesCollection.h: Added namedItem(), hasProperty(),
537         hasNamedItem() methods.
538         (HTMLPropertiesCollection):
539         * html/HTMLPropertiesCollection.idl: Added namedItem() IDL method.
540
541 2012-02-28  Kinuko Yasuda  <kinuko@chromium.org>
542
543         Add size field to Metadata in FileSystem API
544         https://bugs.webkit.org/show_bug.cgi?id=79813
545
546         Reviewed by David Levin.
547
548         Test: fast/filesystem/op-get-metadata.html
549
550         * fileapi/FileSystemCallbacks.cpp:
551         (WebCore::MetadataCallbacks::didReadMetadata):
552         * fileapi/Metadata.h:
553         (WebCore::Metadata::create):
554         (WebCore::Metadata::modificationTime):
555         (WebCore::Metadata::size): Added.
556         (WebCore::Metadata::Metadata):
557         * fileapi/Metadata.idl:
558
559 2012-02-28  Dmitry Lomov  <dslomov@google.com>
560
561         [JSC] Implement ArrayBuffer transfer
562         https://bugs.webkit.org/show_bug.cgi?id=73493.
563         Implement ArrayBuffer transfer, per Khronos spec:  http://www.khronos.org/registry/typedarray/specs/latest/#9.
564         This brings parity with V8 implementation of transferable typed arrays.
565
566         Reviewed by Oliver Hunt.
567
568         Covered by existing tests.
569
570         * bindings/js/JSDOMWindowCustom.cpp:
571         (WebCore::handlePostMessage):
572         * bindings/js/JSDictionary.cpp:
573         (WebCore::JSDictionary::convertValue):
574         * bindings/js/JSHistoryCustom.cpp:
575         (WebCore::JSHistory::pushState):
576         (WebCore::JSHistory::replaceState):
577         * bindings/js/JSMessageEventCustom.cpp:
578         (WebCore::handleInitMessageEvent):
579         * bindings/js/JSMessagePortCustom.cpp:
580         (WebCore::fillMessagePortArray):
581         * bindings/js/JSMessagePortCustom.h:
582         (WebCore):
583         (WebCore::handlePostMessage):
584         * bindings/js/ScriptValue.cpp:
585         (WebCore::ScriptValue::serialize):
586         * bindings/js/SerializedScriptValue.cpp:
587         (WebCore):
588         (WebCore::CloneSerializer::serialize):
589         (CloneSerializer):
590         (WebCore::CloneSerializer::CloneSerializer):
591         (WebCore::CloneSerializer::fillTransferMap):
592         (WebCore::CloneSerializer::dumpArrayBufferView):
593         (WebCore::CloneSerializer::dumpIfTerminal):
594         (WebCore::CloneDeserializer::deserialize):
595         (WebCore::CloneDeserializer::CloneDeserializer):
596         (WebCore::CloneDeserializer::readTerminal):
597         (CloneDeserializer):
598         (WebCore::SerializedScriptValue::SerializedScriptValue):
599         (WebCore::SerializedScriptValue::transferArrayBuffers):
600         (WebCore::SerializedScriptValue::create):
601         (WebCore::SerializedScriptValue::deserialize):
602         * bindings/js/SerializedScriptValue.h:
603         (WebCore):
604         (SerializedScriptValue):
605
606 2012-02-28  Kevin Ollivier  <kevino@theolliviers.com>
607
608         [wx] Unreviewed. Build fixes after recent bindings changes.
609
610         * bindings/scripts/CodeGeneratorCPP.pm: 
611         (ShouldSkipType):
612         * testing/Internals.idl:
613
614 2012-02-28  Yoshifumi Inoue  <yosin@chromium.org>
615
616         [Forms] Spin button sometimes ignores Indeterminate of m_upDownState
617         https://bugs.webkit.org/show_bug.cgi?id=79754
618
619         Reviewed by Kent Tamura.
620
621         This patch checks enum value Indeterminate before using m_upDownState. This make
622         sure Indeterminate state doesn't act like Down state.
623
624         m_upDownState can be Indeterminate at mousedown event if mouse pointer is on
625         spin button when it is displayed.
626
627         Test: fast/forms/number/spin-button-state.html
628
629         * html/shadow/TextControlInnerElements.cpp:
630         (WebCore::SpinButtonElement::defaultEventHandler):
631         (WebCore::SpinButtonElement::repeatingTimerFired):
632
633 2012-02-27  MORITA Hajime  <morrita@google.com>
634
635         [Refactoring] RenderSummary and RenderDetail is no longer needed.
636         https://bugs.webkit.org/show_bug.cgi?id=79641
637
638         Reviewed by Kent Tamura.
639
640         Removed RenderDetails and RenderSummary because its only
641         modification they had is already handled by RenderBlock::styleWillChange().
642         These are just a historical artifact. We could have removed these
643         classes when they were switched to shadow-based implementations.
644
645         Tests: fast/html/details-inline-expected.html
646                fast/html/details-inline.html
647
648         * CMakeLists.txt:
649         * GNUmakefile.list.am:
650         * Target.pri:
651         * WebCore.gypi:
652         * WebCore.vcproj/WebCore.vcproj:
653         * WebCore.xcodeproj/project.pbxproj:
654         * html/HTMLDetailsElement.cpp:
655         (WebCore::HTMLDetailsElement::createRenderer):
656         * html/HTMLSummaryElement.cpp:
657         (WebCore::HTMLSummaryElement::createRenderer):
658         (WebCore::HTMLSummaryElement::defaultEventHandler):
659         * rendering/RenderDetails.cpp: Removed.
660         * rendering/RenderDetails.h: Removed.
661         * rendering/RenderDetailsMarker.cpp:
662         (WebCore::RenderDetailsMarker::isOpen):
663         * rendering/RenderDetailsMarker.h:
664         (RenderDetailsMarker):
665         * rendering/RenderObject.h:
666         (RenderObject):
667         * rendering/RenderSummary.cpp: Removed.
668         * rendering/RenderSummary.h: Removed.
669         * rendering/RenderingAllInOne.cpp:
670
671 2012-02-28  Simon Fraser  <simon.fraser@apple.com>
672
673         Optimize the rects being drawn into compositing layers
674         https://bugs.webkit.org/show_bug.cgi?id=79852
675
676         Reviewed by Dan Bernstein.
677
678         Use the newly added WebKitSystemInterface method
679         to limit the area being painted in a CALayer
680         -drawInContext callback. This avoids redundant drawing,
681         for performance.
682
683         * platform/graphics/mac/WebLayer.mm:
684         (drawLayerContents):
685
686 2012-02-28  Simon Fraser  <simon.fraser@apple.com>
687
688         Fix the SnowLeopard build.
689
690         * WebCore.exp.in:
691
692 2012-02-28  Anders Carlsson  <andersca@apple.com>
693
694         With tiled drawing enabled, pressing Down arrow after scrolling via mouse gesture causes page to jump back up to top
695         https://bugs.webkit.org/show_bug.cgi?id=79249
696         <rdar://problem/10866273>
697
698         Reviewed by Sam Weinig.
699
700         ScrollableArea::notifyScrollPositionChanged must make sure that the scroll animator position is kept up to date.
701
702         * platform/ScrollAnimator.cpp:
703         (WebCore::ScrollAnimator::setCurrentPosition):
704         (WebCore):
705         * platform/ScrollAnimator.h:
706         (ScrollAnimator):
707         * platform/ScrollableArea.cpp:
708         (WebCore::ScrollableArea::notifyScrollPositionChanged):
709
710 2012-02-28  Daniel Cheng  <dcheng@chromium.org>
711
712         Unreviewed, rolling out r107894.
713         http://trac.webkit.org/changeset/107894
714         https://bugs.webkit.org/show_bug.cgi?id=30416
715
716         dataTransfer.types should be an Array since DOMStringList is deprecated.
717
718         * bindings/js/JSClipboardCustom.cpp:
719         (WebCore::JSClipboard::types):
720         (WebCore):
721         * bindings/v8/custom/V8ClipboardCustom.cpp:
722         (WebCore::V8Clipboard::typesAccessorGetter):
723         (WebCore):
724         * dom/Clipboard.cpp:
725         (WebCore::Clipboard::hasStringOfType):
726         * dom/Clipboard.h:
727         (Clipboard):
728         * dom/Clipboard.idl:
729         * platform/blackberry/ClipboardBlackBerry.cpp:
730         (WebCore::ClipboardBlackBerry::types):
731         * platform/blackberry/ClipboardBlackBerry.h:
732         (ClipboardBlackBerry):
733         * platform/chromium/ChromiumDataObject.cpp:
734         (WebCore::ChromiumDataObject::types):
735         * platform/chromium/ChromiumDataObject.h:
736         (ChromiumDataObject):
737         * platform/chromium/ClipboardChromium.cpp:
738         (WebCore::ClipboardChromium::types):
739         (WebCore::ClipboardChromium::mayUpdateItems):
740         * platform/chromium/ClipboardChromium.h:
741         (ClipboardChromium):
742         * platform/chromium/DragDataChromium.cpp:
743         (WebCore::containsHTML):
744         (WebCore::DragData::containsURL):
745         (WebCore::DragData::asURL):
746         (WebCore::DragData::containsPlainText):
747         (WebCore::DragData::canSmartReplace):
748         (WebCore::DragData::asFragment):
749         * platform/efl/ClipboardEfl.cpp:
750         (WebCore::ClipboardEfl::types):
751         * platform/efl/ClipboardEfl.h:
752         (ClipboardEfl):
753         * platform/gtk/ClipboardGtk.cpp:
754         (WebCore::ClipboardGtk::types):
755         * platform/gtk/ClipboardGtk.h:
756         (ClipboardGtk):
757         * platform/mac/ClipboardMac.h:
758         (ClipboardMac):
759         * platform/mac/ClipboardMac.mm:
760         (WebCore::addHTMLClipboardTypesForCocoaType):
761         (WebCore::ClipboardMac::types):
762         * platform/qt/ClipboardQt.cpp:
763         (WebCore::ClipboardQt::types):
764         * platform/qt/ClipboardQt.h:
765         (ClipboardQt):
766         * platform/win/ClipboardWin.cpp:
767         (WebCore::addMimeTypesForFormat):
768         (WebCore::ClipboardWin::types):
769         * platform/win/ClipboardWin.h:
770         (ClipboardWin):
771         * platform/wx/ClipboardWx.cpp:
772         (WebCore::ClipboardWx::types):
773         * platform/wx/ClipboardWx.h:
774         (ClipboardWx):
775
776 2012-02-28  Simon Fraser  <simon.fraser@apple.com>
777
778         Update WebKitSystemInterface.
779
780         Reviewed by Sam Weinig.
781
782         * WebCore.exp.in:
783         (drawLayerContents):
784         * platform/mac/WebCoreSystemInterface.h:
785         * platform/mac/WebCoreSystemInterface.mm:
786
787 2012-02-27  MORITA Hajime  <morrita@google.com>
788
789         <content> element should behave as HTMLUnknownElement outside of a shadow DOM subtree
790         https://bugs.webkit.org/show_bug.cgi?id=79551
791
792         Reviewed by Dimitri Glazkov.
793
794         The problem happened because HTMLContentElement doesn't create renderer anytime.
795         
796         This change allows it to create a renderer unless the HTMLContentElement is shadowed.
797         Since this could happen not only on <content> but also on upcoming <shadow>,
798         the corresponding part of the code is pulled up to InsertionPoint.
799
800         Tests: fast/dom/shadow/content-element-outside-shadow-style-expected.html
801                fast/dom/shadow/content-element-outside-shadow-style.html
802
803         * dom/NodeRenderingContext.cpp:
804         (WebCore::NodeRenderingContext::NodeRenderingContext):
805         * dom/ShadowRoot.h:
806         (WebCore):
807         (WebCore::TreeScope::isShadowRoot):
808         * dom/TreeScope.h:
809         (TreeScope):
810         * html/shadow/HTMLContentElement.h:
811         * html/shadow/InsertionPoint.cpp:
812         (WebCore::InsertionPoint::isShadowBoundary):
813         (WebCore):
814         * html/shadow/InsertionPoint.h:
815         (InsertionPoint):
816         (WebCore::isShadowBoundary):
817         (WebCore):
818
819 2012-02-28  Daniel Cheng  <dcheng@chromium.org>
820
821         Clipboard::getData should return an empty string instead of undefined
822         https://bugs.webkit.org/show_bug.cgi?id=79712
823
824         Reviewed by Tony Chang.
825
826         Per the spec, an empty string should be returned when there is no data for the given typestring.
827
828         Test: fast/events/dataTransfer-getData-returns-empty-string.html
829
830         * bindings/js/JSClipboardCustom.cpp:
831         * bindings/v8/custom/V8ClipboardCustom.cpp:
832         * dom/Clipboard.h:
833         (Clipboard):
834         * dom/Clipboard.idl:
835         * platform/blackberry/ClipboardBlackBerry.cpp:
836         (WebCore::ClipboardBlackBerry::getData):
837         * platform/blackberry/ClipboardBlackBerry.h:
838         (ClipboardBlackBerry):
839         * platform/chromium/ClipboardChromium.cpp:
840         (WebCore::ClipboardChromium::getData):
841         * platform/chromium/ClipboardChromium.h:
842         (ClipboardChromium):
843         * platform/efl/ClipboardEfl.cpp:
844         (WebCore::ClipboardEfl::getData):
845         * platform/efl/ClipboardEfl.h:
846         (ClipboardEfl):
847         * platform/gtk/ClipboardGtk.cpp:
848         (WebCore::ClipboardGtk::getData):
849         * platform/gtk/ClipboardGtk.h:
850         (ClipboardGtk):
851         * platform/mac/ClipboardMac.h:
852         (ClipboardMac):
853         * platform/mac/ClipboardMac.mm:
854         (WebCore::ClipboardMac::getData):
855         * platform/qt/ClipboardQt.cpp:
856         (WebCore::ClipboardQt::getData):
857         * platform/qt/ClipboardQt.h:
858         (ClipboardQt):
859         * platform/win/ClipboardUtilitiesWin.cpp:
860         (WebCore::getFullCFHTML):
861         (WebCore::getURL):
862         (WebCore::getPlainText):
863         (WebCore::getTextHTML):
864         (WebCore::getCFHTML):
865         (WebCore::fragmentFromHTML):
866         * platform/win/ClipboardUtilitiesWin.h:
867         (WebCore):
868         * platform/win/ClipboardWin.cpp:
869         (WebCore::ClipboardWin::getData):
870         * platform/win/ClipboardWin.h:
871         (ClipboardWin):
872         * platform/wx/ClipboardWx.cpp:
873         (WebCore::ClipboardWx::getData):
874         * platform/wx/ClipboardWx.h:
875         (ClipboardWx):
876
877 2012-02-28  Kenichi Ishibashi  <bashi@chromium.org>
878
879         [Chromium] Uninitialized value in LocaleToScriptCodeForFontSelection
880         https://bugs.webkit.org/show_bug.cgi?id=79779
881
882         Set USCRIPT_COMMON to scriptCode as the initial value.
883
884         Reviewed by Kent Tamura.
885
886         No new tests. No behavior change.
887
888         * platform/text/LocaleToScriptMappingICU.cpp:
889         (WebCore::localeToScriptCodeForFontSelection):
890
891 2012-02-28  Kenneth Russell  <kbr@google.com>
892
893         [chromium] Work around IOSurface-related corruption during readback
894         https://bugs.webkit.org/show_bug.cgi?id=79735
895
896         Reviewed by James Robinson.
897
898         Copy the compositor's IOSurface-backed output into a temporary
899         texture and perform the ReadPixels operation against that texture.
900
901         It is infeasible to write an automated test for this issue.
902         Tested manually by performing print preview multiple times against
903         pages containing WebGL content on 10.7 and observing that the
904         corruption in the output is no longer present.
905
906         * platform/graphics/chromium/LayerRendererChromium.cpp:
907         (WebCore::LayerRendererChromium::getFramebufferPixels):
908
909 2012-02-28  Adrienne Walker  <enne@google.com>
910
911         [chromium] Inform v8 about extra memory used for PatternSkia clamp mode
912         https://bugs.webkit.org/show_bug.cgi?id=79846
913
914         Reviewed by James Robinson.
915
916         For large images, creating a non-repeating Pattern in Skia can
917         allocate a lot of memory. Inform v8 about this so that it can
918         potentially garbage collect any Pattern objects that aren't being used
919         and that are holding onto large image copies.
920
921         * platform/graphics/Pattern.cpp:
922         (WebCore::Pattern::Pattern):
923         * platform/graphics/Pattern.h:
924         (Pattern):
925         * platform/graphics/skia/PatternSkia.cpp:
926         (WebCore::Pattern::platformDestroy):
927         (WebCore::Pattern::platformPattern):
928
929 2012-02-28  Jonathan Backer  <backer@chromium.org>
930
931         [chromium] Reset damage tracker on visibility change.
932         https://bugs.webkit.org/show_bug.cgi?id=79267
933
934         Reviewed by James Robinson.
935
936         Unit tests: CCLayerTreeHostImplTest.cpp
937
938         * platform/graphics/chromium/LayerRendererChromium.cpp:
939         (WebCore::LayerRendererChromium::setVisible):
940
941 2012-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
942
943         Unreviewed, rolling out r108834.
944         http://trac.webkit.org/changeset/108834
945         https://bugs.webkit.org/show_bug.cgi?id=79840
946
947         Seems to cause a number of crashes under
948         FrameView::doDeferredRepaints (Requested by jamesr__ on
949         #webkit).
950
951         * svg/graphics/SVGImage.cpp:
952         (WebCore::SVGImage::draw):
953         * svg/graphics/SVGImage.h:
954         * svg/graphics/SVGImageCache.cpp:
955         (WebCore::SVGImageCache::imageContentChanged):
956         (WebCore::SVGImageCache::redrawTimerFired):
957         * svg/graphics/SVGImageCache.h:
958         (SVGImageCache):
959
960 2012-02-29  Mario Sanchez Prada  <msanchez@igalia.com>
961
962         [GTK] Add support for nested event loops in RunLoop
963         https://bugs.webkit.org/show_bug.cgi?id=79499
964
965         Reviewed by Martin Robinson.
966
967         Run a new nested mainloop if the main event loop is already
968         running when calling to RunLoop::run(), and take care of stopping
969         the right main loop too when RunLoop::stop() is invoked.
970
971         * platform/RunLoop.h:
972         (RunLoop):
973         * platform/gtk/RunLoopGtk.cpp:
974         (WebCore::RunLoop::RunLoop):
975         (WebCore::RunLoop::~RunLoop):
976         (WebCore::RunLoop::run):
977         (WebCore::RunLoop::innermostLoop):
978         (WebCore::RunLoop::pushNestedMainLoop):
979         (WebCore::RunLoop::popNestedMainLoop):
980         (WebCore):
981         (WebCore::RunLoop::stop):
982
983 2012-02-28  Julien Chaffraix  <jchaffraix@webkit.org>
984
985         Move RenderLayer::size() calls to a common function
986         https://bugs.webkit.org/show_bug.cgi?id=76972
987
988         Reviewed by Simon Fraser.
989
990         Refactoring only.
991
992         This change introduces RenderBox::cachedSizeForOverflowClip() that handles all the cached size
993         requests that currently goes through the RenderLayer. This indirection helps to decouple the need
994         for a RenderLayer so that we can lazily allocate RenderLayers as part of bug 75568.
995
996         * rendering/RenderBox.cpp:
997         (WebCore::RenderBox::cachedSizeForOverflowClip):
998         Added this function to handle the calls to RenderLayer's size(). Unfortunately a lot of the
999         code calls RenderLayer::size() directly so I could not make it private.
1000
1001         * rendering/LayoutState.cpp:
1002         (WebCore::LayoutState::LayoutState):
1003         * rendering/RenderBox.cpp:
1004         (WebCore::RenderBox::computeRectForRepaint):
1005         * rendering/RenderBox.h:
1006         (RenderBox):
1007         * rendering/RenderInline.cpp:
1008         (WebCore::RenderInline::clippedOverflowRectForRepaint):
1009         (WebCore::RenderInline::computeRectForRepaint):
1010         * rendering/RenderObject.cpp:
1011         (WebCore::RenderObject::computeRectForRepaint):
1012         Fixed the call sites above.
1013
1014 2012-02-28  Tim Dresser  <tdresser@chromium.org>
1015
1016         Provide DefaultDeviceScaleFactor though WebSettings
1017         https://bugs.webkit.org/show_bug.cgi?id=79534
1018
1019         Reviewed by Darin Fisher.
1020
1021         * page/Settings.cpp:
1022         (WebCore::Settings::Settings):
1023         (WebCore::Settings::setDefaultDeviceScaleFactor):
1024         (WebCore):
1025         * page/Settings.h:
1026         (Settings):
1027         (WebCore::Settings::defaultDeviceScaleFactor):
1028
1029 2012-02-28  Oliver Hunt  <oliver@apple.com>
1030
1031         Fix build.
1032
1033         * mathml/MathMLElement.cpp:
1034         (WebCore::MathMLElement::collectStyleForAttribute):
1035
1036 2012-02-28  Dean Jackson  <dino@apple.com>
1037
1038         https://bugs.webkit.org/show_bug.cgi?id=79824
1039
1040         Unreviewed build fix for when ENABLE(CSS_FILTERS) is on
1041         but ENABLE(CSS_SHADERS) is off.
1042
1043         * css/WebKitCSSFilterValue.cpp:
1044         (WebCore::WebKitCSSFilterValue::typeUsesSpaceSeparator):
1045
1046 2012-02-28  Dave Moore  <davemoore@chromium.org>
1047
1048         Slow content causes choppy scrolling
1049         https://bugs.webkit.org/show_bug.cgi?id=79403
1050
1051         Reviewed by James Robinson.
1052
1053         This code helps make scrolling (via wheel or pad) less choppy
1054         when the content takes a long time to respond to the fake mouse moves
1055         generated during scrolls.
1056
1057
1058  * page/EventHandler.cpp:
1059         (WebCore):
1060         (MaximumDurationTracker):
1061         (WebCore::MaximumDurationTracker::MaximumDurationTracker):
1062         (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
1063         (WebCore::EventHandler::EventHandler):
1064         (WebCore::EventHandler::clear):
1065         (WebCore::EventHandler::mouseMoved):
1066         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
1067         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad):
1068         * page/EventHandler.h:
1069
1070 2012-02-28  Andreas Kling  <awesomekling@apple.com>
1071
1072         StyledElement::isPresentationAttribute() only needs the attribute name.
1073         <http://webkit.org/b/79828>
1074
1075         Reviewed by Anders Carlsson.
1076
1077         Pass the QualifiedName to isPresentationAttribute instead of the whole
1078         Attribute. We only need the name to know what kind of attribute it is.
1079
1080         This makes the code a little less ugly and makes it possible to use
1081         the function without having an Attribute object.
1082
1083         * dom/StyledElement.cpp:
1084         (WebCore::StyledElement::attributeChanged):
1085         * dom/StyledElement.h:
1086         (WebCore::StyledElement::isPresentationAttribute):
1087         * html/HTMLBRElement.cpp:
1088         (WebCore::HTMLBRElement::isPresentationAttribute):
1089         * html/HTMLBRElement.h:
1090         * html/HTMLBodyElement.cpp:
1091         (WebCore::HTMLBodyElement::isPresentationAttribute):
1092         * html/HTMLBodyElement.h:
1093         * html/HTMLButtonElement.cpp:
1094         (WebCore::HTMLButtonElement::isPresentationAttribute):
1095         * html/HTMLButtonElement.h:
1096         * html/HTMLDivElement.cpp:
1097         (WebCore::HTMLDivElement::isPresentationAttribute):
1098         * html/HTMLDivElement.h:
1099         * html/HTMLElement.cpp:
1100         (WebCore::HTMLElement::isPresentationAttribute):
1101         * html/HTMLElement.h:
1102         * html/HTMLEmbedElement.cpp:
1103         (WebCore::HTMLEmbedElement::isPresentationAttribute):
1104         * html/HTMLEmbedElement.h:
1105         * html/HTMLFontElement.cpp:
1106         (WebCore::HTMLFontElement::isPresentationAttribute):
1107         * html/HTMLFontElement.h:
1108         * html/HTMLFrameSetElement.cpp:
1109         (WebCore::HTMLFrameSetElement::isPresentationAttribute):
1110         * html/HTMLFrameSetElement.h:
1111         * html/HTMLHRElement.cpp:
1112         (WebCore::HTMLHRElement::isPresentationAttribute):
1113         * html/HTMLHRElement.h:
1114         * html/HTMLIFrameElement.cpp:
1115         (WebCore::HTMLIFrameElement::isPresentationAttribute):
1116         * html/HTMLIFrameElement.h:
1117         * html/HTMLImageElement.cpp:
1118         (WebCore::HTMLImageElement::isPresentationAttribute):
1119         * html/HTMLImageElement.h:
1120         * html/HTMLInputElement.cpp:
1121         (WebCore::HTMLInputElement::isPresentationAttribute):
1122         * html/HTMLInputElement.h:
1123         * html/HTMLLIElement.cpp:
1124         (WebCore::HTMLLIElement::isPresentationAttribute):
1125         * html/HTMLLIElement.h:
1126         * html/HTMLMarqueeElement.cpp:
1127         (WebCore::HTMLMarqueeElement::isPresentationAttribute):
1128         * html/HTMLMarqueeElement.h:
1129         * html/HTMLOListElement.cpp:
1130         (WebCore::HTMLOListElement::isPresentationAttribute):
1131         * html/HTMLOListElement.h:
1132         * html/HTMLObjectElement.cpp:
1133         (WebCore::HTMLObjectElement::isPresentationAttribute):
1134         * html/HTMLObjectElement.h:
1135         * html/HTMLParagraphElement.cpp:
1136         (WebCore::HTMLParagraphElement::isPresentationAttribute):
1137         * html/HTMLParagraphElement.h:
1138         * html/HTMLPlugInElement.cpp:
1139         (WebCore::HTMLPlugInElement::isPresentationAttribute):
1140         * html/HTMLPlugInElement.h:
1141         * html/HTMLPreElement.cpp:
1142         (WebCore::HTMLPreElement::isPresentationAttribute):
1143         * html/HTMLPreElement.h:
1144         * html/HTMLSelectElement.cpp:
1145         (WebCore::HTMLSelectElement::isPresentationAttribute):
1146         * html/HTMLSelectElement.h:
1147         * html/HTMLTableCaptionElement.cpp:
1148         (WebCore::HTMLTableCaptionElement::isPresentationAttribute):
1149         * html/HTMLTableCaptionElement.h:
1150         * html/HTMLTableCellElement.cpp:
1151         (WebCore::HTMLTableCellElement::isPresentationAttribute):
1152         * html/HTMLTableCellElement.h:
1153         * html/HTMLTableColElement.cpp:
1154         (WebCore::HTMLTableColElement::isPresentationAttribute):
1155         * html/HTMLTableColElement.h:
1156         * html/HTMLTableElement.cpp:
1157         (WebCore::HTMLTableElement::isPresentationAttribute):
1158         * html/HTMLTableElement.h:
1159         * html/HTMLTablePartElement.cpp:
1160         (WebCore::HTMLTablePartElement::isPresentationAttribute):
1161         * html/HTMLTablePartElement.h:
1162         * html/HTMLTextAreaElement.cpp:
1163         (WebCore::HTMLTextAreaElement::isPresentationAttribute):
1164         * html/HTMLTextAreaElement.h:
1165         * html/HTMLUListElement.cpp:
1166         (WebCore::HTMLUListElement::isPresentationAttribute):
1167         * html/HTMLUListElement.h:
1168         * html/HTMLVideoElement.cpp:
1169         (WebCore::HTMLVideoElement::isPresentationAttribute):
1170         * html/HTMLVideoElement.h:
1171         * mathml/MathMLElement.cpp:
1172         (WebCore::MathMLElement::isPresentationAttribute):
1173         * mathml/MathMLElement.h:
1174         * svg/SVGImageElement.cpp:
1175         (WebCore::SVGImageElement::isPresentationAttribute):
1176         * svg/SVGImageElement.h:
1177         * svg/SVGStyledElement.cpp:
1178         (WebCore::SVGStyledElement::isPresentationAttribute):
1179         * svg/SVGStyledElement.h:
1180         * svg/SVGTextContentElement.cpp:
1181         (WebCore::SVGTextContentElement::isPresentationAttribute):
1182         * svg/SVGTextContentElement.h:
1183
1184 2012-02-28  Enrica Casucci  <enrica@apple.com>
1185
1186         More Pasteboard code cleanup.
1187         https://bugs.webkit.org/show_bug.cgi?id=79816
1188
1189         Removing the last references to NSPasteboard.
1190
1191         Reviewed by Alexey Proskuryakov.
1192
1193         No new tests. No change in functionality.
1194
1195         * WebCore.xcodeproj/project.pbxproj:
1196         * editing/mac/EditorMac.mm:
1197         (WebCore::Editor::pasteWithPasteboard):
1198         (WebCore::Editor::takeFindStringFromSelection):
1199         * loader/EmptyClients.h:
1200         (WebCore::EmptyEditorClient::setInsertionPasteboard):
1201         * page/DragClient.h:
1202         * page/EditorClient.h:
1203         * platform/DragData.h:
1204         * platform/Pasteboard.h:
1205         * platform/mac/ClipboardMac.h:
1206         * platform/mac/PasteboardHelper.h: Removed.
1207
1208 2012-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1209
1210         Unreviewed, rolling out r109137.
1211         http://trac.webkit.org/changeset/109137
1212         https://bugs.webkit.org/show_bug.cgi?id=79833
1213
1214         Broke cr-mac build (Requested by aklein on #webkit).
1215
1216         * platform/graphics/mac/SimpleFontDataMac.mm:
1217         (WebCore):
1218         (WebCore::pathFromFont):
1219
1220 2012-02-28  Jungshik Shin  <jshin@chromium.org>
1221
1222         Add a fallback path to LineBreakIteratorPoolICU when the locale
1223         name from a web page is invalid and ICU fails to get a line break
1224         iterator instance. Also add a null check to 
1225         TextBreakIteratorICU::acquireLineBreakIterator.
1226
1227         Reviewed by Dan Bernstein.
1228
1229         https://bugs.webkit.org/show_bug.cgi?id=67640
1230
1231         Test: fast/text/invalid-locale.html
1232
1233         * platform/text/LineBreakIteratorPoolICU.h:
1234         (WebCore::LineBreakIteratorPool::take):
1235         * platform/text/TextBreakIteratorICU.cpp:
1236         (WebCore::acquireLineBreakIterator):
1237
1238 2012-02-28  Abhishek Arya  <inferno@chromium.org>
1239
1240         Crash due to accessing removed continuation in multi-column layout.
1241         https://bugs.webkit.org/show_bug.cgi?id=78417
1242
1243         Reviewed by David Hyatt.
1244
1245         This patch addresses two problems:
1246         1. Run-in block got split due to addition of a column-span child.
1247         The clone part was incorrectly intruding into the sibling block,
1248         even when it was part of the continuation chain.
1249         2. Like r73296, we don't need to set continuation on an
1250         anonymous block since we haven't split a real element.
1251
1252         Test: fast/multicol/span/runin-continuation-crash.html
1253
1254         * rendering/RenderBlock.cpp:
1255         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1256         (WebCore::RenderBlock::handleRunInChild):
1257
1258 2012-02-28  Abhishek Arya  <inferno@chromium.org>
1259
1260         Incorrect before child parent calculation when adding new children
1261         to anonymous column blocks.
1262         https://bugs.webkit.org/show_bug.cgi?id=79755
1263
1264         Reviewed by David Hyatt.
1265
1266         before child can be wrapped in anonymous containers, so need to
1267         take care of that in before child parent calculation.
1268
1269         Test: fast/multicol/span/before-child-anonymous-column-block.html
1270
1271         * rendering/RenderBlock.cpp:
1272         (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
1273
1274 2012-02-28  Ned Holbrook  <nholbrook@apple.com>
1275
1276         Reimplement pathFromFont() in SimpleFontDataMac.mm
1277         https://bugs.webkit.org/show_bug.cgi?id=79811
1278
1279         Reviewed by Dan Bernstein.
1280
1281         Debug-only function, so no new tests.
1282
1283         * platform/graphics/mac/SimpleFontDataMac.mm:
1284         (WebCore::pathFromFont): Reimplemented.
1285
1286 2012-02-28  Alexis Menard  <alexis.menard@openbossa.org>
1287
1288         getComputedStyle fails for 'first-line' pseudo-element
1289         https://bugs.webkit.org/show_bug.cgi?id=57505
1290
1291         Reviewed by Tony Chang.
1292
1293         Querying the selector with a pseudo-element using getComputedStyle should work
1294         even if the selector was not declared in the stylesheet. When not declared, we need
1295         to use the RenderStyle created to do the rendering as there is no pseudo-style.
1296         This match the behavior of Firefox.
1297
1298         No new tests : Updated expectation and extended getComputedStyle-with-pseudo-element.html.
1299
1300         * dom/Element.cpp:
1301         (WebCore::Element::computedStyle):
1302
1303 2012-02-28  Ashod Nakashian  <ashodnakashian@yahoo.com>
1304
1305         Move FILE_SYSTEM code out of WorkerContext and into the fileapi folder
1306         https://bugs.webkit.org/show_bug.cgi?id=79449
1307
1308         Reviewed by Adam Barth.
1309
1310         This moves FILE_SYSTEM code out of WorkerContext and into the fileapi/WorkerContextFileSystem.
1311         None-functional changes, no new tests necessary.
1312
1313         * CMakeLists.txt:
1314         * DerivedSources.make:
1315         * DerivedSources.pri:
1316         * GNUmakefile.list.am:
1317         * Target.pri:
1318         * WebCore.gypi:
1319         * WebCore.vcproj/WebCore.vcproj:
1320         * fileapi/WorkerContextFileSystem.cpp: Added.
1321         (WebCore):
1322         (WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
1323         (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
1324         (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
1325         (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
1326         * fileapi/WorkerContextFileSystem.h: Added.
1327         (WebCore):
1328         (WorkerContextFileSystem):
1329         * fileapi/WorkerContextFileSystem.idl: Added.
1330         * workers/WorkerContext.cpp:
1331         (WebCore::WorkerContext::ensureEventTargetData):
1332         * workers/WorkerContext.h:
1333         (WebCore):
1334         (WorkerContext):
1335         * workers/WorkerContext.idl:
1336
1337 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
1338
1339         FileReader crashes when file is not readable
1340         https://bugs.webkit.org/show_bug.cgi?id=79715
1341
1342         Reviewed by Jian Li.
1343
1344         Test: fast/files/file-reader-directory-crash.html
1345
1346         * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::SharedBuffer): Crash early if a caller
1347         mixed up in-band error signal with length again.
1348
1349         * platform/network/BlobResourceHandle.cpp:
1350         (WebCore): Changed errors into an enum. Added a proper domain for blob errors.
1351         (WebCore::BlobResourceHandle::didReceiveResponse): There is already a constant for INT_MAX
1352         in C/C++.
1353         (WebCore::BlobResourceHandle::didRead): Don't send "-1" for failure down the success path.
1354         (WebCore::BlobResourceHandle::notifyFail): Use a proper domain for blob errors, and a non-
1355         empty message.
1356
1357 2012-02-28  Adam Klein  <adamk@chromium.org>
1358
1359         Unreviewed, fix cr-win build after r109119.
1360
1361         * platform/graphics/chromium/TransparencyWin.h:
1362         (TransparencyWin):
1363
1364 2012-02-28  Mario Sanchez Prada  <msanchez@igalia.com>
1365
1366         [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
1367         https://bugs.webkit.org/show_bug.cgi?id=79496
1368
1369         Reviewed by Martin Robinson.
1370
1371         Updated places where raw pointers to GMainLoop and GMainContext
1372         were being used, replacing them with GRefPtr-based code.
1373
1374         * platform/RunLoop.h:
1375         (RunLoop):
1376         * platform/gtk/RunLoopGtk.cpp:
1377         (WebCore::RunLoop::RunLoop):
1378         (WebCore::RunLoop::~RunLoop):
1379         (WebCore::RunLoop::mainLoop):
1380         (WebCore::RunLoop::stop):
1381         (WebCore::RunLoop::wakeUp):
1382         (WebCore::RunLoop::TimerBase::start):
1383         * platform/network/soup/ResourceHandleSoup.cpp:
1384         (WebCoreSynchronousLoader):
1385         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
1386         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
1387         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
1388         (WebCore::WebCoreSynchronousLoader::run):
1389
1390 2012-02-28  Alok Priyadarshi  <alokp@chromium.org>
1391
1392         Heap-use-after-free in WebCore::RenderLayer::addChild
1393         https://bugs.webkit.org/show_bug.cgi?id=79698
1394
1395         Reviewed by Simon Fraser.
1396
1397         This patch fixes a regression introduced in r108659.
1398         The reflection layer was moved to the parent by mistake. It was then
1399         deleted and the parent was left holding on to a deleted pointer. This
1400         patch restores the location where reflection layer is removed - before
1401         moving the child layers.
1402
1403         Test: fast/reflections/toggle-reflection-crash.html
1404
1405         * rendering/RenderLayer.cpp:
1406         (WebCore::RenderLayer::removeOnlyThisLayer):
1407
1408 2012-02-28  Ken Buchanan  <kenrb@chromium.org>
1409
1410         Crash from list marker having inline and block children
1411         https://bugs.webkit.org/show_bug.cgi?id=79793
1412
1413         Reviewed by Julien Chaffraix.
1414
1415         Crashing condition in which an anonymous block was being collapsed
1416         even though it had a block sibling. removeChild() was not checking
1417         for siblings that might precede :before content renderers, such
1418         as list items. This patch corrects that.
1419
1420         * rendering/RenderBlock.cpp:
1421         (WebCore::RenderBlock::removeChild)
1422
1423 2012-02-28  Adam Klein  <adamk@chromium.org>
1424
1425         Unreviewed, speculative test fix after r109016.
1426
1427         * platform/graphics/chromium/TransparencyWin.cpp:
1428         (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers): Explicitly pass a scale of 1 to ImageBuffer::create.
1429         * platform/graphics/chromium/TransparencyWin.h:
1430         (WebCore): Update names of re-enabled tests.
1431
1432 2012-02-28  Antti Koivisto  <antti@apple.com>
1433
1434         Give StyleRule files of its own
1435         https://bugs.webkit.org/show_bug.cgi?id=79778
1436
1437         Totally rubber-stamped by Andreas Kling.
1438
1439         * CMakeLists.txt:
1440         * GNUmakefile.list.am:
1441         * Target.pri:
1442         * WebCore.gypi:
1443         * WebCore.vcproj/WebCore.vcproj:
1444         * WebCore.xcodeproj/project.pbxproj:
1445         * css/CSSParser.cpp:
1446         * css/CSSStyleRule.cpp:
1447         (WebCore):
1448         (WebCore::CSSStyleRule::style):
1449         * css/CSSStyleRule.h:
1450         (WebCore):
1451         (CSSStyleRule):
1452         * css/CSSStyleSelector.cpp:
1453         * css/CSSStyleSheet.cpp:
1454         * css/StyleRule.cpp: Copied from Source/WebCore/css/CSSStyleRule.cpp.
1455         (WebCore):
1456         * css/StyleRule.h: Copied from Source/WebCore/css/CSSStyleRule.h.
1457         (WebCore):
1458         * editing/EditingStyle.cpp:
1459         * inspector/InspectorCSSAgent.cpp:
1460         * inspector/InspectorInstrumentation.cpp:
1461         * inspector/InspectorStyleSheet.cpp:
1462         * page/PageSerializer.cpp:
1463
1464 2012-02-28  Pavel Feldman  <pfeldman@google.com>
1465
1466         Web Inspector: remove window aspects from the timeline presentation model.
1467         https://bugs.webkit.org/show_bug.cgi?id=79803
1468
1469         Reviewed by Yury Semikhatsky.
1470
1471         * inspector/front-end/TimelineOverviewPane.js:
1472         (WebInspector.TimelineOverviewPane):
1473         (WebInspector.TimelineOverviewPane.prototype.accept):
1474         (WebInspector.TimelineOverviewPane.prototype._setWindowIndices):
1475         (WebInspector.TimelineOverviewPane.prototype.windowLeft):
1476         (WebInspector.TimelineOverviewPane.prototype.windowRight):
1477         (WebInspector.TimelineOverviewPane.prototype._fireWindowChanged):
1478         (WebInspector.TimelineOverviewWindow.prototype._dragWindow):
1479         (WebInspector.TimelineOverviewPane.WindowSelector):
1480         * inspector/front-end/TimelinePanel.js:
1481         (WebInspector.TimelinePanel):
1482         (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked):
1483         (WebInspector.TimelinePanel.prototype._updateBoundaries):
1484         * inspector/front-end/TimelinePresentationModel.js:
1485         (WebInspector.TimelinePresentationModel.prototype.reset):
1486         (WebInspector.TimelineCategory):
1487         (WebInspector.TimelineCategory.prototype.get hidden):
1488         (WebInspector.TimelineCategory.prototype.set hidden):
1489
1490 2012-02-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1491
1492         Improve the visual of the tiling
1493         https://bugs.webkit.org/show_bug.cgi?id=79648
1494
1495         Reviewed by Noam Rosenthal.
1496
1497         When we cover the view with tiles[1], we do so from the center
1498         and out, in bigger and bigger cicles by finding the current minimum
1499         covered distance.
1500
1501         This looks like painting a rect, then a cross, then a rect, ...
1502         and can be noticed when a page blocks during tiling.
1503
1504         We can do this better by only covering with tiles in rects at a time.
1505
1506         The original code was done so that it gave preference to tiles in
1507         vertical direction due to that being the most common scrolling
1508         direction. This is not needed anymore as we are now using the
1509         trajectory vector when panning, which always gives preference for
1510         creating tiles in the panned direction.
1511
1512         [1] It should be noted that we always cover the visibleRect in one go,
1513             and that we here are talking about covering the coverRect beyond
1514             the visibleRect
1515
1516         * platform/graphics/TiledBackingStore.cpp:
1517         (WebCore::TiledBackingStore::tileDistance):
1518
1519 2012-02-28  Yury Semikhatsky  <yurys@chromium.org>
1520
1521         Web Inspector: preserve memory counters size after frontend reopening
1522         https://bugs.webkit.org/show_bug.cgi?id=79792
1523
1524         Clear collected counter values when timeline panel is reset. Persist
1525         timeline grid/counters splitter position to restore it when front-end
1526         is opened next time.
1527
1528         Reviewed by Pavel Feldman.
1529
1530         * inspector/front-end/MemoryStatistics.js:
1531         (WebInspector.MemoryStatistics.prototype.reset):
1532         * inspector/front-end/TimelinePanel.js:
1533         (WebInspector.TimelinePanel):
1534         (WebInspector.TimelinePanel.prototype._setSplitterPosition):
1535         (WebInspector.TimelinePanel.prototype._resetPanel):
1536         * inspector/front-end/timelinePanel.css:
1537         (#counter-values-bar):
1538
1539 2012-02-28  Pavel Feldman  <pfeldman@google.com>
1540
1541         Web Inspector: move filtering of the timeline records into the presentation model.
1542         https://bugs.webkit.org/show_bug.cgi?id=79789
1543
1544         Reviewed by Yury Semikhatsky.
1545
1546         * inspector/front-end/TimelineModel.js:
1547         * inspector/front-end/TimelineOverviewPane.js:
1548         (WebInspector.TimelineOverviewPane):
1549         (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
1550         (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
1551         (WebInspector.TimelineOverviewPane.prototype.accept):
1552         (WebInspector.TimelineOverviewPane.prototype._setWindowIndices):
1553         (WebInspector.TimelineStartAtZeroOverview):
1554         (WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged):
1555         * inspector/front-end/TimelinePanel.js:
1556         (WebInspector.TimelinePanel):
1557         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
1558         (WebInspector.TimelinePanel.prototype._updateRecordsCounter):
1559         (WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
1560         (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
1561         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1562         (WebInspector.TimelinePanel.prototype._resetPanel):
1563         (WebInspector.TimelinePanel.prototype._refresh):
1564         (WebInspector.TimelinePanel.prototype.revealRecordAt):
1565         (WebInspector.TimelinePanel.prototype._refreshRecords):
1566         (WebInspector.TimelineExpandableElement.prototype._update):
1567         (WebInspector.TimelineCategoryFilter):
1568         (WebInspector.TimelineCategoryFilter.prototype.accept):
1569         (WebInspector.TimelineIsLongFilter):
1570         (WebInspector.TimelineIsLongFilter.prototype.accept):
1571         * inspector/front-end/TimelinePresentationModel.js:
1572         (WebInspector.TimelinePresentationModel):
1573         (WebInspector.TimelinePresentationModel.prototype.addFilter):
1574         (WebInspector.TimelinePresentationModel.prototype.reset):
1575         (WebInspector.TimelinePresentationModel.prototype.minimumRecordTime):
1576         (WebInspector.TimelinePresentationModel.prototype.maximumRecordTime):
1577         (WebInspector.TimelinePresentationModel.prototype.addRecord):
1578         (WebInspector.TimelinePresentationModel.prototype._updateBoundaries):
1579         (WebInspector.TimelinePresentationModel.prototype._findParentRecord):
1580         (WebInspector.TimelinePresentationModel.prototype.setGlueRecords):
1581         (WebInspector.TimelinePresentationModel.prototype.fireWindowChanged):
1582         (WebInspector.TimelinePresentationModel.prototype.get _recordStyles):
1583         (WebInspector.TimelinePresentationModel.prototype.filteredRecords):
1584         (WebInspector.TimelinePresentationModel.prototype._filterRecords):
1585         (WebInspector.TimelinePresentationModel.Record.prototype.get visibleChildrenCount):
1586         (WebInspector.TimelinePresentationModel.Record.prototype.get invisibleChildrenCount):
1587         (WebInspector.TimelinePresentationModel.Filter):
1588         (WebInspector.TimelinePresentationModel.Filter.prototype.accept):
1589
1590 2012-02-28  Florin Malita  <fmalita@google.com>
1591
1592         Percent width/height SVG not always scaled on window resize
1593         https://bugs.webkit.org/show_bug.cgi?id=79490
1594
1595         Reviewed by Nikolas Zimmermann.
1596
1597         Tests: fast/repaint/percent-minheight-resize-expected.html
1598                fast/repaint/percent-minheight-resize.html
1599                svg/custom/svg-percent-scale-expected.html
1600                svg/custom/svg-percent-scale-vonly-expected.html
1601                svg/custom/svg-percent-scale-vonly.html
1602                svg/custom/svg-percent-scale.html
1603
1604         Fix a couple of problems preventing correct SVG scaling on window resize:
1605
1606         - RenderReplaced::computePreferredLogicalWidths is not SVG attribute aware and computes
1607         a non-zero m_minPreferredLogicalWidth even when the SVG widh/height are percentages.
1608
1609         - RenderBlock::layoutInlineChildren is also not SVG attribute aware and does not trigger
1610         percent height child layouts on vertical-only resizes.
1611
1612         * rendering/RenderBlockLineLayout.cpp:
1613         (WebCore::RenderBlock::layoutInlineChildren):
1614         Use hasRelativeDimensions() instead of direct width/height->isPercent tests. This also fixes
1615         an HTML issue where percent {min,max}Height inline elements are not updated on vertical-only resizes.
1616
1617         * rendering/RenderBox.cpp:
1618         (WebCore::RenderBox::hasRelativeDimensions):
1619         (WebCore):
1620         * rendering/RenderBox.h:
1621         (RenderBox):
1622         Add virtual hasRelativeDimensions() method.
1623
1624         * rendering/RenderReplaced.cpp:
1625         (WebCore::RenderReplaced::computePreferredLogicalWidths):
1626         Use hasRelativeDimensions() instead of direct width/height->isPercent tests.
1627
1628         * rendering/svg/RenderSVGRoot.cpp:
1629         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
1630         (WebCore::RenderSVGRoot::willBeDestroyed):
1631         Register percent-height SVG elements with the gPercentHeightDescendantsMap, and clean-up on destruction
1632         or height unit change.
1633
1634         (WebCore::RenderSVGRoot::hasRelativeDimensions):
1635         (WebCore):
1636         * rendering/svg/RenderSVGRoot.h:
1637         (RenderSVGRoot):
1638         SVG-aware hasRelativeDimensions() override.
1639
1640 2012-02-28  Yury Semikhatsky  <yurys@chromium.org>
1641
1642         Web Inspector: show resource dividers on memory counter graphs
1643         https://bugs.webkit.org/show_bug.cgi?id=79782
1644
1645         Resource dividers are drawn on the memory counter graphs.
1646
1647         Reviewed by Pavel Feldman.
1648
1649         * inspector/front-end/MemoryStatistics.js:
1650         (WebInspector.MemoryStatistics.prototype.updateDividers):
1651         (WebInspector.MemoryStatistics.prototype.setMainTimelineGrid):
1652         (WebInspector.MemoryStatistics.prototype._updateSize):
1653         (WebInspector.MemoryStatistics.prototype.show):
1654         (WebInspector.MemoryStatistics.prototype.refresh):
1655         (WebInspector.MemoryStatistics.prototype._refreshDividers):
1656         * inspector/front-end/TimelineGrid.js:
1657         (WebInspector.TimelineGrid.prototype.get dividersElement):
1658         (WebInspector.TimelineGrid.prototype.updateDividers):
1659         * inspector/front-end/TimelinePanel.js:
1660         (WebInspector.TimelinePanel):
1661         (WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged):
1662         (WebInspector.TimelinePanel.prototype._refreshRecords):
1663         (WebInspector.TimelinePanel.prototype.get timlinePaddingLeft):
1664         * inspector/front-end/timelinePanel.css:
1665         (#memory-graphs-canvas-container):
1666         (#memory-graphs-canvas-container .resources-dividers):
1667
1668 2012-02-28  Nikolas Zimmermann  <nzimmermann@rim.com>
1669
1670         Integrate SVGUseElement within the new shadow root concept
1671         https://bugs.webkit.org/show_bug.cgi?id=78902
1672
1673         Reviewed by Zoltan Herczeg.
1674
1675         Replace SVG shadow tree implementation with the new, modern #shadow-root implementation.
1676
1677         Current situation in trunk:
1678         SVGUseElement doesn't create/hold the shadow tree, unlike its expected in
1679         the modern #shadow-root concept, but its renderer RenderSVGShadowTreeRootContainer.
1680         That creates a cycle, as the actual DOM tree is stored as RefPtr<SVGGElement> inside
1681         a renderer - that's weak conceptually, and has lead to sublte security bugs in the past.
1682
1683         Whenever a target element of a <use> element changed, invalidateShadowTree() is called
1684         which calls setNeedsStyleRecalc(), and sets m_needsShadodwTreeRecreation to true.
1685         Once style recalculation happens, the RenderSVGShadowTreeRootContainer then eventually
1686         built the shadow tree, by cloning the target node, building the SVGElementInstance tree
1687         etc, -- all within the render tree.
1688
1689         To easy reviewing, here's a dump of the current render tree for a simple <use> example:
1690         <defs><rect id="rect"/></defs><use xlink:href="#rect"/>
1691
1692         Dump of render tree:
1693         RenderSVGHiddenContainer {defs}        // <defs> (SVGDefsElement)
1694             RenderSVGRect {rect}               // <rect> (SVGRectElement)
1695         RenderSVGShadowTreeRootContainer {use} // <use> (SVGUseElement)
1696             RenderSVGContainer {g}             // <g> (SVGShadowTreeRootElement)
1697                 RenderSVGRect {rect}           // <rect> (SVGRectElement, clone of <rect> in <defs>)
1698
1699         The SVGShadowTreeRootElement is created & stored by RenderSVGShadowTreeRootContainer,
1700         the renderer of the <use> element. The RenderSVGTransformableContainer renderer created
1701         for the SVGShadowTreeRootElement stores the x/y translation induced by the <use> attributes.
1702
1703         There are lots of places all over WebCore that assume the existance of a <g> renderer
1704         as first child of the <use> element, representing the "SVG shadow tree root".
1705
1706         Summary of this patch:
1707         Let SVGUseElement create&maintain a #shadow-root, and append the cloned target elements
1708         into this shadow root. We no longer have to take care of attachment/detachment, style
1709         recalculation, etc. - that's handled transparenly by ShadowRoot(List) now.
1710
1711         This makes SVGShadowTreeElements & RenderSVGShadowTreeRootContainer obsolete. Switch
1712         SVGUseElement to create a RenderSVGTransformableContainer as its renderer, and make
1713         it respect the translation induced by the x/y attributes, given for a <use> element.
1714
1715         Remove all occourences of SVGShadowRoot, remove all special cases it induced.
1716
1717         It's all covered by existing tests, took a while to make them all pass again.
1718
1719         * CMakeLists.txt: Remove SVGShadowTreeElements/RenderSVGShadowTreeRootContainer from build.
1720         * GNUmakefile.list.am: Ditto.
1721         * Target.pri: Ditto.
1722         * WebCore.gypi: Ditto.
1723         * WebCore.vcproj/WebCore.vcproj: Ditto.
1724         * WebCore.xcodeproj/project.pbxproj: Ditto.
1725         * css/CSSStyleSelector.cpp:
1726         (WebCore::CSSStyleSelector::collectMatchingRulesForList): Enable fast path for selector checking, now that special shadow tree rules are gone.
1727         * css/SelectorChecker.cpp:
1728         (WebCore::linkAttribute): No need to guard this code with ENABLE(SVG).
1729         (WebCore::SelectorChecker::checkSelector): Remove obsolete SVG shadow root special case.
1730         * dom/EventDispatcher.cpp:
1731         (WebCore::eventTargetRespectingSVGTargetRules): Remove loop, simplify & cleanup this code.
1732         (WebCore::EventDispatcher::adjustToShadowBoundaries): s/isShadowRootOrSVGShadowRoot/isShadowRoot/.
1733         (WebCore::EventDispatcher::adjustRelatedTarget): Ditto.
1734         (WebCore::EventDispatcher::ensureEventAncestors): Simplify logic for SVG, fixed a FIXME.
1735         * dom/Node.cpp: Remove obsolete svgShadowHost().
1736         (WebCore::Node::shadowTreeRootNode): Remove obsolete isSVGShadowRoot() checks.
1737         (WebCore::Node::nonBoundaryShadowTreeRootNode): Ditto.
1738         (WebCore::Node::isInShadowTree): Make it const.
1739         * dom/Node.h: Remove isSVGShadowRoot/svgShadowHost.
1740         (WebCore::Node::isShadowRoot): s/IsShadowRootOrSVGShadowRootFlag/isShadowRoot/.
1741         (WebCore::Node::parentNode): Augment comments.
1742         (WebCore::Node::parentNodeGuaranteedHostFree): Ditto.
1743         * dom/Range.cpp:
1744         (WebCore::Range::checkNodeBA): Remove obsolete SVG shadow root special case.
1745         * dom/ScriptElement.cpp:
1746         (WebCore::ScriptElement::prepareScript): Ditto.
1747         * rendering/RenderObject.h: Remove isSVGShadowTreeRootContainer.
1748         (WebCore::RenderObject::isSVGTransformableContainer): Added.
1749         * rendering/svg/RenderSVGAllInOne.cpp: Remove SVGShadowTreeElements/RenderSVGShadowTreeRootContainer from build.
1750         * rendering/svg/RenderSVGModelObject.cpp:
1751         (WebCore::isGraphicsElement): To check for <use>, a tag name comparision is needed now, as it no longer has a special renderer.
1752         * rendering/svg/RenderSVGResourceClipper.cpp:
1753         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Ditto.
1754         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect): Ditto.
1755         (WebCore::RenderSVGResourceClipper::hitTestClipContent): Ditto.
1756         * rendering/svg/RenderSVGResourceContainer.cpp: Remove RenderSVGShadowTreeRootContainer.h include.
1757         * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: Removed.
1758         * rendering/svg/RenderSVGShadowTreeRootContainer.h: Removed.
1759         * rendering/svg/RenderSVGTransformableContainer.cpp: Keep track of last used additional x/y translation.
1760         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Handle x/y translation for <use> contains here, instead of storing it in the SVGShadowTreeRootElement.
1761         * rendering/svg/RenderSVGTransformableContainer.h: Store last used x/y translation.
1762         (WebCore::RenderSVGTransformableContainer::isSVGTransformableContainer): Return true.
1763         (WebCore::toRenderSVGTransformableContainer): Add conversion helpers.
1764         * rendering/svg/RenderSVGViewportContainer.cpp: Ditto.
1765         (WebCore::RenderSVGViewportContainer::calcViewport): Handle width/height attributes inheritance from the <use> element, if we're a <svg> or <symbol> replacement in the shadow tree.
1766         * rendering/svg/RenderSVGViewportContainer.h: Remove isSVGContainer() override which is not needed here (already present in RenderSVGContainer).
1767         * rendering/svg/SVGShadowTreeElements.cpp: Removed.
1768         * rendering/svg/SVGShadowTreeElements.h: Removed.
1769         * svg/SVGAElement.cpp:
1770         (WebCore::SVGAElement::createRenderer): Check if parentNode is really a SVGElement, before casting.
1771         * svg/SVGElement.cpp:
1772         (WebCore::SVGElement::isOutermostSVGSVGElement): Early exit if tag name isn't <svg>, or if we're in a shadow tree (can't be an outermost <svg> element then).
1773         (WebCore::hasLoadListener): Deploy parentOrHostElement() usage to remove any special cases, related to shadow boundaries.
1774         (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
1775         (WebCore::SVGElement::customStyleForRenderer): Ditto.
1776         * svg/SVGElementInstance.cpp:
1777         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Call updateStyleIfNeeded() instead of updateLayoutIgnorePendingStylesheets().
1778         * svg/SVGGElement.cpp:
1779         (WebCore::SVGGElement::rendererIsNeeded): s/parentNode/parentOrHostElement/ - we need to cross shadow boundaries now.
1780         * svg/SVGGElement.h: Remove obsolete isShadowTreeContainerElement().
1781         * svg/SVGLocatable.cpp:
1782         (WebCore::SVGLocatable::nearestViewportElement): s/parentNode/parentOrHostElement/ - we need to cross shadow boundaries now.
1783         (WebCore::SVGLocatable::farthestViewportElement): Ditto.
1784         (WebCore::SVGLocatable::computeCTM): Ditto.
1785         * svg/SVGStyledElement.cpp:
1786         (WebCore::SVGStyledElement::title): Ditto. (+ simplify code a lot, no need to walk the shadow tree to find its root anymore, use isInShadowTree() helper.)
1787         (WebCore::SVGStyledElement::rendererIsNeeded): Ditto.
1788         * svg/SVGUseElement.cpp:
1789         (WebCore::SVGUseElement::SVGUseElement): Remove no longer needed m_updatesBlocked.
1790         (WebCore::SVGUseElement::create): Always call ensureShadowRoot(), to create a #shadow-root, upon creating a SVGUseElement.
1791         (WebCore::SVGUseElement::insertedIntoDocument): Align with SVGFEImageElement/SVGTRefElement - call buildPendingResource() from insertedIntoDocument(), finally! (no renderer needed anymore to update the SVG shadow subtree).
1792         (WebCore::SVGUseElement::removedFromDocument): Align with SVGFEImageElement/SVGTRefElement - immediately release the SVGElementInstance & shadow tree, once we're removed from the document.
1793         (WebCore::SVGUseElement::svgAttributeChanged): Simplify code a lot, no longer need to deal with x/y/width/height attributes, the renderes in the shadow tree grab these values from their corresponding <use> elements automatically now.
1794         (WebCore::SVGUseElement::willRecalcStyle):
1795             New main part of the logic. invalidateShadowTree() calls setNeedsStyleRecalc, and sets m_needsShadowTreeRecreation=true. If we encounter this case, force rebuilding the SVG shadow tree
1796             and the SVGElementInstance tree, immediately, before executing the actual style recalc. This allows us to lazily rebuild the SVG shadow tree for the <use> element. Consider:
1797             <defs><rect id="rect"></defs> <use xlink:href="#rect"/>. Now from a script we change the rect x/y/width/height attributes:
1798             rect.setAttribute("x", "10"); rect.setAttribute("y", "10")... each call will lead to a SVGUseElement::invalidateShadowTree() call by SVGElementInstance::invalidateAllInstancesOfElement, invoked after the <rect> element got parsed.
1799             This won't update the shadow tree four times, but only once upon the next style recalculation - otherwise performance is a nightmare.
1800             This will serve as future starting point, to explore partial SVG subtree re-clones, which should easily be doable now.
1801         (WebCore::dumpInstanceTree): Add a 'static' to allow DUMP_INSTANCE_TREE to be used in clang builds.
1802         (WebCore::SVGUseElement::clearResourceReferences): Added helper to release instance & shadow tree.
1803         (WebCore::SVGUseElement::buildPendingResource): Modeled exactly like SVGFEImageElement/SVGTRefElement. It's possible to share more code between these in future.
1804         (WebCore::SVGUseElement::buildShadowAndInstanceTree): Cleanup code, adapt to new shadow-root concept.
1805         (WebCore::SVGUseElement::createRenderer): Create a RenderSVGTransformableContainer, no longer a <use> specific renderer.
1806         (WebCore::removeDisallowedElementsFromSubtree): Use new replacedChild/appendChild variants, that don't require a ExceptionCode to be passed in.
1807         (WebCore::SVGUseElement::buildShadowTree): Ditto.
1808         (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto.
1809         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Ditto.
1810         (WebCore::SVGUseElement::invalidateShadowTree): Only trigger style recalculations if needed.
1811         * svg/SVGUseElement.h: Remove lots of now unnecessary overrides: attach/detach/didRecalcStyle/updateContainerOffset/updateContainerSizes/etc..
1812         * svg/animation/SVGSMILElement.cpp:
1813         (WebCore::SVGSMILElement::insertedIntoDocument): No need to walk the shadow tree to find its root anymore, use isInShadowTree() helper.
1814
1815 2012-02-28  Shinya Kawanaka  <shinyak@chromium.org>
1816
1817         Element should be able to have multiple shadow roots.
1818         https://bugs.webkit.org/show_bug.cgi?id=77931
1819
1820         Reviewed by Hajime Morita.
1821
1822         This patch enables us to add multiple shadow subtrees into elements.
1823         Note that multiple shadow subtrees are enabled
1824         only if RuntimeEnabledFeatures::multipleShadowSubtrees is enabled.
1825
1826         Since we don't have <shadow> element yet, only the youngest shadow tree
1827         will be rendered. This patch includes tests to confirm adding a new shadow
1828         tree dynamically to confirm only the youngest shadow tree is renderered.
1829
1830         Tests: fast/dom/shadow/multiple-shadowroot-rendering.html
1831                fast/dom/shadow/multiple-shadowroot.html
1832
1833         * WebCore.exp.in:
1834         * dom/Element.cpp:
1835           Uses ShadowRootList interfaces directly instead of ShadowRootList emulation methods.
1836         (WebCore::Element::~Element):
1837         (WebCore::Element::attach):
1838         (WebCore::Element::addShadowRoot):
1839         (WebCore::Element::removeShadowRootList):
1840         * dom/Element.h:
1841         (Element):
1842         * dom/NodeRenderingContext.cpp:
1843           Makes non-youngest shadow subtrees hidden.
1844         (WebCore::NodeRenderingContext::NodeRenderingContext):
1845         (WebCore::NodeRenderingContext::hostChildrenChanged):
1846           Since non-youngest children may be changed, make sure host children are changed.
1847         * dom/ShadowRoot.cpp:
1848         (WebCore::ShadowRoot::create):
1849         * dom/ShadowRoot.h:
1850           Utility methods to make code intention clear are added.
1851         (WebCore::ShadowRoot::youngerShadowRoot):
1852         (WebCore::ShadowRoot::olderShadowRoot):
1853         (ShadowRoot):
1854         (WebCore::ShadowRoot::isYoungest):
1855         (WebCore::ShadowRoot::isOldest):
1856         * dom/ShadowRootList.cpp:
1857         (WebCore::ShadowRootList::popShadowRoot):
1858         (WebCore::ShadowRootList::attach):
1859         (WebCore::ShadowRootList::detach):
1860           Detaches shadow subtrees.
1861         * testing/Internals.cpp:
1862         (WebCore::Internals::address):
1863         (WebCore):
1864         (WebCore::Internals::youngerShadowRoot):
1865         (WebCore::Internals::olderShadowRoot):
1866         (WebCore::Internals::removeShadowRoot):
1867         * testing/Internals.h:
1868         (Internals):
1869         * testing/Internals.idl:
1870
1871 2012-02-28  Antti Koivisto  <antti@apple.com>
1872
1873         Split CSSStyleRule into internal and CSSOM type
1874         https://bugs.webkit.org/show_bug.cgi?id=79763
1875
1876         Reviewed by Andreas Kling.
1877
1878         - Split the data out as StyleRule
1879         - Make CSSStyleSelector operate on StyleRule instead of CSSStyleRule
1880         
1881         This is an intermediate step. Both CSSStyleRule and StyleRule are still always constructed so
1882         the patch increases memory consumption by a few pointers per css rule. Upcoming
1883         patches will make CSSStyleRules to be constructed on demand.
1884         
1885         The patch does not yet move StyleRule to a file of its own.
1886
1887         * css/CSSPageRule.cpp:
1888         (WebCore::CSSPageRule::CSSPageRule):
1889         * css/CSSPageRule.h:
1890         (WebCore::CSSPageRule::create):
1891         (CSSPageRule):
1892         * css/CSSParser.cpp:
1893         (WebCore::CSSParser::createStyleRule):
1894         (WebCore::CSSParser::createPageRule):
1895         * css/CSSRule.h:
1896         (WebCore::CSSRule::CSSRule):
1897         (CSSRule):
1898         * css/CSSStyleRule.cpp:
1899         (WebCore::StyleRule::StyleRule):
1900         (WebCore):
1901         (WebCore::StyleRule::~StyleRule):
1902         (WebCore::StyleRule::addSubresourceStyleURLs):
1903         (WebCore::StyleRule::ensureCSSStyleRule):
1904         (WebCore::CSSStyleRule::CSSStyleRule):
1905         (WebCore::CSSStyleRule::~CSSStyleRule):
1906         (WebCore::CSSStyleRule::generateSelectorText):
1907         (WebCore::CSSStyleRule::setSelectorText):
1908         (WebCore::CSSStyleRule::cssText):
1909         * css/CSSStyleRule.h:
1910         (WebCore):
1911         (StyleRule):
1912         (WebCore::StyleRule::selectorList):
1913         (WebCore::StyleRule::properties):
1914         (WebCore::StyleRule::sourceLine):
1915         (WebCore::StyleRule::adoptSelectorVector):
1916         (WebCore::StyleRule::adoptSelectorList):
1917         (WebCore::StyleRule::setProperties):
1918         (WebCore::CSSStyleRule::create):
1919         (WebCore::CSSStyleRule::style):
1920         (CSSStyleRule):
1921         (WebCore::CSSStyleRule::styleRule):
1922         * css/CSSStyleSelector.cpp:
1923         (RuleData):
1924         (WebCore::RuleData::rule):
1925         (RuleSet):
1926         (WebCore::CSSStyleSelector::addMatchedProperties):
1927         (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
1928         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1929         * css/CSSStyleSelector.h:
1930         (WebCore::CSSStyleSelector::RuleSelectorPair::RuleSelectorPair):
1931         (RuleSelectorPair):
1932         (MatchResult):
1933         (CSSStyleSelector):
1934         * css/CSSStyleSheet.cpp:
1935         (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
1936         * editing/EditingStyle.cpp:
1937         (WebCore::styleFromMatchedRulesForElement):
1938         * inspector/InspectorCSSAgent.cpp:
1939         (WebCore::SelectorProfile::startSelector):
1940         * inspector/InspectorInstrumentation.cpp:
1941         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
1942         (WebCore::InspectorInstrumentation::willProcessRuleImpl):
1943         * inspector/InspectorInstrumentation.h:
1944         (WebCore):
1945         (InspectorInstrumentation):
1946         (WebCore::InspectorInstrumentation::willMatchRule):
1947         (WebCore::InspectorInstrumentation::willProcessRule):
1948         * inspector/InspectorStyleSheet.cpp:
1949         (WebCore::InspectorStyleSheet::buildObjectForRule):
1950         (WebCore::InspectorStyleSheet::revalidateStyle):
1951         * page/PageSerializer.cpp:
1952         (WebCore::PageSerializer::serializeFrame):
1953         (WebCore::PageSerializer::serializeCSSStyleSheet):
1954         (WebCore::PageSerializer::retrieveResourcesForRule):
1955         (WebCore::PageSerializer::retrieveResourcesForProperties):
1956         * page/PageSerializer.h:
1957         (WebCore):
1958         (PageSerializer):
1959
1960 2012-02-28  Roland Steiner  <rolandsteiner@chromium.org>
1961
1962         RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled should not be inline
1963         https://bugs.webkit.org/show_bug.cgi?id=79753
1964
1965         Moved the function implementation to the .cpp file.
1966
1967         Reviewed by Hajime Morita.
1968
1969         No new tests. (no functional change)
1970
1971         * bindings/generic/RuntimeEnabledFeatures.cpp:
1972         (WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled):
1973         (WebCore):
1974         * bindings/generic/RuntimeEnabledFeatures.h:
1975         (RuntimeEnabledFeatures):
1976
1977 2012-02-28  Noel Gordon  <noel.gordon@gmail.com>
1978
1979         Fix comment about RGB swizzle decoding and Adobe transform=0 images
1980         https://bugs.webkit.org/show_bug.cgi?id=79457
1981
1982         Unreviewed. No new tests, comment change only.
1983
1984         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1985         (WebCore::JPEGImageReader::decode):
1986
1987 2012-02-27  Shinya Kawanaka  <shinyak@chromium.org>
1988
1989         Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
1990         https://bugs.webkit.org/show_bug.cgi?id=78313
1991
1992         Reviewed by Hajime Morita.
1993
1994         This patch is for refactoring ShadowTree related code.
1995           (1) Element::removeShadowRoot() and Element::setShadowRoot() are moved into ShadowTree.
1996           (2) ShadowTree is now put on its own heap.
1997
1998         No new tests, no change in behavior.
1999
2000         * WebCore.exp.in:
2001         * dom/Element.cpp:
2002         (WebCore::Element::~Element):
2003         (WebCore::Element::shadowTree):
2004         (WebCore::Element::ensureShadowTree):
2005           Ensure the existence of ShadowTree. This does not ensure ShadowRoot exists.
2006         * dom/Element.h:
2007         (Element):
2008         * dom/ElementRareData.h:
2009           Makes ShadowTree on Heap.
2010         (ElementRareData):
2011         (WebCore::ElementRareData::~ElementRareData):
2012         * dom/ShadowRoot.cpp:
2013         (WebCore::ShadowRoot::create):
2014         * dom/ShadowTree.cpp:
2015         (WebCore::validateShadowRoot):
2016         (WebCore):
2017         (WebCore::ShadowTree::addShadowRoot):
2018         (WebCore::ShadowTree::removeAllShadowRoots):
2019         * dom/ShadowTree.h:
2020         (ShadowTree):
2021         * testing/Internals.cpp:
2022         (WebCore::Internals::removeShadowRoot):
2023
2024 2012-02-27  David Barton  <dbarton@mathscribe.com>
2025
2026         Fix <msubsup> formatting, especially for a tall base, subscript, or superscript
2027         https://bugs.webkit.org/show_bug.cgi?id=79274
2028
2029         Reviewed by Julien Chaffraix.
2030
2031         Move the <msubsup> formatting code in stretchToHeight() to layout(). Then revise the
2032         combined code to produce more vertically accurate results, and without extra white
2033         space. Finally, don't multiply msub/msup/msubsup operator stretching by 1.2.
2034
2035         Test: Added the bug report's attached test case to mathml/presentation/subsup.xhtml, and
2036         it and 5 other test files in mathml/presentation now produce improved results. The
2037         integral sign in mo-stretch.html is no longer scaled up by an extra 1.2, and baselines
2038         are more accurate so the base is higher in msubsup-sub-changed.png. Several examples are
2039         slightly tighter vertically, because their (somewhat) anonymous blocks wrapping
2040         subscripts and superscripts now have the correct font size.
2041
2042         * rendering/mathml/RenderMathMLSubSup.cpp:
2043         (WebCore):
2044         (WebCore::RenderMathMLSubSup::addChild):
2045         (WebCore::RenderMathMLSubSup::stretchToHeight):
2046         (WebCore::RenderMathMLSubSup::layout):
2047         * rendering/mathml/RenderMathMLSubSup.h:
2048         (RenderMathMLSubSup):
2049         * rendering/style/RenderStyle.h:
2050
2051 2012-02-27  Ned Holbrook  <nholbrook@apple.com>
2052
2053         kCTFontTableOptionExcludeSynthetic is unneeded
2054         https://bugs.webkit.org/show_bug.cgi?id=79744
2055
2056         Reviewed by Dan Bernstein.
2057
2058         The aforementioned option is a no-op, so no new tests.
2059
2060         * platform/graphics/mac/SimpleFontDataMac.mm:
2061         (WebCore::fontHasVerticalGlyphs): Specify no options.
2062
2063 2012-02-27  Wei James  <james.wei@intel.com>
2064
2065         Multi-Channel support in AudioBufferSourceNode
2066         https://bugs.webkit.org/show_bug.cgi?id=79202
2067
2068         Reviewed by Chris Rogers.
2069
2070         Test: webaudio/audiobuffersource-multi-channels.html
2071
2072         * webaudio/AudioBufferSourceNode.cpp:
2073         (WebCore::AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping):
2074         (WebCore::AudioBufferSourceNode::renderFromBuffer):
2075         (WebCore::AudioBufferSourceNode::setBuffer):
2076         * webaudio/AudioBufferSourceNode.h:
2077         (AudioBufferSourceNode):
2078
2079 2012-02-27  Leo Yang  <leo.yang@torchmobile.com.cn>
2080
2081         [BlackBerry] Upstream the BlackBerry change to platform/graphics/IntRect.h
2082         https://bugs.webkit.org/show_bug.cgi?id=79732
2083
2084         Reviewed by Antonio Gomes.
2085
2086         Add conversion convenience between WebCore::IntRect and BlackBerry::Platform::IntRect.
2087
2088         The porting can't be built yet, no new tests.
2089
2090         * platform/graphics/IntRect.h:
2091         (Platform):
2092         (IntRect):
2093
2094 2012-02-27  Emil A Eklund  <eae@chromium.org>
2095
2096         Printed font-size should not be dependant on zoom level
2097         https://bugs.webkit.org/show_bug.cgi?id=79717
2098
2099         Reviewed by Adam Barth.
2100
2101         Ignore full page zoom level when printing a document.
2102
2103         Test: printing/zoomed-document.html
2104
2105         * css/CSSStyleSelector.cpp:
2106         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2107
2108 2012-02-27  Kenichi Ishibashi  <bashi@chromium.org>
2109
2110         [Chromium] Unreviewed gardening, further compile fixes for
2111         TransparencyWinTest.
2112
2113         * platform/graphics/chromium/TransparencyWin.h:
2114         (WebCore):
2115
2116 2012-02-27  Kenichi Ishibashi  <bashi@chromium.org>
2117
2118         [Chromium] Unreviewed gardening, fix compile error after r109043
2119
2120         * platform/graphics/chromium/TransparencyWin.h:
2121         (TransparencyWin):
2122
2123 2012-02-27  Adam Barth  <abarth@webkit.org>
2124
2125         EventFactory.in should be named EventNames.in
2126         https://bugs.webkit.org/show_bug.cgi?id=79727
2127
2128         Reviewed by Kentaro Hara.
2129
2130         Originally EventFactory.in was just used to generate EventFactory.cpp,
2131         but now we're able to generate a bunch of other Event-related code from
2132         this "in" file.
2133
2134         In writing some documentation about how to use these mechanisms, the
2135         name EventFactory.in didn't seem like the right name.  This patch
2136         renames EventFactory.in to EventNames.in, which more accurately
2137         describes the role of this file (and matches the naming convention of
2138         HTMLTagNames.in).
2139
2140         * CMakeLists.txt:
2141         * DerivedSources.make:
2142         * DerivedSources.pri:
2143         * GNUmakefile.am:
2144         * WebCore.gyp/WebCore.gyp:
2145         * WebCore.gyp/scripts/action_makenames.py:
2146         (main):
2147         * WebCore.xcodeproj/project.pbxproj:
2148         * dom/EventNames.in: Copied from Source/WebCore/dom/EventFactory.in.
2149         * dom/EventFactory.in: Removed.
2150
2151 2012-02-27  Yoshifumi Inoue  <yosin@chromium.org>
2152
2153         [Forms] Make order of attribute/method in HTMLInputElement.idl as same as specification
2154         https://bugs.webkit.org/show_bug.cgi?id=79622
2155
2156         For ease of maintainability, this patch reorders attributes and methods declaration
2157         matching with specification.
2158
2159         Reviewed by Adam Barth.
2160
2161         No new tests. No behavior change.
2162
2163         * html/HTMLInputElement.idl: Reorder and remove obsolete comments.
2164
2165 2012-02-27  Luke Macpherson   <macpherson@chromium.org>
2166
2167         Sort CSSStyleSelector property handler constructors by CSS property name.
2168         https://bugs.webkit.org/show_bug.cgi?id=79713
2169
2170         Reviewed by Andreas Kling.
2171
2172         No new tests / refactoring only.
2173
2174         This patch is simply an automated sort of the property constructors.
2175         Presently they are all over the place and it is difficult to know where to insert new rules.
2176         This patch provides a clear pattern and should reduce future conflicts when adding properties.
2177
2178         * css/CSSStyleApplyProperty.cpp:
2179         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2180
2181 2012-02-27  James Kozianski  <koz@chromium.org>
2182
2183         [chromium] Plumb extensionGroup into didCreateScriptContext().
2184         https://bugs.webkit.org/show_bug.cgi?id=79072
2185
2186         Reviewed by Darin Fisher.
2187
2188         * bindings/v8/V8DOMWindowShell.cpp:
2189         (WebCore::V8DOMWindowShell::initContextIfNeeded):
2190         * bindings/v8/V8IsolatedContext.cpp:
2191         (WebCore::V8IsolatedContext::V8IsolatedContext):
2192         * loader/EmptyClients.h:
2193         (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
2194         * loader/FrameLoaderClient.h:
2195         (FrameLoaderClient):
2196
2197 2012-02-27  Huang Dongsung  <luxtella@company100.net>
2198
2199         Fixed a typo in CanvasRenderingContext2D::drawImage(HTMLCanvasElement);
2200         incorrect source and destination rect used.
2201         https://bugs.webkit.org/show_bug.cgi?id=79566
2202
2203         Pass dstRect and bufferSrcRect to
2204         CanvasRenderingContext2D::fullCanvasCompositedDrawImage() for the destination
2205         and source rect, respectively.
2206
2207         Reviewed by Daniel Bates.
2208
2209         * html/canvas/CanvasRenderingContext2D.cpp:
2210         (WebCore::CanvasRenderingContext2D::drawImage):
2211
2212 2012-02-27  Hyowon Kim  <hw1008.kim@samsung.com>
2213
2214         [EFL] Initial implementation of GraphicsContext3DPrivate
2215         https://bugs.webkit.org/show_bug.cgi?id=62961
2216
2217         Reviewed by Noam Rosenthal.
2218
2219         This patch adds the GraphicsContext3DPrivate class using Evas_GL.
2220         GraphicsContext3DPrivate delegates all GL function calls to Evas_GL_API.
2221
2222         * platform/graphics/efl/GraphicsContext3DPrivate.cpp: Added.
2223         (WebCore):
2224         (WebCore::GraphicsContext3DPrivate::create):
2225         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2226         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2227         (WebCore::GraphicsContext3DPrivate::initialize):
2228         (WebCore::GraphicsContext3DPrivate::createSurface):
2229         (WebCore::GraphicsContext3DPrivate::platformGraphicsContext3D):
2230         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
2231         (WebCore::GraphicsContext3DPrivate::isGLES2Compliant):
2232         (WebCore::GraphicsContext3DPrivate::activeTexture):
2233         (WebCore::GraphicsContext3DPrivate::attachShader):
2234         (WebCore::GraphicsContext3DPrivate::bindAttribLocation):
2235         (WebCore::GraphicsContext3DPrivate::bindBuffer):
2236         (WebCore::GraphicsContext3DPrivate::bindFramebuffer):
2237         (WebCore::GraphicsContext3DPrivate::bindRenderbuffer):
2238         (WebCore::GraphicsContext3DPrivate::bindTexture):
2239         (WebCore::GraphicsContext3DPrivate::blendColor):
2240         (WebCore::GraphicsContext3DPrivate::blendEquation):
2241         (WebCore::GraphicsContext3DPrivate::blendEquationSeparate):
2242         (WebCore::GraphicsContext3DPrivate::blendFunc):
2243         (WebCore::GraphicsContext3DPrivate::blendFuncSeparate):
2244         (WebCore::GraphicsContext3DPrivate::bufferData):
2245         (WebCore::GraphicsContext3DPrivate::bufferSubData):
2246         (WebCore::GraphicsContext3DPrivate::checkFramebufferStatus):
2247         (WebCore::GraphicsContext3DPrivate::clear):
2248         (WebCore::GraphicsContext3DPrivate::clearColor):
2249         (WebCore::GraphicsContext3DPrivate::clearDepth):
2250         (WebCore::GraphicsContext3DPrivate::clearStencil):
2251         (WebCore::GraphicsContext3DPrivate::colorMask):
2252         (WebCore::GraphicsContext3DPrivate::compileShader):
2253         (WebCore::GraphicsContext3DPrivate::copyTexImage2D):
2254         (WebCore::GraphicsContext3DPrivate::copyTexSubImage2D):
2255         (WebCore::GraphicsContext3DPrivate::cullFace):
2256         (WebCore::GraphicsContext3DPrivate::depthFunc):
2257         (WebCore::GraphicsContext3DPrivate::depthMask):
2258         (WebCore::GraphicsContext3DPrivate::depthRange):
2259         (WebCore::GraphicsContext3DPrivate::detachShader):
2260         (WebCore::GraphicsContext3DPrivate::disable):
2261         (WebCore::GraphicsContext3DPrivate::disableVertexAttribArray):
2262         (WebCore::GraphicsContext3DPrivate::drawArrays):
2263         (WebCore::GraphicsContext3DPrivate::drawElements):
2264         (WebCore::GraphicsContext3DPrivate::enable):
2265         (WebCore::GraphicsContext3DPrivate::enableVertexAttribArray):
2266         (WebCore::GraphicsContext3DPrivate::finish):
2267         (WebCore::GraphicsContext3DPrivate::flush):
2268         (WebCore::GraphicsContext3DPrivate::framebufferRenderbuffer):
2269         (WebCore::GraphicsContext3DPrivate::framebufferTexture2D):
2270         (WebCore::GraphicsContext3DPrivate::frontFace):
2271         (WebCore::GraphicsContext3DPrivate::generateMipmap):
2272         (WebCore::GraphicsContext3DPrivate::getActiveAttrib):
2273         (WebCore::GraphicsContext3DPrivate::getActiveUniform):
2274         (WebCore::GraphicsContext3DPrivate::getAttachedShaders):
2275         (WebCore::GraphicsContext3DPrivate::getAttribLocation):
2276         (WebCore::GraphicsContext3DPrivate::getBooleanv):
2277         (WebCore::GraphicsContext3DPrivate::getBufferParameteriv):
2278         (WebCore::GraphicsContext3DPrivate::getContextAttributes):
2279         (WebCore::GraphicsContext3DPrivate::getError):
2280         (WebCore::GraphicsContext3DPrivate::getFloatv):
2281         (WebCore::GraphicsContext3DPrivate::getFramebufferAttachmentParameteriv):
2282         (WebCore::GraphicsContext3DPrivate::getIntegerv):
2283         (WebCore::GraphicsContext3DPrivate::getProgramiv):
2284         (WebCore::GraphicsContext3DPrivate::getProgramInfoLog):
2285         (WebCore::GraphicsContext3DPrivate::getRenderbufferParameteriv):
2286         (WebCore::GraphicsContext3DPrivate::getShaderiv):
2287         (WebCore::GraphicsContext3DPrivate::getShaderInfoLog):
2288         (WebCore::GraphicsContext3DPrivate::getShaderSource):
2289         (WebCore::GraphicsContext3DPrivate::getString):
2290         (WebCore::GraphicsContext3DPrivate::getTexParameterfv):
2291         (WebCore::GraphicsContext3DPrivate::getTexParameteriv):
2292         (WebCore::GraphicsContext3DPrivate::getUniformfv):
2293         (WebCore::GraphicsContext3DPrivate::getUniformiv):
2294         (WebCore::GraphicsContext3DPrivate::getUniformLocation):
2295         (WebCore::GraphicsContext3DPrivate::getVertexAttribfv):
2296         (WebCore::GraphicsContext3DPrivate::getVertexAttribiv):
2297         (WebCore::GraphicsContext3DPrivate::getVertexAttribOffset):
2298         (WebCore::GraphicsContext3DPrivate::hint):
2299         (WebCore::GraphicsContext3DPrivate::isBuffer):
2300         (WebCore::GraphicsContext3DPrivate::isEnabled):
2301         (WebCore::GraphicsContext3DPrivate::isFramebuffer):
2302         (WebCore::GraphicsContext3DPrivate::isProgram):
2303         (WebCore::GraphicsContext3DPrivate::isRenderbuffer):
2304         (WebCore::GraphicsContext3DPrivate::isShader):
2305         (WebCore::GraphicsContext3DPrivate::isTexture):
2306         (WebCore::GraphicsContext3DPrivate::lineWidth):
2307         (WebCore::GraphicsContext3DPrivate::linkProgram):
2308         (WebCore::GraphicsContext3DPrivate::pixelStorei):
2309         (WebCore::GraphicsContext3DPrivate::polygonOffset):
2310         (WebCore::GraphicsContext3DPrivate::readPixels):
2311         (WebCore::GraphicsContext3DPrivate::renderbufferStorage):
2312         (WebCore::GraphicsContext3DPrivate::sampleCoverage):
2313         (WebCore::GraphicsContext3DPrivate::scissor):
2314         (WebCore::GraphicsContext3DPrivate::shaderSource):
2315         (WebCore::GraphicsContext3DPrivate::stencilFunc):
2316         (WebCore::GraphicsContext3DPrivate::stencilFuncSeparate):
2317         (WebCore::GraphicsContext3DPrivate::stencilMask):
2318         (WebCore::GraphicsContext3DPrivate::stencilMaskSeparate):
2319         (WebCore::GraphicsContext3DPrivate::stencilOp):
2320         (WebCore::GraphicsContext3DPrivate::stencilOpSeparate):
2321         (WebCore::GraphicsContext3DPrivate::texImage2D):
2322         (WebCore::GraphicsContext3DPrivate::texParameterf):
2323         (WebCore::GraphicsContext3DPrivate::texParameteri):
2324         (WebCore::GraphicsContext3DPrivate::texSubImage2D):
2325         (WebCore::GraphicsContext3DPrivate::uniform1f):
2326         (WebCore::GraphicsContext3DPrivate::uniform1fv):
2327         (WebCore::GraphicsContext3DPrivate::uniform1i):
2328         (WebCore::GraphicsContext3DPrivate::uniform1iv):
2329         (WebCore::GraphicsContext3DPrivate::uniform2f):
2330         (WebCore::GraphicsContext3DPrivate::uniform2fv):
2331         (WebCore::GraphicsContext3DPrivate::uniform2i):
2332         (WebCore::GraphicsContext3DPrivate::uniform2iv):
2333         (WebCore::GraphicsContext3DPrivate::uniform3f):
2334         (WebCore::GraphicsContext3DPrivate::uniform3fv):
2335         (WebCore::GraphicsContext3DPrivate::uniform3i):
2336         (WebCore::GraphicsContext3DPrivate::uniform3iv):
2337         (WebCore::GraphicsContext3DPrivate::uniform4f):
2338         (WebCore::GraphicsContext3DPrivate::uniform4fv):
2339         (WebCore::GraphicsContext3DPrivate::uniform4i):
2340         (WebCore::GraphicsContext3DPrivate::uniform4iv):
2341         (WebCore::GraphicsContext3DPrivate::uniformMatrix2fv):
2342         (WebCore::GraphicsContext3DPrivate::uniformMatrix3fv):
2343         (WebCore::GraphicsContext3DPrivate::uniformMatrix4fv):
2344         (WebCore::GraphicsContext3DPrivate::useProgram):
2345         (WebCore::GraphicsContext3DPrivate::validateProgram):
2346         (WebCore::GraphicsContext3DPrivate::vertexAttrib1f):
2347         (WebCore::GraphicsContext3DPrivate::vertexAttrib1fv):
2348         (WebCore::GraphicsContext3DPrivate::vertexAttrib2f):
2349         (WebCore::GraphicsContext3DPrivate::vertexAttrib2fv):
2350         (WebCore::GraphicsContext3DPrivate::vertexAttrib3f):
2351         (WebCore::GraphicsContext3DPrivate::vertexAttrib3fv):
2352         (WebCore::GraphicsContext3DPrivate::vertexAttrib4f):
2353         (WebCore::GraphicsContext3DPrivate::vertexAttrib4fv):
2354         (WebCore::GraphicsContext3DPrivate::vertexAttribPointer):
2355         (WebCore::GraphicsContext3DPrivate::viewport):
2356         (WebCore::GraphicsContext3DPrivate::createBuffer):
2357         (WebCore::GraphicsContext3DPrivate::createFramebuffer):
2358         (WebCore::GraphicsContext3DPrivate::createProgram):
2359         (WebCore::GraphicsContext3DPrivate::createRenderbuffer):
2360         (WebCore::GraphicsContext3DPrivate::createShader):
2361         (WebCore::GraphicsContext3DPrivate::createTexture):
2362         (WebCore::GraphicsContext3DPrivate::deleteBuffer):
2363         (WebCore::GraphicsContext3DPrivate::deleteFramebuffer):
2364         (WebCore::GraphicsContext3DPrivate::deleteProgram):
2365         (WebCore::GraphicsContext3DPrivate::deleteRenderbuffer):
2366         (WebCore::GraphicsContext3DPrivate::deleteShader):
2367         (WebCore::GraphicsContext3DPrivate::deleteTexture):
2368         (WebCore::GraphicsContext3DPrivate::synthesizeGLError):
2369         (WebCore::GraphicsContext3DPrivate::getExtensions):
2370         * platform/graphics/efl/GraphicsContext3DPrivate.h: Added.
2371         (WebCore):
2372         (GraphicsContext3DPrivate):
2373
2374 2012-02-27  Shawn Singh  <shawnsingh@chromium.org>
2375
2376         RenderLayer ClipRect not accounting for transforms
2377         https://bugs.webkit.org/show_bug.cgi?id=76486
2378
2379         Reviewed by Simon Fraser.
2380
2381         Test: compositing/layer-creation/overlap-transformed-and-clipped.html
2382
2383         This patch changes calculateClipRects() so that the clipRect
2384         offset is allowed to be converted across layers with
2385         transforms. This is necessary because the RenderLayerCompositor
2386         needs clipRects in document space, rather than with respect to
2387         some local clipping layer.
2388
2389         * rendering/RenderLayer.cpp:
2390         (WebCore::RenderLayer::calculateClipRects):
2391         * rendering/RenderObject.cpp:
2392         (WebCore::RenderObject::localToContainerPoint):
2393         (WebCore):
2394         * rendering/RenderObject.h:
2395         (RenderObject):
2396
2397 2012-02-27  Adam Klein  <adamk@chromium.org>
2398
2399         [MutationObservers] Clear pending mutation records on disconnect()
2400         https://bugs.webkit.org/show_bug.cgi?id=78639
2401
2402         Reviewed by Ojan Vafai.
2403
2404         Test: fast/mutation/disconnect-cancel-pending.html
2405
2406         * dom/WebKitMutationObserver.cpp:
2407         (WebCore::WebKitMutationObserver::disconnect): Clear pending records.
2408         (WebCore::WebKitMutationObserver::deliver): Avoid calling the callback if no records are pending delivery.
2409
2410 2012-02-27  Adam Klein  <adamk@chromium.org>
2411
2412         Always notify subtree of removal in ContainerNode::removeChildren
2413         https://bugs.webkit.org/show_bug.cgi?id=79316
2414
2415         Reviewed by Ryosuke Niwa.
2416
2417         In the inDocument case, Node::removedFromDocument is called.
2418         In the out-of-document case, call ContainerNode::removedFromTree to ensure,
2419         e.g., form-associated elements are properly disconnected.
2420
2421         Test: fast/forms/form-associated-element-removal.html
2422
2423         * dom/ContainerNode.cpp:
2424         (WebCore::ContainerNode::removeChildren):
2425
2426 2012-02-27  Adam Barth  <abarth@webkit.org>
2427
2428         Repair license blocks for files created during modularization
2429         https://bugs.webkit.org/show_bug.cgi?id=79721
2430
2431         Reviewed by Eric Seidel.
2432
2433         We failed to copy the license blocks correctly when moving code into
2434         these files.  This patch restores the correct license blocks.
2435
2436         * Modules/geolocation/NavigatorGeolocation.cpp:
2437         * Modules/geolocation/NavigatorGeolocation.h:
2438         * Modules/mediastream/NavigatorMediaStream.cpp:
2439         * Modules/mediastream/NavigatorMediaStream.h:
2440         * bindings/js/JSDOMWindowWebAudioCustom.cpp:
2441         * bindings/js/JSDOMWindowWebSocketCustom.cpp:
2442         * storage/DOMWindowSQLDatabase.cpp:
2443         * storage/DOMWindowSQLDatabase.h:
2444
2445 2012-02-27  Julien Chaffraix  <jchaffraix@webkit.org>
2446
2447         Extract the logic for computing the dirty rows / columns out of RenderTableSection::paintObject
2448         https://bugs.webkit.org/show_bug.cgi?id=79580
2449
2450         Reviewed by Eric Seidel.
2451
2452         Refactoring only.
2453
2454         * rendering/RenderTableSection.h:
2455         (CellSpan):
2456         (WebCore::CellSpan::CellSpan):
2457         (WebCore::CellSpan::start):
2458         (WebCore::CellSpan::end):
2459         Added this class to hold the span information.
2460
2461         (WebCore::RenderTableSection::fullTableRowSpan):
2462         (WebCore::RenderTableSection::fullTableColumnSpan):
2463         Those functions return the span corresponding to the full table.
2464
2465         * rendering/RenderTableSection.cpp:
2466         (WebCore::RenderTableSection::dirtiedRows):
2467         (WebCore::RenderTableSection::dirtiedColumns):
2468         Those functions compute the rows / columns impacted by a |damageRect|. On the slow painting path, they
2469         return the full table span.
2470
2471         (WebCore::RenderTableSection::paintObject):
2472         Updated this function to call the new ones. Also we now inflate the local rectangle with the outlineSize.
2473         This wasn't done previously and we had to manually patch some size comparison to account for the outline.
2474
2475 2012-02-27  Kentaro Hara  <haraken@chromium.org>
2476
2477         Rename resolve-supplemental.pl to preprocess-idls.pl
2478         https://bugs.webkit.org/show_bug.cgi?id=79660
2479
2480         Reviewed by Adam Barth.
2481
2482         Due to r108322, resolve-supplemental.pl not only resolves supplemental
2483         dependencies but also runs IDL attribute checker. For clarification,
2484         this patch renames resolve-supplemental.pl to preprocess-idls.pl.
2485
2486         No tests. Confirm that all builds pass.
2487
2488         * DerivedSources.make:
2489         * DerivedSources.pri:
2490         * GNUmakefile.am:
2491         * UseJSC.cmake:
2492         * UseV8.cmake:
2493         * WebCore.gyp/WebCore.gyp:
2494         * WebCore.vcproj/MigrateScripts:
2495         * WebCore.vcproj/WebCore.vcproj:
2496         * WebCore.xcodeproj/project.pbxproj:
2497         * bindings/scripts/preprocess-idls.pl: Renamed from Source/WebCore/bindings/scripts/resolve-supplemental.pl.
2498
2499 2012-02-27  Kentaro Hara  <haraken@chromium.org>
2500
2501         [JSC] Add [ConstructorParameters=] to all custom constructors
2502         https://bugs.webkit.org/show_bug.cgi?id=78221
2503
2504         Reviewed by Adam Barth.
2505
2506         This patch adds [ConstructorParameters=X] to IDL files that have
2507         custom constructors, where X is the maximum number of arguments
2508         of the constructor. [ConstructorParameters=X] is needed for custom
2509         constructors, because custom constructors do not have a signature
2510         in IDL files and thus CodeGeneratorJS.pm cannot know the number of
2511         constructor arguments.
2512
2513         Test: fast/js/constructor-length.html
2514
2515         * dom/WebKitMutationObserver.idl:
2516         * html/DOMFormData.idl:
2517         * html/canvas/ArrayBuffer.idl:
2518         * html/canvas/DataView.idl:
2519         * html/canvas/Float32Array.idl:
2520         * html/canvas/Float64Array.idl:
2521         * html/canvas/Int16Array.idl:
2522         * html/canvas/Int32Array.idl:
2523         * html/canvas/Int8Array.idl:
2524         * html/canvas/Uint16Array.idl:
2525         * html/canvas/Uint32Array.idl:
2526         * html/canvas/Uint8Array.idl:
2527         * html/canvas/Uint8ClampedArray.idl:
2528         * webaudio/AudioContext.idl:
2529
2530         * bindings/scripts/test/TestTypedArray.idl:
2531
2532         * bindings/scripts/test/JS/JSFloat64Array.cpp: Updated run-bindings-tests results.
2533         (WebCore::JSFloat64ArrayConstructor::finishCreation):
2534
2535 2012-02-23  Raphael Kubo da Costa  <kubo@profusion.mobi>
2536
2537         [BlackBerry][EFL] Provide dummy RunLoop implementations.
2538         https://bugs.webkit.org/show_bug.cgi?id=79398
2539
2540         Reviewed by Antonio Gomes.
2541
2542         r108067 fixed the EFL build by not building RunLoop.cpp on EFL and
2543         BlackBerry, as both platforms lack an implementation that provides the
2544         missing methods for the RunLoop class.
2545
2546         However, RunLoop.cpp is a generic file which should not be included
2547         directly in PlatformWinCE.cmake (plus it helps in converting the
2548         AppleWin port to CMake).
2549
2550         Fix this by providing a dummy implementation of the missing RunLoop
2551         methods for both EFL and BlackBerry.
2552
2553         * CMakeLists.txt:
2554         * PlatformBlackBerry.cmake:
2555         * PlatformEfl.cmake:
2556         * PlatformWinCE.cmake:
2557         * platform/blackberry/RunLoopBlackBerry.cpp: Added.
2558         (WebCore):
2559         (WebCore::RunLoop::RunLoop):
2560         (WebCore::RunLoop::~RunLoop):
2561         (WebCore::RunLoop::wakeUp):
2562         * platform/efl/RunLoopEfl.cpp: Added.
2563         (WebCore):
2564         (WebCore::RunLoop::RunLoop):
2565         (WebCore::RunLoop::~RunLoop):
2566         (WebCore::RunLoop::wakeUp):
2567
2568 2012-02-27  John Sullivan  <sullivan@apple.com>
2569
2570         Build fix (on Lion at least).
2571
2572         * dom/Attr.cpp:
2573         (WebCore::Attr::childrenChanged):
2574         Removed names of unused parameters.
2575         
2576         * dom/ContainerNode.cpp:
2577         (WebCore::ContainerNode::childrenChanged):
2578         Ditto.
2579
2580 2012-02-27  Kentaro Hara  <haraken@chromium.org>
2581
2582         Remove [ConstructorParameters] from IDL files that have [Constructor]
2583         https://bugs.webkit.org/show_bug.cgi?id=79643
2584
2585         Reviewed by Adam Barth.
2586
2587         This patch removes [ConstructorParameters] from IDL files that have [Constructor],
2588         since CodeGeneratorJS.pm can automatically detect the number of constructor
2589         arguments by the [Constructor(...)] signature.
2590
2591         Test: fast/js/constructor-length.html
2592
2593         * Modules/mediastream/PeerConnection.idl:
2594         * bindings/scripts/CodeGeneratorJS.pm:
2595         (GenerateConstructorDefinition):
2596         * css/WebKitCSSMatrix.idl:
2597         * page/EventSource.idl:
2598         * workers/SharedWorker.idl:
2599         * workers/Worker.idl:
2600
2601 2012-02-27  Julien Chaffraix  <jchaffraix@webkit.org>
2602
2603         Avoid doing 2 hash lookups if we override RenderBox's logical width / height
2604         https://bugs.webkit.org/show_bug.cgi?id=79591
2605
2606         Reviewed by Antonio Gomes.
2607
2608         Refactoring only.
2609
2610         * rendering/RenderBox.cpp:
2611         (WebCore::RenderBox::clearOverrideSize):
2612         Instead of doing one hash lookup as part of hasOverride{Height|Width}, let's
2613         just directly call HashMap::remove that will do the lookup instead.
2614
2615 2012-02-27  Adam Klein  <adamk@chromium.org>
2616
2617         Move WebCore-internal DOM notification methods from Node to ContainerNode where appropriate
2618         https://bugs.webkit.org/show_bug.cgi?id=79697
2619
2620         Reviewed by Ryosuke Niwa.
2621
2622         insertedIntoTree/removedFromTree are only used by subclasses of
2623         ContainerNode. Moreover, attempting to make use of these notifications
2624         in a non-container Node would currently not work, because
2625         Node::removedFromDocument/insertedIntoDocument do not dispatch to these methods.
2626         Rather than adding useless calls to an always-empty virtual method,
2627         this patch moves these methods to ContainerNode.
2628
2629         Meanwhile, childrenChanged moves to ContainerNode for an obvious reason:
2630         non-container Nodes have no children to change.
2631
2632         No new tests, refactoring only.
2633
2634         * dom/Attr.cpp:
2635         (WebCore::Attr::childrenChanged): Remove call to now-nonexistent Node::childrenChanged.
2636         * dom/ContainerNode.cpp:
2637         (WebCore::ContainerNode::removeChild): Check that the removed child is a container node before notifying it of removal.
2638         (WebCore::ContainerNode::parserRemoveChild): ditto.
2639         (WebCore::ContainerNode::insertedIntoTree): Remove call to now-nonexistent Node::insertedIntoTree.
2640         (WebCore::ContainerNode::removedFromTree): Remove call to now-nonexistent Node::removedFromTree.
2641         (WebCore::ContainerNode::childrenChanged): Remove call to now-nonexistent Node::childrenChanged.
2642         (WebCore::notifyChildInserted): Check that the inserted child is a container node before notifying it of insertion.
2643         * dom/ContainerNode.h:
2644         (ContainerNode): Migrate comments from Node.h, point back at it for more notification methods.
2645         * dom/Node.h:
2646         (Node): Move methods, update comments to point at ContainerNode.h.
2647
2648 2012-02-27  Chris Rogers  <crogers@google.com>
2649
2650         Implement static compression curve parameters for DynamicsCompressorNode
2651         https://bugs.webkit.org/show_bug.cgi?id=78937
2652
2653         Reviewed by Kenneth Russell.
2654
2655         Test: webaudio/dynamicscompressor-basic.html
2656
2657         * platform/audio/DynamicsCompressor.cpp:
2658         (WebCore::DynamicsCompressor::setParameterValue):
2659         (WebCore):
2660         (WebCore::DynamicsCompressor::initializeParameters):
2661         (WebCore::DynamicsCompressor::process):
2662         * platform/audio/DynamicsCompressor.h:
2663         * platform/audio/DynamicsCompressorKernel.cpp:
2664         (WebCore):
2665         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
2666         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
2667         (WebCore::DynamicsCompressorKernel::kneeCurve):
2668         (WebCore::DynamicsCompressorKernel::saturate):
2669         (WebCore::DynamicsCompressorKernel::slopeAt):
2670         (WebCore::DynamicsCompressorKernel::kAtSlope):
2671         (WebCore::DynamicsCompressorKernel::updateStaticCurveParameters):
2672         (WebCore::DynamicsCompressorKernel::process):
2673         * platform/audio/DynamicsCompressorKernel.h:
2674         (DynamicsCompressorKernel):
2675         (WebCore::DynamicsCompressorKernel::meteringGain):
2676         * webaudio/DynamicsCompressorNode.cpp:
2677         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
2678         (WebCore::DynamicsCompressorNode::process):
2679         * webaudio/DynamicsCompressorNode.h:
2680         (WebCore):
2681         (WebCore::DynamicsCompressorNode::create):
2682         (DynamicsCompressorNode):
2683         (WebCore::DynamicsCompressorNode::threshold):
2684         (WebCore::DynamicsCompressorNode::knee):
2685         (WebCore::DynamicsCompressorNode::ratio):
2686         (WebCore::DynamicsCompressorNode::reduction):
2687         * webaudio/DynamicsCompressorNode.idl:
2688
2689 2012-02-27  Enrica Casucci  <enrica@apple.com>
2690
2691         WebKit2: implement platform strategy to access Pasteboard in the UI process.
2692         https://bugs.webkit.org/show_bug.cgi?id=79253
2693         <rdar://problem/9971876>
2694
2695         Reviewed by Alexey Proskuryakov.
2696
2697         No new tests. No behavior change.
2698
2699         * platform/mac/PlatformPasteboardMac.mm:
2700         (WebCore::PlatformPasteboard::bufferForType): There is no need
2701         to create a SharedBuffer object if there is no NSData in the pasteboard
2702         for the given pasteboard type.
2703
2704 2012-02-27  Adrienne Walker  <enne@google.com>
2705
2706         [chromium] Unreviewed speculative Chromium win build fix.
2707
2708         mdelaney's http://trac.webkit.org/changeset/109016 changed the
2709         interface on ImageBuffer, but didn't update TransparencyWin.
2710
2711         * platform/graphics/chromium/TransparencyWin.cpp:
2712         (WebCore::TransparencyWin::OwnedBuffers::canHandleSize):
2713
2714 2012-02-27  Matthew Delaney  <mdelaney@apple.com>
2715
2716         Add ImageBuffer support for having a hi-res backing store. This allows
2717         ImageBuffer clients to specify a scale factor upon creation so that they
2718         don't have to maintain that info themselves as they use/pass around the ImageBuffer.
2719         https://bugs.webkit.org/show_bug.cgi?id=79395
2720
2721         Reviewed by Dan Bernstein.
2722
2723         No new tests. This patch doesn't change behavior.
2724
2725         * platform/graphics/ImageBuffer.h:
2726         (WebCore::ImageBuffer::create): Scale the backing store by the resolution scale.
2727         (WebCore::ImageBuffer::logicalSize): Differentiate the logical size from the backing store's size.
2728         (WebCore::ImageBuffer::internalSize): The backing store's size.
2729
2730         * platform/graphics/cg/ImageBufferCG.cpp: Prefer the explicit use of logicalSize and internalSize.
2731
2732         Explicitly state a 1x scale for all ImageBuffer creation sites
2733         since this is what they currently assume.
2734         * html/HTMLCanvasElement.cpp:
2735         * html/canvas/CanvasRenderingContext2D.cpp:
2736         * html/canvas/WebGLRenderingContext.cpp:
2737         * page/Frame.cpp:
2738         * platform/graphics/CrossfadeGeneratedImage.cpp:
2739         * platform/graphics/ShadowBlur.cpp:
2740         * platform/graphics/filters/FEColorMatrix.cpp:
2741         * platform/graphics/filters/FEDropShadow.cpp:
2742         * platform/graphics/filters/FilterEffect.cpp:
2743         * platform/mac/ScrollbarThemeMac.mm:
2744         * rendering/FilterEffectRenderer.cpp:
2745         * rendering/RenderThemeMac.mm:
2746         * rendering/svg/SVGImageBufferTools.cpp:
2747         * svg/graphics/SVGImage.cpp:
2748         * svg/graphics/SVGImageCache.cpp:
2749
2750         Update ImageBuffer::size() calls to new versions.
2751         * platform/graphics/GraphicsContext.cpp:
2752         * platform/graphics/ImageBuffer.cpp:
2753         * platform/graphics/skia/PlatformContextSkia.cpp:
2754
2755 2012-02-27  Mihnea Ovidenie  <mihnea@adobe.com>
2756
2757         [CSSRegions]-webkit-flow-into initial value should be none instead of auto
2758         https://bugs.webkit.org/show_bug.cgi?id=79670
2759
2760         Reviewed by Simon Fraser.
2761
2762         No new tests, modified expectations for existing tests.
2763
2764         * css/CSSComputedStyleDeclaration.cpp:
2765         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2766         * css/CSSParser.cpp:
2767         (WebCore::CSSParser::parseFlowThread):
2768         * css/CSSStyleApplyProperty.cpp:
2769         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2770
2771 2012-02-27  Ojan Vafai  <ojan@chromium.org>
2772
2773         implement display: -webkit-inline-flexbox
2774         https://bugs.webkit.org/show_bug.cgi?id=77772
2775
2776         Reviewed by David Hyatt.
2777
2778         Tests: css3/flexbox/inline-flexbox-expected.html
2779                css3/flexbox/inline-flexbox.html
2780
2781         * rendering/style/RenderStyle.h:
2782         -Add INLINE_FLEXBOX to the list of replaced display types.
2783         -Restructure the isDisplayInline methods to avoid code duplication.
2784
2785 2012-02-27  Ken Buchanan  <kenrb@chromium.org>
2786
2787         Absolute positioned elements with Inline Relative Positioned Container are not layout correctly
2788         https://bugs.webkit.org/show_bug.cgi?id=78713
2789
2790         Reviewed by David Hyatt.
2791
2792         Test: fast/css/positioned-in-relative-position-inline-crash.html
2793
2794         Patch originally by Robin Cao.
2795
2796         This is a regression. r104183 changes containingBlock() so that it returns the container
2797         of an anonymous block for positioned objects, not the anonymous block itself. We should
2798         change markContainingBlocksForLayout() to match the change in containingBlock().
2799
2800         * rendering/RenderObject.cpp:
2801         (WebCore::RenderObject::markContainingBlocksForLayout):
2802
2803 2012-02-27  Pavel Feldman  <pfeldman@google.com>
2804
2805         Web Inspector: move record formatting into the timeline presentation model.
2806         https://bugs.webkit.org/show_bug.cgi?id=79684
2807
2808         Drive-by: fix for stop recording in reset; cpu time restored.
2809
2810         Reviewed by Vsevolod Vlasov.
2811
2812         * inspector/front-end/TimelineModel.js:
2813         (WebInspector.TimelineModel.prototype.reset):
2814         * inspector/front-end/TimelineOverviewPane.js:
2815         (WebInspector.TimelineOverviewPane.prototype.update.updateBoundaries):
2816         (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries):
2817         * inspector/front-end/TimelinePanel.js:
2818         (WebInspector.TimelinePanel):
2819         (WebInspector.TimelinePanel.prototype._rootRecord):
2820         (WebInspector.TimelinePanel.prototype._updateRecordsCounter):
2821         (WebInspector.TimelinePanel.prototype._repopulateRecords):
2822         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
2823         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2824         (WebInspector.TimelinePanel.prototype._resetPanel):
2825         (WebInspector.TimelinePanel.prototype._refresh):
2826         (WebInspector.TimelinePanel.prototype._updateBoundaries):
2827         (WebInspector.TimelinePanel.prototype._filterRecords):
2828         (WebInspector.TimelinePanel.prototype.revealRecordAt):
2829         (WebInspector.TimelinePanel.prototype._showPopover):
2830         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
2831         (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
2832         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
2833         (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages):
2834         (WebInspector.TimelineRecordGraphRow):
2835         (WebInspector.TimelineRecordGraphRow.prototype.update):
2836         * inspector/front-end/TimelinePresentationModel.js:
2837         (WebInspector.TimelinePresentationModel):
2838         (WebInspector.TimelinePresentationModel.prototype.createFormattedRecord):
2839         (WebInspector.TimelinePresentationModel.prototype._createRootRecord):
2840         (WebInspector.TimelinePresentationModel.prototype.rootRecord):
2841         (WebInspector.TimelinePresentationModel.prototype.reset):
2842         (WebInspector.TimelinePresentationModel.prototype._findParentRecord):
2843         (WebInspector.TimelinePresentationModel.prototype._resetWindow):
2844         (WebInspector.TimelinePresentationModel.prototype._addCategory):
2845         (WebInspector.TimelinePresentationModel.prototype.setCategoryVisibility):
2846         (WebInspector.TimelinePresentationModel.prototype.get _recordStyles):
2847         (WebInspector.TimelinePresentationModel.Record):
2848         (WebInspector.TimelinePresentationModel.Record.prototype.get lastChildEndTime):
2849         (WebInspector.TimelinePresentationModel.Record.prototype.set lastChildEndTime):
2850         (WebInspector.TimelinePresentationModel.Record.prototype.get selfTime):
2851         (WebInspector.TimelinePresentationModel.Record.prototype.set selfTime):
2852         (WebInspector.TimelinePresentationModel.Record.prototype.get cpuTime):
2853         (WebInspector.TimelinePresentationModel.Record.prototype.isLong):
2854         (WebInspector.TimelinePresentationModel.Record.prototype.get children):
2855         (WebInspector.TimelinePresentationModel.Record.prototype.containsTime):
2856         (WebInspector.TimelinePresentationModel.Record.prototype._generateAggregatedInfo):
2857         (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
2858         (WebInspector.TimelinePresentationModel.Record.prototype._refreshDetails):
2859         (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
2860         (WebInspector.TimelinePresentationModel.Record.prototype._linkifyLocation):
2861         (WebInspector.TimelinePresentationModel.Record.prototype._linkifyCallFrame):
2862         (WebInspector.TimelinePresentationModel.Record.prototype._linkifyTopCallFrame):
2863         (WebInspector.TimelinePresentationModel.Record.prototype._linkifyScriptLocation):
2864         (WebInspector.TimelinePresentationModel.Record.prototype.calculateAggregatedStats):
2865         (WebInspector.TimelinePresentationModel.Record.prototype.get aggregatedStats):
2866         (WebInspector.TimelinePresentationModel.PopupContentHelper):
2867         (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._createCell):
2868         (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._appendTextRow):
2869         (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._appendElementRow):
2870         (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._appendStackTrace):
2871         * inspector/front-end/timelinePanel.css:
2872         (.timeline-graph-bar.cpu):
2873
2874 2012-02-27  Vsevolod Vlasov  <vsevik@chromium.org>
2875
2876         Web Inspector: Scripts navigator overlay should not consume mouse actions.
2877         https://bugs.webkit.org/show_bug.cgi?id=79674
2878
2879         Reviewed by Pavel Feldman.
2880
2881         * inspector/front-end/Panel.js:
2882         (WebInspector.Panel.prototype.registerShortcut):
2883         (WebInspector.Panel.prototype.unregisterShortcut):
2884         * inspector/front-end/ScriptsPanel.js:
2885         (WebInspector.ScriptsPanel.prototype._editorClosed):
2886         (WebInspector.ScriptsPanel.prototype._editorSelected):
2887         (WebInspector.ScriptsPanel.prototype._fileSelected):
2888         (WebInspector.ScriptsPanel.prototype._escDownWhileNavigatorOverlayOpen):
2889         (WebInspector.ScriptsPanel.prototype.set _showNavigatorOverlay):
2890         (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
2891         (WebInspector.ScriptsPanel.prototype._navigatorOverlayWasShown):
2892         * inspector/front-end/SidebarOverlay.js:
2893         (WebInspector.SidebarOverlay):
2894         (WebInspector.SidebarOverlay.prototype.show):
2895         (WebInspector.SidebarOverlay.prototype._containingElementFocused):
2896         (WebInspector.SidebarOverlay.prototype.position):
2897         (WebInspector.SidebarOverlay.prototype.hide):
2898         (WebInspector.SidebarOverlay.prototype._setWidth):
2899         * inspector/front-end/dialog.css:
2900         (.go-to-line-dialog button:active):
2901         * inspector/front-end/scriptsPanel.css:
2902         (#scripts-editor-view .sidebar-overlay):
2903         * inspector/front-end/splitView.css:
2904         (.split-view-resizer):
2905         (.sidebar-overlay):
2906         (.sidebar-overlay-resizer):
2907
2908 2012-02-27  Philippe Normand  <pnormand@igalia.com>
2909
2910         [GStreamer] 0.11 support in MediaPlayerPrivateGStreamer
2911         https://bugs.webkit.org/show_bug.cgi?id=77089
2912
2913         Reviewed by Martin Robinson.
2914
2915         Basic port to GStreamer 0.11 APIs. This patch excludes the video
2916         painting changes and the GStreamerGWorld changes which are handled
2917         in two other patches (bugs 77087 and 77088).
2918
2919         * GNUmakefile.list.am: Add GStreamerVersioning files to the build.
2920         * Source/WebCore/PlatformEfl.cmake: Ditto.
2921         * Source/WebCore/Target.pri: Ditto.
2922         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
2923         (WTF::GstElement):
2924         (WTF::GstPad):
2925         (WTF::GstPadTemplate):
2926         (WTF::GstTask):
2927         * platform/graphics/gstreamer/GStreamerVersioning.cpp: Added.
2928         (webkit_gst_object_ref_sink):
2929         (webkit_gst_element_get_pad_caps):
2930         * platform/graphics/gstreamer/GStreamerVersioning.h: Added.
2931         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2932         (WebCore::MediaPlayerPrivateGStreamer::isAvailable):
2933         (WebCore::MediaPlayerPrivateGStreamer::duration):
2934         (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
2935
2936 2012-02-27  Philip Rogers  <pdr@google.com>
2937
2938         Stop recomputing SVG path data twice during layout
2939         https://bugs.webkit.org/show_bug.cgi?id=79672
2940
2941         Reviewed by Nikolas Zimmermann.
2942
2943         * rendering/svg/RenderSVGShape.cpp:
2944         (WebCore::RenderSVGShape::layout):
2945
2946 2012-02-27  Timothy Hatcher  <timothy@apple.com>
2947
2948         Updated for WebKit2 string changes.
2949
2950         https://webkit.org/b/79649
2951
2952         Reviewed by John Sullivan.
2953
2954         * English.lproj/Localizable.strings: Updated.
2955
2956 2012-02-27  Pavel Feldman  <pfeldman@google.com>
2957
2958         Web Inspector: Ctrl+K should not zoom in
2959         https://bugs.webkit.org/show_bug.cgi?id=79676
2960
2961         Reviewed by Vsevolod Vlasov.
2962
2963         * inspector/front-end/inspector.js:
2964         (WebInspector.documentKeyDown):
2965
2966 2012-02-27  Pavel Feldman  <pfeldman@google.com>
2967
2968         Web Inspector: extract TimelineModel and TimelinePresentationModel into their own files.
2969         https://bugs.webkit.org/show_bug.cgi?id=79675
2970
2971         Reviewed by Vsevolod Vlasov.
2972
2973         * WebCore.gypi:
2974         * WebCore.vcproj/WebCore.vcproj:
2975         * inspector/compile-front-end.sh:
2976         * inspector/front-end/TimelineAgent.js: Removed.
2977         * inspector/front-end/TimelineModel.js: Added.
2978         (WebInspector.TimelineModel):
2979         (WebInspector.TimelineModel.prototype.startRecord):
2980         (WebInspector.TimelineModel.prototype.stopRecord):
2981         (WebInspector.TimelineModel.prototype.get records):
2982         (WebInspector.TimelineModel.prototype._onRecordAdded):
2983         (WebInspector.TimelineModel.prototype._addRecord):
2984         (WebInspector.TimelineModel.prototype._loadNextChunk):
2985         (WebInspector.TimelineModel.prototype._loadFromFile):
2986         (WebInspector.TimelineModel.prototype._loadFromFile.onError):
2987         (WebInspector.TimelineModel.prototype._saveToFile):
2988         (WebInspector.TimelineModel.prototype._reset):
2989         * inspector/front-end/TimelinePanel.js:
2990         (WebInspector.TimelinePanel.prototype.get _recordStyles):
2991         (WebInspector.TimelinePanel.prototype._createEventDivider):
2992         (WebInspector.TimelinePanel.prototype._findParentRecord):
2993         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2994         (WebInspector.TimelinePanel.prototype._refreshRecords):
2995         (WebInspector.TimelinePanel.FormattedRecord):
2996         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2997         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2998         * inspector/front-end/TimelinePresentationModel.js: Added.
2999         (WebInspector.TimelinePresentationModel):
3000         (WebInspector.TimelinePresentationModel.prototype.reset):
3001         (WebInspector.TimelinePresentationModel.prototype.get categories):
3002         (WebInspector.TimelinePresentationModel.prototype.addCategory):
3003         (WebInspector.TimelinePresentationModel.prototype.setWindowPosition):
3004         (WebInspector.TimelinePresentationModel.prototype.setWindowIndices):
3005         (WebInspector.TimelinePresentationModel.prototype.setCategoryVisibility):
3006         * inspector/front-end/WebKit.qrc:
3007         * inspector/front-end/inspector.html:
3008
3009 2012-02-27  Alexander Pavlov  <apavlov@chromium.org>
3010
3011         Web Inspector: [Styles] Allow adding CSS properties anywhere in the style declaration, not only at the end
3012         https://bugs.webkit.org/show_bug.cgi?id=79662
3013
3014         Reviewed by Pavel Feldman.
3015
3016         * inspector/front-end/CSSStyleModel.js:
3017         (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
3018         (WebInspector.CSSProperty.prototype.setText):
3019         (WebInspector.CSSProperty.prototype.setValue):
3020         * inspector/front-end/MetricsSidebarPane.js:
3021         (WebInspector.MetricsSidebarPane.prototype._applyUserInput):
3022         * inspector/front-end/StylesSidebarPane.js:
3023         (WebInspector.StylePropertiesSection):
3024         (WebInspector.StylePropertiesSection.prototype._handleSelectorContainerClick):
3025         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
3026         (WebInspector.StylePropertyTreeElement.prototype):
3027         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
3028         (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert):
3029
3030 2012-02-27  Pavel Feldman  <pfeldman@google.com>
3031
3032         [Shadow]: Expose one ShadowRoot in the Elements panel (under experiment flag)
3033         https://bugs.webkit.org/show_bug.cgi?id=78202
3034
3035         Reviewed by Yury Semikhatsky.
3036
3037         * dom/ShadowTree.cpp:
3038         (WebCore::ShadowTree::pushShadowRoot):
3039         (WebCore::ShadowTree::popShadowRoot):
3040         * inspector/Inspector.json:
3041         * inspector/InspectorDOMAgent.cpp:
3042         (WebCore::InspectorDOMAgent::unbind):
3043         (WebCore::InspectorDOMAgent::assertEditableNode):
3044         (WebCore::InspectorDOMAgent::assertEditableElement):
3045         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
3046         (WebCore::InspectorDOMAgent::setAttributeValue):
3047         (WebCore::InspectorDOMAgent::setAttributesAsText):
3048         (WebCore::InspectorDOMAgent::removeAttribute):
3049         (WebCore::InspectorDOMAgent::removeNode):
3050         (WebCore::InspectorDOMAgent::setOuterHTML):
3051         (WebCore::InspectorDOMAgent::setNodeValue):
3052         (WebCore::InspectorDOMAgent::moveTo):
3053         (WebCore::InspectorDOMAgent::buildObjectForNode):
3054         (WebCore::InspectorDOMAgent::didPushShadowRoot):
3055         (WebCore):
3056         (WebCore::InspectorDOMAgent::willPopShadowRoot):
3057         * inspector/InspectorDOMAgent.h:
3058         (WebCore):
3059         (InspectorDOMAgent):
3060         * inspector/InspectorInstrumentation.cpp:
3061         (WebCore::InspectorInstrumentation::didPushShadowRootImpl):
3062         (WebCore):
3063         (WebCore::InspectorInstrumentation::willPopShadowRootImpl):
3064         * inspector/InspectorInstrumentation.h:
3065         (WebCore):
3066         (InspectorInstrumentation):
3067         (WebCore::InspectorInstrumentation::didPushShadowRoot):
3068         (WebCore::InspectorInstrumentation::willPopShadowRoot):
3069         * inspector/PageConsoleAgent.cpp:
3070         (WebCore::PageConsoleAgent::addInspectedNode):
3071         * inspector/front-end/DOMAgent.js:
3072         (WebInspector.DOMNode):
3073         (WebInspector.DOMNode.prototype.hasChildNodes):
3074         (WebInspector.DOMNode.prototype.isInShadowTree):
3075         (WebInspector.DOMNode.prototype._insertChild):
3076         (WebInspector.DOMNode.prototype._setChildrenPayload):
3077         (WebInspector.DOMDocument):
3078         (WebInspector.DOMAgent.prototype._setDetachedRoot):
3079         (WebInspector.DOMAgent.prototype._shadowRootPopped):
3080         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
3081         (WebInspector.DOMDispatcher.prototype.shadowRootPushed):
3082         (WebInspector.DOMDispatcher.prototype.shadowRootPopped):
3083         * inspector/front-end/ElementsTreeOutline.js:
3084         * inspector/front-end/MemoryStatistics.js:
3085         * inspector/front-end/Settings.js:
3086         (WebInspector.ExperimentsSettings):
3087         * inspector/front-end/inspector.css:
3088         (.webkit-html-tag.shadow, .webkit-html-fragment.shadow):
3089
3090 2012-02-27  Andrey Kosyakov  <caseq@chromium.org>
3091
3092         Web Inspector: [refactoring] remove dependencies from TimelinePanel from most of FormattedRecord
3093         https://bugs.webkit.org/show_bug.cgi?id=79665
3094
3095         Reviewed by Pavel Feldman.
3096
3097         * inspector/front-end/TimelinePanel.js:
3098         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3099         (WebInspector.TimelinePanel.FormattedRecord):
3100         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
3101         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
3102         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyLocation):
3103         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyCallFrame):
3104         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyTopCallFrame):
3105         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyScriptLocation):
3106         (WebInspector.TimelinePanel.PopupContentHelper):
3107         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
3108
3109 2012-02-27  Yury Semikhatsky  <yurys@chromium.org>
3110
3111         Web Inspector: reveal corresponding timeline record when user clicks on memory graph
3112         https://bugs.webkit.org/show_bug.cgi?id=79669
3113
3114         When user clicks on DOM counter graph corresponding timeline record is
3115         revealed in timelime grid and all its ancestors are expanded.
3116
3117         Reviewed by Pavel Feldman.
3118
3119         * inspector/front-end/MemoryStatistics.js:
3120         (WebInspector.MemoryStatistics.prototype._onClick):
3121         * inspector/front-end/TimelineOverviewPane.js:
3122         (WebInspector.TimelineOverviewPane.prototype.update):
3123         (WebInspector.HeapGraph.prototype.update):
3124         (WebInspector.HeapGraph.prototype._clear):
3125         * inspector/front-end/TimelinePanel.js:
3126         (WebInspector.TimelinePanel.prototype.revealRecordAt.recordFinder):
3127         (WebInspector.TimelinePanel.prototype.revealRecordAt):
3128         (WebInspector.TimelinePanel.prototype._refreshRecords):
3129         (WebInspector.TimelinePanel.forAllRecords):
3130         (WebInspector.TimelinePanel.FormattedRecord.prototype.containsTime):
3131
3132 2012-02-27  Ilya Tikhonovsky  <loislo@chromium.org>
3133
3134         Unreviewed single line fix for r108983.
3135
3136         * inspector/front-end/DetailedHeapshotView.js:
3137         (WebInspector.DetailedHeapshotView.prototype.willHide):
3138
3139 2012-02-27  Yury Semikhatsky  <yurys@chromium.org>
3140
3141         Web Inspector: repaint counter graphs when timeline splitter moves
3142         https://bugs.webkit.org/show_bug.cgi?id=79644
3143
3144         Immediately refresh timeline panel on splitter move.
3145
3146         Reviewed by Pavel Feldman.
3147
3148         * inspector/front-end/TimelinePanel.js:
3149         (WebInspector.TimelinePanel.prototype._splitterDragging):
3150
3151 2012-02-27  Carlos Garcia Campos  <cgarcia@igalia.com>
3152
3153         Unreviewed. Fix make distcheck.
3154
3155         * GNUmakefile.am: Add missing files.
3156         * GNUmakefile.list.am: Ditto.
3157
3158 2012-02-27  Patrick Gansterer  <paroga@webkit.org>
3159
3160         [CMake] Build fix after r108709.
3161
3162         * CMakeLists.txt: Move DOMWindowSVG.idl to the other IDL files.
3163
3164 2012-02-27  Ilya Tikhonovsky  <loislo@chromium.org>
3165
3166         Web Inspector: [chromium] Profiles - Tooltip with object/property types stays on screen when another tab selected
3167         https://bugs.webkit.org/show_bug.cgi?id=79654
3168
3169         Reviewed by Yury Semikhatsky.
3170
3171         * inspector/front-end/DetailedHeapshotView.js:
3172         (WebInspector.DetailedHeapshotView.prototype.willHide):
3173
3174 2012-02-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3175
3176         [Qt] Remove page/PageSupplement.h from WebCore's Target.pri
3177
3178         The file itself was removed in r108958.
3179
3180         Reviewed by Kenneth Rohde Christiansen.
3181
3182         * Target.pri:
3183
3184 2012-02-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3185
3186         [Qt] Use USE() macro instead of ENABLE() for using the Qt image decoder
3187
3188         Reviewed by Kenneth Rohde Christiansen..
3189
3190         * Target.pri:
3191         * WebCore.pri:
3192         * platform/MIMETypeRegistry.cpp:
3193         (WebCore::initializeSupportedImageMIMETypes):
3194         (WebCore::initializeSupportedImageMIMETypesForEncoding):
3195         * platform/image-decoders/ImageDecoder.h:
3196         (WebCore::ImageFrame::getAddr):
3197         (ImageFrame):
3198         * platform/image-decoders/qt/ImageFrameQt.cpp:
3199         (WebCore):
3200         (WebCore::ImageFrame::asNewNativeImage):
3201
3202 2012-02-27  MORITA Hajime  <morrita@google.com>
3203
3204         Removing <ul>, <li> inside shadow DOM triggers assertion in updateListMarkerNumbers
3205         https://bugs.webkit.org/show_bug.cgi?id=72440
3206
3207         Reviewed by Ryosuke Niwa.
3208
3209         This problem was caused by the inconsistent detach order of DOM tree where
3210         Element::detach() called ContainerNode::detach() before shadow tree is detached.
3211         This resulted the renderer of the element being destroyed even if its children,
3212         each of which came from an element in the shadow tree, are alive.
3213         In principle, child renderers should be destroyed before its parent.
3214
3215         This change aligns the detach order with the attach order. The shadow tree is
3216         now deatched before parent's ContainerNode::detach() is called.
3217
3218         Test: fast/dom/shadow/shadow-ul-li.html
3219
3220         * dom/Element.cpp:
3221         (WebCore::Element::detach):
3222
3223 2012-02-27  Keishi Hattori  <keishi@webkit.org>
3224
3225         Color input type should be clickable through keyboard
3226         https://bugs.webkit.org/show_bug.cgi?id=79629
3227
3228         Reviewed by Kent Tamura.
3229
3230         Introduced BaseClickableWithKeyInputType that represents an input type
3231         that can be clicked by pressing space/return keys.
3232         ColorInputType, FileInputType directly inherit it because it doesn't
3233         want the other methods(like appendFormData) in BaseButtonInputType.
3234
3235         * CMakeLists.txt: Added BaseClickableWithKeyInputType.cpp
3236         * GNUmakefile.list.am: Added BaseClickableWithKeyInputType.{cpp,h}
3237         * Target.pri: Added BaseClickableWithKeyInputType.{cpp,h}
3238         * WebCore.gypi: Added BaseClickableWithKeyInputType.{cpp,h}
3239         * WebCore.vcproj/WebCore.vcproj: Added BaseClickableWithKeyInputType.{cpp,h}
3240         * WebCore.xcodeproj/project.pbxproj: Added BaseClickableWithKeyInputType.{cpp,h}
3241         * html/BaseButtonInputType.cpp:
3242         * html/BaseButtonInputType.h:
3243         (WebCore::BaseButtonInputType::BaseButtonInputType): Inherits BaseClickableWithKeyInputType now.
3244         (BaseButtonInputType):
3245         * html/BaseCheckableInputType.cpp: Changed comment.
3246         * html/BaseClickableWithKeyInputType.cpp:
3247         (WebCore):
3248         (WebCore::BaseClickableWithKeyInputType::handleKeydownEvent): Moved from BaseButtonInputType
3249         (WebCore::BaseClickableWithKeyInputType::handleKeypressEvent): Moved from BaseButtonInputType
3250         (WebCore::BaseClickableWithKeyInputType::handleKeyupEvent): Moved from BaseButtonInputType
3251         (WebCore::BaseClickableWithKeyInputType::accessKeyAction): Moved from BaseButtonInputType
3252         * html/BaseClickableWithKeyInputType.h:
3253         (WebCore):
3254         (BaseClickableWithKeyInputType): Input type that can be clicked by pressing space/return keys.
3255         (WebCore::BaseClickableWithKeyInputType::BaseClickableWithKeyInputType):
3256         * html/ColorInputType.h:
3257         (WebCore::ColorInputType::ColorInputType): Inherits BaseClickableWithKeyInputType now.
3258         * html/FileInputType.cpp:
3259         (WebCore::FileInputType::FileInputType):
3260         * html/FileInputType.h:
3261         (FileInputType): Inherits BaseClickableWithKeyInputType now.
3262         * html/RangeInputType.cpp: Changed comment.
3263         (WebCore):
3264
3265 2012-02-27  Keishi Hattori  <keishi@webkit.org>
3266
3267         Add missing include to ColorInputType.cpp
3268         https://bugs.webkit.org/show_bug.cgi?id=79632
3269
3270         Reviewed by Kent Tamura.
3271
3272         * html/ColorInputType.cpp: Include ShadowTree.h
3273
3274 2012-02-27  Andrey Kosyakov  <caseq@chromium.org>
3275
3276         Use built-in bind in ExtensionAPI.js
3277
3278         Web Inspector: [Extensions API] get rid of custom bind() in favor of built-in
3279         https://bugs.webkit.org/show_bug.cgi?id=79570
3280
3281         Reviewed by Pavel Feldman.
3282
3283         * inspector/front-end/ExtensionAPI.js:
3284         (injectedExtensionAPI.EventSinkImpl.prototype.addListener):
3285         (injectedExtensionAPI):
3286         (injectedExtensionAPI.Panels.prototype.create):
3287         (injectedExtensionAPI.AuditResultImpl):
3288         (injectedExtensionAPI.ExtensionServerClient):
3289
3290 2012-02-21  Pavel Podivilov  <podivilov@chromium.org>
3291
3292         Web Inspector: get rid of RawSourceCode.sourceMapping getter.
3293         https://bugs.webkit.org/show_bug.cgi?id=79461
3294
3295         Reviewed by Yury Semikhatsky.
3296
3297         * inspector/front-end/BreakpointManager.js:
3298         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
3299         (WebInspector.BreakpointManager.prototype.setBreakpoint):
3300         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
3301         (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
3302         * inspector/front-end/ConsoleMessage.js:
3303         (WebInspector.ConsoleMessageImpl.prototype.get location):
3304         * inspector/front-end/DebuggerPresentationModel.js:
3305         (WebInspector.DebuggerPresentationModel.prototype.rawLocationToUILocation):
3306         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
3307         (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
3308         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
3309         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
3310         (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
3311         (WebInspector.DebuggerPresentationModel.prototype._restoreExecutionLine):
3312         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
3313         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
3314         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
3315         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
3316         (WebInspector.PresentationCallFrame.prototype.uiLocation):
3317         (WebInspector.DebuggerPresentationModel.CallFramePlacard):
3318         (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard):
3319         (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update):
3320         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
3321         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
3322         (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
3323         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode):
3324         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
3325         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
3326         * inspector/front-end/RawSourceCode.js:
3327         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
3328         (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
3329         (WebInspector.RawSourceCode.prototype.uiSourceCodeList):
3330         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
3331         * inspector/front-end/ScriptsPanel.js:
3332         (WebInspector.ScriptsPanel.prototype._updateCallFrame):
3333         * inspector/front-end/ScriptsSearchScope.js:
3334         (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
3335
3336 2012-02-27  Mihnea Ovidenie  <mihnea@adobe.com>
3337
3338         [CSSRegions]Implement NamedFlow::getRegionsByContentNode
3339         https://bugs.webkit.org/show_bug.cgi?id=77746
3340
3341         Reviewed by David Hyatt.
3342
3343         Tests: fast/regions/get-regions-by-content-node-horiz-bt.html
3344                fast/regions/get-regions-by-content-node-horiz-tb.html
3345                fast/regions/get-regions-by-content-node-vert-lr.html
3346                fast/regions/get-regions-by-content-node-vert-rl.html
3347                fast/regions/get-regions-by-content-node.html
3348                fast/regions/get-regions-by-content-node2.html
3349
3350         * CMakeLists.txt:
3351         * GNUmakefile.list.am:
3352         * Target.pri:
3353         * WebCore.gypi:
3354         * WebCore.vcproj/WebCore.vcproj:
3355         * WebCore.xcodeproj/project.pbxproj:
3356         * dom/Node.cpp:
3357         (WebCore::Node::removeCachedRegionNodeList):
3358         (WebCore):
3359         (WebCore::Node::getRegionsByContentNode):
3360         (WebCore::NodeListsNodeData::invalidateCaches):
3361         (WebCore::NodeListsNodeData::isEmpty):
3362         * dom/Node.h:
3363         (WebCore):
3364         (Node):
3365         * dom/NodeRareData.h:
3366         (NodeListsNodeData):
3367         * dom/RegionNodeList.cpp:
3368         (WebCore):
3369         (WebCore::RegionNodeList::RegionNodeList):
3370         (WebCore::RegionNodeList::~RegionNodeList):
3371         (WebCore::RegionNodeList::nodeMatches):
3372         * dom/RegionNodeList.h:
3373         (WebCore):
3374         (RegionNodeList):
3375         (WebCore::RegionNodeList::create):
3376         * dom/WebKitNamedFlow.cpp:
3377         (WebCore::WebKitNamedFlow::getRegionsByContentNode):
3378         (WebCore):
3379         * dom/WebKitNamedFlow.h:
3380         (WebCore):
3381         (WebKitNamedFlow):
3382         * dom/WebKitNamedFlow.idl:
3383         * rendering/RenderFlowThread.cpp:
3384         (WebCore::RenderFlowThread::regionInRange):
3385         (WebCore):
3386         (WebCore::RenderFlowThread::objectInFlowRegion):
3387         * rendering/RenderFlowThread.h:
3388         * rendering/RenderRegion.h:
3389         (WebCore::RenderRegion::flowThread):
3390
3391 2012-02-27  Yury Semikhatsky  <yurys@chromium.org>
3392
3393         Web Inspector: counter graphs should resize after console showing
3394         https://bugs.webkit.org/show_bug.cgi?id=79640
3395
3396         Invoke Panel.doResize after showing drawer.
3397
3398         Reviewed by Pavel Feldman.
3399
3400         * inspector/front-end/Drawer.js:
3401         (WebInspector.Drawer.prototype.show.animationFinished):
3402         (WebInspector.Drawer.prototype.show):
3403
3404 2012-02-27  Dan Beam  <dbeam@chromium.org>
3405
3406         Web Inspector: Close TabbedPanes on middle click of tab handle
3407         https://bugs.webkit.org/show_bug.cgi?id=79518
3408
3409         Reviewed by Pavel Feldman.
3410
3411         * inspector/front-end/TabbedPane.js:
3412         (WebInspector.TabbedPaneTab.prototype._createTabElement):
3413         (WebInspector.TabbedPaneTab.prototype._tabClicked):
3414
3415 2012-02-26  Yury Semikhatsky  <yurys@chromium.org>
3416
3417         Web Inspector: crash in fake workers
3418         https://bugs.webkit.org/show_bug.cgi?id=79637
3419
3420         Notify front-end about worker creation/destruction synchronously instead of
3421         posting a task.
3422
3423         Reviewed by Pavel Feldman.
3424
3425         * inspector/InspectorAgent.cpp:
3426         (WebCore):
3427         (WebCore::InspectorAgent::didCreateWorker):
3428         (WebCore::InspectorAgent::didDestroyWorker):
3429         * inspector/InspectorAgent.h:
3430         (InspectorAgent):
3431
3432 2012-02-26  Adam Barth  <abarth@webkit.org>
3433
3434         Unreviewed.
3435
3436         Fix some warnings in the build from referencing the non-existent
3437         websockets directory.
3438
3439         * WebCore.gyp/WebCore.gyp:
3440
3441 2012-02-26  Shinya Kawanaka  <shinyak@chromium.org>
3442
3443         Rename ShadowRootList to ShadowTree.
3444         https://bugs.webkit.org/show_bug.cgi?id=79342
3445
3446         Reviewed by Hajime Morita.
3447
3448         This patch renames ShadowRootList ot ShadowTree.
3449
3450         No new tests, no change in behavior.
3451
3452         * CMakeLists.txt:
3453         * GNUmakefile.list.am:
3454         * Target.pri:
3455         * WebCore.exp.in:
3456         * WebCore.gypi:
3457         * WebCore.xcodeproj/project.pbxproj:
3458         * dom/DOMAllInOne.cpp:
3459         * dom/Document.cpp:
3460         (WebCore::Document::buildAccessKeyMap):
3461         * dom/Element.cpp:
3462         (WebCore::Element::willRemove):
3463         (WebCore::Element::insertedIntoDocument):
3464         (WebCore::Element::removedFromDocument):
3465         (WebCore::Element::insertedIntoTree):
3466         (WebCore::Element::removedFromTree):
3467         (WebCore::Element::attach):
3468         (WebCore::Element::detach):
3469         (WebCore::Element::recalcStyle):
3470         (WebCore::Element::hasShadowRoot):
3471         (WebCore::Element::shadowTree):
3472         (WebCore::Element::setShadowRoot):
3473         (WebCore::Element::ensureShadowRoot):
3474         (WebCore::Element::removeShadowRoot):
3475         (WebCore::Element::childrenChanged):
3476         * dom/Element.h:
3477         (WebCore):
3478         (Element):
3479         * dom/ElementRareData.h:
3480         (ElementRareData):
3481         (WebCore::ElementRareData::~ElementRareData):
3482         * dom/Node.cpp:
3483         (WebCore::oldestShadowRoot):
3484         * dom/NodeRenderingContext.cpp:
3485         (WebCore::NodeRenderingContext::NodeRenderingContext):
3486         (WebCore::NodeRenderingContext::hostChildrenChanged):
3487         (WebCor