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