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