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