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