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