[V8] Pass Isolate to setDOMException() (Part2)
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-04-24  Kentaro Hara  <haraken@chromium.org>
2
3         [V8] Pass Isolate to setDOMException() (Part2)
4         https://bugs.webkit.org/show_bug.cgi?id=84658
5
6         Reviewed by Nate Chapin.
7
8         The objective is to pass Isolate around in V8 bindings.
9         This patch passes Isolate to setDOMException() in custom
10         binding code.
11
12         No tests. No change in behavior.
13
14         * bindings/v8/V8Collection.cpp:
15         (WebCore::toOptionsCollectionSetter):
16         * bindings/v8/V8Collection.h:
17         (WebCore):
18         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
19         (WebCore::constructWebGLArrayWithArrayBufferArgument):
20         (WebCore::setWebGLArrayHelper):
21         * bindings/v8/custom/V8DOMWindowCustom.cpp:
22         (WebCore::WindowSetTimeoutImpl):
23         * bindings/v8/custom/V8DataViewCustom.cpp:
24         (WebCore::V8DataView::getInt8Callback):
25         (WebCore::V8DataView::getUint8Callback):
26         (WebCore::V8DataView::setInt8Callback):
27         (WebCore::V8DataView::setUint8Callback):
28         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
29         (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
30         (WebCore::V8DirectoryEntrySync::getFileCallback):
31         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
32         (WebCore::V8HTMLCanvasElement::toDataURLCallback):
33         * bindings/v8/custom/V8HTMLElementCustom.cpp:
34         (WebCore::V8HTMLElement::itemValueAccessorSetter):
35         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
36         (WebCore::V8HTMLOptionsCollection::addCallback):
37         (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
38         (WebCore::V8HTMLOptionsCollection::indexedPropertySetter):
39         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
40         (WebCore::V8HTMLSelectElement::indexedPropertySetter):
41         * bindings/v8/custom/V8NodeCustom.cpp:
42         (WebCore::V8Node::insertBeforeCallback):
43         (WebCore::V8Node::replaceChildCallback):
44         (WebCore::V8Node::removeChildCallback):
45         (WebCore::V8Node::appendChildCallback):
46         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
47         (WebCore::V8SQLTransaction::executeSqlCallback):
48         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
49         (WebCore::V8WebKitMutationObserver::observeCallback):
50         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
51         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
52
53 2012-04-24  Kentaro Hara  <haraken@chromium.org>
54
55         [V8] Pass Isolate to setDOMException() (Part1)
56         https://bugs.webkit.org/show_bug.cgi?id=84656
57
58         Reviewed by Nate Chapin.
59
60         The objective is to pass Isolate around in V8 bindings.
61         This patch passes Isolate to setDOMException() in custom binding code.
62
63         No tests. No change in behavior.
64
65         * bindings/v8/custom/V8LocationCustom.cpp:
66         (WebCore::V8Location::protocolAccessorSetter):
67         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
68         (WebCore::V8SQLTransactionSync::executeSqlCallback):
69         * bindings/v8/custom/V8SVGLengthCustom.cpp:
70         (WebCore::V8SVGLength::valueAccessorGetter):
71         (WebCore::V8SVGLength::valueAccessorSetter):
72         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
73         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
74         (WebCore::getObjectParameter):
75         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
76         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
77         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
78         (WebCore::V8WebGLRenderingContext::getParameterCallback):
79         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
80         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
81         (WebCore::V8WebGLRenderingContext::getUniformCallback):
82         (WebCore::vertexAttribAndUniformHelperf):
83         (WebCore::uniformHelperi):
84         (WebCore::uniformMatrixHelper):
85
86 2012-04-24  Pavel Feldman  <pfeldman@chromium.org>
87
88         Web Inspector: encapsulate live location into the Script.
89         https://bugs.webkit.org/show_bug.cgi?id=84722
90
91         Reviewed by Yury Semikhatsky.
92
93         Live location is just a location on the script. The way it is implemented today involves too many indirections.
94
95         * inspector/front-end/CompilerScriptMapping.js:
96         * inspector/front-end/DebuggerModel.js:
97         (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
98         (WebInspector.DebuggerModel.prototype.scriptForId):
99         * inspector/front-end/DebuggerPresentationModel.js:
100         (WebInspector.DebuggerPresentationModel.prototype.createLiveLocation):
101         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
102         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
103         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
104         (WebInspector.PresentationCallFrame.prototype.uiLocation):
105         (WebInspector.DebuggerPresentationModel.CallFramePlacard):
106         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
107         * inspector/front-end/RawSourceCode.js:
108         * inspector/front-end/ResourceScriptMapping.js:
109         (WebInspector.ResourceScriptMapping.prototype.addScript):
110         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
111         (WebInspector.ResourceScriptMapping.prototype._bindScriptToRawSourceCode):
112         * inspector/front-end/Script.js:
113         (WebInspector.Script):
114         (WebInspector.Script.prototype.isInlineScript):
115         (WebInspector.Script.prototype.setSourceMapping):
116         (WebInspector.Script.prototype.createLocation):
117         (WebInspector.Script.Location):
118         (WebInspector.Script.Location.prototype.dispose):
119         (WebInspector.Script.Location.prototype._update):
120         * inspector/front-end/ScriptMapping.js:
121         (WebInspector.UILocation):
122         (WebInspector.SourceMapping):
123         (WebInspector.SourceMapping.prototype.rawLocationToUILocation):
124         (WebInspector.SourceMapping.prototype.uiLocationToRawLocation):
125         (WebInspector.MainScriptMapping):
126         (WebInspector.MainScriptMapping.prototype.addScript):
127         (WebInspector.MainScriptMapping.prototype.reset):
128         * inspector/front-end/SnippetsModel.js:
129         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
130
131 2012-04-24  Yury Semikhatsky  <yurys@chromium.org>
132
133         Web Inspector: a bunch of heap profiler cleanups
134         https://bugs.webkit.org/show_bug.cgi?id=84730
135
136         - HeapSnapshotProviderProxy passed explicitely as a parameter to HeapSnapshotGridNode
137         constructor
138         - Removed dead code
139         - Removed unused parameters
140         - Added more closure compiler annotations
141         - Extracted code finding cycled among node ancestors into a separate method
142
143         Reviewed by Pavel Feldman.
144
145         * inspector/front-end/HeapSnapshot.js:
146         (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
147         (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
148         (WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
149         (WebInspector.HeapSnapshotEdgesProvider):
150         * inspector/front-end/HeapSnapshotDataGrids.js:
151         * inspector/front-end/HeapSnapshotGridNodes.js:
152         (WebInspector.HeapSnapshotGridNode):
153         (WebInspector.HeapSnapshotGenericObjectNode):
154         (WebInspector.HeapSnapshotObjectNode):
155         (WebInspector.HeapSnapshotObjectNode.prototype._findAncestorWithSameSnapshotNodeId):
156         (WebInspector.HeapSnapshotInstanceNode):
157         (WebInspector.HeapSnapshotConstructorNode):
158         (WebInspector.HeapSnapshotDiffNode):
159         (WebInspector.HeapSnapshotDiffNode._createProvider):
160         (WebInspector.HeapSnapshotDominatorObjectNode):
161         * inspector/front-end/HeapSnapshotProxy.js:
162         (WebInspector.HeapSnapshotWorker):
163         (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForDominator):
164         * inspector/front-end/utilities.js:
165
166 2012-04-24  Adam Klein  <adamk@chromium.org>
167
168         Fix includes in StrongInlines.h and ScriptValue.h
169         https://bugs.webkit.org/show_bug.cgi?id=84659
170
171         Reviewed by Geoffrey Garen.
172
173         This change was prompted by an attempt to use ScriptValue.h from a
174         WebCore header file and running into trouble with the (as it turns out
175         unnecessary) include of JSDOMBinding.h.
176
177         * bindings/js/ScriptValue.cpp: Add include of JSDOMBinding.h, now that
178         it's not included by the header.
179         * bindings/js/ScriptValue.h: Remove unnecessary include of JSDOMBinding.h.
180
181 2012-04-24  Antti Koivisto  <antti@apple.com>
182
183         Move MediaList CSSOM wrapper ownership to parent rule or stylesheet
184         https://bugs.webkit.org/show_bug.cgi?id=84716
185
186         Reviewed by Anders Carlsson.
187
188         MediaList CSSOM wrapper should be owned by a rule or a stylesheet, not by the underlying 
189         MediaQuerySet.
190         
191         Remove the ref forwarding from MediaList in favor of regular refcounting. Use the usual
192         pattern where the parent wrapper refs the child wrapper and zeroes the backpointer
193         on destruction. 
194
195         * bindings/js/JSDOMBinding.h:
196         (WebCore::root):
197         * css/CSSImportRule.cpp:
198         (WebCore::CSSImportRule::~CSSImportRule):
199         (WebCore::CSSImportRule::media):
200         * css/CSSImportRule.h:
201         (StyleRuleImport):
202         (CSSImportRule):
203         * css/CSSMediaRule.cpp:
204         (WebCore::CSSMediaRule::~CSSMediaRule):
205         (WebCore::CSSMediaRule::media):
206         * css/CSSMediaRule.h:
207         (CSSMediaRule):
208         * css/CSSStyleSheet.cpp:
209         (WebCore::CSSStyleSheet::~CSSStyleSheet):
210         (WebCore::CSSStyleSheet::media):
211         * css/CSSStyleSheet.h:
212         (CSSStyleSheet):
213         * css/MediaList.cpp:
214         (WebCore::MediaQuerySet::mediaText):
215         (WebCore::MediaList::MediaList):
216         (WebCore):
217         (WebCore::MediaList::notifyChanged):
218         * css/MediaList.h:
219         (MediaQuerySet):
220         (WebCore::MediaList::create):
221         (WebCore::MediaList::parentRule):
222         (WebCore::MediaList::clearParentStyleSheet):
223         (WebCore::MediaList::clearParentRule):
224         (WebCore::MediaList::queries):
225         (MediaList):
226         * css/StyleRule.h:
227         (WebCore::StyleRuleMedia::mediaQueries):
228
229 2012-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
230
231         [GTK] Should pass canvas/philip/tests/toDataURL.jpeg.alpha.html
232         https://bugs.webkit.org/show_bug.cgi?id=83973
233
234         Reviewed by Philippe Normand.
235
236         Test: canvas/philip/tests/toDataURL.jpeg.alpha.html
237
238         * platform/graphics/gtk/ImageBufferGtk.cpp:
239         (WebCore::encodeImage): Convert ARGB32 cairo surface into RGB24
240         when encoding JPEG images since JPEG encoder doesn't support alpha
241         channel.
242
243 2012-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
244
245         [GTK] Add WebKitCookieManager::changed signal to WebKit2 GTK+ API
246         https://bugs.webkit.org/show_bug.cgi?id=82598
247
248         Reviewed by Philippe Normand.
249
250         * GNUmakefile.list.am: Add new files to compilation.
251         * platform/gtk/TemporaryLinkStubs.cpp: Remove stubs for
252         setCookieStoragePrivateBrowsingEnabled,
253         startObservingCookieChanges and stopObservingCookieChanges.
254         * platform/network/soup/CookieStorageSoup.cpp: Added.
255         (WebCore::setCookieStoragePrivateBrowsingEnabled):
256         (WebCore::soupCookiesChanged): Notify cookies changes using
257         platform strategies.
258         (WebCore::startObservingCookieChanges): Connect to changed signal
259         of the soup cookie jar.
260         (WebCore::stopObservingCookieChanges): Disconnect signals handlers
261         for changed signals of the soup cookie jar.
262
263 2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
264
265         Rename CSSStyleApplyProperty files to StyleBuilder.
266         https://bugs.webkit.org/show_bug.cgi?id=84721
267
268         Reviewed by Antti Koivisto.
269
270         r115043 renamed CSSStyleApplyProperty class to StyleBuilder. This
271         patch rename the files to match the new class name.
272
273         No new tests : renaming of files, no behavior changes expected.
274
275         * CMakeLists.txt:
276         * GNUmakefile.list.am:
277         * Target.pri:
278         * WebCore.gypi:
279         * WebCore.vcproj/WebCore.vcproj:
280         * WebCore.xcodeproj/project.pbxproj:
281         * css/CSSAllInOne.cpp:
282         * css/CSSStyleSelector.cpp:
283         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
284         * css/StyleBuilder.cpp: Renamed from Source/WebCore/css/CSSStyleApplyProperty.cpp.
285         (WebCore):
286         (ApplyPropertyExpanding):
287         (WebCore::ApplyPropertyExpanding::applyInheritValue):
288         (WebCore::ApplyPropertyExpanding::applyInitialValue):
289         (WebCore::ApplyPropertyExpanding::applyValue):
290         (WebCore::ApplyPropertyExpanding::createHandler):
291         (ApplyPropertyDefaultBase):
292         (WebCore::ApplyPropertyDefaultBase::setValue):
293         (WebCore::ApplyPropertyDefaultBase::value):
294         (WebCore::ApplyPropertyDefaultBase::initial):
295         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
296         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
297         (WebCore::ApplyPropertyDefaultBase::applyValue):
298         (WebCore::ApplyPropertyDefaultBase::createHandler):
299         (ApplyPropertyDefault):
300         (WebCore::ApplyPropertyDefault::setValue):
301         (WebCore::ApplyPropertyDefault::applyValue):
302         (WebCore::ApplyPropertyDefault::createHandler):
303         (ApplyPropertyNumber):
304         (WebCore::ApplyPropertyNumber::setValue):
305         (WebCore::ApplyPropertyNumber::applyValue):
306         (WebCore::ApplyPropertyNumber::createHandler):
307         (ApplyPropertyStyleImage):
308         (WebCore::ApplyPropertyStyleImage::applyValue):
309         (WebCore::ApplyPropertyStyleImage::createHandler):
310         (ApplyPropertyAuto):
311         (WebCore::ApplyPropertyAuto::setValue):
312         (WebCore::ApplyPropertyAuto::value):
313         (WebCore::ApplyPropertyAuto::hasAuto):
314         (WebCore::ApplyPropertyAuto::setAuto):
315         (WebCore::ApplyPropertyAuto::applyInheritValue):
316         (WebCore::ApplyPropertyAuto::applyInitialValue):
317         (WebCore::ApplyPropertyAuto::applyValue):
318         (WebCore::ApplyPropertyAuto::createHandler):
319         (ApplyPropertyClip):
320         (WebCore::ApplyPropertyClip::convertToLength):
321         (WebCore::ApplyPropertyClip::applyInheritValue):
322         (WebCore::ApplyPropertyClip::applyInitialValue):
323         (WebCore::ApplyPropertyClip::applyValue):
324         (WebCore::ApplyPropertyClip::createHandler):
325         (WebCore::defaultInitialColor):
326         (ApplyPropertyColor):
327         (WebCore::ApplyPropertyColor::applyInheritValue):
328         (WebCore::ApplyPropertyColor::applyInitialValue):
329         (WebCore::ApplyPropertyColor::applyValue):
330         (WebCore::ApplyPropertyColor::applyColorValue):
331         (WebCore::ApplyPropertyColor::createHandler):
332         (ApplyPropertyDirection):
333         (WebCore::ApplyPropertyDirection::applyValue):
334         (WebCore::ApplyPropertyDirection::createHandler):
335         (ApplyPropertyLength):
336         (WebCore::ApplyPropertyLength::setValue):
337         (WebCore::ApplyPropertyLength::applyValue):
338         (WebCore::ApplyPropertyLength::createHandler):
339         (ApplyPropertyString):
340         (WebCore::ApplyPropertyString::setValue):
341         (WebCore::ApplyPropertyString::applyValue):
342         (WebCore::ApplyPropertyString::createHandler):
343         (ApplyPropertyBorderRadius):
344         (WebCore::ApplyPropertyBorderRadius::setValue):
345         (WebCore::ApplyPropertyBorderRadius::applyValue):
346         (WebCore::ApplyPropertyBorderRadius::createHandler):
347         (FillLayerAccessorTypes):
348         (ApplyPropertyFillLayer):
349         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
350         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
351         (WebCore::ApplyPropertyFillLayer::applyValue):
352         (WebCore::ApplyPropertyFillLayer::createHandler):
353         (ApplyPropertyComputeLength):
354         (WebCore::ApplyPropertyComputeLength::setValue):
355         (WebCore::ApplyPropertyComputeLength::applyValue):
356         (WebCore::ApplyPropertyComputeLength::createHandler):
357         (ApplyPropertyFont):
358         (WebCore::ApplyPropertyFont::applyInheritValue):
359         (WebCore::ApplyPropertyFont::applyInitialValue):
360         (WebCore::ApplyPropertyFont::applyValue):
361         (WebCore::ApplyPropertyFont::createHandler):
362         (ApplyPropertyFontSize):
363         (WebCore::ApplyPropertyFontSize::largerFontSize):
364         (WebCore::ApplyPropertyFontSize::smallerFontSize):
365         (WebCore::ApplyPropertyFontSize::applyInheritValue):
366         (WebCore::ApplyPropertyFontSize::applyInitialValue):
367         (WebCore::ApplyPropertyFontSize::applyValue):
368         (WebCore::ApplyPropertyFontSize::createHandler):
369         (ApplyPropertyFontWeight):
370         (WebCore::ApplyPropertyFontWeight::applyValue):
371         (WebCore::ApplyPropertyFontWeight::createHandler):
372         (ApplyPropertyFontVariantLigatures):
373         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
374         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
375         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
376         (WebCore::ApplyPropertyFontVariantLigatures::createHandler):
377         (ApplyPropertyBorderImage):
378         (WebCore::ApplyPropertyBorderImage::applyValue):
379         (WebCore::ApplyPropertyBorderImage::createHandler):
380         (ApplyPropertyBorderImageModifier):
381         (WebCore::ApplyPropertyBorderImageModifier::getValue):
382         (WebCore::ApplyPropertyBorderImageModifier::setValue):
383         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
384         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
385         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
386         (WebCore::ApplyPropertyBorderImageModifier::createHandler):
387         (ApplyPropertyBorderImageSource):
388         (WebCore::ApplyPropertyBorderImageSource::applyValue):
389         (WebCore::ApplyPropertyBorderImageSource::createHandler):
390         (ApplyPropertyCounter):
391         (WebCore::ApplyPropertyCounter::emptyFunction):
392         (WebCore::ApplyPropertyCounter::applyInheritValue):
393         (WebCore::ApplyPropertyCounter::applyValue):
394         (WebCore::ApplyPropertyCounter::createHandler):
395         (ApplyPropertyCursor):
396         (WebCore::ApplyPropertyCursor::applyInheritValue):
397         (WebCore::ApplyPropertyCursor::applyInitialValue):
398         (WebCore::ApplyPropertyCursor::applyValue):
399         (WebCore::ApplyPropertyCursor::createHandler):
400         (ApplyPropertyTextAlign):
401         (WebCore::ApplyPropertyTextAlign::applyValue):
402         (WebCore::ApplyPropertyTextAlign::createHandler):
403         (ApplyPropertyTextDecoration):
404         (WebCore::ApplyPropertyTextDecoration::applyValue):
405         (WebCore::ApplyPropertyTextDecoration::createHandler):
406         (ApplyPropertyUnicodeBidi):
407         (WebCore::ApplyPropertyUnicodeBidi::applyValue):
408         (WebCore::ApplyPropertyUnicodeBidi::createHandler):
409         (ApplyPropertyLineHeight):
410         (WebCore::ApplyPropertyLineHeight::applyValue):
411         (WebCore::ApplyPropertyLineHeight::createHandler):
412         (ApplyPropertyPageSize):
413         (WebCore::ApplyPropertyPageSize::mmLength):
414         (WebCore::ApplyPropertyPageSize::inchLength):
415         (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
416         (WebCore::ApplyPropertyPageSize::applyInheritValue):
417         (WebCore::ApplyPropertyPageSize::applyInitialValue):
418         (WebCore::ApplyPropertyPageSize::applyValue):
419         (WebCore::ApplyPropertyPageSize::createHandler):
420         (ApplyPropertyTextEmphasisStyle):
421         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
422         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
423         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
424         (WebCore::ApplyPropertyTextEmphasisStyle::createHandler):
425         (ApplyPropertyAnimation):
426         (WebCore::ApplyPropertyAnimation::setValue):
427         (WebCore::ApplyPropertyAnimation::value):
428         (WebCore::ApplyPropertyAnimation::test):
429         (WebCore::ApplyPropertyAnimation::clear):
430         (WebCore::ApplyPropertyAnimation::initial):
431         (WebCore::ApplyPropertyAnimation::map):
432         (WebCore::ApplyPropertyAnimation::accessAnimations):
433         (WebCore::ApplyPropertyAnimation::animations):
434         (WebCore::ApplyPropertyAnimation::applyInheritValue):
435         (WebCore::ApplyPropertyAnimation::applyInitialValue):
436         (WebCore::ApplyPropertyAnimation::applyValue):
437         (WebCore::ApplyPropertyAnimation::createHandler):
438         (ApplyPropertyOutlineStyle):
439         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
440         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
441         (WebCore::ApplyPropertyOutlineStyle::applyValue):
442         (WebCore::ApplyPropertyOutlineStyle::createHandler):
443         (ApplyPropertyResize):
444         (WebCore::ApplyPropertyResize::applyValue):
445         (WebCore::ApplyPropertyResize::createHandler):
446         (ApplyPropertyVerticalAlign):
447         (WebCore::ApplyPropertyVerticalAlign::applyValue):
448         (WebCore::ApplyPropertyVerticalAlign::createHandler):
449         (ApplyPropertyAspectRatio):
450         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
451         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
452         (WebCore::ApplyPropertyAspectRatio::applyValue):
453         (WebCore::ApplyPropertyAspectRatio::createHandler):
454         (ApplyPropertyZoom):
455         (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
456         (WebCore::ApplyPropertyZoom::applyInheritValue):
457         (WebCore::ApplyPropertyZoom::applyInitialValue):
458         (WebCore::ApplyPropertyZoom::applyValue):
459         (WebCore::ApplyPropertyZoom::createHandler):
460         (ApplyPropertyDisplay):
461         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
462         (WebCore::ApplyPropertyDisplay::applyInheritValue):
463         (WebCore::ApplyPropertyDisplay::applyInitialValue):
464         (WebCore::ApplyPropertyDisplay::applyValue):
465         (WebCore::ApplyPropertyDisplay::createHandler):
466         (ApplyPropertyFlex):
467         (WebCore::ApplyPropertyFlex::applyInheritValue):
468         (WebCore::ApplyPropertyFlex::applyInitialValue):
469         (WebCore::ApplyPropertyFlex::applyValue):
470         (WebCore::ApplyPropertyFlex::createHandler):
471         (WebCore::ApplyPropertyFlex::getFlexValue):
472         (WebCore::StyleBuilder::sharedStyleBuilder):
473         (WebCore::StyleBuilder::StyleBuilder):
474         * css/StyleBuilder.h: Renamed from Source/WebCore/css/CSSStyleApplyProperty.h.
475         (WebCore):
476         (PropertyHandler):
477         (WebCore::PropertyHandler::PropertyHandler):
478         (WebCore::PropertyHandler::applyInheritValue):
479         (WebCore::PropertyHandler::applyInitialValue):
480         (WebCore::PropertyHandler::applyValue):
481         (WebCore::PropertyHandler::isValid):
482         (WebCore::PropertyHandler::inheritFunction):
483         (WebCore::PropertyHandler::initialFunction):
484         (WebCore::PropertyHandler::applyFunction):
485         (StyleBuilder):
486         (WebCore::StyleBuilder::propertyHandler):
487         (WebCore::StyleBuilder::index):
488         (WebCore::StyleBuilder::valid):
489         (WebCore::StyleBuilder::setPropertyHandler):
490
491 2012-04-24  Florin Malita  <fmalita@chromium.org>
492
493         WebCore::EventTarget::addEventListener crash
494         https://bugs.webkit.org/show_bug.cgi?id=84171
495
496         Reviewed by Nikolas Zimmermann.
497
498         Test: svg/custom/use-tref-crash.svg
499
500         Adding tref target event listeners while building the shadow tree is
501         problematic, because SVGUseElement::buildShadowAndInstanceTree() only
502         sets the element instance<->shadow element association at a later time.
503
504         Fortunately, buildShadowAndInstanceTree() also propagates the event
505         handlers (transferEventListenersToShadowTree) - so we can simply skip
506         them in SVGTRefElement::buildPendingResource() for shadow elements.
507
508         * svg/SVGTRefElement.cpp:
509         (WebCore::SVGTRefElement::buildPendingResource):
510
511 2012-04-24  Kent Tamura  <tkent@chromium.org>
512
513         Clickable area of a calendar picker indicator is too small.
514         https://bugs.webkit.org/show_bug.cgi?id=84677
515
516         Reviewed by Kentaro Hara.
517
518         Test: fast/forms/date/date-appearance.html is affected.
519
520         * css/html.css:
521         (input::-webkit-calendar-picker-indicator):
522         - Remove unnecessary disaplay:inline-block.
523         - Add paddings instead of the margin.
524         (input::-webkit-calendar-picker-indicator:hover):
525         Add hover style.
526
527 2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
528
529         Another unreviewed build fix for Mac.
530
531         * css/CSSStyleSelector.h:
532         (CSSStyleSelector):
533
534 2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
535
536         Unreviewed build fix attempt for Mac.
537
538         * rendering/style/RenderStyle.h:
539
540 2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
541
542         Rename CSSStyleApplyProperty class to StyleBuilder.
543         https://bugs.webkit.org/show_bug.cgi?id=84711
544
545         Reviewed by Antti Koivisto.
546
547         As per discussion on bug https://bugs.webkit.org/show_bug.cgi?id=42764
548         the name is a bit confusing. This first patch rename the class and a
549         following one will rename the files. We also drop the CSS prefix of the
550         class to keep CSS prefixed classes for CSSOM types.
551
552         No new tests : renaming, no behavior changes should appear.
553
554         * css/CSSStyleApplyProperty.cpp:
555         (WebCore::ApplyPropertyExpanding::applyInheritValue):
556         (WebCore::ApplyPropertyExpanding::applyInitialValue):
557         (WebCore::ApplyPropertyExpanding::applyValue):
558         (WebCore::StyleBuilder::sharedStyleBuilder):
559         (WebCore::StyleBuilder::StyleBuilder):
560         * css/CSSStyleApplyProperty.h:
561         (WebCore):
562         (StyleBuilder):
563         * css/CSSStyleSelector.cpp:
564         (WebCore::CSSStyleSelector::CSSStyleSelector):
565         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
566         * css/CSSStyleSelector.h:
567         (CSSStyleSelector):
568
569 2012-04-24  Kent Tamura  <tkent@chromium.org>
570
571         Merge LocalizedCalendar into LocalizedDate
572         https://bugs.webkit.org/show_bug.cgi?id=84685
573
574         Reviewed by Kentaro Hara.
575
576         The functionality of LocalizedCalendar is very related to
577         LocalizedDate. We should merge them.
578
579         No new tests. Just refactoring.
580
581         * WebCore.gypi: Remove LocalizedCalendar.h and LocalizedCalenderICU.cpp.
582         * html/shadow/CalendarPickerElement.cpp:
583         Include LocalizedDate.h instead of LocalizedCalendar.h.
584         * platform/text/LocalizedCalendar.h:
585         Removed. Merged into LocalizedDate.h.
586         * platform/text/LocalizedCalendarICU.cpp:
587         Removed. Merged into LocalizedDateICU.h.
588         * platform/text/LocalizedDate.h:
589         (WebCore): Move some functions from LocalizedCalendar.h.
590         * platform/text/LocalizedDateICU.cpp:
591         Move some functions from LocalizedCalendarICU.cpp.
592
593 2012-04-24  Pavel Feldman  <pfeldman@chromium.org>
594
595         Web Inspector: remove pure delegation code from DebuggerPresentationModel
596         https://bugs.webkit.org/show_bug.cgi?id=84704
597
598         Reviewed by Yury Semikhatsky.
599
600         This change removes the code that delegates calls to breakpoint manager and exposes the breakpoint
601         manager in debugger presentation model itself. It allows narrowing dpm dependencies.
602
603         * inspector/front-end/BreakpointsSidebarPane.js:
604         (WebInspector.JavaScriptBreakpointsSidebarPane):
605         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
606         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
607         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
608         * inspector/front-end/DebuggerModel.js:
609         (WebInspector.DebuggerModel.prototype.debuggerPausedDetails):
610         (WebInspector.DebuggerModel.prototype.createRawLocationByURL):
611         (WebInspector.DebuggerModel.prototype.isPaused):
612         * inspector/front-end/DebuggerPresentationModel.js:
613         (WebInspector.DebuggerPresentationModel.prototype.get breakpointManager):
614         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
615         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
616         * inspector/front-end/JavaScriptSource.js:
617         (WebInspector.JavaScriptSource):
618         (WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
619         (WebInspector.JavaScriptSource.prototype.findBreakpoint):
620         (WebInspector.JavaScriptSource.prototype.setBreakpoint):
621         (WebInspector.JavaScriptSource.prototype.setBreakpointEnabled):
622         (WebInspector.JavaScriptSource.prototype.removeBreakpoint):
623         (WebInspector.JavaScriptSource.prototype.updateBreakpoint):
624         (WebInspector.JavaScriptSource.prototype.continueToLine):
625         (WebInspector.JavaScriptSource.prototype.canSetContent):
626         (WebInspector.JavaScriptSource.prototype.setContent):
627         (WebInspector.JavaScriptSource.prototype.updateBreakpointsAfterLiveEdit):
628         * inspector/front-end/JavaScriptSourceFrame.js:
629         (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
630         (WebInspector.JavaScriptSourceFrame.prototype.editContent):
631         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
632         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
633         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
634         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
635         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
636         (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
637         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover.showObjectPopover):
638         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
639         (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
640         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
641         * inspector/front-end/ScopeChainSidebarPane.js:
642         (WebInspector.ScopeChainSidebarPane.prototype.update):
643         * inspector/front-end/ScriptsPanel.js:
644         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetUILocation):
645         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
646
647 2012-04-24  Yury Semikhatsky  <yurys@chromium.org>
648
649         Web Inspector: native nodes may have snapshot id less than base snapshot max JS object id
650         https://bugs.webkit.org/show_bug.cgi?id=84681
651
652         Make sure new nodes whose IDs less than base snapshot max JS object id will
653         get into snapshot delta.
654
655         Reviewed by Pavel Feldman.
656
657         Test: inspector/profiler/heap-snapshot-comparison-dom-groups-change.html
658
659         * inspector/front-end/HeapSnapshot.js:
660         (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
661         * inspector/front-end/HeapSnapshotDataGrids.js:
662         (WebInspector.HeapSnapshotSortableDataGrid): Drive-by fix, made recursion counter
663         a normal field on HeapSnapshotSortableDataGrid.
664         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
665         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
666
667 2012-04-24  Sheriff Bot  <webkit.review.bot@gmail.com>
668
669         Unreviewed, rolling out r115000.
670         http://trac.webkit.org/changeset/115000
671         https://bugs.webkit.org/show_bug.cgi?id=84703
672
673         Breaks webkit_unit_tests on Mac in Chromium:
674         http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.6/builds/15157
675         (Requested by mnaganov on #webkit).
676
677         * platform/graphics/skia/OpaqueRegionSkia.cpp:
678         (WebCore::paintIsOpaque):
679         (WebCore::OpaqueRegionSkia::popCanvasLayer):
680         (WebCore::OpaqueRegionSkia::didDraw):
681         (WebCore::OpaqueRegionSkia::didDrawUnbounded):
682         (WebCore::OpaqueRegionSkia::markRectAsOpaque):
683         (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
684         * platform/graphics/skia/OpaqueRegionSkia.h:
685         (OpaqueRegionSkia):
686         (WebCore::OpaqueRegionSkia::CanvasLayerState::CanvasLayerState):
687         (CanvasLayerState):
688         * platform/graphics/skia/PlatformContextSkia.cpp:
689         (WebCore::PlatformContextSkia::restoreLayer):
690
691 2012-04-23  Antti Koivisto  <antti@apple.com>
692
693         Consolidate external stylesheet quirks handling to StyleSheetInternal
694         https://bugs.webkit.org/show_bug.cgi?id=84632
695
696         Reviewed by Andreas Kling.
697
698         Move the repeated code from StyleImportRule and HTMLLinkElement to StyleSheetInternal::parseUserStyleSheet.
699         
700         Remove a BUILDING_ON_LEOPARD-only quirk.
701
702         * css/CSSImportRule.cpp:
703         (WebCore::StyleRuleImport::setCSSStyleSheet):
704         * css/CSSParser.cpp:
705         (WebCore):
706         (WebCore::CSSParserContext::CSSParserContext):
707         
708             Add new settings bits to the CSSParserContext. These are used for external stylesheet parsing quirks.
709
710         * css/CSSParserMode.h:
711         (CSSParserContext):
712         * css/CSSStyleSheet.cpp:
713         (WebCore::StyleSheetInternal::parseUserStyleSheet):
714         (WebCore::StyleSheetInternal::parseString):
715         (WebCore):
716         (WebCore::StyleSheetInternal::parseStringAtLine):
717         * css/CSSStyleSheet.h:
718         (WebCore):
719         (StyleSheetInternal):
720         * html/HTMLLinkElement.cpp:
721         (WebCore::HTMLLinkElement::setCSSStyleSheet):
722
723 2012-04-24  Yael Aharon  <yael.aharon@nokia.com>
724
725         [Qt] Move notification icon download out of WebCore
726         https://bugs.webkit.org/show_bug.cgi?id=80700
727
728         Reviewed by Simon Hausmann.
729
730         Remove the code that downloads the notification's icon out of WebCore.
731         Other ports let the client decide if to download the icon or not.
732         No new tests. This patch is only removing code.
733
734         * notifications/Notification.cpp:
735         (WebCore::Notification::~Notification):
736         (WebCore::Notification::show):
737         (WebCore::Notification::close):
738         (WebCore::Notification::contextDestroyed):
739         * notifications/Notification.h:
740         (Notification):
741
742 2012-04-24  Rakesh KN  <rakesh.kn@motorola.com>
743
744         RadioNodeList support in HTMLFormElement::elements
745         https://bugs.webkit.org/show_bug.cgi?id=81854
746
747         Implement RadioNodeList support spec'ed at
748         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#radionodelist
749
750         Reviewed by Ryosuke Niwa.
751
752         Test: fast/forms/form-collection-radio-node-list.html
753
754         * CMakeLists.txt:
755         Added entries for new files.
756         * DerivedSources.cpp: Ditto.
757         * DerivedSources.make: Ditto.
758         * DerivedSources.pri: Ditto.
759         * GNUmakefile.list.am: Ditto.
760         * Target.pri: Ditto.
761         * WebCore.gypi: Ditto.
762         * WebCore.vcproj/WebCore.vcproj: Ditto.
763         * WebCore.xcodeproj/project.pbxproj: Ditto.
764         * bindings/js/JSHTMLCollectionCustom.cpp:
765         (WebCore::getNamedItems):
766         Modified to create RadioNodeList object when FormControlCollection has more than
767         one element of same name/id.
768         * bindings/scripts/CodeGeneratorJS.pm:
769         (GenerateImplementation):
770         Added code to include Node.h and JSNode.h in JSRadioNodeElement.cpp.
771         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
772         (WebCore::getNamedItems):
773         Modified to create RadioNodeList object when FormControlCollection has more than
774         one element of same name/id.
775         * html/CollectionType.h:
776         Added new FormControls type.
777         * html/HTMLCollection.cpp:
778         (WebCore::HTMLCollection::shouldIncludeChildren):
779         (WebCore::HTMLCollection::isAcceptableElement):
780         Handle FormControls collection type.
781         * html/HTMLFormCollection.cpp:
782         (WebCore::HTMLFormCollection::HTMLFormCollection):
783         Contruct collection of FormControls type.
784         * html/RadioNodeList.cpp: Added.
785         (WebCore):
786         (WebCore::RadioNodeList::RadioNodeList):
787         (WebCore::RadioNodeList::~RadioNodeList):
788         (WebCore::toRadioButtonInputElement):
789         (WebCore::RadioNodeList::value):
790         (WebCore::RadioNodeList::setValue):
791         (WebCore::RadioNodeList::nodeMatches):
792         * html/RadioNodeList.h: Added.
793         (WebCore):
794         (RadioNodeList):
795         (WebCore::RadioNodeList::create):
796         RadioNodeList implementation.
797         * html/RadioNodeList.idl: Added.
798         Idl for generating RadioNodeList JS/V8 bindings.
799
800 2012-04-24  Benjamin Poulain  <bpoulain@apple.com>
801
802         Implement the field cache of ObjcClass in WebKit types
803         https://bugs.webkit.org/show_bug.cgi?id=84667
804
805         Reviewed by Geoffrey Garen.
806
807         Every time we get a field through the Objective-C bridge, we waste some time converting
808         the incoming string to an CFString.
809
810         This patch implement the field cache based on WTF types so that we can return directly
811         in case of a positive match.
812
813         When we do not have a match on the Identifier, we allocate the memory and find the valid field
814         as before.
815
816         * bridge/objc/objc_class.h:
817         (ObjcClass):
818         * bridge/objc/objc_class.mm:
819         (JSC::Bindings::deleteMethod):
820         (Bindings):
821         (JSC::Bindings::ObjcClass::ObjcClass):
822         (JSC::Bindings::ObjcClass::fieldNamed):
823
824 2012-04-23  Andy Estes  <aestes@apple.com>
825
826         Incremental rendering should be unsuppressed after the load event or a configurable timeout, whichever occurs first.
827         https://bugs.webkit.org/show_bug.cgi?id=84583
828
829         Reviewed by Anders Carlsson.
830
831         In high-latency situations, having incremental rendering suppression
832         enabled makes for a worse experience due to the excessively long time
833         it takes for the load event to fire. So that clients that opt in to
834         incremental rendering suppression can mitigate this, add a configurable
835         timeout in which rendering is re-enabled if the load event has yet to
836         fire.
837
838         * dom/Document.cpp:
839         (WebCore::Document::Document):
840         (WebCore::Document::setReadyState): When the document transitions to
841         the loading state, start a timer; when it transitions to the completed
842         state, allow visual updates.
843         (WebCore::Document::setVisualUpdatesAllowed): If visual updates are
844         allowed, force a repaint. Otherwise, set a flag that suppresses
845         rendering.
846         (WebCore::Document::visualUpdatesSuppressionTimerFired): When the timer
847         fires, allow visual updates.
848         (WebCore::Document::implicitClose): Remove code that is now called in
849         setVisualUpdatesAllowed().
850         * dom/Document.h:
851         (WebCore::Document::visualUpdatesAllowed):
852         * page/Settings.cpp:
853         (WebCore::Settings::Settings):
854         * page/Settings.h:
855         (WebCore::Settings::setIncrementalRenderingSuppressionTimeoutInSeconds):
856         (WebCore::Settings::incrementalRenderingSuppressionTimeoutInSeconds):
857
858 2012-04-23  Dana Jansens  <danakj@chromium.org>
859
860         [chromium] Image masks are considered opaque incorrectly
861         https://bugs.webkit.org/show_bug.cgi?id=84275
862
863         Reviewed by Adrienne Walker.
864
865         Match the behaviour of SkCanvas layers more closely while tracking
866         opaque paints. SkCanvas layers actually act as a separate device
867         (ie. pixels) and when the layer is popped off, the pixels are copied
868         down to the layer below.
869
870         While we can use the total clip to decide what pixels the the
871         drawing operation will affect in the final device, the blending
872         down through layers needs to consider each layer carefully.
873
874         In this case the image mask is drawn into a layer which is copied
875         down using the DestinationIn operation. Since the layer contains
876         non-opaque pixels, the DestinationIn copy can destroy opaque
877         areas in the next layer. We add OpaqueRegionSkia::FillByCopy to
878         distinguish the case where we are copying a block of pixels, and the
879         alpha values are essentially unknown.
880
881         Unit test: PlatformContextSkiaTest.trackImageMask
882                    PlatformContextSkiaTest.trackImageMaskWithOpaqueRect
883
884         * platform/graphics/skia/OpaqueRegionSkia.cpp:
885         (WebCore::paintIsOpaque):
886         (WebCore::OpaqueRegionSkia::applyOpaqueRegionFromLayer):
887         (WebCore::OpaqueRegionSkia::pushCanvasLayer):
888         (WebCore::OpaqueRegionSkia::popCanvasLayer):
889         (WebCore::OpaqueRegionSkia::didDrawRect):
890         (WebCore::OpaqueRegionSkia::didDrawPath):
891         (WebCore::OpaqueRegionSkia::didDrawPoints):
892         (WebCore::OpaqueRegionSkia::didDrawBounded):
893         (WebCore::OpaqueRegionSkia::didDraw):
894         (WebCore::OpaqueRegionSkia::didDrawUnbounded):
895         (WebCore::OpaqueRegionSkia::markRectAsOpaque):
896         (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
897         (WebCore::OpaqueRegionSkia::markAllAsNonOpaque):
898         * platform/graphics/skia/OpaqueRegionSkia.h:
899         (OpaqueRegionSkia):
900         (CanvasLayerState):
901         * platform/graphics/skia/PlatformContextSkia.cpp:
902         (WebCore::PlatformContextSkia::restoreLayer):
903
904 2012-04-23  Kent Tamura  <tkent@chromium.org>
905
906         Show the format indicator in a date field
907         https://bugs.webkit.org/show_bug.cgi?id=83872
908
909         Reviewed by Hajime Morita.
910
911         Enable the fixed placeholder feature for the date type, and show
912         the editable date format as the fixed placeholder.
913         The format string is created by the following steps.
914         1. Obtain a pattern string from ICU
915           http://icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details
916         2. Replace a sequence of 'y', 'Y', 'M', or 'd' in the pattern with
917           a natural language string such as "year", "month", or "day".
918
919         Test: fast/forms/date/date-fixed-placeholder.html
920
921         * html/DateInputType.cpp:
922         (WebCore::DateInputType::supportsPlaceholder): Added. Returns true.
923         (WebCore::DateInputType::usesFixedPlaceholder): Added. Returns true.
924         (WebCore::DateInputType::fixedPlaceholder):
925         Added. Calls localizedDateFormatText() provided by LocalizedDate.h.
926         * html/DateInputType.h:
927         (DateInputType): Add declarations of new override functions.
928         * platform/LocalizedStrings.h:
929         (WebCore): Add dateFormat{Year,Month,DayInMonth}Text()
930         * platform/text/ICULocale.cpp:
931         (WebCore::isICUYearSymbol): A function to improve redability.
932         (WebCore::isICUMonthSymbol): ditto.
933         (WebCore::isICUDayInMonthSymbol): ditto.
934         (WebCore::localizeFormat): Step 2 of the above description.
935         (WebCore::ICULocale::initializeLocalizedDateFormatText):
936         Step 1 of the above description.
937         (WebCore::ICULocale::localizedDateFormatText):
938         * platform/text/ICULocale.h:
939         (ICULocale): Add new functions and a data member.
940         * platform/text/LocalizedDate.h:
941         (WebCore): Add localizedDateFormatText().
942         * platform/text/LocalizedDateICU.cpp:
943         (WebCore::localizedDateFormatText):
944         Just call ICULocale::localizedDateFormatText().
945
946 2012-04-23  Kentaro Hara  <haraken@chromium.org>
947
948         [V8] Pass Isolate to v8Array()
949         https://bugs.webkit.org/show_bug.cgi?id=84295
950
951         Reviewed by Nate Chapin.
952
953         The final objective is to pass Isolate around in V8 bindings.
954         This patch passes the Isolate to v8Array().
955
956         (GenerateNormalAttrGetter):
957         (NativeToJSValue):
958         * bindings/scripts/test/V8/V8TestObj.cpp:
959         (WebCore::TestObjV8Internal::sequenceAttrAttrGetter):
960         (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
961         * bindings/v8/V8Binding.h:
962         (WebCore::v8Array):
963
964 2012-04-23  Kentaro Hara  <haraken@chromium.org>
965
966         [V8] Pass Isolate to GetNamedProperty()
967         https://bugs.webkit.org/show_bug.cgi?id=84277
968
969         Reviewed by Nate Chapin.
970
971         The objective is to pass Isolate around in V8 bindings.
972         This patch passes Isolate to GetNamedProperty().
973
974         (GenerateHeader):
975         * bindings/v8/V8DOMWindowShell.cpp:
976         (WebCore::getter):
977         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
978         (WebCore::V8HTMLDocument::GetNamedProperty):
979         (WebCore::V8HTMLDocument::allAccessorGetter):
980
981 2012-04-23  Michael Nordman  <michaeln@google.com>
982
983         [chromium] DomStorage event handling mods.
984         https://bugs.webkit.org/show_bug.cgi?id=84387
985
986         Add a few simple inline getters to allow the source Document of a storage
987         event to be identified given a pointer to the source StorageArea so those
988         Documents can be excluded by the event dispatching logic.
989
990         Reviewed by Dimitri Glazkov.
991
992         No new tests. No new functionality or change in behavior.
993
994         * page/DOMWindow.h:
995         (WebCore::DOMWindow::optionalSessionStorage): simple inline getter to avoid construction where possible
996         (WebCore::DOMWindow::optionalLocalStorage): ditto
997         * storage/Storage.h:
998         (WebCore::Storage::area): simple inline getter
999
1000 2012-04-23  Kenneth Russell  <kbr@google.com>
1001
1002         Change ImageData to reference Uint8ClampedArray rather than CanvasPixelArray
1003         https://bugs.webkit.org/show_bug.cgi?id=73011
1004
1005         Reviewed by Oliver Hunt.
1006
1007         Changed ImageData to contain Uint8ClampedArray instead of ByteArray
1008         per current HTML5 spec.
1009
1010         In order to avoid introducing large data copies, it was necessary to
1011         switch a few other places in WebKit to use Uint8ClampedArray at the
1012         same time, most notably the FilterEffect implementation, portions of
1013         ImageBuffer, and a couple of places in the image encoders.
1014
1015         Note that the change in method name from "get" to "item" occurred
1016         because JSC's autogenerated indexed getters reference a method
1017         called "item". If desired, a convenience method could be
1018         introduced to avoid the renamings in the FilterEffect classes.
1019
1020         With these changes, ByteArray and some custom code in JavaScriptCore
1021         actually become unreferenced, and can be deleted. This deletion will
1022         be done separately in Bug 83655, to keep the size of this patch
1023         manageable.
1024
1025         Test: fast/canvas/imagedata-contains-uint8clampedarray.html
1026
1027         * bindings/js/JSImageDataCustom.cpp:
1028         (WebCore::toJS):
1029         * bindings/js/SerializedScriptValue.cpp:
1030         (WebCore::CloneSerializer::dumpIfTerminal):
1031         (WebCore::CloneDeserializer::readTerminal):
1032         * bindings/v8/SerializedScriptValue.cpp:
1033         * bindings/v8/custom/V8ImageDataCustom.cpp:
1034         (WebCore::toV8):
1035         * bridge/qt/qt_pixmapruntime.cpp:
1036         (JSC::Bindings::QtPixmapToImageDataMethod::invoke):
1037         * html/ImageData.cpp:
1038         (WebCore::ImageData::create):
1039         (WebCore::ImageData::ImageData):
1040         * html/ImageData.h:
1041         (ImageData):
1042         (WebCore::ImageData::data):
1043         * html/ImageData.idl:
1044         * html/canvas/CanvasRenderingContext2D.cpp:
1045         (WebCore::createEmptyImageData):
1046         (WebCore::CanvasRenderingContext2D::getImageData):
1047         (WebCore::CanvasRenderingContext2D::putImageData):
1048         * platform/graphics/GraphicsContext3D.cpp:
1049         (WebCore::GraphicsContext3D::extractImageData):
1050         * platform/graphics/ImageBuffer.cpp:
1051         (WebCore::ImageBuffer::genericConvertToLuminanceMask):
1052         * platform/graphics/ImageBuffer.h:
1053         * platform/graphics/ShadowBlur.cpp:
1054         (WebCore::ShadowBlur::blurShadowBuffer):
1055         * platform/graphics/cairo/ImageBufferCairo.cpp:
1056         (WebCore::getImageData):
1057         (WebCore::ImageBuffer::getUnmultipliedImageData):
1058         (WebCore::ImageBuffer::getPremultipliedImageData):
1059         (WebCore::ImageBuffer::putByteArray):
1060         * platform/graphics/cg/ImageBufferCG.cpp:
1061         (WebCore::ImageBuffer::getUnmultipliedImageData):
1062         (WebCore::ImageBuffer::getPremultipliedImageData):
1063         (WebCore::ImageBuffer::putByteArray):
1064         (WebCore::ImageBuffer::toDataURL):
1065         (WebCore::ImageDataToDataURL):
1066         * platform/graphics/cg/ImageBufferDataCG.cpp:
1067         (WebCore::ImageBufferData::getData):
1068         (WebCore::ImageBufferData::putData):
1069         * platform/graphics/cg/ImageBufferDataCG.h:
1070         (ImageBufferData):
1071         * platform/graphics/filters/FEBlend.cpp:
1072         (WebCore::FEBlend::platformApplySoftware):
1073         * platform/graphics/filters/FEColorMatrix.cpp:
1074         (WebCore::effectType):
1075         (WebCore::FEColorMatrix::platformApplySoftware):
1076         * platform/graphics/filters/FEComponentTransfer.cpp:
1077         (WebCore::FEComponentTransfer::platformApplySoftware):
1078         * platform/graphics/filters/FEComposite.cpp:
1079         (WebCore::FEComposite::platformArithmeticSoftware):
1080         (WebCore::FEComposite::platformApplySoftware):
1081         * platform/graphics/filters/FEComposite.h:
1082         * platform/graphics/filters/FEConvolveMatrix.cpp:
1083         (WebCore::setDestinationPixels):
1084         (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
1085         (WebCore::FEConvolveMatrix::fastSetOuterPixels):
1086         (WebCore::FEConvolveMatrix::platformApplySoftware):
1087         * platform/graphics/filters/FEConvolveMatrix.h:
1088         (PaintingData):
1089         * platform/graphics/filters/FECustomFilter.cpp:
1090         (WebCore::FECustomFilter::platformApplySoftware):
1091         (WebCore::FECustomFilter::bindProgramAndBuffers):
1092         * platform/graphics/filters/FECustomFilter.h:
1093         (JSC):
1094         (FECustomFilter):
1095         * platform/graphics/filters/FEDisplacementMap.cpp:
1096         (WebCore::FEDisplacementMap::platformApplySoftware):
1097         * platform/graphics/filters/FEDropShadow.cpp:
1098         (WebCore::FEDropShadow::platformApplySoftware):
1099         * platform/graphics/filters/FEGaussianBlur.cpp:
1100         (WebCore::boxBlur):
1101         (WebCore::FEGaussianBlur::platformApplyGeneric):
1102         (WebCore::FEGaussianBlur::platformApply):
1103         (WebCore::FEGaussianBlur::platformApplySoftware):
1104         * platform/graphics/filters/FEGaussianBlur.h:
1105         (PlatformApplyParameters):
1106         (FEGaussianBlur):
1107         * platform/graphics/filters/FELighting.cpp:
1108         (WebCore::FELighting::LightingData::topLeft):
1109         (WebCore::FELighting::LightingData::topRow):
1110         (WebCore::FELighting::LightingData::topRight):
1111         (WebCore::FELighting::LightingData::leftColumn):
1112         (WebCore::FELighting::LightingData::interior):
1113         (WebCore::FELighting::LightingData::rightColumn):
1114         (WebCore::FELighting::LightingData::bottomLeft):
1115         (WebCore::FELighting::LightingData::bottomRow):
1116         (WebCore::FELighting::LightingData::bottomRight):
1117         (WebCore::FELighting::inlineSetPixel):
1118         (WebCore::FELighting::drawLighting):
1119         (WebCore::FELighting::platformApplySoftware):
1120         * platform/graphics/filters/FELighting.h:
1121         (LightingData):
1122         (FELighting):
1123         * platform/graphics/filters/FEMorphology.cpp:
1124         (WebCore::FEMorphology::platformApplyGeneric):
1125         (WebCore::FEMorphology::platformApplySoftware):
1126         * platform/graphics/filters/FEMorphology.h:
1127         (PaintingData):
1128         * platform/graphics/filters/FETurbulence.cpp:
1129         (WebCore::FETurbulence::fillRegion):
1130         (WebCore::FETurbulence::platformApplySoftware):
1131         * platform/graphics/filters/FETurbulence.h:
1132         (FillRegionParameters):
1133         (FETurbulence):
1134         * platform/graphics/filters/FilterEffect.cpp:
1135         (WebCore::FilterEffect::forceValidPreMultipliedPixels):
1136         (WebCore::FilterEffect::asUnmultipliedImage):
1137         (WebCore::FilterEffect::asPremultipliedImage):
1138         (WebCore::FilterEffect::copyImageBytes):
1139         (WebCore::FilterEffect::copyUnmultipliedImage):
1140         (WebCore::FilterEffect::copyPremultipliedImage):
1141         (WebCore::FilterEffect::createUnmultipliedImageResult):
1142         (WebCore::FilterEffect::createPremultipliedImageResult):
1143         * platform/graphics/filters/FilterEffect.h:
1144         (FilterEffect):
1145         * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
1146         (WebCore::FEGaussianBlur::platformApplyNeon):
1147         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1148         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
1149         * platform/graphics/qt/ImageBufferQt.cpp:
1150         (WebCore::getImageData):
1151         (WebCore::ImageBuffer::getUnmultipliedImageData):
1152         (WebCore::ImageBuffer::getPremultipliedImageData):
1153         (WebCore::ImageBuffer::putByteArray):
1154         * platform/graphics/skia/ImageBufferSkia.cpp:
1155         (WebCore::getImageData):
1156         (WebCore::ImageBuffer::getUnmultipliedImageData):
1157         (WebCore::ImageBuffer::getPremultipliedImageData):
1158         (WebCore::ImageBuffer::putByteArray):
1159         * platform/graphics/texmap/TextureMapperGL.cpp:
1160         * platform/graphics/wince/ImageBufferWinCE.cpp:
1161         (WebCore::getImageData):
1162         (WebCore::ImageBuffer::getUnmultipliedImageData):
1163         (WebCore::ImageBuffer::getPremultipliedImageData):
1164         (WebCore::ImageBuffer::putByteArray):
1165         * platform/graphics/wx/ImageBufferWx.cpp:
1166         (WebCore::ImageBuffer::getUnmultipliedImageData):
1167         (WebCore::ImageBuffer::getPremultipliedImageData):
1168         (WebCore::ImageBuffer::putByteArray):
1169         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
1170         (WebCore::JPEGImageEncoder::encode):
1171         * platform/image-encoders/skia/PNGImageEncoder.cpp:
1172         (WebCore::PNGImageEncoder::encode):
1173         * platform/image-encoders/skia/WEBPImageEncoder.cpp:
1174         (WebCore::WEBPImageEncoder::encode):
1175
1176 2012-04-23  Ryan Sleevi  <rsleevi@chromium.org>
1177
1178         [chromium] Remove deleted files from WebCore.gypi and fix typo
1179         https://bugs.webkit.org/show_bug.cgi?id=84651
1180
1181         Reviewed by Ryosuke Niwa.
1182
1183         No new tests. No behavior change.
1184
1185         * WebCore.gypi:
1186         Remove references to PlatformMouseEventQt.cpp and WheelEventQt.cpp. Add a missing comma.
1187
1188 2012-04-23  Erik Arvidsson  <arv@chromium.org>
1189
1190         [V8] Fix issue with trying to access a constructor in a frame that has been removed
1191         https://bugs.webkit.org/show_bug.cgi?id=84640
1192
1193         Reviewed by Kentaro Hara.
1194
1195         This regressed in r113250. Now we do what we did before and return undefined if the frame
1196         does not have a context.
1197
1198         Test: fast/dom/constructor-in-removed-frame.html
1199
1200         * bindings/v8/V8DOMWrapper.cpp:
1201         (WebCore::V8DOMWrapper::constructorForType):
1202
1203 2012-04-23  Chris Rogers  <crogers@google.com>
1204
1205         Oscillator::setWaveTable() should not reset oscillator phase
1206         https://bugs.webkit.org/show_bug.cgi?id=84647
1207         
1208         Reviewed by Kenneth Russell.
1209
1210         * Modules/webaudio/Oscillator.cpp:
1211         (WebCore::Oscillator::setWaveTable):
1212
1213 2012-04-23  Kentaro Hara  <haraken@chromium.org>
1214
1215         [V8][Refactoring] Remove V8Proxy::throwSyntaxError()
1216         https://bugs.webkit.org/show_bug.cgi?id=84627
1217
1218         Reviewed by Nate Chapin.
1219
1220         This patch removes V8Proxy::throwSyntaxError()
1221         since it is no longer used.
1222
1223         No tests. No change in behavior.
1224
1225         * bindings/v8/V8Proxy.cpp:
1226         * bindings/v8/V8Proxy.h:
1227         (V8Proxy):
1228
1229 2012-04-18  James Robinson  <jamesr@chromium.org>
1230
1231         [chromium] Use TextureLayerChromium for WebGL content instead of a dedicated layer type
1232         https://bugs.webkit.org/show_bug.cgi?id=84311
1233
1234         Reviewed by Adrienne Walker.
1235
1236         WebGL content's interface with the compositor can be expressed in terms of two basic operations:
1237         1.) Do some stuff
1238         2.) Provide a texture ID for the compositor to use
1239
1240         This implements (1) in DrawingBufferChromium and uses the already-existing TextureLayerChromium to handle (2).
1241         This cuts down the compositor interface significantly and allows for more code reuse in exchange for more code
1242         in TextureLayerChromium to handle the features WebGL needs.
1243
1244         * WebCore.gypi:
1245         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1246         (WebCore::DrawingBuffer::~DrawingBuffer):
1247         (DrawingBufferPrivate):
1248         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
1249         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
1250         (WebCore::DrawingBufferPrivate::layer):
1251         (WebCore):
1252         (WebCore::DrawingBuffer::platformLayer):
1253         * platform/graphics/chromium/LayerRendererChromium.cpp:
1254         * platform/graphics/chromium/TextureLayerChromium.h:
1255         (TextureLayerChromiumClient):
1256         (WebCore::TextureLayerChromiumClient::~TextureLayerChromiumClient):
1257         (WebCore):
1258         (TextureLayerChromium):
1259         (WebCore::TextureLayerChromium::clearClient):
1260         * platform/graphics/chromium/WebGLLayerChromium.cpp: Removed.
1261         * platform/graphics/chromium/WebGLLayerChromium.h: Removed.
1262         * platform/graphics/gpu/DrawingBuffer.h:
1263         (WebCore):
1264         (WebCore::DrawingBuffer::graphicsContext3D):
1265         (DrawingBuffer):
1266
1267 2012-04-23  Alec Flett  <alecflett@chromium.org>
1268
1269         IndexedDB: remove IDB(Index|ObjectStore)BackendImpl::get/getKey for IDBKey
1270         https://bugs.webkit.org/show_bug.cgi?id=84285
1271
1272         Reviewed by Dimitri Glazkov.
1273
1274         No new tests required, this code is no longer called.
1275
1276         This is old code supporting IDBKey-based lookup, supplanted by
1277         IDBKeyRange. Now that chromium IPC/proxy code has landed,
1278         these functions can be removed.
1279
1280         * Modules/indexeddb/IDBIndexBackendInterface.h:
1281         (IDBIndexBackendInterface):
1282         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
1283         (IDBObjectStoreBackendInterface):
1284
1285 2012-04-22  Martin Robinson  <mrobinson@igalia.com>
1286
1287         REGRESSION(113604): [Soup] Some pages that use synchronous XMLHttpRequests freeze the browser
1288         https://bugs.webkit.org/show_bug.cgi?id=84560
1289
1290         Reviewed by Xan Lopez.
1291
1292         When kicking off a synchronous XMLHttpRequest, add one to the connection
1293         limit. This ensures that when a page starts a synchronous request, while
1294         already at the connection limit the request will not deadlock.
1295
1296         * platform/network/soup/ResourceHandleSoup.cpp:
1297         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Accept a new SoupSession
1298         argument so that we can get the correct SoupSession for the networking context. Bump
1299         the connection limit.
1300         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Decrement the connection limit.
1301         (WebCore::WebCoreSynchronousLoader::adjustMaxConnections): Added this helper.
1302         (WebCoreSynchronousLoader): Added a new SoupSession member.
1303         (WebCore::sessionFromContext): Added this helper.
1304         (WebCore::ResourceHandleInternal::soupSession): Use the new sessionFromContext helper.
1305         (WebCore::ResourceHandle::loadResourceSynchronously): Pass the SoupSession from the NetworkingContext
1306         to the synchronous loader.
1307
1308 2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1309
1310         Unreviewed, rolling out r114965.
1311         http://trac.webkit.org/changeset/114965
1312         https://bugs.webkit.org/show_bug.cgi?id=84665
1313
1314         Four new resource load delegate test failures (Requested by
1315         jernoble on #webkit).
1316
1317         * loader/SubresourceLoader.cpp:
1318         (WebCore::SubresourceLoader::didFinishLoading):
1319         (WebCore::SubresourceLoader::didFail):
1320         (WebCore::SubresourceLoader::willCancel):
1321         (WebCore::SubresourceLoader::releaseResources):
1322
1323 2012-04-23  Beth Dakin  <bdakin@apple.com>
1324
1325         https://bugs.webkit.org/show_bug.cgi?id=84649
1326         RenderMathMLOperator currently ignores font families, fails 
1327         to use Stix
1328
1329         Reviewed by Dan Bernstein.
1330
1331         This patch makes RenderMathMLOperator honor the font-family 
1332         list. This means that by default, Stix glyphs will now be 
1333         used for operators just like for other MathML content. 
1334         Unfortunately, just doing that resulted in a bug because of 
1335         the fragile hardcoded glyph sizes. The Stix vertical bar 
1336         glyph is much smaller than the code assumed any glyphs would 
1337         be. That code should be re-written, but in the meantime, I 
1338         put a fix in place to try to make it work for small glyphs.
1339
1340         These new functions should be used instead of accessing
1341         gGlyphHeight or gGlyphLineHeight directly. If the glyph is
1342         smaller than the expected hardcoded value, then the actual
1343         glyph height is used, and a new line height based on the
1344         glyph height is used.
1345         (WebCore::RenderMathMLOperator::glyphHeightForCharacter):
1346         (WebCore::RenderMathMLOperator::lineHeightForCharacter):
1347
1348         Use the style's FontDescription to honor the font family
1349         list and the style's FontSelector to honor @font-face.
1350         Also use glyphHeightForCharacter() instead of gGlyphHeight. 
1351         And now that createGlyph() takes a lineHeight, use 
1352         lineHeightForCharacter() to determine the right value. 
1353         (WebCore::RenderMathMLOperator::updateFromElement):
1354
1355         size was an ambiguous variable name, so I renamed it to the 
1356         more accurate maxHeightForRenderer. This function also now
1357         takes a lineHeight instead of using gGlyphLineHeight. And
1358         again, use the style's FontDescription and FontSelector.
1359         (WebCore::RenderMathMLOperator::createStackableStyle):
1360
1361         Re-name size to maxHeightForRenderer, and take lineHeight as 
1362         a parameter.
1363         (WebCore::RenderMathMLOperator::createGlyph):
1364         * rendering/mathml/RenderMathMLOperator.h:
1365         (RenderMathMLOperator):
1366
1367 2012-04-23  Eriq Augustine  <eaugusti@chromium.org>
1368
1369         Return value from executed script in Chromium.
1370         https://bugs.webkit.org/show_bug.cgi?id=79851
1371
1372         Reviewed by Adam Barth.
1373
1374         Providing a varaiant of evaluateScriptInIsolatedWorld that
1375         returns the value of the evaluated script.
1376
1377         Test: platform/chromium/http/tests/misc/execute-and-return-value.html
1378
1379         * bindings/v8/ScriptController.cpp:
1380         (WebCore::ScriptController::evaluateInIsolatedWorld):
1381         * bindings/v8/ScriptController.h:
1382         (ScriptController):
1383         * bindings/v8/V8Proxy.cpp:
1384         (WebCore::V8Proxy::evaluateInIsolatedWorld):
1385         * bindings/v8/V8Proxy.h:
1386         (V8Proxy):
1387
1388 2012-04-23  Kent Tamura  <tkent@chromium.org>
1389
1390         RenderDetailsMarker should draw the triangle inside the content box
1391         https://bugs.webkit.org/show_bug.cgi?id=84557
1392
1393         Reviewed by Hajime Morita.
1394
1395         RenderDetailsMarker didn't support cases in which a marker has
1396         borders and/or padings, or non-square size.
1397
1398         Test: fast/html/details-marker-style.html
1399
1400         * rendering/RenderDetailsMarker.cpp:
1401         (WebCore::RenderDetailsMarker::getPath):
1402         Scale by contentWidth() and contentHeight().
1403         (WebCore::RenderDetailsMarker::paint):
1404         Move the trianle origin by the ammount of left/top borders and paddings.
1405
1406 2012-04-23  Kentaro Hara  <haraken@chromium.org>
1407
1408         [V8] Pass Isolate to toV8() (Part6)
1409         https://bugs.webkit.org/show_bug.cgi?id=84273
1410
1411         Reviewed by Nate Chapin.
1412
1413         The objective is to pass Isolate to all toV8()s.
1414         Since there are a lot of toV8()s, I'll make the change
1415         step by step. This patch passes Isolate to toV8() in
1416         several custom bindings.
1417
1418         No tests. No change in behavior.
1419
1420         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1421         (WebCore::getNamedItems):
1422         (WebCore::getItem):
1423         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
1424         (WebCore::V8HTMLAllCollection::itemCallback):
1425         (WebCore::V8HTMLAllCollection::namedItemCallback):
1426         (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
1427         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1428         (WebCore::getNamedItems):
1429         (WebCore::V8HTMLCollection::namedPropertyGetter):
1430         (WebCore::V8HTMLCollection::namedItemCallback):
1431         (WebCore::toV8):
1432         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
1433         (WebCore::toV8):
1434         * bindings/v8/custom/V8StyleSheetCustom.cpp:
1435         (WebCore::toV8):
1436         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
1437         (WebCore::V8StyleSheetList::namedPropertyGetter):
1438         * bindings/v8/custom/V8TrackEventCustom.cpp:
1439         (WebCore::V8TrackEvent::trackAccessorGetter):
1440         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1441         (WebCore::toV8Object):
1442         (WebCore::getObjectParameter):
1443         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1444         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
1445         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
1446         (WebCore::V8WebGLRenderingContext::getParameterCallback):
1447         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
1448         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
1449         (WebCore::V8WebGLRenderingContext::getUniformCallback):
1450         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1451         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
1452         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
1453         (WebCore::V8XSLTProcessor::transformToFragmentCallback):
1454         (WebCore::V8XSLTProcessor::transformToDocumentCallback):
1455
1456 2012-04-23  Kent Tamura  <tkent@chromium.org>
1457
1458         Move the content of LocalizedCalendarICU.cpp and LocalizedDateICU.cpp to ICULocale.cpp.
1459         https://bugs.webkit.org/show_bug.cgi?id=84568
1460
1461         Reviewed by Hajime Morita.
1462
1463         Move it to ICULocal.cpp because we want to share UDateFormat
1464         object in LocalizedDate functions and LocalizedCalendar functions,
1465         and it becomes easier to cache the UDateFormat object, and making
1466         unit tests for these functions easier.
1467
1468         No new tests because of no bahevior changes.
1469
1470         * platform/text/ICULocale.cpp:
1471         (WebCore::ICULocale::ICULocale): Initialize new members.
1472         (WebCore::ICULocale::~ICULocale): Delete m_shortDateFormat.
1473         (WebCore::ICULocale::initializeShortDateFormat):
1474         Moved from creteShortDateFormatter of LocalizedDateICU.cpp.
1475         (WebCore::ICULocale::parseLocalizedDate):
1476         Moved from LocalizedDate.cpp, use m_shortDateFormat.
1477         (WebCore::ICULocale::formatLocalizedDate): ditto.
1478         (WebCore::ICULocale::createLabelVector):
1479         Moved from LocalizedCalendarICU.cpp, use m_shortDateFormat.
1480         (WebCore::createFallbackMonthLabels): Moved from LocalizedCalendarICU.cpp.
1481         (WebCore::createFallbackWeekDayShortLabels): ditto.
1482         (WebCore::ICULocale::initializeCalendar):
1483         lazy initialization of m_monthLabels, m_weekDayShortLabels, and m_firstDayOfWeek.
1484         (WebCore::ICULocale::monthLabels):
1485         (WebCore::ICULocale::weekDayShortLabels):
1486         (WebCore::ICULocale::firstDayOfWeek):
1487         * platform/text/ICULocale.h:
1488         (ICULocale): Add declarations.
1489         * platform/text/LocalizedCalendarICU.cpp:
1490         (WebCore::monthLabels): Use ICULocale::currentLocale().
1491         (WebCore::weekDayShortLabels): ditto.
1492         (WebCore::firstDayOfWeek): ditto.
1493         * platform/text/LocalizedDateICU.cpp:
1494         (WebCore::parseLocalizedDate): ditto.
1495         (WebCore::formatLocalizedDate): ditto.
1496
1497 2012-04-23  Raymond Toy  <rtoy@google.com>
1498
1499         Move AudioDestinationChromium FIFO class to its own class.
1500         https://bugs.webkit.org/show_bug.cgi?id=84058
1501
1502         Reviewed by Chris Rogers.
1503
1504         Current tests cover the changes.
1505
1506         * WebCore.gypi: Update with new files.
1507         * platform/audio/AudioPullFIFO.cpp: Copied from Source/WebKit/chromium/src/AudioDestinationChromium.cpp.
1508         (WebCore): Renamed old class the AudioPullFIFO.
1509         (WebCore::AudioPullFIFO::AudioPullFIFO):
1510         (WebCore::AudioPullFIFO::consume):
1511         (WebCore::AudioPullFIFO::findWrapLengths):
1512         (WebCore::AudioPullFIFO::fillBuffer):
1513         * platform/audio/AudioPullFIFO.h: Added.
1514         (WebCore):
1515         (AudioPullFIFO):
1516         (WebCore::AudioPullFIFO::updateIndex):
1517
1518 2012-04-23  Nate Chapin  <japhet@chromium.org>
1519
1520         REGRESSION (r100311): YummySoup app crashes when trying to print
1521         https://bugs.webkit.org/show_bug.cgi?id=83918
1522
1523         Reviewed by Alexey Proskuryakov.
1524
1525         Test: http/tests/xmlhttprequest/cancel-during-failure-crash.html
1526
1527         * loader/SubresourceLoader.cpp:
1528         (WebCore::SubresourceLoader::didFinishLoading):
1529         (WebCore::SubresourceLoader::didFail):
1530         (WebCore::SubresourceLoader::willCancel): Now that we might enter the function if we're already Finishing,
1531             some cleanup needs to be done in the Initialized state only.
1532         (WebCore::SubresourceLoader::releaseResources): Move requesting counting decrement and laodDone() to
1533             the finishing functions.
1534
1535 2012-04-23  Shawn Singh  <shawnsingh@chromium.org>
1536
1537         [chromium] Visualize accelerated compositor rects.
1538         https://bugs.webkit.org/show_bug.cgi?id=79400
1539
1540         Reviewed by Adrienne Walker.
1541
1542         No tests, all the code added is only debugging code.
1543
1544         This patch adds support for visualizing three different types of
1545         rects on the chromium heads-up display:
1546         1. updateRects that indicate what was painted/uploaded to a resource
1547         2. propertyChangedRects that indicate layers that has property changes
1548         3. surfaceDamageRects that are the accumulation of updateRects and
1549            propertyChangedRects, indicating what pixels on the screen have
1550            actually changed.  (Surface damage also accounts for newly exposed
1551            areas but that is not explicitly visualized.)
1552
1553         In addition to adding support for visualizing this, the
1554         CCHeadsUpDisplay was significantly refactored, separating the FPS
1555         Counter functionality into a different class, so that the heads-up
1556         display is all about visualizing annotations, and those
1557         annotations (frame rate, debug rects) are logged separately.
1558
1559         * WebCore.gypi:
1560         * platform/graphics/chromium/cc/CCDebugRectHistory.cpp: Added.
1561         (WebCore):
1562         (WebCore::CCDebugRectHistory::CCDebugRectHistory):
1563         (WebCore::CCDebugRectHistory::enabled):
1564         (WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
1565         (WebCore::CCDebugRectHistory::savePaintRects):
1566         (WebCore::CCDebugRectHistory::savePropertyChangedRects):
1567         (WebCore::CCDebugRectHistory::saveSurfaceDamageRects):
1568         * platform/graphics/chromium/cc/CCDebugRectHistory.h: Added.
1569         (WebCore):
1570         (WebCore::CCDebugRect::CCDebugRect):
1571         (CCDebugRect):
1572         (CCDebugRectHistory):
1573         (WebCore::CCDebugRectHistory::create):
1574         (WebCore::CCDebugRectHistory::debugRects):
1575         * platform/graphics/chromium/cc/CCFrameRateCounter.cpp: Added.
1576         (WebCore):
1577         (WebCore::safeMod):
1578         (WebCore::CCFrameRateCounter::frameIndex):
1579         (WebCore::CCFrameRateCounter::CCFrameRateCounter):
1580         (WebCore::CCFrameRateCounter::markBeginningOfFrame):
1581         (WebCore::CCFrameRateCounter::markEndOfFrame):
1582         (WebCore::CCFrameRateCounter::isBadFrameInterval):
1583         (WebCore::CCFrameRateCounter::isBadFrame):
1584         (WebCore::CCFrameRateCounter::getAverageFPSAndStandardDeviation):
1585         (WebCore::CCFrameRateCounter::timeStampOfRecentFrame):
1586         * platform/graphics/chromium/cc/CCFrameRateCounter.h: Added.
1587         (WebCore):
1588         (CCFrameRateCounter):
1589         (WebCore::CCFrameRateCounter::create):
1590         (WebCore::CCFrameRateCounter::currentFrameNumber):
1591         (WebCore::CCFrameRateCounter::timeStampHistorySize):
1592         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1593         (WebCore):
1594         (WebCore::CCHeadsUpDisplay::enabled):
1595         (WebCore::CCHeadsUpDisplay::showDebugRects):
1596         (WebCore::CCHeadsUpDisplay::draw):
1597         (WebCore::CCHeadsUpDisplay::drawHudContents):
1598         (WebCore::CCHeadsUpDisplay::drawFPSCounter):
1599         (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
1600         (WebCore::CCHeadsUpDisplay::drawDebugRects):
1601         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
1602         (WebCore):
1603         (CCHeadsUpDisplay):
1604         (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
1605         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1606         (WebCore::CCSettings::CCSettings):
1607         (CCSettings):
1608         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1609         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1610         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1611         (WebCore::CCLayerTreeHostImpl::drawLayers):
1612         (WebCore::CCLayerTreeHostImpl::swapBuffers):
1613         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1614         (WebCore):
1615         (WebCore::CCLayerTreeHostImpl::fpsCounter):
1616         (WebCore::CCLayerTreeHostImpl::debugRectHistory):
1617         (CCLayerTreeHostImpl):
1618
1619 2012-04-23  Julien Chaffraix  <jchaffraix@webkit.org>
1620
1621         Cut dependency on RenderLayer::scrollRectToVisible outside rendering
1622         https://bugs.webkit.org/show_bug.cgi?id=84607
1623
1624         Reviewed by Simon Fraser.
1625
1626         Layering fix only, there should be no change behavior.
1627
1628         Because we don't have an accessor on RenderObject, a lot of the code needs
1629         to know about RenderLayer. This is not necessary and exposes RenderLayer to
1630         objects that shouldn't know about it.
1631
1632         This patch adds a RenderObject::scrollRectToVisible with the ad-hoc explanation
1633         as to why it isn't on RenderBox (scrolling is a RenderBox concept).
1634
1635         * WebCore.exp.in:
1636         * WebCore.order:
1637         Updated to expose the new method.
1638
1639         * dom/Element.cpp:
1640         (WebCore::Element::scrollIntoView):
1641         (WebCore::Element::scrollIntoViewIfNeeded):
1642         (WebCore::Element::updateFocusAppearance):
1643         * editing/Editor.cpp:
1644         (WebCore::Editor::findStringAndScrollToVisible):
1645         * editing/FrameSelection.cpp:
1646         (WebCore::FrameSelection::revealSelection):
1647         * page/FrameView.cpp:
1648         (WebCore::FrameView::scrollToAnchor):
1649         Updated those call sites to use the new function.
1650
1651         * rendering/RenderLayer.h:
1652         Removed ScrollBehavior.h #include and default argument values
1653         as we are always called through RenderObject now.
1654
1655         * rendering/RenderObject.cpp:
1656         (WebCore::RenderObject::scrollRectToVisible):
1657         * rendering/RenderObject.h:
1658         Added a new function that just forwards to the enclosing layer
1659         if any. We return whether we actually tried to scroll to match
1660         some call sites expectations.
1661
1662 2012-04-23  Zhenyao Mo  <zmo@google.com>
1663
1664         framebuffer binding should not be changed after canvas resize or compositing
1665         https://bugs.webkit.org/show_bug.cgi?id=84609
1666
1667         Reviewed by Kenneth Russell.
1668
1669         Test: fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html
1670
1671         * html/canvas/WebGLRenderingContext.cpp: set framebuffer binding to DrawingBuffer.
1672         (WebCore):
1673         (WebCore::WebGLRenderingContext::bindFramebuffer):
1674         (WebCore::WebGLRenderingContext::deleteFramebuffer):
1675         (WebCore::WebGLRenderingContext::loseContextImpl):
1676         * platform/graphics/cairo/DrawingBufferCairo.cpp: initialize m_framebufferBinding.
1677         (WebCore::DrawingBuffer::DrawingBuffer):
1678         * platform/graphics/chromium/DrawingBufferChromium.cpp: Ditto.
1679         (WebCore::DrawingBuffer::DrawingBuffer):
1680         * platform/graphics/chromium/WebGLLayerChromium.cpp: Recover framebuffer binding after update().
1681         (WebCore::WebGLLayerChromium::update):
1682         * platform/graphics/gpu/DrawingBuffer.cpp: Add a function to restore framebuffer binding.
1683         (WebCore::DrawingBuffer::restoreFramebufferBinding):
1684         (WebCore):
1685         * platform/graphics/gpu/DrawingBuffer.h: Ditto.
1686         (WebCore::DrawingBuffer::setTexture2DBinding):
1687         (DrawingBuffer):
1688         (WebCore::DrawingBuffer::setFramebufferBinding):
1689         * platform/graphics/gpu/mac/DrawingBufferMac.mm: initialize m_framebufferBinding.
1690         (WebCore::DrawingBuffer::DrawingBuffer):
1691         * platform/graphics/gpu/qt/DrawingBufferQt.cpp: initialize m_framebufferBinding.
1692         (WebCore::DrawingBuffer::DrawingBuffer):
1693
1694 2012-04-23  Victor Carbune  <vcarbune@adobe.com>
1695
1696         Simplify volume slider rendering
1697         https://bugs.webkit.org/show_bug.cgi?id=82150
1698
1699         Reviewed by Eric Carlson.
1700
1701         Test: media/video-controls-rendering-toggle-display-none.html
1702
1703         * css/mediaControlsChromium.css: Update controls css for Chromium.
1704         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
1705         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1706         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1707         * css/mediaControlsGtk.css: Update controls css for GTK.
1708         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1709         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1710         * css/mediaControlsQuickTime.css: Update controls css for Safari.
1711         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1712         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1713         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
1714         * html/shadow/MediaControlElements.cpp: Removed particular renderer.
1715         (WebCore):
1716         * html/shadow/MediaControlElements.h:
1717         (MediaControlVolumeSliderContainerElement): Remoed particular renderer.
1718         * html/shadow/MediaControlRootElement.cpp:
1719         (WebCore::MediaControlRootElement::create): Added a div element as a container. Removed extra unused mute button.
1720         * html/shadow/MediaControlRootElementChromium.cpp: Added an extra div
1721         element as a container for the mute button and the volume slider to
1722         easily position them relative to each other.
1723         (WebCore::MediaControlRootElementChromium::create):
1724
1725 2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1726
1727         Unreviewed, rolling out r109981.
1728         http://trac.webkit.org/changeset/109981
1729         https://bugs.webkit.org/show_bug.cgi?id=84630
1730
1731         Broke Twitter map buddy icon (see
1732         https://bugs.webkit.org/show_bug.cgi?id=84558) (Requested by
1733         thorton on #webkit).
1734
1735         * rendering/RenderLayerCompositor.cpp:
1736         (WebCore::RenderLayerCompositor::addToOverlapMap):
1737         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1738
1739 2012-04-23  Emil A Eklund  <eae@chromium.org>
1740
1741         Crash in RenderInline::clippedOverflowRectForRepaint for PrintPreview
1742         https://bugs.webkit.org/show_bug.cgi?id=84300
1743
1744         Reviewed by Simon Fraser.
1745
1746         No new tests, have not been able to come up with a reliable reduction.
1747
1748         * rendering/RenderInline.cpp:
1749         (WebCore::RenderInline::clippedOverflowRectForRepaint):
1750         Add NULL check for containingBlock() as it can return NULL when detached
1751         from the tree.
1752
1753 2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1754
1755         Unreviewed, rolling out r114929.
1756         http://trac.webkit.org/changeset/114929
1757         https://bugs.webkit.org/show_bug.cgi?id=84623
1758
1759         Broke 35 canvas/webgl tests (Requested by jernoble on
1760         #webkit).
1761
1762         * html/canvas/WebGLRenderingContext.cpp:
1763         (WebCore):
1764         (WebCore::WebGLRenderingContext::bindFramebuffer):
1765         (WebCore::WebGLRenderingContext::deleteFramebuffer):
1766         (WebCore::WebGLRenderingContext::loseContextImpl):
1767         * platform/graphics/cairo/DrawingBufferCairo.cpp:
1768         (WebCore::DrawingBuffer::DrawingBuffer):
1769         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1770         (WebCore::DrawingBuffer::DrawingBuffer):
1771         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1772         (WebCore::WebGLLayerChromium::update):
1773         * platform/graphics/gpu/DrawingBuffer.cpp:
1774         * platform/graphics/gpu/DrawingBuffer.h:
1775         (WebCore::DrawingBuffer::setTexture2DBinding):
1776         (DrawingBuffer):
1777         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
1778         (WebCore::DrawingBuffer::DrawingBuffer):
1779         * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
1780         (WebCore::DrawingBuffer::DrawingBuffer):
1781
1782 2012-04-23  Kentaro Hara  <haraken@chromium.org>
1783
1784         [V8] Pass Isolate around in V8Collection.h
1785         https://bugs.webkit.org/show_bug.cgi?id=84299
1786
1787         Reviewed by Nate Chapin.
1788
1789         The objective is to pass Isolate around in V8 bindings.
1790         This patch passes Isolate around in V8Collection.h.
1791
1792         No tests. No change in behavior.
1793
1794         * bindings/v8/V8Collection.h:
1795         (WebCore::getV8Object):
1796         (WebCore::getNamedPropertyOfCollection):
1797         (WebCore::collectionNamedPropertyGetter):
1798         (WebCore::getIndexedPropertyOfCollection):
1799         (WebCore::collectionIndexedPropertyGetter):
1800
1801 2012-04-23  Kentaro Hara  <haraken@chromium.org>
1802
1803         [V8] Pass Isolate to toV8() (Part5)
1804         https://bugs.webkit.org/show_bug.cgi?id=84271
1805
1806         Reviewed by Nate Chapin.
1807
1808         The objective is to pass Isolate to all toV8()s.
1809         Since there are a lot of toV8(), I'll make the change
1810         step by step. This patch passes Isolate to toV8()
1811         in several custom bindings.
1812
1813         No tests. No change in behavior.
1814
1815         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1816         (WebCore::V8MessageChannel::constructorCallback):
1817         * bindings/v8/custom/V8MessageEventCustom.cpp:
1818         (WebCore::V8MessageEvent::dataAccessorGetter):
1819         (WebCore::V8MessageEvent::portsAccessorGetter):
1820         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
1821         (WebCore::V8MutationCallback::handleEvent):
1822         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1823         (WebCore::V8NamedNodeMap::indexedPropertyGetter):
1824         (WebCore::V8NamedNodeMap::namedPropertyGetter):
1825         (WebCore::toV8):
1826         * bindings/v8/custom/V8NodeListCustom.cpp:
1827         (WebCore::V8NodeList::namedPropertyGetter):
1828         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1829         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
1830         (WebCore::V8NotificationCenter::createNotificationCallback):
1831         * bindings/v8/custom/V8PerformanceCustom.cpp:
1832         (WebCore::V8Performance::memoryAccessorGetter):
1833         * bindings/v8/custom/V8PopStateEventCustom.cpp:
1834         (WebCore::V8PopStateEvent::stateAccessorGetter):
1835         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1836         (WebCore::V8SQLTransactionSync::executeSqlCallback):
1837         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
1838         (WebCore::toV8):
1839
1840 2012-04-23  Zhenyao Mo  <zmo@google.com>
1841
1842         framebuffer binding should not be changed after canvas resize or compositing
1843         https://bugs.webkit.org/show_bug.cgi?id=84609
1844
1845         Reviewed by Kenneth Russell.
1846
1847         Test: fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html
1848
1849         * html/canvas/WebGLRenderingContext.cpp: set framebuffer binding to DrawingBuffer.
1850         (WebCore):
1851         (WebCore::WebGLRenderingContext::bindFramebuffer):
1852         (WebCore::WebGLRenderingContext::deleteFramebuffer):
1853         (WebCore::WebGLRenderingContext::loseContextImpl):
1854         * platform/graphics/cairo/DrawingBufferCairo.cpp: initialize m_framebufferBinding.
1855         (WebCore::DrawingBuffer::DrawingBuffer):
1856         * platform/graphics/chromium/DrawingBufferChromium.cpp: Ditto.
1857         (WebCore::DrawingBuffer::DrawingBuffer):
1858         * platform/graphics/chromium/WebGLLayerChromium.cpp: Recover framebuffer binding after update().
1859         (WebCore::WebGLLayerChromium::update):
1860         * platform/graphics/gpu/DrawingBuffer.cpp: Add a function to restore framebuffer binding.
1861         (WebCore::DrawingBuffer::restoreFramebufferBinding):
1862         (WebCore):
1863         * platform/graphics/gpu/DrawingBuffer.h: Ditto.
1864         (WebCore::DrawingBuffer::setTexture2DBinding):
1865         (DrawingBuffer):
1866         (WebCore::DrawingBuffer::setFramebufferBinding):
1867         * platform/graphics/gpu/mac/DrawingBufferMac.mm: initialize m_framebufferBinding.
1868         (WebCore::DrawingBuffer::DrawingBuffer):
1869         * platform/graphics/gpu/qt/DrawingBufferQt.cpp: initialize m_framebufferBinding.
1870         (WebCore::DrawingBuffer::DrawingBuffer):
1871
1872 2012-04-23  Kentaro Hara  <haraken@chromium.org>
1873
1874         [V8] Pass Isolate to toV8() (Part4)
1875         https://bugs.webkit.org/show_bug.cgi?id=84269
1876
1877         Reviewed by Nate Chapin.
1878
1879         The objective is to pass Isolate to all toV8()s.
1880         Since there are a lot of toV8()s, I'll make the change
1881         step by step. This patch passes Isolate to toV8() in
1882         several custom bindings.
1883
1884         No tests. No change in behavior.
1885
1886         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1887         (WebCore::V8HTMLCanvasElement::getContextCallback):
1888         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1889         (WebCore::toV8):
1890         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1891         (WebCore::V8HTMLDocument::allAccessorGetter):
1892         * bindings/v8/custom/V8HTMLElementCustom.cpp:
1893         (WebCore::toV8Object):
1894         (WebCore::V8HTMLElement::itemValueAccessorGetter):
1895         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1896         (WebCore::V8HTMLFormElement::indexedPropertyGetter):
1897         (WebCore::V8HTMLFormElement::namedPropertyGetter):
1898         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
1899         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
1900         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1901         (WebCore::v8HTMLImageElementConstructorCallback):
1902         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
1903         (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
1904         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1905         (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
1906         * bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
1907         (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
1908         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1909         (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
1910         * bindings/v8/custom/V8ImageDataCustom.cpp:
1911         (WebCore::toV8):
1912
1913 2012-04-23  Emil A Eklund  <eae@chromium.org>
1914
1915         Clean up subpixel unit handling in hit testing code
1916         https://bugs.webkit.org/show_bug.cgi?id=84496
1917
1918         Reviewed by Eric Seidel.
1919
1920         Fix use of IntRect and LayoutRect in hit testing code in preparation for
1921         subpixel layout.
1922
1923         No new tests, no change in functionality.
1924
1925         * rendering/HitTestResult.cpp:
1926         (WebCore::HitTestResult::rectForPoint):
1927         Revert rectForPoint to IntRect as all call sites converted it to an
1928         IntRect anyway to compare it with an IntPoint or another IntRect.
1929
1930         * rendering/HitTestingTransformState.cpp:
1931         (WebCore::HitTestingTransformState::boundsOfMappedQuad):
1932         * rendering/HitTestingTransformState.h:
1933         Convert boundsOfMappedQuad to LayoutRect as the TransformationMatrix now
1934         has subpixel precision.
1935
1936 2012-04-23  Kentaro Hara  <haraken@chromium.org>
1937
1938         [V8] Pass Isolate to toV8() (Part3)
1939         https://bugs.webkit.org/show_bug.cgi?id=84261
1940
1941         Reviewed by Nate Chapin.
1942
1943         The objective is to pass Isolate to all toV8()s.
1944         Since there are a lot of toV8(), I'll make the change
1945         step by step. This patch passes Isolate to toV8()
1946         in several custom bindings.
1947
1948         No tests. No change in behavior.
1949
1950         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1951         (WebCore::V8DOMWindow::openCallback):
1952         (WebCore::V8DOMWindow::indexedPropertyGetter):
1953         (WebCore::V8DOMWindow::namedPropertyGetter):
1954         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
1955         (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
1956         (WebCore::V8DirectoryEntrySync::getFileCallback):
1957         * bindings/v8/custom/V8DocumentCustom.cpp:
1958         (WebCore::V8Document::evaluateCallback):
1959         (WebCore::V8Document::getCSSCanvasContextCallback):
1960         (WebCore::V8Document::createTouchListCallback):
1961         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
1962         (WebCore::V8Document::locationAccessorGetter):
1963         * bindings/v8/custom/V8EntryCustom.cpp:
1964         (WebCore::toV8):
1965         * bindings/v8/custom/V8EntrySyncCustom.cpp:
1966         (WebCore::toV8):
1967         * bindings/v8/custom/V8EventCustom.cpp:
1968         (WebCore::V8Event::dataTransferAccessorGetter):
1969         (WebCore::V8Event::clipboardDataAccessorGetter):
1970         (WebCore):
1971         * bindings/v8/custom/V8FileReaderCustom.cpp:
1972         (WebCore::V8FileReader::resultAccessorGetter):
1973         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1974         (WebCore::getItem):
1975         (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
1976
1977 2012-04-23  Kentaro Hara  <haraken@chromium.org>
1978
1979         [V8] Pass Isolate to toV8() (Part2)
1980         https://bugs.webkit.org/show_bug.cgi?id=84259
1981
1982         Reviewed by Nate Chapin.
1983
1984         The objective is to pass Isolate to all toV8()s.
1985         Since there are a lot of toV8(), I'll make the change
1986         step by step. This patch passes Isolate to toV8() in
1987         several custom bindings.
1988
1989         No tests. No change in behavior.
1990
1991         * bindings/v8/custom/V8BlobCustom.cpp:
1992         (WebCore::toV8):
1993         * bindings/v8/custom/V8CSSRuleCustom.cpp:
1994         (WebCore::toV8):
1995         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
1996         (WebCore::toV8):
1997         * bindings/v8/custom/V8CSSValueCustom.cpp:
1998         (WebCore::toV8):
1999         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2000         (WebCore::toV8Object):
2001         (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter):
2002         (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter):
2003         * bindings/v8/custom/V8ConsoleCustom.cpp:
2004         (WebCore::V8Console::memoryAccessorGetter):
2005         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2006         (WebCore::V8SQLStatementErrorCallback::handleEvent):
2007         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2008         (WebCore::toV8):
2009         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
2010         (WebCore::toV8):
2011
2012 2012-04-23  Kentaro Hara  <haraken@chromium.org>
2013
2014         [V8][Refactoring] Remove V8Proxy::toV8()
2015         https://bugs.webkit.org/show_bug.cgi?id=84257
2016
2017         Reviewed by Nate Chapin.
2018
2019         Some constructorCallback()s are using V8Proxy::toV8(),
2020         other constructorCallback()s are directly using setJSWrapperForXXX()
2021         (XXX can be DOMObject, ActiveDOMObject, Node or ActiveNode).
2022         We should unify them.
2023
2024         Considering the fact that V8Proxy::toV8() just supports
2025         XXX=DOMObject and thus is not flexible, replacing V8Proxy::toV8()
2026         with setJSWrapperForDOMObject() would make sense.
2027
2028         No tests. No change in behavior.
2029
2030         * bindings/v8/V8Proxy.h: Removed toV8().
2031
2032         * bindings/scripts/CodeGeneratorV8.pm: Replaced toV8() with setJSWrapperForDOMObject().
2033         (GenerateEventConstructorCallback):
2034         * bindings/v8/custom/V8ArrayBufferCustom.cpp: Ditto.
2035         (WebCore::V8ArrayBuffer::constructorCallback):
2036         * bindings/v8/custom/V8ArrayBufferViewCustom.h: Ditto.
2037         (WebCore::constructWebGLArrayWithArrayBufferArgument):
2038         (WebCore::constructWebGLArray):
2039         * bindings/v8/custom/V8DOMFormDataCustom.cpp: Ditto.
2040         (WebCore::V8DOMFormData::constructorCallback):
2041         * bindings/v8/custom/V8DataViewCustom.cpp: Ditto.
2042         (WebCore::V8DataView::constructorCallback):
2043         * bindings/v8/custom/V8MessageChannelConstructor.cpp: Ditto.
2044         (WebCore::V8MessageChannel::constructorCallback):
2045         * bindings/v8/custom/V8WebKitPointConstructor.cpp: Ditto.
2046         (WebCore::V8WebKitPoint::constructorCallback):
2047
2048         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
2049         (WebCore::V8TestEventConstructor::constructorCallback):
2050
2051 2012-04-23  Kentaro Hara  <haraken@chromium.org>
2052
2053         [V8] Pass Isolate to toV8() (Part1)
2054         https://bugs.webkit.org/show_bug.cgi?id=84250
2055
2056         Reviewed by Nate Chapin.
2057
2058         The final objective is to pass Isolate around in V8 bindings.
2059         This patch makes a change in CodeGeneratorV8.pm so that the
2060         generated code passes Isolate to toV8().
2061
2062         No tests. No change in behavior.
2063
2064         * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
2065         (GenerateNormalAttrGetter):
2066         (GenerateNamedConstructorCallback):
2067         (GenerateCallbackImplementation):
2068         (GenerateFunctionCallString):
2069         (NativeToJSValue):
2070
2071         * bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests results.
2072         (WebCore::Float64ArrayV8Internal::fooCallback):
2073         * bindings/scripts/test/V8/V8TestCallback.cpp:
2074         (WebCore::V8TestCallback::callbackWithClass1Param):
2075         (WebCore::V8TestCallback::callbackWithClass2Param):
2076         (WebCore::V8TestCallback::callbackWithStringList):
2077         (WebCore::V8TestCallback::callbackRequiresThisToPass):
2078         * bindings/scripts/test/V8/V8TestInterface.cpp:
2079         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
2080         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2081         (WebCore::V8TestNamedConstructorConstructorCallback):
2082         * bindings/scripts/test/V8/V8TestObj.cpp:
2083         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
2084         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
2085         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
2086         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
2087         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
2088         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
2089         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
2090         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
2091         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
2092         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
2093         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
2094         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
2095         (WebCore::TestObjV8Internal::mutablePointAttrGetter):
2096         (WebCore::TestObjV8Internal::immutablePointAttrGetter):
2097         (WebCore::TestObjV8Internal::objMethodCallback):
2098         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
2099         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
2100         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
2101         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
2102         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
2103         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
2104         (WebCore::TestObjV8Internal::mutablePointFunctionCallback):
2105         (WebCore::TestObjV8Internal::immutablePointFunctionCallback):
2106         (WebCore::TestObjV8Internal::strictFunctionCallback):
2107         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2108         (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):
2109
2110 2012-04-23  Kentaro Hara  <haraken@chromium.org>
2111
2112         [V8] Add an optional Isolate argument to setDOMException() and throwError()
2113         https://bugs.webkit.org/show_bug.cgi?id=84310
2114
2115         Reviewed by Nate Chapin.
2116
2117         The objective is to pass Isolate to setDOMException()
2118         and throwError(). This patch adds an optional Isolate argument
2119         to setDOMException() and throwError(). I'll pass the Isolate
2120         to these methods in the following patches.
2121
2122         No tests. No change in behavior.
2123
2124         * bindings/v8/V8Proxy.cpp:
2125         (WebCore):
2126         (WebCore::V8Proxy::setDOMException):
2127         (WebCore::V8Proxy::throwError):
2128         * bindings/v8/V8Proxy.h:
2129         (V8Proxy):
2130         (WebCore):
2131         (WebCore::throwError):
2132
2133 2012-04-23  Ian Vollick  <vollick@chromium.org>
2134
2135         [chromium] Properly ignore unsupported animation directions.
2136         https://bugs.webkit.org/show_bug.cgi?id=84599
2137
2138         Reviewed by Adrienne Walker.
2139
2140         Tested in CCLayerAnimationControllerTest.ignoreUnsupportedAnimationDirections.
2141
2142         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2143
2144 2012-04-17  Kentaro Hara  <haraken@chromium.org>
2145
2146         [Performance][V8] Skip Isolate look-up to find StringCache
2147         https://bugs.webkit.org/show_bug.cgi?id=84103
2148
2149         Reviewed by Nate Chapin.
2150
2151         This patch improves the performance of a lot of DOM attribute
2152         getters that return a string.
2153
2154         - Improves the performance of Dromaeo/dom-attr.html(element.property)
2155           by 27.7%.
2156         - Improves the performance of Dromaeo/dom-attr.html(getAttribute)
2157           by 10.6%.
2158         - Improves the performance of div.id, div.className,
2159           div.nodeName, text.nodeValue, text.textContent by 12% -- 21%.
2160
2161         The followings are the test results in my Linux desktop.
2162
2163         Performance test: Dromaeo/dom-attr.html
2164         Total:                     674.64runs/s ->  707.03runs/s (+ 4.8%)
2165         getAttribute:             1537.60runs/s -> 1700.20runs/s (+10.6%)
2166         element.property:         1389.00runs/s -> 1774.20runs/s (+27.7%)
2167         setAttribute:              538.88runs/s ->  548.87runs/s (+ 1.9%)
2168         element.property = value:  644.07runs/s ->  656.67runs/s (+ 2.0%)
2169         element.expando = value:   219.76runs/s ->  207.14runs/s (- 6.8%)
2170         element.expando:           578.77runs/s ->  554.67runs/s (- 4.2%)
2171
2172         Performance test: https://bugs.webkit.org/attachment.cgi?id=137440
2173         div.id:           30.70ns -> 26.70ns (+15%)
2174         div.className:    31.10ns -> 26.40ns (+18%)
2175         div.nodeName:     37.70ns -> 33.00ns (+14%)
2176         text.nodeValue:   31.40ns -> 25.90ns (+21%)
2177         text.textContent: 51.50ns -> 45.90ns (+12%)
2178
2179         Previously V8 bindings need to look up an Isolate to find
2180         an Isolate-local StringCache. This patch skips the look-up
2181         by getting the Isolate from AccessorInfo.GetIsolate()
2182         or Arguments.GetIsolate().
2183
2184         No tests. No change in behavior.
2185
2186         * bindings/scripts/CodeGeneratorV8.pm:
2187         (GenerateNormalAttrGetter):
2188         (GenerateFunctionCallString):
2189         (NativeToJSValue):
2190         * bindings/v8/V8Binding.cpp:
2191         (WebCore::getElementStringAttr):
2192         * bindings/v8/V8Binding.h:
2193         (WebCore::v8ExternalString): Make 'isolate' an optional argument.
2194         Ideally we want to make 'isolate' a non-optional argument,
2195         but it is difficult to rewrite all v8ExternalString() callers
2196         at a breath. We can rewrite them incrementally.
2197         (WebCore::v8String): Ditto.
2198         (WebCore::v8StringOrNull): Ditto.
2199         (WebCore::v8StringOrUndefined): Ditto.
2200         (WebCore::v8StringOrFalse): Ditto.
2201
2202         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
2203         (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
2204         (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
2205         * bindings/scripts/test/V8/V8TestInterface.cpp:
2206         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
2207         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
2208         * bindings/scripts/test/V8/V8TestObj.cpp:
2209         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
2210         (WebCore::TestObjV8Internal::stringAttrAttrGetter):
2211         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
2212         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
2213         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
2214         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
2215         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
2216         (WebCore::TestObjV8Internal::hashAttrGetter):
2217         (WebCore::TestObjV8Internal::conditionalMethod1Callback):
2218
2219 2012-04-17  Kentaro Hara  <haraken@chromium.org>
2220
2221         [V8] Add an optional Isolate argument to wrap()
2222         https://bugs.webkit.org/show_bug.cgi?id=84202
2223
2224         Reviewed by Nate Chapin.
2225
2226         The final objective is to pass Isolate around in V8 bindings.
2227         This patch adds an optional Isolate argument to wrap().
2228         After rewriting all wrap() callers so that they pass Isolate
2229         to wrap(), I'll make the Isolate argument non-optional.
2230
2231         No tests. No change in behavior.
2232
2233         * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
2234         (GenerateHeader):
2235         * bindings/v8/custom/V8DocumentCustom.cpp: Ditto.
2236         (WebCore::toV8):
2237         * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Ditto.
2238         (WebCore::toV8):
2239         * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
2240         (WebCore::toV8Slow):
2241         * bindings/v8/custom/V8SVGDocumentCustom.cpp: Ditto.
2242         (WebCore::toV8):
2243         * dom/make_names.pl: Ditto.
2244         (printWrapperFactoryCppFile):
2245
2246         * bindings/scripts/test/V8/V8Float64Array.h:
2247         Updated run-bindings-tests results.
2248         (V8Float64Array):
2249         (WebCore::V8Float64Array::wrap):
2250         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2251         (V8TestActiveDOMObject):
2252         (WebCore::V8TestActiveDOMObject::wrap):
2253         (WebCore::toV8):
2254         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2255         (V8TestCustomNamedGetter):
2256         (WebCore::V8TestCustomNamedGetter::wrap):
2257         (WebCore::toV8):
2258         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2259         (V8TestEventConstructor):
2260         (WebCore::V8TestEventConstructor::wrap):
2261         (WebCore::toV8):
2262         * bindings/scripts/test/V8/V8TestEventTarget.h:
2263         (V8TestEventTarget):
2264         (WebCore::V8TestEventTarget::wrap):
2265         (WebCore::toV8):
2266         * bindings/scripts/test/V8/V8TestInterface.h:
2267         (V8TestInterface):
2268         (WebCore::V8TestInterface::wrap):
2269         (WebCore::toV8):
2270         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2271         (V8TestMediaQueryListListener):
2272         (WebCore::V8TestMediaQueryListListener::wrap):
2273         (WebCore::toV8):
2274         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2275         (V8TestNamedConstructor):
2276         (WebCore::V8TestNamedConstructor::wrap):
2277         (WebCore::toV8):
2278         * bindings/scripts/test/V8/V8TestNode.h:
2279         (V8TestNode):
2280         (WebCore::V8TestNode::wrap):
2281         (WebCore::toV8):
2282         * bindings/scripts/test/V8/V8TestObj.h:
2283         (V8TestObj):
2284         (WebCore::V8TestObj::wrap):
2285         (WebCore::toV8):
2286         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2287         (V8TestSerializedScriptValueInterface):
2288         (WebCore::V8TestSerializedScriptValueInterface::wrap):
2289         (WebCore::toV8):
2290
2291 2012-04-17  Kentaro Hara  <haraken@chromium.org>
2292
2293         [V8] Pass Isolate to toV8Slow()
2294         https://bugs.webkit.org/show_bug.cgi?id=84173
2295
2296         Reviewed by Nate Chapin.
2297
2298         The final objective is to pass Isolate around in V8 bindings.
2299         This patch passes the Isolate to toV8Slow().
2300
2301         No tests. No change in behavior.
2302
2303         * bindings/scripts/CodeGeneratorV8.pm:
2304         (GenerateHeader):
2305         * bindings/v8/custom/V8NodeCustom.cpp:
2306         (WebCore::toV8Slow):
2307
2308 2012-04-17  Kentaro Hara  <haraken@chromium.org>
2309
2310         [V8] Add an optional Isolate argument to toV8().
2311         https://bugs.webkit.org/show_bug.cgi?id=84161
2312
2313         Reviewed by Nate Chapin.
2314
2315         The final objective is to pass Isolate around in V8 bindings.
2316         This patch adds an optional Isolate argument to toV8().
2317         After rewriting all toV8() callers so that they pass Isolate,
2318         I will make the Isolate argument non-optional.
2319
2320         No tests. No change in behavior.
2321
2322         * bindings/scripts/CodeGeneratorV8.pm:
2323         Modified as described above.
2324         (GenerateHeader):
2325         (NativeToJSValue):
2326         * bindings/v8/custom/V8BlobCustom.cpp:
2327         (WebCore::toV8):
2328         * bindings/v8/custom/V8CSSRuleCustom.cpp:
2329         (WebCore::toV8):
2330         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
2331         (WebCore::toV8):
2332         * bindings/v8/custom/V8CSSValueCustom.cpp:
2333         (WebCore::toV8):
2334         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
2335         (WebCore::toV8):
2336         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2337         (WebCore::toV8):
2338         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
2339         (WebCore::toV8):
2340         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2341         (WebCore::toV8):
2342         * bindings/v8/custom/V8DataViewCustom.cpp:
2343         (WebCore::toV8):
2344         * bindings/v8/custom/V8DocumentCustom.cpp:
2345         (WebCore::toV8):
2346         * bindings/v8/custom/V8EntryCustom.cpp:
2347         (WebCore::toV8):
2348         * bindings/v8/custom/V8EntrySyncCustom.cpp:
2349         (WebCore::toV8):
2350         * bindings/v8/custom/V8EventCustom.cpp:
2351         (WebCore::toV8):
2352         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
2353         (WebCore::toV8):
2354         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
2355         (WebCore::toV8):
2356         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2357         (WebCore::toV8):
2358         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2359         (WebCore::toV8):
2360         * bindings/v8/custom/V8HTMLElementCustom.cpp:
2361         (WebCore::toV8):
2362         * bindings/v8/custom/V8IDBAnyCustom.cpp:
2363         (WebCore::toV8):
2364         * bindings/v8/custom/V8IDBKeyCustom.cpp:
2365         (WebCore::toV8):
2366         * bindings/v8/custom/V8ImageDataCustom.cpp:
2367         (WebCore::toV8):
2368         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
2369         (WebCore::toV8):
2370         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
2371         (WebCore::toV8):
2372         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
2373         (WebCore::toV8):
2374         * bindings/v8/custom/V8LocationCustom.cpp:
2375         (WebCore::toV8):
2376         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2377         (WebCore::toV8):
2378         * bindings/v8/custom/V8NodeCustom.cpp:
2379         (WebCore::toV8Slow):
2380         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
2381         (WebCore::toV8):
2382         * bindings/v8/custom/V8SVGElementCustom.cpp:
2383         (WebCore::toV8):
2384         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
2385         (WebCore::toV8):
2386         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
2387         (WebCore::toV8):
2388         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
2389         (WebCore::toV8):
2390         * bindings/v8/custom/V8StyleSheetCustom.cpp:
2391         (WebCore::toV8):
2392         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
2393         (WebCore::toV8):
2394         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
2395         (WebCore::toV8):
2396         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
2397         (WebCore::toV8):
2398         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
2399         (WebCore::toV8):
2400         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2401         (WebCore::toV8):
2402
2403         * bindings/scripts/test/V8/V8Float64Array.h:
2404         Updated run-bindings-tests results.
2405         (WebCore):
2406         (WebCore::toV8):
2407         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2408         (WebCore::toV8):
2409         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2410         (WebCore::toV8):
2411         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2412         (WebCore::toV8):
2413         * bindings/scripts/test/V8/V8TestEventTarget.h:
2414         (WebCore::toV8):
2415         * bindings/scripts/test/V8/V8TestInterface.h:
2416         (WebCore::toV8):
2417         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2418         (WebCore::toV8):
2419         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2420         (WebCore::toV8):
2421         * bindings/scripts/test/V8/V8TestNode.h:
2422         (WebCore::toV8):
2423         * bindings/scripts/test/V8/V8TestObj.h:
2424         (WebCore::toV8):
2425         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2426         (WebCore::toV8):
2427
2428 2012-04-23  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2429         [EFL][WK2] Fix build break when non-cross platform CONTEXT_MENUS are enabled.
2430         https://bugs.webkit.org/show_bug.cgi?id=84136
2431
2432         Reviewed by Andreas Kling.
2433
2434         There was a mismatch between contextMenuItemVector declaration and definition.
2435         Fixed by changing PlatformMenuDescription for EFL port by adding a const modifier.
2436
2437         No new tests required.
2438
2439         * platform/PlatformMenuDescription.h:
2440         (WebCore): Added const modifier to PlatformMenuDescription definition.
2441
2442 2012-04-23  Pierre Rossi  <pierre.rossi@gmail.com>
2443
2444         [Qt] Ensure zero-width space effectively accounts for a width of zero.
2445         https://bugs.webkit.org/show_bug.cgi?id=84595
2446
2447         Reviewed by Simon Hausmann.
2448
2449         The logic so far relies on FontCache::getFontDataForCharacters to
2450         return a valid fontData in the case where the fonts specified don't
2451         have a glyph for the zero-width space character.
2452         QTextLayout::glyphRuns simply ignores characters that don't render in
2453         the glyph runs it returns, so we need to ensure that the subsequent
2454         call to platformWidthForGlyph doesn't lead to a non-zero width.
2455
2456         Covered by tests containing control characters such as
2457         a soft-hyphen like it's the case in:
2458         svg/as-image/img-preserveAspectRatio-support-1.html
2459
2460         * platform/graphics/qt/SimpleFontDataQt.cpp:
2461         (WebCore::SimpleFontData::platformWidthForGlyph):
2462
2463 2012-04-23  Ian Vollick  <vollick@chromium.org>
2464
2465         [chromium] When prepareToDraw fails due to animation checkerboard, we need to call setNeedsCommit
2466         https://bugs.webkit.org/show_bug.cgi?id=84520
2467
2468         Reviewed by Adrienne Walker.
2469
2470         Tested in CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
2471
2472         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2473         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
2474
2475 2012-04-23  Alexis Menard  <alexis.menard@openbossa.org>
2476
2477         Simplify CSSParser::parseFont.
2478         https://bugs.webkit.org/show_bug.cgi?id=78698
2479
2480         Reviewed by Antti Koivisto.
2481
2482         Simplify parseFont by sharing the code we have for
2483         the longhands of the font property.
2484
2485         No new tests : Extend the existing font shorthand test and modify expected files
2486         as now the order of the longhands added in the property list of the style
2487         has changed. It's very unlikely that some code is relying on this order though. It will
2488         also match the way the spec order them http://www.w3.org/TR/css3-fonts/#font-prop
2489         even though the order is arbitrary for some values.
2490
2491         * css/CSSParser.cpp:
2492         (WebCore::CSSParser::parseValue):
2493         (WebCore::CSSParser::parseFont):
2494         (WebCore::CSSParser::parseLineHeight):
2495         (WebCore):
2496         (WebCore::CSSParser::parseFontSize):
2497         (WebCore::CSSParser::parseFontWeight):  Fix a bug discovered while using parseFontWeight from
2498         the parseFont (case font: 0/0, Arial, sans-serif; in a layout test), we should return true only
2499         when we add something in the property list.
2500         * css/CSSParser.h:
2501
2502 2012-04-23  Yury Semikhatsky  <yurys@chromium.org>
2503
2504         Web Inspector: improve the way heap snapshot diff is calculated
2505         https://bugs.webkit.org/show_bug.cgi?id=84590
2506
2507         Diff calculation now consists of the following steps:
2508         1. Collect data about nodes in the base heap snapshot
2509         2. Pass it to the second snapshot.
2510         3. Calculate delta for each class.
2511
2512         Reviewed by Pavel Feldman.
2513
2514         * inspector/front-end/HeapSnapshot.js:
2515         (WebInspector.HeapSnapshot):
2516         (WebInspector.HeapSnapshot.prototype.dispose):
2517         (WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
2518         (WebInspector.HeapSnapshot.prototype.calculateSnapshotDiff):
2519         (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
2520         (WebInspector.HeapSnapshot.prototype.createAddedNodesProvider):
2521         (WebInspector.HeapSnapshot.prototype.createDeletedNodesProvider):
2522         * inspector/front-end/HeapSnapshotDataGrids.js:
2523         (WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren.aggregatesForDiffReceived.didCalculateSnapshotDiff):
2524         (WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren):
2525         * inspector/front-end/HeapSnapshotGridNodes.js:
2526         (WebInspector.HeapSnapshotIteratorsTuple):
2527         (WebInspector.HeapSnapshotDiffNode):
2528         (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
2529         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
2530         * inspector/front-end/HeapSnapshotProxy.js:
2531         (WebInspector.HeapSnapshotProxy.prototype.aggregatesForDiff):
2532         (WebInspector.HeapSnapshotProxy.prototype.calculateSnapshotDiff):
2533         (WebInspector.HeapSnapshotProxy.prototype.createAddedNodesProvider):
2534         (WebInspector.HeapSnapshotProxy.prototype.createDeletedNodesProvider):
2535         * inspector/front-end/HeapSnapshotView.js:
2536         (WebInspector.HeapSnapshotView.prototype._changeBase):
2537
2538 2012-04-23  Pavel Feldman  <pfeldman@chromium.org>
2539
2540         Web Inspector: Rename and extract UISourceCodeImpl into JavaScriptSource
2541         https://bugs.webkit.org/show_bug.cgi?id=84587
2542
2543         Reviewed by Yury Semikhatsky.
2544
2545         No changes other than extraction here. This is the first step in the Resource
2546         hierarchy refactoring described in bug 84586.
2547
2548         * WebCore.gypi:
2549         * WebCore.vcproj/WebCore.vcproj:
2550         * inspector/compile-front-end.py:
2551         * inspector/front-end/CompilerScriptMapping.js:
2552         (WebInspector.CompilerScriptMapping.prototype.addScript):
2553         * inspector/front-end/DebuggerPresentationModel.js:
2554         * inspector/front-end/JavaScriptSource.js: Added.
2555         (WebInspector.JavaScriptSource):
2556         (WebInspector.JavaScriptSource.prototype.breakpoints):
2557         (WebInspector.JavaScriptSource.prototype.breakpointAdded):
2558         (WebInspector.JavaScriptSource.prototype.breakpointRemoved):
2559         (WebInspector.JavaScriptSource.prototype.consoleMessages):
2560         (WebInspector.JavaScriptSource.prototype.consoleMessageAdded):
2561         (WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
2562         * inspector/front-end/RawSourceCode.js:
2563         (WebInspector.RawSourceCode.prototype._createUISourceCode):
2564         * inspector/front-end/SnippetsModel.js:
2565         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
2566         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
2567         * inspector/front-end/WebKit.qrc:
2568         * inspector/front-end/inspector.html:
2569
2570 2012-04-23  Gavin Peters  <gavinp@chromium.org>
2571
2572         Move ReferrerPolicy out of SecurityPolicy class into its own header in platform.
2573         https://bugs.webkit.org/show_bug.cgi?id=84516
2574
2575         Reviewed by Adam Barth.
2576
2577         No change in behaviour; same enum, different class.
2578
2579         * GNUmakefile.list.am:
2580         * Target.pri:
2581         * WebCore.exp.in:
2582         * WebCore.gypi:
2583         * WebCore.vcproj/WebCore.vcproj:
2584         * WebCore.xcodeproj/project.pbxproj:
2585         * dom/Document.cpp:
2586         (WebCore::Document::Document):
2587         (WebCore::Document::processReferrerPolicy):
2588         * dom/Document.h:
2589         (WebCore::Document::referrerPolicy):
2590         (Document):
2591         * page/SecurityPolicy.h:
2592         * platform/ReferrerPolicy.h: Added.
2593         (WebCore):
2594
2595 2012-04-23  Vineet Chaudhary  <rgf748@motorola.com>
2596
2597         JS binding code generator doesn't handle "attribute unsigned long[]" well
2598         https://bugs.webkit.org/show_bug.cgi?id=84540
2599
2600         Reviewed by Kentaro Hara.
2601
2602         Codegenerator should handle spaces with the sequence<> to support
2603         numeric types like "unsigned long", "int" .. etc. and primitive types
2604         like "boolean", "Date" etc.
2605
2606         Tests: bindings/scripts/test/TestObj.idl
2607
2608         * bindings/scripts/CodeGenerator.pm:
2609         (SkipIncludeHeader): Rename AvoidInclusionOfType to SkipIncludeHeader.
2610         (GetArrayType):
2611         * bindings/scripts/CodeGeneratorJS.pm:
2612         (AddIncludesForType):
2613         (NativeToJSValue):
2614         * bindings/scripts/CodeGeneratorObjC.pm:
2615         (AddIncludesForType):
2616         (GenerateImplementation):
2617         * bindings/scripts/CodeGeneratorV8.pm:
2618         (AddIncludesForType):
2619         (GetHeaderClassInclude):
2620         (GenerateNormalAttrGetter):
2621         (NativeToJSValue):
2622         * bindings/scripts/IDLStructure.pm:
2623         * bindings/scripts/test/JS/JSTestObj.cpp:
2624         (WebCore):
2625         (WebCore::jsTestObjIntSequenceAttr):
2626         (WebCore::jsTestObjShortSequenceAttr):
2627         (WebCore::jsTestObjLongSequenceAttr):
2628         (WebCore::jsTestObjLongLongSequenceAttr):
2629         (WebCore::jsTestObjUnsignedIntSequenceAttr):
2630         (WebCore::jsTestObjUnsignedShortSequenceAttr):
2631         (WebCore::jsTestObjUnsignedLongSequenceAttr):
2632         (WebCore::jsTestObjUnsignedLongLongSequenceAttr):
2633         (WebCore::jsTestObjFloatSequenceAttr):
2634         (WebCore::jsTestObjDoubleSequenceAttr):
2635         (WebCore::jsTestObjBooleanSequenceAttr):
2636         (WebCore::jsTestObjVoidSequenceAttr):
2637         (WebCore::jsTestObjDateSequenceAttr):
2638         (WebCore::setJSTestObjSequenceAttr):
2639         (WebCore::setJSTestObjIntSequenceAttr):
2640         (WebCore::setJSTestObjShortSequenceAttr):
2641         (WebCore::setJSTestObjLongSequenceAttr):
2642         (WebCore::setJSTestObjLongLongSequenceAttr):
2643         (WebCore::setJSTestObjUnsignedIntSequenceAttr):
2644         (WebCore::setJSTestObjUnsignedShortSequenceAttr):
2645         (WebCore::setJSTestObjUnsignedLongSequenceAttr):
2646         (WebCore::setJSTestObjUnsignedLongLongSequenceAttr):
2647         (WebCore::setJSTestObjFloatSequenceAttr):
2648         (WebCore::setJSTestObjDoubleSequenceAttr):
2649         (WebCore::setJSTestObjBooleanSequenceAttr):
2650         (WebCore::setJSTestObjVoidSequenceAttr):
2651         (WebCore::setJSTestObjDateSequenceAttr):
2652         * bindings/scripts/test/JS/JSTestObj.h:
2653         (WebCore):
2654         * bindings/scripts/test/ObjC/DOMTestObj.h:
2655         * bindings/scripts/test/TestObj.idl:
2656         * bindings/scripts/test/V8/V8TestObj.cpp:
2657         (WebCore::TestObjV8Internal::intSequenceAttrAttrGetter):
2658         (TestObjV8Internal):
2659         (WebCore::TestObjV8Internal::intSequenceAttrAttrSetter):
2660         (WebCore::TestObjV8Internal::shortSequenceAttrAttrGetter):
2661         (WebCore::TestObjV8Internal::shortSequenceAttrAttrSetter):
2662         (WebCore::TestObjV8Internal::longSequenceAttrAttrGetter):
2663         (WebCore::TestObjV8Internal::longSequenceAttrAttrSetter):
2664         (WebCore::TestObjV8Internal::longLongSequenceAttrAttrGetter):
2665         (WebCore::TestObjV8Internal::longLongSequenceAttrAttrSetter):
2666         (WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrGetter):
2667         (WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrSetter):
2668         (WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrGetter):
2669         (WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrSetter):
2670         (WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrGetter):
2671         (WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrSetter):
2672         (WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrGetter):
2673         (WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrSetter):
2674         (WebCore::TestObjV8Internal::floatSequenceAttrAttrGetter):
2675         (WebCore::TestObjV8Internal::floatSequenceAttrAttrSetter):
2676         (WebCore::TestObjV8Internal::doubleSequenceAttrAttrGetter):
2677         (WebCore::TestObjV8Internal::doubleSequenceAttrAttrSetter):
2678         (WebCore::TestObjV8Internal::booleanSequenceAttrAttrGetter):
2679         (WebCore::TestObjV8Internal::booleanSequenceAttrAttrSetter):
2680         (WebCore::TestObjV8Internal::voidSequenceAttrAttrGetter):
2681         (WebCore::TestObjV8Internal::voidSequenceAttrAttrSetter):
2682         (WebCore::TestObjV8Internal::dateSequenceAttrAttrGetter):
2683         (WebCore::TestObjV8Internal::dateSequenceAttrAttrSetter):
2684         (WebCore):
2685
2686 2012-04-23  Andreas Kling  <kling@webkit.org>
2687
2688         Unreviewed assertion fix for Chromium bots.
2689
2690         Skip unnecessary Attr::attachToElement() after constructing an Attr using the
2691         constructor that attaches to an Element.
2692
2693         * dom/ElementAttributeData.cpp:
2694         (WebCore::ElementAttributeData::ensureAttr):
2695
2696 2012-04-23  Andreas Kling  <kling@webkit.org>
2697
2698         REGRESSION(r114870): Assertion failure in ElementAttributeData::setAttr().
2699         <http://webkit.org/b/84581>
2700
2701         Reviewed by Antti Koivisto.
2702
2703         Attach the Attr and bump m_attrCount manually in ensureAttr() instead of calling
2704         setAttr(). The latter asserts that the Attr isn't present in the map, which
2705         obviously isn't true after we've just added it.
2706
2707         This has the added effect of removing one unnecessary hash lookup.
2708
2709         * dom/ElementAttributeData.cpp:
2710         (WebCore::ElementAttributeData::ensureAttr):
2711
2712 2012-04-23  Pavel Feldman  <pfeldman@chromium.org>
2713
2714         Web Inspector: make ParsedURL.prototype.displayName data url friendly.
2715         https://bugs.webkit.org/show_bug.cgi?id=84578
2716
2717         Reviewed by Yury Semikhatsky.
2718
2719         We'd like to define valid URL as the one that has scheme, host and path.
2720         We can append to this URL and manipulate its content. We still want 
2721         possibly invalid specs (such as data or about) to exist and have nice
2722         display names.
2723
2724         * inspector/front-end/ResourceUtils.js:
2725         (WebInspector.ParsedURL):
2726         (WebInspector.ParsedURL.prototype.get displayName):
2727
2728 2012-04-23  Pavel Feldman  <pfeldman@chromium.org>
2729
2730         Web Inspector: introduce String.prototype.starts/endsWith and use it all over the place.
2731         https://bugs.webkit.org/show_bug.cgi?id=84574
2732
2733         Reviewed by Yury Semikhatsky.
2734
2735         * inspector/front-end/AuditRules.js:
2736         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
2737         * inspector/front-end/BreakpointsSidebarPane.js:
2738         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
2739         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
2740         * inspector/front-end/CSSCompletions.js:
2741         (WebInspector.CSSCompletions.prototype.startsWith):
2742         (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
2743         * inspector/front-end/ConsoleView.js:
2744         (WebInspector.ConsoleView.prototype._reportCompletions):
2745         * inspector/front-end/CookieItemsView.js:
2746         (WebInspector.Cookies.cookieMatchesResourceURL):
2747         * inspector/front-end/DatabaseQueryView.js:
2748         (WebInspector.DatabaseQueryView.prototype.completions):
2749         * inspector/front-end/ElementsTreeOutline.js:
2750         (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
2751         * inspector/front-end/ProfileView.js:
2752         * inspector/front-end/ProfilesPanel.js:
2753         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
2754         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
2755         (WebInspector.ProfileSidebarTreeElement):
2756         (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
2757         * inspector/front-end/ResourceUtils.js:
2758         (WebInspector.ParsedURL):
2759         (WebInspector.displayNameForURL):
2760         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
2761         (WebInspector.completeURL):
2762         * inspector/front-end/SnippetsModel.js:
2763         (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
2764         * inspector/front-end/SourceCSSTokenizer.js:
2765         (WebInspector.SourceCSSTokenizer.prototype.nextToken):
2766         * inspector/front-end/SourceCSSTokenizer.re2js:
2767         * inspector/front-end/TextPrompt.js:
2768         (WebInspector.TextPrompt.prototype._completeCommonPrefix):
2769         * inspector/front-end/UIUtils.js:
2770         (WebInspector.startEditing):
2771         * inspector/front-end/utilities.js:
2772
2773 2012-04-23  Andreas Kling  <kling@webkit.org>
2774
2775         REGRESSION(r114870): Performance hit on DOM/CloneNodes and DOM/CreateNodes.
2776         <http://webkit.org/b/84575>
2777
2778         Reviewed by Antti Koivisto.
2779
2780         Simplify the cloning of Attributes from one Element to another by simply
2781         assigning to m_attributes. This avoids default-constructing a bunch of
2782         Attribute objects that we overwrite immediately anyway (this used to be
2783         fine because they were RefPtr<Attribute> but now that a default-constructed
2784         Attribute contains a QualifiedName, we were doing a bunch of extra hash
2785         lookups, etc.)
2786
2787         * dom/ElementAttributeData.cpp:
2788         (WebCore::ElementAttributeData::setAttributes):
2789
2790 2012-04-20  Pavel Feldman  <pfeldman@chromium.org>
2791
2792         Web Inspector: implement "open stylesheet" dialog.
2793         https://bugs.webkit.org/show_bug.cgi?id=84466
2794
2795         Reviewed by Yury Semikhatsky.
2796
2797         This change introduces abstract OpenResourceDialog and re-uses it in OpenScriptDialog and OpenStylesheetDialog.
2798         Drive-by fix for data: url representation in the navigator and open resource dialogs.
2799
2800         * inspector/front-end/FilteredItemSelectionDialog.js:
2801         (WebInspector.FilteredItemSelectionDialog.prototype.position):
2802         (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
2803         (WebInspector.OpenResourceDialog.compareFunction):
2804         (WebInspector.OpenResourceDialog):
2805         (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
2806         (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
2807         (WebInspector.OpenResourceDialog.prototype.itemsCount):
2808         (WebInspector.OpenResourceDialog.prototype.requestItems):
2809         (WebInspector.OpenResourceDialog.prototype.selectItem):
2810         (WebInspector.OpenScriptDialog):
2811         (WebInspector.OpenScriptDialog.install):
2812         (WebInspector.OpenScriptDialog._show):
2813         (WebInspector.OpenScriptDialog.prototype.selectItem):
2814         * inspector/front-end/ResourceUtils.js:
2815         (WebInspector.ParsedURL):
2816         * inspector/front-end/ScriptsPanel.js:
2817         * inspector/front-end/StylesPanel.js:
2818         (WebInspector.StylesPanel):
2819         (WebInspector.StylesPanel.prototype._showOpenStylesheetDialog):
2820         (WebInspector.OpenStylesheetDialog):
2821         (WebInspector.OpenStylesheetDialog.prototype.selectItem):
2822         * inspector/front-end/inspector.html:
2823
2824 2012-04-23  Kent Tamura  <tkent@chromium.org>
2825
2826         Add test function to get placeholder string
2827         https://bugs.webkit.org/show_bug.cgi?id=84536
2828
2829         Reviewed by Ryosuke Niwa.
2830
2831         Add window.internals.visiblePlaceholder(element), which returns a
2832         placeholder string only when it's visible.
2833
2834         * WebCore.exp.in: Expose HTMLTextFormControlElement::placeholderShouldBeVisible().
2835         * testing/Internals.cpp:
2836         (WebCore::Internals::visiblePlaceholder): Added.
2837         (WebCore::Internals::selectColorInColorChooser): Omit HTMLNames::.
2838         * testing/Internals.h:
2839         (Internals): Add visiblePlaceholder().
2840         * testing/Internals.idl: ditto.
2841
2842 2012-04-23  Szilard Ledan  <szledan@inf.u-szeged.hu>
2843
2844         Incorrect handling of CSS escape sequences that encode surrogates
2845         https://bugs.webkit.org/show_bug.cgi?id=76152
2846
2847         Reviewed by Kent Tamura.
2848
2849         Test: fast/css/parsing-css-surrogate-pairs.html
2850
2851         * css/CSSParser.cpp:
2852         (WebCore::CSSParser::parseEscape):
2853
2854 2012-04-22  Yury Semikhatsky  <yurys@chromium.org>
2855
2856         Web Inspector: make populateChildren methods private in heap profiler front-end
2857         https://bugs.webkit.org/show_bug.cgi?id=84562
2858
2859         - populateChildren method on HeapSnapshotConstructorsDataGrid and
2860         HeapSnapshotDiffDataGrid now is private.
2861         - Made _defaultPopulateCount a public method on HeapSnapshotSortableDataGrid which
2862         is overriden in some descendants
2863         - Removed unused HeapSnapshotPathFinderProxy
2864         - added closure compiler annotations
2865
2866         Reviewed by Pavel Feldman.
2867
2868         * inspector/front-end/HeapSnapshotDataGrids.js:
2869         (WebInspector.HeapSnapshotSortableDataGrid.prototype.defaultPopulateCount):
2870         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
2871         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
2872         (WebInspector.HeapSnapshotDiffDataGrid.prototype.defaultPopulateCount):
2873         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
2874         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.defaultPopulateCount):
2875         * inspector/front-end/HeapSnapshotGridNodes.js:
2876         (WebInspector.HeapSnapshotGridNode):
2877         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
2878         (WebInspector.HeapSnapshotDiffNode):
2879         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
2880         * inspector/front-end/HeapSnapshotProxy.js:
2881
2882 2012-04-22  Andreas Kling  <kling@webkit.org>
2883
2884         Unreviewed build fix, remove Attribute.cpp from DOMAllInOne.cpp.
2885
2886         * dom/DOMAllInOne.cpp: My nemesis.
2887
2888 2012-04-22  Andreas Kling  <kling@webkit.org>
2889
2890         Optimize Element attribute storage for the common case (no Attr objects.)
2891         <http://webkit.org/b/83440>
2892
2893         Reviewed by Antti Koivisto.
2894
2895         Reduce Attribute to its smallest possible size; a qname/value pair.
2896         They are no-longer ref-counted, which allows us to store them in Vectors.
2897
2898         Refactored the DOM Attr object to go with the new Attribute:
2899         Attr now wraps either {element, qname} or {qname, value}. The latter is for
2900         the case where a standalone Attr object is instantiated via DOM APIs.
2901
2902         ElementAttributeData.cpp manages a map of pair<element, qname> => Attr.
2903         Each Element (well, ElementAttributeData) keeps track of how many Attr
2904         objects are pointing to it. This is so we can avoid hash lookups during
2905         common operations in the typical case where you have zero Attrs.
2906
2907         Also removed the inline capacity (was 4) from AttributeVector as that
2908         would significantly increase bloat now that we store Attribute (2 pointers)
2909         rather than RefPtr<Attribute>. We trade this one piece of indirection
2910         for the removal of per-Attribute indirection.
2911
2912         * CMakeLists.txt:
2913         * GNUmakefile.list.am:
2914         * Target.pri:
2915         * WebCore.gypi:
2916         * WebCore.vcproj/WebCore.vcproj:
2917         * WebCore.xcodeproj/project.pbxproj:
2918         * dom/Attr.cpp:
2919         (WebCore::Attr::Attr):
2920         (WebCore):
2921         (WebCore::Attr::create):
2922         (WebCore::Attr::~Attr):
2923         (WebCore::Attr::createTextChild):
2924         (WebCore::Attr::setPrefix):
2925         (WebCore::Attr::setValue):
2926         (WebCore::Attr::cloneNode):
2927         (WebCore::Attr::childrenChanged):
2928         (WebCore::Attr::style):
2929         (WebCore::Attr::value):
2930         (WebCore::Attr::elementAttribute):
2931         (WebCore::Attr::detachFromElementWithValue):
2932         (WebCore::Attr::attachToElement):
2933         * dom/Attr.h:
2934         (WebCore):
2935         (Attr):
2936         (WebCore::Attr::qualifiedName):
2937         (WebCore::Attr::localName):
2938         (WebCore::Attr::namespaceURI):
2939         (WebCore::Attr::prefix):
2940         * dom/Attribute.cpp: Removed.
2941         * dom/Attribute.h:
2942         (WebCore::Attribute::Attribute):
2943         (Attribute):
2944         * dom/Document.cpp:
2945         (WebCore::Document::importNode):
2946         (WebCore::Document::createAttributeNS):
2947         * dom/Element.cpp:
2948         (WebCore::Element::~Element):
2949         (WebCore::Element::detachAttribute):
2950         (WebCore):
2951         (WebCore::Element::removeAttribute):
2952         (WebCore::Element::setAttributeInternal):
2953         (WebCore::Element::parserSetAttributes):
2954         (WebCore::Element::setAttributeNode):
2955         (WebCore::Element::removeAttributeNode):
2956         (WebCore::Element::normalizeAttributes):
2957         (WebCore::Element::didRemoveAttribute):
2958         (WebCore::Element::attrIfExists):
2959         (WebCore::Element::ensureAttr):
2960         * dom/Element.h:
2961         (Element):
2962         (WebCore::Element::getAttributeItemIndex):
2963         * dom/ElementAttributeData.cpp:
2964         (WebCore):
2965         (WebCore::attrMap):
2966         (WebCore::ElementAttributeData::attrIfExists):
2967         (WebCore::ElementAttributeData::ensureAttr):
2968         (WebCore::ElementAttributeData::setAttr):
2969         (WebCore::ElementAttributeData::removeAttr):
2970         (WebCore::AttributeVector::removeAttribute):
2971         (WebCore::ElementAttributeData::~ElementAttributeData):
2972         (WebCore::ElementAttributeData::addAttribute):
2973         (WebCore::ElementAttributeData::removeAttribute):
2974         (WebCore::ElementAttributeData::isEquivalent):
2975         (WebCore::ElementAttributeData::detachAttributesFromElement):
2976         (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
2977         (WebCore::ElementAttributeData::setAttributes):
2978         (WebCore::ElementAttributeData::clearAttributes):
2979         (WebCore::ElementAttributeData::replaceAttribute):
2980         (WebCore::ElementAttributeData::getAttributeNode):
2981         * dom/ElementAttributeData.h:
2982         (WebCore):
2983         (WebCore::AttributeVector::AttributeVector):
2984         (AttributeVector):
2985         (WebCore::AttributeVector::getAttributeItem):
2986         (WebCore::AttributeVector::getAttributeItemIndex):
2987         (WebCore::AttributeVector::insertAttribute):
2988         (WebCore::ElementAttributeData::attributeItem):
2989         (ElementAttributeData):
2990         (WebCore::ElementAttributeData::ElementAttributeData):
2991         (WebCore::ElementAttributeData::attributeVector):
2992         (WebCore::ElementAttributeData::clonedAttributeVector):
2993         (WebCore::ElementAttributeData::removeAttribute):
2994         (WebCore::ElementAttributeData::getAttributeItem):
2995         (WebCore::ElementAttributeData::getAttributeItemIndex):
2996         * dom/NamedNodeMap.cpp:
2997         (WebCore::NamedNodeMap::getNamedItem):
2998         (WebCore::NamedNodeMap::getNamedItemNS):
2999         (WebCore::NamedNodeMap::removeNamedItem):
3000         (WebCore::NamedNodeMap::removeNamedItemNS):
3001         (WebCore::NamedNodeMap::item):
3002         * dom/Node.cpp:
3003         (WebCore::Node::compareDocumentPosition):
3004         * html/HTMLAnchorElement.cpp:
3005         (WebCore::HTMLAnchorElement::parseAttribute):
3006         * html/HTMLSelectElement.cpp:
3007         (WebCore::HTMLSelectElement::parseAttribute):
3008         * html/parser/HTMLConstructionSite.cpp:
3009         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
3010         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
3011         (WebCore::HTMLConstructionSite::insertScriptElement):
3012         (WebCore::HTMLConstructionSite::createElement):
3013         (WebCore::HTMLConstructionSite::createHTMLElement):
3014         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
3015         * html/parser/HTMLToken.h:
3016         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
3017         * html/parser/HTMLTreeBuilder.cpp:
3018         (WebCore::HTMLTreeBuilder::processFakeStartTag):
3019         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
3020         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
3021         (WebCore):
3022         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3023         * html/parser/HTMLTreeBuilder.h:
3024         * html/parser/TextDocumentParser.cpp:
3025         (WebCore::TextDocumentParser::insertFakePreElement):
3026         * page/PageSerializer.cpp:
3027         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
3028         * svg/SVGFitToViewBox.cpp:
3029         * svg/properties/SVGAnimatedPropertySynchronizer.h:
3030         * xml/XMLErrors.cpp:
3031         (WebCore::createXHTMLParserErrorHeader):
3032         (WebCore::XMLErrors::insertErrorMessageBlock):
3033         * xml/XPathNodeSet.cpp:
3034         (WebCore::XPath::NodeSet::traversalSort):
3035         * xml/XPathStep.cpp:
3036         (WebCore::XPath::Step::nodesInAxis):
3037         * xml/parser/MarkupTokenBase.h:
3038         (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
3039         (WebCore::AtomicMarkupTokenBase::getAttributeItem):
3040         (WebCore::AtomicMarkupTokenBase::attributes):
3041         (AtomicMarkupTokenBase):
3042         (WebCore::::initializeAttributes):
3043         * xml/parser/XMLToken.h:
3044         (WebCore::AtomicXMLToken::AtomicXMLToken):
3045         * xml/parser/XMLTreeBuilder.cpp:
3046         (WebCore::XMLTreeBuilder::processNamespaces):
3047         (WebCore::XMLTreeBuilder::processAttributes):
3048
3049 2012-04-22  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
3050
3051         Sync the MOZ_X11 changes from r14 of http://code.google.com/p/npapi-sdk/
3052         also, modified required build flags for Qt,Gtk and CMake
3053         [Qt]  Added MOZ_X11 build flag for !embedded
3054         https://bugs.webkit.org/show_bug.cgi?id=40785
3055
3056         Reviewed by Anders Carlsson.
3057
3058         No new tests. This does not change functionality. Affects all X11 Ports. Build should break if MOZ_X11 is not passed where required
3059
3060         * WebCore.pri:
3061         * plugins/npapi.h:
3062
3063 2012-04-22  Pablo Flouret  <pablof@motorola.com>
3064
3065         Reset event propagation and canceled flags in Event.initEvent
3066         https://bugs.webkit.org/show_bug.cgi?id=83964
3067
3068         Reviewed by Ryosuke Niwa.
3069
3070         Step 3 in http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-event-initevent
3071         Useful for re-configuring an event before dispatching.
3072
3073         Test: fast/events/flags-unset-on-init-event.html
3074
3075         * dom/Event.cpp:
3076         (WebCore::Event::initEvent):
3077
3078 2012-04-22  Martin Robinson  <mrobinson@igalia.com>
3079
3080         [Cairo] Implement CompositeDifference
3081         https://bugs.webkit.org/show_bug.cgi?id=77354
3082
3083         Reviewed by Alejandro G. Castro.
3084
3085         No new tests. The difference compositing operator are not exposed
3086         to web content, so this change is simply in preparation for a time
3087         in which it is used.
3088
3089         Properly map the difference compositing blend modes to a Cairo operator.
3090
3091         * platform/graphics/cairo/CairoUtilities.cpp:
3092         (WebCore::toCairoOperator): Add a mapping for difference. Remove
3093         code supporting versions of Cairo before 1.10, since the Cairo backend
3094         requires 1.10 or greater already.
3095
3096 2012-04-22  Jon Lee  <jonlee@apple.com>
3097
3098         Remove notifications support on Mac Lion.
3099         https://bugs.webkit.org/show_bug.cgi?id=84554
3100         <rdar://problem/11297128>
3101
3102         Reviewed by Sam Weinig.
3103
3104         * Configurations/FeatureDefines.xcconfig:
3105
3106 2012-04-22  Shawn Singh  <shawnsingh@chromium.org>
3107
3108         [chromium] Damage Tracker needs to use CCMathUtil transforms
3109         https://bugs.webkit.org/show_bug.cgi?id=84070
3110
3111         Reviewed by Adrienne Walker.
3112
3113         Unit test added to CCDamageTracker.cpp.
3114
3115         This patch makes CCDamageTracker use CCMathUtil transforms, so
3116         that perspective w < 0 problem is correctly handled.
3117
3118         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
3119         (WebCore::CCDamageTracker::extendDamageForLayer):
3120         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
3121
3122 2012-04-20  Jon Lee  <jonlee@apple.com>
3123
3124         Add Notification constructor
3125         https://bugs.webkit.org/show_bug.cgi?id=80477
3126         <rdar://problem/10912431>
3127
3128         Reviewed by Jian Li.
3129
3130         Tests will be added once there is support for web notifications on the Mac ports.
3131
3132         * WebCore.exp.in: Export finalize() function.
3133
3134         Modify Dictionary to support creation of event listeners.
3135         * bindings/js/Dictionary.h:
3136         (WebCore::Dictionary::isObject): Return true if the JSDictionary is valid.
3137         (WebCore::Dictionary::isUndefinedOrNull): Return true if the JSDictionary is not valid.
3138         (WebCore::Dictionary::get): Add convenience function to take const char* for
3139         property name, to prevent having to do implicit conversion to WTF::String.
3140         (WebCore::Dictionary::getEventListener): Add function to create event listener
3141         from the dictionary.
3142         (WebCore::Dictionary::asJSObject): Helper to convert WebCore objects to JS wrapper.
3143         * bindings/js/Dictionary.cpp:
3144         (WebCore::Notification): Implement asJSObject() for Notification.
3145         * bindings/js/JSDictionary.h:
3146         (WebCore::JSDictionary::execState): Expose the exec state so that the Dictionary
3147         can obtain its world for creating the event listener.
3148
3149         * bindings/v8/Dictionary.h:
3150         (WebCore::Dictionary::getEventListener): Stub implementation.
3151
3152         Add new constructor to idl definitions.
3153         * notifications/DOMWindowNotifications.idl: Add Notification constructor, if
3154         ENABLE(NOTIFICATIONS) is on.
3155         * notifications/Notification.idl: If ENABLE(NOTIFICATIONS) is turned on, define
3156         the constructor. Otherwise, use OmitConstructor.
3157         * notifications/NotificationCenter.idl: Wrap creation functions in
3158         ENABLE(LEGACY_NOTIFICATIONS).
3159         * notifications/NotificationCenter.h: Ditto.
3160         (NotificationCenter):
3161
3162         * notifications/Notification.h:
3163         (Notification): Wrap legacy constructors in ENABLE(LEGACY_NOTIFICATIONS).
3164         (WebCore::Notification::create): New creation function based on discussions in WG.
3165         * notifications/Notification.cpp:
3166         (WebCore::getAndAddEventListener): Helper function to get the listener from the
3167         dictionary, and attach to the notification.
3168         (WebCore::Notification::create): Create the notification, then apply whatever
3169         properties can be found in the dictionary to the notification. In order to
3170         attach the event listeners, the notification has to have been created, which is
3171         why this all happens in the factory method and not in the constructor.
3172         (WebCore::Notification::setBody): Added so that it can be set if we find it in the
3173         dictionary.
3174
3175         The new constructor queues a task to show when it is created. To support this, we
3176         use a one-shot timer that calls show() in the next iteration of the run loop.
3177         (WebCore::Notification::Notification): Start the timer.
3178         (WebCore::Notification::showTaskTimerFired): Call show().
3179
3180         Notifications, not being attached to the DOM, could be GC'ed by the JS engine
3181         before its life cycle has completed. We add calls to setPendingActivity() when the
3182         notification has been shown, and when it is closed, we unsetPendingActivity().
3183         To guarantee that we only call this once, we add a new state to the Notification
3184         state machine, called NotificationState::Closed.
3185         (WebCore::Notification::show): Call setPendingActivity() for all ports. Remove conditional on Mac.
3186         (WebCore::Notification::close): Include Closed state to machine; do nothing.
3187         (WebCore::Notification::dispatchCloseEvent): Call finalize().
3188         (WebCore::Notification::finalize): If the state is not Closed, we unsetPendingActivity()
3189         to make it available for GC.
3190         (WebCore::Notification::finishLoading): Remove the unsetPendingActivity(). That call
3191         was to balance the setPendingActivity() called for loading the icon. Instead of wrapping
3192         around the icon load, we wrap around the show() -> finalize() loop.
3193
3194         In Notification, rename some of the stages and functions to more clearly communicate
3195         that they mostly deal with the icon of the notification, instead of general loading.
3196         (WebCore::Notification::show): Refactored to use LoadingIcon and CancelledIcon.
3197         (WebCore::Notification::close): Refactored to use LoadingIcon and CancelledIcon.
3198         (WebCore::Notification::~Notification): Refactor to use LoadingIcon.
3199         (WebCore::Notification::startLoadingIcon): Renamed from startLoading().
3200         (WebCore::Notification::stopLoadingIcon): Renamed from stopLoading().
3201         (WebCore::Notification::finishLoadingIcon): Renamed from finishLoading().
3202         (WebCore::Notification::didFinishLoading):
3203         (WebCore::Notification::didFail):
3204         (WebCore::Notification::didFailRedirectCheck):
3205         (WebCore::Notification::didReceiveResponse):
3206         (WebCore::Notification::finishLoading):
3207
3208         Add Dictionary.cpp.
3209         * GNUmakefile.list.am:
3210         * Target.pri:
3211         * UseJSC.cmake:
3212         * WebCore.gypi:
3213
3214         Fix bug in V8 bindings generation code. If the constructor doesn't raise an exception,
3215         don't use an exception code.
3216         * bindings/scripts/CodeGeneratorV8.pm:
3217         (GenerateParametersCheck):
3218         * bindings/scripts/test/V8/V8TestObj.cpp: Reset results.
3219         (WebCore::TestObjV8Internal::optionsObjectCallback):
3220
3221 2012-04-21  Benjamin C Meyer  <bmeyer@rim.com>
3222
3223         Support loading the same plugin in multiple locations in the Blackberry port.
3224         https://bugs.webkit.org/show_bug.cgi?id=84537
3225
3226         The hash for the plugin is only based upon the plugin meta information
3227         which will be the same for the same plugin in the system and user's
3228         plugin folders.
3229
3230         It looks like this code was copied/based on the windows port
3231         which doesn't allow the same plugin to be loaded more than once.
3232
3233         Because we want to support multiple copies of the same plugin
3234         in the blackberry port we want to incorperate the path of the plugin
3235         into the hash.
3236
3237         PR 150404
3238
3239         Reviewed by Adam Treat.
3240
3241         * plugins/blackberry/PluginPackageBlackBerry.cpp:
3242         (WebCore::PluginPackage::hash):
3243
3244 2012-04-21  Benjamin C Meyer  <bmeyer@rim.com>
3245
3246         System plugins are preferred over application plugins
3247         https://bugs.webkit.org/show_bug.cgi?id=84538
3248
3249         Set the preferred paths for plugins so that plugins that reside
3250         inside of the bar will be preferred over plugins that are in the
3251         system folder.
3252
3253         PR 150404
3254
3255         Reviewed by Adam Treat.
3256
3257         * plugins/PluginDatabase.cpp:
3258         (WebCore::PluginDatabase::isPreferredPluginDirectory):
3259
3260 2012-04-21  Darin Adler  <darin@apple.com>
3261
3262         Improve performance of removing user and password from URLs
3263         https://bugs.webkit.org/show_bug.cgi?id=84525
3264
3265         Reviewed by Dan Bernstein.
3266
3267         Performance improvement only. Correctness covered by existing regression tests.
3268
3269         The most common use of KURL::setUser and KURL::setPass, by far, is to remove
3270         the user and password from a URL that already has neither. Optimize this by
3271         not re-parsing the URL in that case.
3272
3273         * platform/KURL.cpp:
3274         (WebCore::KURL::setUser): Restructure code so that the code path that removes
3275         the user does no work when there is nothing to remove. Otherwise, leave the
3276         logic of the function untouched.
3277         (WebCore::KURL::setPass): Same thing, only for password rather than user.
3278
3279 2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3280
3281         Unreviewed, rolling out r114768.
3282         http://trac.webkit.org/changeset/114768
3283         https://bugs.webkit.org/show_bug.cgi?id=84521
3284
3285         Original patch was not the problem, re-applying (Requested by
3286         pfeldman_ on #webkit).
3287
3288         * bindings/v8/V8IsolatedContext.cpp:
3289         (WebCore::setInjectedScriptContextDebugId):
3290         (WebCore):
3291         (WebCore::V8IsolatedContext::V8IsolatedContext):
3292         * bindings/v8/V8Proxy.cpp:
3293         (WebCore::V8Proxy::evaluateInIsolatedWorld):
3294         * bindings/v8/V8Proxy.h:
3295         (V8Proxy):
3296
3297 2012-04-20  Adrienne Walker  <enne@google.com>
3298
3299         [chromium] Refactor opaque content transform out of Skia context
3300         https://bugs.webkit.org/show_bug.cgi?id=83608
3301
3302         Reviewed by James Robinson.
3303
3304         Having PlatformContextSkia know about the transform into content space
3305         for a layer is a layering violation. This change lets the
3306         PlatformContextSkia deal with opaque rects in its own space and lets
3307         the caller handle transforming it into its own space. This also
3308         prevents a matrix multiply per draw into the Skia canvas and does it
3309         just once at the end to transform the final rect.
3310
3311         This is an incremental refactoring so that additional tracking for
3312         text rects can be added and use the same space as opaque rects.
3313
3314         Tests: LayerTextureUpdaterTest.testPartialOpaqueRectNoTransform
3315                LayerTextureUpdaterTest.testPartialOpaqueRectTranslation
3316                LayerTextureUpdaterTest.testPartialOpaqueRectScale
3317
3318         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
3319         (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
3320         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
3321         (BitmapCanvasLayerTextureUpdater):
3322         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
3323         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
3324         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
3325         (BitmapSkPictureCanvasLayerTextureUpdater):
3326         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
3327         (WebCore::CanvasLayerTextureUpdater::paintContents):
3328         * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
3329         (CanvasLayerTextureUpdater):
3330         * platform/graphics/chromium/LayerTextureUpdater.h:
3331         (WebCore::LayerTextureUpdater::prepareToUpdate):
3332         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
3333         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
3334         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
3335         (SkPictureCanvasLayerTextureUpdater):
3336         * platform/graphics/chromium/TiledLayerChromium.cpp:
3337         (WebCore::TiledLayerChromium::updateTiles):
3338         * platform/graphics/skia/OpaqueRegionSkia.cpp:
3339         (WebCore::OpaqueRegionSkia::didDrawRect):
3340         (WebCore::OpaqueRegionSkia::didDrawPath):
3341         (WebCore::OpaqueRegionSkia::didDrawPoints):
3342         (WebCore::OpaqueRegionSkia::didDrawBounded):
3343         (WebCore::OpaqueRegionSkia::didDraw):
3344         * platform/graphics/skia/OpaqueRegionSkia.h:
3345         (OpaqueRegionSkia):
3346         * platform/graphics/skia/PlatformContextSkia.cpp:
3347         (WebCore::PlatformContextSkia::didDrawRect):
3348         (WebCore::PlatformContextSkia::didDrawPath):
3349         (WebCore::PlatformContextSkia::didDrawPoints):
3350         (WebCore::PlatformContextSkia::didDrawBounded):
3351         * platform/graphics/skia/PlatformContextSkia.h:
3352         (PlatformContextSkia):
3353
3354 2012-04-20  Enrica Casucci  <enrica@apple.com>
3355
3356         CRASH at WebCore::ReplaceSelectionCommand::removeRedundantMarkup
3357         https://bugs.webkit.org/show_bug.cgi?id=84518
3358         <rdar://problem/10714790>
3359
3360         Reviewed by Simon Fraser.
3361
3362         There are cases where the m_lastNodeInserted is NULL to begin with or
3363         gets deleted by removeRedundantStylesAndKeepStyleSpanInline.
3364         This change handles those cases properly.
3365         
3366         Tests: editing/pasteboard/paste-sanitize-crash-1.html
3367                editing/pasteboard/paste-sanitize-crash-2.html
3368
3369         * editing/ReplaceSelectionCommand.h:
3370         (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
3371         * editing/SimplifyMarkupCommand.cpp:
3372         (WebCore::SimplifyMarkupCommand::doApply):
3373
3374 2012-04-20  Michael Nordman  <michaeln@google.com>
3375
3376         [chromium] Tiny change to DomStorage v8 bindings to avoid a relatively expensive test in a couple
3377         of places by reordering the expressions in compound conditions, if (fastTest && moreExpensiveTest)
3378         https://bugs.webkit.org/show_bug.cgi?id=84500
3379
3380         Reviewed by Kentaro Hara.
3381
3382         No new tests, no new functionality.
3383
3384         * bindings/v8/custom/V8StorageCustom.cpp:
3385         (WebCore::storageGetter):
3386         (WebCore::V8Storage::namedPropertyQuery):
3387
3388 2012-04-20  Dan Bernstein  <mitz@apple.com>
3389
3390         REGRESSION (r114784): svg/text/foreignObject-text-clipping-bug.xml failing on Mountain Lion Debug Tests
3391         https://bugs.webkit.org/show_bug.cgi?id=84505
3392
3393         Reviewed by Anders Carlsson.
3394
3395         * rendering/RenderBlock.cpp:
3396         (WebCore::RenderBlock::blockBeforeWithinSelectionRoot): Changed to not assume that boxes only
3397         have boxes as siblings.
3398
3399 2012-04-20  Dana Jansens  <danakj@chromium.org>
3400
3401         [chromium] Remove special case for recreating layers during sync
3402         https://bugs.webkit.org/show_bug.cgi?id=84458
3403
3404         Reviewed by James Robinson.
3405
3406         We no longer delete layers on the impl side, unless it is due to
3407         deleting the layer on webkit side. So we will no longer have a
3408         situation where we need to push properties from an old
3409         LayerChromium to a new CCLayerImpl.
3410
3411         * platform/graphics/chromium/TreeSynchronizer.cpp:
3412         (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
3413
3414 2012-04-20  Dana Jansens  <danakj@chromium.org>
3415
3416         [chromium] WebFilterOperations API does not compile or dynamically link
3417         https://bugs.webkit.org/show_bug.cgi?id=84506
3418
3419         Reviewed by James Robinson.
3420
3421         Non-inline functions need WEBKIT_EXPORT in their declarations,
3422         and the type used in the WebPrivateOwnPtr needs to be forward-
3423         declared even when WEBKIT_IMPLEMENTATION is not defined.
3424
3425         * platform/chromium/support/WebFilterOperations.cpp:
3426         (WebKit::WebFilterOperations::initialize):
3427
3428 2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3429
3430         Unreviewed, rolling out r114333.
3431         http://trac.webkit.org/changeset/114333
3432         https://bugs.webkit.org/show_bug.cgi?id=84511
3433
3434         perf regression (Requested by morrita on #webkit).
3435
3436         * dom/Node.cpp:
3437         * dom/Node.h:
3438         (WebCore):
3439         (Node):
3440         (WebCore::Node::isElementNode):
3441         (WebCore::Node::isContainerNode):
3442         (WebCore::Node::isTextNode):
3443         (WebCore::Node::isHTMLElement):
3444         (WebCore::Node::isSVGElement):
3445         (WebCore::Node::isStyledElement):
3446         (WebCore::Node::isShadowRoot):
3447         (WebCore::Node::parentNode):
3448         (WebCore::Node::parentNodeGuaranteedHostFree):
3449
3450 2012-04-20  Alec Flett  <alecflett@chromium.org>
3451
3452         IndexedDB: Support get/getKey(keyRange)
3453         https://bugs.webkit.org/show_bug.cgi?id=83638
3454
3455         Reviewed by Ojan Vafai.
3456
3457         Support IDBKeyRange as a parameter to all the various get/getKey 
3458         combinations. Switches the existing get/getKey versions that use