[Chromium] Web Inspector: remove "Document DOM tree" class and "Detached DOM tree...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-01-17  Ilya Tikhonovsky  <loislo@chromium.org>
2
3         [Chromium] Web Inspector: remove "Document DOM tree" class and "Detached DOM tree" from the Summary view.
4         https://bugs.webkit.org/show_bug.cgi?id=76450
5
6         Reviewed by Yury Semikhatsky.
7
8         * inspector/front-end/HeapSnapshot.js:
9         (WebInspector.HeapSnapshot.prototype._buildAggregates):
10
11 2012-01-17  Nikolas Zimmermann  <nzimmermann@rim.com>
12
13         Large SVG text layout performance regression in r81168
14         https://bugs.webkit.org/show_bug.cgi?id=65711
15
16         Reviewed by Zoltan Herczeg.
17
18         Final patch fixing the performance regression from r81168 plus giving us more performance we ever had.
19         The testcase attached to bug 65711 creates 200 tspans as <text> children, and modifies just the first <tspan>s
20         content periodically using a timer. It ran with <3 FPS in release builds before, and now at around 60 FPS,
21         where the most dominant code path remaining is CG painting text. Still theres room to optimize further, as
22         Intruments shows.
23
24         Historically we rebuilt all SVGTextLayoutAttributes stored in the RenderSVGInlineText, whenever any
25         children of the <text> subtree changed, in any way. This lead to a recomputation of the x/y/dx/dy/rotate
26         value lists, for the whole tree, a recreation of the line box tree and finally a measurement of all characters
27         in the subtree.
28
29         This patch, and its previous patches preparing this, introduces progressive relayout for the SVG text subtree.
30         DOM tree mutations, x/y/dx/dy/rotate value lists changes, and measuring-all-characters are now strictly decoupled.
31
32         #1) x/y/dx/dy/rotate list changes:
33         The x/y/dx/dy/rotate lists are only ever rebuilt, if they change or upon the initial RenderSVGText layout.
34         This information is now cached in the so-called SVGCharacterDataMap, in each of the SVGTextLayoutAttributes,
35         associated with a specific RenderSVGInlineText.
36
37         #2) DOM tree mutations:
38         If a new RenderSVGInlineText gets added to the tree, we have to create SVGTextLayoutAttributes for the new
39         renderer, measure its characters, and cache the information in the attributes. Adding a new renderer to
40         a SVG <text> subtree can affect the positioning of the previous and next sibling in the tree, due the
41         whitespace merging logic. Example:
42
43         <text y="50" x="50 100 150">A<tspan></tspan> C</text>:
44         RenderSVGText {text} at (50,36) size 111x18 contains 1 chunk(s)
45           RenderSVGInlineText {#text} at (0,0) size 12x18
46             chunk 1 text run 1 at (50.00,50.00) startOffset 0 endOffset 1 width 12.00: "A"
47           RenderSVGTSpan {tspan} at (0,0) size 0x0
48           RenderSVGInlineText {#text} at (50,0) size 61x18
49             chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
50             chunk 1 text run 1 at (150.00,50.00) startOffset 0 endOffset 1 width 11.00: "C"
51
52         <text y="50" x="50 100 150">A<tspan>B</tspan> C</text>:
53         RenderSVGText {text} at (50,36) size 115x18 contains 1 chunk(s)
54           RenderSVGInlineText {#text} at (0,0) size 12x18
55             chunk 1 text run 1 at (50.00,50.00) startOffset 0 endOffset 1 width 12.00: "A"
56           RenderSVGTSpan {tspan} at (0,0) size 11x18
57             RenderSVGInlineText {#text} at (50,0) size 11x18
58               chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 1 width 11.00: "B"
59           RenderSVGInlineText {#text} at (100,0) size 15x18
60             chunk 1 text run 1 at (150.00,50.00) startOffset 0 endOffset 2 width 15.00: " C"
61
62         Its obvious that adding a #text node as child to the <tspan> potentially affects the next & previous
63         siblings in the DOM tree. Take extra care of these possibilities, by properly remeasuring not only
64         the newly added renderer, but also the previous & next siblings layout attributes.
65
66         Mutation of text nodes, or removal of text/tspan elements from the tree is handled in the same way.
67
68         #3) Measuring the text subtree:
69         Don't cache the metrics information in the SVGRootInlineBox, as it doesn't survive relayouts (RenderSVGText::layout).
70         They're stored in the SVGTextLayoutAttributes, and will be updated if the underlying text content changes.
71
72         Tests: svg/text/append-text-node-to-tspan.html
73                svg/text/modify-text-node-in-tspan.html
74                svg/text/remove-text-node-from-tspan.html
75
76         * rendering/svg/RenderSVGInline.cpp:
77         (WebCore::RenderSVGInline::addChild):
78         * rendering/svg/RenderSVGInline.h:
79         * rendering/svg/RenderSVGInlineText.cpp:
80         (WebCore::RenderSVGInlineText::willBeDestroyed):
81         (WebCore::RenderSVGInlineText::setTextInternal):
82         (WebCore::RenderSVGInlineText::styleDidChange):
83         * rendering/svg/RenderSVGInlineText.h:
84         (WebCore::RenderSVGInlineText::layoutAttributes):
85         * rendering/svg/RenderSVGText.cpp:
86         (WebCore::recursiveUpdateLayoutAttributes):
87         (WebCore::RenderSVGText::layoutAttributesChanged):
88         (WebCore::findPreviousAndNextAttributes):
89         (WebCore::RenderSVGText::layoutAttributesWillBeDestroyed):
90         (WebCore::RenderSVGText::textDOMChanged):
91         (WebCore::RenderSVGText::layout):
92         (WebCore::RenderSVGText::addChild):
93         (WebCore::recursiveCollectLayoutAttributes):
94         (WebCore::RenderSVGText::rebuildLayoutAttributes):
95         * rendering/svg/RenderSVGText.h:
96         (WebCore::RenderSVGText::layoutAttributes):
97         * rendering/svg/SVGRootInlineBox.cpp:
98         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
99         (WebCore::findFirstAndLastAttributesInVector):
100         (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
101         (WebCore::SVGRootInlineBox::reorderValueLists):
102         * rendering/svg/SVGRootInlineBox.h:
103         * rendering/svg/SVGTextLayoutAttributes.h:
104         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
105         (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForWholeTree):
106         * rendering/svg/SVGTextLayoutEngine.cpp:
107         (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
108         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
109         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
110         (WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics):
111         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
112         * rendering/svg/SVGTextLayoutEngine.h:
113         (WebCore::SVGTextLayoutEngine::layoutAttributes):
114         * rendering/svg/SVGTextMetrics.h:
115         * rendering/svg/SVGTextMetricsBuilder.cpp:
116         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
117         * rendering/svg/SVGTextQuery.cpp:
118         (WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
119         * svg/SVGTextContentElement.cpp:
120         (WebCore::SVGTextContentElement::childrenChanged):
121
122 2012-01-11  Alexander Pavlov  <apavlov@chromium.org>
123
124         Web Inspector: [TextPrompt] Autocomplete adds unwanted text that's hard to remove
125         https://bugs.webkit.org/show_bug.cgi?id=76058
126
127         Reviewed by Pavel Feldman.
128
129         As per the results of a war room:
130         - Auto-suggest only after user typing (avoid showing suggestions when navigating through the user input.)
131         - Do not select the first item if the suggest box is shown at the end of prompt (to allow Enter to commit the input.)
132         - Only show grayed autocompletion at the end of prompt (otherwise show a suggest box with the first item selected.)
133         - Grayed autocompletion can only be accepted with the End or Right keys.
134         - Enter can accept a selected suggestion item from the list, without committing the input.
135         - Retain the CSS model editing behavior as close to the existing one as possible.
136         - Enable PageUp/PageDown to navigate the suggest box items.
137
138         * inspector/front-end/StylesSidebarPane.js:
139         (WebInspector.StylePropertyTreeElement.prototype):
140         ():
141         * inspector/front-end/TextPrompt.js:
142         (WebInspector.TextPrompt.prototype.set text):
143         (WebInspector.TextPrompt.prototype._removeSuggestionAids):
144         (WebInspector.TextPrompt.prototype._selectStart.moveBackIfOutside):
145         (WebInspector.TextPrompt.prototype._selectStart):
146         (WebInspector.TextPrompt.prototype.onKeyDown):
147         (WebInspector.TextPrompt.prototype.acceptAutoComplete):
148         (WebInspector.TextPrompt.prototype.complete):
149         (WebInspector.TextPrompt.prototype._completionsReady):
150         (WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
151         (WebInspector.TextPrompt.prototype.tabKeyPressed):
152         (WebInspector.TextPrompt.prototype.downKeyPressed):
153         (WebInspector.TextPrompt.prototype.pageUpKeyPressed):
154         (WebInspector.TextPrompt.prototype.pageDownKeyPressed):
155         (WebInspector.TextPrompt.SuggestBox.prototype._onNextItem):
156         (WebInspector.TextPrompt.SuggestBox.prototype._onPreviousItem):
157         (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
158         (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
159         (WebInspector.TextPrompt.SuggestBox.prototype._canShowBox):
160         (WebInspector.TextPrompt.SuggestBox.prototype._rememberRowCountPerViewport):
161         (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
162         (WebInspector.TextPrompt.SuggestBox.prototype.pageUpKeyPressed):
163         (WebInspector.TextPrompt.SuggestBox.prototype.pageDownKeyPressed):
164         (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
165
166 2012-01-17  Alexander Pavlov  <apavlov@chromium.org>
167
168         Web Inspector: CSS backend doesn't conform to Inspector.json
169         https://bugs.webkit.org/show_bug.cgi?id=76402
170
171         Reviewed by Yury Semikhatsky.
172
173         * inspector/Inspector.json:
174         * inspector/InspectorStyleSheet.cpp:
175         (WebCore::InspectorStyleSheet::buildObjectForStyle):
176
177 2012-01-17  Tommy Widenflycht  <tommyw@google.com>
178
179         MediaStream API: Add the mediaStream constructor
180         https://bugs.webkit.org/show_bug.cgi?id=76436
181
182         Adding support for creating a MediaStream using a collection of MediaStreamTracks.
183
184         Reviewed by Adam Barth.
185
186         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
187
188         * mediastream/MediaStream.cpp:
189         (WebCore::MediaStream::create):
190         * mediastream/MediaStream.h:
191         * mediastream/MediaStream.idl:
192         * mediastream/MediaStreamTrack.cpp:
193         (WebCore::MediaStreamTrack::component):
194         * mediastream/MediaStreamTrack.h:
195         * platform/mediastream/MediaStreamCenter.cpp:
196         (WebCore::MediaStreamCenter::didConstructMediaStream):
197         * platform/mediastream/MediaStreamCenter.h:
198
199 2012-01-17  Joshua Bell  <jsbell@chromium.org>
200
201         IndexedDB: IDBIndex.get/getKey should yield undefined, not an error
202         https://bugs.webkit.org/show_bug.cgi?id=76116
203
204         Pass an undefined value (for IDBIndex.get()) or a null key
205         (for IDBIndex.getKey()) back as the result, rather than raising
206         an exception.
207
208         Reviewed by Adam Barth.
209
210         Tests: storage/indexeddb/index-basics.html
211                storage/indexeddb/cursor-index-delete.html
212                storage/indexeddb/duplicates.html
213
214         * storage/IDBIndexBackendImpl.cpp:
215         (WebCore::IDBIndexBackendImpl::getInternal):
216         * storage/IDBRequest.cpp:
217         (WebCore::IDBRequest::onSuccess):
218
219 2012-01-17  Luke Macpherson   <macpherson@chromium.org>
220
221         Remove references to CSSPrimitiveValue::primitiveType().
222         https://bugs.webkit.org/show_bug.cgi?id=76363
223
224         Reviewed by Hajime Morita.
225
226         No new tests / refactoring only.
227
228         Goal is to remove primitiveType() completely. Only code left using it after this patch is in SVG.
229         I've introduced some abstractions in CSSPrimitiveValue for time and angles to reduce duplicated code elsewhere.
230
231         * css/CSSComputedStyleDeclaration.cpp:
232         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
233         * css/CSSParser.cpp:
234         (WebCore::CSSParser::parseColor):
235         * css/CSSPrimitiveValue.cpp:
236         (WebCore::CSSPrimitiveValue::computeDegrees):
237         * css/CSSPrimitiveValue.h:
238         (WebCore::CSSPrimitiveValue::isAngle):
239         (WebCore::CSSPrimitiveValue::isAttr):
240         (WebCore::CSSPrimitiveValue::isCounter):
241         (WebCore::CSSPrimitiveValue::isFontIndependentLength):
242         (WebCore::CSSPrimitiveValue::isLength):
243         (WebCore::CSSPrimitiveValue::isPx):
244         (WebCore::CSSPrimitiveValue::isRect):
245         (WebCore::CSSPrimitiveValue::isRGBColor):
246         (WebCore::CSSPrimitiveValue::isShape):
247         (WebCore::CSSPrimitiveValue::isTime):
248         (WebCore::CSSPrimitiveValue::computeTime):
249         * css/CSSStyleSelector.cpp:
250         (WebCore::convertToLength):
251         (WebCore::createGridTrackBreadth):
252         (WebCore::CSSStyleSelector::applyProperty):
253         (WebCore::CSSStyleSelector::mapFillSize):
254         (WebCore::CSSStyleSelector::mapFillXPosition):
255         (WebCore::CSSStyleSelector::mapFillYPosition):
256         (WebCore::CSSStyleSelector::mapAnimationDelay):
257         (WebCore::CSSStyleSelector::mapAnimationDuration):
258         (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
259         (WebCore::CSSStyleSelector::mapNinePieceImageQuad):
260         (WebCore::CSSStyleSelector::colorFromPrimitiveValue):
261         (WebCore::CSSStyleSelector::createTransformOperations):
262         (WebCore::CSSStyleSelector::createCustomFilterOperation):
263         (WebCore::CSSStyleSelector::createFilterOperations):
264         * css/MediaQueryEvaluator.cpp:
265         (WebCore::parseAspectRatio):
266         (WebCore::numberValue):
267         (WebCore::computeLength):
268         * editing/EditingStyle.cpp:
269         (WebCore::cssValueToRGBA):
270         (WebCore::EditingStyle::extractFontSizeDelta):
271         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
272         (WebCore::isCSSValueLength):
273         (WebCore::hasTransparentBackgroundColor):
274
275 2012-01-16  Hajime Morrita  <morrita@chromium.org>
276
277         [Internals] member varaibles should follow naming convention.
278         https://bugs.webkit.org/show_bug.cgi?id=76426
279
280         Reviewed by Kent Tamura.
281
282         No new tests. Just a rename.
283
284         * testing/Internals.cpp:
285         (WebCore::Internals::Internals):
286         (WebCore::Internals::setPasswordEchoEnabled):
287         (WebCore::Internals::setPasswordEchoDurationInSeconds):
288         (WebCore::Internals::reset):
289         * testing/Internals.h:
290
291 2012-01-16  Hayato Ito  <hayato@chromium.org>
292
293         Implement multiple AT_TARGET event dispatching in regard to shadow tree.
294         https://bugs.webkit.org/show_bug.cgi?id=76217
295
296         Reviewed by Dimitri Glazkov.
297
298         The original motivation is to fix the regression: Event.eventPhase is not set to 2
299         (at target) when handling dblclick event in <input> element.
300         Since the issue is not specific to <input> element, but general one, this patch fixes
301         the regression by adapting a living draft spec of shadow DOM.
302         This won't break a compatibility if there is no shadow boundaries in event dispatching.
303         See the following shadow dom spec how multiple AT_TARGET events work.
304         http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#event-dispatch
305
306         * dom/EventContext.cpp:
307         (WebCore::EventContext::handleLocalEvents):
308
309 2012-01-16  Jason Liu  <jason.liu@torchmobile.com.cn>
310
311         platformRequest(QNX) need to get the conditional information from ResourceRequest.
312         https://bugs.webkit.org/show_bug.cgi?id=75216
313
314         Reviewed by George Staikos.
315
316         Pass the isConditional() flag in ResourceRequest to the QNX platform's network request.
317         QNX platform's network needs this flag to determine whether to use disk-cache.
318
319         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
320         (ResourceRequest::initializePlatformRequest):
321
322 2012-01-16  Robert Hogan  <robert@webkit.org>
323
324         Heap-use-after-free in WebCore::RenderBlock::selectionGaps
325         https://bugs.webkit.org/show_bug.cgi?id=75013
326
327         Reviewed by David Hyatt.
328
329         Test: fast/table/multiple-captions-crash3.html
330               fast/table/multiple-captions-crash4.html
331               fast/table/multiple-captions-crash5.html
332
333         When a child float is removed, the parent needs to ensure any reference to the
334         child is also removed from the floating objects list in any sibling block that 
335         it intruded into.
336
337         * rendering/RenderBlock.cpp:
338         (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
339         * rendering/RenderBox.cpp:
340         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
341
342 2012-01-16  Enrica Casucci  <enrica@apple.com>
343
344         REGRESSION: r102553 Autocorrection bubble doesn't show up
345         https://bugs.webkit.org/show_bug.cgi?id=76408
346         <rdar://problem/10644746>
347
348         Prior to r102553 Editor::markAllMisspellingsAndBadGrammarInRanges() used to pass its
349         textCheckingOptions directly to markAndReplaceFor(). Now a request object is used,
350         but, when the object is created, the TextCheckingTypeShowCorrectionPanel flag is dropped.
351         
352         Reviewed by Darin Adler.
353
354         * editing/Editor.cpp:
355         (WebCore::Editor::resolveTextCheckingTypeMask): Add TextCheckingTypeShowCorrectionPanel to
356         the returned checkingTypes when appropriate.
357
358 2012-01-16  Jon Lee  <jonlee@apple.com>
359
360         Build fix for r105086.
361
362         * Configurations/FeatureDefines.xcconfig:
363         * notifications/NotificationCenter.idl: change to use ENABLE_TEXT_NOTIFICATIONS_ONLY, which is only defined on Mac platform.
364
365 2012-01-16  Andreas Kling  <awesomekling@apple.com>
366
367         Fix typo in StyledElement::mappedAttributeCount().
368         <http://webkit.org/b/76393>
369
370         Rubber-stamped by Antti Koivisto.
371
372         * dom/StyledElement.h:
373         (WebCore::StyledElement::mappedAttributeCount): Less &&, more ?:
374
375 2012-01-16  Jon Lee  <jonlee@apple.com>
376
377         Build fix for r105086.
378
379         * notifications/NotificationCenter.idl: expand ENABLE macro for .idl.
380
381 2012-01-16  Antti Koivisto  <antti@apple.com>
382
383         Cache CSSStyleSelector::Features in RuleSets
384         https://bugs.webkit.org/show_bug.cgi?id=76337
385
386         Reviewed by Andreas Kling.
387
388         Currently whenever the style selector is updated we go through all the applicable rules and
389         collect the used features again. We should keep the features around as part of the RuleSets
390         and update them incrementally. Collecting the features will then be just a matter of taking
391         the union of all features used by the RuleSets.
392         
393         This is 1-2% CPU time reduction (engadget, nytimes) due less time spent in feature collection.
394         
395         This also simplifies the code by removing the need to cache the default style sheet features
396         separately. 
397
398         * css/CSSStyleSelector.cpp:
399         
400             Remove the global siblingRulesInDefaultStyle and uncommonAttributeRulesInDefaultStyle RuleSets.
401             These are now part of the cached features of the defaultStyle.
402         
403         (WebCore::RuleSet::features):
404         
405             Add a field for caching the features.
406         
407         (WebCore::makeRuleSet):
408         (WebCore::CSSStyleSelector::collectFeatures):
409         
410             Unify the features of all RuleSets.
411             Create RuleSets for sibling and uncommon attribute lookups at the end.
412         
413         (WebCore::CSSStyleSelector::appendAuthorStylesheets):
414         (WebCore::CSSStyleSelector::Features::add):
415         (WebCore::ensureDefaultStyleSheetsForElement):
416         (WebCore::CSSStyleSelector::locateSharedStyle):
417         (WebCore::collectFeaturesFromSelector):
418         (WebCore::collectFeaturesFromRuleData):
419         (WebCore::RuleSet::addToRuleSet):
420         (WebCore::RuleSet::addRule):
421         
422             Collect the features when adding the rules rather than as a separate pass through all the rules.
423         
424         * css/CSSStyleSelector.h:
425         (WebCore::CSSStyleSelector::usesSiblingRules):
426         (WebCore::CSSStyleSelector::RuleSelectorPair::RuleSelectorPair):
427         
428             Use Vector instead of a RuleSet for sibling and uncommon attribute selectors so unifying
429             Features is simpler.
430
431 2012-01-16  Simon Fraser  <simon.fraser@apple.com>
432
433         Huge filter area cause hangs and malloc failures
434         https://bugs.webkit.org/show_bug.cgi?id=75711
435
436         Reviewed by Dean Jackson.
437         
438         Filtering an element with a child that had a huge negative text-indent
439         was extremely slow, because transparencyClipBox() returned a huge rect.
440         
441         Add a method, paintingExtent(), that wraps transparencyClipBox()
442         and intersects it with the paintDirtyRect to constrain the size
443         of the rect used for filters and transparency layers.
444
445         Transparency layer extent is not testable in layout tests.
446
447         * rendering/RenderLayer.cpp:
448         (WebCore::RenderLayer::paintingExtent):
449         (WebCore::RenderLayer::beginTransparencyLayers): Floating point literals are required
450         to avoid ambiguous constructor call.
451         (WebCore::RenderLayer::paintLayer):
452         (WebCore::RenderLayer::paintLayerContents):
453         * rendering/RenderLayer.h:
454
455 2012-01-16  Simon Fraser  <simon.fraser@apple.com>
456
457         Borders and box masks behave incorrectly with overlapping offsets
458         https://bugs.webkit.org/show_bug.cgi?id=76137
459
460         Reviewed by Dean Jackson.
461         
462         There are some correct behaviors for -webkit-mask-box-image where
463         parts of the mask are missing (when the sum of the slice sizes is
464         greater than one dimension of the image). To render correctly
465         in these cases, always use a transparency layer when rendering
466         the mask.
467
468         Test: fast/backgrounds/mask-box-image.html
469
470         * rendering/RenderBox.cpp:
471         (WebCore::RenderBox::paintMaskImages):
472
473 2012-01-16  Simon Fraser  <simon.fraser@apple.com>
474
475         Filtered element with composited content beneath it must be composited
476         https://bugs.webkit.org/show_bug.cgi?id=76322
477
478         Reviewed by Dean Jackson.
479         
480         If a RenderLayer has a filter effect, and a composited descendant, then
481         that layer must also be composited so that the filter is applied via
482         the compositing system, rather than via painting (otherwise the filter
483         will not affect the descendant).
484
485         Test: css3/filters/filtered-compositing-descendant.html
486
487         * rendering/RenderLayerCompositor.cpp:
488         (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):
489
490 2012-01-16  Andreas Kling  <awesomekling@apple.com>
491
492         Fix assertion failure in mappedAttributesEquivalent().
493         <http://webkit.org/b/76393>
494
495         Rubber-stamped by Antti Koivisto.
496
497         The assertion that two mapped attributes with matching name/value will always
498         have the exact same decl() was wrong, so make it a proper check once again.
499
500         * css/CSSStyleSelector.cpp:
501         (WebCore::mappedAttributesEquivalent):
502
503 2012-01-16  Jon Lee  <jonlee@apple.com>
504
505         Remove HTML notifications support on Mac
506         https://bugs.webkit.org/show_bug.cgi?id=76401
507         <rdar://problem/10589881>
508
509         Reviewed by Sam Weinig.
510
511         * notifications/NotificationCenter.idl:
512
513 2012-01-16  xueqing huang  <huangxueqing@baidu.com>
514
515         Add offline web applications API applicationCache.abort.
516         https://bugs.webkit.org/show_bug.cgi?id=76270
517
518         Reviewed by Alexey Proskuryakov.
519
520         Tests:
521         http/tests/appcache/abort-cache-onchecking.html
522         http/tests/appcache/abort-cache-onchecking-manifest-404.html
523         http/tests/appcache/abort-cache-onchecking-resource-404.html
524         http/tests/appcache/abort-cache-ondownloading.html
525         http/tests/appcache/abort-cache-ondownloading-manifest-404.html
526         http/tests/appcache/abort-cache-ondownloading-resource-404.html
527         http/tests/appcache/abort-cache-onprogress.html
528
529         * loader/appcache/ApplicationCacheGroup.cpp:
530         (WebCore::ApplicationCacheGroup::abort):
531         * loader/appcache/ApplicationCacheGroup.h:
532         * loader/appcache/ApplicationCacheHost.cpp:
533         (WebCore::ApplicationCacheHost::abort):
534         * loader/appcache/ApplicationCacheHost.h:
535         * loader/appcache/DOMApplicationCache.cpp:
536         (WebCore::DOMApplicationCache::abort):
537         * loader/appcache/DOMApplicationCache.h:
538         * loader/appcache/DOMApplicationCache.idl:
539
540 2012-01-16  Andreas Kling  <awesomekling@apple.com>
541
542         Remove caching of mapped attribute count on NamedNodeMap.
543         <http://webkit.org/b/76393>
544
545         Reviewed by Antti Koivisto.
546
547         Stop caching the mapped attribute count on Element's attribute map, effectively
548         shrinking NamedNodeMap by one CPU word. The price we pay is always walking over
549         the map in matchAllRules(), even if it has no mapped attribute styles.
550
551         This reduces memory consumption by 605 kB (on 64-bit) when viewing the full
552         HTML5 spec at <http://whatwg.org/c>
553
554         * css/CSSStyleSelector.cpp:
555         (WebCore::mappedAttributesEquivalent):
556
557             Moved here from NamedNodeMap::mappedMapsEquivalent() to accomodate the only
558             user under the added assumption that the two attribute maps have the same
559             number of mapped attributes.
560
561         (WebCore::CSSStyleSelector::matchAllRules):
562
563             We don't have NamedNodeMap::hasMappedAttributes() at our convenience any
564             more so walk the attribute map (if there is one) looking for styles to add.
565
566         (WebCore::CSSStyleSelector::canShareStyleWithElement):
567
568             Compare the elements' mapped attribute counts at an earlier time. This is
569             slightly more expensive but we used to do it near the end anyway and this
570             ends up rejecting elements that can't share style before doing a lot of
571             semi-expensive checks.
572
573         * dom/StyledElement.h:
574         (WebCore::StyledElement::mappedAttributeCount):
575         * dom/NamedNodeMap.h:
576         (WebCore::NamedNodeMap::mappedAttributeCount):
577         * dom/NamedNodeMap.cpp:
578         (WebCore::NamedNodeMap::clearAttributes):
579
580             Remove NamedNodeMap::m_mappedAttributeCount and add a function that walks
581             the attribute map counting the attributes that have a decl().
582
583         * dom/NamedNodeMap.h:
584         * dom/StyledElement.cpp:
585         (WebCore::StyledElement::attributeChanged):
586
587             Remove declAdded()/declRemoved() callbacks.
588
589 2012-01-16  Jer Noble  <jer.noble@apple.com>
590
591         Unreviewed build fix.
592
593         Added necessary header files to VectorMath.cpp to fix Chromium compile error.
594
595         * platform/audio/VectorMath.cpp:
596
597 2011-12-12  Jer Noble  <jer.noble@apple.com>
598
599         WebAudio: Optimize AudioChannel::maxAbsValue().
600         https://bugs.webkit.org/show_bug.cgi?id=74359
601
602         Reviewed by Eric Carlson.
603
604         No new tests; optimization of existing code, so covered by existing test cases.
605
606         * platform/audio/AudioChannel.cpp:
607         (WebCore::AudioChannel::maxAbsValue): Replace implementation with optimized vector math 
608             operation.
609         * platform/audio/VectorMath.cpp:
610         (WebCore::VectorMath::vmaxmgv): Vector math operation for determining maximum
611             magnitude in a vector.
612         * platform/audio/VectorMath.h:
613
614 2012-01-16  Joe Thomas  <joethomas@motorola.com>
615
616         https://bugs.webkit.org/show_bug.cgi?id=41210
617         Cross Origin XMLHttpRequest can not expose headers indicated in Access-Control-Expose-Headers HTTP Response Header
618
619         Parsing the "Access-Control-Expose-Headers" in the XMLHTTPRequest response header.
620         If the custom response-header is part of Access-Control-Expose-Headers, then consider that custom response-header as a valid one.
621
622         Reviewed by Alexey Proskuryakov.
623
624         Test: http/tests/xmlhttprequest/access-control-response-with-expose-headers.html
625
626         * loader/CrossOriginAccessControl.cpp:
627         (WebCore::parseAccessControlExposeHeadersAllowList):  parsing logic of Access-Control-Expose-Headers
628         * loader/CrossOriginAccessControl.h:
629         * xml/XMLHttpRequest.cpp:
630         (WebCore::XMLHttpRequest::getAllResponseHeaders): checking whether the custom response-header is part of "Access-Control-Expose-Headers"
631         (WebCore::XMLHttpRequest::getResponseHeader):  checking whether the custom response-header is part of "Access-Control-Expose-Headers"
632
633 2012-01-16  Pavel Feldman  <pfeldman@google.com>
634
635         Web Inspector: timeline record bars may overlap with the records column
636         https://bugs.webkit.org/show_bug.cgi?id=76387
637
638         Reviewed by Yury Semikhatsky.
639
640         * inspector/front-end/timelinePanel.css:
641         (#timeline-container .split-view-sidebar-left):
642
643 2012-01-13  Alexander Pavlov  <apavlov@chromium.org>
644
645         Web Inspector: styles sidebar rendering is broken
646         https://bugs.webkit.org/show_bug.cgi?id=76065
647
648         Reviewed by Pavel Feldman.
649
650         * inspector/front-end/StylesSidebarPane.js:
651         (WebInspector.StylePropertiesSection):
652         * inspector/front-end/elementsPanel.css:
653         (.styles-section .header .subtitle):
654         (.styles-section .properties):
655
656 2012-01-16  Csaba Osztrogonác  <ossy@webkit.org>
657
658         [Qt] Inremental build problem revealed by https://bugs.webkit.org/show_bug.cgi?id=74455
659
660         Reviewed by Tor Arne Vestbø.
661
662         * DerivedSources.pri: supplemental_dependency.tmp must depends on idl files too.
663
664 2012-01-16  Pavel Feldman  <pfeldman@google.com>
665
666         Web Inspector: do not merge iframes into a single DOM hierarchy.
667         https://bugs.webkit.org/show_bug.cgi?id=76383
668
669         Reviewed by Timothy Hatcher.
670
671         * inspector/DOMEditor.h:
672         * inspector/Inspector.json:
673         * inspector/InspectorDOMAgent.cpp:
674         (WebCore::InspectorDOMAgent::unbind):
675         (WebCore::InspectorDOMAgent::buildObjectForNode):
676         (WebCore::InspectorDOMAgent::innerFirstChild):
677         (WebCore::InspectorDOMAgent::innerParentNode):
678         * inspector/front-end/CSSStyleModel.js:
679         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
680         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
681         (WebInspector.CSSStyleModel.prototype.addRule.callback):
682         (WebInspector.CSSStyleModel.prototype.addRule):
683         (WebInspector.CSSStyleModel.prototype._ownerDocumentId):
684         * inspector/front-end/DOMAgent.js:
685         (WebInspector.DOMNode):
686         (WebInspector.DOMNode.prototype.getChildNodes):
687         (WebInspector.DOMNode.prototype._insertChild):
688         (WebInspector.DOMNode.prototype._setChildrenPayload):
689         (WebInspector.DOMDocument):
690         (WebInspector.DOMAgent.prototype._setDetachedRoot):
691         * inspector/front-end/ElementsTreeOutline.js:
692
693 2012-01-16  Vsevolod Vlasov  <vsevik@chromium.org>
694
695         Web Inspector: setCurrentFocusElement should not update selection when focus is moved to text field or text area.
696         https://bugs.webkit.org/show_bug.cgi?id=76384
697
698         Reviewed by Timothy Hatcher.
699
700         * inspector/front-end/JavaScriptOutlineDialog.js:
701         (WebInspector.JavaScriptOutlineDialog):
702         * inspector/front-end/UIUtils.js:
703         (WebInspector._isTextEditingElement):
704         (WebInspector.setCurrentFocusElement):
705
706 2012-01-16  Nikolas Zimmermann  <nzimmermann@rim.com>
707
708         Large SVG text layout performance regression in r81168
709         https://bugs.webkit.org/show_bug.cgi?id=65711
710
711         Reviewed by Zoltan Herczeg.
712
713         Enable simple code path in SVGTextMetricsBuilder, allowing fast-measurement of simple text.
714         This affects the geometry of several <text> elements, thus several tests need rebaselining.
715
716         * rendering/svg/SVGTextMetricsBuilder.cpp:
717         (WebCore::SVGTextMetricsBuilder::advance):
718         (WebCore::SVGTextMetricsBuilder::advanceComplexText):
719
720 2012-01-16  Peter Rybin  <peter.rybin@gmail.com>
721
722         Web Inspector: CodeGeneratorInspector.py: generate array types.
723         https://bugs.webkit.org/show_bug.cgi?id=75284
724
725         Reviewed by Yury Semikhatsky.
726
727         New classes are generated for ecah array type instance. Some includes
728         and ifdefs are fixed.
729
730         * inspector/CodeGeneratorInspector.py:
731         (ArrayBinding):
732         (ArrayBinding.get_code_generator):
733         (ArrayBinding.get_code_generator.CodeGenerator):
734         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
735         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext):
736         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
737         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
738         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
739         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
740         (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
741         (ArrayBinding.get_code_generator.CodeGenerator.register_use):
742         (ArrayBinding.get_in_c_type_text):
743         (ArrayBinding.get_setter_value_expression_pattern):
744         (ArrayBinding.reduce_to_raw_type):
745         (RawTypeBinding):
746         (RawTypeBinding.__init__):
747         (RawTypeBinding.get_code_generator):
748         (RawTypeBinding.get_in_c_type_text):
749         (RawTypeBinding.get_setter_value_expression_pattern):
750         (RawTypeBinding.reduce_to_raw_type):
751         (TypeData.__init__):
752         (TypeData.get_binding):
753         * inspector/ConsoleMessage.cpp:
754         * inspector/InspectorValues.h:
755
756 2012-01-15  Pavel Feldman  <pfeldman@chromium.org>
757
758         Web Inspector: editing body multiplies head
759         https://bugs.webkit.org/show_bug.cgi?id=62272
760
761         Reviewed by Yury Semikhatsky.
762
763         Test: inspector/elements/set-outer-html-body.html
764
765         * inspector/DOMEditor.cpp:
766         (WebCore::DOMEditor::patchDocument):
767         (WebCore::DOMEditor::patchNode):
768         (WebCore::DOMEditor::innerPatchChildren):
769         (WebCore::DOMEditor::insertBefore):
770         * inspector/DOMEditor.h:
771         * inspector/InspectorDOMAgent.cpp:
772         (WebCore::InspectorDOMAgent::setOuterHTML):
773
774 2012-01-16  Nikolas Zimmermann  <nzimmermann@rim.com>
775
776         Large SVG text layout performance regression in r81168
777         https://bugs.webkit.org/show_bug.cgi?id=65711
778
779         Reviewed by Zoltan Herczeg.
780
781         Change the way we store x/y/dx/dy/rotate values for a <text> element and its ancestors.
782
783         SVGTextLayoutAttributesBuilder used to hold a Vector<float> for x/y/dx/dy/rotate, each as big
784         as the whole text subtree length. For each character, that has an absolute position, or rotation
785         the value was stored in this list. For all other characters a special empty value marker was stored.
786
787         This is highly inefficient, and is now replaced with a HashMap<unsigned, SVGCharacterData> where
788         SVGCharacterData is a struct, holding float x/y/dx/dy/rotate. The code is now optimized for the
789         common case, where only a few characters actually specify such values, eg:
790         <text x="50" y="90">looooong text<tspan x="50" y="30">abc</tspan></text>.
791
792         NOTE: There are still some inefficiencies in this patch (especially the copying of SVGTextLayoutAttributes).
793         To keep the patch size smaller, I decided to fix this in another patch, and only fix the memory issue with this patch.
794
795         This reduces the memory consumption from 35MB to 10MB on the attached testcase in bug 65711.
796
797         Doesn't affect any test, yet. A follow-up commit will enable the usage of the simple code path, using WidthIterator,
798         in SVGTextMetricsBuilder, which will result in several layout test changes, because of geometry changes.
799
800         * rendering/svg/RenderSVGInlineText.cpp:
801         (WebCore::RenderSVGInlineText::RenderSVGInlineText):
802         (WebCore::RenderSVGInlineText::characterStartsNewTextChunk):
803         * rendering/svg/RenderSVGInlineText.h:
804         (WebCore::RenderSVGInlineText::layoutAttributes):
805         * rendering/svg/RenderSVGText.cpp:
806         (WebCore::RenderSVGText::layout):
807         (WebCore::recursiveCollectLayoutAttributes):
808         (WebCore::RenderSVGText::rebuildLayoutAttributes):
809         * rendering/svg/RenderSVGText.h:
810         * rendering/svg/SVGRootInlineBox.cpp:
811         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
812         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
813         (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
814         (WebCore::swapItemsInLayoutAttributes):
815         (WebCore::findFirstAndLastAttributesInVector):
816         (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
817         * rendering/svg/SVGTextLayoutAttributes.cpp:
818         (WebCore::SVGTextLayoutAttributes::clear):
819         (WebCore::dumpSVGCharacterDataMapValue):
820         (WebCore::SVGTextLayoutAttributes::dump):
821         * rendering/svg/SVGTextLayoutAttributes.h:
822         (WebCore::SVGTextLayoutAttributes::characterDataMap):
823         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
824         (WebCore::SVGTextLayoutAttributesBuilder::SVGTextLayoutAttributesBuilder):
825         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
826         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForWholeTree):
827         (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForTextRenderer):
828         (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForWholeTree):
829         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesIfNeeded):
830         (WebCore::processRenderSVGInlineText):
831         (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
832         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributes):
833         (WebCore::updateCharacterData):
834         (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap):
835         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
836         (WebCore::SVGTextLayoutAttributesBuilder::clearTextPositioningElements):
837         * rendering/svg/SVGTextLayoutEngine.cpp:
838         (WebCore::SVGTextLayoutEngine::updateRelativePositionAdjustmentsIfNeeded):
839         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
840         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
841         * rendering/svg/SVGTextLayoutEngine.h:
842         (WebCore::SVGTextLayoutEngine::layoutAttributes):
843         * rendering/svg/SVGTextMetricsBuilder.cpp:
844         (WebCore::SVGTextMetricsBuilder::advance):
845         (WebCore::SVGTextMetricsBuilder::advanceComplexText):
846         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
847         * rendering/svg/SVGTextQuery.cpp:
848         (WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
849
850 2012-01-15  Andreas Kling  <awesomekling@apple.com>
851
852         CSSCanvasValue can't be renamed, enforce this at compile-time.
853         <http://webkit.org/b/76352>
854
855         Reviewed by Antti Koivisto.
856
857         Have the CSSCanvasValue constructor take the name as an argument instead of
858         having a setName() that's only called from one place in CSSParser.
859
860         * css/CSSCanvasValue.h:
861         (WebCore::CSSCanvasValue::create):
862         (WebCore::CSSCanvasValue::CSSCanvasValue):
863         * css/CSSParser.cpp:
864         (WebCore::CSSParser::parseCanvas):
865
866 2012-01-16  Andreas Kling  <awesomekling@apple.com>
867
868         CSSStyleSelector: Dodge parser when creating default LTR/RTL declarations.
869         <http://webkit.org/b/76374>
870
871         Reviewed by Antti Koivisto.
872
873         Pass CSSValueLtr/CSSValueRtl directly to setProperty() instead of parsing "ltr"/"rtl".
874
875         * css/CSSStyleSelector.cpp:
876         (WebCore::leftToRightDeclaration):
877         (WebCore::rightToLeftDeclaration):
878
879 2012-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
880
881         Unreviewed. Fix make distcheck.
882
883         * GNUmakefile.list.am: Add missing files.
884
885 2012-01-16  Roland Steiner  <rolandsteiner@chromium.org>
886
887         CSSStyleSelector constructor and appendAuthorStylesheets() contain duplicated code
888         https://bugs.webkit.org/show_bug.cgi?id=76043
889
890         Re-use appendAuthorStylesheets() from within CSSStyleSelector constructor.
891
892         Reviewed by Antti Koivisto.
893
894         No new tests. (refactoring)
895
896         * css/CSSStyleSelector.cpp:
897         (WebCore::CSSStyleSelector::CSSStyleSelector):
898         * css/StyleSheetList.h:
899         (WebCore::StyleSheetList::vector):
900
901 2012-01-16  Shinya Kawanaka  <shinyak@google.com>
902
903         [crash] Renderer crashes when spell checking a disabled input field.
904         https://bugs.webkit.org/show_bug.cgi?id=75941
905
906         Reviewed by Hajime Morita.
907
908         We confirm the selection is editable before replacing text.
909
910         Tests: ManualTests/editing-disabled-node-replace-crash.html
911
912         * editing/Editor.cpp:
913         (WebCore::Editor::replaceSelectionWithFragment):
914         * editing/ReplaceSelectionCommand.cpp:
915         (WebCore::ReplaceSelectionCommand::doApply):
916
917 2012-01-16  Pablo Flouret  <pablof@motorola.com>
918
919         Fix compilation errors on build-webkit --debug --no-svg --no-svg-fonts --no-svg-dom-objc-bindings on mac.
920         https://bugs.webkit.org/show_bug.cgi?id=75865
921
922         Reviewed by Hajime Morita.
923
924         * WebCore.exp.in:
925         * css/CSSStyleApplyProperty.cpp:
926         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
927         * loader/cache/CachedImage.cpp:
928         (WebCore::CachedImage::setContainerSizeForRenderer):
929         (WebCore::CachedImage::imageSizeForRenderer):
930         * platform/graphics/FontFastPath.cpp:
931         (WebCore::Font::drawGlyphBuffer):
932         * rendering/FilterEffectRenderer.cpp:
933         * svg/SVGElementInstance.idl:
934
935 2012-01-16  Pablo Flouret  <pablof@motorola.com>
936
937         Compilation error on build-webkit --debug --no-request-animation-frame on mac.
938         https://bugs.webkit.org/show_bug.cgi?id=75875
939
940         Reviewed by Hajime Morita.
941
942         * dom/Document.cpp:
943         (WebCore::Document::windowScreenDidChange):
944
945 2012-01-16  Csaba Osztrogonác  <ossy@webkit.org>
946
947         Web Inspector: Fix GoToLineDialog and extract common dialog functionality.
948         https://bugs.webkit.org/show_bug.cgi?id=69341
949
950         Unreviewed trivial buildfix/typo fix after r105043.
951
952         * inspector/front-end/WebKit.qrc:
953
954 2011-10-11  Vsevolod Vlasov  <vsevik@chromium.org>
955
956         Web Inspector: Fix GoToLineDialog and extract common dialog functionality.
957         https://bugs.webkit.org/show_bug.cgi?id=69341
958
959         Fixed dialog: in old implementation dialog never hides if you press mouse button
960         on Go button and release it somewhere else.
961         Dialog functionality extracted to be used for search dialog.
962
963         Reviewed by Pavel Feldman.
964
965         * WebCore.gypi:
966         * WebCore.vcproj/WebCore.vcproj:
967         * inspector/compile-front-end.sh:
968         * inspector/front-end/Dialog.js: Added.
969         (WebInspector.Dialog):
970         (WebInspector.Dialog.show):
971         (WebInspector.Dialog.prototype._hide):
972         (WebInspector.Dialog.prototype._onFocus):
973         (WebInspector.Dialog.prototype._doFocus):
974         (WebInspector.Dialog.prototype._position):
975         (WebInspector.Dialog.prototype._onKeyDown):
976         (WebInspector.Dialog.prototype._onClick):
977         (WebInspector.DialogDelegate):
978         (WebInspector.DialogDelegate.prototype.get defaultFocusedElement):
979         (WebInspector.DialogDelegate.prototype.get okButton):
980         (WebInspector.DialogDelegate.prototype.onAction):
981         * inspector/front-end/GoToLineDialog.js:
982         (WebInspector.GoToLineDialog):
983         (WebInspector.GoToLineDialog._show):
984         (WebInspector.GoToLineDialog.prototype.get defaultFocusedElement):
985         (WebInspector.GoToLineDialog.prototype.get okButton):
986         (WebInspector.GoToLineDialog.prototype.onAction):
987         * inspector/front-end/WebKit.qrc:
988         * inspector/front-end/dialog.css: Renamed from Source/WebCore/inspector/front-end/goToLineDialog.css.
989         (.dialog-glass-pane):
990         (.dialog):
991         (.dialog-contents):
992         (.go-to-line-dialog input):
993         (.go-to-line-dialog button):
994         (.go-to-line-dialog button:active):
995         * inspector/front-end/inspector.html:
996
997 2012-01-16  Jochen Eisinger  <jochen@chromium.org>
998
999         ScriptRunner should also keep references to pending async scripts
1000         https://bugs.webkit.org/show_bug.cgi?id=76350
1001
1002         Reviewed by Adam Barth.
1003
1004         The CachedResourceLoader only keeps a raw pointer to a ScriptElement.
1005         If an async ScriptElement is removed from the document before it is
1006         executed, it might be garbage collected before the script is loaded, so
1007         it's never run.
1008
1009         By making the ScriptRunner keep an explicit reference to the
1010         ScriptElement while it's loading (as is done for sync ScriptElements),
1011         we can guarantee that the ScriptElement lives until it is executed.
1012
1013         No more flaky timeouts: http/tests/misc/async-script.html:
1014
1015         * dom/ScriptElement.cpp:
1016         (WebCore::ScriptElement::prepareScript):
1017         (WebCore::ScriptElement::notifyFinished):
1018         * dom/ScriptRunner.cpp:
1019         (WebCore::ScriptRunner::~ScriptRunner):
1020         (WebCore::ScriptRunner::queueScriptForExecution):
1021         (WebCore::ScriptRunner::notifyScriptReady):
1022         * dom/ScriptRunner.h:
1023         (WebCore::ScriptRunner::hasPendingScripts):
1024
1025 2012-01-16  Renata Hodovan  <reni@webkit.org>
1026
1027         Unreviewed build fix; added WebCore.exp.in changes lost in r105036.
1028
1029         * WebCore.exp.in:
1030
1031 2012-01-15  Xinchao He  <xinchao.he@intel.com>
1032
1033         Add DeviceOrientationEvent.absolute
1034         https://bugs.webkit.org/show_bug.cgi?id=51742
1035
1036         Reviewed by Darin Fisher.
1037
1038         This patch add the DeviceOrientationEvent.absolute to follow the
1039         latest w3c device orientation event spec.
1040         http://www.w3.org/TR/orientation-event/
1041
1042
1043         * bindings/js/JSDeviceOrientationEventCustom.cpp:
1044         (WebCore::JSDeviceOrientationEvent::absolute):
1045         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
1046         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
1047         (WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter):
1048         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
1049         * dom/DeviceOrientation.cpp:
1050         (WebCore::DeviceOrientation::create):
1051         (WebCore::DeviceOrientation::DeviceOrientation):
1052         (WebCore::DeviceOrientation::absolute):
1053         (WebCore::DeviceOrientation::canProvideAbsolute):
1054         * dom/DeviceOrientation.h:
1055         * dom/DeviceOrientationEvent.idl:
1056
1057 2012-01-15  Luke Macpherson   <macpherson@chromium.org>
1058
1059         Remove external references to CSSPrimitiveValue::UnitTypes enum.
1060         https://bugs.webkit.org/show_bug.cgi?id=76229
1061
1062         Reviewed by Darin Adler.
1063
1064         No new tests / refactoring only.
1065
1066         * css/CSSFontSelector.cpp:
1067         (WebCore::CSSFontSelector::addFontFaceRule):
1068         * css/CSSGradientValue.cpp:
1069         (WebCore::CSSGradientValue::addStops):
1070         (WebCore::positionFromValue):
1071         (WebCore::CSSGradientValue::isCacheable):
1072         (WebCore::CSSRadialGradientValue::resolveRadius):
1073         (WebCore::CSSRadialGradientValue::createGradient):
1074         * css/CSSPrimitiveValue.h:
1075         (WebCore::CSSPrimitiveValue::isUnitTypeLength):
1076         (WebCore::CSSPrimitiveValue::isFontRelativeLength):
1077         (WebCore::CSSPrimitiveValue::isIdent):
1078         (WebCore::CSSPrimitiveValue::isNumber):
1079         (WebCore::CSSPrimitiveValue::isPercentage):
1080         (WebCore::CSSPrimitiveValue::isString):
1081         (WebCore::CSSPrimitiveValue::isURI):
1082         * css/CSSStyleApplyProperty.cpp:
1083         (WebCore::ApplyPropertyLength::applyValue):
1084         (WebCore::ApplyPropertyBorderRadius::applyValue):
1085         (WebCore::ApplyPropertyFontSize::applyValue):
1086         (WebCore::ApplyPropertyCursor::applyValue):
1087         (WebCore::ApplyPropertyPageSize::applyValue):
1088         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
1089         (WebCore::ApplyPropertyZoom::applyValue):
1090
1091 2012-01-15  Pablo Flouret  <pablof@motorola.com>
1092
1093         Fix compilation errors on build-webkit --debug --no-video on mac.
1094         https://bugs.webkit.org/show_bug.cgi?id=75867
1095
1096         Reviewed by Philippe Normand.
1097
1098         - Some exported HTMLMediaElement symbols were guarded by FULLSCREEN_API
1099           feature instead of VIDEO.
1100         - Unused parameter warning in CanvasRenderingContext::wouldTaintOrigin().
1101         - RenderThemeMac::shouldShowPlaceholderWhenFocused() implementation
1102           wrongly guarded by VIDEO feature.
1103
1104         * WebCore.exp.in:
1105         * html/canvas/CanvasRenderingContext.cpp:
1106         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
1107         * rendering/RenderThemeMac.mm:
1108
1109 2012-01-15  Andreas Kling  <awesomekling@apple.com>
1110
1111         CSSParser: Fix failing assertion below BorderImageQuadParseContext.
1112         <http://webkit.org/b/76346> and <rdar://problem/10584969>
1113
1114         Reviewed by Antti Koivisto.
1115
1116         No longer asserts: fast/borders/inline-mask-overlay-image-outset-vertical-rl.html
1117
1118         * css/CSSParser.cpp:
1119         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
1120         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
1121
1122             Clone CSSValues by copying the RefPtrs instead of going through
1123             the CSSValuePool's create-from-double factory. This prevents an
1124             assertion when the incoming value is CSSValueAuto.
1125
1126 2011-08-30  Robert Hogan  <robert@webkit.org>
1127
1128         <embed> width and height properties propagate to parent object node
1129         https://bugs.webkit.org/show_bug.cgi?id=17688
1130
1131         Reviewed by Eric Seidel.
1132
1133         Test: fast/images/embed-does-not-propagate-dimensions-to-object-ancestor.html
1134
1135         WebKit seems to have inherited this behaviour from KHTML. When the width/height
1136         of an <embed> element is set, it propagates the values up to any parent <object>
1137         element. There doesn't seem to be any good reason for this and it is not consistent
1138         with the behaviour of Firefox and Opera.
1139
1140         * html/HTMLEmbedElement.cpp:
1141         (WebCore::HTMLEmbedElement::insertedIntoDocument):
1142         (WebCore::HTMLEmbedElement::attributeChanged): Removed
1143         * html/HTMLEmbedElement.h:
1144         (WebCore::HTMLEmbedElement::attributeChanged): Removed
1145
1146 2011-12-30  Robert Hogan  <robert@webkit.org>
1147
1148         compareBorders() is called too often during painting
1149         https://bugs.webkit.org/show_bug.cgi?id=73349
1150
1151         Reviewed by Julien Chaffraix.
1152
1153         Collapsed borders are re-calculated every time they are painted.
1154         This is unnecessary, they only change with the layout or style so calculate and
1155         cache them whenever the layout or style changes and use the cached values when
1156         painting. The cache is stored in the table section so that the memory footprint
1157         of a table is only increased when it has collapsing borders.
1158
1159         The gain in performance here consists of skipping collapsed border computation
1160         during painting. The only path that incurs a small performance penalty is the 
1161         additional get/set on the cache when a collapsed border is computed. This penalty only applies
1162         during style change, layout, or when the width of the table is calculated. The computed
1163         border value is not stored in the cache when it has been calculated without its color
1164         for borderHalfStart and co., so that code path is unaffected by this change.
1165
1166         No new tests, covered by existing collapsed border tests.
1167
1168         * rendering/RenderTableCell.cpp:
1169         (WebCore::RenderTableCell::willBeDestroyed): remove entries from collapsed border cache
1170         (WebCore::RenderTableCell::collapsedStartBorder):
1171          Compute, and also cache if the full border including color was computed. 
1172         (WebCore::RenderTableCell::computeCollapsedStartBorder):
1173         (WebCore::RenderTableCell::collapsedEndBorder): ditto
1174         (WebCore::RenderTableCell::computeCollapsedEndBorder):
1175         (WebCore::RenderTableCell::collapsedBeforeBorder): ditto
1176         (WebCore::RenderTableCell::computeCollapsedBeforeBorder):
1177         (WebCore::RenderTableCell::collapsedAfterBorder): ditto
1178         (WebCore::RenderTableCell::computeCollapsedAfterBorder):
1179         (WebCore::RenderTableCell::cachedCollapsedLeftBorder):
1180          Inline the function since it is only called in paintCollapsedBorders and remove
1181          includeColor as a parameter. Move the call to the table's style to the caller rather
1182          than call it 4 times in a row. Use the cached border values directly.
1183         (WebCore::RenderTableCell::cachedCollapsedRightBorder): ditto
1184         (WebCore::RenderTableCell::cachedCollapsedTopBorder): ditto
1185         (WebCore::RenderTableCell::cachedCollapsedBottomBorder): ditto
1186         (WebCore::RenderTableCell::paintCollapsedBorders):
1187          This function always uses the collapsed border cache now.
1188         * rendering/RenderTableCell.h:
1189          Make the collapsed border functions private.
1190         * rendering/RenderTableSection.cpp:
1191         (WebCore::RenderTableSection::removeCachedCollapsedBorders): The cache is deleted by the HashMap
1192          since it is the only owner of the cached item.
1193         (WebCore::RenderTableSection::setCachedCollapsedBorder):
1194         (WebCore::RenderTableSection::cachedCollapsedBorder):
1195          This will assert if there is no cached collapsed border for the side of the 
1196          cell requested by the caller.
1197         * rendering/RenderTableSection.h:
1198          HashMap wouldn't let me use CollapsedBorderSide in the key value for the cache
1199          so use int instead.
1200
1201 2012-01-14  David Levin  <levin@chromium.org>
1202
1203         HWndDC should be in platform/win instead of wtf.
1204         https://bugs.webkit.org/show_bug.cgi?id=76314
1205
1206         Reviewed by Sam Weinig.
1207
1208         No new functionality, so no new tests.
1209
1210         * WebCore.gypi:
1211         * WebCore.vcproj/WebCore.vcproj:
1212         * platform/win/HWndDC.h: Renamed from Source/JavaScriptCore/wtf/win/HWndDCWin.h.
1213         I also made the class non-copyable.
1214         (WebCore::HWndDC::HWndDC):
1215         (WebCore::HWndDC::~HWndDC):
1216         (WebCore::HWndDC::operator HDC):
1217
1218 2012-01-14  Adam Treat  <atreat@rim.com>
1219
1220         https://bugs.webkit.org/show_bug.cgi?id=76339
1221
1222         Take a page from the Gtk and Qt ports and quiet these logs unless they
1223         are explicitly enabled via environment variable.
1224
1225         Reviewed by George Staikos.
1226
1227         * platform/blackberry/LoggingBlackBerry.cpp:
1228         (WebCore::initializeLoggingChannelsIfNecessary):
1229
1230 2011-11-09  Robert Hogan  <robert@webkit.org>
1231
1232         CSS 2.1 failure: outline-color-applies-to* tests fail
1233         https://bugs.webkit.org/show_bug.cgi?id=71944
1234
1235         Reviewed by Julien Chaffraix.
1236
1237         Paint the outline color for row, row-group, header-group and footer-group
1238         elements.
1239
1240         Tests: css2.1/20110323/outline-color-applies-to-001.htm
1241                css2.1/20110323/outline-color-applies-to-002.htm
1242                css2.1/20110323/outline-color-applies-to-003.htm
1243                css2.1/20110323/outline-color-applies-to-004.htm
1244                css2.1/20110323/outline-color-applies-to-005.htm
1245                css2.1/20110323/outline-color-applies-to-006.htm
1246                css2.1/20110323/outline-color-applies-to-007.htm
1247                css2.1/20110323/outline-color-applies-to-008.htm
1248                css2.1/20110323/outline-color-applies-to-009.htm
1249                css2.1/20110323/outline-color-applies-to-010.htm
1250                (There is no outline-color-applies-to-011.htm in the test suite.)
1251                css2.1/20110323/outline-color-applies-to-012.htm
1252                css2.1/20110323/outline-color-applies-to-013.htm
1253                css2.1/20110323/outline-color-applies-to-014.htm
1254                css2.1/20110323/outline-color-applies-to-015.htm
1255                fast/css/outline-color-self-painting-row.htm
1256
1257         * rendering/RenderTableRow.cpp:
1258         (WebCore::RenderTableRow::paintOutlineForRowIfNeeded): Wrapper function for painting the outline for the row.
1259          This is used by RenderTableSection::paintObject and RenderTableRow::paint
1260         (WebCore::RenderTableRow::paint): For rows with a self-painting layer, paint the outline. Tested by
1261          fast/css/outline-color-self-painting-row.htm.
1262         * rendering/RenderTableSection.cpp:
1263         (WebCore::RenderTableSection::paint): Paint the outline for header-group, row-group and footer-groups.
1264         (WebCore::RenderTableSection::paintObject): When iterating through the cells paint the outline of rows as required.
1265         Doing it here avoids the need to walk the RenderTableSection's tree separately elsewhere.
1266
1267 2012-01-14  Simon Fraser  <simon.fraser@apple.com>
1268
1269         Unmatched transparency layer begin/end on a filtered element with an opacity ancestor
1270         https://bugs.webkit.org/show_bug.cgi?id=76329
1271
1272         Reviewed by Dan Bernstein.
1273
1274         When doing a paint with painting disabled on the GraphicsContext, as we do
1275         for updating control tints, or computing text rectangles on Find, do not
1276         apply filter effects. This is both a performance gain, and fixes an issue
1277         with mismatched begin/end transparency layers.
1278         
1279         Manual test:
1280             ManualTests/filters/opacity-above-filter.html
1281
1282         * rendering/RenderLayer.cpp:
1283         (WebCore::RenderLayer::paintLayerContents):
1284
1285 2012-01-13  Ojan Vafai  <ojan@chromium.org>
1286
1287         Implement flex-align
1288         https://bugs.webkit.org/show_bug.cgi?id=75782
1289
1290         Reviewed by Tony Chang.
1291
1292         * css/CSSComputedStyleDeclaration.cpp:
1293         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1294         Intentially gets computed style for flex-item-align:auto wrong.
1295         Will fix this in a followup patch.
1296         * css/CSSParser.cpp:
1297         (WebCore::CSSParser::parseValue):
1298         * css/CSSProperty.cpp:
1299         (WebCore::CSSProperty::isInheritedProperty):
1300         * css/CSSPropertyNames.in:
1301         * css/CSSStyleApplyProperty.cpp:
1302         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1303         * css/CSSStyleSelector.cpp:
1304         (WebCore::CSSStyleSelector::applyProperty):
1305         * rendering/RenderBox.cpp:
1306         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
1307         * rendering/RenderFlexibleBox.cpp:
1308         (WebCore::flexAlignForChild):
1309         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
1310         (WebCore::RenderFlexibleBox::alignChildren):
1311         * rendering/style/RenderStyle.h:
1312         (WebCore::RenderStyleBitfields::flexAlign):
1313         (WebCore::RenderStyleBitfields::setFlexAlign):
1314         (WebCore::RenderStyleBitfields::initialFlexAlign):
1315         (WebCore::RenderStyleBitfields::initialFlexItemAlign):
1316         * rendering/style/StyleFlexibleBoxData.cpp:
1317         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1318         (WebCore::StyleFlexibleBoxData::operator==):
1319         * rendering/style/StyleFlexibleBoxData.h:
1320
1321 2012-01-13  Brent Fulgham  <bfulgham@webkit.org>
1322
1323         [Windows, WinCairo] Build correction after r104919.
1324
1325         * WebCore.vcproj/WebCore.vcproj: Exclude ShadowContentSelectorQuery.cpp
1326           from the build, since it is built as part of DOMAllInOne.cpp.
1327
1328 2012-01-13  Vincent Scheib  <scheib@chromium.org>
1329
1330         Pointer Lock: Change isLocked() from operator to attribute isLocked
1331         https://bugs.webkit.org/show_bug.cgi?id=76311
1332
1333         Reviewed by Adam Barth.
1334
1335         This patch implements the recent Mouse Lock Specification update
1336         changing navigator.pointer.isLocked() to .isLocked.
1337
1338         Test pointer-lock/pointer-lock-api.html updated to new spec.
1339
1340         * page/PointerLock.idl:
1341
1342 2012-01-13  Raymond Toy  <rtoy@google.com>
1343
1344         noteOn, noteGrainOn and noteOff idl should take doubles
1345         https://bugs.webkit.org/show_bug.cgi?id=76073
1346
1347         Reviewed by Adam Barth.
1348
1349         Existing audiobuffersource-playbackrate and gain tests cover the
1350         noteOn and noteOff changes.
1351
1352         * webaudio/AudioBufferSourceNode.idl: noteOn, noteGrainOn, and
1353         noteOff take doubles.
1354
1355 2012-01-13  Beth Dakin  <bdakin@apple.com>
1356
1357         https://bugs.webkit.org/show_bug.cgi?id=71230
1358         Clicking where the overlay scroll track would be should not scroll the page
1359         -and corresponding-
1360         <rdar://problem/9585424>
1361
1362         Reviewed by Alexey Proskuryakov.
1363
1364         These new functions indicate whether the scrollbar should participate in hit 
1365         testing. Non-overlay scrollbars always should, so they return true. Overlay 
1366         scrollbars consult the animator, which checks the current alpha. 
1367         * platform/ScrollAnimator.h:
1368         (WebCore::ScrollAnimator::shouldScrollbarParticipateInHitTesting):
1369         * platform/Scrollbar.cpp:
1370         (WebCore::Scrollbar:: shouldParticipateInHitTesting):
1371         * platform/Scrollbar.h:
1372         * platform/mac/ScrollAnimatorMac.h:
1373         * platform/mac/ScrollAnimatorMac.mm:
1374         (WebCore::ScrollAnimatorMac:: shouldScrollbarParticipateInHitTesting):
1375
1376         In these hit-testing functions, only hit-test when the scrollbar should 
1377         participate.
1378         * platform/ScrollView.cpp:
1379         (WebCore::ScrollView::scrollbarAtPoint):
1380         * rendering/RenderEmbeddedObject.cpp:
1381         (WebCore::RenderEmbeddedObject::nodeAtPoint):
1382         * rendering/RenderLayer.cpp:
1383         (WebCore::RenderLayer::hitTestOverflowControls):
1384         * rendering/RenderListBox.cpp:
1385         (WebCore::RenderListBox::isPointInOverflowControl):
1386
1387 2012-01-13  Dan Bernstein  <mitz@apple.com>
1388
1389         REGRESSION: svg/custom/use-instanceRoot-event-listeners.xhtml & svg/custom/pointer-events-invalid-fill.svg broken on the Bots
1390         https://bugs.webkit.org/show_bug.cgi?id=76254
1391
1392         Reviewed by Anders Carlsson.
1393
1394         * css/CSSFontSelector.cpp:
1395         (WebCore::CSSFontSelector::beginLoadTimerFired): Added a call to
1396         CachedResourceLoader::loadDone() after decrementing the request count. This allows the
1397         frame loader to see that the request count is zero and dispatch didFinishLoad. 
1398
1399 2012-01-13  Jer Noble  <jer.noble@apple.com>
1400
1401         WebAudio: Optimize calculateNormalizationScale().
1402         https://bugs.webkit.org/show_bug.cgi?id=74372
1403
1404         Reviewed by Eric Carlson.
1405
1406         No new tests; optimization of existing code, so covered by existing test cases.
1407
1408         * platform/audio/Reverb.cpp:
1409         (WebCore::calculateNormalizationScale): Replace implementation with optimized vector
1410             math operation.
1411         (WebCore::Reverb::Reverb):
1412         * platform/audio/VectorMath.cpp:
1413         (WebCore::VectorMath::vsvesq): Vector math operation for squared sum of elements.
1414         * platform/audio/VectorMath.h:
1415
1416 2012-01-13  Nico Weber  <thakis@chromium.org>
1417
1418         Remove a unused variable.
1419         https://bugs.webkit.org/show_bug.cgi?id=76307
1420
1421         Reviewed by James Robinson.
1422
1423         * platform/mac/ScrollElasticityController.mm:
1424         (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
1425
1426 2012-01-13  Nate Chapin  <japhet@chromium.org>
1427
1428         Revert most of the multipart changes in
1429         http://trac.webkit.org/changeset/104756.
1430         https://bugs.webkit.org/show_bug.cgi?id=76297
1431
1432         Reviewed by Alexey Proskuryakov.
1433
1434         http/tests/multipart/invalid-image-data.html
1435         should stop asserting on chromium win dbg.
1436
1437         * loader/SubresourceLoader.cpp:
1438         (WebCore::SubresourceLoader::didReceiveResponse):
1439         (WebCore::SubresourceLoader::didReceiveData):
1440         (WebCore::SubresourceLoader::sendDataToResource):
1441
1442 2011-01-13  Jer Noble  <jer.noble@apple.com>
1443
1444         WebAudio: Use float instead of double values for gain operations.
1445         https://bugs.webkit.org/show_bug.cgi?id=74345
1446
1447         Reviewed by Sam Weinig.
1448
1449         No new tests; optimization of existing code, so covered by existing test cases.
1450
1451         The following functions now take or operate on floats instead of doubles:
1452         (WebCore::AudioBus::scale):
1453         (WebCore::AudioBus::processWithGainFrom):
1454         (WebCore::AudioBus::copyWithGainFrom):
1455         (WebCore::AudioBus::sumWithGainFrom):
1456         * platform/audio/AudioBus.h:
1457         (WebCore::AudioBus::setGain):
1458         (WebCore::AudioBus::gain):
1459         * platform/audio/AudioChannel.cpp:
1460         (WebCore::AudioChannel::scale):
1461         * platform/audio/AudioChannel.h:
1462         * webaudio/AudioBufferSourceNode.cpp:
1463         (WebCore::AudioBufferSourceNode::process):
1464         * webaudio/AudioBufferSourceNode.h:
1465         * webaudio/AudioGainNode.h:
1466         * webaudio/AudioPannerNode.h:
1467
1468 2012-01-13  Greg Billock  <gbillock@google.com>
1469
1470         Don't use pending activity notification in IntentRequest
1471         https://bugs.webkit.org/show_bug.cgi?id=76302
1472
1473         Reviewed by Adam Barth.
1474
1475         * Modules/intents/IntentRequest.cpp:
1476         (WebCore::IntentRequest::IntentRequest):
1477         (WebCore::IntentRequest::postResult):
1478         (WebCore::IntentRequest::postFailure):
1479
1480 2012-01-13  Raymond Toy  <rtoy@google.com>
1481
1482         EQUALPOWER panner incorrectly computes gain
1483         https://bugs.webkit.org/show_bug.cgi?id=75767
1484
1485         Reviewed by Kenneth Russell.
1486
1487         Layout test added.
1488
1489         * platform/audio/EqualPowerPanner.cpp:
1490         (WebCore::EqualPowerPanner::pan):  Correct the formula.
1491
1492 2012-01-13  Ojan Vafai  <ojan@chromium.org>
1493
1494         Unreviewed, rolling out r104972.
1495         http://trac.webkit.org/changeset/104972
1496         https://bugs.webkit.org/show_bug.cgi?id=75782
1497
1498         Broke some tests
1499
1500         * css/CSSComputedStyleDeclaration.cpp:
1501         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1502         * css/CSSParser.cpp:
1503         (WebCore::CSSParser::parseValue):
1504         * css/CSSProperty.cpp:
1505         (WebCore::CSSProperty::isInheritedProperty):
1506         * css/CSSPropertyNames.in:
1507         * css/CSSStyleApplyProperty.cpp:
1508         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1509         * css/CSSStyleSelector.cpp:
1510         (WebCore::CSSStyleSelector::applyProperty):
1511         * rendering/RenderBox.cpp:
1512         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
1513         * rendering/RenderFlexibleBox.cpp:
1514         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
1515         (WebCore::RenderFlexibleBox::alignChildren):
1516         * rendering/style/RenderStyle.h:
1517         (WebCore::RenderStyleBitfields::initialFlexItemAlign):
1518         * rendering/style/StyleFlexibleBoxData.cpp:
1519         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1520         (WebCore::StyleFlexibleBoxData::operator==):
1521         * rendering/style/StyleFlexibleBoxData.h:
1522
1523 2012-01-13  Anders Carlsson  <andersca@apple.com>
1524
1525         -[WebTileCacheLayer setNeedsDisplay] doesn't trigger invalidation
1526         https://bugs.webkit.org/show_bug.cgi?id=76299
1527
1528         Reviewed by Simon Fraser.
1529
1530         Override -[WebTileCacheLayer setNeedsDisplay] and call TileCache::setNeedsDisplay from there,
1531         instead of ending up with a huge rectangle in TileCache::setNeedsDisplayInRect which causes our
1532         tile computation logic to fail due to integer overflow when converting from CGFloats to ints.
1533
1534         * platform/graphics/ca/mac/TileCache.h:
1535         * platform/graphics/ca/mac/TileCache.mm:
1536         (WebCore::TileCache::setNeedsDisplay):
1537         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
1538         (-[WebTileCacheLayer setNeedsDisplay]):
1539
1540 2012-01-12  Ojan Vafai  <ojan@chromium.org>
1541
1542         Implement flex-align
1543         https://bugs.webkit.org/show_bug.cgi?id=75782
1544
1545         Reviewed by Tony Chang.
1546
1547         * css/CSSComputedStyleDeclaration.cpp:
1548         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1549         Not 100% sure about this, but I think the computed value of
1550         flex-item-align needs to take the parent's flex-align into
1551         account for computed auto values.
1552         * css/CSSParser.cpp:
1553         (WebCore::CSSParser::parseValue):
1554         * css/CSSProperty.cpp:
1555         (WebCore::CSSProperty::isInheritedProperty):
1556         * css/CSSPropertyNames.in:
1557         * css/CSSStyleApplyProperty.cpp:
1558         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1559         * css/CSSStyleSelector.cpp:
1560         (WebCore::CSSStyleSelector::applyProperty):
1561         * rendering/RenderBox.cpp:
1562         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
1563         * rendering/RenderFlexibleBox.cpp:
1564         (WebCore::flexAlign):
1565         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
1566         (WebCore::RenderFlexibleBox::alignChildren):
1567         * rendering/style/RenderStyle.h:
1568         (WebCore::RenderStyleBitfields::flexAlign):
1569         (WebCore::RenderStyleBitfields::setFlexAlign):
1570         (WebCore::RenderStyleBitfields::initialFlexAlign):
1571         (WebCore::RenderStyleBitfields::initialFlexItemAlign):
1572         * rendering/style/StyleFlexibleBoxData.cpp:
1573         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1574         (WebCore::StyleFlexibleBoxData::operator==):
1575         * rendering/style/StyleFlexibleBoxData.h:
1576
1577 2012-01-13  Simon Fraser  <simon.fraser@apple.com>
1578
1579         Rename GraphicsContext* argument in various RenderLayer methods
1580         https://bugs.webkit.org/show_bug.cgi?id=76283
1581
1582         Reviewed by James Robinson/Anders Carlsson.
1583
1584         Rename the GraphicsContext* parameter "p" in various RenderLayer
1585         methods to "context". "p" was a historical name from when it was
1586         called Painter.
1587
1588         * rendering/RenderLayer.cpp:
1589         (WebCore::RenderLayer::beginTransparencyLayers):
1590         (WebCore::RenderLayer::paint):
1591         (WebCore::RenderLayer::paintOverlayScrollbars):
1592         (WebCore::RenderLayer::restoreClip):
1593         (WebCore::RenderLayer::paintLayer):
1594         (WebCore::RenderLayer::paintLayerContentsAndReflection):
1595         (WebCore::RenderLayer::paintLayerContents):
1596         (WebCore::RenderLayer::paintList):
1597
1598 2012-01-13  Mihnea Ovidenie  <mihnea@adobe.com>
1599
1600         [CSSRegions]Add back region style code removed in r104036
1601         https://bugs.webkit.org/show_bug.cgi?id=76064
1602
1603         Reviewed by David Hyatt.
1604
1605         No new tests. The region style tests are still skipped. A follow up patch will enable
1606         both region style for background-color and region style tests.
1607
1608         * WebCore.exp.in:
1609         * css/CSSStyleSelector.cpp:
1610         (WebCore::RuleData::useInRegionStyle):
1611         (WebCore::CSSStyleSelector::CSSStyleSelector):
1612         (WebCore::CSSStyleSelector::addMatchedDeclaration):
1613         (WebCore::CSSStyleSelector::matchRules):
1614         (WebCore::CSSStyleSelector::matchAllRules):
1615         (WebCore::CSSStyleSelector::initForRegionStyling):
1616         (WebCore::CSSStyleSelector::initRegionRules):
1617         (WebCore::CSSStyleSelector::styleForElement):
1618         (WebCore::CSSStyleSelector::pseudoStyleForElement):
1619         (WebCore::RuleData::RuleData):
1620         (WebCore::RuleSet::RuleSet):
1621         (WebCore::RuleSet::addToRuleSet):
1622         (WebCore::CSSStyleSelector::applyDeclarations):
1623         (WebCore::isValidRegionStyleProperty):
1624         (WebCore::CSSStyleSelector::applyProperty):
1625         * css/CSSStyleSelector.h:
1626         (WebCore::CSSStyleSelector::setRegionForStyling):
1627         (WebCore::CSSStyleSelector::regionForStyling):
1628         (WebCore::CSSStyleSelector::applyPropertyToRegionStyle):
1629         * rendering/RenderFlowThread.cpp:
1630         (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
1631         (WebCore::RenderFlowThread::setRegionRangeForBox):
1632         * rendering/RenderFlowThread.h:
1633         * rendering/RenderLayer.cpp:
1634         (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
1635         (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
1636         (WebCore::RenderLayer::paint):
1637         (WebCore::RenderLayer::hitTest):
1638         * rendering/RenderObject.cpp:
1639         (WebCore::RenderObject::styleInRegion):
1640         * rendering/RenderObject.h:
1641         (WebCore::RenderObject::canHaveRegionStyle):
1642         * rendering/RenderObjectChildList.cpp:
1643         (WebCore::RenderObjectChildList::removeChildNode):
1644         * rendering/RenderRegion.cpp:
1645         (WebCore::RenderRegion::renderObjectRegionStyle):
1646         (WebCore::RenderRegion::computeStyleInRegion):
1647         (WebCore::RenderRegion::clearObjectStyleInRegion):
1648         * rendering/RenderRegion.h:
1649         * rendering/RenderView.cpp:
1650         (WebCore::RenderView::RenderView):
1651         * rendering/RenderView.h:
1652         (WebCore::RenderView::currentRenderRegion):
1653         (WebCore::RenderView::setCurrentRenderRegion):
1654
1655 2012-01-13  Kenneth Russell  <kbr@google.com>
1656
1657         Unreviewed build fix; added project.pbxproj changes lost in r104954.
1658         https://bugs.webkit.org/show_bug.cgi?id=75906
1659
1660         * WebCore.xcodeproj/project.pbxproj:
1661
1662 2012-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1663
1664         TextureMapper: Extract layer transform logic to a LayerTransform class.
1665         https://bugs.webkit.org/show_bug.cgi?id=76291
1666
1667         Reviewed by Noam Rosenthal.
1668
1669         * GNUmakefile.list.am:
1670         * Target.pri:
1671         * WebCore.gypi:
1672         * platform/graphics/texmap/LayerTransform.cpp: Added.
1673         (WebCore::LayerTransform::LayerTransform):
1674         (WebCore::LayerTransform::setPosition):
1675         (WebCore::LayerTransform::setSize):
1676         (WebCore::LayerTransform::setAnchorPoint):
1677         (WebCore::LayerTransform::setFlattening):
1678         (WebCore::LayerTransform::setLocalTransform):
1679         (WebCore::LayerTransform::setChildrenTransform):
1680         (WebCore::LayerTransform::combined):
1681         (WebCore::LayerTransform::combinedForChildren):
1682         (WebCore::LayerTransform::combineTransforms):
1683         (WebCore::LayerTransform::combineTransformsForChildren):
1684         * platform/graphics/texmap/LayerTransform.h: Added.
1685         * platform/graphics/texmap/TextureMapperNode.cpp:
1686         (WebCore::TextureMapperNode::setTransform):
1687         (WebCore::TextureMapperNode::computeTransformsRecursive):
1688         (WebCore::TextureMapperNode::collectVisibleContentsRects):
1689         (WebCore::TextureMapperNode::paintSelf):
1690         (WebCore::TextureMapperNode::compareGraphicsLayersZValue):
1691         (WebCore::TextureMapperNode::paintSelfAndChildren):
1692         (WebCore::TextureMapperNode::paintReflection):
1693         (WebCore::TextureMapperNode::syncCompositingStateSelf):
1694         * platform/graphics/texmap/TextureMapperNode.h:
1695         (WebCore::TextureMapperNode::TextureMapperNode):
1696
1697 2012-01-13  Kenneth Russell  <kbr@google.com>
1698
1699         Unreviewed, build fix for unused argument warning after r104954.
1700         https://bugs.webkit.org/show_bug.cgi?id=75906
1701
1702         Also fixed up somebody's bad merge in Source/WebCore/ChangeLog.
1703
1704         * html/canvas/WebGLObject.cpp:
1705         (WebCore::WebGLObject::WebGLObject):
1706
1707 2012-01-13  Raphael Kubo da Costa  <kubo@profusion.mobi>
1708
1709         [soup] Initialize m_soupFlags in all ResourceResponse constructors.
1710
1711         Rubber-stamped by Gustavo Noronha Silva.
1712
1713         m_soupFlags was being initialized in two of the three ResourceResponse
1714         constructors, causing some trouble in
1715         FrameLoaderClient::dispatchDidReceiveResponse (ports which use
1716         ResourceRequest::setSoupMessageFlags with the response's unitialized
1717         flags).
1718
1719         * platform/network/soup/ResourceResponse.h:
1720         (WebCore::ResourceResponse::ResourceResponse):
1721
1722 2012-01-13  Alexey Proskuryakov  <ap@apple.com>
1723
1724         CFURLRef to KURL conversion shouldn't turn raw paths into file URLs
1725         https://bugs.webkit.org/show_bug.cgi?id=76251
1726
1727         Reviewed by Dan Bernstein.
1728
1729         * platform/cf/KURLCFNet.cpp: (WebCore::KURL::KURL): Removed the offending code.
1730
1731 2012-01-13  Konrad Piascik  <kpiascik@rim.com>
1732
1733         Web Inspector: Disconnecting the front-end does not disable profiling.
1734         https://bugs.webkit.org/show_bug.cgi?id=76213
1735
1736         Reviewed by Pavel Feldman.
1737
1738         Not testable.
1739
1740         * inspector/InspectorProfilerAgent.cpp:
1741         (WebCore::InspectorProfilerAgent::clearFrontend):
1742
1743 2012-01-13  Andreas Kling  <awesomekling@apple.com>
1744
1745         JSC/DOM bindings: Reduce HandleHeap churn in cacheWrapper().
1746         <http://webkit.org/b/76271>
1747
1748         Reviewed by Darin Adler.
1749
1750         Use JSC::Weak::swap() to move JSDOMWrappers into the DOMWrapperWorld's wrapper map.
1751         This avoids invoking the JSC::Weak copy constructor and associated HandleHeap churn.
1752
1753         * bindings/js/JSDOMBinding.h:
1754         (WebCore::cacheWrapper):
1755
1756 2012-01-13  Vsevolod Vlasov  <vsevik@chromium.org>
1757
1758         Web Inspector: [InspectorIndexedDB] Add InspectorIndexedDBAgent and IndexedDBModel, pass database names to inspector.
1759         https://bugs.webkit.org/show_bug.cgi?id=76264
1760
1761         Reviewed by Pavel Feldman.
1762
1763         * CMakeLists.txt:
1764         * WebCore.gypi:
1765         * WebCore.vcproj/WebCore.vcproj:
1766         * inspector/CodeGeneratorInspector.py:
1767         * inspector/Inspector.json:
1768         * inspector/InspectorController.cpp:
1769         (WebCore::InspectorController::InspectorController):
1770         * inspector/InspectorIndexedDBAgent.cpp: Added.
1771         (WebCore::InspectorIndexedDBAgent::FrontendProvider::create):
1772         (WebCore::InspectorIndexedDBAgent::FrontendProvider::~FrontendProvider):
1773         (WebCore::InspectorIndexedDBAgent::FrontendProvider::frontend):
1774         (WebCore::InspectorIndexedDBAgent::FrontendProvider::clearFrontend):
1775         (WebCore::InspectorIndexedDBAgent::FrontendProvider::FrontendProvider):
1776         (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
1777         (WebCore::InspectorIndexedDBAgent::~InspectorIndexedDBAgent):
1778         (WebCore::InspectorIndexedDBAgent::setFrontend):
1779         (WebCore::InspectorIndexedDBAgent::clearFrontend):
1780         (WebCore::InspectorIndexedDBAgent::restore):
1781         (WebCore::InspectorIndexedDBAgent::enable):
1782         (WebCore::InspectorIndexedDBAgent::disable):
1783         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
1784         * inspector/InspectorIndexedDBAgent.h: Added.
1785         (WebCore::InspectorIndexedDBAgent::create):
1786         * inspector/InspectorPageAgent.cpp:
1787         (WebCore::InspectorPageAgent::buildObjectForFrame):
1788         * inspector/compile-front-end.sh:
1789         * inspector/front-end/IndexedDBModel.js: Added.
1790         * inspector/front-end/ResourceTreeModel.js:
1791         (WebInspector.ResourceTreeFrame):
1792         (WebInspector.ResourceTreeFrame.prototype.get securityOrigin):
1793         (WebInspector.ResourceTreeFrame.prototype._navigate):
1794         * inspector/front-end/WebKit.qrc:
1795         * inspector/front-end/inspector.html:
1796
1797 2012-01-13  Sheriff Bot  <webkit.review.bot@gmail.com>
1798
1799         Unreviewed, rolling out r104935.
1800         http://trac.webkit.org/changeset/104935
1801         https://bugs.webkit.org/show_bug.cgi?id=76277
1802
1803         Breaks AppleWin compilation (Requested by vsevik on #webkit).
1804
1805         * CMakeLists.txt:
1806         * WebCore.gypi:
1807         * WebCore.vcproj/WebCore.vcproj:
1808         * inspector/CodeGeneratorInspector.py:
1809         * inspector/Inspector.json:
1810         * inspector/InspectorController.cpp:
1811         (WebCore::InspectorController::InspectorController):
1812         * inspector/InspectorIndexedDBAgent.cpp: Removed.
1813         * inspector/InspectorIndexedDBAgent.h: Removed.
1814         * inspector/InspectorPageAgent.cpp:
1815         (WebCore::InspectorPageAgent::buildObjectForFrame):
1816         * inspector/compile-front-end.sh:
1817         * inspector/front-end/IndexedDBModel.js: Removed.
1818         * inspector/front-end/ResourceTreeModel.js:
1819         (WebInspector.ResourceTreeFrame):
1820         (WebInspector.ResourceTreeFrame.prototype._navigate):
1821         * inspector/front-end/WebKit.qrc:
1822         * inspector/front-end/inspector.html:
1823
1824 2012-01-13  Vsevolod Vlasov  <vsevik@chromium.org>
1825
1826         Web Inspector: [InspectorIndexedDB] Add InspectorIndexedDBAgent and IndexedDBModel, pass database names to inspector.
1827         https://bugs.webkit.org/show_bug.cgi?id=76264
1828
1829         Reviewed by Pavel Feldman.
1830
1831         * CMakeLists.txt:
1832         * WebCore.gypi:
1833         * WebCore.vcproj/WebCore.vcproj:
1834         * inspector/CodeGeneratorInspector.py:
1835         * inspector/Inspector.json:
1836         * inspector/InspectorController.cpp:
1837         (WebCore::InspectorController::InspectorController):
1838         * inspector/InspectorIndexedDBAgent.cpp: Added.
1839         (WebCore::InspectorIndexedDBAgent::FrontendProvider::create):
1840         (WebCore::InspectorIndexedDBAgent::FrontendProvider::~FrontendProvider):
1841         (WebCore::InspectorIndexedDBAgent::FrontendProvider::frontend):
1842         (WebCore::InspectorIndexedDBAgent::FrontendProvider::clearFrontend):
1843         (WebCore::InspectorIndexedDBAgent::FrontendProvider::FrontendProvider):
1844         (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
1845         (WebCore::InspectorIndexedDBAgent::~InspectorIndexedDBAgent):
1846         (WebCore::InspectorIndexedDBAgent::setFrontend):
1847         (WebCore::InspectorIndexedDBAgent::clearFrontend):
1848         (WebCore::InspectorIndexedDBAgent::restore):
1849         (WebCore::InspectorIndexedDBAgent::enable):
1850         (WebCore::InspectorIndexedDBAgent::disable):
1851         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
1852         * inspector/InspectorIndexedDBAgent.h: Added.
1853         (WebCore::InspectorIndexedDBAgent::create):
1854         * inspector/InspectorPageAgent.cpp:
1855         (WebCore::InspectorPageAgent::buildObjectForFrame):
1856         * inspector/compile-front-end.sh:
1857         * inspector/front-end/IndexedDBModel.js: Added.
1858         * inspector/front-end/ResourceTreeModel.js:
1859         (WebInspector.ResourceTreeFrame):
1860         (WebInspector.ResourceTreeFrame.prototype.get securityOrigin):
1861         (WebInspector.ResourceTreeFrame.prototype._navigate):
1862         * inspector/front-end/WebKit.qrc:
1863         * inspector/front-end/inspector.html:
1864
1865 2012-01-13  Simon Hausmann  <simon.hausmann@nokia.com>
1866
1867         [Qt] Fix build when using TextureMapper with OpenGL/ES
1868         https://bugs.webkit.org/show_bug.cgi?id=76268
1869
1870         Reviewed by Tor Arne Vestbø.
1871
1872         * WebCore.pri: When the texture mapper uses OpenGL/ES, then it also relies on the
1873         availability of libEGL by using eglGetCurrentContext(). In that case we need to link against
1874         libEGL.
1875
1876 2012-01-13  Jochen Eisinger  <jochen@chromium.org>
1877
1878         Don't artifically keep IDBDatabase objects alive if there are no references to it.
1879         https://bugs.webkit.org/show_bug.cgi?id=75859
1880
1881         Originally, this code was added to keep the IDBDatabase object alive
1882         even if no reference from JavaScript to the object existed, because
1883         running transactions could still send events for this database
1884         connection. Meanwhile, transactions are marked as active DOM objects
1885         during their lifetime, and they keep a RefPtr to the IDBDatabase
1886         object, so this hack is no longer required.
1887
1888         Reviewed by Tony Gentilcore.
1889
1890         Test: storage/indexeddb/delete-closed-database-object.html
1891
1892         * storage/IDBDatabase.cpp:
1893         * storage/IDBDatabase.h:
1894
1895 2012-01-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1896
1897         TextureMapper: Do the node transform computation when painting.
1898         https://bugs.webkit.org/show_bug.cgi?id=74721
1899
1900         Reviewed by Noam Rosenthal.
1901
1902         The transform of the node tree was built during the syncCompositingState
1903         step. This would cause an ASSERT with QWebView, trying to use a dirty transform
1904         state since the rootTextureMapperNode in QWebFramePrivate::renderCompositedLayers
1905         doesn't run the sync step after getting the world transform set.
1906
1907         This moves the transform computation from the sync to the paint step to
1908         prevent making sure that the sync step has been run on all nodes before painting.
1909
1910         * platform/graphics/texmap/TextureMapperNode.cpp:
1911         (WebCore::TextureMapperNode::computeTransformsRecursive):
1912         (WebCore::TextureMapperNode::computeTiles):
1913         Remove an unused variable.
1914         (WebCore::TextureMapperNode::paint):
1915         (WebCore::TextureMapperNode::syncAnimationsRecursively):
1916         (WebCore::TextureMapperNode::syncCompositingState):
1917         * platform/graphics/texmap/TextureMapperNode.h:
1918
1919 2012-01-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1920
1921         TextureMapper: Simplify transform manipulations.
1922         https://bugs.webkit.org/show_bug.cgi?id=74719
1923
1924         Reviewed by Noam Rosenthal.
1925
1926         - Make sure that the replica node has a complete transform and
1927           use it directly instead of keeping a copy in the source.
1928         - Apply the origin and position translation only once, on the
1929           target and descendants transforms.
1930         - Use to2dTransform() on !preserves3D layers instead of doing
1931           the flattening manually.
1932         - Remove mentions of perspective as this is handled by WebCore
1933           through the children transform.
1934         - Apply the inverse target transform on the replica only where it
1935           is needed in paintReflection since it uses the full transform in paintSelf.
1936         - Merge the base and local transforms.
1937
1938         * platform/graphics/texmap/TextureMapperNode.cpp:
1939         (WebCore::TextureMapperNode::setTransform):
1940         (WebCore::TextureMapperNode::computeTransformsSelf):
1941         (WebCore::TextureMapperNode::computeAllTransforms):
1942         (WebCore::TextureMapperNode::paintSelf):
1943         (WebCore::TextureMapperNode::paintReflection):
1944         * platform/graphics/texmap/TextureMapperNode.h:
1945
1946 2012-01-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1947
1948         TextureMapper: Fix the fillsForward transform adjustment in syncAnimations.
1949         https://bugs.webkit.org/show_bug.cgi?id=76184
1950
1951         Reviewed by Noam Rosenthal.
1952
1953         Also make the intention clearer by using setTransform and setOpacity.
1954
1955         * platform/graphics/texmap/TextureMapperNode.cpp:
1956         (WebCore::TextureMapperNode::syncAnimations):
1957
1958 2012-01-13  Vsevolod Vlasov  <vsevik@chromium.org>
1959
1960         Unreviewed inspector scripts navigator style fixes.
1961
1962         * inspector/front-end/scriptsPanel.css:
1963         (#scripts-editor-container-tabbed-pane .tabbed-pane-header-tab):
1964
1965 2012-01-13  Jochen Eisinger  <jochen@chromium.org>
1966
1967         Once we prepared a script element for execution, execute it, even if the script element was meanwhile removed from the dom tree.
1968         https://bugs.webkit.org/show_bug.cgi?id=76083
1969
1970         Reviewed by Adam Barth.
1971
1972         This bug was caught by the following IE Test Center test:
1973
1974         http://samples.msdn.microsoft.com/ietestcenter/HTML5/show_async_test.htm?11_RemovingAsyncScript
1975
1976         Test: http/tests/misc/async-script-removed.html
1977               http/tests/misc/async-script.html
1978
1979         * dom/ScriptElement.cpp:
1980         * dom/ScriptElement.h:
1981         * dom/ScriptRunner.cpp:
1982         (WebCore::ScriptRunner::queueScriptForExecution):
1983         * html/HTMLScriptElement.cpp:
1984         * html/HTMLScriptElement.h:
1985         * svg/SVGScriptElement.cpp:
1986         * svg/SVGScriptElement.h:
1987
1988 2012-01-12  Nikolas Zimmermann  <nzimmermann@rim.com>
1989
1990         Large SVG text layout performance regression in r81168
1991         https://bugs.webkit.org/show_bug.cgi?id=65711
1992
1993         Reviewed by Antti Koivisto.
1994
1995         Finish SVGTextMetricsBuilder introduction, tested in my local svg-text-performance branch.
1996         SVGTextMetricsBuilder has two public methods:
1997         a) SVGTextMetricsBuilder::measureTextRenderer(RenderSVGInlineText*)
1998            It will be used exclusively for non-initial, incremental layout changes. Once the inital
1999            text layout ran, any mutation of eg. a child text node of a <tspan>, will only trigger
2000            a rebuild of the layout attributes associated with the passed in renderer.
2001
2002         b) SVGTextMetricsBuilder::buildMetricsAndLayoutAttributes(RenderSVGText*, RenderSVGInlineText* stopAtLeaf, SVGCharacterDataMap& allCharactersMap)
2003            stopAtLeaf=0:
2004            This carries out the initial layout phase. It measures all characters of the whole <text> subtree, and stores the SVGTextMetrics for each character
2005            in the SVGTextLayoutAttributes, stored in the RenderSVGInlineText object. It requires a SVGCharacterDataMap allCharactersMap as input argument,
2006            which contains a HashMap<unsigned, {float x, y, dx, dy, rotate}>, which maps each character position to a set of x/y/dx/dy/rotate values.
2007            The SVGCharacterDataMap living in SVGTextLayoutAttributes will be filled, from the global "allCharactersMap", so that each RenderSVGInlineText only
2008            stores the positioning information for its children, if any.
2009
2010            Note: SVGTextMetricsBuilder is not yet deployed, so this talks about the design, once everything is landed.
2011
2012            stopAtLeaf!=0:
2013            This is never used for the initial layout phase. If the initial layout is done, and eg. a <tspan> is added to the <text> subtree, we no longer
2014            need to rebuild the metrics map & layout attributes for the whole tree, but only for the desired <tspan>, and its previous/next sibling, if present
2015            (which may be affected by the inclusion of another node inbetween them).
2016
2017         SVGTextMetricsBuilder is now finished, and will be used in the next patch chunk.
2018         Doesn't affect any tests yet.
2019
2020         * rendering/svg/SVGTextLayoutAttributes.h:
2021         (WebCore::SVGTextLayoutAttributes::clear):
2022         (WebCore::SVGCharacterData::SVGCharacterData):
2023         * rendering/svg/SVGTextMetricsBuilder.cpp:
2024         (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
2025         (WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair):
2026         (WebCore::SVGTextMetricsBuilder::advance):
2027         (WebCore::SVGTextMetricsBuilder::advanceSimpleText):
2028         (WebCore::SVGTextMetricsBuilder::advanceComplexText):
2029         (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
2030         (WebCore::MeasureTextData::MeasureTextData):
2031         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
2032         (WebCore::SVGTextMetricsBuilder::walkTree):
2033         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
2034         (WebCore::SVGTextMetricsBuilder::buildMetricsAndLayoutAttributes):
2035         * rendering/svg/SVGTextMetricsBuilder.h:
2036
2037 2012-01-13  Pavel Feldman  <pfeldman@google.com>
2038
2039         Not reviewed: Fixing Win builders.
2040
2041         * inspector/DOMEditor.cpp:
2042         (WebCore::DOMEditor::diff):
2043
2044 2012-01-13  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2045
2046         [EFL] Add 'Copy Image Address' to context menu.
2047         https://bugs.webkit.org/show_bug.cgi?id=76153
2048
2049         Reviewed by Andreas Kling.
2050
2051         Enables 'Copy Image Address' option to context menu in WebKit-EFL as it is enabled in GTK and QT ports.
2052
2053         * page/ContextMenuController.cpp:
2054         (WebCore::ContextMenuController::contextMenuItemSelected):
2055         (WebCore::ContextMenuController::populate):
2056         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
2057         * platform/ContextMenuItem.h:
2058         * platform/LocalizationStrategy.h:
2059         * platform/LocalizedStrings.cpp:
2060         * platform/LocalizedStrings.h:
2061         * platform/efl/LocalizedStringsEfl.cpp:
2062         (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
2063
2064 2012-01-13  Pavel Feldman  <pfeldman@google.com>
2065
2066         Not reviewed: 32bit build fix.
2067
2068         * inspector/DOMEditor.cpp:
2069         * inspector/DOMEditor.h:
2070
2071 2012-01-13  Mario Sanchez Prada  <msanchez@igalia.com>
2072
2073         Unreviewed, rolling out r104905.
2074         http://trac.webkit.org/changeset/104905
2075         https://bugs.webkit.org/show_bug.cgi?id=76267
2076
2077         This patch broke tests in the GTK 64bit Debug bot (Requested
2078         by msanchez on #webkit).
2079
2080         * editing/gtk/FrameSelectionGtk.cpp:
2081         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
2082
2083 2012-01-13  Pavel Feldman  <pfeldman@google.com>
2084
2085         Web Inspector: make HTML editing preserve node identity when node nesting level changes.
2086         https://bugs.webkit.org/show_bug.cgi?id=76183
2087
2088         Reviewed by Yury Semikhatsky.
2089
2090         Test: inspector/elements/set-outer-html-2.html
2091
2092         * inspector/DOMEditor.cpp:
2093         (WebCore::DOMEditor::patchDocument):
2094         (WebCore::DOMEditor::patchNode):
2095         (WebCore::DOMEditor::innerPatchHTMLElement):
2096         (WebCore::DOMEditor::innerPatchNode):
2097         (WebCore::DOMEditor::diff):
2098         (WebCore::DOMEditor::innerPatchChildren):
2099         (WebCore::DOMEditor::createDigest):
2100         (WebCore::DOMEditor::insertBefore):
2101         (WebCore::DOMEditor::removeChild):
2102         (WebCore::DOMEditor::markNodeAsUsed):
2103         (WebCore::DOMEditor::dumpMap):
2104         * inspector/DOMEditor.h:
2105         * inspector/InspectorDOMAgent.cpp:
2106         (WebCore::InspectorDOMAgent::setOuterHTML):
2107
2108 2012-01-13  Shinya Kawanaka  <shinyak@google.com>
2109
2110         ShadowContentElement should be able to use query.
2111         https://bugs.webkit.org/show_bug.cgi?id=75302
2112
2113         Reviewed by Hajime Morita.
2114
2115         This patch introduces a selector to query elements in ShadowContentElement.
2116         This can be used instead of ShadowContentElement::shouldInclude in more sophisticated ways.
2117
2118         Tests: fast/dom/shadow/shadow-contents-select-expected.html
2119                fast/dom/shadow/shadow-contents-select.html
2120
2121         * CMakeLists.txt:
2122         * GNUmakefile.list.am:
2123         * Target.pri:
2124         * WebCore.gypi:
2125         * WebCore.vcproj/WebCore.vcproj:
2126         * WebCore.xcodeproj/project.pbxproj:
2127         * dom/DOMAllInOne.cpp:
2128         * dom/SelectorQuery.cpp:
2129         (WebCore::SelectorDataList::SelectorDataList):
2130           Extracted from SelectorQueryto share codes with ShadowContentSelectorQuery.
2131         (WebCore::SelectorDataList::initialize):
2132         (WebCore::SelectorDataList::matches):
2133         (WebCore::SelectorDataList::queryAll):
2134         (WebCore::SelectorDataList::queryFirst):
2135         (WebCore::SelectorDataList::canUseIdLookup):
2136         (WebCore::SelectorDataList::execute):
2137         (WebCore::SelectorQuery::SelectorQuery):
2138         (WebCore::SelectorQuery::queryAll):
2139         (WebCore::SelectorQuery::queryFirst):
2140         * dom/SelectorQuery.h:
2141         (WebCore::SelectorDataList::size):
2142         * dom/ShadowContentElement.cpp:
2143         (WebCore::ShadowContentElement::select):
2144         (WebCore::ShadowContentElement::setSelect):
2145         * dom/ShadowContentElement.h:
2146         * dom/ShadowContentSelectorQuery.cpp: Added.
2147         (WebCore::ShadowContentSelectorQuery::ShadowContentSelectorQuery):
2148         (WebCore::ShadowContentSelectorQuery::matches):
2149           Returns true if Node is matched by the query.
2150         * dom/ShadowContentSelectorQuery.h: Copied from Source/WebCore/dom/ShadowContentElement.h.
2151         * dom/ShadowInclusionSelector.cpp:
2152         (WebCore::ShadowInclusionSelector::select):
2153         * dom/ShadowInclusionSelector.h:
2154         * html/HTMLAttributeNames.in:
2155         * html/HTMLDetailsElement.cpp:
2156         (WebCore::summaryQuerySelector):
2157         (WebCore::DetailsContentElement::DetailsContentElement): Re-implemented using query.
2158         (WebCore::DetailsSummaryElement::DetailsSummaryElement): ditto.
2159
2160 2012-01-13  Ilya Tikhonovsky  <loislo@chromium.org>
2161
2162         Web Inspector: Detailed heap snapshot. _calculateFlags is too slow on a large heap snapshot.
2163         https://bugs.webkit.org/show_bug.cgi?id=76252
2164
2165         _calculateFlags speed is about 10k edges per second.
2166         It requires 150sec for the snapshot with 1.5m edges.
2167         The root of problem is var node = list.shift();
2168         shift() is not effective in term of memory and cpu.
2169         In our case it can be replaced with pop().
2170         Now the function works 40 times faster.
2171
2172         Drive by change: if statement was reformatted a bit for better readability.
2173
2174         Reviewed by Yury Semikhatsky.
2175
2176         * inspector/front-end/HeapSnapshot.js:
2177         (WebInspector.HeapSnapshot.prototype._calculateFlags):
2178
2179 2012-01-13  Alexander Pavlov  <apavlov@chromium.org>
2180
2181         Web Inspector: [Chromium] JavaScriptOutlineDialog fails to open
2182         https://bugs.webkit.org/show_bug.cgi?id=76259
2183
2184         Reviewed by Yury Semikhatsky.
2185
2186         * WebCore.gypi:
2187
2188 2012-01-13  Kentaro Hara  <haraken@chromium.org>
2189
2190         text-decorations should not be propagated to floating, absolutely or fixed
2191         positioned decendants
2192         https://bugs.webkit.org/show_bug.cgi?id=18611
2193
2194         Reviewed by Darin Adler.
2195
2196         Previously text-decorations were propagated to all child elements,
2197         but they should not be propagated to out-of-flow descendants,
2198         i.e. floating, absolutely or fixed positioned elements.
2199
2200         The spec says "text decorations are not propagated to any out-of-flow descendants":
2201         http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
2202
2203         Test: fast/css/text-decoration-in-descendants.html
2204
2205         * rendering/RenderObject.cpp:
2206         (WebCore::RenderObject::getTextDecorationColors):
2207
2208 2012-01-13  Kent Tamura  <tkent@chromium.org>
2209
2210         REGRESSION (r104668): Crash in HTMLFormElement destructor if the
2211         document contains radio groups with the identical name.
2212         https://bugs.webkit.org/show_bug.cgi?id=76206
2213
2214         Reviewed by Darin Adler.
2215
2216         Test: fast/forms/radio/radio-group-document-destruction.html
2217
2218         * html/HTMLInputElement.cpp:
2219         (WebCore::HTMLInputElement::~HTMLInputElement):
2220         setForm(0) may register this to a document-level radio button group.
2221         We need to unregister this from the group because
2222         Document::checkedRadioButtons() is still accessible from other objects.
2223
2224 2012-01-13  Mario Sanchez Prada  <msanchez@igalia.com>
2225
2226         [GTK] ATK text-caret-moved and text-selection-changed events not being emitted
2227         https://bugs.webkit.org/show_bug.cgi?id=76069
2228
2229         Reviewed by Martin Robinson.
2230
2231         Fix bug introduced with patch for Bug 72830.
2232
2233         * editing/gtk/FrameSelectionGtk.cpp:
2234         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
2235         Pass the right accessibility object associated with the current
2236         selection to objectFocusedAndCaretOffsetUnignored.
2237
2238 2012-01-13  Alexandru Chiculita  <achicu@adobe.com>
2239
2240         Refactor RenderLayerBacking::paintIntoLayer and RenderLayer::paintLayer()/paintLayerContents() to avoid duplicate code
2241         https://bugs.webkit.org/show_bug.cgi?id=75983
2242
2243         Reviewed by Simon Fraser.
2244
2245         No new tests, just merging two duplicate methods.
2246
2247         * rendering/RenderLayer.cpp:
2248         (WebCore::RenderLayer::paintLayer):
2249             This method is used only in non-composited mode, so I've moved the check for composited mode much earlier.
2250
2251         (WebCore::RenderLayer::paintLayerContentsAndReflection):
2252             Also used just in non-composited mode, it will draw the reflection and then just call paintLayerContents.
2253
2254         (WebCore::RenderLayer::paintLayerContents):
2255             Old method, that is now used by both composited and non-composited mode. I've added 3 more flags used to render the
2256             Graphics layers: Background, Foreground and Mask.
2257
2258         * rendering/RenderLayer.h:
2259         * rendering/RenderLayerBacking.cpp:
2260         (WebCore::RenderLayerBacking::paintIntoLayer):
2261             Removed all the code and delegated the work to RenderLayer::paintLayerContents.
2262
2263 2012-01-12  Gavin Barraclough  <barraclough@apple.com>
2264
2265         Clean up putDirect (part 2)
2266         https://bugs.webkit.org/show_bug.cgi?id=76232
2267
2268         Reviewed by Sam Weinig.
2269
2270         Rename putWithAttributes to putDirectVirtual.
2271
2272         * bindings/js/JSDOMWindowShell.cpp:
2273         (WebCore::JSDOMWindowShell::putDirectVirtual):
2274         * bindings/js/JSDOMWindowShell.h:
2275
2276 2012-01-12  MORITA Hajime  <morrita@google.com>
2277
2278         [Chromium] JSExportMacros.h should be visible.
2279         https://bugs.webkit.org/show_bug.cgi?id=76147
2280
2281         Reviewed by Tony Chang.
2282
2283         No new tests. No behavior change.
2284
2285         * config.h:
2286
2287 2012-01-12  ChangSeok Oh  <shivamidow@gmail.com>
2288
2289         Split GraphicsContext3DOpenGL into several files
2290         https://bugs.webkit.org/show_bug.cgi?id=75462
2291
2292         Reviewed by Kenneth Russell.
2293
2294         Split GraphicsContext3DOpenGL.cpp into three files, GraphicsContext3DOpenGLCommon.cpp,
2295         GraphicsContext3DOpenGL.cpp & GraphicsContext3DOpenGLES.cpp so that makes gles support possible
2296         for WebGL etc. Most of common APIs between gl and gles are in GraphicsContext3DOpenGLCommon.cpp.
2297         The other gl and gles specific APIs are placed apart in GraphicsContext3DOpenGL.cpp &
2298         GraphicsContext3DOpenGLES.cpp
2299
2300         No new tests required.
2301
2302         * GNUmakefile.list.am: Added GraphicsContext3DOpenGLCommon.cpp
2303         * Target.pri: Added GraphicsContext3DOpenGLCommon.cpp
2304         * WebCore.gypi: Added GraphicsContext3DOpenGLCommon.cpp
2305         * WebCore.xcodeproj/project.pbxproj: Added GraphicsContext3DOpenGLCommon.cpp
2306         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2307         (WebCore::GraphicsContext3D::readPixels):
2308         (WebCore::GraphicsContext3D::renderbufferStorage):
2309         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: Copied from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp.
2310         (WebCore::GraphicsContext3D::validateAttributes):
2311         (WebCore::GraphicsContext3D::isResourceSafe):
2312         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2313         (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
2314         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
2315         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
2316         (WebCore::GraphicsContext3D::activeTexture):
2317         (WebCore::GraphicsContext3D::attachShader):
2318         (WebCore::GraphicsContext3D::bindAttribLocation):
2319         (WebCore::GraphicsContext3D::bindBuffer):
2320         (WebCore::GraphicsContext3D::bindRenderbuffer):
2321         (WebCore::GraphicsContext3D::bindTexture):
2322         (WebCore::GraphicsContext3D::blendColor):
2323         (WebCore::GraphicsContext3D::blendEquation):
2324         (WebCore::GraphicsContext3D::blendEquationSeparate):
2325         (WebCore::GraphicsContext3D::blendFunc):
2326         (WebCore::GraphicsContext3D::blendFuncSeparate):
2327         (WebCore::GraphicsContext3D::bufferData):
2328         (WebCore::GraphicsContext3D::bufferSubData):
2329         (WebCore::GraphicsContext3D::checkFramebufferStatus):
2330         (WebCore::GraphicsContext3D::clearColor):
2331         (WebCore::GraphicsContext3D::clear):
2332         (WebCore::GraphicsContext3D::clearDepth):
2333         (WebCore::GraphicsContext3D::clearStencil):
2334         (WebCore::GraphicsContext3D::colorMask):
2335         (WebCore::GraphicsContext3D::compileShader):
2336         (WebCore::GraphicsContext3D::cullFace):
2337         (WebCore::GraphicsContext3D::depthFunc):
2338         (WebCore::GraphicsContext3D::depthMask):
2339         (WebCore::GraphicsContext3D::depthRange):
2340         (WebCore::GraphicsContext3D::detachShader):
2341         (WebCore::GraphicsContext3D::disable):
2342         (WebCore::GraphicsContext3D::disableVertexAttribArray):
2343         (WebCore::GraphicsContext3D::drawArrays):
2344         (WebCore::GraphicsContext3D::drawElements):
2345         (WebCore::GraphicsContext3D::enable):
2346         (WebCore::GraphicsContext3D::enableVertexAttribArray):
2347         (WebCore::GraphicsContext3D::finish):
2348         (WebCore::GraphicsContext3D::flush):
2349         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
2350         (WebCore::GraphicsContext3D::framebufferTexture2D):
2351         (WebCore::GraphicsContext3D::frontFace):
2352         (WebCore::GraphicsContext3D::generateMipmap):
2353         (WebCore::GraphicsContext3D::getActiveAttrib):
2354         (WebCore::GraphicsContext3D::getAttachedShaders):
2355         (WebCore::GraphicsContext3D::getAttribLocation):
2356         (WebCore::GraphicsContext3D::getContextAttributes):
2357         (WebCore::GraphicsContext3D::getError):
2358         (WebCore::GraphicsContext3D::getString):
2359         (WebCore::GraphicsContext3D::hint):
2360         (WebCore::GraphicsContext3D::isBuffer):
2361         (WebCore::GraphicsContext3D::isEnabled):
2362         (WebCore::GraphicsContext3D::isFramebuffer):
2363         (WebCore::GraphicsContext3D::isProgram):
2364         (WebCore::GraphicsContext3D::isRenderbuffer):
2365         (WebCore::GraphicsContext3D::isShader):
2366         (WebCore::GraphicsContext3D::isTexture):
2367         (WebCore::GraphicsContext3D::lineWidth):
2368         (WebCore::GraphicsContext3D::linkProgram):
2369         (WebCore::GraphicsContext3D::pixelStorei):
2370         (WebCore::GraphicsContext3D::polygonOffset):
2371         (WebCore::GraphicsContext3D::releaseShaderCompiler):
2372         (WebCore::GraphicsContext3D::sampleCoverage):
2373         (WebCore::GraphicsContext3D::scissor):
2374         (WebCore::GraphicsContext3D::shaderSource):
2375         (WebCore::GraphicsContext3D::stencilFunc):
2376         (WebCore::GraphicsContext3D::stencilFuncSeparate):
2377         (WebCore::GraphicsContext3D::stencilMask):
2378         (WebCore::GraphicsContext3D::stencilMaskSeparate):
2379         (WebCore::GraphicsContext3D::stencilOp):
2380         (WebCore::GraphicsContext3D::stencilOpSeparate):
2381         (WebCore::GraphicsContext3D::texParameterf):
2382         (WebCore::GraphicsContext3D::texParameteri):
2383         (WebCore::GraphicsContext3D::uniform1f):
2384         (WebCore::GraphicsContext3D::uniform1fv):
2385         (WebCore::GraphicsContext3D::uniform2f):
2386         (WebCore::GraphicsContext3D::uniform2fv):
2387         (WebCore::GraphicsContext3D::uniform3f):
2388         (WebCore::GraphicsContext3D::uniform3fv):
2389         (WebCore::GraphicsContext3D::uniform4f):
2390         (WebCore::GraphicsContext3D::uniform4fv):
2391         (WebCore::GraphicsContext3D::uniform1i):
2392         (WebCore::GraphicsContext3D::uniform1iv):
2393         (WebCore::GraphicsContext3D::uniform2i):
2394         (WebCore::GraphicsContext3D::uniform2iv):
2395         (WebCore::GraphicsContext3D::uniform3i):
2396         (WebCore::GraphicsContext3D::uniform3iv):
2397         (WebCore::GraphicsContext3D::uniform4i):
2398         (WebCore::GraphicsContext3D::uniform4iv):
2399         (WebCore::GraphicsContext3D::uniformMatrix2fv):
2400         (WebCore::GraphicsContext3D::uniformMatrix3fv):
2401         (WebCore::GraphicsContext3D::uniformMatrix4fv):
2402         (WebCore::GraphicsContext3D::useProgram):
2403         (WebCore::GraphicsContext3D::validateProgram):
2404         (WebCore::GraphicsContext3D::vertexAttrib1f):
2405         (WebCore::GraphicsContext3D::vertexAttrib1fv):
2406         (WebCore::GraphicsContext3D::vertexAttrib2f):
2407         (WebCore::GraphicsContext3D::vertexAttrib2fv):
2408         (WebCore::GraphicsContext3D::vertexAttrib3f):
2409         (WebCore::GraphicsContext3D::vertexAttrib3fv):
2410         (WebCore::GraphicsContext3D::vertexAttrib4f):
2411         (WebCore::GraphicsContext3D::vertexAttrib4fv):
2412         (WebCore::GraphicsContext3D::vertexAttribPointer):
2413         (WebCore::GraphicsContext3D::viewport):
2414         (WebCore::GraphicsContext3D::getBooleanv):
2415         (WebCore::GraphicsContext3D::getBufferParameteriv):
2416         (WebCore::GraphicsContext3D::getFloatv):
2417         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
2418         (WebCore::GraphicsContext3D::getProgramiv):
2419         (WebCore::GraphicsContext3D::getProgramInfoLog):
2420         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
2421         (WebCore::GraphicsContext3D::getShaderiv):
2422         (WebCore::GraphicsContext3D::getShaderInfoLog):
2423         (WebCore::GraphicsContext3D::getShaderSource):
2424         (WebCore::GraphicsContext3D::getTexParameterfv):
2425         (WebCore::GraphicsContext3D::getTexParameteriv):
2426         (WebCore::GraphicsContext3D::getUniformfv):
2427         (WebCore::GraphicsContext3D::getUniformiv):
2428         (WebCore::GraphicsContext3D::getUniformLocation):
2429         (WebCore::GraphicsContext3D::getVertexAttribfv):
2430         (WebCore::GraphicsContext3D::getVertexAttribiv):
2431         (WebCore::GraphicsContext3D::getVertexAttribOffset):
2432         (WebCore::GraphicsContext3D::texSubImage2D):
2433         (WebCore::GraphicsContext3D::compressedTexImage2D):
2434         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
2435         (WebCore::GraphicsContext3D::createBuffer):
2436         (WebCore::GraphicsContext3D::createFramebuffer):
2437         (WebCore::GraphicsContext3D::createProgram):
2438         (WebCore::GraphicsContext3D::createRenderbuffer):
2439         (WebCore::GraphicsContext3D::createShader):
2440         (WebCore::GraphicsContext3D::createTexture):
2441         (WebCore::GraphicsContext3D::deleteBuffer):
2442         (WebCore::GraphicsContext3D::deleteFramebuffer):
2443         (WebCore::GraphicsContext3D::deleteProgram):
2444         (WebCore::GraphicsContext3D::deleteRenderbuffer):
2445         (WebCore::GraphicsContext3D::deleteShader):
2446         (WebCore::GraphicsContext3D::deleteTexture):
2447         (WebCore::GraphicsContext3D::synthesizeGLError):
2448         (WebCore::GraphicsContext3D::markContextChanged):
2449         (WebCore::GraphicsContext3D::markLayerComposited):
2450         (WebCore::GraphicsContext3D::layerComposited):
2451         (WebCore::GraphicsContext3D::getExtensions):
2452         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: Added.
2453         (WebCore::GraphicsContext3D::readRenderingResults):
2454         (WebCore::GraphicsContext3D::reshape):
2455         (WebCore::GraphicsContext3D::prepareTexture):
2456         (WebCore::GraphicsContext3D::bindFramebuffer):
2457         (WebCore::GraphicsContext3D::copyTexImage2D):
2458         (WebCore::GraphicsContext3D::copyTexSubImage2D):
2459         (WebCore::GraphicsContext3D::getActiveUniform):
2460         (WebCore::GraphicsContext3D::readPixels):
2461         (WebCore::GraphicsContext3D::renderbufferStorage):
2462         (WebCore::GraphicsContext3D::getIntegerv):
2463         (WebCore::GraphicsContext3D::texImage2D):
2464
2465 2012-01-12  Wei James  <james.wei@intel.com>
2466
2467         Add vsma in VectorMath to handle vector scale multiply and add and use it in AudioBus
2468         https://bugs.webkit.org/show_bug.cgi?id=75835
2469
2470         When summing a audio bus, the source is multiplied with the scale and
2471         then summed into the destination bus. Add this function to fulfill it.
2472
2473         Reviewed by Kenneth Russell.
2474
2475         * platform/audio/AudioBus.cpp:
2476         * platform/audio/VectorMath.cpp:
2477         (WebCore::VectorMath::vsma):
2478         * platform/audio/VectorMath.h:
2479
2480 2012-01-12  James Simonsen  <simonjam@chromium.org>
2481
2482         Web Inspector: [Chomium] Resources loaded with 304 status code have receiving time of 15000 days in network panel.
2483         https://bugs.webkit.org/show_bug.cgi?id=76176
2484
2485         Reviewed by Nate Chapin.
2486
2487         No new tests. Can't trigger this with inspector tests. Will add one when the Resource Timing API is in.
2488
2489         * loader/SubresourceLoader.cpp:
2490         (WebCore::SubresourceLoader::didReceiveResponse): Use monotonic time.
2491
2492 2012-01-12  Alexey Proskuryakov  <ap@apple.com>
2493
2494         NSURL to KURL conversion shouldn't turn raw paths into file URLs
2495         https://bugs.webkit.org/show_bug.cgi?id=76234
2496
2497         Reviewed by Darin Adler.
2498
2499         * platform/mac/KURLMac.mm: (WebCore::KURL::KURL): Removed this code.
2500
2501 2012-01-12  Anders Carlsson  <andersca@apple.com>
2502
2503         Create a GraphicsLayer for the overhang areas if threaded scrolling is enabled
2504         https://bugs.webkit.org/show_bug.cgi?id=76220
2505
2506         Reviewed by Simon Fraser.
2507
2508         * page/FrameView.cpp:
2509         Remove PLATFORM(CHROMIUM) #ifdefs.
2510
2511         * page/FrameView.h:
2512         Ditto.
2513
2514         * platform/ScrollView.cpp:
2515         (WebCore::ScrollView::wheelEvent):
2516         Ditto.
2517
2518         * platform/ScrollableArea.h:
2519         Ditto.
2520
2521         * rendering/RenderLayerCompositor.cpp:
2522         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
2523         Ditto.
2524
2525         (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
2526         Make this return true if we have a scrolling coordinator.
2527
2528         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2529         Remove PLATFORM(CHROMIUM) #ifdefs. Fix a bug the overhang layer was being added above the clip layer.
2530
2531         (WebCore::RenderLayerCompositor::destroyRootLayer):
2532         Remove PLATFORM(CHROMIUM) #ifdefs.
2533         
2534         * rendering/RenderLayerCompositor.h:
2535         Ditto.
2536
2537 2012-01-12  Kenichi Ishibashi  <bashi@chromium.org>
2538
2539         Move SimpleFontDataSkia.cpp to Source/WebCore/platform/graphics/skia
2540         https://bugs.webkit.org/show_bug.cgi?id=76155
2541
2542         Reviewed by Tony Chang.
2543
2544         No new tests. No behavior change.
2545
2546         * PlatformBlackBerry.cmake:
2547         * WebCore.gyp/WebCore.gyp:
2548         * WebCore.gypi:
2549         * platform/graphics/skia/SimpleFontDataSkia.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/SimpleFontDataSkia.cpp.
2550         (WebCore::SimpleFontData::platformInit):
2551         (WebCore::SimpleFontData::platformCharWidthInit):
2552         (WebCore::SimpleFontData::platformDestroy):
2553         (WebCore::SimpleFontData::createScaledFontData):
2554         (WebCore::SimpleFontData::smallCapsFontData):
2555         (WebCore::SimpleFontData::emphasisMarkFontData):
2556         (WebCore::SimpleFontData::containsCharacters):
2557         (WebCore::SimpleFontData::determinePitch):
2558         (WebCore::SimpleFontData::platformBoundsForGlyph):
2559         (WebCore::SimpleFontData::platformWidthForGlyph):
2560
2561 2012-01-12  Benjamin Poulain  <bpoulain@apple.com>
2562
2563         A Frame with frame flattening can be stuck in a state in which performPostLayoutTasks() is never executed
2564         https://bugs.webkit.org/show_bug.cgi?id=76154
2565
2566         Reviewed by Beth Dakin.
2567
2568         In a frame with inSubframeLayoutWithFrameFlattening == true, if
2569         -m_hasPendingPostLayoutTasks == true
2570         -FrameView::unscheduleRelayout() is executed
2571         -->the timer m_postLayoutTasksTimer is stopped
2572         -->no timer is scheduled due to m_hasPendingPostLayoutTasks == true && inSubframeLayoutWithFrameFlattening == true
2573
2574         This patch revert the handling of the postLayoutTasks to its state prior to r66552.
2575
2576         The timer itself is used as the only state to know if post layout tasks are scheduled.
2577
2578         For the case without frame flattening:
2579         -Prior to this patch, when FrameView::unscheduleRelayout() was executed, the postLayoutTasksTimer was killed,
2580         and the post layout tasks would be executed during the next layout().
2581         -After this patch, the post layout tasks stay scheduled and are executed on the next event loop if layout()
2582         was not invoked before.
2583
2584         * page/FrameView.cpp:
2585         (WebCore::FrameView::FrameView):
2586         (WebCore::FrameView::~FrameView):
2587         (WebCore::FrameView::reset):
2588         (WebCore::FrameView::layout):
2589         (WebCore::FrameView::unscheduleRelayout):
2590         (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
2591         (WebCore::FrameView::performPostLayoutTasks):
2592         * page/FrameView.h:
2593
2594 2012-01-12  Yongjun Zhang  <yongjun_zhang@apple.com>
2595
2596         Reviewed by Benjamin Poulain.
2597
2598         https://bugs.webkit.org/show_bug.cgi?id=75991
2599         Make the code in MemoryPressureHandler::respondToMemoryPressure shareable.
2600
2601         Move memory pressure handling code inside a new function (releaseMemory) so that
2602         we could shared it between mac and iOS.
2603
2604         * Configurations/WebCore.xcconfig: add MemoryPressureHandlerMac.mm into iOS build.
2605         * platform/MemoryPressureHandler.h:
2606         * platform/mac/MemoryPressureHandlerMac.mm:
2607         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
2608         (WebCore::MemoryPressureHandler::releaseMemory):
2609
2610 2012-01-12  Eric Seidel  <eric@webkit.org>
2611
2612         Refactor DOMImplementation.hasFeature logic into helper functions.
2613         https://bugs.webkit.org/show_bug.cgi?id=76212
2614
2615         Reviewed by Adam Barth.
2616
2617         This patch should not have any behavior change.  The goal was
2618         to move our feature detection towards a more modular architecture
2619         (as that seems to be the current trend in webkit).  In a future
2620         patch we could easily move the SVG feature detection into the
2621         SVG directory, for example.  I've also added a list of all the
2622         Event3 features (currently commented out) which makes it obvious
2623         how many we're missing.
2624
2625         * dom/DOMImplementation.cpp:
2626         (WebCore::isSVG10Feature):
2627         (WebCore::isSVG11Feature):
2628         (WebCore::isEvents2Feature):
2629         (WebCore::isEvents3Feature):
2630         (WebCore::DOMImplementation::hasFeature):
2631
2632 2012-01-12  Adam Barth  <abarth@webkit.org>
2633
2634         NodeIterator loses track of the reference node when the reference node is removed from the document (IETC ni_removeReferenceNode)
2635         https://bugs.webkit.org/show_bug.cgi?id=76146
2636
2637         Reviewed by Eric Seidel.
2638
2639         In the case where we're removing the reference node we can end up with
2640         the wrong reference node.  This patch makes sure we traverse outside of
2641         the removed node's subtree.
2642
2643         This bug was caught by the following IE Test Center test:
2644
2645         http://samples.msdn.microsoft.com/ietestcenter/domtraversal/showdomtraversaltest.htm?ni_removeReferenceNode
2646
2647         Our new behavior also match Firefox.
2648
2649         I experimented a bit with adding ASSERT_NOT_REACHED to various branches
2650         in NodeIterator::updateForNodeRemoval, and it seems our test coverage
2651         for this function is relatively poor.  In the future, we should
2652         consider adding more tests for this complicated function.
2653
2654         Test: fast/dom/node-iterator-reference-node-removed.html
2655
2656         * dom/NodeIterator.cpp:
2657         (WebCore::NodeIterator::updateForNodeRemoval):
2658
2659 2012-01-12  Joshua Bell  <jsbell@chromium.org>
2660
2661         IndexedDB: Throw exception if IDBCursor.continue() called with key equal to current
2662         https://bugs.webkit.org/show_bug.cgi?id=76100
2663
2664         The fix for https://bugs.webkit.org/show_bug.cgi?id=74213 missed the "or equal" clause
2665         in the spec.
2666
2667         Reviewed by Tony Chang.
2668
2669         Test: storage/indexeddb/cursor-continue.html
2670
2671         * storage/IDBCursorBackendImpl.cpp:
2672         (WebCore::IDBCursorBackendImpl::continueFunction):
2673
2674 2012-01-12  Jon Lee  <jonlee@apple.com>
2675
2676         Setting value on a select element to a non existing option value should clear selection
2677         https://bugs.webkit.org/show_bug.cgi?id=67233
2678         <rdar://problem/10057159>
2679
2680         Reviewed by Darin Adler.
2681
2682         Test: fast/forms/select/setting-to-invalid-value.html
2683
2684         * html/HTMLSelectElement.cpp:
2685         (WebCore::HTMLSelectElement::setValue): Clear the selection in the cases where we cannot
2686         find an option with the specified value. The spec states to clear the selectedness of all
2687         options first. To avoid calling setSelectedIndex() multiple times, we clear the selected
2688         option(s) only when don't find the appropriate option.
2689
2690         Also, correct the sentence style of a comment.
2691
2692 2012-01-12  Jer Noble  <jer.noble@apple.com>
2693
2694         Unreviewed build fix after r104858.
2695
2696         NSDataReadingMappedIfSafe is not defined on <= 10.6.  Use NSDataReadingMapped on that platform instead.
2697
2698         * platform/audio/mac/AudioBusMac.mm:
2699         (WebCore::AudioBus::loadPlatformResource):
2700
2701 2012-01-12  Dana Jansens  <danakj@chromium.org>
2702
2703         [skia] Track a simple opaque area when painting via PlatformContextSkia and save in LayerTextureUpdater
2704         https://bugs.webkit.org/show_bug.cgi?id=74352
2705
2706         Reviewed by Stephen White.
2707
2708         New unit tests in PlatformContextSkiaTest.cpp
2709
2710         * WebCore.gypi:
2711         * platform/graphics/skia/GraphicsContextSkia.cpp:
2712         (WebCore::GraphicsContext::clearRect):
2713         (WebCore::GraphicsContext::drawConvexPolygon):
2714         (WebCore::GraphicsContext::drawEllipse):
2715         (WebCore::drawOuterPath):
2716         (WebCore::drawInnerPath):
2717         (WebCore::GraphicsContext::drawFocusRing):
2718         (WebCore::GraphicsContext::drawLine):
2719         (WebCore::GraphicsContext::drawLineForTextChecking):
2720         (WebCore::GraphicsContext::drawLineForText):
2721         (WebCore::GraphicsContext::fillPath):
2722         (WebCore::GraphicsContext::fillRect):
2723         (WebCore::GraphicsContext::fillRoundedRect):
2724         (WebCore::GraphicsContext::strokeArc):
2725         (WebCore::GraphicsContext::strokePath):
2726         (WebCore::GraphicsContext::strokeRect):
2727         * platform/graphics/skia/ImageSkia.cpp:
2728         (WebCore::paintSkBitmap):
2729         * platform/graphics/skia/OpaqueRegionSkia.cpp: Added.
2730         (WebCore::OpaqueRegionSkia::OpaqueRegionSkia):
2731         (WebCore::OpaqueRegionSkia::~OpaqueRegionSkia):
2732         (WebCore::OpaqueRegionSkia::asRect):
2733         (WebCore::xfermodeIsOpaque):
2734         (WebCore::xfermodePreservesOpaque):
2735         (WebCore::paintIsOpaque):
2736         (WebCore::OpaqueRegionSkia::didDrawRect):
2737         (WebCore::OpaqueRegionSkia::didDrawPath):
2738         (WebCore::OpaqueRegionSkia::didDrawPoints):
2739         (WebCore::OpaqueRegionSkia::didDrawBounded):
2740         (WebCore::OpaqueRegionSkia::didDraw):
2741         (WebCore::OpaqueRegionSkia::didDrawUnbounded):
2742         (WebCore::OpaqueRegionSkia::markRectAsOpaque):
2743         (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
2744         * platform/graphics/skia/OpaqueRegionSkia.h: Added.
2745         * platform/graphics/skia/PlatformContextSkia.cpp:
2746         (WebCore::PlatformContextSkia::PlatformContextSkia):
2747         (WebCore::PlatformContextSkia::clippedToImage):
2748         (WebCore::PlatformContextSkia::drawRect):
2749         (WebCore::PlatformContextSkia::paintSkPaint):
2750         (WebCore::PlatformContextSkia::didDrawRect):
2751         (WebCore::PlatformContextSkia::didDrawPath):
2752         (WebCore::PlatformContextSkia::didDrawPoints):
2753         (WebCore::PlatformContextSkia::didDrawBounded):
2754         * platform/graphics/skia/PlatformContextSkia.h:
2755         (WebCore::PlatformContextSkia::setTrackOpaqueRegion):
2756         (WebCore::PlatformContextSkia::opaqueRegion):
2757
2758 2012-01-12  Beth Dakin  <bdakin@apple.com>
2759
2760         https://bugs.webkit.org/show_bug.cgi?id=76209
2761         Support expanded scrollbars
2762         -and corresponding-
2763         <rdar://problem/10527734>
2764
2765         Reviewed by Sam Weinig.
2766
2767         All this really requires is leaving the proper amount of space for the 
2768         expanded width.
2769         * platform/mac/NSScrollerImpDetails.h:
2770         * platform/mac/ScrollbarThemeMac.mm:
2771         (WebCore::supportsExpandedScrollbars):
2772         (WebCore::ScrollbarThemeMac::scrollbarThickness):
2773
2774 2011-12-12  Jer Noble  <jer.noble@apple.com>
2775
2776         WebAudio: Enable USE_CONCATENATED_IMPULSE_RESPONSES on Mac port.
2777         https://bugs.webkit.org/show_bug.cgi?id=74328
2778
2779         Reviewed by Eric Carlson.
2780
2781         No new tests; no net change in functionality.
2782
2783         * WebCore.xcodeproj/project.pbxproj: Added SincResampler class, Composite.wav to the project.
2784             Removed IRC_*.wav resources from the project.
2785         * platform/audio/AudioBus.cpp:
2786         (WebCore::AudioBus::createBySampleRateConverting): Uncommented this function
2787         * platform/audio/AudioBus.h:
2788         * platform/audio/HRTFElevation.cpp:
2789
2790 2011-12-12  Jer Noble  <jer.noble@apple.com>
2791
2792         WebAudio: AudioBus::loadPlatformResource should mmap file on Mac port.
2793         https://bugs.webkit.org/show_bug.cgi?id=74326
2794
2795         Reviewed by Darin Adler.
2796
2797         No new tests; no net change in functionality.
2798
2799         Use NSDataReadingMappedIfSafe when reading platform audio file data.
2800
2801         * platform/audio/mac/AudioBusMac.mm:
2802         (WebCore::AudioBus::loadPlatformResource):
2803
2804 2011-12-12  Jer Noble  <jer.noble@apple.com>
2805
2806         WebAudio: Use Logging instead of printf.
2807         https://bugs.webkit.org/show_bug.cgi?id=74322
2808
2809         Reviewed by Darin Adler.
2810
2811         No new tests; no net change in functionality.
2812
2813         Add a new WebCoreLogLevel for WebAudio, and use this new log level instead of 
2814         printf statements in webaudio classes.
2815
2816         * platform/Logging.cpp:
2817         (WebCore::getChannelFromName):
2818         * platform/Logging.h:
2819         * platform/mac/LoggingMac.mm:
2820         (WebCore::InitializeLoggingChannelsIfNecessary):
2821         * platform/audio/FFTFrame.cpp:
2822         (WebCore::FFTFrame::print):
2823         * webaudio/DefaultAudioDestinationNode.cpp:
2824         (WebCore::DefaultAudioDestinationNode::initialize):
2825
2826 2012-01-12  Anders Carlsson  <andersca@apple.com>
2827
2828         Make ScrollElasticityController members private
2829         https://bugs.webkit.org/show_bug.cgi?id=76208
2830
2831         Reviewed by Andreas Kling.
2832
2833         * platform/mac/ScrollAnimatorMac.mm:
2834         (WebCore::ScrollAnimatorMac::endScrollGesture):
2835         Call ScrollElasticityController::endScrollGesture.
2836
2837         * platform/mac/ScrollElasticityController.h:
2838         Make members private.
2839
2840         * platform/mac/ScrollElasticityController.mm:
2841         (WebCore::ScrollElasticityController::endScrollGesture):
2842         Call snapRubberBand.
2843
2844         (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
2845         Call stopSnapRubberbandTimer.
2846
2847 2012-01-12  Anders Carlsson  <andersca@apple.com>
2848
2849         Move wheel event handling to ScrollElasticityController::handleWheelEvent
2850         https://bugs.webkit.org/show_bug.cgi?id=76205
2851
2852         Reviewed by Andreas Kling.
2853
2854         Move the code in ScrollAnimatorMac::smoothScrollWithEvent to ScrollElasticityController::handleWheelEvent and
2855         change ScrollAnimatorMac::handleWheelEvent to just call ScrollElasticityController::handleWheelEvent.
2856         This means that we'll not set m_haveScrolledSincePageLoad = true anymore (we used to set it in ScrollAnimatorMac::smoothScrollWithEvent),
2857         but we already set it to true in ScrollAnimatorMac::handleWheelEvent so it already had no effect.
2858
2859         * platform/mac/ScrollAnimatorMac.h:
2860         * platform/mac/ScrollAnimatorMac.mm:
2861         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2862         * platform/mac/ScrollElasticityController.h:
2863         * platform/mac/ScrollElasticityController.mm:
2864         (WebCore::elasticDeltaForReboundDelta):
2865         (WebCore::scrollWheelMultiplier):
2866         (WebCore::ScrollElasticityController::handleWheelEvent):
2867
2868 2012-01-12  Simon Fraser  <simon.fraser@apple.com>
2869
2870         Borders and box masks behave incorrectly with overlapping offsets
2871         https://bugs.webkit.org/show_bug.cgi?id=76137
2872
2873         Reviewed by Dave Hyatt.
2874         
2875         When border-image-slice sizes add up to more than the height or width
2876         of the border-image, the middle sections should not be rendered, per spec.
2877         
2878         Test: fast/borders/border-image-slice-constrained.html
2879
2880         * rendering/RenderBoxModelObject.cpp:
2881         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2882
2883 2012-01-12  Anders Carlsson  <andersca@apple.com>
2884
2885         Make all calls to pinnedInDirection go through the ScrollElasticityController
2886         https://bugs.webkit.org/show_bug.cgi?id=76204
2887
2888         Reviewed by Andreas Kling.
2889
2890         * platform/mac/ScrollAnimatorMac.mm:
2891         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
2892
2893 2012-01-12  Stephen White  <senorblanco@chromium.org>
2894
2895         [chromium] Re-enable Skia feColorMatrix filter implementation.
2896         https://bugs.webkit.org/show_bug.cgi?id=76186
2897
2898         This code was landed in http://trac.webkit.org/changeset/104566 and
2899         partially reverted in http://trac.webkit.org/changeset/104632 due
2900         to problems with the Windows Shared builder.  Those problems have
2901         been fixed in r3006, since rolled into Chrome.
2902
2903         Reviewed by Kenneth Russell.
2904
2905         Covered by SVG feColorMatrix tests.
2906
2907         * WebCore.gypi:
2908         * platform/graphics/filters/FEColorMatrix.h:
2909
2910 2012-01-12  Anders Carlsson  <andersca@apple.com>
2911
2912         Add allowsHorizontalStretching and allowsVerticalStretching to ScrollElasticityControllerClient
2913         https://bugs.webkit.org/show_bug.cgi?id=76202
2914
2915         Reviewed by Andreas Kling.
2916
2917         * platform/mac/ScrollAnimatorMac.h:
2918         * platform/mac/ScrollAnimatorMac.mm:
2919         (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
2920         (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
2921         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
2922         * platform/mac/ScrollElasticityController.h:
2923
2924 2012-01-12  Anders Carlsson  <andersca@apple.com>
2925
2926         Move snapRubberBand to ScrollElasticityController
2927         https://bugs.webkit.org/show_bug.cgi?id=76200
2928
2929         Reviewed by Andreas Kling.
2930
2931         * platform/mac/ScrollAnimatorMac.h:
2932         * platform/mac/ScrollAnimatorMac.mm:
2933         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
2934         (WebCore::ScrollAnimatorMac::endScrollGesture):
2935         * platform/mac/ScrollElasticityController.h:
2936         * platform/mac/ScrollElasticityController.mm:
2937         (systemUptime):
2938         (WebCore::ScrollElasticityController::snapRubberBand):
2939
2940 2012-01-12  Antti Koivisto  <antti@apple.com>
2941
2942         REGRESSION(r104060): Setting user stylesheet may leave CSSStyleSelector with stale rule pointers 
2943         https://bugs.webkit.org/show_bug.cgi?id=76191
2944
2945         Reviewed by Andreas Kling.
2946         
2947         Setting the user style sheet frees the existing user style sheet data structures. The code
2948         in Document::updatePageGroupUserSheets then relies on styleSelectorChanged to clear the
2949         style selector so it is not left with stale pointers. However under certain conditions
2950         involving pending stylesheets it may bail out quickly without clearing.
2951         
2952         Document::styleSelectorChanged has to take care that it never leaves the style selector stale
2953         even when bailing out early.
2954
2955         Test: fast/css/user-stylesheet-crash.html
2956
2957         * dom/Document.cpp:
2958         (WebCore::Document::styleSelectorChanged):
2959
2960 2012-01-12  Nat Duca  <nduca@chromium.org>
2961
2962         [chromium] Turn off FrameRateController timesource when it is not needed
2963         https://bugs.webkit.org/show_bug.cgi?id=76149
2964
2965         Reviewed by James Robinson.
2966
2967         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
2968         (WebCore::CCDelayBasedTimeSource::active):
2969         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
2970         (WebCore::CCFrameRateController::setActive):
2971         (WebCore::CCFrameRateController::onTimerTick):
2972         * platform/graphics/chromium/cc/CCFrameRateController.h:
2973         * platform/graphics/chromium/cc/CCScheduler.cpp:
2974         (WebCore::CCScheduler::CCScheduler):
2975         (WebCore::CCScheduler::setVisible):
2976         (WebCore::CCScheduler::processScheduledActions):
2977         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
2978         (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
2979         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
2980         * platform/graphics/chromium/cc/CCTimeSource.h:
2981
2982 2012-01-12  Anders Carlsson  <andersca@apple.com>
2983
2984         Move snapRubberBandTimerFired to ScrollElasticityController
2985         https://bugs.webkit.org/show_bug.cgi?id=76196
2986
2987         Reviewed by Andreas Kling.
2988
2989         * platform/mac/ScrollAnimatorMac.mm:
2990         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
2991         * platform/mac/ScrollElasticityController.h:
2992         * platform/mac/ScrollElasticityController.mm:
2993         (WebCore::elasticDeltaForTimeDelta):
2994         (WebCore::roundTowardZero):
2995         (WebCore::roundToDevicePixelTowardZero):
2996         (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
2997
2998 2012-01-12  Joshua Bell  <jsbell@chromium.org>
2999
3000         IndexedDB: Raise NON_TRANSIENT_ERR when invalid mode specified for transaction
3001         https://bugs.webkit.org/show_bug.cgi?id=76072
3002
3003         Spec was updated to detail what should be thrown: http://www.w3.org/Bugs/Public/show_bug.cgi?id=11406
3004
3005         Reviewed by Tony Chang.
3006
3007         Tests: storage/indexeddb/transaction-basics.html
3008
3009         * storage/IDBDatabase.cpp:
3010         (WebCore::IDBDatabase::transaction):
3011
3012 2012-01-12  Anders Carlsson  <andersca@apple.com>
3013
3014         Remove the last non-ScrollElasticityController call from ScrollAnimatorMac::snapRubberBandTimerFired
3015         https://bugs.webkit.org/show_bug.cgi?id=76193
3016
3017         Reviewed by Andreas Kling.
3018
3019         Use ScrollElasticityControllerClient::immediateScrollBy for the final scroll before the rubber-band timer stops.
3020
3021         * platform/mac/ScrollAnimatorMac.mm:
3022         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
3023
3024 2011-09-26  Jer Noble  <jer.noble@apple.com>
3025
3026         Emit an error event when a request to enter full-screen is rejected.
3027         https://bugs.webkit.org/show_bug.cgi?id=62320
3028
3029         Reviewed by Eric Carlson.
3030
3031         Tests: fullscreen/full-screen-request-rejected.html
3032                fullscreen/full-screen-request-removed.html
3033
3034         When a request to enter full-screen is rejected, emit an event 
3035         (webkitfullscreenerror) in response.  But emit the event during the next
3036         trip through the run-loop, like the webkitfullscreenchange event, and so a new
3037         timer and queue are necessary.
3038
3039         * dom/Document.cpp:
3040         (WebCore::Document::requestFullScreenForElement): Emit the error event
3041             if the request does not pass all our requirements.
3042         * dom/Document.h: Add new ivars.
3043         * dom/Document.idl: Add support for setting an onfullscreenerror attribute.
3044         * dom/Element.h: Ditto.
3045         * dom/Element.idl: Ditto.
3046         * dom/EventNames.h: Add the name for the error event.
3047
3048 2012-01-12  Beth Dakin  <bdakin@apple.com>
3049
3050         https://bugs.webkit.org/show_bug.cgi?id=76133
3051         ScrollAnimatorMac::mouseEnteredScrollbar() and mouseExitedScrollbar() should 
3052         only do stuff for legacy scrollbars
3053         -and corresponding-
3054         <rdar://problem/10603290>
3055
3056         Reviewed by Sam Weinig.
3057
3058         * platform/mac/ScrollAnimatorMac.mm:
3059         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
3060         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
3061
3062 2012-01-12  Dan Bernstein  <mitz@apple.com>
3063
3064         When generating derived sources, use the same compiler that is used to compile WebCore.
3065
3066         Fixes <http://webkit.org/b/76189>
3067         [mac] When compiling WebCore with clang, llvm-gcc is used to generate derived sources
3068
3069         Reviewed by Mark Rowe.
3070
3071         * DerivedSources.make: Changed to use the CC environment variable instead of hardcoded gcc.
3072         * WebCore.xcodeproj/project.pbxproj: Set the CC environment variable, if not already set,
3073         according to TARGET_GCC_VERSION. CC is used by DerivedSources.make and some of the perl
3074         scripts it invokes.
3075
3076 2012-01-12  Pierre Rossi  <pierre.rossi@gmail.com>
3077
3078         [Qt] Unreviewed build fix after r104828.
3079
3080         * platform/qt/RenderThemeQtMobile.cpp:
3081         (WebCore::StylePainterMobile::findComboButton):
3082
3083 2012-01-12  Sheriff Bot  <webkit.review.bot@gmail.com>
3084
3085         Unreviewed, rolling out r104829.
3086         http://trac.webkit.org/changeset/104829
3087         https://bugs.webkit.org/show_bug.cgi?id=76188
3088
3089         it broke qt-minimal (Requested by loislo1 on #webkit).
3090
3091         * inspector/CodeGeneratorInspector.py:
3092         (CodeGenerator):
3093         (CodeGenerator.generate_type_builder):
3094         (CodeGenerator.generate_type_builder.AdHocTypeContext):
3095         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
3096         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
3097         (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
3098         (CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
3099         (CodeGenerator.register_use):
3100         (RawTypesBinding):
3101         (RawTypesBinding.get_code_generator):
3102         (RawTypesBinding.get_in_c_type_text):
3103         (RawTypesBinding.get_setter_value_expression_pattern):
3104         (RawTypesBinding.reduce_to_raw_type):
3105         (TypeData.__init__):
3106         * inspector/InspectorValues.h:
3107
3108 2012-01-12  Pavel Podivilov  <podivilov@chromium.org>
3109
3110         Web Inspector: [JSC] //@ sourceURL is not respected.
3111         https://bugs.webkit.org/show_bug.cgi?id=65532
3112
3113         Reviewed by Pavel Feldman.
3114
3115         Test: inspector/debugger/source-url-comment.html
3116
3117         * bindings/js/ScriptDebugServer.cpp:
3118         (WebCore::ScriptDebugServer::dispatchDidParseSource):
3119         * inspector/ContentSearchUtils.cpp:
3120         (WebCore::ContentSearchUtils::findMagicComment):
3121         (WebCore::ContentSearchUtils::findSourceURL):
3122         (WebCore::ContentSearchUtils::findSourceMapURL):
3123         * inspector/ContentSearchUtils.h:
3124
3125 2012-01-12  Csaba Osztrogonác  <ossy@webkit.org>
3126
3127         [Qt] Unreviewed trivial buildfix after r104828.
3128
3129         * platform/qt/RenderThemeQtMobile.cpp:
3130         (WebCore::StylePainterMobile::findComboButton):
3131
3132 2012-01-12  Peter Rybin  <peter.rybin@gmail.com>
3133
3134         Web Inspector: CodeGeneratorInspector.py: generate array types.
3135         https://bugs.webkit.org/show_bug.cgi?id=75284
3136
3137         Reviewed by Yury Semikhatsky.
3138
3139         New classes are generated for ecah array type instance.
3140
3141         * inspector/CodeGeneratorInspector.py:
3142         (ArrayBinding):
3143         (ArrayBinding.get_code_generator):
3144         (ArrayBinding.get_code_generator.CodeGenerator):
3145         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
3146         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext):
3147         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
3148         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
3149         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
3150         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
3151         (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
3152         (ArrayBinding.get_code_generator.CodeGenerator.register_use):
3153         (ArrayBinding.get_in_c_type_text):
3154         (ArrayBinding.get_setter_value_expression_pattern):
3155         (ArrayBinding.reduce_to_raw_type):
3156         (RawTypeBinding):
3157         (RawTypeBinding.__init__):
3158         (RawTypeBinding.get_code_generator):
3159         (RawTypeBinding.get_in_c_type_text):
3160         (RawTypeBinding.get_setter_value_expression_pattern):
3161         (RawTypeBinding.reduce_to_raw_type):
3162         (TypeData.__init__):
3163         (TypeData.get_binding):
3164         * inspector/InspectorValues.h:
3165
3166 2012-01-12  Pierre Rossi  <pierre.rossi@gmail.com>
3167
3168         [Qt] Avoid string operations in mobile theme's caching mechanism
3169         https://bugs.webkit.org/show_bug.cgi?id=75010
3170
3171         The string operations constantly performed in the mobile theme
3172         to fetch or put controls in the pixmap cache can be pretty expensive.
3173         The new mechanism harnesses the QPixmapCache::Key API instead.
3174
3175         Reviewed by Kenneth Rohde Christiansen.
3176
3177         No new tests, internal refactoring.
3178
3179         * platform/qt/RenderThemeQtMobile.cpp:
3180         (WebCore::qHash):
3181         (WebCore::StylePainterMobile::findCachedControl):
3182         (WebCore::StylePainterMobile::insertIntoCache):
3183         (WebCore::StylePainterMobile::findCheckBox):
3184         (WebCore::StylePainterMobile::drawRadio):
3185         (WebCore::StylePainterMobile::findRadio):
3186         (WebCore::StylePainterMobile::drawMultipleComboButton):
3187         (WebCore::StylePainterMobile::drawSimpleComboButton):
3188         (WebCore::StylePainterMobile::getButtonImageSize):
3189         (WebCore::StylePainterMobile::findComboButton):
3190         (WebCore::StylePainterMobile::findLineEdit):
3191         (WebCore::StylePainterMobile::findPushButton):
3192         (WebCore::StylePainterMobile::drawComboBox):
3193         (WebCore::StylePainterMobile::drawProgress):
3194         (WebCore::StylePainterMobile::drawSliderThumb):
3195         (WebCore::RenderThemeQtMobile::paintTextField):
3196         (WebCore::RenderThemeQtMobile::paintMenuList):
3197         * platform/qt/RenderThemeQtMobile.h:
3198         (WebCore::KeyIdentifier::KeyIdentifier):
3199         (WebCore::KeyIdentifier::operator==):
3200
3201 2012-01-12  Sheriff Bot  <webkit.review.bot@gmail.com>
3202
3203         Unreviewed, rolling out r104805.
3204         http://trac.webkit.org/changeset/104805
3205         https://bugs.webkit.org/show_bug.cgi?id=76180
3206
3207         Breaks apple win compilation. (Requested by vsevik on
3208         #webkit).
3209
3210         * CMakeLists.txt:
3211         * GNUmakefile.list.am:
3212         * Target.pri:
3213         * WebCore.exp.in:
3214         * WebCore.gypi:
3215         * WebCore.vcproj/WebCore.vcproj:
3216         * WebCore.xcodeproj/project.pbxproj:
3217         * dom/DOMAllInOne.cpp:
3218         * dom/SelectorQuery.cpp:
3219         (WebCore::SelectorQuery::SelectorQuery):
3220         (WebCore::SelectorQuery::queryAll):
3221         (WebCore::SelectorQuery::queryFirst):
3222         (WebCore::SelectorQuery::canUseIdLookup):
3223         (WebCore::SelectorQuery::execute):
3224         * dom/SelectorQuery.h:
3225         * dom/ShadowContentElement.cpp:
3226         (WebCore::ShadowContentElement::create):
3227         (WebCore::ShadowContentElement::ShadowContentElement):
3228         (WebCore::ShadowContentElement::shouldInclude):
3229         * dom/ShadowContentElement.h:
3230         * dom/ShadowContentSelectorQuery.cpp: Removed.
3231         * dom/ShadowContentSelectorQuery.h: Removed.
3232         * dom/ShadowInclusionSelector.cpp:
3233         (WebCore::ShadowInclusionSelector::select):
3234         * dom/ShadowInclusionSelector.h:
3235         * html/HTMLDetailsElement.cpp:
3236         (WebCore::DetailsContentElement::DetailsContentElement):
3237         (WebCore::DetailsContentElement::shouldInclude):
3238         (WebCore::DetailsSummaryElement::DetailsSummaryElement):
3239         (WebCore::DetailsSummaryElement::shouldInclude):
3240         * html/HTMLSummaryElement.cpp:
3241         (WebCore::SummaryContentElement::SummaryContentElement):
3242         * testing/Internals.cpp:
3243         (WebCore::Internals::createShadowContentElement):
3244         * testing/Internals.h:
3245         * testing/Internals.idl:
3246
3247 2012-01-12  Zoltan Herczeg  <zherczeg@webkit.org>
3248
3249         Fix turbulence bug when stitch tiles enabled and rendered in parallel
3250         https://bugs.webkit.org/show_bug.cgi?id=76042
3251
3252         Reviewed by Nikolas Zimmermann.
3253
3254         The width / height / wrap members are used by all threads
3255         in the same time. The patch makes them local for all threads.
3256
3257         Fixes the layout fails in svg/dynamic-updates/SVGFETurbulence*
3258
3259         * platform/graphics/filters/FETurbulence.cpp:
3260         (WebCore::FETurbulence::noise2D):
3261         (WebCore::Noise::if):
3262         (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
3263         (WebCore::FETurbulence::fillRegion):
3264         * platform/graphics/filters/FETurbulence.h:
3265         (WebCore::FETurbulence::PaintingData::PaintingData):
3266         (WebCore::FETurbulence::StitchData::StitchData):
3267
3268 2012-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
3269
3270         Web Inspector: performance: restore 'log 300 messages into console' test.
3271         https://bugs.webkit.org/show_bug.cgi?id=76170
3272
3273         It was removed in order of transition from layout tests to perf tests.
3274
3275         Reviewed by Yury Semikhatsky.
3276
3277         * inspector/front-end/ConsoleView.js:
3278         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
3279         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
3280
3281 2012-01-12  Hans Wennborg  <hans@chromium.org>
3282
3283         Speech input: Send text to correct element even if focus has changed
3284         https://bugs.webkit.org/show_bug.cgi?id=76071
3285
3286         Reviewed by Steve Block.
3287
3288         Make sure that the text from speech input ends up in the correct
3289         element even if focus has changed since the user clicked on it.
3290
3291         Test: fast/speech/change-focus.html
3292
3293         * html/shadow/TextControlInnerElements.cpp:
3294         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
3295
3296 2012-01-10  Pavel Podivilov  <podivilov@chromium.org>
3297
3298         Web Inspector: make source urls relative to source map url.
3299         https://bugs.webkit.org/show_bug.cgi?id=75968
3300
3301         Reviewed by Yury Semikhatsky.
3302
3303         * inspector/front-end/CompilerSourceMapping.js:
3304         (WebInspector.ClosureCompilerSourceMapping):
3305         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
3306         (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):
3307
3308 2012-01-12  Nikolas Zimmermann  <nzimmermann@rim.com>
3309
3310         Not reviewed. Fix WebKit build after r104803, by setting ScriptCallStack.h role to private.
3311
3312         * WebCore.xcodeproj/project.pbxproj:
3313
3314 2012-01-12  Shinya Kawanaka  <shinyak@google.com>
3315
3316         ShadowContentElement should be able to use query.
3317         https://bugs.webkit.org/show_bug.cgi?id=75302
3318
3319         Reviewed by Hajime Morita.
3320
3321         This patch introduces a selector to query elements in ShadowContentElement.
3322         This can be used instead of ShadowContentElement::shouldInclude in more sophisticated ways.
3323
3324         Tests: fast/dom/shadow/shadow-contents-select-expected.html
3325                fast/dom/shadow/shadow-contents-select.html
3326
3327         * CMakeLists.txt:
3328         * GNUmakefile.list.am:
3329         * Target.pri:
3330         * WebCore.exp.in:
3331         * WebCore.gypi:
3332         * WebCore.vcproj/WebCore.vcproj:
3333         * WebCore.xcodeproj/project.pbxproj:
3334         * dom/DOMAllInOne.cpp:
3335         * dom/SelectorQuery.cpp:
3336         (WebCore::SelectorDataList::SelectorDataList):
3337           Extracted from SelectorQueryto share codes with ShadowContentSelectorQuery.
3338         (WebCore::SelectorDataList::initialize):
3339         (WebCore::SelectorDataList::matches):
3340         (WebCore::SelectorDataList::queryAll):
3341         (WebCore::SelectorDataList::queryFirst):
3342         (WebCore::SelectorDataList::canUseIdLookup):
3343         (WebCore::SelectorDataList::execute):
3344         (WebCore::SelectorQuery::SelectorQuery):
3345         (WebCore::SelectorQuery::queryAll):
3346         (WebCore::SelectorQuery::queryFirst):
3347         * dom/SelectorQuery.h:
3348         (WebCore::SelectorDataList::size):
3349         * dom/ShadowContentElement.cpp:
3350         (WebCore::selectAttr):
3351         (WebCore::ShadowContentElement::create):
3352         (WebCore::ShadowContentElement::ShadowContentElement):
3353         (WebCore::ShadowContentElement::select):
3354         * dom/ShadowContentElement.h:
3355         * dom/ShadowContentSelectorQuery.cpp: Added.
3356         (WebCore::ShadowContentSelectorQuery::ShadowContentSelectorQuery):
3357         (WebCore::ShadowContentSelectorQuery::matches):
3358           Returns true if Node is matched by the query.
3359         * dom/ShadowContentSelectorQuery.h: Copied from Source/WebCore/dom/ShadowContentElement.h.
3360         * dom/ShadowInclusionSelector.cpp:
3361         (WebCore::ShadowInclusionSelector::select):
3362         * dom/ShadowInclusionSelector.h:
3363         * html/HTMLDetailsElement.cpp:
3364         (WebCore::summaryQuerySelector):
3365         (WebCore::DetailsContentElement::DetailsContentElement): Re-implemented using query.
3366         (WebCore::DetailsSummaryElement::DetailsSummaryElement): ditto.
3367         * html/HTMLSummaryElement.cpp:
3368         (WebCore::SummaryContentElement::SummaryContentElement):
3369         * testing/Internals.cpp:
3370         (WebCore::Internals::createShadowContentElement):
3371         * testing/Internals.h:
3372         * testing/Internals.idl:
3373
3374 2012-01-11  Vsevolod Vlasov  <vsevik@chromium.org>
3375
3376         Make default console messages line numbers consistent.
3377         https://bugs.webkit.org/show_bug.cgi?id=74075
3378
3379         Reviewed by Pavel Feldman.
3380
3381         Added default values for Console::addMessage sourceURL, lineNumber and
3382         callStack parameters, moved lineNumber after sourceURL.
3383         Made virtual method ScriptExecutionContext::addMessage private
3384         Added default values to ScriptExecutionContext::AddConsoleMessage sourceURL, lineNumber and
3385         callStack parameters, moved lineNumber after sourceURL.
3386         Reorder ScriptExecutionContext::logExceptionToConsole parameters, move lineNumber after sourceURL.
3387         Reordered sourceURL and lineNumber parameters in inspector methods.
3388         Made all calls to Console::addMessage() pass 0 as lineNumber by default (i.e. when line number is unknown / irrelevant).
3389         Unset line numbers are not printed to console in QT now.
3390
3391         * bindings/js/JSCustomXPathNSResolver.cpp:
3392         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3393         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
3394         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
3395         * dom/Document.cpp:
3396         (WebCore::Document::logExceptionToConsole):
3397         (WebCore::Document::addMessage):
3398         * dom/Document.h:
3399         * dom/ScriptExecutionContext.cpp:
3400         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
3401         (WebCore::ScriptExecutionContext::reportException):
3402         (WebCore::ScriptExecutionContext::addConsoleMessage):
3403         * dom/ScriptExecutionContext.h:
3404         * dom/UIEvent.cpp:
3405         (WebCore::UIEvent::warnDeprecatedLayerXYUsage):
3406         * dom/ViewportArguments.cpp:
3407         (WebCore::reportViewportWarning):
3408         * html/HTMLFormElement.cpp:
3409         (WebCore::HTMLFormElement::validateInteractively):
3410         * html/canvas/WebGLRenderingContext.cpp:
3411         (WebCore::WebGLRenderingContext::printWarningToConsole):
3412         * inspector/ConsoleMessage.cpp:
3413         (WebCore::ConsoleMessage::ConsoleMessage):
3414         * inspector/ConsoleMessage.h:
3415         * inspector/InspectorConsoleAgent.cpp:
3416         (WebCore::InspectorConsoleAgent::enable):
3417         (WebCore::InspectorConsoleAgent::addMessageToConsole):
3418         (WebCore::InspectorConsoleAgent::stopTiming):
3419         (WebCore::InspectorConsoleAgent::count):
3420         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
3421         * inspector/InspectorConsoleAgent.h:
3422         * inspector/InspectorConsoleInstrumentation.h:
3423         (WebCore::InspectorInstrumentation::addMessageToConsole):
3424         * inspector/InspectorInstrumentation.cpp:
3425         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
3426         * inspector/InspectorInstrumentation.h:
3427         * inspector/InspectorProfilerAgent.cpp:
3428         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
3429         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
3430         * loader/FrameLoader.cpp:
3431         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
3432         (WebCore::FrameLoader::checkIfRunInsecureContent):
3433         (WebCore::FrameLoader::reportLocalLoadFailed):
3434         (WebCore::FrameLoader::shouldAllowNavigation):
3435         * loader/MainResourceLoader.cpp:
3436         (WebCore::MainResourceLoader::didReceiveResponse):
3437         * loader/appcache/ApplicationCacheGroup.cpp:
3438         (WebCore::ApplicationCacheGroup::didReceiveResponse):
3439         (WebCore::ApplicationCacheGroup::didFinishLoading):
3440         (WebCore::ApplicationCacheGroup::didFail):
3441         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
3442         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
3443         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
3444         * loader/cache/CachedResourceLoader.cpp:
3445         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
3446         * page/Console.cpp:
3447         (WebCore::Console::addMessage):
3448         (WebCore::Console::groupEnd):
3449         * page/Console.h:
3450         * page/DOMWindow.cpp:
3451         (WebCore::DOMWindow::postMessageTimerFired):
3452         (WebCore::DOMWindow::printErrorMessage):
3453         * storage/AbstractDatabase.cpp:
3454         (WebCore::AbstractDatabase::logErrorMessage):
3455         * svg/SVGDocumentExtensions.cpp:
3456         (WebCore::reportMessage):
3457         * websockets/WebSocket.cpp:
3458         (WebCore::WebSocket::connect):
3459         * websockets/WebSocketChannel.cpp:
3460         (WebCore::WebSocketChannel::fail):
3461         (WebCore::WebSocketChannel::didFailSocketStream):
3462         * workers/DefaultSharedWorkerRepository.cpp:
3463         (WebCore::postConsoleMessageTask):
3464         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
3465         * workers/SharedWorkerContext.cpp:
3466         (WebCore::SharedWorkerContext::logExceptionToConsole):
3467         * workers/SharedWorkerContext.h:
3468         * workers/WorkerContext.cpp:
3469         (WebCore::WorkerContext::logExceptionToConsole):
3470         (WebCore::WorkerContext::addMessage):
3471         (WebCore::WorkerContext::addMessageToWorkerConsole):
3472         * workers/WorkerContext.h:
3473         * workers/WorkerMessagingProxy.cpp:
3474         (WebCore::postConsoleMessageTask):
3475         * xml/XSLTProcessorLibxslt.cpp:
3476         (WebCore::XSLTProcessor::parseErrorFunc):
3477         * xml/XSLTProcessorQt.cpp:
3478         (WebCore::XSLTMessageHandler::handleMessage):
3479