5b266fcd56057016307e69e8499b02fa4f309679
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-04-23  Yury Semikhatsky  <yurys@chromium.org>
2
3         Web Inspector: improve the way heap snapshot diff is calculated
4         https://bugs.webkit.org/show_bug.cgi?id=84590
5
6         Diff calculation now consists of the following steps:
7         1. Collect data about nodes in the base heap snapshot
8         2. Pass it to the second snapshot.
9         3. Calculate delta for each class.
10
11         Reviewed by Pavel Feldman.
12
13         * inspector/front-end/HeapSnapshot.js:
14         (WebInspector.HeapSnapshot):
15         (WebInspector.HeapSnapshot.prototype.dispose):
16         (WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
17         (WebInspector.HeapSnapshot.prototype.calculateSnapshotDiff):
18         (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
19         (WebInspector.HeapSnapshot.prototype.createAddedNodesProvider):
20         (WebInspector.HeapSnapshot.prototype.createDeletedNodesProvider):
21         * inspector/front-end/HeapSnapshotDataGrids.js:
22         (WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren.aggregatesForDiffReceived.didCalculateSnapshotDiff):
23         (WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren):
24         * inspector/front-end/HeapSnapshotGridNodes.js:
25         (WebInspector.HeapSnapshotIteratorsTuple):
26         (WebInspector.HeapSnapshotDiffNode):
27         (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
28         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
29         * inspector/front-end/HeapSnapshotProxy.js:
30         (WebInspector.HeapSnapshotProxy.prototype.aggregatesForDiff):
31         (WebInspector.HeapSnapshotProxy.prototype.calculateSnapshotDiff):
32         (WebInspector.HeapSnapshotProxy.prototype.createAddedNodesProvider):
33         (WebInspector.HeapSnapshotProxy.prototype.createDeletedNodesProvider):
34         * inspector/front-end/HeapSnapshotView.js:
35         (WebInspector.HeapSnapshotView.prototype._changeBase):
36
37 2012-04-23  Pavel Feldman  <pfeldman@chromium.org>
38
39         Web Inspector: Rename and extract UISourceCodeImpl into JavaScriptSource
40         https://bugs.webkit.org/show_bug.cgi?id=84587
41
42         Reviewed by Yury Semikhatsky.
43
44         No changes other than extraction here. This is the first step in the Resource
45         hierarchy refactoring described in bug 84586.
46
47         * WebCore.gypi:
48         * WebCore.vcproj/WebCore.vcproj:
49         * inspector/compile-front-end.py:
50         * inspector/front-end/CompilerScriptMapping.js:
51         (WebInspector.CompilerScriptMapping.prototype.addScript):
52         * inspector/front-end/DebuggerPresentationModel.js:
53         * inspector/front-end/JavaScriptSource.js: Added.
54         (WebInspector.JavaScriptSource):
55         (WebInspector.JavaScriptSource.prototype.breakpoints):
56         (WebInspector.JavaScriptSource.prototype.breakpointAdded):
57         (WebInspector.JavaScriptSource.prototype.breakpointRemoved):
58         (WebInspector.JavaScriptSource.prototype.consoleMessages):
59         (WebInspector.JavaScriptSource.prototype.consoleMessageAdded):
60         (WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
61         * inspector/front-end/RawSourceCode.js:
62         (WebInspector.RawSourceCode.prototype._createUISourceCode):
63         * inspector/front-end/SnippetsModel.js:
64         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
65         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
66         * inspector/front-end/WebKit.qrc:
67         * inspector/front-end/inspector.html:
68
69 2012-04-23  Gavin Peters  <gavinp@chromium.org>
70
71         Move ReferrerPolicy out of SecurityPolicy class into its own header in platform.
72         https://bugs.webkit.org/show_bug.cgi?id=84516
73
74         Reviewed by Adam Barth.
75
76         No change in behaviour; same enum, different class.
77
78         * GNUmakefile.list.am:
79         * Target.pri:
80         * WebCore.exp.in:
81         * WebCore.gypi:
82         * WebCore.vcproj/WebCore.vcproj:
83         * WebCore.xcodeproj/project.pbxproj:
84         * dom/Document.cpp:
85         (WebCore::Document::Document):
86         (WebCore::Document::processReferrerPolicy):
87         * dom/Document.h:
88         (WebCore::Document::referrerPolicy):
89         (Document):
90         * page/SecurityPolicy.h:
91         * platform/ReferrerPolicy.h: Added.
92         (WebCore):
93
94 2012-04-23  Vineet Chaudhary  <rgf748@motorola.com>
95
96         JS binding code generator doesn't handle "attribute unsigned long[]" well
97         https://bugs.webkit.org/show_bug.cgi?id=84540
98
99         Reviewed by Kentaro Hara.
100
101         Codegenerator should handle spaces with the sequence<> to support
102         numeric types like "unsigned long", "int" .. etc. and primitive types
103         like "boolean", "Date" etc.
104
105         Tests: bindings/scripts/test/TestObj.idl
106
107         * bindings/scripts/CodeGenerator.pm:
108         (SkipIncludeHeader): Rename AvoidInclusionOfType to SkipIncludeHeader.
109         (GetArrayType):
110         * bindings/scripts/CodeGeneratorJS.pm:
111         (AddIncludesForType):
112         (NativeToJSValue):
113         * bindings/scripts/CodeGeneratorObjC.pm:
114         (AddIncludesForType):
115         (GenerateImplementation):
116         * bindings/scripts/CodeGeneratorV8.pm:
117         (AddIncludesForType):
118         (GetHeaderClassInclude):
119         (GenerateNormalAttrGetter):
120         (NativeToJSValue):
121         * bindings/scripts/IDLStructure.pm:
122         * bindings/scripts/test/JS/JSTestObj.cpp:
123         (WebCore):
124         (WebCore::jsTestObjIntSequenceAttr):
125         (WebCore::jsTestObjShortSequenceAttr):
126         (WebCore::jsTestObjLongSequenceAttr):
127         (WebCore::jsTestObjLongLongSequenceAttr):
128         (WebCore::jsTestObjUnsignedIntSequenceAttr):
129         (WebCore::jsTestObjUnsignedShortSequenceAttr):
130         (WebCore::jsTestObjUnsignedLongSequenceAttr):
131         (WebCore::jsTestObjUnsignedLongLongSequenceAttr):
132         (WebCore::jsTestObjFloatSequenceAttr):
133         (WebCore::jsTestObjDoubleSequenceAttr):
134         (WebCore::jsTestObjBooleanSequenceAttr):
135         (WebCore::jsTestObjVoidSequenceAttr):
136         (WebCore::jsTestObjDateSequenceAttr):
137         (WebCore::setJSTestObjSequenceAttr):
138         (WebCore::setJSTestObjIntSequenceAttr):
139         (WebCore::setJSTestObjShortSequenceAttr):
140         (WebCore::setJSTestObjLongSequenceAttr):
141         (WebCore::setJSTestObjLongLongSequenceAttr):
142         (WebCore::setJSTestObjUnsignedIntSequenceAttr):
143         (WebCore::setJSTestObjUnsignedShortSequenceAttr):
144         (WebCore::setJSTestObjUnsignedLongSequenceAttr):
145         (WebCore::setJSTestObjUnsignedLongLongSequenceAttr):
146         (WebCore::setJSTestObjFloatSequenceAttr):
147         (WebCore::setJSTestObjDoubleSequenceAttr):
148         (WebCore::setJSTestObjBooleanSequenceAttr):
149         (WebCore::setJSTestObjVoidSequenceAttr):
150         (WebCore::setJSTestObjDateSequenceAttr):
151         * bindings/scripts/test/JS/JSTestObj.h:
152         (WebCore):
153         * bindings/scripts/test/ObjC/DOMTestObj.h:
154         * bindings/scripts/test/TestObj.idl:
155         * bindings/scripts/test/V8/V8TestObj.cpp:
156         (WebCore::TestObjV8Internal::intSequenceAttrAttrGetter):
157         (TestObjV8Internal):
158         (WebCore::TestObjV8Internal::intSequenceAttrAttrSetter):
159         (WebCore::TestObjV8Internal::shortSequenceAttrAttrGetter):
160         (WebCore::TestObjV8Internal::shortSequenceAttrAttrSetter):
161         (WebCore::TestObjV8Internal::longSequenceAttrAttrGetter):
162         (WebCore::TestObjV8Internal::longSequenceAttrAttrSetter):
163         (WebCore::TestObjV8Internal::longLongSequenceAttrAttrGetter):
164         (WebCore::TestObjV8Internal::longLongSequenceAttrAttrSetter):
165         (WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrGetter):
166         (WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrSetter):
167         (WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrGetter):
168         (WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrSetter):
169         (WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrGetter):
170         (WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrSetter):
171         (WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrGetter):
172         (WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrSetter):
173         (WebCore::TestObjV8Internal::floatSequenceAttrAttrGetter):
174         (WebCore::TestObjV8Internal::floatSequenceAttrAttrSetter):
175         (WebCore::TestObjV8Internal::doubleSequenceAttrAttrGetter):
176         (WebCore::TestObjV8Internal::doubleSequenceAttrAttrSetter):
177         (WebCore::TestObjV8Internal::booleanSequenceAttrAttrGetter):
178         (WebCore::TestObjV8Internal::booleanSequenceAttrAttrSetter):
179         (WebCore::TestObjV8Internal::voidSequenceAttrAttrGetter):
180         (WebCore::TestObjV8Internal::voidSequenceAttrAttrSetter):
181         (WebCore::TestObjV8Internal::dateSequenceAttrAttrGetter):
182         (WebCore::TestObjV8Internal::dateSequenceAttrAttrSetter):
183         (WebCore):
184
185 2012-04-23  Andreas Kling  <kling@webkit.org>
186
187         Unreviewed assertion fix for Chromium bots.
188
189         Skip unnecessary Attr::attachToElement() after constructing an Attr using the
190         constructor that attaches to an Element.
191
192         * dom/ElementAttributeData.cpp:
193         (WebCore::ElementAttributeData::ensureAttr):
194
195 2012-04-23  Andreas Kling  <kling@webkit.org>
196
197         REGRESSION(r114870): Assertion failure in ElementAttributeData::setAttr().
198         <http://webkit.org/b/84581>
199
200         Reviewed by Antti Koivisto.
201
202         Attach the Attr and bump m_attrCount manually in ensureAttr() instead of calling
203         setAttr(). The latter asserts that the Attr isn't present in the map, which
204         obviously isn't true after we've just added it.
205
206         This has the added effect of removing one unnecessary hash lookup.
207
208         * dom/ElementAttributeData.cpp:
209         (WebCore::ElementAttributeData::ensureAttr):
210
211 2012-04-23  Pavel Feldman  <pfeldman@chromium.org>
212
213         Web Inspector: make ParsedURL.prototype.displayName data url friendly.
214         https://bugs.webkit.org/show_bug.cgi?id=84578
215
216         Reviewed by Yury Semikhatsky.
217
218         We'd like to define valid URL as the one that has scheme, host and path.
219         We can append to this URL and manipulate its content. We still want 
220         possibly invalid specs (such as data or about) to exist and have nice
221         display names.
222
223         * inspector/front-end/ResourceUtils.js:
224         (WebInspector.ParsedURL):
225         (WebInspector.ParsedURL.prototype.get displayName):
226
227 2012-04-23  Pavel Feldman  <pfeldman@chromium.org>
228
229         Web Inspector: introduce String.prototype.starts/endsWith and use it all over the place.
230         https://bugs.webkit.org/show_bug.cgi?id=84574
231
232         Reviewed by Yury Semikhatsky.
233
234         * inspector/front-end/AuditRules.js:
235         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
236         * inspector/front-end/BreakpointsSidebarPane.js:
237         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
238         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
239         * inspector/front-end/CSSCompletions.js:
240         (WebInspector.CSSCompletions.prototype.startsWith):
241         (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
242         * inspector/front-end/ConsoleView.js:
243         (WebInspector.ConsoleView.prototype._reportCompletions):
244         * inspector/front-end/CookieItemsView.js:
245         (WebInspector.Cookies.cookieMatchesResourceURL):
246         * inspector/front-end/DatabaseQueryView.js:
247         (WebInspector.DatabaseQueryView.prototype.completions):
248         * inspector/front-end/ElementsTreeOutline.js:
249         (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
250         * inspector/front-end/ProfileView.js:
251         * inspector/front-end/ProfilesPanel.js:
252         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
253         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
254         (WebInspector.ProfileSidebarTreeElement):
255         (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
256         * inspector/front-end/ResourceUtils.js:
257         (WebInspector.ParsedURL):
258         (WebInspector.displayNameForURL):
259         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
260         (WebInspector.completeURL):
261         * inspector/front-end/SnippetsModel.js:
262         (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
263         * inspector/front-end/SourceCSSTokenizer.js:
264         (WebInspector.SourceCSSTokenizer.prototype.nextToken):
265         * inspector/front-end/SourceCSSTokenizer.re2js:
266         * inspector/front-end/TextPrompt.js:
267         (WebInspector.TextPrompt.prototype._completeCommonPrefix):
268         * inspector/front-end/UIUtils.js:
269         (WebInspector.startEditing):
270         * inspector/front-end/utilities.js:
271
272 2012-04-23  Andreas Kling  <kling@webkit.org>
273
274         REGRESSION(r114870): Performance hit on DOM/CloneNodes and DOM/CreateNodes.
275         <http://webkit.org/b/84575>
276
277         Reviewed by Antti Koivisto.
278
279         Simplify the cloning of Attributes from one Element to another by simply
280         assigning to m_attributes. This avoids default-constructing a bunch of
281         Attribute objects that we overwrite immediately anyway (this used to be
282         fine because they were RefPtr<Attribute> but now that a default-constructed
283         Attribute contains a QualifiedName, we were doing a bunch of extra hash
284         lookups, etc.)
285
286         * dom/ElementAttributeData.cpp:
287         (WebCore::ElementAttributeData::setAttributes):
288
289 2012-04-20  Pavel Feldman  <pfeldman@chromium.org>
290
291         Web Inspector: implement "open stylesheet" dialog.
292         https://bugs.webkit.org/show_bug.cgi?id=84466
293
294         Reviewed by Yury Semikhatsky.
295
296         This change introduces abstract OpenResourceDialog and re-uses it in OpenScriptDialog and OpenStylesheetDialog.
297         Drive-by fix for data: url representation in the navigator and open resource dialogs.
298
299         * inspector/front-end/FilteredItemSelectionDialog.js:
300         (WebInspector.FilteredItemSelectionDialog.prototype.position):
301         (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
302         (WebInspector.OpenResourceDialog.compareFunction):
303         (WebInspector.OpenResourceDialog):
304         (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
305         (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
306         (WebInspector.OpenResourceDialog.prototype.itemsCount):
307         (WebInspector.OpenResourceDialog.prototype.requestItems):
308         (WebInspector.OpenResourceDialog.prototype.selectItem):
309         (WebInspector.OpenScriptDialog):
310         (WebInspector.OpenScriptDialog.install):
311         (WebInspector.OpenScriptDialog._show):
312         (WebInspector.OpenScriptDialog.prototype.selectItem):
313         * inspector/front-end/ResourceUtils.js:
314         (WebInspector.ParsedURL):
315         * inspector/front-end/ScriptsPanel.js:
316         * inspector/front-end/StylesPanel.js:
317         (WebInspector.StylesPanel):
318         (WebInspector.StylesPanel.prototype._showOpenStylesheetDialog):
319         (WebInspector.OpenStylesheetDialog):
320         (WebInspector.OpenStylesheetDialog.prototype.selectItem):
321         * inspector/front-end/inspector.html:
322
323 2012-04-23  Kent Tamura  <tkent@chromium.org>
324
325         Add test function to get placeholder string
326         https://bugs.webkit.org/show_bug.cgi?id=84536
327
328         Reviewed by Ryosuke Niwa.
329
330         Add window.internals.visiblePlaceholder(element), which returns a
331         placeholder string only when it's visible.
332
333         * WebCore.exp.in: Expose HTMLTextFormControlElement::placeholderShouldBeVisible().
334         * testing/Internals.cpp:
335         (WebCore::Internals::visiblePlaceholder): Added.
336         (WebCore::Internals::selectColorInColorChooser): Omit HTMLNames::.
337         * testing/Internals.h:
338         (Internals): Add visiblePlaceholder().
339         * testing/Internals.idl: ditto.
340
341 2012-04-23  Szilard Ledan  <szledan@inf.u-szeged.hu>
342
343         Incorrect handling of CSS escape sequences that encode surrogates
344         https://bugs.webkit.org/show_bug.cgi?id=76152
345
346         Reviewed by Kent Tamura.
347
348         Test: fast/css/parsing-css-surrogate-pairs.html
349
350         * css/CSSParser.cpp:
351         (WebCore::CSSParser::parseEscape):
352
353 2012-04-22  Yury Semikhatsky  <yurys@chromium.org>
354
355         Web Inspector: make populateChildren methods private in heap profiler front-end
356         https://bugs.webkit.org/show_bug.cgi?id=84562
357
358         - populateChildren method on HeapSnapshotConstructorsDataGrid and
359         HeapSnapshotDiffDataGrid now is private.
360         - Made _defaultPopulateCount a public method on HeapSnapshotSortableDataGrid which
361         is overriden in some descendants
362         - Removed unused HeapSnapshotPathFinderProxy
363         - added closure compiler annotations
364
365         Reviewed by Pavel Feldman.
366
367         * inspector/front-end/HeapSnapshotDataGrids.js:
368         (WebInspector.HeapSnapshotSortableDataGrid.prototype.defaultPopulateCount):
369         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
370         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
371         (WebInspector.HeapSnapshotDiffDataGrid.prototype.defaultPopulateCount):
372         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
373         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.defaultPopulateCount):
374         * inspector/front-end/HeapSnapshotGridNodes.js:
375         (WebInspector.HeapSnapshotGridNode):
376         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
377         (WebInspector.HeapSnapshotDiffNode):
378         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
379         * inspector/front-end/HeapSnapshotProxy.js:
380
381 2012-04-22  Andreas Kling  <kling@webkit.org>
382
383         Unreviewed build fix, remove Attribute.cpp from DOMAllInOne.cpp.
384
385         * dom/DOMAllInOne.cpp: My nemesis.
386
387 2012-04-22  Andreas Kling  <kling@webkit.org>
388
389         Optimize Element attribute storage for the common case (no Attr objects.)
390         <http://webkit.org/b/83440>
391
392         Reviewed by Antti Koivisto.
393
394         Reduce Attribute to its smallest possible size; a qname/value pair.
395         They are no-longer ref-counted, which allows us to store them in Vectors.
396
397         Refactored the DOM Attr object to go with the new Attribute:
398         Attr now wraps either {element, qname} or {qname, value}. The latter is for
399         the case where a standalone Attr object is instantiated via DOM APIs.
400
401         ElementAttributeData.cpp manages a map of pair<element, qname> => Attr.
402         Each Element (well, ElementAttributeData) keeps track of how many Attr
403         objects are pointing to it. This is so we can avoid hash lookups during
404         common operations in the typical case where you have zero Attrs.
405
406         Also removed the inline capacity (was 4) from AttributeVector as that
407         would significantly increase bloat now that we store Attribute (2 pointers)
408         rather than RefPtr<Attribute>. We trade this one piece of indirection
409         for the removal of per-Attribute indirection.
410
411         * CMakeLists.txt:
412         * GNUmakefile.list.am:
413         * Target.pri:
414         * WebCore.gypi:
415         * WebCore.vcproj/WebCore.vcproj:
416         * WebCore.xcodeproj/project.pbxproj:
417         * dom/Attr.cpp:
418         (WebCore::Attr::Attr):
419         (WebCore):
420         (WebCore::Attr::create):
421         (WebCore::Attr::~Attr):
422         (WebCore::Attr::createTextChild):
423         (WebCore::Attr::setPrefix):
424         (WebCore::Attr::setValue):
425         (WebCore::Attr::cloneNode):
426         (WebCore::Attr::childrenChanged):
427         (WebCore::Attr::style):
428         (WebCore::Attr::value):
429         (WebCore::Attr::elementAttribute):
430         (WebCore::Attr::detachFromElementWithValue):
431         (WebCore::Attr::attachToElement):
432         * dom/Attr.h:
433         (WebCore):
434         (Attr):
435         (WebCore::Attr::qualifiedName):
436         (WebCore::Attr::localName):
437         (WebCore::Attr::namespaceURI):
438         (WebCore::Attr::prefix):
439         * dom/Attribute.cpp: Removed.
440         * dom/Attribute.h:
441         (WebCore::Attribute::Attribute):
442         (Attribute):
443         * dom/Document.cpp:
444         (WebCore::Document::importNode):
445         (WebCore::Document::createAttributeNS):
446         * dom/Element.cpp:
447         (WebCore::Element::~Element):
448         (WebCore::Element::detachAttribute):
449         (WebCore):
450         (WebCore::Element::removeAttribute):
451         (WebCore::Element::setAttributeInternal):
452         (WebCore::Element::parserSetAttributes):
453         (WebCore::Element::setAttributeNode):
454         (WebCore::Element::removeAttributeNode):
455         (WebCore::Element::normalizeAttributes):
456         (WebCore::Element::didRemoveAttribute):
457         (WebCore::Element::attrIfExists):
458         (WebCore::Element::ensureAttr):
459         * dom/Element.h:
460         (Element):
461         (WebCore::Element::getAttributeItemIndex):
462         * dom/ElementAttributeData.cpp:
463         (WebCore):
464         (WebCore::attrMap):
465         (WebCore::ElementAttributeData::attrIfExists):
466         (WebCore::ElementAttributeData::ensureAttr):
467         (WebCore::ElementAttributeData::setAttr):
468         (WebCore::ElementAttributeData::removeAttr):
469         (WebCore::AttributeVector::removeAttribute):
470         (WebCore::ElementAttributeData::~ElementAttributeData):
471         (WebCore::ElementAttributeData::addAttribute):
472         (WebCore::ElementAttributeData::removeAttribute):
473         (WebCore::ElementAttributeData::isEquivalent):
474         (WebCore::ElementAttributeData::detachAttributesFromElement):
475         (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
476         (WebCore::ElementAttributeData::setAttributes):
477         (WebCore::ElementAttributeData::clearAttributes):
478         (WebCore::ElementAttributeData::replaceAttribute):
479         (WebCore::ElementAttributeData::getAttributeNode):
480         * dom/ElementAttributeData.h:
481         (WebCore):
482         (WebCore::AttributeVector::AttributeVector):
483         (AttributeVector):
484         (WebCore::AttributeVector::getAttributeItem):
485         (WebCore::AttributeVector::getAttributeItemIndex):
486         (WebCore::AttributeVector::insertAttribute):
487         (WebCore::ElementAttributeData::attributeItem):
488         (ElementAttributeData):
489         (WebCore::ElementAttributeData::ElementAttributeData):
490         (WebCore::ElementAttributeData::attributeVector):
491         (WebCore::ElementAttributeData::clonedAttributeVector):
492         (WebCore::ElementAttributeData::removeAttribute):
493         (WebCore::ElementAttributeData::getAttributeItem):
494         (WebCore::ElementAttributeData::getAttributeItemIndex):
495         * dom/NamedNodeMap.cpp:
496         (WebCore::NamedNodeMap::getNamedItem):
497         (WebCore::NamedNodeMap::getNamedItemNS):
498         (WebCore::NamedNodeMap::removeNamedItem):
499         (WebCore::NamedNodeMap::removeNamedItemNS):
500         (WebCore::NamedNodeMap::item):
501         * dom/Node.cpp:
502         (WebCore::Node::compareDocumentPosition):
503         * html/HTMLAnchorElement.cpp:
504         (WebCore::HTMLAnchorElement::parseAttribute):
505         * html/HTMLSelectElement.cpp:
506         (WebCore::HTMLSelectElement::parseAttribute):
507         * html/parser/HTMLConstructionSite.cpp:
508         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
509         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
510         (WebCore::HTMLConstructionSite::insertScriptElement):
511         (WebCore::HTMLConstructionSite::createElement):
512         (WebCore::HTMLConstructionSite::createHTMLElement):
513         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
514         * html/parser/HTMLToken.h:
515         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
516         * html/parser/HTMLTreeBuilder.cpp:
517         (WebCore::HTMLTreeBuilder::processFakeStartTag):
518         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
519         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
520         (WebCore):
521         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
522         * html/parser/HTMLTreeBuilder.h:
523         * html/parser/TextDocumentParser.cpp:
524         (WebCore::TextDocumentParser::insertFakePreElement):
525         * page/PageSerializer.cpp:
526         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
527         * svg/SVGFitToViewBox.cpp:
528         * svg/properties/SVGAnimatedPropertySynchronizer.h:
529         * xml/XMLErrors.cpp:
530         (WebCore::createXHTMLParserErrorHeader):
531         (WebCore::XMLErrors::insertErrorMessageBlock):
532         * xml/XPathNodeSet.cpp:
533         (WebCore::XPath::NodeSet::traversalSort):
534         * xml/XPathStep.cpp:
535         (WebCore::XPath::Step::nodesInAxis):
536         * xml/parser/MarkupTokenBase.h:
537         (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
538         (WebCore::AtomicMarkupTokenBase::getAttributeItem):
539         (WebCore::AtomicMarkupTokenBase::attributes):
540         (AtomicMarkupTokenBase):
541         (WebCore::::initializeAttributes):
542         * xml/parser/XMLToken.h:
543         (WebCore::AtomicXMLToken::AtomicXMLToken):
544         * xml/parser/XMLTreeBuilder.cpp:
545         (WebCore::XMLTreeBuilder::processNamespaces):
546         (WebCore::XMLTreeBuilder::processAttributes):
547
548 2012-04-22  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
549
550         Sync the MOZ_X11 changes from r14 of http://code.google.com/p/npapi-sdk/
551         also, modified required build flags for Qt,Gtk and CMake
552         [Qt]  Added MOZ_X11 build flag for !embedded
553         https://bugs.webkit.org/show_bug.cgi?id=40785
554
555         Reviewed by Anders Carlsson.
556
557         No new tests. This does not change functionality. Affects all X11 Ports. Build should break if MOZ_X11 is not passed where required
558
559         * WebCore.pri:
560         * plugins/npapi.h:
561
562 2012-04-22  Pablo Flouret  <pablof@motorola.com>
563
564         Reset event propagation and canceled flags in Event.initEvent
565         https://bugs.webkit.org/show_bug.cgi?id=83964
566
567         Reviewed by Ryosuke Niwa.
568
569         Step 3 in http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-event-initevent
570         Useful for re-configuring an event before dispatching.
571
572         Test: fast/events/flags-unset-on-init-event.html
573
574         * dom/Event.cpp:
575         (WebCore::Event::initEvent):
576
577 2012-04-22  Martin Robinson  <mrobinson@igalia.com>
578
579         [Cairo] Implement CompositeDifference
580         https://bugs.webkit.org/show_bug.cgi?id=77354
581
582         Reviewed by Alejandro G. Castro.
583
584         No new tests. The difference compositing operator are not exposed
585         to web content, so this change is simply in preparation for a time
586         in which it is used.
587
588         Properly map the difference compositing blend modes to a Cairo operator.
589
590         * platform/graphics/cairo/CairoUtilities.cpp:
591         (WebCore::toCairoOperator): Add a mapping for difference. Remove
592         code supporting versions of Cairo before 1.10, since the Cairo backend
593         requires 1.10 or greater already.
594
595 2012-04-22  Jon Lee  <jonlee@apple.com>
596
597         Remove notifications support on Mac Lion.
598         https://bugs.webkit.org/show_bug.cgi?id=84554
599         <rdar://problem/11297128>
600
601         Reviewed by Sam Weinig.
602
603         * Configurations/FeatureDefines.xcconfig:
604
605 2012-04-22  Shawn Singh  <shawnsingh@chromium.org>
606
607         [chromium] Damage Tracker needs to use CCMathUtil transforms
608         https://bugs.webkit.org/show_bug.cgi?id=84070
609
610         Reviewed by Adrienne Walker.
611
612         Unit test added to CCDamageTracker.cpp.
613
614         This patch makes CCDamageTracker use CCMathUtil transforms, so
615         that perspective w < 0 problem is correctly handled.
616
617         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
618         (WebCore::CCDamageTracker::extendDamageForLayer):
619         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
620
621 2012-04-20  Jon Lee  <jonlee@apple.com>
622
623         Add Notification constructor
624         https://bugs.webkit.org/show_bug.cgi?id=80477
625         <rdar://problem/10912431>
626
627         Reviewed by Jian Li.
628
629         Tests will be added once there is support for web notifications on the Mac ports.
630
631         * WebCore.exp.in: Export finalize() function.
632
633         Modify Dictionary to support creation of event listeners.
634         * bindings/js/Dictionary.h:
635         (WebCore::Dictionary::isObject): Return true if the JSDictionary is valid.
636         (WebCore::Dictionary::isUndefinedOrNull): Return true if the JSDictionary is not valid.
637         (WebCore::Dictionary::get): Add convenience function to take const char* for
638         property name, to prevent having to do implicit conversion to WTF::String.
639         (WebCore::Dictionary::getEventListener): Add function to create event listener
640         from the dictionary.
641         (WebCore::Dictionary::asJSObject): Helper to convert WebCore objects to JS wrapper.
642         * bindings/js/Dictionary.cpp:
643         (WebCore::Notification): Implement asJSObject() for Notification.
644         * bindings/js/JSDictionary.h:
645         (WebCore::JSDictionary::execState): Expose the exec state so that the Dictionary
646         can obtain its world for creating the event listener.
647
648         * bindings/v8/Dictionary.h:
649         (WebCore::Dictionary::getEventListener): Stub implementation.
650
651         Add new constructor to idl definitions.
652         * notifications/DOMWindowNotifications.idl: Add Notification constructor, if
653         ENABLE(NOTIFICATIONS) is on.
654         * notifications/Notification.idl: If ENABLE(NOTIFICATIONS) is turned on, define
655         the constructor. Otherwise, use OmitConstructor.
656         * notifications/NotificationCenter.idl: Wrap creation functions in
657         ENABLE(LEGACY_NOTIFICATIONS).
658         * notifications/NotificationCenter.h: Ditto.
659         (NotificationCenter):
660
661         * notifications/Notification.h:
662         (Notification): Wrap legacy constructors in ENABLE(LEGACY_NOTIFICATIONS).
663         (WebCore::Notification::create): New creation function based on discussions in WG.
664         * notifications/Notification.cpp:
665         (WebCore::getAndAddEventListener): Helper function to get the listener from the
666         dictionary, and attach to the notification.
667         (WebCore::Notification::create): Create the notification, then apply whatever
668         properties can be found in the dictionary to the notification. In order to
669         attach the event listeners, the notification has to have been created, which is
670         why this all happens in the factory method and not in the constructor.
671         (WebCore::Notification::setBody): Added so that it can be set if we find it in the
672         dictionary.
673
674         The new constructor queues a task to show when it is created. To support this, we
675         use a one-shot timer that calls show() in the next iteration of the run loop.
676         (WebCore::Notification::Notification): Start the timer.
677         (WebCore::Notification::showTaskTimerFired): Call show().
678
679         Notifications, not being attached to the DOM, could be GC'ed by the JS engine
680         before its life cycle has completed. We add calls to setPendingActivity() when the
681         notification has been shown, and when it is closed, we unsetPendingActivity().
682         To guarantee that we only call this once, we add a new state to the Notification
683         state machine, called NotificationState::Closed.
684         (WebCore::Notification::show): Call setPendingActivity() for all ports. Remove conditional on Mac.
685         (WebCore::Notification::close): Include Closed state to machine; do nothing.
686         (WebCore::Notification::dispatchCloseEvent): Call finalize().
687         (WebCore::Notification::finalize): If the state is not Closed, we unsetPendingActivity()
688         to make it available for GC.
689         (WebCore::Notification::finishLoading): Remove the unsetPendingActivity(). That call
690         was to balance the setPendingActivity() called for loading the icon. Instead of wrapping
691         around the icon load, we wrap around the show() -> finalize() loop.
692
693         In Notification, rename some of the stages and functions to more clearly communicate
694         that they mostly deal with the icon of the notification, instead of general loading.
695         (WebCore::Notification::show): Refactored to use LoadingIcon and CancelledIcon.
696         (WebCore::Notification::close): Refactored to use LoadingIcon and CancelledIcon.
697         (WebCore::Notification::~Notification): Refactor to use LoadingIcon.
698         (WebCore::Notification::startLoadingIcon): Renamed from startLoading().
699         (WebCore::Notification::stopLoadingIcon): Renamed from stopLoading().
700         (WebCore::Notification::finishLoadingIcon): Renamed from finishLoading().
701         (WebCore::Notification::didFinishLoading):
702         (WebCore::Notification::didFail):
703         (WebCore::Notification::didFailRedirectCheck):
704         (WebCore::Notification::didReceiveResponse):
705         (WebCore::Notification::finishLoading):
706
707         Add Dictionary.cpp.
708         * GNUmakefile.list.am:
709         * Target.pri:
710         * UseJSC.cmake:
711         * WebCore.gypi:
712
713         Fix bug in V8 bindings generation code. If the constructor doesn't raise an exception,
714         don't use an exception code.
715         * bindings/scripts/CodeGeneratorV8.pm:
716         (GenerateParametersCheck):
717         * bindings/scripts/test/V8/V8TestObj.cpp: Reset results.
718         (WebCore::TestObjV8Internal::optionsObjectCallback):
719
720 2012-04-21  Benjamin C Meyer  <bmeyer@rim.com>
721
722         Support loading the same plugin in multiple locations in the Blackberry port.
723         https://bugs.webkit.org/show_bug.cgi?id=84537
724
725         The hash for the plugin is only based upon the plugin meta information
726         which will be the same for the same plugin in the system and user's
727         plugin folders.
728
729         It looks like this code was copied/based on the windows port
730         which doesn't allow the same plugin to be loaded more than once.
731
732         Because we want to support multiple copies of the same plugin
733         in the blackberry port we want to incorperate the path of the plugin
734         into the hash.
735
736         PR 150404
737
738         Reviewed by Adam Treat.
739
740         * plugins/blackberry/PluginPackageBlackBerry.cpp:
741         (WebCore::PluginPackage::hash):
742
743 2012-04-21  Benjamin C Meyer  <bmeyer@rim.com>
744
745         System plugins are preferred over application plugins
746         https://bugs.webkit.org/show_bug.cgi?id=84538
747
748         Set the preferred paths for plugins so that plugins that reside
749         inside of the bar will be preferred over plugins that are in the
750         system folder.
751
752         PR 150404
753
754         Reviewed by Adam Treat.
755
756         * plugins/PluginDatabase.cpp:
757         (WebCore::PluginDatabase::isPreferredPluginDirectory):
758
759 2012-04-21  Darin Adler  <darin@apple.com>
760
761         Improve performance of removing user and password from URLs
762         https://bugs.webkit.org/show_bug.cgi?id=84525
763
764         Reviewed by Dan Bernstein.
765
766         Performance improvement only. Correctness covered by existing regression tests.
767
768         The most common use of KURL::setUser and KURL::setPass, by far, is to remove
769         the user and password from a URL that already has neither. Optimize this by
770         not re-parsing the URL in that case.
771
772         * platform/KURL.cpp:
773         (WebCore::KURL::setUser): Restructure code so that the code path that removes
774         the user does no work when there is nothing to remove. Otherwise, leave the
775         logic of the function untouched.
776         (WebCore::KURL::setPass): Same thing, only for password rather than user.
777
778 2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
779
780         Unreviewed, rolling out r114768.
781         http://trac.webkit.org/changeset/114768
782         https://bugs.webkit.org/show_bug.cgi?id=84521
783
784         Original patch was not the problem, re-applying (Requested by
785         pfeldman_ on #webkit).
786
787         * bindings/v8/V8IsolatedContext.cpp:
788         (WebCore::setInjectedScriptContextDebugId):
789         (WebCore):
790         (WebCore::V8IsolatedContext::V8IsolatedContext):
791         * bindings/v8/V8Proxy.cpp:
792         (WebCore::V8Proxy::evaluateInIsolatedWorld):
793         * bindings/v8/V8Proxy.h:
794         (V8Proxy):
795
796 2012-04-20  Adrienne Walker  <enne@google.com>
797
798         [chromium] Refactor opaque content transform out of Skia context
799         https://bugs.webkit.org/show_bug.cgi?id=83608
800
801         Reviewed by James Robinson.
802
803         Having PlatformContextSkia know about the transform into content space
804         for a layer is a layering violation. This change lets the
805         PlatformContextSkia deal with opaque rects in its own space and lets
806         the caller handle transforming it into its own space. This also
807         prevents a matrix multiply per draw into the Skia canvas and does it
808         just once at the end to transform the final rect.
809
810         This is an incremental refactoring so that additional tracking for
811         text rects can be added and use the same space as opaque rects.
812
813         Tests: LayerTextureUpdaterTest.testPartialOpaqueRectNoTransform
814                LayerTextureUpdaterTest.testPartialOpaqueRectTranslation
815                LayerTextureUpdaterTest.testPartialOpaqueRectScale
816
817         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
818         (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
819         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
820         (BitmapCanvasLayerTextureUpdater):
821         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
822         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
823         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
824         (BitmapSkPictureCanvasLayerTextureUpdater):
825         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
826         (WebCore::CanvasLayerTextureUpdater::paintContents):
827         * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
828         (CanvasLayerTextureUpdater):
829         * platform/graphics/chromium/LayerTextureUpdater.h:
830         (WebCore::LayerTextureUpdater::prepareToUpdate):
831         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
832         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
833         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
834         (SkPictureCanvasLayerTextureUpdater):
835         * platform/graphics/chromium/TiledLayerChromium.cpp:
836         (WebCore::TiledLayerChromium::updateTiles):
837         * platform/graphics/skia/OpaqueRegionSkia.cpp:
838         (WebCore::OpaqueRegionSkia::didDrawRect):
839         (WebCore::OpaqueRegionSkia::didDrawPath):
840         (WebCore::OpaqueRegionSkia::didDrawPoints):
841         (WebCore::OpaqueRegionSkia::didDrawBounded):
842         (WebCore::OpaqueRegionSkia::didDraw):
843         * platform/graphics/skia/OpaqueRegionSkia.h:
844         (OpaqueRegionSkia):
845         * platform/graphics/skia/PlatformContextSkia.cpp:
846         (WebCore::PlatformContextSkia::didDrawRect):
847         (WebCore::PlatformContextSkia::didDrawPath):
848         (WebCore::PlatformContextSkia::didDrawPoints):
849         (WebCore::PlatformContextSkia::didDrawBounded):
850         * platform/graphics/skia/PlatformContextSkia.h:
851         (PlatformContextSkia):
852
853 2012-04-20  Enrica Casucci  <enrica@apple.com>
854
855         CRASH at WebCore::ReplaceSelectionCommand::removeRedundantMarkup
856         https://bugs.webkit.org/show_bug.cgi?id=84518
857         <rdar://problem/10714790>
858
859         Reviewed by Simon Fraser.
860
861         There are cases where the m_lastNodeInserted is NULL to begin with or
862         gets deleted by removeRedundantStylesAndKeepStyleSpanInline.
863         This change handles those cases properly.
864         
865         Tests: editing/pasteboard/paste-sanitize-crash-1.html
866                editing/pasteboard/paste-sanitize-crash-2.html
867
868         * editing/ReplaceSelectionCommand.h:
869         (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
870         * editing/SimplifyMarkupCommand.cpp:
871         (WebCore::SimplifyMarkupCommand::doApply):
872
873 2012-04-20  Michael Nordman  <michaeln@google.com>
874
875         [chromium] Tiny change to DomStorage v8 bindings to avoid a relatively expensive test in a couple
876         of places by reordering the expressions in compound conditions, if (fastTest && moreExpensiveTest)
877         https://bugs.webkit.org/show_bug.cgi?id=84500
878
879         Reviewed by Kentaro Hara.
880
881         No new tests, no new functionality.
882
883         * bindings/v8/custom/V8StorageCustom.cpp:
884         (WebCore::storageGetter):
885         (WebCore::V8Storage::namedPropertyQuery):
886
887 2012-04-20  Dan Bernstein  <mitz@apple.com>
888
889         REGRESSION (r114784): svg/text/foreignObject-text-clipping-bug.xml failing on Mountain Lion Debug Tests
890         https://bugs.webkit.org/show_bug.cgi?id=84505
891
892         Reviewed by Anders Carlsson.
893
894         * rendering/RenderBlock.cpp:
895         (WebCore::RenderBlock::blockBeforeWithinSelectionRoot): Changed to not assume that boxes only
896         have boxes as siblings.
897
898 2012-04-20  Dana Jansens  <danakj@chromium.org>
899
900         [chromium] Remove special case for recreating layers during sync
901         https://bugs.webkit.org/show_bug.cgi?id=84458
902
903         Reviewed by James Robinson.
904
905         We no longer delete layers on the impl side, unless it is due to
906         deleting the layer on webkit side. So we will no longer have a
907         situation where we need to push properties from an old
908         LayerChromium to a new CCLayerImpl.
909
910         * platform/graphics/chromium/TreeSynchronizer.cpp:
911         (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
912
913 2012-04-20  Dana Jansens  <danakj@chromium.org>
914
915         [chromium] WebFilterOperations API does not compile or dynamically link
916         https://bugs.webkit.org/show_bug.cgi?id=84506
917
918         Reviewed by James Robinson.
919
920         Non-inline functions need WEBKIT_EXPORT in their declarations,
921         and the type used in the WebPrivateOwnPtr needs to be forward-
922         declared even when WEBKIT_IMPLEMENTATION is not defined.
923
924         * platform/chromium/support/WebFilterOperations.cpp:
925         (WebKit::WebFilterOperations::initialize):
926
927 2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
928
929         Unreviewed, rolling out r114333.
930         http://trac.webkit.org/changeset/114333
931         https://bugs.webkit.org/show_bug.cgi?id=84511
932
933         perf regression (Requested by morrita on #webkit).
934
935         * dom/Node.cpp:
936         * dom/Node.h:
937         (WebCore):
938         (Node):
939         (WebCore::Node::isElementNode):
940         (WebCore::Node::isContainerNode):
941         (WebCore::Node::isTextNode):
942         (WebCore::Node::isHTMLElement):
943         (WebCore::Node::isSVGElement):
944         (WebCore::Node::isStyledElement):
945         (WebCore::Node::isShadowRoot):
946         (WebCore::Node::parentNode):
947         (WebCore::Node::parentNodeGuaranteedHostFree):
948
949 2012-04-20  Alec Flett  <alecflett@chromium.org>
950
951         IndexedDB: Support get/getKey(keyRange)
952         https://bugs.webkit.org/show_bug.cgi?id=83638
953
954         Reviewed by Ojan Vafai.
955
956         Support IDBKeyRange as a parameter to all the various get/getKey 
957         combinations. Switches the existing get/getKey versions that use 
958         IDBKey directly to start using IDBKeyRange.only(). 
959
960         Test: storage/indexeddb/get-keyrange.html
961
962         * Modules/indexeddb/IDBIndex.cpp:
963         (WebCore::IDBIndex::get):
964         (WebCore):
965         (WebCore::IDBIndex::getKey):
966         * Modules/indexeddb/IDBIndex.h:
967         (IDBIndex):
968         * Modules/indexeddb/IDBIndex.idl:
969         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
970         (WebCore::IDBIndexBackendImpl::getInternal):
971         (WebCore):
972         (WebCore::IDBIndexBackendImpl::getByRangeInternal):
973         (WebCore::IDBIndexBackendImpl::getKeyInternal):
974         (WebCore::IDBIndexBackendImpl::getKeyByRangeInternal):
975         (WebCore::IDBIndexBackendImpl::get):
976         (WebCore::IDBIndexBackendImpl::getKey):
977         * Modules/indexeddb/IDBIndexBackendImpl.h:
978         (IDBIndexBackendImpl):
979         * Modules/indexeddb/IDBIndexBackendInterface.h:
980         (IDBIndexBackendInterface):
981         * Modules/indexeddb/IDBObjectStore.cpp:
982         (WebCore::IDBObjectStore::get):
983         (WebCore):
984         * Modules/indexeddb/IDBObjectStore.h:
985         (IDBObjectStore):
986         * Modules/indexeddb/IDBObjectStore.idl:
987         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
988         (WebCore):
989         (WebCore::IDBObjectStoreBackendImpl::get):
990         (WebCore::IDBObjectStoreBackendImpl::getByRangeInternal):
991         (WebCore::IDBObjectStoreBackendImpl::getInternal):
992         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
993         (IDBObjectStoreBackendImpl):
994         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
995         (IDBObjectStoreBackendInterface):
996
997 2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
998
999         Unreviewed, rolling out r114789.
1000         http://trac.webkit.org/changeset/114789
1001         https://bugs.webkit.org/show_bug.cgi?id=84515
1002
1003         Caused 5 tests to fail on mac/ (Requested by jernoble on
1004         #webkit).
1005
1006         * css/CSSPrimitiveValueMappings.h:
1007         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1008         * css/CSSValueKeywords.in:
1009         * platform/ThemeTypes.h:
1010         * rendering/RenderTheme.cpp:
1011         (WebCore::RenderTheme::paint):
1012
1013 2012-04-20  Brady Eidson  <beidson@apple.com>
1014
1015         https://bugs.webkit.org/show_bug.cgi?id=84512
1016         Repurpose ActiveDOMObject::WillShowDialog to WillDeferLoading
1017
1018         Reviewed by Eric Carlson.
1019
1020         No new tests. (Refactor, no behavior change)
1021
1022         Rename WillShowDialog to WillDeferLoading:
1023         * dom/ActiveDOMObject.h:
1024         * html/HTMLMediaElement.cpp:
1025         (WebCore::HTMLMediaElement::suspend):
1026
1027         Don't take a ReasonForSuspension argument anymore, just use WillDeferLoading:
1028         * page/PageGroupLoadDeferrer.cpp:
1029         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1030         * page/PageGroupLoadDeferrer.h:
1031
1032         Don't pass a Reason anymore as WillDeferLoading is used by default:
1033         * page/Chrome.cpp:
1034         (WebCore::Chrome::runModal):
1035         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
1036         (WebCore::Chrome::runJavaScriptAlert):
1037         (WebCore::Chrome::runJavaScriptConfirm):
1038         (WebCore::Chrome::runJavaScriptPrompt):
1039         (WebCore::Chrome::shouldInterruptJavaScript):
1040
1041 2012-04-20  James Robinson  <jamesr@chromium.org>
1042
1043         [chromium] Plumb a compositor surface ready notification through to the threaded compositor
1044         https://bugs.webkit.org/show_bug.cgi?id=84305
1045
1046         Reviewed by Adrienne Walker.
1047
1048         Plumb setSurfaceReady through to the scheduler.
1049
1050         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1051         (WebCore::CCLayerTreeHost::setSurfaceReady):
1052         (WebCore):
1053         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1054         (CCLayerTreeHost):
1055         * platform/graphics/chromium/cc/CCProxy.h:
1056         (CCProxy):
1057         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1058         (WebCore::CCSingleThreadProxy::setSurfaceReady):
1059         (WebCore):
1060         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1061         (CCSingleThreadProxy):
1062         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1063         (WebCore::CCThreadProxy::setSurfaceReady):
1064         (WebCore):
1065         (WebCore::CCThreadProxy::setSurfaceReadyOnImplThread):
1066         (WebCore::CCThreadProxy::initializeImplOnImplThread):
1067         * platform/graphics/chromium/cc/CCThreadProxy.h:
1068         (CCThreadProxy):
1069
1070 2012-04-20  Mark Pilgrim  <pilgrim@chromium.org>
1071
1072         [Chromium] Call memoryUsageMB directly
1073         https://bugs.webkit.org/show_bug.cgi?id=84376
1074
1075         Reviewed by Kentaro Hara.
1076
1077         Now that memoryUsageMB has been moved from PlatformSupport.h to
1078         Platform.h, we need to be able to call it directly
1079         from WebCore/bindings/v8/V8GCController.cpp.
1080         That means we need a new MemoryUsageSupport class in
1081         WebCore/platform/ and an implementation in
1082         WebCore/platform/chromium/MemoryUsageSupportChromium.cpp.
1083         Other ports are welcome to implement their memory usage
1084         functions if they wish. This pattern was based on the
1085         HistogramSupport/HistogramSupportChromium classes.
1086
1087         Part of a refactoring series. See tracking bug 82948.
1088
1089         * CMakeLists.txt:
1090         * GNUmakefile.list.am:
1091         * Target.pri:
1092         * WebCore.gypi:
1093         * WebCore.vcproj/WebCore.vcproj:
1094         * WebCore.xcodeproj/project.pbxproj:
1095         * bindings/v8/V8GCController.cpp:
1096         (WebCore):
1097         * platform/MemoryUsageSupport.cpp: Added.
1098         (WebCore):
1099         (WebCore::MemoryUsageSupport::memoryUsageMB):
1100         * platform/MemoryUsageSupport.h: Added.
1101         (WebCore):
1102         (MemoryUsageSupport):
1103         * platform/chromium/MemoryUsageSupportChromium.cpp: Added.
1104         (WebCore):
1105         (WebCore::MemoryUsageSupport::memoryUsageMB):
1106         * platform/chromium/PlatformSupport.h:
1107         (PlatformSupport):
1108
1109 2012-04-20  Anders Carlsson  <andersca@apple.com>
1110
1111         Re-land. The non-fast scrollable region is now always updated after layout, and frameViewScrollableAreasDidChange has been removed.
1112
1113         computeNonFastScrollableRegion needs to traverse the entire frame tree
1114         https://bugs.webkit.org/show_bug.cgi?id=84409
1115         <rdar://problem/11285741>
1116
1117         Reviewed by Dan Bernstein.
1118
1119         Now that scrollable areas won't be in the set of scrollable areas unless they are actually scrollable, we need to look for scrollable
1120         areas in the entire frame tree since there can be a scrollable frame that's a subframe of a non-scrollable frame for example.
1121
1122         * page/scrolling/ScrollingCoordinator.cpp:
1123         (WebCore::computeNonFastScrollableRegion):
1124         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
1125
1126 2012-04-20  Adrienne Walker  <enne@google.com>
1127
1128         [chromium] Clip TransparencyWin to prevent OOM from large Skia canvas
1129         https://bugs.webkit.org/show_bug.cgi?id=84289
1130
1131         Reviewed by James Robinson.
1132
1133         TransparencyWin will create a Skia canvas of whatever size is passed
1134         in, even if the result will ultimately be clipped. Handle the clip
1135         implicitly and try (in some cases) to create a smaller canvas. This
1136         can happen due to RenderBox::paintBoxDecorations passing a paint rect
1137         down of the entire element's size.
1138
1139         Modes with more complicated transforms (ScaleTransform, UnTransform)
1140         are not handled yet.
1141
1142         Tests: TransparencyWin.ClippedKeepTransformNoLayer
1143                TransparencyWin.ClippedKeepTransformOpaqueCompositeLayer
1144                TransparencyWin.ClippedKeepTransformOpaqueWhiteLayer
1145
1146         * platform/graphics/chromium/TransparencyWin.cpp:
1147         (WebCore::TransparencyWin::computeLayerSize):
1148
1149 2012-04-04  Jer Noble  <jer.noble@apple.com>
1150
1151         apple.com top navigation bar appears inside video during full screen exit animation
1152         https://bugs.webkit.org/show_bug.cgi?id=83095
1153
1154         Reviewed by Eric Carlson.
1155
1156         Test: fullscreen/full-screen-exit-animation-stacking-context.html
1157
1158         Only tell ancestors of the full screen element that they are no longer ancestors once
1159         the full screen animation is complete:
1160         * dom/Document.cpp:
1161         (WebCore::Document::webkitWillExitFullScreenForElement):
1162         (WebCore::Document::webkitDidExitFullScreenForElement):
1163
1164         To facilitate writing reproducible LayoutTests, expose webkitWill/Did/Enter/ExitFullScreen
1165         from the Internals object, so scripts can call them explicitly:
1166         * testing/Internals.cpp:
1167         (WebCore::Internals::webkitWillEnterFullScreenForElement): Call the Document equivalent.
1168         (WebCore::Internals::webkitDidEnterFullScreenForElement): Ditto.
1169         (WebCore::Internals::webkitWillExitFullScreenForElement): Ditto.
1170         (WebCore::Internals::webkitDidExitFullScreenForElement): Ditto.
1171         * testing/Internals.h:
1172         * testing/Internals.idl:
1173
1174 2012-04-17  Jer Noble  <jer.noble@apple.com>
1175
1176         media-exit-fullscreen-button (and related enums) is unnecessary and should be removed.
1177         https://bugs.webkit.org/show_bug.cgi?id=84162
1178
1179         Reviewed by Eric Carlson.
1180
1181         No new tests; no change in functionality so covered by existing tests.
1182
1183         Remove the media-exit-fullscreen-button keyword, and rename media-enter-fullscreen-button to
1184         media-fullscreen-button.
1185
1186         * css/CSSPrimitiveValueMappings.h:
1187         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1188         * css/CSSValueKeywords.in:
1189         * css/mediaControls.css:
1190         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
1191         * platform/ThemeTypes.h:
1192         * rendering/RenderTheme.cpp:
1193         (WebCore::RenderTheme::paint):
1194
1195 2012-04-20  Alexandre Elias  <aelias@google.com>
1196
1197         [chromium] Fix compile errors when DEBUG_GL_CALLS is enabled
1198         https://bugs.webkit.org/show_bug.cgi?id=84491
1199
1200         Reviewed by Ojan Vafai.
1201
1202         DEBUG_GL_CALLS had not been used in a while and the mode no longer
1203         compiled when I tried it.  I improved the GLC macro to support either
1204         raw pointers or RefPtrs, and to be a single expression in order to
1205         interact properly with if/else blocks.  I fixed the cases where we
1206         were passing in the "context" method pointer by mistake, and removed the
1207         now-unnecessary "get()" calls for the RefPtrs.
1208
1209         No new tests. (No-op change in release builds.)
1210
1211         * platform/graphics/chromium/LayerRendererChromium.cpp:
1212         (WebCore::LayerRendererChromium::initialize):
1213         (WebCore::LayerRendererChromium::clearRenderSurface):
1214         (WebCore::LayerRendererChromium::beginDrawingFrame):
1215         (WebCore::LayerRendererChromium::doNoOp):
1216         (WebCore::LayerRendererChromium::drawQuad):
1217         (WebCore::LayerRendererChromium::drawTextureQuad):
1218         (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
1219         (WebCore::LayerRendererChromium::finishDrawingFrame):
1220         (WebCore::LayerRendererChromium::useRenderSurface):
1221         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
1222         (WebCore::LayerRendererChromium::setScissorToRect):
1223         (WebCore::LayerRendererChromium::setDrawViewportRect):
1224         (WebCore::LayerRendererChromium::initializeSharedObjects):
1225         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1226         * platform/graphics/chromium/LayerRendererChromium.h:
1227         (WebCore):
1228
1229 2012-04-20  Anders Carlsson  <andersca@apple.com>
1230
1231         Fix build.
1232
1233         * page/scrolling/ScrollingCoordinator.cpp:
1234         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
1235
1236 2012-04-19  Simon Fraser  <simon.fraser@apple.com>
1237
1238         Set m_compositingDependsOnGeometry to false if possible
1239         https://bugs.webkit.org/show_bug.cgi?id=84391
1240
1241         Reviewed by James Robinson.
1242         
1243         For some kinds of elements, RenderLayerCompositor has to delay decisions about
1244         compositing until the element's size and/or position are known. This was previsouly
1245         based on the confusingly named m_compositingDependsOnGeometry flag, but another
1246         variant of the same technique, with an additional flag m_compositingNeedsUpdate,
1247         was added in r98627.
1248         
1249         Also, once the m_compositingDependsOnGeometry flag was set to true, nothing
1250         set it to false, so every compositing layer update resulted in a computeCompositingRequirements()
1251         pass over the layers.
1252         
1253         Rename the m_compositingDependsOnGeometry flag to m_reevaluateCompositingAfterLayout,
1254         and clear the flag when we do a layout-related compositing layer update.
1255         Use the same flag for position:fixed compositing.
1256         
1257         This requires RenderLayerCompositor to distinguish between style- and layout-
1258         related updates, requiring some minor refactoring in FrameView.
1259
1260         Should not change behavior.
1261         
1262         * dom/Document.cpp:
1263         (WebCore::Document::recalcStyle):
1264         (WebCore::Document::implicitClose):
1265         * page/FrameView.cpp:
1266         (WebCore::FrameView::updateCompositingLayersAfterStyleChange):
1267         (WebCore::FrameView::updateCompositingLayersAfterLayout):
1268         (WebCore::FrameView::restoreBackingStores):
1269         (WebCore::FrameView::layout):
1270         * page/FrameView.h:
1271         (FrameView):
1272         * rendering/RenderLayerCompositor.cpp:
1273         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1274         (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
1275         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1276         (WebCore::RenderLayerCompositor::layerTreeAsText):
1277         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
1278         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
1279         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
1280         * rendering/RenderLayerCompositor.h:
1281         (RenderLayerCompositor):
1282
1283 2012-04-20  Dan Bernstein  <mitz@apple.com>
1284
1285         <rdar://problem/10786000> Selection highlights of lines in adjoining blocks can overlap
1286         https://bugs.webkit.org/show_bug.cgi?id=84489
1287
1288         Reviewed by Anders Carlsson.
1289
1290         Test: fast/block/line-layout/selection-highlight-overlap.html
1291
1292         * rendering/EllipsisBox.cpp:
1293         (WebCore::EllipsisBox::selectionRect): Changed to use
1294         selection{Top,Height}AdjustedForPrecedingBlock().
1295         * rendering/InlineTextBox.cpp:
1296         (WebCore::InlineTextBox::paintSelection): Ditto.
1297         * rendering/RenderBlock.cpp:
1298         (WebCore::RenderBlock::inlineSelectionGaps): Ditto.
1299         (WebCore::RenderBlock::blockBeforeWithinSelectionRoot): Added. Returns the block which is
1300         likely to contain the selected line just before the first line in this block, if it is
1301         within the same selection root.
1302         * rendering/RenderBlock.h:
1303         * rendering/RootInlineBox.cpp:
1304         (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock): Added. If the selection
1305         starts before our block, finds the last line in the preceding block and adjusts the selection
1306         top to avoid overlap with that line’s selection bottom.
1307         * rendering/RootInlineBox.h:
1308         (WebCore::RootInlineBox::selectionHeightAdjustedForPrecedingBlock): Added. Like
1309         selectionHeight(), but uses selectionTopAdjustedForPrecedingBlock().
1310
1311 2012-04-20  Xianzhu Wang  <wangxianzhu@chromium.org>
1312
1313         Crash in getOrDrawNodeHighlight after r114659
1314         https://bugs.webkit.org/show_bug.cgi?id=84486
1315
1316         Reviewed by Daniel Bates.
1317
1318         No new tests. Fixes a crash in test: inspector/elements/elements-panel-selection-on-refresh.html.
1319
1320         * inspector/DOMNodeHighlighter.cpp:
1321
1322 2012-04-20  Brady Eidson  <beidson@apple.com>
1323
1324         https://bugs.webkit.org/show_bug.cgi?id=84490
1325         PageGroupLoadDeferrer needs to take a ReasonForSuspension argument
1326
1327         Reviewed by Anders Carlsson.
1328
1329         No new tests. (Refactor, no change in behavior)
1330
1331         - Make PageGroupLoadDeferrer take a ReasonForSuspension argument so it can pass it along.
1332         * page/PageGroupLoadDeferrer.cpp:
1333         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1334         * page/PageGroupLoadDeferrer.h:
1335
1336         - Change suspendScheduledTasks to take a ReasonForSuspension.
1337         - As long as we're changing Document.h, add a m_suspendedScheduledTasks flag and some
1338           ASSERTs to catch what would be epically wrong behavior in the future.
1339         * dom/Document.cpp:
1340         (WebCore::Document::Document):
1341         (WebCore::Document::suspendScheduledTasks):
1342         (WebCore::Document::resumeScheduledTasks):
1343         * dom/Document.h:
1344
1345         - Pass ActiveDOMObject::WillShowDialog along to all PageGroupLoadDeferrers, as it used
1346           to be the default behavior
1347         * page/Chrome.cpp:
1348         (WebCore::Chrome::runModal):
1349         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
1350         (WebCore::Chrome::runJavaScriptAlert):
1351         (WebCore::Chrome::runJavaScriptConfirm):
1352         (WebCore::Chrome::runJavaScriptPrompt):
1353         (WebCore::Chrome::shouldInterruptJavaScript):
1354
1355 2012-04-20  Anders Carlsson  <andersca@apple.com>
1356
1357         Scrolling after going to a find-in-page result jumps to the top of the page
1358         https://bugs.webkit.org/show_bug.cgi?id=84485
1359         <rdar://problem/11273734>
1360
1361         Reviewed by Beth Dakin.
1362
1363         If we're both updating the requested scroll position and entering slow mode in the same commit, the
1364         probable main thread scroll position should be the requested scroll position.
1365
1366         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
1367         (WebCore::ScrollingTreeNodeMac::update):
1368
1369 2012-04-20  James Robinson  <jamesr@chromium.org>
1370
1371         Avoid synchronously recalculating the nonFastScrollableRegion when the ScrollableArea set changes
1372         https://bugs.webkit.org/show_bug.cgi?id=84470
1373
1374         Reviewed by Anders Carlsson.
1375
1376         When a scrollable area is added or removed, we shouldn't recalculate the nonFastScrollableRegion synchronously
1377         since this is slow, the RenderObject tree might not be in an up-to-date state, and we'll typically do layout
1378         soon anyway.
1379
1380         * page/FrameView.cpp:
1381         (WebCore::FrameView::addScrollableArea):
1382         (WebCore::FrameView::removeScrollableArea):
1383         * page/scrolling/ScrollingCoordinator.cpp:
1384         * page/scrolling/ScrollingCoordinator.h:
1385         (ScrollingCoordinator):
1386
1387 2012-04-20  Emil A Eklund  <eae@chromium.org>
1388
1389         Fix use of LayoutUnits in DOMNodeHighlighter
1390         https://bugs.webkit.org/show_bug.cgi?id=84472
1391
1392         Reviewed by Eric Seidel.
1393
1394         Fix use of subpixel units and rounding in new code introduced in r114659.
1395
1396         No new tests, no change in functionality.
1397
1398         * inspector/DOMNodeHighlighter.cpp:
1399
1400 2012-04-17  Antonio Gomes  <agomes@rim.com>
1401
1402         Relax ScrollView::adjustScrollPositionWithinRange in case constrainsScrollingToContentEdge is false
1403         https://bugs.webkit.org/show_bug.cgi?id=84178
1404
1405         Reviewed by Adam Treat.
1406
1407         No new tests since it is not easily testable.
1408
1409         When a port has both delegatesScrolling and constrainsScrollingToContentEdge set to FALSE
1410         (i.e. it accepts overscrolled position), calling ScrollView::setScrollPosition with an overscrolled
1411         position still gets the position clamped to the content size edges.
1412
1413         Patch relaxes ::adjustScrollPositionWithinRange in that sense in order to track the actual scroll
1414         position.
1415
1416         Note: ScrollView::setScrollOffset already does something similar.
1417
1418         * platform/ScrollView.cpp:
1419         (WebCore::ScrollView::adjustScrollPositionWithinRange):
1420
1421 2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1422
1423         Unreviewed, rolling out r114535.
1424         http://trac.webkit.org/changeset/114535
1425         https://bugs.webkit.org/show_bug.cgi?id=84475
1426
1427         It might have caused V8 crashes. (Requested by pfeldman_ on
1428         #webkit).
1429
1430         * bindings/v8/V8IsolatedContext.cpp:
1431         (WebCore::V8IsolatedContext::V8IsolatedContext):
1432         * bindings/v8/V8Proxy.cpp:
1433         (WebCore::V8Proxy::evaluateInIsolatedWorld):
1434         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
1435         (WebCore):
1436         * bindings/v8/V8Proxy.h:
1437         (V8Proxy):
1438
1439 2012-04-20  Dean Jackson  <dino@apple.com>
1440
1441         -webkit-filter missing from computed style enumeration
1442         https://bugs.webkit.org/show_bug.cgi?id=84468
1443
1444         Reviewed by Timothy Hatcher.
1445         
1446         CSSComputedStyleDeclaration has a list of properties that it exposes.
1447         While the computed style for filter was available, the property wasn't
1448         listed and hence missing in clients like the Web Inspector.
1449
1450         Covered by existing tests.
1451
1452         * css/CSSComputedStyleDeclaration.cpp:
1453         (WebCore): add CSSPropertyWebkitFilter
1454
1455 2012-04-20  Emil A Eklund  <eae@chromium.org>
1456
1457         [win] Update windows platform code to use pixel snapped values
1458         https://bugs.webkit.org/show_bug.cgi?id=84283
1459
1460         Reviewed by Eric Seidel.
1461
1462         No new tests, no change in functionality.
1463
1464         * accessibility/AccessibilityObject.h:
1465         (WebCore::AccessibilityObject::pixelSnappedElementRect):
1466         Use pixel snapped values when computing screenRect.
1467         
1468         * platform/win/PopupMenuWin.cpp:
1469         (WebCore::PopupMenuWin::calculatePositionAndSize):
1470         (WebCore::PopupMenuWin::paint):
1471         Cast client padding to ints as they are guaranteed to align with device pixels.
1472
1473 2012-04-20  Dana Jansens  <danakj@chromium.org>
1474
1475         [chromium] Some filters require inflating damage rect in CCDamageTracker
1476         https://bugs.webkit.org/show_bug.cgi?id=84373
1477
1478         Reviewed by James Robinson.
1479
1480         When a layer is blurred, damaged pixels are blurred out into a radius
1481         and their damage should be expanded to include total blurred region.
1482
1483         Unit test: CCDamageTrackerTest.verifyDamageForBlurredSurface
1484
1485         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1486         (WebCore::CCDamageTracker::updateDamageTrackingState):
1487         (WebCore::CCDamageTracker::expandDamageRectWithForegroundFilters):
1488         (WebCore):
1489         * platform/graphics/chromium/cc/CCDamageTracker.h:
1490         (WebCore):
1491         (CCDamageTracker):
1492         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1493         (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
1494
1495 2012-04-20  Sami Kyostila  <skyostil@chromium.org>
1496
1497         [chromium] Don't crash when scrolling empty layer tree
1498         https://bugs.webkit.org/show_bug.cgi?id=84455
1499
1500         Reviewed by James Robinson.
1501
1502         Do not try to calculate render passes when there are no layers in the
1503         layer tree.
1504
1505         Added new unit test.
1506
1507         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1508         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1509
1510 2012-04-20  Victor Carbune  <vcarbune@adobe.com>
1511
1512         Ensure text is centered for default captions
1513         https://bugs.webkit.org/show_bug.cgi?id=84450
1514
1515         Reviewed by Eric Carlson.
1516
1517         Updated existing test.
1518
1519         * html/track/TextTrackCue.cpp:
1520         (WebCore::TextTrackCue::getDisplayTree): Added default width.
1521
1522 2012-04-20  Pavel Feldman  <pfeldman@chromium.org>
1523
1524         Web Inspector: open file dialog is not centered.
1525         https://bugs.webkit.org/show_bug.cgi?id=84464
1526
1527         Reviewed by Yury Semikhatsky.
1528
1529         There was an error in the positioning logic.
1530
1531         * inspector/front-end/FilteredItemSelectionDialog.js:
1532         (WebInspector.FilteredItemSelectionDialog.prototype.position):
1533
1534 2012-04-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1535
1536         [Qt] PlatformMouseEventQt.cpp should be deleted.
1537         https://bugs.webkit.org/show_bug.cgi?id=84437
1538
1539         Reviewed by Kenneth Rohde Christiansen.
1540
1541         * platform/qt/PlatformMouseEventQt.cpp: Removed.
1542
1543 2012-04-20  Pavel Feldman  <pfeldman@chromium.org>
1544
1545         Web Inspector: follow up to r114729: more @return annotations added.
1546         https://bugs.webkit.org/show_bug.cgi?id=84447
1547
1548         Reviewed by Yury Semikhatsky.
1549
1550         * inspector/front-end/Resource.js:
1551         (WebInspector.Resource):
1552         (WebInspector.ResourceRevision.prototype.get content):
1553         * inspector/front-end/ResourceTreeModel.js:
1554         (WebInspector.ResourceTreeFrame.prototype._addRequest):
1555         * inspector/front-end/ResourceUtils.js:
1556         (String.prototype.asParsedURL):
1557
1558 2012-04-20  Pavel Feldman  <pfeldman@chromium.org>
1559
1560         Web Inspector: migrate from ScriptsNavigator to NavigatorView in the Styles panel
1561         https://bugs.webkit.org/show_bug.cgi?id=84459
1562
1563         Reviewed by Yury Semikhatsky.
1564
1565         Now that NavigatorView has all the functionality we need, we can use it.
1566
1567         * inspector/front-end/NavigatorView.js:
1568         (WebInspector.NavigatorScriptTreeElement.prototype.ondblclick):
1569         * inspector/front-end/ScriptsNavigator.js:
1570         (WebInspector.ScriptsNavigator):
1571         * inspector/front-end/StylesPanel.js:
1572         (WebInspector.StylesPanel):
1573         (WebInspector.StylesPanel.prototype._resourceAdded):
1574         (WebInspector.StylesPanel.prototype._reset):
1575         (WebInspector.StylesPanel.prototype._itemSelected):
1576         (WebInspector.StylesPanel.prototype._showFile):
1577         * inspector/front-end/navigatorView.css:
1578         (.navigator-tabbed-pane .tabbed-pane-content):
1579         (.navigator-tabbed-pane .navigator-container):
1580         (.navigator-tabbed-pane .navigator):
1581         (.navigator-tabbed-pane .tabbed-pane-header):
1582         (.navigator-tabbed-pane .tabbed-pane-header-contents):
1583         * inspector/front-end/scriptsPanel.css:
1584
1585 2012-04-20  Sam D  <dsam2912@gmail.com>
1586
1587         Web Inspector: Does not have search navigation button for going through matches in either direction (prev, next)
1588         https://bugs.webkit.org/show_bug.cgi?id=84235
1589
1590         Added buttons for navigating on seiarch matches in inspector panel
1591         through button clicks as well. 
1592
1593         Reviewed by Pavel Feldman.
1594
1595         No new tests / ux enhanced for search functionality
1596
1597         * English.lproj/localizedStrings.js:
1598         * WebCore.gypi:
1599         * inspector/front-end/Images/searchNext.png: Added.
1600         * inspector/front-end/Images/searchPrev.png: Added.
1601         * inspector/front-end/SearchController.js:
1602         (WebInspector.SearchController):
1603         (WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
1604         (WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):
1605         (WebInspector.SearchController.prototype._onNextButtonSearch):
1606         (WebInspector.SearchController.prototype._onPrevButtonSearch):
1607         (WebInspector.SearchController.prototype._performSearch):
1608         (WebInspector.SearchController.prototype._createSearchNavigationButton):
1609         (WebInspector.SearchController.prototype._populateSearchNavigationButtons):
1610         * inspector/front-end/WebKit.qrc:
1611         * inspector/front-end/inspector.css:
1612         (.toolbar-search-item):
1613         (#search):
1614         (#toolbar-search-navigation-control):
1615         (.toolbar-search-navigation-label):
1616         (.toolbar-search-navigation-label:hover):
1617         (.toolbar-search-navigation-icon-prev , .toolbar-search-navigation-icon-next):
1618         (.toolbar-search-navigation-icon-prev):
1619         (.toolbar-search-navigation-icon-next):
1620         * inspector/front-end/inspector.html:
1621
1622 2012-04-20  Pavel Feldman  <pfeldman@chromium.org>
1623
1624         Web Inspector: extract NavigatorView and NavigatorOverlayController from ScriptsNavigator.
1625         https://bugs.webkit.org/show_bug.cgi?id=84441
1626
1627         Reviewed by Yury Semikhatsky.
1628
1629         - Moves NavigatorOverlayController out of ScriptsNavigator
1630         - Extracts NavigatorView from ScriptsNavigator and makes ScriptsNavigator contain 3 NavigatorView instances (one per tab)
1631         - Subclasses SnippetsNavigatorView and leaves it within ScriptsNavigator.
1632
1633         * WebCore.gypi:
1634         * WebCore.vcproj/WebCore.vcproj:
1635         * inspector/compile-front-end.py:
1636         * inspector/front-end/NavigatorOverlayController.js: Added.
1637         (WebInspector.NavigatorOverlayController.prototype.wasShown):
1638         (WebInspector.NavigatorOverlayController.prototype._createNavigatorControlButton):
1639         (WebInspector.NavigatorOverlayController.prototype._escDownWhileNavigatorOverlayOpen):
1640         (WebInspector.NavigatorOverlayController.prototype._toggleNavigator):
1641         (WebInspector.NavigatorOverlayController.prototype._hidePinnedNavigator):
1642         (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
1643         (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
1644         (WebInspector.NavigatorOverlayController.prototype.hideNavigatorOverlay):
1645         (WebInspector.NavigatorOverlayController.prototype._navigatorOverlayWasShown):
1646         * inspector/front-end/NavigatorView.js: Added.
1647         (WebInspector.NavigatorView):
1648         (WebInspector.NavigatorView.prototype._updateScriptTitle.get if):
1649         (WebInspector.NavigatorView.prototype._updateScriptTitle):
1650         (WebInspector.NavigatorView.prototype._scriptSelected):
1651         (WebInspector.NavigatorView.prototype._removeUISourceCode.get while):
1652         (WebInspector.NavigatorView.prototype._removeUISourceCode):
1653         (WebInspector.NavigatorView.prototype._showScriptFoldersSettingChanged):
1654         (WebInspector.NavigatorView.prototype._fileRenamed):
1655         (WebInspector.NavigatorView.prototype.rename.commitHandler):
1656         (WebInspector.NavigatorView.prototype.rename.cancelHandler):
1657         (WebInspector.NavigatorView.prototype.rename.afterEditing):
1658         (WebInspector.NavigatorView.prototype.reset):
1659         (WebInspector.NavigatorView.prototype.createFolderTreeElement):
1660         (WebInspector.NavigatorView.prototype.getOrCreateFolderTreeElement):
1661         (WebInspector.NavigatorView.prototype.handleContextMenu):
1662         (WebInspector.NavigatorTreeOutline):
1663         (WebInspector.NavigatorTreeOutline._treeElementsCompare.compare.typeWeight):
1664         (WebInspector.NavigatorTreeOutline._treeElementsCompare):
1665         (WebInspector.NavigatorTreeOutline.prototype.scriptTreeElements):
1666         (WebInspector.NavigatorTreeOutline.prototype.searchStarted):
1667         (WebInspector.NavigatorTreeOutline.prototype.searchFinished):
1668         (WebInspector.BaseNavigatorTreeElement):
1669         (WebInspector.BaseNavigatorTreeElement.prototype.onattach):
1670         (WebInspector.BaseNavigatorTreeElement.prototype.onreveal):
1671         (WebInspector.BaseNavigatorTreeElement.prototype.get titleText):
1672         (WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
1673         (WebInspector.BaseNavigatorTreeElement.prototype.matchesSearchText):
1674         (WebInspector.NavigatorFolderTreeElement):
1675         (WebInspector.NavigatorFolderTreeElement.prototype.get folderIdentifier):
1676         (WebInspector.NavigatorFolderTreeElement.prototype.get isDomain):
1677         (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
1678         (WebInspector.NavigatorScriptTreeElement):
1679         (WebInspector.NavigatorScriptTreeElement.prototype.get uiSourceCode):
1680         (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
1681         (WebInspector.NavigatorScriptTreeElement.prototype.onspace):
1682         (WebInspector.NavigatorScriptTreeElement.prototype._onclick):
1683         (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
1684         (WebInspector.NavigatorScriptTreeElement.prototype._handleContextMenuEvent):
1685         * inspector/front-end/ScriptsNavigator.js:
1686         (WebInspector.ScriptsNavigator):
1687         (WebInspector.ScriptsNavigator.prototype.addUISourceCode):
1688         (WebInspector.ScriptsNavigator.prototype.isScriptSourceAdded):
1689         (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
1690         (WebInspector.ScriptsNavigator.prototype.replaceUISourceCodes):
1691         (WebInspector.ScriptsNavigator.prototype._scriptSelected):
1692         (WebInspector.ScriptsNavigator.prototype.reset):
1693         (WebInspector.SnippetsNavigatorView):
1694         (WebInspector.SnippetsNavigatorView.prototype.getOrCreateFolderTreeElement):
1695         (WebInspector.SnippetsNavigatorView.prototype._getOrCreateSnippetEvaluationsFolderTreeElement):
1696         (WebInspector.SnippetsNavigatorView.prototype.handleContextMenu):
1697         (WebInspector.SnippetsNavigatorView.prototype._fileRenamed):
1698         * inspector/front-end/WebKit.qrc:
1699         * inspector/front-end/inspector.html:
1700         * inspector/front-end/navigatorView.css: Added.
1701         (.navigator-domain-tree-item .icon):
1702         (.navigator-folder-tree-item .icon):
1703         (.navigator-script-tree-item .icon):
1704         (.navigator li):
1705         (.navigator :focus li.selected):
1706         (.navigator li.selected .selection):
1707         (.navigator :focus li.selected .selection):
1708         (.navigator .search-match-found li.selected .selection):
1709         (.navigator .search-match-not-found li.selected .selection):
1710         (.navigator .searching li.selected .selection):
1711         (.navigator .icon):
1712         (.navigator .base-navigator-tree-element-title):
1713         (.navigator .base-navigator-tree-element-title.editing):
1714         (.navigator-tree-search-box):
1715         (.navigator-tree-search-box.visible):
1716         (.navigator-tree-search-box > input):
1717         * inspector/front-end/scriptsPanel.css:
1718
1719 2012-04-19  Pavel Feldman  <pfeldman@chromium.org>
1720
1721         Web Inspector: make ScriptNavigatorController use views only, rename to NavigatorOverlayController.
1722         https://bugs.webkit.org/show_bug.cgi?id=84352
1723
1724         Reviewed by Vsevolod Vlasov.
1725
1726         This change makes navigator controller use view interfaces only. Focus machinery has been refactored in order
1727         to make it possible: now all view ancestors can either override "focus" or "defaultFocusedElement" method
1728         with latter method being preferred.
1729
1730         * inspector/front-end/ElementsPanel.js:
1731         (WebInspector.ElementsPanel.prototype.defaultFocusedElement):
1732         * inspector/front-end/ExtensionPanel.js:
1733         (WebInspector.ExtensionPanel.prototype.defaultFocusedElement):
1734         * inspector/front-end/Panel.js:
1735         (WebInspector.Panel.prototype.wasShown):
1736         (WebInspector.Panel.prototype.defaultFocusedElement):
1737         * inspector/front-end/ScriptsNavigator.js:
1738         (WebInspector.ScriptsNavigator):
1739         (WebInspector.NavigatorOverlayController.prototype._hidePinnedNavigator):
1740         (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
1741         (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
1742         (WebInspector.NavigatorOverlayController.prototype.hideNavigatorOverlay):
1743         (WebInspector.NavigatorOverlayController.prototype._navigatorOverlayWasShown):
1744         * inspector/front-end/ScriptsPanel.js:
1745         (WebInspector.ScriptsPanel.prototype.defaultFocusedElement):
1746         * inspector/front-end/SidebarOverlay.js:
1747         (WebInspector.SidebarOverlay.prototype.show):
1748         (WebInspector.SidebarOverlay.prototype.hide):
1749         * inspector/front-end/SourceFrame.js:
1750         (WebInspector.SourceFrame.prototype.defaultFocusedElement):
1751         * inspector/front-end/StylesPanel.js:
1752         (WebInspector.StylesPanel):
1753         * inspector/front-end/TabbedEditorContainer.js:
1754         (WebInspector.TabbedEditorContainer.prototype.get view):
1755         (WebInspector.TabbedEditorContainer.prototype.get visibleView):
1756         * inspector/front-end/TabbedPane.js:
1757         (WebInspector.TabbedPane):
1758         (WebInspector.TabbedPane.prototype.defaultFocusedElement):
1759         * inspector/front-end/TextViewer.js:
1760         (WebInspector.TextViewer.prototype.defaultFocusedElement):
1761         (WebInspector.TextEditorMainPanel.prototype.defaultFocusedElement):
1762         * inspector/front-end/TimelinePanel.js:
1763         (WebInspector.TimelinePanel.prototype.defaultFocusedElement):
1764         * inspector/front-end/View.js:
1765         (WebInspector.View.prototype._collectViewHierarchy):
1766         (WebInspector.View.prototype.defaultFocusedElement):
1767         (WebInspector.View.prototype.setDefaultFocusedElement):
1768         (WebInspector.View.prototype.focus):
1769
1770 2012-04-20  Sergio Villar Senin  <svillar@igalia.com>
1771
1772         [GTK] Enable Web Timing
1773         https://bugs.webkit.org/show_bug.cgi?id=42432
1774
1775         Reviewed by Gustavo Noronha Silva.
1776
1777         Added WebTiming support to the GTK+ port. WebTiming allows
1778         developers to collect detailed network timing information per
1779         resource. It requires the new SoupMessage's "network-event"
1780         signal.
1781
1782         * GNUmakefile.am:
1783         * bindings/gobject/GNUmakefile.am:
1784         * platform/network/soup/ResourceHandleSoup.cpp:
1785         (WebCore):
1786         (WebCore::restartedCallback):
1787         (WebCore::sendRequestCallback):
1788         (WebCore::milisecondsSinceRequest):
1789         (WebCore::wroteBodyCallback):
1790         (WebCore::requestStartedCallback):
1791         (WebCore::networkEventCallback):
1792         (WebCore::startHTTPRequest):
1793         (WebCore::ResourceHandle::platformSetDefersLoading):
1794         (WebCore::ResourceHandle::defaultSession):
1795
1796 2012-04-20  'Pavel Feldman'  <pfeldman@chromium.org>
1797
1798         Not reviewed: fixed chromium sanity tests for inspector via assigning last path component
1799         to entire url for parsed urls with invalid specs.
1800
1801         * inspector/front-end/ResourceUtils.js:
1802         (WebInspector.ParsedURL):
1803
1804 2012-04-20  Kentaro Hara  <haraken@chromium.org>
1805
1806         Unreviewed, rolling out r114401.
1807         http://trac.webkit.org/changeset/114401
1808         https://bugs.webkit.org/show_bug.cgi?id=84161
1809
1810         Chromium crash
1811
1812         * bindings/scripts/CodeGeneratorV8.pm:
1813         (GenerateHeader):
1814         (NativeToJSValue):
1815         * bindings/scripts/test/V8/V8Float64Array.h:
1816         (WebCore):
1817         (WebCore::toV8):
1818         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1819         (WebCore::toV8):
1820         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1821         (WebCore::toV8):
1822         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1823         (WebCore::toV8):
1824         * bindings/scripts/test/V8/V8TestEventTarget.h:
1825         (WebCore::toV8):
1826         * bindings/scripts/test/V8/V8TestInterface.h:
1827         (WebCore::toV8):
1828         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1829         (WebCore::toV8):
1830         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1831         (WebCore::toV8):
1832         * bindings/scripts/test/V8/V8TestNode.h:
1833         (WebCore::toV8):
1834         * bindings/scripts/test/V8/V8TestObj.h:
1835         (WebCore::toV8):
1836         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1837         (WebCore::toV8):
1838         * bindings/v8/custom/V8BlobCustom.cpp:
1839         (WebCore::toV8):
1840         * bindings/v8/custom/V8CSSRuleCustom.cpp:
1841         (WebCore::toV8):
1842         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
1843         (WebCore::toV8):
1844         * bindings/v8/custom/V8CSSValueCustom.cpp:
1845         (WebCore::toV8):
1846         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
1847         (WebCore::toV8):
1848         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1849         (WebCore::toV8):
1850         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
1851         (WebCore::toV8):
1852         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1853         (WebCore::toV8):
1854         * bindings/v8/custom/V8DataViewCustom.cpp:
1855         (WebCore::toV8):
1856         * bindings/v8/custom/V8DocumentCustom.cpp:
1857         (WebCore::toV8):
1858         * bindings/v8/custom/V8EntryCustom.cpp:
1859         (WebCore::toV8):
1860         * bindings/v8/custom/V8EntrySyncCustom.cpp:
1861         (WebCore::toV8):
1862         * bindings/v8/custom/V8EventCustom.cpp:
1863         (WebCore::toV8):
1864         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
1865         (WebCore::toV8):
1866         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
1867         (WebCore::toV8):
1868         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1869         (WebCore::toV8):
1870         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1871         (WebCore::toV8):
1872         * bindings/v8/custom/V8HTMLElementCustom.cpp:
1873         (WebCore::toV8):
1874         * bindings/v8/custom/V8IDBAnyCustom.cpp:
1875         (WebCore::toV8):
1876         * bindings/v8/custom/V8IDBKeyCustom.cpp:
1877         (WebCore::toV8):
1878         * bindings/v8/custom/V8ImageDataCustom.cpp:
1879         (WebCore::toV8):
1880         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
1881         (WebCore::toV8):
1882         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
1883         (WebCore::toV8):
1884         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
1885         (WebCore::toV8):
1886         * bindings/v8/custom/V8LocationCustom.cpp:
1887         (WebCore::toV8):
1888         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1889         (WebCore::toV8):
1890         * bindings/v8/custom/V8NodeCustom.cpp:
1891         (WebCore::toV8Slow):
1892         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
1893         (WebCore::toV8):
1894         * bindings/v8/custom/V8SVGElementCustom.cpp:
1895         (WebCore::toV8):
1896         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
1897         (WebCore::toV8):
1898         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
1899         (WebCore::toV8):
1900         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
1901         (WebCore::toV8):
1902         * bindings/v8/custom/V8StyleSheetCustom.cpp:
1903         (WebCore::toV8):
1904         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
1905         (WebCore::toV8):
1906         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
1907         (WebCore::toV8):
1908         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
1909         (WebCore::toV8):
1910         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
1911         (WebCore::toV8):
1912         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1913         (WebCore::toV8):
1914
1915 2012-04-20  Kentaro Hara  <haraken@chromium.org>
1916
1917         Unreviewed, rolling out r114440.
1918         http://trac.webkit.org/changeset/114440
1919         https://bugs.webkit.org/show_bug.cgi?id=84173
1920
1921         Chromium crash
1922
1923         * bindings/scripts/CodeGeneratorV8.pm:
1924         (GenerateHeader):
1925         * bindings/v8/custom/V8NodeCustom.cpp:
1926         (WebCore::toV8Slow):
1927
1928 2012-04-20  Kentaro Hara  <haraken@chromium.org>
1929
1930         Unreviewed, rolling out r114519.
1931         http://trac.webkit.org/changeset/114519
1932         https://bugs.webkit.org/show_bug.cgi?id=84202
1933
1934         Chromium crash
1935
1936         * bindings/scripts/CodeGeneratorV8.pm:
1937         (GenerateHeader):
1938         * bindings/scripts/test/V8/V8Float64Array.h:
1939         (V8Float64Array):
1940         (WebCore::V8Float64Array::wrap):
1941         (WebCore):
1942         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1943         (V8TestActiveDOMObject):
1944         (WebCore::V8TestActiveDOMObject::wrap):
1945         (WebCore::toV8):
1946         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1947         (V8TestCustomNamedGetter):
1948         (WebCore::V8TestCustomNamedGetter::wrap):
1949         (WebCore::toV8):
1950         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1951         (V8TestEventConstructor):
1952         (WebCore::V8TestEventConstructor::wrap):
1953         (WebCore::toV8):
1954         * bindings/scripts/test/V8/V8TestEventTarget.h:
1955         (V8TestEventTarget):
1956         (WebCore::V8TestEventTarget::wrap):
1957         (WebCore::toV8):
1958         * bindings/scripts/test/V8/V8TestInterface.h:
1959         (V8TestInterface):
1960         (WebCore::V8TestInterface::wrap):
1961         (WebCore::toV8):
1962         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1963         (V8TestMediaQueryListListener):
1964         (WebCore::V8TestMediaQueryListListener::wrap):
1965         (WebCore::toV8):
1966         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1967         (V8TestNamedConstructor):
1968         (WebCore::V8TestNamedConstructor::wrap):
1969         (WebCore::toV8):
1970         * bindings/scripts/test/V8/V8TestNode.h:
1971         (V8TestNode):
1972         (WebCore::V8TestNode::wrap):
1973         (WebCore::toV8):
1974         * bindings/scripts/test/V8/V8TestObj.h:
1975         (V8TestObj):
1976         (WebCore::V8TestObj::wrap):
1977         (WebCore::toV8):
1978         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1979         (V8TestSerializedScriptValueInterface):
1980         (WebCore::V8TestSerializedScriptValueInterface::wrap):
1981         (WebCore::toV8):
1982         * bindings/v8/custom/V8DocumentCustom.cpp:
1983         (WebCore::toV8):
1984         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1985         (WebCore::toV8):
1986         * bindings/v8/custom/V8NodeCustom.cpp:
1987         (WebCore::toV8Slow):
1988         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
1989         (WebCore::toV8):
1990         * dom/make_names.pl:
1991         (printWrapperFactoryCppFile):
1992
1993 2012-04-19  Pavel Feldman  <pfeldman@chromium.org>
1994
1995         Web Inspector: replace @type annotation with @return annotation for getters
1996         https://bugs.webkit.org/show_bug.cgi?id=84362
1997
1998         Reviewed by Yury Semikhatsky.
1999
2000         Otherwise, compiler does not check for errors.
2001
2002         * inspector/front-end/AdvancedSearchController.js:
2003         (WebInspector.SearchView.prototype.get searchConfig):
2004         * inspector/front-end/BreakpointManager.js:
2005         * inspector/front-end/NetworkRequest.js:
2006         (WebInspector.NetworkRequest.prototype.requestContent):
2007         * inspector/front-end/ResourceTreeModel.js:
2008         (WebInspector.ResourceTreeFrame):
2009         (WebInspector.ResourceTreeFrame.prototype._navigate):
2010         * inspector/front-end/ScriptsNavigator.js:
2011         * inspector/front-end/Settings.js:
2012         * inspector/front-end/SnippetsModel.js:
2013         * inspector/front-end/SplitView.js:
2014         * inspector/front-end/TabbedEditorContainer.js:
2015         * inspector/front-end/TabbedPane.js:
2016         (WebInspector.TabbedPaneTab):
2017         * inspector/front-end/TextEditorModel.js:
2018         * inspector/front-end/TimelinePresentationModel.js:
2019
2020 2012-04-20  Mark Pilgrim  <pilgrim@chromium.org>
2021
2022         [Chromium] Call cacheMetadata directly
2023         https://bugs.webkit.org/show_bug.cgi?id=84415
2024
2025         Reviewed by Kentaro Hara.
2026
2027         Part of a refactoring series. See tracking bug 82948.
2028
2029         * platform/chromium/PlatformSupport.h:
2030         (PlatformSupport):
2031         * platform/network/chromium/ResourceHandle.cpp:
2032         (WebCore::ResourceHandle::cacheMetadata):
2033
2034 2012-04-20  Mark Pilgrim  <pilgrim@chromium.org>
2035
2036         [Chromium] Call stopSharedTimer directly
2037         https://bugs.webkit.org/show_bug.cgi?id=84418
2038
2039         Reviewed by Kentaro Hara.
2040
2041         Part of a refactoring series. See tracking bug 82948.
2042
2043         * platform/chromium/PlatformSupport.h:
2044         (PlatformSupport):
2045         * platform/chromium/SharedTimerChromium.cpp:
2046         (WebCore::stopSharedTimer):
2047
2048 2012-04-20  Taiju Tsuiki  <tzik@chromium.org>
2049
2050         DOMFileSystem::scheduleCallback() crashes on file() call after reload.
2051         https://bugs.webkit.org/show_bug.cgi?id=76461
2052
2053         DOMFileSystem::scheduleCallback() is unavailable when the page in unloading, so we should
2054         avoid using it in callback.
2055
2056         Reviewed by David Levin.
2057
2058         Test: fast/filesystem/file-after-reload-crash.html
2059
2060         * Modules/filesystem/DOMFileSystem.cpp:
2061         (WebCore):
2062
2063 2012-04-19  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2064
2065         [EFL] Missing keycode translation for space key
2066         https://bugs.webkit.org/show_bug.cgi?id=84153
2067
2068         Reviewed by Antonio Gomes.
2069
2070         Map space key to Unicode value in createKeyMap(), and also set
2071         correct keyname 'space' for space key in createWindowsKeyMap().
2072
2073         Tests: fast/html/details-keyboard-show-hide.html
2074                fast/forms/button-spacebar-click.html
2075
2076         * platform/efl/EflKeyboardUtilities.cpp:
2077         (WebCore::createKeyMap):
2078
2079 2012-04-19  Antaryami Pandia  <antaryami.pandia@motorola.com>
2080
2081         Inserting empty html moves caret.
2082         https://bugs.webkit.org/show_bug.cgi?id=71771
2083
2084         Reviewed by Ryosuke Niwa.
2085
2086         When we place the cursor in the middle of a text node and try to insert some text
2087         between, then we split text node. But in this case we have nothing to insert since
2088         the string to be inserted is empty. So the check for fragments should precedes the
2089         call to code block containing splitTextNode.
2090
2091         Test: editing/inserting/insert-empty-html.html
2092
2093         * editing/ReplaceSelectionCommand.cpp:
2094         (WebCore::ReplaceSelectionCommand::doApply):
2095
2096 2012-04-19  Tay Grigg  <tgrigg@rim.com>
2097
2098         [BlackBerry] Update HTTP connection per host limit in ResourceRequestBlackBerry
2099         https://bugs.webkit.org/show_bug.cgi?id=84380
2100
2101         Reviewed by George Staikos.
2102
2103         Reviewed Internally by: George Rizkalla, Lyon Chen
2104
2105         Set the limit on the http connection count per host to the default
2106         of 10000, queue the requests in the networking layer instead,
2107         this should increase parallelism at the WebKit layer to remove
2108         any potential bottlenecks.
2109
2110         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2111         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
2112
2113 2012-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2114
2115         Unreviewed, rolling out r114711.
2116         http://trac.webkit.org/changeset/114711
2117         https://bugs.webkit.org/show_bug.cgi?id=84412
2118
2119         Many tests crash in RenderObject::container() (Requested by
2120         dimich on #webkit).
2121
2122         * page/scrolling/ScrollingCoordinator.cpp:
2123         (WebCore::computeNonFastScrollableRegion):
2124         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
2125         (WebCore::ScrollingCoordinator::frameViewScrollableAreasDidChange):
2126
2127 2012-04-19  Anders Carlsson  <andersca@apple.com>
2128
2129         computeNonFastScrollableRegion needs to traverse the entire frame tree
2130         https://bugs.webkit.org/show_bug.cgi?id=84409
2131         <rdar://problem/11285741>
2132
2133         Reviewed by Dan Bernstein.
2134
2135         Now that scrollable areas won't be in the set of scrollable areas unless they are actually scrollable, we need to look for scrollable
2136         areas in the entire frame tree since there can be a scrollable frame that's a subframe of a non-scrollable frame for example.
2137
2138         * page/scrolling/ScrollingCoordinator.cpp:
2139         (WebCore::computeNonFastScrollableRegion):
2140         Traverse the entire frame tree looking for scrollable areas. Also, remove the scrollability checks because scrollable areas will only be
2141         in the set if they have scrollbars that are enabled.
2142
2143         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
2144         (WebCore::ScrollingCoordinator::frameViewScrollableAreasDidChange):
2145         computeNonFastScrollableRegion now takes the main frame.
2146
2147 2012-04-19  Anders Carlsson  <andersca@apple.com>
2148
2149         Focus ring on wikipedia gets blobs when you type
2150         https://bugs.webkit.org/show_bug.cgi?id=84407
2151         <rdar://problem/11011847>
2152
2153         Reviewed by Dan Bernstein.
2154
2155         Make it possible to override the focus ring visible rect from layer drawing code.
2156
2157         * platform/graphics/mac/WebLayer.mm:
2158         (drawLayerContents):
2159         Call ThemeMac::setFocusRingClipRect to set the focus ring clip rect while drawing.
2160
2161         * platform/mac/ThemeMac.h:
2162         * platform/mac/ThemeMac.mm:
2163         (-[WebCoreFlippedView _focusRingVisibleRect]):
2164         If there's an active focus ring visible rect, use it. Otherwise, fall back to the previous behavior
2165         and just return the view's visible rect.
2166
2167         (WebCore::ThemeMac::setFocusRingClipRect):
2168         Update the focus clip rect.
2169
2170 2012-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2171
2172         Unreviewed, rolling out r114690.
2173         http://trac.webkit.org/changeset/114690
2174         https://bugs.webkit.org/show_bug.cgi?id=84408
2175
2176         Broke GlueSerializeTest.BackwardsCompatibleTest in Chromium
2177         test_shell_tests (Requested by dimich on #webkit).
2178
2179         * history/HistoryItem.cpp:
2180         (WebCore::HistoryItem::HistoryItem):
2181         * loader/HistoryController.cpp:
2182         (WebCore::HistoryController::restoreScrollPositionAndViewState):
2183
2184 2012-04-19  Andreas Kling  <kling@webkit.org>
2185
2186         ElementAttributeData should be fast-malloc'd.
2187         <http://webkit.org/b/84405>
2188
2189         Reviewed by Antti Koivisto.
2190
2191         Sprinkle missing WTF_MAKE_FAST_ALLOCATED.
2192
2193         * dom/ElementAttributeData.h:
2194         (ElementAttributeData):
2195
2196 2012-04-19  David Barr  <davidbarr@chromium.org>
2197
2198         REGRESSION(r112177): Numbered list item rendered bulleted
2199         https://bugs.webkit.org/show_bug.cgi?id=84216
2200
2201         Reviewed by Ryosuke Niwa.
2202
2203         Shorthands that imply omitted values cannot be derived from
2204         an incomplete set of longhand rules.
2205
2206         No new tests; updated existing tests that should have caught this.
2207
2208         * css/CSSParser.cpp:
2209         (WebCore::CSSParser::parseTransformOriginShorthand):
2210         Set implicit initial for Z when omitted.
2211         * css/StylePropertySet.cpp:
2212         (WebCore::StylePropertySet::getShorthandValue):
2213
2214 2012-04-19  Peter Beverloo  <peter@chromium.org>
2215
2216         [Chromium] Don't compile FontCacheSkia for Android
2217         https://bugs.webkit.org/show_bug.cgi?id=84392
2218
2219         Reviewed by Kent Tamura.
2220
2221         Chromium for the Android platform uses its own FontCacheAndroid
2222         implementation. Compile errors show up when trying to build the
2223         content shell.
2224
2225         * WebCore.gyp/WebCore.gyp:
2226
2227 2012-04-19  Martin Robinson  <mrobinson@igalia.com>
2228
2229         [Cairo] Remove rgb24-hacks.txt and scale-removal.txt
2230         https://bugs.webkit.org/show_bug.cgi?id=83475
2231
2232         Reviewed by Daniel Bates.
2233
2234         No new tests. This does not change functionality.
2235
2236         Remove some obsolete patch files for Cairo that were used in some
2237         very old versions of Safari for Windows.
2238
2239         * platform/graphics/cairo/rgb24-hacks.txt: Removed.
2240         * platform/graphics/cairo/scale-removal.txt: Removed.
2241
2242 2012-04-19  Peter Beverloo  <peter@chromium.org>
2243
2244         Use sqrtf instead of sqrt in CanvasRenderingContext2D.cpp
2245         https://bugs.webkit.org/show_bug.cgi?id=84403
2246
2247         Reviewed by Andreas Kling.
2248
2249         r114679 broke Chromium Win and Android bots due to call
2250         ambiguity between a double and float argument.
2251
2252         * html/canvas/CanvasRenderingContext2D.cpp:
2253         (WebCore::CanvasRenderingContext2D::inflateStrokeRect):
2254
2255 2012-04-19  Alexandre Elias  <aelias@google.com>
2256
2257         Default to null value for HistoryItem::m_pageScaleFactor
2258         https://bugs.webkit.org/show_bug.cgi?id=84385
2259
2260         Reviewed by Nate Chapin.
2261
2262         Previously, HistoryItem::m_pageScaleFactor defaulted to a value
2263         of 1, making it impossible to determine whether this value was never
2264         set, or intentionally set to 1.  This patch introduces a default value
2265         of 0 and makes restoreScrollPositionAndViewState not touch the page
2266         scale factor if this value is still present at time of reload.
2267
2268         This is a no-op change for common navigation scenarios.  The
2269         motivation for this change is the corner case of syncing history items
2270         from a desktop browser to a mobile device.  In that case, we need a
2271         way to specify that the history item does not contain a
2272         pageScaleFactor so that the mobile device does not display the page
2273         overly zoomed in.
2274
2275         No new tests.
2276
2277         * history/HistoryItem.cpp:
2278         (WebCore::HistoryItem::HistoryItem):
2279         * loader/HistoryController.cpp:
2280         (WebCore::HistoryController::restoreScrollPositionAndViewState):
2281
2282 2012-04-19  Alexis Menard  <alexis.menard@openbossa.org>
2283
2284         Unreviewed Qt build warning fix.
2285
2286         The file editing/StringHelper.h does not exist.
2287
2288         * Target.pri:
2289
2290 2012-04-19  Daniel Bates  <dbates@webkit.org>
2291
2292         Remove empty directory Source/WebCore/webaudio
2293
2294         Changeset 111474 <http://trac.webkit.org/changeset/111474> moved all the files in
2295         Source/WebCore/webaudio to Source/WebCore/Modules/webaudio. We should remove the
2296         empty directory Source/WebCore/webaudio.
2297
2298         * webaudio: Removed.
2299
2300 2012-04-19  Pratik Solanki  <psolanki@apple.com>
2301
2302         Incorrect inter-caps in “ShouldSkipMetaData” etc.
2303         https://bugs.webkit.org/show_bug.cgi?id=72159
2304
2305         Reviewed by Dan Bernstein.
2306
2307         No new tests since no change in functionality.
2308
2309         * platform/graphics/ImageSource.h:
2310         * platform/graphics/cg/ImageSourceCG.cpp:
2311         (WebCore::imageSourceOptions):
2312         (WebCore::ImageSource::isSizeAvailable):
2313         (WebCore::ImageSource::frameSizeAtIndex):
2314         (WebCore::ImageSource::orientationAtIndex):
2315         (WebCore::ImageSource::getHotSpot):
2316         (WebCore::ImageSource::repetitionCount):
2317         (WebCore::ImageSource::createFrameAtIndex):
2318         (WebCore::ImageSource::frameDurationAtIndex):
2319
2320 2012-04-19  Huang Dongsung  <luxtella@company100.net>
2321
2322         Canvas more precisely makes the bounding rect for stroke rendering.
2323         https://bugs.webkit.org/show_bug.cgi?id=75792
2324
2325         Reviewed by Simon Fraser.
2326
2327         * html/canvas/CanvasRenderingContext2D.cpp:
2328         (WebCore::CanvasRenderingContext2D::stroke):
2329         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2330         (WebCore::CanvasRenderingContext2D::inflateStrokeRect):
2331         (WebCore):
2332         * html/canvas/CanvasRenderingContext2D.h:
2333         (CanvasRenderingContext2D):
2334
2335 2012-04-19  Luke Macpherson  <macpherson@chromium.org>
2336
2337         Eliminate potential null pointer dereference in CSSStyleSelector::containsUncommonAttributeSelector().
2338         https://bugs.webkit.org/show_bug.cgi?id=84366
2339
2340         Reviewed by Kentaro Hara.
2341
2342         No new tests / code cleanup only.
2343
2344         * css/CSSStyleSelector.cpp:
2345         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2346
2347 2012-04-19  Luke Macpherson  <macpherson@chromium.org>
2348
2349         Fix null-pointer dereference in ApplyPropertyZoom::applyValue().
2350         https://bugs.webkit.org/show_bug.cgi?id=84279
2351
2352         Reviewed by Simon Fraser.
2353
2354         Test: fast/css/zoom-on-unattached.html
2355
2356         * css/CSSStyleApplyProperty.cpp:
2357         (WebCore::ApplyPropertyZoom::applyValue):
2358
2359 2012-04-19  Luke Macpherson  <macpherson@chromium.org>
2360
2361         Clean up list iteration in MediaQueryExp constructor (avoid unnecessary calls to current()).
2362         https://bugs.webkit.org/show_bug.cgi?id=84369
2363
2364         Reviewed by Simon Fraser.
2365
2366         No new tests / code cleanup only.
2367
2368         * css/MediaQueryExp.cpp:
2369         (WebCore::MediaQueryExp::MediaQueryExp):
2370
2371 2012-04-19  Mark Pilgrim  <pilgrim@chromium.org>
2372
2373         [Chromium] Call signedPublicKeyAndChallengeString directly
2374         https://bugs.webkit.org/show_bug.cgi?id=84372
2375
2376         Reviewed by Kentaro Hara.
2377
2378         Part of a refactoring series. See tracking bug 82948.
2379
2380         * platform/chromium/PlatformSupport.h:
2381         (PlatformSupport):
2382         * platform/chromium/SSLKeyGeneratorChromium.cpp:
2383         (WebCore::signedPublicKeyAndChallengeString):
2384
2385 2012-04-19  Luke Macpherson  <macpherson@chromium.org>
2386
2387         Remove unnecessary assignment in CSSParser::parseCubicBezierTimingFunctionValue().
2388         https://bugs.webkit.org/show_bug.cgi?id=84368
2389
2390         Reviewed by Simon Fraser.
2391
2392         No new tests / code cleanup only.
2393
2394         * css/CSSParser.cpp:
2395         (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
2396
2397 2012-04-19  Luke Macpherson  <macpherson@chromium.org>
2398
2399         Initialize all member variables in CSSImageSetValue's copy constructor.
2400         https://bugs.webkit.org/show_bug.cgi?id=84379
2401
2402         Reviewed by Simon Fraser.
2403
2404         No new tests / code cleanup only.
2405
2406         * css/CSSImageSetValue.cpp:
2407         (WebCore::CSSImageSetValue::CSSImageSetValue):
2408
2409 2012-04-19  Ken Buchanan  <kenrb@chromium.org>
2410
2411         Positioned children of ruby runs not handled correctly during layout
2412         https://bugs.webkit.org/show_bug.cgi?id=84157
2413
2414         Reviewed by Julien Chaffraix.
2415
2416         A positioned ruby text causes a problem because it is excluded from
2417         normal layout by its parent and instead gets layout from
2418         RenderRubyRun::layoutSpecialExcludedChild; however this means it gets
2419         skipped over during the loop in RenderBlock::layoutBlockChildren,
2420         which is where positioned RenderBlocks get added to the appropriate
2421         positioned object lists. As a result, a dirty positioned ruby text
2422         will not get layout again unless the RenderRubyRun also needs layout
2423         which is not guaranteed.
2424
2425         This patch disqualifies ruby text elements from being positioned.
2426         If it is necessary to support this in future, ruby text layout will
2427         have to be modified to ensure the renderers are added to the
2428         appropriate block lists.
2429
2430         * css/CSSStyleSelector.cpp:
2431         (WebCore::CSSStyleSelector::adjustRenderStyle):
2432         * rendering/RenderRubyRun.cpp:
2433         (WebCore::RenderRubyRun::rubyText):
2434
2435 2012-04-19  vsevik@chromium.org  <vsevik@chromium.org>
2436
2437         Web Inspector: No response body available for cached resource requests with error status codes.
2438         https://bugs.webkit.org/show_bug.cgi?id=84265
2439
2440         Reviewed by Pavel Feldman.
2441
2442         InspectorResourceAgent now saves failed subresource request response body in its cache.
2443         Saved data is shown on front-end.
2444
2445         Test: http/tests/inspector/network/network-image-404.html
2446
2447         * inspector/InspectorResourceAgent.cpp:
2448         (WebCore::isErrorStatusCode):
2449         (WebCore):
2450         (WebCore::InspectorResourceAgent::didReceiveData):
2451         * inspector/NetworkResourcesData.cpp:
2452         (WebCore::NetworkResourcesData::ResourceData::removeContent):
2453         (WebCore::NetworkResourcesData::ResourceData::purgeContent):
2454         (WebCore):
2455         (WebCore::NetworkResourcesData::responseReceived):
2456         (WebCore::NetworkResourcesData::setResourceContent):
2457         * inspector/NetworkResourcesData.h:
2458         (ResourceData):
2459         (WebCore::NetworkResourcesData::ResourceData::httpStatusCode):
2460         (WebCore::NetworkResourcesData::ResourceData::setHTTPStatusCode):
2461         * inspector/front-end/RequestView.js:
2462         (WebInspector.RequestView.hasTextContent):
2463
2464 2012-04-19  Yury Semikhatsky  <yurys@chromium.org>
2465
2466         Web Inspector / Heap snapshots: "Object's retaining tree" view doesn't get cleared when navigating between objects
2467         https://bugs.webkit.org/show_bug.cgi?id=84337
2468
2469         When DataGrid root node is reset, make sure all existing rows are removed.
2470
2471         Reviewed by Vsevolod Vlasov.
2472
2473         * inspector/front-end/DataGrid.js:
2474         (WebInspector.DataGrid.prototype.setRootNode):
2475
2476 2012-04-19  Beth Dakin  <bdakin@apple.com>
2477
2478         https://bugs.webkit.org/show_bug.cgi?id=80536
2479         REGRESSION: When Safari is not frontmost, pages should not get mouse moves or 
2480         hover
2481
2482         Reviewed by Adele Peterson.
2483
2484         This patch just adds some code back that was removed by 
2485         http://trac.webkit.org/changeset/102632 This particular code was unrelated to that 
2486         bug and should not have been removed.
2487         * page/EventHandler.cpp:
2488         (WebCore::EventHandler::handleMouseMoveEvent):
2489
2490 2012-04-19  Xianzhu Wang  <wangxianzhu@chromium.org>
2491
2492         DevTools highlights elements in frames at un-scaled positions
2493         https://bugs.webkit.org/show_bug.cgi?id=84181
2494
2495         On mobile platforms (e.g. chromium-android), normally pages are scaled,
2496         thus the coordinations of highlight rect inside of a frame needs to
2497         consider not only the offset, but also the scale. The change uses
2498         FrameView::contentsToRootView() to map the coordinates of a node in
2499         a frame to the coordinates in the main frame, instead of calculating
2500         by only the offset.
2501
2502         Reviewed by Pavel Feldman.
2503
2504         Test: inspector/elements/highlight-node-scaled.html
2505
2506         * inspector/DOMNodeHighlighter.cpp:
2507
2508 2012-04-19  Yury Semikhatsky  <yurys@chromium.org>
2509
2510         Web Inspector / Heap snapshots: "Objects allocated ..." views are empty
2511         https://bugs.webkit.org/show_bug.cgi?id=84347
2512
2513         Pass parsed maxJSObjectId value to the profile header constructor.
2514
2515         Reviewed by Pavel Feldman.
2516
2517         * inspector/front-end/ProfilesPanel.js:
2518         (WebInspector.ProfileHeader):
2519         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
2520         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2521         (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
2522
2523 2012-04-19  Brady Eidson  <beidson@apple.com>
2524
2525         <rdar://problem/10664148> and https://bugs.webkit.org/show_bug.cgi?id=84360 
2526         StorageThread should have an autorelease pool in place for Cocoa clients
2527         
2528         Reviewed by Eric Carlson.
2529
2530         No new tests. (Not practical to test this with current tools)
2531
2532         * storage/StorageThread.cpp:
2533         (WebCore::StorageThread::threadEntryPoint): Include an AutodrainedPool and cycle it after each message.
2534
2535 2012-04-19  Luke Macpherson  <macpherson@chromium.org>
2536
2537         Fix potential null pointer dereference in RuleSet::addRulesFromSheet().
2538         https://bugs.webkit.org/show_bug.cgi?id=84258
2539
2540         Reviewed by Andreas Kling.
2541
2542         Fix variable that is dereferenced without null check here, but checked in code above and below.
2543
2544         No new test / code cleanup from coverity analysis.
2545
2546         * css/CSSStyleSelector.cpp:
2547         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2548
2549 2012-04-19  Yury Semikhatsky  <yurys@chromium.org>
2550
2551         Web Inspector: exception when hovering object while paused
2552         https://bugs.webkit.org/show_bug.cgi?id=84358
2553
2554         Added missing boolean parameter to the call site of evaluate method
2555         on call frame.
2556
2557         Reviewed by Vsevolod Vlasov.
2558
2559         * inspector/front-end/AdvancedSearchController.js:
2560         * inspector/front-end/DebuggerPresentationModel.js: annotated slectedCallFrame
2561         method so that closure compiler catches errors like in the bug report.
2562         (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
2563         * inspector/front-end/JavaScriptSourceFrame.js:
2564         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
2565
2566 2012-04-19  Yury Semikhatsky  <yurys@chromium.org>
2567
2568         Web Inspector: nodes are not removed from the summary view when switching between allocation ranges
2569         https://bugs.webkit.org/show_bug.cgi?id=84354
2570
2571         Clear all top level nodes not only those visible in the viewport when populating
2572         the constructors view with new content.
2573
2574         Reviewed by Pavel Feldman.
2575
2576         * inspector/front-end/HeapSnapshotDataGrids.js:
2577         (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
2578         (WebInspector.HeapSnapshotSortableDataGrid.prototype.topLevelNodes):
2579         (WebInspector.HeapSnapshotSortableDataGrid.prototype.changeNameFilter):
2580         (WebInspector.HeapSnapshotViewportDataGrid.prototype.topLevelNodes):
2581         (WebInspector.HeapSnapshotViewportDataGrid.prototype.removeTopLevelNodes):
2582         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
2583         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
2584
2585 2012-04-19  Sami Kyostila  <skyostil@chromium.org>
2586
2587         [chromium] Allow scrolling non-root layers in the compositor thread
2588         https://bugs.webkit.org/show_bug.cgi?id=73350
2589
2590         Reviewed by James Robinson.
2591
2592         This patch enables scrolling child layers in the compositor thread.
2593         Scroll deltas are accumulated for each scrolled CCLayerImpl and
2594         synchronized to the main thread.
2595
2596         If a layer has no room to scroll in a given direction, one of its
2597         ancestor layers is scrolled instead if possible.
2598
2599         Added new webkit_unit_tests to verify scrolling behavior.
2600
2601         * platform/graphics/chromium/ContentLayerChromium.cpp:
2602         (WebCore::ContentLayerChromium::scrollBy):
2603         (WebCore):
2604         * platform/graphics/chromium/ContentLayerChromium.h:
2605         (ContentLayerDelegate):
2606         (ContentLayerChromium):
2607         * platform/graphics/chromium/GraphicsLayerChromium.h:
2608         (WebCore::GraphicsLayerChromium::didScroll):
2609         * platform/graphics/chromium/LayerChromium.cpp:
2610         (WebCore::LayerChromium::setMaxScrollPosition):
2611         (WebCore):
2612         (WebCore::LayerChromium::pushPropertiesTo):
2613         * platform/graphics/chromium/LayerChromium.h:
2614         (LayerChromium):
2615         (WebCore::LayerChromium::maxScrollPosition):
2616         (WebCore::LayerChromium::scrollable):
2617         (WebCore::LayerChromium::scrollBy):
2618         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2619         (WebCore::CCLayerImpl::findLayerInSubtree):
2620         (WebCore):
2621         (WebCore::CCLayerImpl::tryScroll):
2622         * platform/graphics/chromium/cc/CCLayerImpl.h:
2623         (CCLayerImpl):
2624         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2625         (WebCore::findLayerById):
2626         (WebCore):
2627         (WebCore::findFirstScrollableLayer):
2628         (WebCore::CCLayerTreeHost::applyScrollAndScale):
2629         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2630         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2631         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
2632         (WebCore::CCLayerTreeHostImpl::contentSize):
2633         (WebCore):
2634         (WebCore::CCLayerTreeHostImpl::calculateVisibleLayers):
2635         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
2636         (WebCore::findRootScrollLayer):
2637         (WebCore::findScrollLayerForContentLayer):
2638         (WebCore::CCLayerTreeHostImpl::setRootLayer):
2639         (WebCore::adjustScrollsForPageScaleChange):
2640         (WebCore::applyPageScaleDeltaToScrollLayers):
2641         (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
2642         (WebCore::CCLayerTreeHostImpl::setPageScaleDelta):
2643         (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
2644         (WebCore::CCLayerTreeHostImpl::scrollBegin):
2645         (WebCore::CCLayerTreeHostImpl::scrollBy):
2646         (WebCore::CCLayerTreeHostImpl::scrollEnd):
2647         (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
2648         (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
2649         (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
2650         (WebCore::collectScrollDeltas):
2651         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
2652         (WebCore::CCLayerTreeHostImpl::animatePageScale):
2653         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2654         (WebCore::CCLayerTreeHostImpl::rootScrollLayer):
2655         (CCLayerTreeHostImpl):
2656         (LayerGeometry):
2657
2658 2012-04-19  Yury Semikhatsky  <yurys@chromium.org>
2659
2660         Web Inspector: make constructors and diff heap snapshot data grids use viewport
2661         https://bugs.webkit.org/show_bug.cgi?id=84348
2662
2663         HeapSnapshotViewportDataGrid is introduced which allows to add to the tbody only
2664         visible rows. HeapSnapshotConstructorsDataGrid and HeapSnapshotDiffDataGrid are
2665         inherited from this class which makes them operate well on large amounts of nodes.
2666
2667         Reviewed by Pavel Feldman.
2668
2669         * inspector/front-end/DataGrid.js:
2670         (WebInspector.DataGridNode.prototype.nodeHeight):
2671         (WebInspector.DataGridNode.prototype._attach):
2672         * inspector/front-end/HeapSnapshotDataGrids.js:
2673         (WebInspector.HeapSnapshotSortableDataGrid):
2674         (WebInspector.HeapSnapshotSortableDataGrid.prototype.nodesForNameFilter):
2675         (WebInspector.HeapSnapshotSortableDataGrid.prototype.changeNameFilter):
2676         (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
2677         (WebInspector.HeapSnapshotSortableDataGrid.prototype.appendChildAfterSorting):
2678         (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
2679         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
2680         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
2681         (WebInspector.HeapSnapshotViewportDataGrid):
2682         (WebInspector.HeapSnapshotViewportDataGrid.prototype.nodesForNameFilter):
2683         (WebInspector.HeapSnapshotViewportDataGrid.prototype.appendChildAfterSorting):
2684         (WebInspector.HeapSnapshotViewportDataGrid.prototype.updateVisibleNodes):
2685         (WebInspector.HeapSnapshotViewportDataGrid.prototype.appendTopLevelNode):
2686         (WebInspector.HeapSnapshotViewportDataGrid.prototype._addPaddingRows):
2687         (WebInspector.HeapSnapshotViewportDataGrid.prototype._removePaddingRows):
2688         (WebInspector.HeapSnapshotViewportDataGrid.prototype.onResize):
2689         (WebInspector.HeapSnapshotViewportDataGrid.prototype._onScroll):
2690         (WebInspector.HeapSnapshotPaddingNode):
2691         (WebInspector.HeapSnapshotPaddingNode.prototype.setHeight):
2692         (WebInspector.HeapSnapshotPaddingNode.prototype.removeFromTable):
2693         (WebInspector.HeapSnapshotConstructorsDataGrid):
2694         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
2695         (WebInspector.HeapSnapshotDiffDataGrid):
2696         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
2697         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
2698         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
2699         * inspector/front-end/HeapSnapshotGridNodes.js:
2700         (WebInspector.HeapSnapshotGridNode):
2701         (WebInspector.HeapSnapshotGridNode.prototype.collapse):
2702         (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
2703         (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
2704         (WebInspector.HeapSnapshotGridNode.prototype.sort):
2705         (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
2706         (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
2707         (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
2708         (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
2709         (WebInspector.HeapSnapshotConstructorNode):
2710         (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
2711         (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
2712         (WebInspector.HeapSnapshotDiffNode):
2713         (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
2714         (WebInspector.HeapSnapshotDiffNode.prototype.comparator):
2715         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
2716         (WebInspector.HeapSnapshotDominatorObjectNode.prototype.comparator):
2717         * inspector/front-end/ShowMoreDataGridNode.js:
2718         (WebInspector.ShowMoreDataGridNode.prototype.createCells):
2719         (WebInspector.ShowMoreDataGridNode.prototype.nodeHeight):
2720
2721 2012-04-19  Kentaro Hara  <haraken@chromium.org>
2722
2723         Unreviewed, rolling out r114421.
2724         http://trac.webkit.org/changeset/114421
2725         https://bugs.webkit.org/show_bug.cgi?id=84103
2726
2727         Chromium crash
2728
2729         * bindings/scripts/CodeGeneratorV8.pm:
2730         (GenerateNormalAttrGetter):
2731         (GenerateFunctionCallString):
2732         (NativeToJSValue):
2733         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2734         (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
2735         (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
2736         * bindings/scripts/test/V8/V8TestInterface.cpp:
2737         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
2738         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
2739         * bindings/scripts/test/V8/V8TestObj.cpp:
2740         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
2741         (WebCore::TestObjV8Internal::stringAttrAttrGetter):
2742         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
2743         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
2744         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
2745         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
2746         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
2747         (WebCore::TestObjV8Internal::hashAttrGetter):
2748         (WebCore::TestObjV8Internal::conditionalMethod1Callback):
2749         * bindings/v8/V8Binding.cpp:
2750         (WebCore::getElementStringAttr):
2751         * bindings/v8/V8Binding.h:
2752         (WebCore::v8ExternalString):
2753         (WebCore::v8String):
2754         (WebCore::v8StringOrNull):
2755         (WebCore::v8StringOrUndefined):
2756         (WebCore::v8StringOrFalse):
2757
2758 2012-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2759
2760         Unreviewed, rolling out r114626.
2761         http://trac.webkit.org/changeset/114626
2762         https://bugs.webkit.org/show_bug.cgi?id=84349
2763
2764         caused new assertions in debug builds (Requested by smfr_ on
2765         #webkit).
2766
2767         * inspector/InspectorResourceAgent.cpp:
2768         (WebCore::InspectorResourceAgent::didReceiveData):
2769         * inspector/NetworkResourcesData.cpp:
2770         (WebCore::NetworkResourcesData::responseReceived):
2771         * inspector/NetworkResourcesData.h:
2772         (ResourceData):
2773         (NetworkResourcesData):
2774         * inspector/front-end/RequestView.js:
2775         (WebInspector.RequestView.hasTextContent):
2776
2777 2012-04-19  Mark Pilgrim  <pilgrim@chromium.org>
2778
2779         [Chromium] Call mimeRegistry directly
2780         https://bugs.webkit.org/show_bug.cgi?id=84334
2781
2782         Reviewed by Kentaro Hara.
2783
2784         Part of a refactoring series. See tracking bug 82948.
2785
2786         * platform/chromium/MIMETypeRegistryChromium.cpp:
2787         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2788         (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension):
2789         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
2790         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
2791         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
2792         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
2793         * platform/chromium/PlatformSupport.h:
2794         (PlatformSupport):
2795
2796 2012-04-19  Victor Carbune  <vcarbune@adobe.com>
2797
2798         Display a TextTrackCue when snap-to-lines flag is not set
2799         https://bugs.webkit.org/show_bug.cgi?id=79750
2800
2801         Reviewed by Eric Carlson.
2802
2803         Support for positioning of a cue on top of the video element when snap-to-lines is not set.
2804
2805         Test: media/track/track-cue-rendering-snap-to-lines-not-set.html
2806
2807         * css/mediaControls.css:
2808         (video::-webkit-media-text-track-container): Marked the container as
2809         flexible box in order to use all the available space on top of the controls.
2810         (video::-webkit-media-text-track-background): Added background default settings.
2811         (video::-webkit-media-text-track-display): Added default position.
2812         * html/shadow/MediaControlElements.cpp:
2813         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Updated comments.
2814         * html/track/TextTrackCue.cpp:
2815         (WebCore):
2816         (WebCore::TextTrackCue::TextTrackCue): Updated constructor to calculate
2817         the computed line position.
2818         (WebCore::TextTrackCue::setLine): Updated call to calculate the computed line
2819         position.
2820         (WebCore::TextTrackCue::setPosition):
2821         (WebCore::TextTrackCue::calculateComputedLinePosition): Partial calculation of the
2822         computated line position.
2823         (WebCore::TextTrackCue::calculateDisplayParameters): Updated display parameter computations
2824         required by the spec.
2825         (WebCore::TextTrackCue::getDisplayTree): Updated positioning attributes when snap-to-lines
2826         is not set. Added extra anonymous box for background, because setting position:absolute
2827         on the display tree determines the background to cover the whole block, not just inline.
2828         (WebCore::TextTrackCue::getPositionCoordinates): Determine coordinates as required by the spec.
2829         * html/track/TextTrackCue.h:
2830         (TextTrackCue):
2831
2832 2012-04-19  Pavel Feldman  <pfeldman@chromium.org>
2833
2834         Web Inspector: introduce styles panel as an experiment
2835         https://bugs.webkit.org/show_bug.cgi?id=84331
2836
2837         Reviewed by Vsevolod Vlasov.
2838
2839         This change introduces new "Styles" panel that looks like the "Scripts" one,
2840         but operates stylesheets. This is happening under the experimental flag.
2841
2842         * English.lproj/localizedStrings.js:
2843         * WebCore.gypi:
2844         * WebCore.vcproj/WebCore.vcproj:
2845         * inspector/compile-front-end.py:
2846         * inspector/front-end/Panel.js:
2847         (WebInspector.Panel.prototype.showAnchorLocation):
2848         * inspector/front-end/ResourceView.js:
2849         (WebInspector.EditableResourceSourceFrame.prototype.didEditContent):
2850         * inspector/front-end/ScriptsNavigator.js:
2851         (WebInspector.ScriptsNavigatorController.prototype._navigatorOverlayWasShown):
2852         * inspector/front-end/ScriptsPanel.js:
2853         * inspector/front-end/Settings.js:
2854         (WebInspector.ExperimentsSettings):
2855         * inspector/front-end/SourceFrame.js:
2856         (WebInspector.SourceFrame.prototype._clearLineHighlight):
2857         * inspector/front-end/StylesPanel.js: Added.
2858         (WebInspector.StylesPanel):
2859         (WebInspector.StylesPanel.prototype.wasShown):
2860         (WebInspector.StylesPanel.prototype._initialize):
2861         (WebInspector.StylesPanel.prototype._populateResourceTree.populateFrame):
2862         (WebInspector.StylesPanel.prototype._populateResourceTree):
2863         (WebInspector.StylesPanel.prototype._resourceAdded):
2864         (WebInspector.StylesPanel.prototype._reset):
2865         (WebInspector.StylesPanel.prototype._cachedResourcesLoaded):
2866         (WebInspector.StylesPanel.prototype.get toolbarItemLabel):
2867         (WebInspector.StylesPanel.prototype.viewForFile.get if):
2868         (WebInspector.StylesPanel.prototype.viewForFile):
2869         (WebInspector.StylesPanel.prototype._textEdited):
2870         (WebInspector.StylesPanel.prototype._scriptSelected):
2871         (WebInspector.StylesPanel.prototype._showFile):
2872         (WebInspector.StylesPanel.prototype.canShowAnchorLocation):
2873         * inspector/front-end/StylesSidebarPane.js:
2874         (WebInspector.StylePropertiesSection):
2875         (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
2876         * inspector/front-end/TabbedEditorContainer.js:
2877         (WebInspector.TabbedEditorContainer):
2878         * inspector/front-end/WebKit.qrc:
2879         * inspector/front-end/inspector.html:
2880         * inspector/front-end/inspector.js:
2881         (WebInspector._createPanels):
2882         (WebInspector._showAnchorLocationInPanel):
2883         * inspector/front-end/scriptsPanel.css:
2884         * inspector/front-end/splitView.css:
2885         (.sidebar-overlay):
2886
2887 2012-04-19  Vsevolod Vlasov  <vsevik@chromium.org>
2888
2889         Follow up to r114632: build fix.
2890
2891         * inspector/InspectorDebuggerAgent.cpp:
2892         (WebCore):
2893         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2894
2895 2012-04-19  Mark Pilgrim  <pilgrim@chromium.org>
2896
2897         [Chromium] Call sampleGamepads directly
2898         https://bugs.webkit.org/show_bug.cgi?id=84339
2899
2900         Reviewed by Kentaro Hara.
2901
2902         Part of a refactoring series. See tracking bug 82948.
2903
2904         * platform/chromium/GamepadsChromium.cpp:
2905         (WebCore::sampleGamepads):
2906         * platform/chromium/PlatformSupport.h:
2907         (WebCore):
2908         (PlatformSupport):
2909
2910 2012-04-19  Vsevolod Vlasov  <vsevik@chromium.org>
2911
2912         Web Inspector: x-frame security errors logged when typing in the console are annoying.
2913         https://bugs.webkit.org/show_bug.cgi?id=81970
2914
2915         Reviewed by Pavel Feldman.
2916
2917         Parameter DoNotPauseOnExceptions in Runtime.evaluate() renamed to DoNotPauseOnExceptionsAndMuteConsole.
2918         Added this parameter to Runtime.callFunctionOn() and passed true in all call sites.
2919         Added this parameter to Debugger.evaluateOnCallFrame().
2920         Added a flag to console that mutes all messages unless they have ConsoleAPI message source.
2921         This flag is now temporarily set from InspectorRuntimeAgent and InspectorDebuggerAgent for certain injected source calls.
2922
2923         * inspector/Inspector.json:
2924         * inspector/InspectorDebuggerAgent.cpp:
2925         (WebCore::asBool):
2926         (WebCore):
2927         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2928         * inspector/InspectorDebuggerAgent.h:
2929         (InspectorDebuggerAgent):
2930         * inspector/InspectorRuntimeAgent.cpp:
2931         (WebCore):
2932         (WebCore::setPauseOnExceptionsState):
2933         (WebCore::InspectorRuntimeAgent::evaluate):
2934         (WebCore::InspectorRuntimeAgent::callFunctionOn):
2935         (WebCore::InspectorRuntimeAgent::getProperties):
2936         * inspector/InspectorRuntimeAgent.h:
2937         (InspectorRuntimeAgent):
2938         * inspector/PageDebuggerAgent.cpp:
2939         (WebCore::PageDebuggerAgent::muteConsole):
2940         (WebCore):
2941         (WebCore::PageDebuggerAgent::unmuteConsole):
2942         * inspector/PageDebuggerAgent.h:
2943         (PageDebuggerAgent):
2944         * inspector/PageRuntimeAgent.cpp:
2945         (WebCore::PageRuntimeAgent::muteConsole):
2946         (WebCore):
2947         (WebCore::PageRuntimeAgent::unmuteConsole):
2948         * inspector/PageRuntimeAgent.h:
2949         (PageRuntimeAgent):
2950         * inspector/WorkerDebuggerAgent.cpp:
2951         (WebCore::WorkerDebuggerAgent::muteConsole):
2952         (WebCore):
2953         (WebCore::WorkerDebuggerAgent::unmuteConsole):
2954         * inspector/WorkerDebuggerAgent.h:
2955         (WorkerDebuggerAgent):
2956         * inspector/WorkerRuntimeAgent.cpp:
2957         (WebCore::WorkerRuntimeAgent::muteConsole):
2958         (WebCore):
2959         (WebCore::WorkerRuntimeAgent::unmuteConsole):
2960         * inspector/WorkerRuntimeAgent.h:
2961         (WorkerRuntimeAgent):
2962         * inspector/front-end/ConsoleView.js:
2963         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
2964         * inspector/front-end/DebuggerPresentationModel.js:
2965         (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
2966         (WebInspector.PresentationCallFrame.prototype.evaluate):
2967         * inspector/front-end/RemoteObject.js:
2968         (WebInspector.RemoteObject.prototype.setPropertyValue):
2969         (WebInspector.RemoteObject.prototype.callFunction):
2970         (WebInspector.RemoteObject.prototype.callFunctionJSON):
2971         * inspector/front-end/WorkerManager.js:
2972         * page/Console.cpp:
2973         (WebCore::Console::addMessage):
2974         (WebCore::Console::warn):
2975         (WebCore):
2976         (WebCore::Console::mute):
2977         (WebCore::Console::unmute):
2978         * page/Console.h:
2979         (Console):
2980
2981 2012-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2982
2983         Unreviewed, rolling out r114628.
2984         http://trac.webkit.org/changeset/114628
2985         https://bugs.webkit.org/show_bug.cgi?id=84341
2986
2987         Breaks EFL and GTK builds (Requested by pfeldman on #webkit).
2988
2989         * inspector/Inspector.json:
2990         * inspector/InspectorDebuggerAgent.cpp:
2991         (WebCore):
2992         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2993         * inspector/InspectorDebuggerAgent.h:
2994         (InspectorDebuggerAgent):
2995         * inspector/InspectorRuntimeAgent.cpp:
2996         (WebCore::InspectorRuntimeAgent::evaluate):
2997         (WebCore::InspectorRuntimeAgent::callFunctionOn):
2998         (WebCore::InspectorRuntimeAgent::getProperties):
2999         * inspector/InspectorRuntimeAgent.h:
3000         (InspectorRuntimeAgent):
3001         * inspector/PageDebuggerAgent.cpp:
3002         * inspector/PageDebuggerAgent.h:
3003         (PageDebuggerAgent):
3004         * inspector/PageRuntimeAgent.cpp:
3005         * inspector/PageRuntimeAgent.h:
3006         (PageRuntimeAgent):
3007         * inspector/WorkerDebuggerAgent.cpp:
3008         * inspector/WorkerDebuggerAgent.h:
3009         (WorkerDebuggerAgent):
3010         * inspector/WorkerRuntimeAgent.cpp:
3011         * inspector/WorkerRuntimeAgent.h:
3012         (WorkerRuntimeAgent):
3013         * inspector/front-end/ConsoleView.js:
3014         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
3015         * inspector/front-end/DebuggerPresentationModel.js:
3016         (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
3017         (WebInspector.PresentationCallFrame.prototype.evaluate):
3018         * inspector/front-end/RemoteObject.js:
3019         (WebInspector.RemoteObject.prototype.setPropertyValue):
3020         (WebInspector.RemoteObject.prototype.callFunction):
3021         (WebInspector.RemoteObject.prototype.callFunctionJSON):
3022         * inspector/front-end/WorkerManager.js:
3023         * page/Console.cpp:
3024         (WebCore):
3025         (WebCore::Console::addMessage):
3026         (WebCore::Console::warn):
3027         * page/Console.h:
3028         (Console):
3029
3030 2012-04-19  Vsevolod Vlasov  <vsevik@chromium.org>
3031
3032         Web Inspector: x-frame security errors logged when typing in the console are annoying.
3033         https://bugs.webkit.org/show_bug.cgi?id=81970
3034
3035         Reviewed by Pavel Feldman.
3036
3037         Parameter DoNotPauseOnExceptions in Runtime.evaluate() renamed to DoNotPauseOnExceptionsAndMuteConsole.
3038         Added this parameter to Runtime.callFunctionOn() and passed true in all call sites.
3039         Added this parameter to Debugger.evaluateOnCallFrame().
3040         Added a flag to console that mutes all messages unless they have ConsoleAPI message source.
3041         This flag is now temporarily set from InspectorRuntimeAgent and InspectorDebuggerAgent for certain injected source calls.
3042
3043         * inspector/Inspector.json:
3044         * inspector/InspectorDebuggerAgent.cpp:
3045         (WebCore::asBool):
3046         (WebCore):
3047         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
3048         * inspector/InspectorDebuggerAgent.h:
3049         (InspectorDebuggerAgent):
3050         * inspector/InspectorRuntimeAgent.cpp:
3051         (WebCore):
3052         (WebCore::setPauseOnExceptionsState):
3053         (WebCore::InspectorRuntimeAgent::evaluate):
3054         (WebCore::InspectorRuntimeAgent::callFunctionOn):
3055         (WebCore::InspectorRuntimeAgent::getProperties):
3056         * inspector/InspectorRuntimeAgent.h:
3057         (InspectorRuntimeAgent):
3058         * inspector/PageDebuggerAgent.cpp:
3059         (WebCore::PageDebuggerAgent::muteConsole):
3060         (WebCore):
3061         (WebCore::PageDebuggerAgent::unmuteConsole):
3062         * inspector/PageDebuggerAgent.h:
3063         (PageDebuggerAgent):
3064         * inspector/PageRuntimeAgent.cpp:
3065         (WebCore::PageRuntimeAgent::muteConsole):
3066         (WebCore):
3067         (WebCore::PageRuntimeAgent::unmuteConsole):
3068         * inspector/PageRuntimeAgent.h:
3069         (PageRuntimeAgent):
3070         * inspector/WorkerDebuggerAgent.cpp:
3071         (WebCore::WorkerDebuggerAgent::muteConsole):
3072         (WebCore):
3073         (WebCore::WorkerDebuggerAgent::unmuteConsole):
3074         * inspector/WorkerDebuggerAgent.h:
3075         (WorkerDebuggerAgent):
3076         * inspector/WorkerRuntimeAgent.cpp:
3077         (WebCore::WorkerRuntimeAgent::muteConsole):
3078         (WebCore):
3079         (WebCore::WorkerRuntimeAgent::unmuteConsole):
3080         * inspector/WorkerRuntimeAgent.h:
3081         (WorkerRuntimeAgent):
3082         * inspector/front-end/ConsoleView.js:
3083         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
3084         * inspector/front-end/DebuggerPresentationModel.js:
3085         (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
3086         (WebInspector.PresentationCallFrame.prototype.evaluate):
3087         * inspector/front-end/RemoteObject.js:
3088         (WebInspector.RemoteObject.prototype.setPropertyValue):
3089         (WebInspector.RemoteObject.prototype.callFunction):
3090         (WebInspector.RemoteObject.prototype.callFunctionJSON):
3091         * inspector/front-end/WorkerManager.js:
3092         * page/Console.cpp:
3093         (WebCore::Console::addMessage):
3094         (WebCore::Console::warn):
3095         (WebCore):
3096         (WebCore::Console::mute):
3097         (WebCore::Console::unmute):
3098         * page/Console.h:
3099         (Console):
3100
3101 2012-04-19  No'am Rosenthal  <noam.rosenthal@nokia.com>
3102
3103         [Qt] Fix Qt-Mac build after libxml patch
3104         https://bugs.webkit.org/show_bug.cgi?id=84313
3105
3106         Use direct include/library paths instead of PKGCONFIG when on Mac.
3107
3108         Reviewed by Simon Hausmann.
3109
3110         No new tests, build fix.
3111
3112         * WebCore.pri:
3113
3114 2012-04-18  Vsevolod Vlasov  <vsevik@chromium.org>
3115
3116         Web Inspector: No response body available for cached resource requests with error status codes.
3117         https://bugs.webkit.org/show_bug.cgi?id=84265
3118
3119         Reviewed by Pavel Feldman.
3120
3121         InspectorResourceAgent now saves failed subresource request response body in its cache.
3122         Saved data is shown on front-end.
3123
3124         Test: http/tests/inspector/network/network-image-404.html
3125
3126         * inspector/InspectorResourceAgent.cpp:
3127         (WebCore::InspectorResourceAgent::didReceiveData):
3128         * inspector/NetworkResourcesData.cpp:
3129         (WebCore::NetworkResourcesData::responseReceived):
3130         (WebCore::NetworkResourcesData::httpStatusCode):
3131         (WebCore):
3132         * inspector/NetworkResourcesData.h:
3133         (WebCore::NetworkResourcesData::ResourceData::httpStatusCode):
3134         (WebCore::NetworkResourcesData::ResourceData::setHTTPStatusCode):
3135         (ResourceData):
3136         (NetworkResourcesData):
3137         * inspector/front-end/RequestView.js:
3138         (WebInspector.RequestView.hasTextContent):
3139
3140 2012-04-19  Pavel Feldman  <pfeldman@chromium.org>
3141
3142         Web Inspector: reuse ParsedUrl in the UISourceCode
3143         https://bugs.webkit.org/show_bug.cgi?id=84326
3144
3145         Reviewed by Yury Semikhatsky.
3146
3147         Migrated UISourceCode to ParsedURL, moved the displayName logic into its only client:
3148         TabbedEditorContainer.
3149
3150         * inspector/front-end/CompilerScriptMapping.js:
3151         (WebInspector.SourceMapParser.prototype._canonicalizeURL):
3152         * inspector/front-end/FilteredItemSelectionDialog.js:
3153         (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
3154         (WebInspector.OpenResourceDialog.compareFunction):
3155         (WebInspector.OpenResourceDialog):
3156         (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
3157         (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
3158         * inspector/front-end/ResourceUtils.js:
3159         (WebInspector.ParsedURL):
3160         * inspector/front-end/ScriptsNavigator.js:
3161         (WebInspector.ScriptsNavigator.prototype._getOrCreateFolderTreeElement):
3162         (WebInspector.NavigatorFolderTreeElement):
3163         * inspector/front-end/TabbedEditorContainer.js:
3164         (WebInspector.TabbedEditorContainer.prototype._titleForFile):
3165         * inspector/front-end/UISourceCode.js:
3166         (WebInspector.UISourceCode):
3167         (WebInspector.UISourceCode.prototype.get parsedURL):
3168
3169 2012-04-19  Xingnan Wang  <xingnan.wang@intel.com>
3170
3171         Optimize for DARWIN in DirectConvolver::process()
3172         https://bugs.webkit.org/show_bug.cgi?id=80256
3173
3174         Reviewed by Chris Rogers.
3175
3176         * platform/audio/DirectConvolver.cpp:
3177         (WebCore::DirectConvolver::process):
3178
3179 2012-04-18  Noel Gordon  <noel.gordon@gmail.com>
3180
3181         [CG] ImageBuffer::toDataURL: Remove alpha stuffing loop when encoding to JPEG
3182         https://bugs.webkit.org/show_bug.cgi?id=84319
3183
3184         Reviewed by Eric Seidel.
3185
3186         No change in behavior. Covered by existing canvas 2d and 3d tests:
3187
3188           canvas/philip/tests/toDataURL.jpeg.alpha.html
3189           fast/canvas/webgl/premultiplyalpha-test.html
3190
3191         * platform/graphics/cg/ImageBufferCG.cpp:
3192         (WebCore::ImageBuffer::toDataURL): Remove the alpha stuffing loop and instead,
3193         make JPEG encoder ignore the alpha channel (kCGImageAlphaNoneSkipLast).
3194
3195 2012-04-18  Emil A Eklund  <eae@chromium.org>
3196
3197         Remove unnecessary rounding/conversions in RenderBoxModelObject
3198         https://bugs.webkit.org/show_bug.cgi?id=84288
3199
3200         Reviewed by Eric Seidel.
3201
3202         No new tests, no change in functionality.
3203
3204         * rendering/RenderBoxModelObject.cpp:
3205         (WebCore::RenderBoxModelObject::paintBoxShadow):
3206         Remove unnecessary pixelSnapping logic and casts in paintBoxShadow as
3207         shadow rects are now int based.
3208
3209 2012-04-18  Jason Liu  <jason.liu@torchmobile.com.cn>
3210
3211         [BlackBerry] Parsed Cookie's m_hasDefaultDomain is not needed.
3212         https://bugs.webkit.org/show_bug.cgi?id=82830
3213
3214         Reviewed by George Staikos.
3215
3216         RFC 2965
3217         3.2.2
3218         Domain = value
3219         If an explicitly specified value does not start with a dot, the user agent supplies
3220         a leading dot.
3221         3.3.1
3222         Domain  Defaults to the effective request-host.  (Note that because there is no dot
3223         at the beginning of effective request-host, the default Domain can only domain-match
3224         itself.)
3225
3226         The first char can show the difference even though it is from the cookie database.
3227         But m_hasDefaultDomain is set to false if the cookie is from database although the
3228         domain is host as a default value. So m_hasDefaultDomain sometimes is wrong.
3229
3230         In sum,  we shouldn't use m_hasDefaultDomain.
3231
3232         Test: http/tests/security/cookies/cookies-wrong-domain-rejected.php
3233
3234         * platform/blackberry/CookieManager.cpp:
3235         (WebCore::CookieManager::shouldRejectForSecurityReason):
3236         * platform/blackberry/CookieParser.cpp:
3237         (WebCore::CookieParser::parseOneCookie):
3238         * platform/blackberry/ParsedCookie.cpp:
3239         (WebCore::ParsedCookie::ParsedCookie):
3240         * platform/blackberry/ParsedCookie.h:
3241         (ParsedCookie):
3242
3243 2012-04-18  Adrienne Walker  <enne@google.com>
3244
3245         [chromium] Consolidate adjustTextRenderMode copypasta into Skia context
3246         https://bugs.webkit.org/show_bug.cgi?id=83840
3247
3248         Reviewed by James Robinson.
3249
3250         The same logic to decide when to make text use LCD rendering is copy
3251         and pasted in all the different font classes. It seems like this
3252         should live in a single place.
3253
3254         * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
3255         (WebCore::Font::drawGlyphs):
3256         (WebCore::Font::drawComplexText):
3257         * platform/graphics/skia/FontSkia.cpp:
3258         (WebCore::Font::drawGlyphs):
3259         * platform/graphics/skia/PlatformContextSkia.cpp:
3260         (WebCore::PlatformContextSkia::adjustTextRenderMode):
3261         (WebCore):
3262         (WebCore::PlatformContextSkia::couldUseLCDRenderedText):
3263         * platform/graphics/skia/PlatformContextSkia.h:
3264         (PlatformContextSkia):
3265         * platform/graphics/skia/SkiaFontWin.cpp:
3266         (WebCore::setupPaintForFont):
3267
3268 2012-04-18  Hironori Bono  <hbono@chromium.org>
3269
3270         Split SpellChecker::didCheck() to SpellChecker::didCheckSucceeded() and SpellChecker::didCheckCanceled()
3271         https://bugs.webkit.org/show_bug.cgi?id=83748
3272
3273         Reviewed by Ryosuke Niwa.
3274
3275         The current SpellChecker::didCheck() does not delete existing markers. It causes
3276         a problem that it leaves misspelled markers when a spellchecker client finishes
3277         checking text successfully. This change splits this function to didCheckSucceeded()
3278         and  didCheckCanceled() so the SpellChecker class can delete existing markers
3279         when its client finishes checking text successfully. (We do not have to erase
3280         existing markers when the client needs to cancel a text-check request.)
3281
3282         Test: platform/chromium/editing/spelling/delete-misspelled-word.html
3283
3284         * WebCore.exp.in: Replaced SpellChecker::didCheck with SpellChecker::didCheckSucceeded.
3285         * editing/SpellChecker.cpp:
3286         (WebCore::SpellChecker::didCheckSucceeded): Added.
3287         (WebCore):
3288         (WebCore::SpellChecker::didCheckCanceled): Added.
3289         * editing/SpellChecker.h:
3290         (SpellChecker): Added didCheckSucceeded and didCheckCanceled. Also changed didCheck to a private function.
3291
3292 2012-04-16  James Robinson  <jamesr@chromium.org>
3293
3294         [chromium] Convert WebPluginContainerImpl over to use WebExternalTextureLayer
3295         https://bugs.webkit.org/show_bug.cgi?id=84120
3296
3297         Reviewed by Adrienne Walker.
3298
3299         This renames PluginLayerChromium -> TextureLayerChromium since it is now used only as the implementation of
3300         WebExternalTextureLayer and cleans it up slightly.
3301
3302         * WebCore.gypi:
3303         * platform/graphics/chromium/TextureLayerChromium.cpp: Renamed from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp.
3304         (WebCore):
3305         (WebCore::TextureLayerChromium::create):
3306         (WebCore::TextureLayerChromium::TextureLayerChromium):
3307         (WebCore::TextureLayerChromium::createCCLayerImpl):
3308         (WebCore::TextureLayerChromium::drawsContent):
3309         (WebCore::TextureLayerChromium::setTextureId):
3310         (WebCore::TextureLayerChromium::setFlipped):
3311         (WebCore::TextureLayerChromium::setUVRect):
3312         (WebCore::TextureLayerChromium::setIOSurfaceProperties):
3313         (WebCore::TextureLayerChromium::pushPropertiesTo):
3314         * platform/graphics/chromium/TextureLayerChromium.h: Renamed from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
3315         (WebCore):
3316         (TextureLayerChromium):
3317         (WebCore::TextureLayerChromium::flipped):
3318         (WebCore::TextureLayerChromium::uvRect):
3319
3320 2012-04-18  Raymond Toy  <rtoy@google.com>
3321
3322         Expose attack, release as DynamicsCompressorNode's attributes.
3323         https://bugs.webkit.org/show_bug.cgi?id=81221
3324
3325         Reviewed by Chris Rogers.
3326
3327         * Modules/webaudio/DynamicsCompressorNode.cpp:
3328         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
3329         (WebCore::DynamicsCompressorNode::process):
3330         * Modules/webaudio/DynamicsCompressorNode.h:
3331         (WebCore::DynamicsCompressorNode::attack):
3332         (WebCore::DynamicsCompressorNode::releaseTime):
3333         (DynamicsCompressorNode):
3334         * Modules/webaudio/DynamicsCompressorNode.idl: Add attack and
3335         release attributes.
3336         * bindings/scripts/CodeGeneratorObjC.pm:
3337         (SkipAttribute): Skip release()
3338         (GenerateHeader): Call SkipAttribute for getters/setters.
3339         * platform/audio/DynamicsCompressor.h:
3340         (DynamicsCompressor):
3341
3342 2012-04-18  Dana Jansens  <danakj@chromium.org>
3343
3344         [chromium] Simplify occlusion tracker API by passing layer iterator data
3345         https://bugs.webkit.org/show_bug.cgi?id=84088
3346
3347         Reviewed by Adrienne Walker.
3348
3349         Previously three methods lived in the API and you needed to call the
3350         appropriate method (with different amounts of data) depending on what
3351         the current layer iterator was representing.
3352
3353         This makes usage of the occlusion tracker simpler to read and harder
3354         to mess up, by just passing in the layer iterator at each step of the
3355         iteration process.
3356
3357         Covered by existing tests.
3358
3359         * platform/graphics/chromium/cc/CCLayerIterator.h:
3360         (WebCore):
3361         (CCLayerIteratorPosition):
3362         (CCLayerIterator):
3363         (WebCore::CCLayerIterator::operator const CCLayerIteratorPosition<LayerType>):
3364         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
3365         (WebCore::CCLayerTilingData::opaqueRegionInLayerRect):
3366         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3367         (WebCore::CCLayerTreeHost::paintLayerContents):
3368         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3369         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3370         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3371         (WebCore::::enterLayer):
3372         (WebCore):
3373         (WebCore::::leaveLayer):
3374         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
3375         (CCOcclusionTrackerBase):
3376
3377 2012-04-18  James Robinson  <jamesr@chromium.org>
3378
3379         [chromium] Add canBeginFrame state to CCSchedulerStateMachine to suppress initialization before our surface is available
3380         https://bugs.webkit.org/show_bug.cgi?id=84301
3381
3382         Reviewed by Adrienne Walker.
3383
3384         If our composited surface isn't ready yet, then the compositor may initialize in a state where the first
3385         makeContextCurrent() fails. This adds a new state to the scheduler that we can use to suppress initialization
3386         until we get notified that the surface is ready. I'll add the plumbing for actually notifying in a follow-up.
3387
3388         Updated CCSchedulerTest / CCSchedulerStateMachineTest unit tests.
3389
3390         * platform/graphics/chromium/cc/CCScheduler.cpp:
3391         (WebCore::CCScheduler::setCanBeginFrame):
3392         (WebCore):
3393         * platform/graphics/chromium/cc/CCScheduler.h:
3394         (CCScheduler):
3395         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
3396         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
3397         (WebCore::CCSchedulerStateMachine::nextAction):
3398         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
3399         (WebCore::CCSchedulerStateMachine::setCanBeginFrame):
3400         (CCSchedulerStateMachine):
3401         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3402         (WebCore::CCThreadProxy::initializeImplOnImplThread):
3403
3404 2012-04-18  David Reveman  <reveman@chromium.org>
3405
3406         [Chromium] Solid color layers should respect opacity value.
3407         https://bugs.webkit.org/show_bug.cgi?id=84197
3408
3409         Reviewed by Adrienne Walker.
3410
3411         Fold opacity into shader color for solid color layers.
3412
3413         Test: CCSolidColorLayerImplTest.verifyCorrectOpacityInQuad
3414
3415         * platform/graphics/chromium/LayerRendererChromium.cpp:
3416         (WebCore::LayerRendererChromium::drawSolidColorQuad):
3417
3418 2012-04-18  Mark Pilgrim  <pilgrim@chromium.org>
3419
3420         [Chromium] Call prefetchDNS directly
3421         https://bugs.webkit.org/show_bug.cgi?id=84262
3422
3423         Reviewed by Kentaro Hara.
3424
3425         Part of a series, see tracking bug 82948.
3426
3427         * platform/chromium/PlatformSupport.h:
3428         (PlatformSupport):
3429         * platform/network/chromium/DNSChromium.cpp:
3430         (WebCore::prefetchDNS):
3431
3432 2012-04-18  Julien Chaffraix  <jchaffraix@webkit.org>
3433
3434         REGRESSION(102040): Auto-table layout with percent width doesn't shrink-to-fit content a cell with colspan
3435         https://bugs.webkit.org/show_bug.cgi?id=84260
3436
3437         Reviewed by Ojan Vafai.
3438
3439         Tests: fast/table/td-width-fifty-percent-regression-expected.html
3440                fast/table/td-width-fifty-percent-regression.html
3441
3442         * rendering/AutoTableLayout.cpp:
3443         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
3444         As we are spreading the cell's min / max logical width, we should be updating them.
3445         This prevents the following logic getting confused and allocating more than needed.
3446
3447 2012-04-18  Justin Schuh  <jschuh@chromium.org>
3448
3449         Win8 builds usually fail due to cygwin rebasing
3450         https://bugs.webkit.org/show_bug.cgi?id=84274
3451
3452         Reviewed by Dirk Pranke.
3453
3454         Cygwin can fail to spawn children if the DLL is rebased. This happens
3455         frequently enough on Windows 8 that we should retry on failure.
3456
3457         No new tests. No behavior changed.
3458
3459         * bindings/scripts/preprocessor.pm:
3460         (applyPreprocessor):
3461
3462 2012-04-18  Levi Weintraub  <leviw@chromium.org>
3463
3464         Add explicit template instantiation to chromium/PopupListBox.cpp to prepare for sub-pixel layout
3465         https://bugs.webkit.org/show_bug.cgi?id=84264
3466
3467         Reviewed by Eric Seidel.
3468
3469         Explicitly instantiating integer max and min templates to fix compilation in Chromium. We
3470         intentionally truncated these values in platform code, which matches earlier behavior.
3471         See https://trac.webkit.org/wiki/LayoutUnit for details.
3472
3473         No new tests. No change in behavior.
3474
3475         * platform/chromium/PopupListBox.cpp:
3476         (WebCore::PopupListBox::paintRow):
3477         (WebCore::PopupListBox::layout):
3478
3479 2012-04-18  Luke Macpherson  <macpherson@chromium.org>
3480
3481         Prevent potential null pointer dereference in CSSStyleSelector::applyProperty().
3482         https://bugs.webkit.org/show_bug.cgi?id=84267
3483
3484         Reviewed by Kentaro Hara.
3485
3486         No new tests / code cleanup found via static analysis.
3487
3488         * css/CSSStyleSelector.cpp:
3489         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3490
3491 2012-04-18  Luke Macpherson  <macpherson@chromium.org>
3492
3493         Prevent switch case fallthrough in StylePropertySet::getPropertyValue().
3494         https://bugs.webkit.org/show_bug.cgi?id=84266
3495
3496         Reviewed by Kentaro Hara.
3497
3498         No new tests / code cleanup found by static analysis.
3499
3500         * css/StylePropertySet.cpp:
3501         (WebCore::StylePropertySet::getPropertyValue):
3502
3503 2012-04-18  Andreas Kling  <kling@webkit.org>
3504
3505         CSSValuePool: Make numeric value caches fixed-size arrays.
3506         <http://webkit.org/b/84268>
3507
3508         Reviewed by Antti Koivisto.
3509
3510         Change the numeric CSSPrimitiveValue caches in CSSValuePool from HashMaps to
3511         fixed-size arrays of RefPtr<CSSPrimitiveValue>s.
3512
3513         This is more space efficient and doesn't incur the cost of a hash lookup every
3514         time a numeric CSSPrimitiveValue is needed. We retain the limit of caching
3515         only values between 0-255 for now.
3516
3517         * css/CSSValuePool.cpp:
3518         (WebCore::CSSValuePool::CSSValuePool):
3519         (WebCore::CSSValuePool::createValue):
3520         * css/CSSValuePool.h:
3521         (CSSValuePool):
3522
3523 2012-04-18  Dana Jansens  <danakj@chromium.org>
3524
3525         [chromium] Rename overdraw histograms so we can use field trials in histograms.xml
3526         https://bugs.webkit.org/show_bug.cgi?id=83500
3527
3528         Reviewed by James Robinson.
3529
3530         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
3531         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
3532
3533 2012-04-18  David Reveman  <reveman@chromium.org>
3534
3535         [Chromium] Solid color shader should use premultiplied alpha.
3536         https://bugs.webkit.org/show_bug.cgi?id=84215
3537
3538         Reviewed by Adrienne Walker.
3539
3540         For efficiency and consistency, expect premultiplied alpha in
3541         solid color shader.
3542
3543         * platform/graphics/chromium/LayerRendererChromium.cpp:
3544         (WebCore::LayerRendererChromium::drawDebugBorderQuad):
3545         (WebCore::LayerRendererChromium::drawSolidColorQuad):
3546         * platform/graphics/chromium/ShaderChromium.cpp:
3547         (WebCore::FragmentShaderColor::getShaderString):
3548
3549 2012-04-18  Alexey Proskuryakov  <ap@apple.com>
3550
3551         [WK2] Sandbox violations prevent attaching files to gmail messages
3552         https://bugs.webkit.org/show_bug.cgi?id=84263
3553         <rdar://problem/11248260>
3554
3555         Reviewed by Oliver Hunt.
3556
3557         * page/DragActions.h: Removed the newly added upload action. We cannot know if or when an
3558         upload is going to happen - a drop even listener can always get a reference to a File object,
3559         and upload it with XMLHttpRequest.
3560
3561         * page/DragController.cpp: (WebCore::DragController::concludeEditDrag): Removed a separate
3562         willPerformDragDestinationAction call for upload action - ther is nothing we'd want to only
3563         do when dropping on a file upload button.
3564
3565 2012-04-18  Levi Weintraub  <leviw@chromium.org>
3566
3567         GraphicsContextCG's roundToDevicePixels should round even when there's no transform
3568         https://bugs.webkit.org/show_bug.cgi?id=84191
3569
3570         Reviewed by Eric Seidel.
3571
3572         When painting with the identify transform, the roundToDevicePixels function in GraphicsContextCG
3573         does an early return that simply returns the FloatRect that was passed in. This proved to be a
3574         problem in sub-pixel layout, as we wouldn't adjust the paint rect for text underline, and it could
3575         end up being more than one pixel wide. Adding a roundedIntRect method on FloatRect for the simple
3576         short-circuit case.
3577
3578         No new tests. No change in behavior before switching to sub-pixel layout.
3579
3580         * platform/graphics/FloatRect.cpp:
3581         (WebCore::roundedIntRect):
3582         * platform/graphics/FloatRect.h:
3583         * platform/graphics/cg/GraphicsContextCG.cpp:
3584         (WebCore::GraphicsContext::roundToDevicePixels):
3585
3586 2012-04-18  Keishi Hattori  <keishi@webkit.org>
3587
3588         [chromium] Turn on ENABLE_DATALIST for chromium
3589         https://bugs.webkit.org/show_bug.cgi?id=84118
3590
3591         Reviewed by Kent Tamura.
3592
3593         * html/HTMLDataListElement.cpp: Touched to avoid build issues. No code change.
3594         * html/HTMLDataListElement.h: Ditto.
3595         * html/HTMLInputElement.cpp: Ditto.
3596         * html/HTMLInputElement.h: Ditto.
3597
3598 2012-04-18  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3599
3600         [Qt] WheelEventQt.cpp should be deleted.
3601         https://bugs.webkit.org/show_bug.cgi?id=84237
3602
3603         Reviewed by Simon Hausmann.
3604
3605         * platform/qt/WheelEventQt.cpp: Removed.
3606
3607 2012-04-18  Emil A Eklund  <eae@chromium.org>
3608
3609         Unreviewed. Adding FIXME comment to FractionalLayoutUnit explaining the lack of size_t operators.
3610
3611         * platform/FractionalLayoutUnit.h:
3612         (FractionalLayoutUnit):
3613
3614 2012-04-18  Benjamin Poulain  <bpoulain@apple.com>
3615
3616         Remove m_subclassData from JSArray, move the attribute to subclass as needed
3617         https://bugs.webkit.org/show_bug.cgi?id=84249
3618
3619         Reviewed by Geoffrey Garen.
3620
3621         * bridge/runtime_array.cpp:
3622         (JSC::RuntimeArray::RuntimeArray):
3623         (JSC::RuntimeArray::finishCreation):
3624         * bridge/runtime_array.h:
3625         (JSC::RuntimeArray::getLength):
3626         (JSC::RuntimeArray::getConcreteArray):
3627         (RuntimeArray):
3628
3629 2012-04-18  Luiz Agostini  <luiz.agostini@palm.com>
3630
3631         matchMedia() MediaQueryList not updating
3632         https://bugs.webkit.org/show_bug.cgi?id=75903
3633
3634         Reviewed by Antti Koivisto.
3635
3636         Test: fast/media/media-query-list-08.html
3637
3638         Viewport related MediaQueryList listeners were not triggered and the value
3639         of matches were not updated if the document's style selector were not
3640         affected by viewport changes.
3641
3642         The new method evaluateMediaQueries() is now called by FrameView instead of
3643         styleSelectorChanged() if the style selector is not affected by viewport changes.
3644
3645         * dom/Document.cpp:
3646         (WebCore::Document::evaluateMediaQueries):
3647         (WebCore):
3648         (WebCore::Document::styleSelectorChanged):
3649         * dom/Document.h:
3650         (Document):
3651         * page/FrameView.cpp:
3652         (WebCore::FrameView::layout):
3653
3654 2012-04-18  Emil A Eklund  <eae@chromium.org>
3655
3656         Use explicit casts for size_t to unsigned conversion
3657         https://bugs.webkit.org/show_bug.cgi?id=83602
3658
3659         Reviewed by Eric Seidel.
3660
3661         No new tests, no change in functinality.
3662
3663         Not all platforms have implicit casts from size_t to unsigned and we
3664         can't add size_t versions of the operators to FractionalLayoutUnit for
3665         all platforms as it would conflict with the unsigned versions of same.
3666
3667         Change support methods to take unsigned instead of size_t and use
3668         explicit casts when multiplying or dividing a FractionalLayoutUnit with
3669         a size_t and the other way around.
3670
3671         * rendering/RenderBlock.cpp:
3672         (WebCore::RenderBlock::adjustForColumns):
3673         * rendering/RenderFlexibleBox.cpp:
3674         (WebCore::initialPackingOffset):
3675         (WebCore::packingSpaceBetweenChildren):
3676         (WebCore::initialLinePackingOffset):
3677         (WebCore::linePackingSpaceBetweenChildren):
3678         (WebCore::RenderFlexibleBox::packFlexLines):
3679         * rendering/RenderFrameSet.cpp:
3680         (WebCore::RenderFrameSet::layout):
3681
3682 2012-04-18  Pavel Feldman  <pfeldman@chromium.org>
3683
3684         Web Inspector: [Chromium] Module's require injects scripts before the debug id is set to the context.
3685         https://bugs.webkit.org/show_bug.cgi?id=84166
3686
3687         Re-applying r114497.
3688
3689         * bindings/v8/V8IsolatedContext.cpp:
3690         (WebCore::setInjectedScriptContextDebugId):
3691         (WebCore):
3692         (WebCore::V8IsolatedContext::V8IsolatedContext):
3693         * bindings/v8/V8Proxy.cpp:
3694         (WebCore::V8Proxy::evaluateInIsolatedWorld):
3695         * bindings/v8/V8Proxy.h:
3696         (V8Proxy):
3697
3698 2012-04-18  Pavel Feldman  <pfeldman@chromium.org>
3699
3700         Web Inspector: extract script navigator overlay logic into the scripts navigator controller.
3701         https://bugs.webkit.org/show_bug.cgi?id=84244
3702
3703         Reviewed by Vsevolod Vlasov.
3704
3705         Overlay logic is well separable from the scripts panel and does not belong there.
3706         Extracting it into a separate class.
3707
3708         * inspector/front-end/ScriptsNavigator.js:
3709         (WebInspector.ScriptsNavigatorController.prototype.wasShown):
3710         (WebInspector.ScriptsNavigatorController.prototype._createNavigatorControlButton):
3711         (WebInspector.ScriptsNavigatorController.prototype._escDownWhileNavigatorOverlayOpen):
3712         (WebInspector.ScriptsNavigatorController.prototype._toggleNavigator):
3713         (WebInspector.ScriptsNavigatorController.prototype._hidePinnedNavigator):
3714         (WebInspector.ScriptsNavigatorController.prototype.set _pinNavigator):
3715         (WebInspector.ScriptsNavigatorController.prototype.set showNavigatorOverlay):
3716         (WebInspector.ScriptsNavigatorController.prototype.hideNavigatorOverlay):
3717         (WebInspector.ScriptsNavigatorController.prototype._navigatorOverlayWasShown):
3718         * inspector/front-end/ScriptsPanel.js:
3719         (WebInspector.ScriptsPanel.prototype.wasShown):
3720         (WebInspector.ScriptsPanel.prototype._editorClosed):
3721         (WebInspector.ScriptsPanel.prototype._editorSelected):
3722         (WebInspector.ScriptsPanel.prototype._scriptSelected):
3723
3724 2012-04-18  Alexandru Chiculita  <achicu@adobe.com>
3725
3726         Unreviewed, trying to fix QT build.
3727         
3728         It was using a FilterEffectRenderer::prepare that changed to allocateBackingStoreIfNeeded in 114529.
3729
3730         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
3731         (WebCore::BitmapTextureImageBuffer::applyFilters):
3732
3733 2012-04-18  Pavel Feldman  <pfeldman@chromium.org>
3734
3735         Web Inspector: extract script navigator overlay logic into the scripts navigator controller.
3736         https://bugs.webkit.org/show_bug.cgi?id=84244
3737
3738         Reviewed by Vsevolod Vlasov.
3739
3740         Overlay logic is well separable from the scripts panel and does not belong there.
3741         Extracting it into a separate class.
3742
3743         * inspector/front-end/ScriptsNavigator.js:
3744         (WebInspector.ScriptsNavigatorController.prototype.wasShown):
3745         (WebInspector.ScriptsNavigatorController.prototype._createNavigatorControlButton):
3746         (WebInspector.ScriptsNavigatorController.prototype._escDownWhileNavigatorOverlayOpen):
3747         (WebInspector.ScriptsNavigatorController.prototype._toggleNavigator):
3748         (WebInspector.ScriptsNavigatorController.prototype._hidePinnedNavigator):
3749         (WebInspector.ScriptsNavigatorController.prototype.set _pinNavigator):
3750         (WebInspector.ScriptsNavigatorController.prototype.set showNavigatorOverlay):
3751         (WebInspector.ScriptsNavigatorController.prototype.hideNavigatorOverlay):
3752         (WebInspector.ScriptsNavigatorController.prototype._navigatorOverlayWasShown):
3753         * inspector/front-end/ScriptsPanel.js:
3754         (WebInspector.ScriptsPanel.prototype.wasShown):
3755         (WebInspector.ScriptsPanel.prototype._editorClosed):
3756         (WebInspector.ScriptsPanel.prototype._editorSelected):
3757         (WebInspector.ScriptsPanel.prototype._scriptSelected):
3758
3759 2012-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3760
3761         Unreviewed, rolling out r114497.
3762         http://trac.webkit.org/changeset/114497
3763         https://bugs.webkit.org/show_bug.cgi?id=84253
3764
3765         Broke compile on Win, including stdio did not help (Requested
3766         by dimich on #webkit).
3767
3768         * bindings/v8/V8IsolatedContext.cpp:
3769         (WebCore::V8IsolatedContext::V8IsolatedContext):
3770         * bindings/v8/V8Proxy.cpp:
3771         (WebCore::V8Proxy::evaluateInIsolatedWorld):
3772         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
3773         (WebCore):
3774         * bindings/v8/V8Proxy.h:
3775         (V8Proxy):
3776
3777 2012-04-18  Alexandru Chiculita  <achicu@adobe.com>
3778
3779         [CSS Filters] Drop-shadow and blur can avoid using full source image
3780         https://bugs.webkit.org/show_bug.cgi?id=81263
3781
3782         Reviewed by Dean Jackson.
3783
3784         Instead of using the full bounding box of the RenderLayer we now compute the exact rectangle that is needed to 
3785         compute filter inside the dirty rectangle on screen. That's easy to calculate by reversing the filter outsets.
3786         Even if the element is completely offscreen, but its shadow is in the viewport, we can still compute the source 
3787         rectangle that needs to be drawn in order to update the shadow correctly.
3788
3789         No new tests, this change doesn't have visible results and the functionality should
3790         already be covered by previous filter tests.
3791
3792         * rendering/FilterEffectRenderer.cpp:
3793         (WebCore::FilterEffectRenderer::FilterEffectRenderer):
3794         (WebCore::FilterEffectRenderer::build): Save the outsets of the filters, so that we can use them in computeSourceImageRectForDirtyRect.
3795         (WebCore::FilterEffectRenderer::updateBackingStoreRect): Only allocate a new source image if the size of the source rectangle changed.
3796         (WebCore::FilterEffectRenderer::allocateBackingStoreIfNeeded): There's no need to call clearIntermediateResults() in this function. We do that after
3797         the filter is computed.
3798         (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
3799         (WebCore):
3800         (WebCore::FilterEffectRendererHelper::prepareFilterEffect):
3801         (WebCore::FilterEffectRendererHelper::beginFilterEffect):
3802         * rendering/FilterEffectRenderer.h:
3803         (FilterEffectRendererHelper):
3804         (WebCore::FilterEffectRendererHelper::repaintRect):
3805         (FilterEffectRenderer):
3806         * rendering/RenderLayer.cpp:
3807         (WebCore::RenderLayer::paintLayerContents):
3808
3809 2012-04-18  Dominik Röttsches  <dominik.rottsches@linux.intel.com>
3810
3811         [EFL][DRT] @font-face support fails on EFL
3812         https://bugs.webkit.org/show_bug.cgi?id=83264
3813
3814         Reviewed by Dimitri Glazkov.
3815
3816         STORE_FONT_CUSTOM_PLATFORM_DATA was not defined for EFL.
3817         Fixing that by removing a long standing FIXME with the intention
3818         to turn the whitelist for this switch into a blacklist.
3819
3820         * loader/cache/CachedFont.cpp:
3821
3822 2012-04-18  Levi Weintraub  <leviw@chromium.org>
3823
3824         Convert ShadowData and DropShadowFilterOperation to use IntPoint
3825         https://bugs.webkit.org/show_bug.cgi?id=84098
3826
3827         Reviewed by Eric Seidel.
3828
3829         Shadows do not flow with the page, so sub-pixel layout doesn't actually offer any benefit that
3830         couldn't have been attained before that conversion. With that in mind, this patch reverts
3831         drop shadow offsets to integers, but also cleans up the code by switching the x/y location pair
3832         to be an IntPoint.
3833
3834         No new tests. No change in behavior.
3835
3836         * css/CSSComputedStyleDeclaration.cpp:
3837         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
3838         * css/CSSStyleSelector.cpp:
3839         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3840         * css/SVGCSSStyleSelector.cpp:
3841         (WebCore::CSSStyleSelector::applySVGProperty):
3842         * page/animation/AnimationBase.cpp:
3843         (WebCore::blendFunc):
3844         (WebCore::shadowForBlending):
3845         * platform/animation/AnimationUtilities.h:
3846         (WebCore::blend): New blend function that operates on IntPoints.
3847         (WebCore):
3848         * platform/chromium/support/WebFilterOperations.cpp:
3849         (WebKit::WebDropShadowFilterOperation):
3850         * platform/graphics/filters/FilterOperation.cpp:
3851         (WebCore::DropShadowFilterOperation::blend):
3852         * platform/graphics/filters/FilterOperation.h:
3853         (WebCore::DropShadowFilterOperation::clone):
3854         (WebCore::DropShadowFilterOperation::x):
3855         (WebCore::DropShadowFilterOperation::y):
3856         (WebCore::DropShadowFilterOperation::location): Preserved the comment about lengths.
3857         (WebCore::DropShadowFilterOperation::operator==):
3858         (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
3859         (DropShadowFilterOperation):
3860         * rendering/RenderBoxModelObject.cpp:
3861         (WebCore::areaCastingShadowInHole): Reverted to integers since this operates on the IntRect from
3862         a RoundedRect.
3863         (WebCore::RenderBoxModelObject::paintBoxShadow): Reduced the complexity and unnecessary conversion
3864         between LayoutUnits and integers by using all integers after we calculate the pixel-snapped
3865         RoundedRect that we use for painting.
3866         * rendering/style/RenderStyle.cpp:
3867         (WebCore::RenderStyle::getShadowExtent):
3868         (WebCore::RenderStyle::getShadowHorizontalExtent):
3869         (WebCore::RenderStyle::getShadowVerticalExtent):
3870         * rendering/style/ShadowData.cpp:
3871         (WebCore::ShadowData::ShadowData):
3872         (WebCore::ShadowData::operator==):
3873         (WebCore::calculateShadowExtent):
3874         (WebCore::ShadowData::adjustRectForShadow):
3875         * rendering/style/ShadowData.h:
3876         (WebCore::ShadowData::ShadowData):
3877         (WebCore::ShadowData::x):
3878         (WebCore::ShadowData::y):
3879         (WebCore::ShadowData::location):
3880         (ShadowData):
3881
3882 2012-04-17  Kentaro Hara  <haraken@chromium.org>
3883
3884         [V8] Add an optional Isolate argument to wrap()
3885         https://bugs.webkit.org/show_bug.cgi?id=84202
3886
3887         Reviewed by Nate Chapin.
3888
3889         The final objective is to pass Isolate around in V8 bindings.
3890         This patch adds an optional Isolate argument to wrap().
3891         After rewriting all wrap() callers so that they pass Isolate
3892         to wrap(), I'll make the Isolate argument non-optional.
3893
3894         No tests. No change in behavior.
3895
3896         * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
3897         (GenerateHeader):
3898         * bindings/v8/custom/V8DocumentCustom.cpp: Ditto.
3899         (WebCore::toV8):
3900         * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Ditto.
3901         (WebCore::toV8):
3902         * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
3903         (WebCore::toV8Slow):
3904         * bindings/v8/custom/V8SVGDocumentCustom.cpp: Ditto.
3905         (WebCore::toV8):
3906         * dom/make_names.pl: Ditto.
3907         (printWrapperFactoryCppFile):
3908
3909         * bindings/scripts/test/V8/V8Float64Array.h:
3910         Updated run-bindings-tests results.
3911         (V8Float64Array):
3912         (WebCore::V8Float64Array::wrap):
3913         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3914         (V8TestActiveDOMObject):
3915         (WebCore::V8TestActiveDOMObject::wrap):
3916         (WebCore::toV8):
3917         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3918         (V8TestCustomNamedGetter):
3919         (WebCore::V8TestCustomNamedGetter::wrap):
3920         (WebCore::toV8):
3921         * bindings/scripts/test/V8/V8TestEventConstructor.h:
3922         (V8TestEventConstructor):
3923         (WebCore::V8TestEventConstructor::wrap):
3924         (WebCore::toV8):
3925         * bindings/scripts/test/V8/V8TestEventTarget.h:
3926         (V8TestEventTarget):
3927         (WebCore::V8TestEventTarget::wrap):
3928         (WebCore::toV8):
3929         * bindings/scripts/test/V8/V8TestInterface.h:
3930         (V8TestInterface):
3931         (WebCore::V8TestInterface::wrap):
3932         (WebCore::toV8):
3933         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
3934         (V8TestMediaQueryListListener):
3935         (WebCore::V8TestMediaQueryListListener::wrap):
3936         (WebCore::toV8):
3937         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
3938         (V8TestNamedConstructor):
3939         (WebCore::V8TestNamedConstructor::wrap):
3940         (WebCore::toV8):
3941         * bindings/scripts/test/V8/V8TestNode.h:
3942         (V8TestNode):
3943         (WebCore::V8TestNode::wrap):
3944         (WebCore::toV8):
3945         * bindings/scripts/test/V8/V8TestObj.h:
3946         (V8TestObj):
3947         (WebCore::V8TestObj::wrap):
3948         (WebCore::toV8):
3949         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
3950         (V8TestSerializedScriptValueInterface):
3951         (WebCore::V8TestSerializedScriptValueInterface::wrap):
3952         (WebCore::toV8):
3953
3954 2012-04-18  Alexandru Chiculita  <achicu@adobe.com>
3955
3956         [CSS Filters] Do not use clipping rect when calculating the bounds of a layer
3957         https://bugs.webkit.org/show_bug.cgi?id=83960
3958
3959         Reviewed by Simon Fraser.
3960         
3961         The local clip rect should not be used when calculating the bounds of a filter area. Otherwise
3962         drop-shadow might not know about the pixels outside the clipping rectangle, even though the actual shadow might
3963         be inside it.
3964
3965         No new tests added in this patch, but this patch fixes two existing tests that fail.
3966         LayoutTests/css3/filters/filter-repaint-shadow-clipped.html
3967         LayoutTests/css3/filters/filter-repaint-shadow-rotated.html
3968
3969         * rendering/RenderLayer.cpp:
3970         (WebCore::RenderLayer::paintLayerContents):
3971         (WebCore::RenderLayer::calculateLayerBounds):
3972         * rendering/RenderLayer.h:
3973
3974 2012-04-18  Mark Pilgrim  <pilgrim@chromium.org>
3975
3976         Followup to "Call incrementStatsCounter directly"
3977         https://bugs.webkit.org/show_bug.cgi?id=83109
3978
3979         Reviewed by Kentaro Hara.
3980
3981         Now that incrementStatsCounter has been moved from
3982         PlatformSupport.h to Platform.h, we need to be able to call it directly
3983         from WebCore/bindings/v8/v8Proxy.h (for the INC_STATS macro). That
3984         means we need a new StatsCounter class in WebCore/platform/ and an
3985         implementation in
3986         WebCore/platform/chromium/StatsCounterChromium.cpp. Other ports
3987         are welcome to implement their own stats counters if they
3988         wish. This pattern was based on the
3989         HistogramSupport/HistogramSupportChromium classes.
3990
3991         * CMakeLists.txt:
3992         * GNUmakefile.list.am:
3993         * Target.pri:
3994         * WebCore.gypi:
3995         * WebCore.vcproj/WebCore.vcproj:
3996         * WebCore.xcodeproj/project.pbxproj:
3997         * bindings/v8/V8Proxy.h:
3998         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
3999         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
4000         (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
4001         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
4002         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
4003         (WebCore::V8NotificationCenter::createNotificationCallback):
4004         (WebCore::V8NotificationCenter::requestPermissionCallback):
4005         * bindings/v8/custom/V8WorkerContextCustom.cpp:
4006         (WebCore::V8WorkerContext::importScriptsCallback):
4007         (WebCore::V8WorkerContext::setTimeoutCallback):
4008         (WebCore::V8WorkerContext::setIntervalCallback):
4009         * platform/StatsCounter.cpp: Added.
4010         (WebCore):
4011         (WebCore::StatsCounter::incrementStatsCounter):
4012         * platform/StatsCounter.h: Added.
4013         (WebCore):
4014         (StatsCounter):
4015         * platform/chromium/StatsCounterChromium.cpp: Added.
4016         (WebCore):
4017         (WebCore::StatsCounter::incrementStatsCounter):
4018
4019 2012-04-18  Alexander Pavlov  <apavlov@chromium.org>
4020
4021         [Chromium] REGRESSION: Popup shrinks because of autocomplete
4022         https://bugs.webkit.org/show_bug.cgi?id=84139
4023         http://code.google.com/p/chromium/issues/detail?id=123432
4024
4025         Do not update the window rect on the wrong client but instead return the popup widget's
4026         new screen coordinates from the refresh() method.
4027
4028         Reviewed by Kent Tamura.
4029
4030         * platform/chromium/PopupContainer.cpp:
4031         (WebCore::PopupContainer::refresh):
4032         * platform/chromium/PopupContainer.h:
4033         (PopupContainer):
4034
4035 2012-04-18  Simon Fraser  <simon.fraser@apple.com>
4036
4037         ASSERT when a layer with a foreground layer is in 'paint into ancestor' mode
4038         https://bugs.webkit.org/show_bug.cgi?id=84221
4039
4040         Reviewed by Dean Jackson.
4041         
4042         When a RenderLayerBacking doesn't require its own backing store, and is
4043         in "paintIntoCompositingAncestor" mode, we would assert when trying to
4044         paint its m_foregroundLayer if it had one (because of a negative z-index child).
4045         
4046         The fix is to set the 'drawsContent' state on the m_foregroundLayer
4047         as well as m_graphicsLayer.
4048
4049         Test: compositing/backing/no-backing-foreground-layer.html
4050
4051         * rendering/RenderLayerBacking.cpp:
4052         (WebCore::RenderLayerBacking::updateDrawsContent):
4053
4054 2012-04-18  Yury Semikhatsky  <yurys@chromium.org>
4055
4056         Web Inspector: DataGrid should use explicit root node
4057         https://bugs.webkit.org/show_bug.cgi?id=84240
4058
4059         DataGrid now has an explicit root node. All children are added/removed
4060         to that node.
4061
4062         Reviewed by Pavel Feldman.
4063
4064         * inspector/front-end/ApplicationCacheItemsView.js:
4065         (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
4066         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
4067         * inspector/front-end/CSSSelectorProfileView.js:
4068         (WebInspector.CSSSelectorProfileView):
4069         (WebInspector.CSSSelectorProfileView.prototype.rebuildGridItems):
4070         (WebInspector.CSSSelectorProfileView.prototype.refreshData):
4071         * inspector/front-end/CookieItemsView.js:
4072         (WebInspector.SimpleCookiesTable):
4073         (WebInspector.SimpleCookiesTable.prototype.setCookies):
4074         * inspector/front-end/CookiesTable.js:
4075         (WebInspector.CookiesTable):
4076         (WebInspector.CookiesTable.prototype._rebuildTable):
4077         * inspector/front-end/DOMStorageItemsView.js:
4078         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
4079         * inspector/front-end/DataGrid.js:
4080         (WebInspector.DataGrid):
4081         (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid):
4082         (WebInspector.DataGrid.createSortableDataGrid):
4083         (WebInspector.DataGrid.prototype.setRootNode):
4084         (WebInspector.DataGrid.prototype.rootNode):
4085         (WebInspector.DataGrid.prototype.autoSizeColumns):
4086         (WebInspector.DataGrid.prototype._enumerateChildren):
4087         (WebInspector.DataGrid.prototype._keyDown):
4088         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
4089         (WebInspector.DataGridNode.prototype.get revealed):
4090         (WebInspector.DataGridNode.prototype.get depth):
4091         (WebInspector.DataGridNode.prototype.appendChild):
4092         (WebInspector.DataGridNode.prototype.insertChild):
4093         (WebInspector.DataGridNode.prototype.removeChild):
4094         (WebInspector.DataGridNode.prototype.removeChildren):
4095         (WebInspector.DataGridNode.prototype.collapse):
4096         (WebInspector.DataGridNode.prototype.expand):
4097         (WebInspector.DataGridNode.prototype.reveal):
4098         (WebInspector.DataGridNode.prototype.revealAndSelect):
4099         (WebInspector.DataGridNode.prototype.traverseNextNode):
4100         (WebInspector.DataGridNode.prototype.traversePreviousNode):
4101         * inspector/front-end/HeapSnapshotDataGrids.js:
4102