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