1 2012-03-16 Tay Grigg <tgrigg@rim.com>
3 [BlackBerry] Update NetworkJob to accept batched headers
4 https://bugs.webkit.org/show_bug.cgi?id=81273
6 Batch up the headers into a vector before they come into
7 webkit to increase performance, and simplify the API.
9 Reviewed by George Staikos.
11 * platform/network/blackberry/NetworkJob.cpp:
12 (WebCore::NetworkJob::notifyHeadersReceived):
13 * platform/network/blackberry/NetworkJob.h:
16 2012-03-16 Dana Jansens <danakj@chromium.org>
18 [chromium] Add overdraw metrics for texture uploads
19 https://bugs.webkit.org/show_bug.cgi?id=81175
21 Reviewed by Adrienne Walker.
23 Record texture upload metrics during paint. To properly record
24 the amount of pixels culled, we must compute the amount of pixels we
25 would have uploaded for a tile. This requires knowing the dirty rect of
26 the tile, but the dirty rect can be changed by WebKit during a paint, so
27 we always store the dirtyRect in the tile's updateRect. We add an
28 m_updateCulled bool to the UpdatableTile structure, to identify tiles
29 that were not updated, and know a tile was updated if updateRect is not
30 empty and updateCulled is false.
32 Tested by all TiledLayerChromiumTests that use occlusion tracker.
34 * platform/graphics/chromium/TiledLayerChromium.cpp:
36 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
37 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
38 (WebCore::CCLayerTreeHost::paintLayerContents):
40 2012-03-16 Jer Noble <jer.noble@apple.com>
42 Allow AudioContext::create() to emit an ExceptionCode.
43 https://bugs.webkit.org/show_bug.cgi?id=81049
45 Reviewed by Kentaro Hara.
47 No new tests; no change in functionality.
49 Pass through an ExceptionCode parameter to AudioContext::create(). It is currently
50 never modified, but exceptions will be added in the future.
52 * bindings/js/JSAudioContextCustom.cpp:
53 (WebCore::JSAudioContextConstructor::constructJSAudioContext):
54 * bindings/v8/custom/V8AudioContextCustom.cpp:
55 (WebCore::V8AudioContext::constructorCallback):
56 * webaudio/AudioContext.cpp:
57 (WebCore::AudioContext::create):
58 * webaudio/AudioContext.h:
60 2012-03-16 Dana Jansens <danakj@chromium.org>
62 [chromium] Remove surface damage client from occlusion tracker
63 https://bugs.webkit.org/show_bug.cgi?id=81242
65 Reviewed by Adrienne Walker.
67 Code was not used yet, so no new tests. Removing tests instead!
69 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
70 (WebCore::::CCOcclusionTrackerBase):
71 (WebCore::::layerScissorRectInTargetSurface):
73 * platform/graphics/chromium/cc/CCOcclusionTracker.h:
75 (CCOcclusionTrackerBase):
77 2012-03-16 Tommy Widenflycht <tommyw@google.com>
79 MediaStream API (JSEP): Introducing PeerConnection00Handler
80 https://bugs.webkit.org/show_bug.cgi?id=81333
82 Reviewed by Adam Barth.
84 In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
86 Not possible to test until the entire JSEP feature is commited.
88 * GNUmakefile.list.am:
90 * platform/mediastream/PeerConnection00Handler.cpp: Added.
92 (WebCore::PeerConnection00Handler::create):
93 (WebCore::PeerConnection00Handler::PeerConnection00Handler):
94 (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
95 (WebCore::PeerConnection00Handler::createOffer):
96 (WebCore::PeerConnection00Handler::createAnswer):
97 (WebCore::PeerConnection00Handler::setLocalDescription):
98 (WebCore::PeerConnection00Handler::setRemoteDescription):
99 (WebCore::PeerConnection00Handler::localDescription):
100 (WebCore::PeerConnection00Handler::remoteDescription):
101 (WebCore::PeerConnection00Handler::startIce):
102 (WebCore::PeerConnection00Handler::processIceMessage):
103 (WebCore::PeerConnection00Handler::addStream):
104 (WebCore::PeerConnection00Handler::removeStream):
105 (WebCore::PeerConnection00Handler::stop):
106 * platform/mediastream/PeerConnection00Handler.h: Added.
108 (PeerConnection00Handler):
109 * platform/mediastream/PeerConnection00HandlerClient.h: Added.
111 (PeerConnection00HandlerClient):
112 (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
114 2012-03-16 Pavel Podivilov <podivilov@chromium.org>
116 Web Inspector: fix exception when hovering over bound function in heap profiler.
117 https://bugs.webkit.org/show_bug.cgi?id=81362
119 Reviewed by Yury Semikhatsky.
121 * inspector/front-end/DebuggerPresentationModel.js:
122 (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
124 2012-03-16 Yoshifumi Inoue <yosin@chromium.org>
126 [Forms] The "progress" element should not be a form-associated element.
127 https://bugs.webkit.org/show_bug.cgi?id=80240
129 Reviewed by Kent Tamura.
131 This patch changes base class of HTMLProgressElement to LabelableElement from
132 HTMLFormControlElement for saving memory space and iteration time of
133 extra "progress" elements in HTMLFormElement::m_formAssociatedElements
134 and matching the HTML5 specification for ease of maintenance.
136 Changes of TextIterator is lead by usage of isFormControlElement. This
137 changes will be replaced with more meaningful predicate as part of
138 https://bugs.webkit.org/show_bug.cgi?id=80381
140 No new tests. Update existing tests to cover this change.
142 * css/CSSStyleSelector.cpp:
143 (WebCore::CSSStyleSelector::canShareStyleWithElement): Moved the "progress" element support code from canShareStyleWithControl.
144 (WebCore::CSSStyleSelector::canShareStyleWithControl):
145 * css/SelectorChecker.cpp:
146 (WebCore::SelectorChecker::checkOneSelector): Remove isFormControlElement check for PseudoIndeterminate.
147 * editing/TextIterator.cpp:
148 (WebCore::TextIterator::advance): Check HTMLProgressElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
149 * html/HTMLProgressElement.cpp: Remove unused include file.
150 (WebCore::HTMLProgressElement::HTMLProgressElement): Changed base class to LabelableElement.
151 (WebCore::HTMLProgressElement::create): Remove form paraprogress.
152 (WebCore::HTMLProgressElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement.
153 (WebCore::HTMLProgressElement::attach): Replace HTMLFormControlElement to LabelableElement.
154 * html/HTMLProgressElement.h:
155 (HTMLProgressElement):
156 * html/HTMLProgressElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
157 * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
159 2012-03-16 Ilya Tikhonovsky <loislo@chromium.org>
161 Web Inspector: Heap Snapshot: Unreviewed single line fix for isWindow getter.
163 * inspector/front-end/HeapSnapshot.js:
164 (WebInspector.HeapSnapshotNode.prototype.get isWindow):
166 2012-03-16 Tommy Widenflycht <tommyw@google.com>
168 MediaStream API (JSEP): Fixing a few nits
169 https://bugs.webkit.org/show_bug.cgi?id=81322
171 Reviewed by Adam Barth.
173 Addressing the nits from bugs 81206 and 81207.
177 * Modules/mediastream/SessionDescription.idl:
178 * platform/mediastream/IceOptions.h:
179 (WebCore::IceOptions::IceOptions):
180 * platform/mediastream/SessionDescriptionDescriptor.h:
181 (SessionDescriptionDescriptor):
183 2012-03-16 Peter Rybin <peter.rybin@gmail.com>
185 Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
186 https://bugs.webkit.org/show_bug.cgi?id=80789
188 Reviewed by Yury Semikhatsky.
190 OptOutput class is added for optional return parameters.
192 Strict mode added to Generator that makes all parameter types strict
193 and drop pre-set default values for return parameters.
195 Debugger and Page domain is switched to strict mode.
197 * inspector/CodeGeneratorInspector.py:
198 (CommandReturnPassModel.OptOutput):
199 (CommandReturnPassModel.OptOutput.__init__):
200 (CommandReturnPassModel.OptOutput.get_return_var_type):
201 (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
202 (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
203 (CommandReturnPassModel.OptOutput.get_output_parameter_type):
204 (CommandReturnPassModel):
205 (CommandReturnPassModel.OptOutput.get_set_return_condition):
206 (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
207 (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
209 (Generator.process_event):
210 (Generator.process_command):
211 * inspector/ContentSearchUtils.cpp:
212 (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
213 (WebCore::ContentSearchUtils::searchInTextByLines):
214 * inspector/ContentSearchUtils.h:
215 (ContentSearchUtils):
216 * inspector/InjectedScript.cpp:
217 (WebCore::InjectedScript::evaluate):
218 (WebCore::InjectedScript::callFunctionOn):
219 (WebCore::InjectedScript::evaluateOnCallFrame):
220 (WebCore::InjectedScript::makeEvalCall):
221 * inspector/InjectedScript.h:
223 * inspector/InspectorDOMDebuggerAgent.cpp:
224 (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
225 (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
226 (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
227 (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
228 (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
229 (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
230 * inspector/InspectorDebuggerAgent.cpp:
231 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
232 (WebCore::InspectorDebuggerAgent::setBreakpoint):
233 (WebCore::InspectorDebuggerAgent::searchInContent):
234 (WebCore::InspectorDebuggerAgent::setScriptSource):
235 (WebCore::InspectorDebuggerAgent::getFunctionDetails):
236 (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
237 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
238 (WebCore::InspectorDebuggerAgent::didPause):
239 (WebCore::InspectorDebuggerAgent::breakProgram):
240 (WebCore::InspectorDebuggerAgent::clearBreakDetails):
241 * inspector/InspectorDebuggerAgent.h:
242 (InspectorDebuggerAgent):
243 * inspector/InspectorPageAgent.cpp:
244 (WebCore::buildObjectForCookie):
245 (WebCore::buildArrayForCookies):
246 (WebCore::InspectorPageAgent::getCookies):
247 (WebCore::InspectorPageAgent::getResourceTree):
248 (WebCore::InspectorPageAgent::searchInResource):
249 (WebCore::InspectorPageAgent::searchInResources):
250 (WebCore::InspectorPageAgent::buildObjectForFrame):
251 (WebCore::InspectorPageAgent::buildObjectForFrameTree):
252 * inspector/InspectorPageAgent.h:
253 * inspector/InspectorRuntimeAgent.cpp:
254 (WebCore::InspectorRuntimeAgent::evaluate):
255 (WebCore::InspectorRuntimeAgent::callFunctionOn):
257 2012-03-16 Kentaro Hara <haraken@chromium.org>
259 The IDL parser should support sequence<T> type
260 https://bugs.webkit.org/show_bug.cgi?id=81345
262 Reviewed by Adam Barth.
264 This patch makes the IDL parser support sequence<T> type.
265 This patch just makes sequence<T> parseable, and the generated code
266 for sequence<T> is wrong. This issue will be soon fixed in bug 80696.
267 This is a preparing patch for bug 80696.
269 Test: bindings/scripts/test/TestObj.idl
271 * bindings/scripts/test/TestObj.idl: Added tests for sequence<T>.
273 * bindings/scripts/IDLStructure.pm: Updated the regular expressions to support sequence<T>.
275 * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
276 (WebDOMTestObj::sequenceAttr):
277 (WebDOMTestObj::setSequenceAttr):
278 (WebDOMTestObj::methodWithSequenceArg):
279 (WebDOMTestObj::methodReturningSequence):
280 * bindings/scripts/test/CPP/WebDOMTestObj.h:
281 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
282 (webkit_dom_test_obj_method_with_sequence_arg):
283 (webkit_dom_test_obj_method_returning_sequence):
284 (webkit_dom_test_obj_get_sequence_attr):
285 (webkit_dom_test_obj_set_sequence_attr):
286 (webkit_dom_test_obj_get_property):
287 (webkit_dom_test_obj_class_init):
288 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
289 * bindings/scripts/test/JS/JSTestObj.cpp:
291 (WebCore::jsTestObjSequenceAttr):
292 (WebCore::setJSTestObjSequenceAttr):
293 (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
294 (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
295 * bindings/scripts/test/JS/JSTestObj.h:
297 * bindings/scripts/test/ObjC/DOMTestObj.h:
298 * bindings/scripts/test/ObjC/DOMTestObj.mm:
299 (-[DOMTestObj sequenceAttr]):
300 (-[DOMTestObj setSequenceAttr:]):
301 (-[DOMTestObj methodWithSequenceArg:]):
302 (-[DOMTestObj methodReturningSequence:]):
303 * bindings/scripts/test/V8/V8TestObj.cpp:
304 (WebCore::TestObjInternal::sequenceAttrAttrGetter):
306 (WebCore::TestObjInternal::sequenceAttrAttrSetter):
307 (WebCore::TestObjInternal::methodWithSequenceArgCallback):
308 (WebCore::TestObjInternal::methodReturningSequenceCallback):
310 (WebCore::ConfigureV8TestObjTemplate):
312 2012-03-16 Ilya Tikhonovsky <loislo@chromium.org>
314 Web Inspector: HeapSnapshot: merge two long operations into one.
315 https://bugs.webkit.org/show_bug.cgi?id=81347
317 Reviewed by Yury Semikhatsky.
319 * inspector/front-end/HeapSnapshot.js:
320 (WebInspector.HeapSnapshot.prototype.aggregates):
321 (WebInspector.HeapSnapshot.prototype._buildAggregates):
322 (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):
324 2012-03-16 Gavin Peters <gavinp@chromium.org>
326 Add asserts and improve logging in PageCache.
327 https://bugs.webkit.org/show_bug.cgi?id=81179
329 Reviewed by Brady Eidson.
331 The early exits from logCanCacheFrameDecision had the potential to skew histogram data. Moving
332 the DocumentLoader check to the top, but eliminating the early exits is a compromise that keeps
333 the logged data mostly accurate.
335 * history/PageCache.cpp:
336 (WebCore::logCanCacheFrameDecision):
338 2012-03-16 Yoshifumi Inoue <yosin@chromium.org>
340 [Forms] label.form attribute doesn't work
341 https://bugs.webkit.org/show_bug.cgi?id=80499
343 Reviewed by Kent Tamura.
345 This patch changes implementation of label.form of IDL attribute to
346 compute it to the form element specified by the "form" HTML attribute
347 or form ancestor when the "form" HTML attribute isn't in HTML.
349 This patch introduces new function FormAssociatedElement::findAssociatedForm
350 for sharing code among FormAssociateElement::insertedIntoTree, resetFormOwner
351 and HTMLLabelElement::form.
353 No new tests. Update existing tests.
355 * html/FormAssociatedElement.cpp:
356 (WebCore::FormAssociatedElement::findAssociatedForm): Added.
358 (WebCore::FormAssociatedElement::insertedIntoTree):
359 (WebCore::FormAssociatedElement::resetFormOwner):
360 * html/FormAssociatedElement.h:
361 (FormAssociatedElement):
362 * html/HTMLLabelElement.cpp: Remove unused include files
363 (WebCore::HTMLLabelElement::form): Added.
365 2012-03-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
367 Use the normalize method of FloatPoint instead of normalizing manually
368 https://bugs.webkit.org/show_bug.cgi?id=81343
370 Reviewed by Simon Hausmann.
372 * platform/graphics/TiledBackingStore.cpp:
373 (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
374 (WebCore::TiledBackingStore::computeCoverAndKeepRect):
376 2012-03-16 Kentaro Hara <haraken@chromium.org>
378 Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl
379 https://bugs.webkit.org/show_bug.cgi?id=79636
381 Reviewed by Adam Barth.
383 For WebKit modularization, this patch moves Notifications-related APIs
384 from DOMWindow.idl to DOMWindowNotifications.idl.
386 Tests: fast/notifications/* (No change in test results)
388 * CMakeLists.txt: Added DOMWindowNotifications.{h,cpp,idl}.
389 * DerivedSources.make: Ditto.
390 * DerivedSources.pri: Ditto.
391 * GNUmakefile.list.am: Ditto.
393 * WebCore.gypi: Ditto.
394 * WebCore.vcproj/WebCore.vcproj: Ditto.
396 * WebCore.exp.in: Added mangled signatures of webkitNotifications().
398 * notifications/DOMWindowNotifications.cpp: Added.
400 (WebCore::DOMWindowNotifications::DOMWindowNotifications):
401 (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
402 (WebCore::DOMWindowNotifications::from):
403 (WebCore::DOMWindowNotifications::webkitNotifications):
404 (WebCore::DOMWindowNotifications::ensureWebkitNotifications):
405 (WebCore::DOMWindowNotifications::disconnectFrame):
406 * notifications/DOMWindowNotifications.h: Added.
408 (DOMWindowNotifications):
409 * notifications/DOMWindowNotifications.idl: Added.
411 * page/DOMWindow.cpp: Removed ENABLE(NOTIFICATIONS).
412 (WebCore::DOMWindow::~DOMWindow):
413 (WebCore::DOMWindow::willDetachPage):
414 (WebCore::DOMWindow::clear):
415 * page/DOMWindow.h: Ditto.
418 * page/DOMWindow.idl: Ditto.
419 * page/Frame.cpp: Ditto.
420 (WebCore::Frame::willDetachPage):
421 (WebCore::Frame::transferChildFrameToNewDocument):
423 2012-03-16 Kentaro Hara <haraken@chromium.org>
425 [Performance] Optimize innerHTML and outerHTML
426 https://bugs.webkit.org/show_bug.cgi?id=81214
428 Reviewed by Adam Barth.
430 This patch makes innerHTML and outerHTML 2.4 times faster.
432 Performance test: https://bugs.webkit.org/attachment.cgi?id=132034
433 The performance test measures body.innerHTML for 3000 lines of HTML,
434 which is copied from the HTML spec.
436 - Chromium/Mac without the patch
437 div.innerHTML: 1658.6 ms
438 div.outerHTML: 4859.6 ms
439 body.innerHTML: 640.2 ms
440 body.outerHTML: 641.8 ms
442 - Chromium/Mac with the patch
443 div.innerHTML: 751.0 ms
444 div.outerHTML: 2096.0 ms
445 body.innerHTML: 271.2 ms
446 body.outerHTML: 271.2 ms
448 - Chromium/Linux without the patch
449 div.innerHTML: 950.4 ms
450 div.outerHTML: 2257.8 ms
451 body.innerHTML: 452.8 ms
452 body.outerHTML: 457.6 ms
454 - Chromium/Linux with the patch
455 div.innerHTML: 582.4 ms
456 div.outerHTML: 1283.0 ms
457 body.innerHTML: 233.0 ms
458 body.outerHTML: 233.4 ms
460 - AppleWebKit/Mac without the patch
461 div.innerHTML: 900.6 ms
462 div.outerHTML: 2245.2 ms
463 body.innerHTML: 462.6 ms
464 body.outerHTML: 468.0 ms
466 - AppleWebKit/Mac with the patch
467 div.innerHTML: 529.8 ms
468 div.outerHTML: 1090.2 ms
469 body.innerHTML: 239.2 ms
470 body.outerHTML: 239.2 ms
472 This patch applies the following two optimizations:
474 (a) Remove redundant copies between Vector<String> and StringBuilders
475 in MarkupAccumulator::serializeNodes(), MarkupAccumulator::appendStartTag(),
476 and MarkupAccumulator::appendEndTag().
479 - Create a StringBuilder for each tag.
480 - Append a created string in each StringBuilder to Vector<String>,
481 parsing the DOM tree.
482 - After the parsing, allocate a StringBuilder whose size is the sum
483 of all Strings in Vector<String>.
484 - Append all Strings in Vector<String> to the StringBuilder.
486 - Allocate a StringBuilder with a default buffer size.
487 - Append created strings to the StringBuilder, incrementally parsing
490 (b) Optimize stringBuilder.append().
491 (b-1) Replace stringBuilder.append("A") with stringBuilder.append('A').
492 stringBuilder.append("A") requires to cast the characters to LChar*,
493 and then call strlen("A"). stringBuilder.append('A') is faster.
494 (b-2) Replace stringBuilder.append("AB") with stringBuilder.append('A')
495 and stringBuilder.append('B'). In my experiment, appending characters
496 one by one is faster than appending the characters at a breath if the
497 number of characters is less than 3.
498 (b-3) Hard-code a string length; i.e. replace stringBuilder.append("ABCDE")
499 with stringBuilder.append("ABCDE", 5). While the former requires to call
500 strlen("ABCDE"), the latter does not.
502 (a) improves performance by 170% ~ 200%. (b) improves performance by 30 ~ 40%.
504 Tests: fast/dom/Range/range-extract-contents.html
505 fast/dom/serialize-nodes.xhtml
506 fast/dom/XMLSerializer.html
507 and all other tests that use innerHTML or outerHTML.
508 No change in the test results.
510 * editing/MarkupAccumulator.cpp:
511 (WebCore::MarkupAccumulator::serializeNodes):
512 (WebCore::MarkupAccumulator::appendString):
513 (WebCore::MarkupAccumulator::appendStartTag):
514 (WebCore::MarkupAccumulator::appendEndTag):
515 (WebCore::MarkupAccumulator::concatenateMarkup):
516 (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
517 (WebCore::MarkupAccumulator::appendComment):
518 (WebCore::MarkupAccumulator::appendDocumentType):
519 (WebCore::MarkupAccumulator::appendProcessingInstruction):
520 (WebCore::MarkupAccumulator::appendOpenTag):
521 (WebCore::MarkupAccumulator::appendAttribute):
522 (WebCore::MarkupAccumulator::appendCDATASection):
523 * editing/MarkupAccumulator.h:
526 2012-03-16 Kihong Kwon <kihong.kwon@samsung.com>
528 Support for Battery Status API
529 https://bugs.webkit.org/show_bug.cgi?id=62698
531 Battery Status API is implemented under the Navigator class.
532 Battery Status API has four types of events, and all events are operated based on a callback mechanism.
533 : onchargingchange, onchargingtimechange, ondischargingtimechange, onlevelchange.
534 The battery status can be accessed using BatteryManager(navigator.webkitBattery), and battery status is controlled by BatteryController which manages instances of BatteryManager.
535 When battery status event is raised, BatteryController calls all registered BatteryManager's event dispatcher.
536 http://www.w3.org/TR/battery-status/
538 Reviewed by Adam Barth.
540 Tests: batterystatus/add-listener-from-callback.html
541 batterystatus/basic-all-types-of-events.html
542 batterystatus/basic-operation.html
543 batterystatus/event-after-navigation.html
544 batterystatus/multiple-frames.html
545 batterystatus/updates.html
546 batterystatus/window-property.html
549 * Modules/battery/BatteryClient.h: Added.
552 (WebCore::BatteryClient::~BatteryClient):
553 * Modules/battery/BatteryController.cpp: Added.
555 (WebCore::BatteryController::BatteryController):
556 (WebCore::BatteryController::~BatteryController):
557 (WebCore::BatteryController::create):
558 (WebCore::BatteryController::addListener):
559 (WebCore::BatteryController::removeListener):
560 (WebCore::BatteryController::didChangeBatteryStatus):
561 (WebCore::BatteryController::supplementName):
562 (WebCore::BatteryController::isActive):
563 (WebCore::provideBatteryTo):
564 * Modules/battery/BatteryController.h: Added.
567 (WebCore::BatteryController::client):
568 (WebCore::BatteryController::from):
569 * Modules/battery/BatteryManager.cpp: Added.
571 (WebCore::BatteryManager::create):
572 (WebCore::BatteryManager::~BatteryManager):
573 (WebCore::BatteryManager::BatteryManager):
574 (WebCore::BatteryManager::charging):
575 (WebCore::BatteryManager::chargingTime):
576 (WebCore::BatteryManager::dischargingTime):
577 (WebCore::BatteryManager::level):
578 (WebCore::BatteryManager::didChangeBatteryStatus):
579 (WebCore::BatteryManager::suspend):
580 (WebCore::BatteryManager::resume):
581 (WebCore::BatteryManager::stop):
582 * Modules/battery/BatteryManager.h: Added.
585 (WebCore::BatteryManager::interfaceName):
586 (WebCore::BatteryManager::scriptExecutionContext):
587 (WebCore::BatteryManager::batteryControllerDestroyed):
588 (WebCore::BatteryManager::canSuspend):
589 (WebCore::BatteryManager::eventTargetData):
590 (WebCore::BatteryManager::ensureEventTargetData):
591 (WebCore::BatteryManager::refEventTarget):
592 (WebCore::BatteryManager::derefEventTarget):
593 * Modules/battery/BatteryManager.idl: Added.
594 * Modules/battery/BatteryStatus.cpp: Added.
596 (WebCore::BatteryStatus::create):
597 (WebCore::BatteryStatus::BatteryStatus):
598 * Modules/battery/BatteryStatus.h: Added.
601 (WebCore::BatteryStatus::charging):
602 (WebCore::BatteryStatus::chargingTime):
603 (WebCore::BatteryStatus::dischargingTime):
604 (WebCore::BatteryStatus::level):
605 * Modules/battery/NavigatorBattery.cpp: Added.
607 (WebCore::NavigatorBattery::NavigatorBattery):
608 (WebCore::NavigatorBattery::~NavigatorBattery):
609 (WebCore::NavigatorBattery::webkitBattery):
610 (WebCore::NavigatorBattery::from):
611 (WebCore::NavigatorBattery::batteryManager):
612 * Modules/battery/NavigatorBattery.h: Added.
615 * Modules/battery/NavigatorBattery.idl: Added.
618 * dom/EventTargetFactory.in:
619 * testing/Internals.cpp:
620 (WebCore::Internals::setBatteryStatus):
622 * testing/Internals.h:
624 * testing/Internals.idl:
626 2012-03-16 Ilya Tikhonovsky <loislo@chromium.org>
628 Web Inspector: HeapSnapshot: speedup buildReverseIndex.
629 https://bugs.webkit.org/show_bug.cgi?id=81327
631 Reviewed by Yury Semikhatsky.
633 * inspector/front-end/HeapSnapshot.js:
634 (WebInspector.HeapSnapshot.prototype.get maxNodeId):
635 (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
636 (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
637 (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
638 (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
639 (WebInspector.HeapSnapshot.prototype):
641 2012-03-16 Sheriff Bot <webkit.review.bot@gmail.com>
643 Unreviewed, rolling out r110976.
644 http://trac.webkit.org/changeset/110976
645 https://bugs.webkit.org/show_bug.cgi?id=81330
647 webkit_unit_tests crashes. (Requested by morrita on #webkit).
649 * loader/cache/CachedCSSStyleSheet.cpp:
650 (WebCore::CachedCSSStyleSheet::error):
652 * loader/cache/CachedCSSStyleSheet.h:
653 (CachedCSSStyleSheet):
654 * loader/cache/CachedFont.cpp:
656 (WebCore::CachedFont::error):
657 * loader/cache/CachedFont.h:
659 * loader/cache/CachedImage.cpp:
660 (WebCore::CachedImage::error):
661 * loader/cache/CachedResource.h:
663 * loader/cache/CachedScript.cpp:
664 (WebCore::CachedScript::error):
666 * loader/cache/CachedScript.h:
668 * loader/cache/CachedXSLStyleSheet.cpp:
669 (WebCore::CachedXSLStyleSheet::error):
671 * loader/cache/CachedXSLStyleSheet.h:
672 (CachedXSLStyleSheet):
674 2012-03-16 Luke Macpherson <macpherson@chromium.org>
676 Implement cast between CSSPrimitiveValue and LineClampValue.
677 https://bugs.webkit.org/show_bug.cgi?id=76806
679 Reviewed by Andreas Kling.
681 Covered by many existing LayoutTests.
683 This simplifies code in CSSStyleSelector and future mapping to CSSStyleApplyProperty.
685 * css/CSSPrimitiveValueMappings.h:
686 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
687 (WebCore::CSSPrimitiveValue::operator LineClampValue):
688 * css/CSSStyleSelector.cpp:
689 (WebCore::CSSStyleSelector::applyProperty):
691 2012-03-16 Nat Duca <nduca@chromium.org>
693 [chromium] Bump textureUpdatesPerFrame to 32 to favor updating the screen over jank prevention
694 https://bugs.webkit.org/show_bug.cgi?id=81298
696 Reviewed by James Robinson.
698 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
701 2012-03-16 Levi Weintraub <leviw@chromium.org>
703 Update usage of LayoutUnits in RenderBlock*
704 https://bugs.webkit.org/show_bug.cgi?id=80437
706 Reviewed by Julien Chaffraix.
708 Updating LayoutUnit usage in RenderBlock and RenderBlockLineLayout. This better readies trunk for
709 the transition to subpixel layout.
711 See https://trac.webkit.org/wiki/LayoutUnit for more details.
713 No new tests. No changed behavior.
715 * rendering/InlineTextBox.cpp:
716 (WebCore::InlineTextBox::paint): Adding the paint offset rounding previously in RenderBlock::paint.
717 * rendering/LayoutTypes.h:
718 (WebCore::floorToInt): Will floor a LayoutUnit to an integer once we switch to
719 FractionalLayoutUnits.
720 (WebCore::boundedMultiply): Method that will return the multiplied result of two LayoutUnits
721 or the max/min LayoutUnit if the result overflows. Only does a regular multiply while
722 LayoutUnits are integers instead of FractionalLayoutUnits.
724 * rendering/RenderBlock.cpp:
725 (WebCore::RenderBlock::paintContents): Rounding the paintOffset here didn't work for all
726 inline blocks. This rounding is actually only needed for InlineTextBoxes, so the logic has
728 (WebCore::RenderBlock::newLine): Use a LayoutUnit for the y position.
729 (WebCore::RenderBlock::isPointInOverflowControl): Points for hit testing need to be rounded.
730 (WebCore::RenderBlock::layoutColumns): Using boundedMultiply for a calculation prone to overflow.
731 (WebCore::updatePreferredWidth): Reverting back to using ceilf. ceiledLayoutUnit was to be ultimately
732 converted to just a straight LayoutUnit constructor to preserve precision. This precision doesn't work
733 for us here as we still paint Boxes/Blocks on pixel boundaries, so we need to expand to a pixel size
734 that encloses the contained text.
735 (WebCore::RenderBlock::setPageLogicalOffset): LogicalOffset should be a LayoutUnit.
736 (WebCore::RenderBlock::marginValuesForChild): Margins should have subpixel resolution.
737 (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject): Intervals for floating objects
738 need to use pixel snapped values to give the proper results.
739 * rendering/RenderBlock.h:
740 (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Only moved.
741 (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine): While we can round the left offset,
742 columns add an extra offset at paint that can't currently be planned for at line-layout time. To
743 avoid laying out lines that run off the end of columns, we floor the right offset. The resulting
744 lines will be up to 1 pixel shorter than they potentially could be.
746 (WebCore::RenderBlock::FloatingObject::pixelSnappedX): Using corresponding pixelSnappedX value from
748 (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX): Ditto.
749 (WebCore::RenderBlock::FloatingObject::pixelSnappedY): Ditto.
750 (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY): Ditto.
751 (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth): Ditto.
752 (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight): Ditto.
753 * rendering/RenderBlockLineLayout.cpp:
754 (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): LogicalHeight is a LayoutUnit. Also
755 flooring textIndentOffset to an integer to match old behavior.
756 (WebCore::LineWidth::fitBelowFloats): Using LayoutUnits for float logical top and bottoms.
757 (WebCore::LineLayoutState::endLineLogicalTop): Changing to a LayoutUnit.
758 (WebCore::LineLayoutState::setEndLineLogicalTop): Ditto.
759 (LineLayoutState): Ditto.
760 (WebCore::RenderBlock::linkToEndLineIfNeeded): Calculating overflow with LayoutUnits.
761 (WebCore::RenderBlock::layoutInlineChildren): LowestAllowedPosition should be subpixel.
762 (WebCore::RenderBlock::checkLinesForTextOverflow): Reverting ellipsis width calculation to integers
763 as this value can be seen as representing pixels on screen.
765 2012-03-15 Kenneth Rohde Christiansen <kenneth@webkit.org>
767 Follow up to: window.innerWidth/Height should not include page scale
768 https://bugs.webkit.org/show_bug.cgi?id=76555
770 Reviewed by Simon Hausmann.
772 Introduce mapping methods for converting between CSS and layout units.
774 * page/DOMWindow.cpp:
775 (WebCore::DOMWindow::innerHeight):
776 (WebCore::DOMWindow::innerWidth):
777 (WebCore::DOMWindow::scrollX):
778 (WebCore::DOMWindow::scrollY):
779 (WebCore::DOMWindow::scrollTo):
782 (WebCore::FrameView::mapFromLayoutToCSSUnits):
784 (WebCore::FrameView::mapFromCSSToLayoutUnits):
786 2012-03-16 Ian Vollick <vollick@chromium.org>
788 [chromium] Threaded opacity animation jump to opacity of 0
789 https://bugs.webkit.org/show_bug.cgi?id=80744
791 Reviewed by James Robinson.
793 Tested in CCLayerTreeHostTestDoNotSkipLayersWithAnimatedOpacity
795 * platform/graphics/chromium/LayerChromium.cpp:
796 (WebCore::LayerChromium::LayerChromium):
797 (WebCore::LayerChromium::opacityIsAnimating):
799 (WebCore::LayerChromium::transformIsAnimating):
800 * platform/graphics/chromium/LayerChromium.h:
802 (WebCore::LayerChromium::drawOpacityIsAnimating):
803 (WebCore::LayerChromium::setDrawOpacityIsAnimating):
804 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
805 (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
806 * platform/graphics/chromium/RenderSurfaceChromium.h:
807 (WebCore::RenderSurfaceChromium::drawOpacityIsAnimating):
808 (WebCore::RenderSurfaceChromium::setDrawOpacityIsAnimating):
809 (RenderSurfaceChromium):
810 * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
811 (WebCore::CCLayerAnimationController::isAnimatingProperty):
813 * platform/graphics/chromium/cc/CCLayerAnimationController.h:
814 (CCLayerAnimationController):
815 * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
816 (WebCore::CCLayerAnimationControllerImpl::isAnimatingProperty):
818 * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
819 (CCLayerAnimationControllerImpl):
820 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
821 (WebCore::CCLayerImpl::CCLayerImpl):
822 (WebCore::CCLayerImpl::opacityIsAnimating):
824 (WebCore::CCLayerImpl::transformIsAnimating):
825 * platform/graphics/chromium/cc/CCLayerImpl.h:
827 (WebCore::CCLayerImpl::drawOpacityIsAnimating):
828 (WebCore::CCLayerImpl::setDrawOpacityIsAnimating):
829 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
830 (WebCore::CCLayerTreeHost::paintLayerContents):
831 (WebCore::CCLayerTreeHost::updateCompositorResources):
832 * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
833 (WebCore::layerShouldBeSkipped):
834 (WebCore::subtreeShouldBeSkipped):
836 (WebCore::LayerChromium):
837 (WebCore::calculateDrawTransformsAndVisibilityInternal):
838 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
839 (WebCore::CCRenderSurface::CCRenderSurface):
840 * platform/graphics/chromium/cc/CCRenderSurface.h:
841 (WebCore::CCRenderSurface::drawOpacityIsAnimating):
842 (WebCore::CCRenderSurface::setDrawOpacityIsAnimating):
845 2012-03-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
847 [TexMap] Reuse textures following the same rules as they do internally.
848 https://bugs.webkit.org/show_bug.cgi?id=80843
850 Reviewed by Noam Rosenthal.
852 BitmapTextures were recently changed to be the same size as their contents.
853 This would obsolete the logic in acquireTextureFromPool which would
854 assume that a BitmapTexture has good chances of being reused if its
855 size is bigger or equal to the new size.
857 This asks the texture instead if it can be reused which now simply
858 check for an exact size match.
860 * platform/graphics/texmap/TextureMapper.cpp:
861 (WebCore::TextureMapper::acquireTextureFromPool):
862 * platform/graphics/texmap/TextureMapper.h:
863 (WebCore::BitmapTexture::canReuseWith):
864 (WebCore::BitmapTexture::reset):
865 (WebCore::BitmapTexture::didReset):
866 * platform/graphics/texmap/TextureMapperGL.cpp:
867 (WebCore::BitmapTextureGL::canReuseWith):
869 * platform/graphics/texmap/TextureMapperGL.h:
872 2012-03-16 Robert Kroeger <rjkroege@chromium.org>
874 Connect up fling event delivery to gesture curve animation framework
875 https://bugs.webkit.org/show_bug.cgi?id=80858
877 Reviewed by Adam Barth.
879 * platform/ScrollAnimatorNone.cpp:
880 (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
882 2012-03-16 Nate Chapin <japhet@chromium.org>
884 Remove duplicate error() impls in CachedResource subclasses
885 https://bugs.webkit.org/show_bug.cgi?id=81161
887 Reviewed by Alexey Proskuryakov.
889 No new tests, refactor only.
891 * loader/cache/CachedCSSStyleSheet.cpp:
892 * loader/cache/CachedCSSStyleSheet.h:
893 * loader/cache/CachedFont.cpp:
894 * loader/cache/CachedFont.h:
895 * loader/cache/CachedImage.cpp:
896 * loader/cache/CachedResource.h: Make checkNotify()
897 virtual, so the right checkNotify() gets called in error().
898 * loader/cache/CachedScript.cpp:
899 * loader/cache/CachedScript.h:
900 * loader/cache/CachedXSLStyleSheet.cpp:
901 * loader/cache/CachedXSLStyleSheet.h:
903 2012-03-16 Dana Jansens <danakj@chromium.org>
905 [chromium] Changes to overdraw metrics to allow upload tracking
906 https://bugs.webkit.org/show_bug.cgi?id=81222
908 Reviewed by Adrienne Walker.
910 Stick CCOverdrawMetrics into CCOcclusionTracker, so that it is available
911 everywhere that culling/drawing/painting is going on. Then we can stop
912 plumbing a metrics object through CCQuadCuller.
914 Rename the CCOverdrawMetrics "painting" stuff to "uploading" as this will
915 measure texture uploads rather than pixels painted in main memory.
917 Covered by existing tests.
919 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
920 (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
921 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
922 (WebCore::::CCOcclusionTrackerBase):
923 * platform/graphics/chromium/cc/CCOcclusionTracker.h:
924 (CCOcclusionTrackerBase):
925 (WebCore::CCOcclusionTrackerBase::overdrawMetrics):
926 * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
927 (WebCore::CCOverdrawMetrics::didCull):
929 (WebCore::CCOverdrawMetrics::didDraw):
930 (WebCore::CCOverdrawMetrics::recordMetrics):
931 (WebCore::CCOverdrawMetrics::recordMetricsInternal):
932 * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
934 (WebCore::CCOverdrawMetrics::create):
936 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
937 (WebCore::CCQuadCuller::CCQuadCuller):
938 (WebCore::CCQuadCuller::append):
939 * platform/graphics/chromium/cc/CCQuadCuller.h:
941 * platform/graphics/chromium/cc/CCRenderPass.cpp:
942 (WebCore::CCRenderPass::appendQuadsForLayer):
943 * platform/graphics/chromium/cc/CCRenderPass.h:
947 2012-03-16 Greg Billock <gbillock@google.com>
949 Add TransferList IDL modifier, with support in V8 code gen.
950 https://bugs.webkit.org/show_bug.cgi?id=81127
952 Reviewed by Adam Barth.
954 * bindings/scripts/CodeGeneratorV8.pm:
955 (GenerateFunctionCallback):
957 (GenerateParametersCheck):
958 (GenerateConstructorCallback):
959 (GenerateNamedConstructorCallback):
960 (GenerateFunctionCallString):
961 * bindings/scripts/IDLAttributes.txt:
962 * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
963 (WebDOMTestSerializedScriptValueInterface::acceptTransferList):
964 * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
965 (WebDOMTestSerializedScriptValueInterface):
966 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
967 (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
968 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
969 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
970 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
971 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
973 (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertySlot):
974 (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertyDescriptor):
975 (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
976 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
977 (JSTestSerializedScriptValueInterfacePrototype):
979 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
980 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
981 (-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
982 * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
983 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
984 (WebCore::TestSerializedScriptValueInterfaceInternal::acceptTransferListCallback):
985 (TestSerializedScriptValueInterfaceInternal):
987 (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
988 (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
990 2012-03-16 Dana Jansens <danakj@chromium.org>
992 [chromium] Quads that become fully opaque after culling should not use blending
993 https://bugs.webkit.org/show_bug.cgi?id=81235
995 Reviewed by Adrienne Walker.
997 Unit test: CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers
999 * platform/graphics/chromium/cc/CCDrawQuad.h:
1000 (WebCore::CCDrawQuad::needsBlending):
1002 2012-03-16 Xiaomei Ji <xji@chromium.org>
1004 Using ICU break iterator to simplify visual word movement implementation.
1005 https://bugs.webkit.org/show_bug.cgi?id=78856
1007 Reviewed by Ryosuke Niwa.
1009 This patch relies on ICU word break iterator and cursor visual movement by character to get the word break
1010 position in visual order. It reduces the complexity of old implementation.
1012 Test: editing/selection/move-by-word-visually-wrong-left-right.html
1014 * editing/FrameSelection.cpp: Exclude WinCE from visual word movement since isWordTextBreak is not implemented.
1015 (WebCore::FrameSelection::modifyMovingRight):
1016 (WebCore::FrameSelection::modifyMovingLeft):
1017 * editing/visible_units.cpp:
1019 (WebCore::previousLeafWithSameEditability): Just moving to the top without functionality change.
1020 (WebCore::enclosingNodeWithNonInlineRenderer): ditto.
1021 (WebCore::nextLeafWithSameEditability): ditto.
1022 (WebCore::previousRootInlineBox): return previous RootInlineBox which is in different renderer.
1023 (WebCore::nextRootInlineBox): return next RootInlineBox which is in different renderer.
1024 (WebCore::boxIndexInVector):
1025 (WebCore::previousBoxInLine): returns logically previous box in one line.
1026 (WebCore::logicallyPreviousBox): returns logically previous box.
1027 (WebCore::nextBoxInLine): returns logically next box in one line.
1028 (WebCore::logicallyNextBox): returns logically next box.
1029 (WebCore::wordBreakIteratorForMinOffsetBoundary): create word break iterator for position that is a box's min offset.
1030 (WebCore::wordBreakIteratorForMaxOffsetBoundary): create word break iterator for position that is a box's max offset.
1031 (WebCore::isLogicalStartOfWord): return whether a position is logically start of word.
1032 (WebCore::islogicalEndOfWord): return whether a position is logically end of word.
1033 (WebCore::visualWordPosition): returns the visual left or right word position.
1034 (WebCore::leftWordPosition):
1035 (WebCore::rightWordPosition):
1036 * platform/text/TextBreakIterator.h: Add isWordTextBreak().
1038 * platform/text/TextBreakIteratorICU.cpp:
1039 (WebCore::isWordTextBreak):
1041 * platform/text/gtk/TextBreakIteratorGtk.cpp:
1042 (WebCore::isWordTextBreak):
1044 * platform/text/qt/TextBreakIteratorQt.cpp:
1045 (WebCore::isWordTextBreak):
1047 * platform/text/wince/TextBreakIteratorWinCE.cpp:
1048 (WebCore::isWordTextBreak):
1051 2012-03-16 Dana Jansens <danakj@chromium.org>
1053 [chromium] Don't create a quad for video layers without a frame (avoid use of uninitialized m_format)
1054 https://bugs.webkit.org/show_bug.cgi?id=81250
1056 Reviewed by James Robinson.
1058 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1059 (WebCore::CCVideoLayerImpl::appendQuads):
1061 2012-03-16 Hajime Morrita <morrita@chromium.org>
1063 Unreviewed attempt to fix Chromium windows build.
1065 * Modules/speech/SpeechRecognition.h:
1066 (SpeechRecognition):
1068 2012-03-16 Mark Pilgrim <pilgrim@chromium.org>
1070 Move DOMWindowFileSystem to Modules/filesystem/
1071 https://bugs.webkit.org/show_bug.cgi?id=81030
1073 Reviewed by Adam Barth.
1075 No new tests, all existing tests pass.
1078 * DerivedSources.make:
1079 * DerivedSources.pri:
1081 * GNUmakefile.list.am:
1082 * Modules/filesystem/DOMWindowFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.cpp.
1083 * Modules/filesystem/DOMWindowFileSystem.h: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.h.
1084 * Modules/filesystem/DOMWindowFileSystem.idl: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.idl.
1086 * WebCore.gyp/WebCore.gyp:
1088 * WebCore.vcproj/WebCore.vcproj:
1089 * WebCore.vcproj/WebCoreCommon.vsprops:
1090 * WebCore.vcproj/copyForwardingHeaders.cmd:
1091 * fileapi/DOMWindowFileSystem.cpp: Removed.
1092 * fileapi/DOMWindowFileSystem.h: Removed.
1093 * fileapi/DOMWindowFileSystem.idl: Removed.
1095 2012-03-16 Sheriff Bot <webkit.review.bot@gmail.com>
1097 Unreviewed, rolling out r110951.
1098 http://trac.webkit.org/changeset/110951
1099 https://bugs.webkit.org/show_bug.cgi?id=81316
1101 Does not build on apple-mac (Requested by abarth on #webkit).
1103 * platform/audio/DynamicsCompressor.h:
1104 (DynamicsCompressor):
1105 * webaudio/DynamicsCompressorNode.cpp:
1106 (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
1107 (WebCore::DynamicsCompressorNode::process):
1108 * webaudio/DynamicsCompressorNode.h:
1109 (DynamicsCompressorNode):
1110 * webaudio/DynamicsCompressorNode.idl:
1112 2012-03-16 Seo Sanghyeon <sh4.seo@samsung.com>
1114 Cleanup empty attribute list in IDLs
1115 https://bugs.webkit.org/show_bug.cgi?id=81228
1117 Reviewed by Adam Barth.
1119 No tests. No change in behavior.
1121 * css/WebKitCSSRegionRule.idl:
1123 2012-03-16 Pratik Solanki <psolanki@apple.com>
1125 onorientationchange event should have JSWindowEventListener attribute
1126 https://bugs.webkit.org/show_bug.cgi?id=79513
1128 Reviewed by Kentaro Hara.
1130 * html/HTMLFrameSetElement.idl:
1132 2012-03-15 Gao Chun <chun.gao@intel.com>
1134 Expose attack, release as DynamicsCompressorNode's attributes.
1135 https://bugs.webkit.org/show_bug.cgi?id=81221
1137 Reviewed by Chris Rogers.
1139 Test: webaudio/dynamicscompressor-basic.html
1141 * platform/audio/DynamicsCompressor.h:
1142 (DynamicsCompressor):
1143 * webaudio/DynamicsCompressorNode.cpp:
1144 (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
1145 (WebCore::DynamicsCompressorNode::process):
1146 * webaudio/DynamicsCompressorNode.h:
1147 (WebCore::DynamicsCompressorNode::attack):
1148 (WebCore::DynamicsCompressorNode::release):
1149 (DynamicsCompressorNode):
1150 * webaudio/DynamicsCompressorNode.idl:
1152 2012-03-15 Hans Wennborg <hans@chromium.org>
1154 Speech JavaScript API: SpeechRecognition, Controller and Client
1155 https://bugs.webkit.org/show_bug.cgi?id=81096
1157 Reviewed by Adam Barth.
1159 Add implementation stub for SpeechRecognition. Add the
1160 SpeechRecognitionController class and SpeechRecognitionClient
1163 Test: fast/speech/scripted/basics.html
1165 * Modules/speech/DOMWindowSpeech.idl:
1166 * Modules/speech/SpeechRecognition.cpp: Added.
1168 (WebCore::SpeechRecognition::create):
1169 (WebCore::SpeechRecognition::start):
1170 (WebCore::SpeechRecognition::stopFunction):
1171 (WebCore::SpeechRecognition::abort):
1172 (WebCore::SpeechRecognition::audioStartCallback):
1173 (WebCore::SpeechRecognition::soundStartCallback):
1174 (WebCore::SpeechRecognition::speechStartCallback):
1175 (WebCore::SpeechRecognition::speechEndCallback):
1176 (WebCore::SpeechRecognition::audioEndCallback):
1177 (WebCore::SpeechRecognition::resultCallback):
1178 (WebCore::SpeechRecognition::noMatchCallback):
1179 (WebCore::SpeechRecognition::resultDeletedCallback):
1180 (WebCore::SpeechRecognition::errorCallback):
1181 (WebCore::SpeechRecognition::startCallback):
1182 (WebCore::SpeechRecognition::endCallback):
1183 (WebCore::SpeechRecognition::interfaceName):
1184 (WebCore::SpeechRecognition::scriptExecutionContext):
1185 (WebCore::SpeechRecognition::SpeechRecognition):
1186 (WebCore::SpeechRecognition::~SpeechRecognition):
1187 * Modules/speech/SpeechRecognition.h: Added.
1189 (SpeechRecognition):
1190 (WebCore::SpeechRecognition::grammars):
1191 (WebCore::SpeechRecognition::setGrammars):
1192 (WebCore::SpeechRecognition::lang):
1193 (WebCore::SpeechRecognition::setLang):
1194 (WebCore::SpeechRecognition::continuous):
1195 (WebCore::SpeechRecognition::setContinuous):
1196 * Modules/speech/SpeechRecognition.idl:
1197 * Modules/speech/SpeechRecognitionClient.h:
1199 (SpeechRecognitionClient):
1200 (WebCore::SpeechRecognitionClient::~SpeechRecognitionClient):
1201 * Modules/speech/SpeechRecognitionController.cpp:
1203 (WebCore::SpeechRecognitionController::supplementName):
1204 (WebCore::SpeechRecognitionController::SpeechRecognitionController):
1205 (WebCore::SpeechRecognitionController::~SpeechRecognitionController):
1206 (WebCore::SpeechRecognitionController::create):
1207 (WebCore::provideSpeechRecognitionTo):
1208 * Modules/speech/SpeechRecognitionController.h: Added.
1210 (SpeechRecognitionController):
1211 (WebCore::SpeechRecognitionController::start):
1212 (WebCore::SpeechRecognitionController::stop):
1213 (WebCore::SpeechRecognitionController::abort):
1214 (WebCore::SpeechRecognitionController::visibilityHidden):
1215 (WebCore::SpeechRecognitionController::unregisterSpeechRecognition):
1216 (WebCore::SpeechRecognitionController::from):
1218 * dom/EventTargetFactory.in:
1220 2012-03-15 Michal Ciepielski <m.ciepielski@samsung.com>
1222 [EFL] Sets alpha channel for new buffers.
1223 https://bugs.webkit.org/show_bug.cgi?id=77101
1225 Reviewed by Hajime Morita.
1229 By default EFL creates buffers without alpha channel.
1230 This causes improper rendering of HTML controls (i.e. radio buttons, checkboxes).
1231 This commits sets alpha channel for all newly created buffers by EFL.
1233 * platform/efl/RenderThemeEfl.cpp:
1234 (WebCore::RenderThemeEfl::cacheThemePartNew):
1236 2012-03-15 Sheriff Bot <webkit.review.bot@gmail.com>
1238 Unreviewed, rolling out r110941.
1239 http://trac.webkit.org/changeset/110941
1240 https://bugs.webkit.org/show_bug.cgi?id=81307
1242 the revert looks innocent. (Requested by morrita on #webkit).
1244 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1245 (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1246 * platform/graphics/chromium/Canvas2DLayerChromium.h:
1247 (Canvas2DLayerChromium):
1248 * platform/graphics/chromium/ContentLayerChromium.cpp:
1249 (WebCore::ContentLayerChromium::paintContentsIfDirty):
1250 (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1251 * platform/graphics/chromium/ContentLayerChromium.h:
1253 (ContentLayerChromium):
1254 * platform/graphics/chromium/ImageLayerChromium.cpp:
1255 (WebCore::ImageLayerChromium::paintContentsIfDirty):
1256 * platform/graphics/chromium/ImageLayerChromium.h:
1258 (ImageLayerChromium):
1259 * platform/graphics/chromium/LayerChromium.h:
1260 (WebCore::LayerChromium::paintContentsIfDirty):
1261 (WebCore::LayerChromium::idlePaintContentsIfDirty):
1262 * platform/graphics/chromium/TiledLayerChromium.cpp:
1263 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1264 (WebCore::TiledLayerChromium::prepareToUpdate):
1265 (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1266 * platform/graphics/chromium/TiledLayerChromium.h:
1267 (TiledLayerChromium):
1268 * platform/graphics/chromium/WebGLLayerChromium.cpp:
1269 (WebCore::WebGLLayerChromium::paintContentsIfDirty):
1270 * platform/graphics/chromium/WebGLLayerChromium.h:
1271 (WebGLLayerChromium):
1272 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1273 (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1274 (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1275 (WebCore::CCLayerTreeHost::paintLayerContents):
1276 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1278 2012-03-15 Tommy Widenflycht <tommyw@google.com>
1280 MediaStream API (JSEP): Introducing SessionDescription
1281 https://bugs.webkit.org/show_bug.cgi?id=81206
1283 Reviewed by Adam Barth.
1285 Patch #3 in a series of patches to change the PeerConnection from ROAP to JSEP,
1286 see bug 80589 for more information.
1287 Adding the SessionDescription JS object and its platform counterpart SessionDescriptionDescriptor.
1289 Not possible to test until the entire JSEP feature is commited.
1291 * GNUmakefile.list.am:
1292 * Modules/mediastream/SessionDescription.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1294 (WebCore::SessionDescription::create):
1295 (WebCore::SessionDescription::SessionDescription):
1296 (WebCore::SessionDescription::~SessionDescription):
1297 (WebCore::SessionDescription::addCandidate):
1298 (WebCore::SessionDescription::toSdp):
1299 (WebCore::SessionDescription::descriptor):
1300 * Modules/mediastream/SessionDescription.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1302 (SessionDescription):
1303 * Modules/mediastream/SessionDescription.idl: Added.
1305 * platform/mediastream/MediaStreamCenter.cpp:
1306 (WebCore::MediaStreamCenter::constructSdp):
1308 * platform/mediastream/MediaStreamCenter.h:
1310 (MediaStreamCenter):
1311 * platform/mediastream/SessionDescriptionDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1313 (WebCore::SessionDescriptionDescriptor::create):
1314 (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
1315 (WebCore::SessionDescriptionDescriptor::~SessionDescriptionDescriptor):
1316 (WebCore::SessionDescriptionDescriptor::addCandidate):
1317 (WebCore::SessionDescriptionDescriptor::toSdp):
1318 (WebCore::SessionDescriptionDescriptor::numberOfAddedCandidates):
1319 (WebCore::SessionDescriptionDescriptor::candidate):
1320 (WebCore::SessionDescriptionDescriptor::initialSdp):
1321 * platform/mediastream/SessionDescriptionDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1323 (SessionDescriptionDescriptor):
1325 2012-03-15 Sheriff Bot <webkit.review.bot@gmail.com>
1327 Unreviewed, rolling out r110929.
1328 http://trac.webkit.org/changeset/110929
1329 https://bugs.webkit.org/show_bug.cgi?id=81306
1331 breaking webkit_unit_tests (Requested by morrita on #webkit).
1333 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1334 (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1335 * platform/graphics/chromium/Canvas2DLayerChromium.h:
1336 (Canvas2DLayerChromium):
1337 * platform/graphics/chromium/ContentLayerChromium.cpp:
1338 (WebCore::ContentLayerChromium::paintContentsIfDirty):
1339 (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1340 * platform/graphics/chromium/ContentLayerChromium.h:
1342 (ContentLayerChromium):
1343 * platform/graphics/chromium/ImageLayerChromium.cpp:
1344 (WebCore::ImageLayerChromium::paintContentsIfDirty):
1345 * platform/graphics/chromium/ImageLayerChromium.h:
1347 (ImageLayerChromium):
1348 * platform/graphics/chromium/LayerChromium.h:
1349 (WebCore::LayerChromium::paintContentsIfDirty):
1350 (WebCore::LayerChromium::idlePaintContentsIfDirty):
1351 * platform/graphics/chromium/TiledLayerChromium.cpp:
1353 (WebCore::contentToLayerTransform):
1354 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1355 (WebCore::TiledLayerChromium::prepareToUpdate):
1356 (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1357 * platform/graphics/chromium/TiledLayerChromium.h:
1359 (TiledLayerChromium):
1360 * platform/graphics/chromium/WebGLLayerChromium.cpp:
1361 (WebCore::WebGLLayerChromium::paintContentsIfDirty):
1362 * platform/graphics/chromium/WebGLLayerChromium.h:
1363 (WebGLLayerChromium):
1364 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1365 (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1366 (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1367 (WebCore::CCLayerTreeHost::paintLayerContents):
1368 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1370 2012-03-15 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1372 REGRESSION(r106232): The resize handler is always called after loading.
1373 https://bugs.webkit.org/show_bug.cgi?id=80242
1375 Reviewed by Kenneth Rohde Christiansen.
1377 Ensure resize-events are not emitted when layout-size changes due to added
1378 scrollbars. For fixed layout, scrollbars are never subtracted or added, so
1379 we can compare fixedLayoutSize directly. For normal layout, use the full
1380 visible rect size which is the same as layout size plus scrollbars.
1382 Test: fast/events/resize-events.html
1384 * page/FrameView.cpp:
1385 (WebCore::FrameView::reset):
1386 (WebCore::FrameView::layout):
1387 (WebCore::FrameView::performPostLayoutTasks):
1391 2012-03-15 Tommy Widenflycht <tommyw@google.com>
1393 MediaStream API (JSEP): Introducing MediaHints and IceOptions
1394 https://bugs.webkit.org/show_bug.cgi?id=81207
1396 Reviewed by Adam Barth.
1398 Patch #4 in a series of patches to change the PeerConnection from ROAP to JSEP,
1399 see bug 80589 for more information.
1400 Introducing the platform MediaHints and IceOptions helper classes.
1402 Not possible to test until the entire JSEP feature is commited.
1404 * GNUmakefile.list.am:
1406 * platform/mediastream/IceOptions.cpp: Added.
1408 (WebCore::IceOptions::create):
1409 * platform/mediastream/IceOptions.h: Added.
1412 (WebCore::IceOptions::~IceOptions):
1413 (WebCore::IceOptions::useCandidates):
1414 (WebCore::IceOptions::IceOptions):
1415 * platform/mediastream/MediaHints.cpp: Added.
1417 (WebCore::MediaHints::create):
1418 (WebCore::MediaHints::audio):
1419 (WebCore::MediaHints::video):
1420 * platform/mediastream/MediaHints.h: Added.
1423 (WebCore::MediaHints::~MediaHints):
1424 (WebCore::MediaHints::MediaHints):
1426 2012-03-15 Shinya Kawanaka <shinyak@chromium.org>
1428 [Crash] Adding <content> into a ShadowRoot causes crash.
1429 https://bugs.webkit.org/show_bug.cgi?id=80020
1431 Reviewed by Hajime Morita.
1433 The problem is <content> tries to select host children though it is not prepared.
1434 Since populating host children for insertion points is performed just before
1435 attaching a shadow tree, we should recalculate whole shadow tree if <content> is
1436 appended as a child.
1438 However, element->appendChild() does not know the element is in a shadow tree or not.
1439 We have to ensure reattaching whole shadow tree here.
1441 So this patch adds some phases to HTMLContentSelector so that we can check node
1442 distribution algorihm is begin processed or not. If not we cannot select anything,
1443 but we have to enable a flag to reattach whole shadow tree.
1445 Tests: fast/dom/shadow/shadow-content-crash-expected.html
1446 fast/dom/shadow/shadow-content-crash.html
1448 * dom/ShadowTree.cpp:
1449 (WebCore::ShadowTree::attach):
1450 (WebCore::ShadowTree::insertionPointFor):
1454 (WebCore::ShadowTree::selector):
1455 * html/shadow/HTMLContentSelector.cpp:
1456 (WebCore::HTMLContentSelector::HTMLContentSelector):
1457 (WebCore::HTMLContentSelector::select):
1458 (WebCore::HTMLContentSelector::willSelect):
1460 (WebCore::HTMLContentSelector::didSelect):
1461 (WebCore::HTMLContentSelector::populateIfNecessary):
1462 * html/shadow/HTMLContentSelector.h:
1463 (HTMLContentSelector):
1464 (WebCore::HTMLContentSelector::isSelecting):
1466 (WebCore::HTMLContentSelector::hasPopulated):
1467 * html/shadow/InsertionPoint.cpp:
1468 (WebCore::InsertionPoint::distributeHostChildren):
1469 (WebCore::InsertionPoint::clearDistribution):
1471 2012-03-15 Mike Lawther <mikelawther@chromium.org>
1473 CSS3 calc: mixed percent/absolute expressions for gradients
1474 https://bugs.webkit.org/show_bug.cgi?id=81182
1476 Reviewed by Ojan Vafai.
1478 * css/CSSGradientValue.cpp:
1479 (WebCore::CSSGradientValue::addStops):
1480 (WebCore::positionFromValue):
1482 2012-03-15 Leo Yang <leo.yang@torchmobile.com.cn>
1484 [BlackBerry] Sync up MIMETypeRegistry.cpp
1485 https://bugs.webkit.org/show_bug.cgi?id=81191
1487 Reviewed by Rob Buis.
1489 Add png and jpeg to supportedImageMIMETypesForEncoding for BlackBerry.
1491 * platform/MIMETypeRegistry.cpp:
1492 (WebCore::initializeSupportedImageMIMETypesForEncoding):
1494 2012-03-15 Dana Jansens <danakj@chromium.org>
1496 [chromium] Decide occlusion in paint culling with CCOcclusionTracker
1497 https://bugs.webkit.org/show_bug.cgi?id=81181
1499 Reviewed by Adrienne Walker.
1501 Plumb a CCOcclusionTracker* around instead of a bare Region, so that it
1502 can make a more informed decision if a tile is occluded or not during
1505 Covered by existing tests.
1507 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1508 (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1509 * platform/graphics/chromium/Canvas2DLayerChromium.h:
1510 (Canvas2DLayerChromium):
1511 * platform/graphics/chromium/ContentLayerChromium.cpp:
1512 (WebCore::ContentLayerChromium::paintContentsIfDirty):
1513 (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1514 * platform/graphics/chromium/ContentLayerChromium.h:
1516 (ContentLayerChromium):
1517 * platform/graphics/chromium/ImageLayerChromium.cpp:
1518 (WebCore::ImageLayerChromium::paintContentsIfDirty):
1519 * platform/graphics/chromium/ImageLayerChromium.h:
1521 (ImageLayerChromium):
1522 * platform/graphics/chromium/LayerChromium.h:
1523 (WebCore::LayerChromium::paintContentsIfDirty):
1524 (WebCore::LayerChromium::idlePaintContentsIfDirty):
1525 * platform/graphics/chromium/TiledLayerChromium.cpp:
1526 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1527 (WebCore::TiledLayerChromium::prepareToUpdate):
1528 (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1529 * platform/graphics/chromium/TiledLayerChromium.h:
1530 (TiledLayerChromium):
1531 * platform/graphics/chromium/WebGLLayerChromium.cpp:
1532 (WebCore::WebGLLayerChromium::paintContentsIfDirty):
1533 * platform/graphics/chromium/WebGLLayerChromium.h:
1534 (WebGLLayerChromium):
1535 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1536 (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1537 (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1538 (WebCore::CCLayerTreeHost::paintLayerContents):
1539 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1541 2012-03-15 Yoshifumi Inoue <yosin@chromium.org>
1543 [Forms] The "meter" element should not be a form-associated element.
1544 https://bugs.webkit.org/show_bug.cgi?id=80380
1546 Reviewed by Kent Tamura.
1548 This patch changes base class of HTMLMeterElement to LabelableElement from
1549 HTMLFormControlElement for saving memory space and iteration time of
1550 extra "meter" elements in HTMLFormElement::m_formAssociatedElements
1551 and matching the HTML5 specification for ease of maintenance.
1553 This patch renames isLabelable method to supportLabels and makes isLabelable
1554 as predicate of an instance of LabelableElement or not.
1556 Changes of TextIterator is lead by usage of isFormControlElement. This
1557 changes will be replaced with more meaningful predicate as part of
1558 https://bugs.webkit.org/show_bug.cgi?id=80381
1560 No new tests. Update existing tests to cover this change.
1562 * editing/TextIterator.cpp:
1563 (WebCore::TextIterator::advance): Check HTMLMeterElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
1564 * html/HTMLButton.h:
1565 (WebCore::HTMLButtonElement::supportLabels): Renamed from isLabelable
1566 * html/HTMLElement.h:
1567 (WebCore::HTMLElement::isLabelable): Added. A predicate for an instance of LabelableElement.
1568 * html/HTMLInputElement.h:
1569 (WebCore::HTMLInputElement::supportLabels): Renamed from isLabelable
1570 * html/HTMLKeygenElement.h:
1571 (WebCore::HTMLKeygenElement::supportLabels): Renamed from isLabelable
1572 * html/HTMLLabelElement.cpp:
1573 (WebCore::nodeAsLabelableElement): Changed to return LabelableElement instead of HTMLFormControlElement.
1574 (WebCore::HTMLLabelElement::control): Changed to return LabelableElement instead of HTMLFormControlElement.
1575 * html/HTMLLabelElement.h:
1577 * html/HTMLMeterElement.cpp:
1578 (WebCore::HTMLMeterElement::HTMLMeterElement): Changed base class to LabelableElement.
1579 (WebCore::HTMLMeterElement::create): Remove form parameter.
1580 (WebCore::HTMLMeterElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
1581 (WebCore::HTMLMeterElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement
1582 (WebCore::HTMLMeterElement::attach): Replace HTMLFormControlElement to LabelableElement
1583 * html/HTMLMeterElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
1584 * html/HTMLMeterElement.h:
1586 (WebCore::HTMLMeterElement::supportLabels): Renamed from isLabelable
1587 * html/HTMLOutputElement.h:
1588 (WebCore::HTMLOutputElement::supportLabels): Renamed from isLabelable
1589 * html/HTMLProgressElement.h:
1590 (WebCore::HTMLProgressElement::supportLabels): Renamed from isLabelable
1591 * html/HTMLSelectElement.h:
1592 (WebCore::HTMLSelectElement::supportLabels): Renamed from isLabelable
1593 * html/HTMLTextAreaElement.h:
1594 (WebCore::HTMLTextAreaElement::supportLabels): Renamed from isLabelable
1595 * html/HiddenInputType.h:
1596 (WebCore::HiddenInputType::supportLabels): Renamed from isLabelable
1598 (WebCore::InputType::supportLabels): Renamed from isLabelable
1599 * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
1600 * html/LabelableElement.cpp:
1601 (WebCore::LabelableElement::labels): Replace isLabelable to supportLabels
1602 * html/LabelableElement.h:
1605 2012-03-15 Adam Klein <adamk@chromium.org>
1607 REGRESSION(r103452): 100% CPU usage and 5s pause after clicking on a link in Yahoo Mail
1608 https://bugs.webkit.org/show_bug.cgi?id=81141
1610 Reviewed by Ojan Vafai.
1612 Revert the behavior change from r103452: don't fire DOMSubtreeModified
1613 events when an attribute value merely changes. Still fire that event
1614 when an attribute is added or removed from an element.
1616 Though this contradicts the DOM3 spec, it matches legacy WebKit behavior,
1617 and given that Mutation Events are deprecated, it seems unwise to make
1618 any additions to WebKit's implementation of them.
1620 Test: fast/dom/subtree-modified-attributes.html
1623 (WebCore::Element::didAddAttribute): Renamed from didModifyAttribute.
1624 (WebCore::Element::didModifyAttribute): Remove the call to dispatchSubtreeModifiedEvent.
1628 * dom/ElementAttributeData.cpp:
1629 (WebCore::ElementAttributeData::addAttribute): Call didAddAttribute instead of didModifyAttribute.
1631 2012-03-15 Dana Jansens <danakj@chromium.org>
1633 [chromium] Move overdraw metrics into a templated class for both paint and draw metrics.
1634 https://bugs.webkit.org/show_bug.cgi?id=81156
1636 Reviewed by Adrienne Walker.
1638 Creates CCOverdrawMetrics which can be called to inform it about
1639 draws/paints. At the end of the frame, the CCOverdrawMetrics
1640 recordMetrics() method will put its data into histograms, a
1641 TRACE_COUNTER for culling information, and a TRACE_EVENT for details
1642 about the number of opaque/translucent pixels.
1644 Covered by existing tests.
1647 * platform/chromium/TraceEvent.h:
1649 (WebCore::TraceEvent::addTraceEvent):
1650 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1651 (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1652 * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: Added.
1654 (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
1655 (WebCore::wedgeProduct):
1656 (WebCore::quadArea):
1657 (WebCore::CCOverdrawMetrics::didDraw):
1658 (WebCore::CCOverdrawMetrics::recordMetrics):
1659 (WebCore::CCOverdrawMetrics::recordMetricsInternal):
1660 * platform/graphics/chromium/cc/CCOverdrawMetrics.h: Added.
1662 (CCOverdrawMetrics):
1663 (WebCore::CCOverdrawMetrics::pixelsDrawnOpaque):
1664 (WebCore::CCOverdrawMetrics::pixelsDrawnTranslucent):
1665 (WebCore::CCOverdrawMetrics::pixelsCulled):
1666 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1667 (WebCore::CCQuadCuller::CCQuadCuller):
1668 (WebCore::CCQuadCuller::append):
1669 * platform/graphics/chromium/cc/CCQuadCuller.h:
1672 * platform/graphics/chromium/cc/CCRenderPass.cpp:
1673 (WebCore::CCRenderPass::appendQuadsForLayer):
1674 * platform/graphics/chromium/cc/CCRenderPass.h:
1678 2012-03-15 James Robinson <jamesr@chromium.org>
1680 [chromium] RateLimiter should hold a reference to its context
1681 https://bugs.webkit.org/show_bug.cgi?id=80761
1683 Reviewed by Stephen White.
1685 * platform/graphics/chromium/RateLimiter.h:
1688 2012-03-15 Adam Klein <adamk@chromium.org>
1690 Share code in FormAssociatedElement by resetting the form owner whenever insertedIntoTree is called
1691 https://bugs.webkit.org/show_bug.cgi?id=81160
1693 Reviewed by Kent Tamura.
1695 The only difference between the previous insertedIntoTree method and
1696 resetFormOwner was a missing element->inDocument() check in the
1697 former. But that check is actually important, as seen by the included test case.
1699 Test: fast/forms/form-attribute-not-in-document.html
1701 * html/FormAssociatedElement.cpp:
1702 (WebCore::FormAssociatedElement::insertedIntoTree):
1704 2012-03-15 Kentaro Hara <haraken@chromium.org>
1706 [Refactoring] Rename StringBuilder variables in MarkupAccumulator.{h,cpp}
1707 https://bugs.webkit.org/show_bug.cgi?id=81288
1709 Reviewed by Adam Barth.
1711 This is a refactoring for fixing bug 81214. Currently MarkupAccumulator mixes
1712 'out' and 'result' for variable names of StringBuilder. This patch unifies them
1715 No tests. No change in behavior.
1717 * editing/MarkupAccumulator.cpp: Renamed 'out' to 'result'.
1718 (WebCore::appendCharactersReplacingEntities):
1719 (WebCore::MarkupAccumulator::serializeNodes): Renamed 'node' to 'targetNode' for clarification
1720 (and for avoiding style check error in MarkupAccumulator.h).
1721 (WebCore::MarkupAccumulator::concatenateMarkup):
1722 (WebCore::MarkupAccumulator::appendNodeValue):
1723 (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
1724 (WebCore::MarkupAccumulator::appendNamespace):
1725 (WebCore::MarkupAccumulator::entityMaskForText):
1726 (WebCore::MarkupAccumulator::appendText):
1727 (WebCore::MarkupAccumulator::appendComment):
1728 (WebCore::MarkupAccumulator::appendProcessingInstruction):
1729 (WebCore::MarkupAccumulator::appendElement):
1730 (WebCore::MarkupAccumulator::appendOpenTag):
1731 (WebCore::MarkupAccumulator::appendCloseTag):
1732 (WebCore::MarkupAccumulator::appendAttribute):
1733 (WebCore::MarkupAccumulator::appendCDATASection):
1734 (WebCore::MarkupAccumulator::elementCannotHaveEndTag):
1735 * editing/MarkupAccumulator.h: Removed redundant variable names.
1736 (MarkupAccumulator):
1739 2012-03-15 Brent Fulgham <bfulgham@webkit.org>
1741 [WinCairo] Correct <wtf/*.h> include paths.
1742 https://bugs.webkit.org/show_bug.cgi?id=81278
1744 Reviewed by Eric Seidel.
1746 Modify the #include declarations for several Cairo-related files
1747 so that the wtf types are included using the full path.
1749 * platform/graphics/FontPlatformData.h:
1750 * platform/graphics/cairo/OwnPtrCairo.h:
1751 * platform/graphics/cairo/RefPtrCairo.h:
1753 2012-03-15 Anders Carlsson <andersca@apple.com>
1755 only some tiles rendered when zoomed in
1756 https://bugs.webkit.org/show_bug.cgi?id=81282
1757 <rdar://problem/11058898>
1759 Reviewed by Andreas Kling.
1761 * platform/graphics/ca/mac/TileCache.mm:
1762 (WebCore::TileCache::rectForTileIndex):
1763 Make sure that the tile cache bounds are scaled accordingly.
1765 2012-03-15 Zeno Albisser <zeno@webkit.org>
1767 [Qt] RenderThemeQt::fileListNameForWidth should override function in base class RenderTheme. (r110560)
1768 https://bugs.webkit.org/show_bug.cgi?id=81107
1770 Add "bool multipleFilesAllowed" to the parameter list of RenderThemeQt::fileListNameForWidth.
1771 This way the base class function is properly overridden.
1772 The need for this change became obvious after r110560 where the OVERRIDE keyword had been
1773 added to the function signature.
1775 Reviewed by Simon Hausmann.
1777 * platform/qt/RenderThemeQt.cpp:
1778 (WebCore::RenderThemeQt::fileListNameForWidth):
1779 * platform/qt/RenderThemeQt.h:
1782 2012-03-07 Jon Lee <jonlee@apple.com>
1784 Move NotificationContents into Notification
1785 https://bugs.webkit.org/show_bug.cgi?id=80487
1786 <rdar://problem/10965519>
1788 Reviewed by Jian Li.
1790 * notifications/Notification.cpp: Alter signature of constructor to take the fields directly instead of
1791 a NotificationContents instance.
1792 (WebCore::Notification::Notification): Derive KURL from string representation of icon.
1793 (WebCore::Notification::create):
1794 * notifications/Notification.h:
1795 (Notification): Remove contents() accessor and replace with get for title and body. iconURL()
1796 already existed, but use local variable instead of going through NotificationContents.
1797 (WebCore::Notification::iconURL):
1798 (WebCore::Notification::title):
1799 (WebCore::Notification::body):
1800 * notifications/NotificationCenter.h:
1801 (WebCore::NotificationCenter::createNotification): Refactor to use new constructor.
1802 * notifications/NotificationContents.h: Removed.
1804 Remove NotificationContents.h from project files
1805 * GNUmakefile.list.am:
1808 * WebCore.vcproj/WebCore.vcproj:
1809 * WebCore.xcodeproj/project.pbxproj:
1811 2012-03-13 Jon Lee <jonlee@apple.com>
1813 Deprecate ondisplay()
1814 https://bugs.webkit.org/show_bug.cgi?id=80483
1815 <rdar://problem/10912432>
1817 Reviewed by Jian Li.
1819 The appropriate event listener for notifications is onshow().
1821 * notifications/Notification.h: Wrap ondisplay in ENABLE(LEGACY_NOTIFICATIONS).
1822 * notifications/Notification.idl: Wrap ondisplay in ENABLE_LEGACY_NOTIFICATIONS.
1824 2012-03-14 W. James MacLean <wjmaclean@chromium.org>
1826 [chromium] Wire up PlatformGestureCurves for CC, ScrollAnimatorNone.
1827 https://bugs.webkit.org/show_bug.cgi?id=80607
1829 Reviewed by James Robinson.
1831 Unit tests added. Layout tests to follow.
1833 Provides implementation of PlatformGestureCurves in Chrome Compositor, and basic
1834 support in ScrollAnimatorNone, for fling gestures.
1836 * GNUmakefile.list.am:
1837 * platform/ActivePlatformGestureAnimation.cpp:
1838 (WebCore::ActivePlatformGestureAnimation::create):
1839 (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
1840 (WebCore::ActivePlatformGestureAnimation::animate):
1841 * platform/ActivePlatformGestureAnimation.h:
1842 (ActivePlatformGestureAnimation):
1843 * platform/PlatformGestureCurveTarget.h:
1844 (PlatformGestureCurveTarget):
1845 * platform/ScrollAnimatorNone.cpp:
1846 (WebCore::ScrollAnimatorNone::cancelAnimations):
1847 (WebCore::ScrollAnimatorNone::animationTimerFired):
1848 (WebCore::ScrollAnimatorNone::scrollBy):
1850 * platform/ScrollAnimatorNone.h:
1852 (ScrollAnimatorNone):
1853 * platform/TouchFlingPlatformGestureCurve.cpp:
1854 (WebCore::TouchFlingPlatformGestureCurve::apply):
1855 * platform/WheelFlingPlatformGestureCurve.cpp:
1856 (WebCore::WheelFlingPlatformGestureCurve::apply):
1857 * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
1858 (WebCore::CCActiveGestureAnimation::create):
1859 (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
1860 (WebCore::CCActiveGestureAnimation::animate):
1861 * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
1862 (CCActiveGestureAnimation):
1863 * platform/graphics/chromium/cc/CCGestureCurve.h:
1864 (CCGestureCurveTarget):
1865 * platform/graphics/chromium/cc/CCInputHandler.h:
1867 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1868 (WebCore::CCLayerTreeHostImpl::animate):
1869 (WebCore::CCLayerTreeHostImpl::setActiveGestureAnimation):
1871 (WebCore::CCLayerTreeHostImpl::animateGestures):
1872 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1874 (WebCore::CCLayerTreeHostImpl::activeGestureAnimation):
1875 (CCLayerTreeHostImpl):
1877 2012-03-15 Patrick Gansterer <paroga@webkit.org>
1879 [EFL] Make zlib a general build requirement
1880 https://bugs.webkit.org/show_bug.cgi?id=80153
1882 Reviewed by Hajime Morita.
1884 After r109538 WebSocket module needs zlib to support deflate-frame extension.
1886 * PlatformEfl.cmake:
1888 2012-03-15 Robert Kroeger <rjkroege@chromium.org>
1890 REGRESSION (r110371): broke platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html
1891 https://bugs.webkit.org/show_bug.cgi?id=80825
1893 Reviewed by James Robinson.
1895 * page/EventHandler.cpp:
1896 (WebCore::EventHandler::handleWheelEvent): Corrected a typo.
1898 2012-03-15 Scott Byer <scottbyer@chromium.org>
1900 Fix crbug 117957 - get settings scrolling with the wheel again.
1901 https://bugs.webkit.org/show_bug.cgi?id=81247
1903 Reviewed by James Robinson.
1907 * page/FrameView.cpp:
1908 (WebCore::FrameView::serviceScriptedAnimations):
1910 2012-03-15 David Hyatt <hyatt@apple.com>
1912 https://bugs.webkit.org/show_bug.cgi?id=81258
1914 Add a preference for enabling the new multi-column layout code that will be based on regions.
1916 Reviewed by Beth Dakin.
1918 * page/Settings.cpp:
1919 (WebCore::Settings::Settings):
1921 (WebCore::Settings::setRegionBasedColumnsEnabled):
1922 (WebCore::Settings::regionBasedColumnsEnabled):
1925 2012-03-15 Andreas Kling <kling@webkit.org>
1927 RenderStyle: Return Color objects by value instead of as const references.
1928 <http://webkit.org/b/81180>
1930 Reviewed by Antti Koivisto.
1932 Make RenderStyle getters return "Color" rather than "const Color&". This is preparation
1933 for storing some color values in a more space-efficient fashion.
1935 * css/CSSStyleApplyProperty.cpp:
1936 (WebCore::ApplyPropertyColor::applyInheritValue):
1937 * page/animation/AnimationBase.cpp:
1938 (PropertyWrapperColor):
1939 (WebCore::PropertyWrapperColor::PropertyWrapperColor):
1940 (WebCore::PropertyWrapperColor::blend):
1941 (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
1942 (PropertyWrapperMaybeInvalidColor):
1943 (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
1944 (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
1945 (PropertyWrapperSVGPaint):
1946 * platform/graphics/Color.h:
1947 (WebCore::Color::Color):
1948 * rendering/style/RenderStyle.h:
1950 2012-03-15 Jessie Berlin <jberlin@apple.com>
1952 Assertion failures in WebCore::Page::goBackOrForward causing multiple "crashes" on Lion Intel
1953 Debug WebKit2 testers
1954 https://bugs.webkit.org/show_bug.cgi?id=81159
1956 Rubber-stamped by Brady Eidson.
1958 It is plausible that history could change in between the time a navigation request is
1959 scheduled and the timer is fired, so the request index could be out of the b/f list range.
1960 Hence, the assertion is invalid and should be removed.
1963 (WebCore::Page::goBackOrForward):
1965 2012-03-15 Alexey Proskuryakov <ap@apple.com>
1967 Assertion failures in checkEncodedString when running WebKit2 tests
1968 https://bugs.webkit.org/show_bug.cgi?id=67425
1969 <rdar://problem/11043492>
1971 Reviewed by Anders Carlsson.
1973 * platform/network/cf/ResourceErrorCF.cpp: (WebCore::ResourceError::cfError):
1974 * platform/network/mac/ResourceErrorMac.mm: (WebCore::ResourceError::nsError):
1975 The failing URL is certainly not guaranteed to be valid, so it's not correct to put it back
1976 into a URL as if it's been normalized by KURL.
1978 2012-03-15 Brady Eidson <beidson@apple.com>
1980 <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
1981 REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
1983 Reviewed by Sam Weinig.
1985 Test: editing/pasteboard/copy-two-pasteboard-types-both-work.html
1987 Add the non-destructive "addTypes" to supplement the destructive "setTypes"
1988 * platform/PasteboardStrategy.h:
1989 (PasteboardStrategy):
1990 * platform/PlatformPasteboard.h:
1991 (PlatformPasteboard):
1992 * platform/mac/PlatformPasteboardMac.mm:
1993 (WebCore::PlatformPasteboard::addTypes):
1996 * platform/mac/ClipboardMac.mm:
1997 (WebCore::ClipboardMac::setData): Call the non-destructive "addTypes" instead of
1998 the destructive "setTypes"
2000 2012-03-15 Dana Jansens <danakj@chromium.org>
2002 [Chromium] REGRESSION(r110596) CCQuadCullerTest.verifyCullChildLinesUpTopLeft fails on Windows
2003 https://bugs.webkit.org/show_bug.cgi?id=81083
2005 Reviewed by Adrienne Walker.
2007 The surface pointer on the occlusion tracker stack is uninitialized, and
2008 can be non-null, but the layer's target surface is null, causing asserts
2009 to fail. Fixes the TestCCOcclusionTrackerImpl to initialize the stack's
2012 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2013 (WebCore::::enterTargetRenderSurface):
2014 (WebCore::::unoccludedContentRect):
2015 * platform/graphics/chromium/cc/CCOcclusionTracker.h:
2016 (WebCore::CCOcclusionTrackerBase::StackObject::StackObject):
2018 2012-03-15 David Levin <levin@chromium.org>
2020 Various autoresize fixes.
2021 https://bugs.webkit.org/show_bug.cgi?id=81199
2023 Reviewed by Darin Fisher.
2025 Tested by WebViewTest additions.
2027 * page/FrameView.cpp:
2028 (WebCore::FrameView::autoSizeIfEnabled): Fixed a bug that caused a horizontal
2029 scrollbar to appear when the size was width was fixed and height overflowed which
2030 is one of the tests that was added.
2032 2012-03-15 Andrey Kosyakov <caseq@chromium.org>
2034 Web Inspector: normalize vertical overview bars by longest bar, not by longest frame
2035 https://bugs.webkit.org/show_bug.cgi?id=81231
2037 Reviewed by Vsevolod Vlasov.
2039 * inspector/front-end/TimelineOverviewPane.js:
2040 (WebInspector.TimelineOverviewPane):
2041 (WebInspector.TimelineOverviewPane.prototype.reset):
2042 (WebInspector.TimelineOverviewPane.prototype.accept):
2043 (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
2044 (WebInspector.TimelineVerticalOverview.prototype.reset):
2045 (WebInspector.TimelineVerticalOverview.prototype.update):
2046 (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
2047 (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
2048 (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
2050 2012-03-15 Andrey Kosyakov <caseq@chromium.org>
2052 Web Inspector: crash in InspectorTimelineAgent when trying to add children to cancelable records
2053 https://bugs.webkit.org/show_bug.cgi?id=81245
2055 Reviewed by Vsevolod Vlasov.
2057 * inspector/InspectorTimelineAgent.cpp:
2058 (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2060 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2061 (WebCore::InspectorTimelineAgent::appendRecord):
2062 (WebCore::InspectorTimelineAgent::commitCancelableRecords):
2063 * inspector/InspectorTimelineAgent.h:
2064 (InspectorTimelineAgent):
2066 2012-03-15 Pavel Podivilov <podivilov@chromium.org>
2068 Web Inspector: live locations could be disposed twice.
2069 https://bugs.webkit.org/show_bug.cgi?id=81249
2071 Reviewed by Vsevolod Vlasov.
2073 * inspector/front-end/ScriptMapping.js:
2074 (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
2076 2012-03-15 Carlos Garcia Campos <cgarcia@igalia.com>
2078 [GTK] Implement unicode submenu items
2079 https://bugs.webkit.org/show_bug.cgi?id=81117
2081 Reviewed by Martin Robinson.
2083 * loader/EmptyClients.h:
2084 (WebCore::EmptyEditorClient::shouldShowUnicodeMenu): Just return
2086 * page/ContextMenuController.cpp:
2087 (WebCore::insertUnicodeCharacter): Helper function to insert a
2089 (WebCore::ContextMenuController::contextMenuItemSelected):
2090 Implement unicode menu items using insertUnicodeCharacter() to
2091 insert the apropriate unicode character.
2092 (WebCore::ContextMenuController::createAndAppendUnicodeSubMenu):
2093 Create the unicode submenu.
2094 (WebCore::ContextMenuController::populate): Add unicode submenu
2095 item for editable content.
2096 (WebCore::ContextMenuController::checkOrEnableIfNeeded): Add
2097 unicode submenu items to the switch.
2098 * page/ContextMenuController.h:
2099 * page/EditorClient.h:
2100 (EditorClient): Add shouldShowUnicodeMenu() for GTK platform.
2101 * platform/ContextMenuItem.h:
2102 * platform/LocalizedStrings.h:
2103 * platform/gtk/LocalizedStringsGtk.cpp:
2104 (WebCore::contextMenuItemTagUnicodeInsertLRMMark): Add localized
2105 string for the unicode menu item.
2106 (WebCore::contextMenuItemTagUnicodeInsertRLMMark): Ditto.
2107 (WebCore::contextMenuItemTagUnicodeInsertLREMark): Ditto.
2108 (WebCore::contextMenuItemTagUnicodeInsertRLEMark): Ditto.
2109 (WebCore::contextMenuItemTagUnicodeInsertLROMark): Ditto.
2110 (WebCore::contextMenuItemTagUnicodeInsertRLOMark): Ditto.
2111 (WebCore::contextMenuItemTagUnicodeInsertPDFMark): Ditto.
2112 (WebCore::contextMenuItemTagUnicodeInsertZWSMark): Ditto.
2113 (WebCore::contextMenuItemTagUnicodeInsertZWJMark): Ditto.
2114 (WebCore::contextMenuItemTagUnicodeInsertZWNJMark): Ditto.
2116 2012-03-15 Vsevolod Vlasov <vsevik@chromium.org>
2118 Web Inspector: MainScriptMapping should detect snippet scripts by means of sourceURL set before evaluation.
2119 https://bugs.webkit.org/show_bug.cgi?id=81031
2121 Reviewed by Pavel Feldman.
2123 * inspector/front-end/SnippetsModel.js:
2124 (WebInspector.SnippetsModel):
2125 (WebInspector.SnippetsModel.prototype._saveSettings):
2126 (WebInspector.SnippetsModel.prototype.deleteSnippet):
2127 (WebInspector.SnippetsModel.prototype._snippetAdded):
2128 (WebInspector.SnippetsModel.prototype._sourceURLForSnippet):
2129 (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
2130 (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
2131 (WebInspector.Snippet.prototype.evaluate):
2132 (WebInspector.SnippetsScriptMapping):
2133 (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation.get if):
2134 (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation):
2135 (WebInspector.SnippetsScriptMapping.prototype._releasedUISourceCodes):
2136 (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
2137 (WebInspector.SnippetsScriptMapping.prototype._snippetWillBeEvaluated):
2138 (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
2139 (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
2141 2012-03-15 Kevin Ollivier <kevino@theolliviers.com>
2143 [wx] Unreviewed. Build fixes for Mac and DOM bindings.
2145 * bindings/cpp/WebDOMEventTarget.cpp:
2147 * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2148 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
2150 2012-03-14 Pavel Podivilov <podivilov@chromium.org>
2152 Web Inspector: extract CompilerScriptMapping from RawSourceCode.
2153 https://bugs.webkit.org/show_bug.cgi?id=81088
2155 Reviewed by Vsevolod Vlasov.
2158 * WebCore.vcproj/WebCore.vcproj:
2159 * inspector/compile-front-end.py:
2160 * inspector/front-end/CompilerScriptMapping.js: Added.
2161 (WebInspector.CompilerScriptMapping):
2162 (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
2163 (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodeList):
2164 (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
2165 (WebInspector.CompilerScriptMapping.prototype.addScript):
2166 (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
2167 (WebInspector.CompilerScriptMapping.prototype.reset):
2168 * inspector/front-end/RawSourceCode.js:
2169 (WebInspector.RawSourceCode):
2170 (WebInspector.RawSourceCode.prototype.setFormatted):
2171 (WebInspector.RawSourceCode.prototype._resourceFinished):
2172 (WebInspector.RawSourceCode.prototype._createUISourceCode):
2173 (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
2174 * inspector/front-end/ResourceScriptMapping.js:
2175 (WebInspector.ResourceScriptMapping.prototype.addScript):
2176 * inspector/front-end/ScriptMapping.js:
2177 (WebInspector.MainScriptMapping):
2178 * inspector/front-end/WebKit.qrc:
2179 * inspector/front-end/inspector.html:
2181 2012-03-15 Peter Rybin <peter.rybin@gmail.com>
2183 Web Inspector: Move all includes behind ENABLE(INSPECTOR) guards
2184 https://bugs.webkit.org/show_bug.cgi?id=81132
2186 Reviewed by Yury Semikhatsky.
2188 Include directives are moved several lines down in .cpp files and in
2189 generator templates.
2191 * inspector/CodeGeneratorInspector.py:
2192 * inspector/ContentSearchUtils.cpp:
2193 * inspector/DOMEditor.cpp:
2194 * inspector/DOMNodeHighlighter.cpp:
2195 * inspector/DOMPatchSupport.cpp:
2196 * inspector/IdentifiersFactory.cpp:
2197 * inspector/InjectedScript.cpp:
2198 * inspector/InjectedScriptHost.cpp:
2199 * inspector/InjectedScriptManager.cpp:
2200 * inspector/InspectorAgent.cpp:
2201 * inspector/InspectorApplicationCacheAgent.cpp:
2202 * inspector/InspectorBaseAgent.cpp:
2203 * inspector/InspectorCSSAgent.cpp:
2204 * inspector/InspectorClient.cpp:
2205 * inspector/InspectorConsoleAgent.cpp:
2206 * inspector/InspectorController.cpp:
2207 * inspector/InspectorCounters.cpp:
2208 * inspector/InspectorDOMAgent.cpp:
2209 * inspector/InspectorDOMDebuggerAgent.cpp:
2210 * inspector/InspectorDOMStorageAgent.cpp:
2211 * inspector/InspectorDatabaseAgent.cpp:
2212 * inspector/InspectorDatabaseResource.cpp:
2213 * inspector/InspectorDebuggerAgent.cpp:
2214 * inspector/InspectorFileSystemAgent.cpp:
2215 * inspector/InspectorFrontendClientLocal.cpp:
2216 * inspector/InspectorFrontendHost.cpp:
2217 * inspector/InspectorHistory.cpp:
2218 * inspector/InspectorIndexedDBAgent.cpp:
2219 * inspector/InspectorInstrumentation.cpp:
2220 * inspector/InspectorMemoryAgent.cpp:
2221 * inspector/InspectorPageAgent.cpp:
2222 * inspector/InspectorProfilerAgent.cpp:
2223 * inspector/InspectorResourceAgent.cpp:
2224 * inspector/InspectorRuntimeAgent.cpp:
2225 * inspector/InspectorState.cpp:
2226 * inspector/InspectorStyleSheet.cpp:
2227 * inspector/InspectorStyleTextEditor.cpp:
2228 * inspector/InspectorTimelineAgent.cpp:
2229 * inspector/InspectorValues.cpp:
2230 * inspector/InstrumentingAgents.cpp:
2231 * inspector/NetworkResourcesData.cpp:
2232 * inspector/PageConsoleAgent.cpp:
2233 * inspector/PageDebuggerAgent.cpp:
2234 * inspector/PageRuntimeAgent.cpp:
2235 * inspector/TimelineRecordFactory.cpp:
2236 * inspector/WorkerConsoleAgent.cpp:
2237 * inspector/WorkerDebuggerAgent.cpp:
2238 * inspector/WorkerRuntimeAgent.cpp:
2240 2012-03-15 Yury Semikhatsky <yurys@chromium.org>
2242 Web Inspector: improve HeapSnapshot._buildReversIndex performance
2243 https://bugs.webkit.org/show_bug.cgi?id=81224
2245 Caching node indexes and node count in local variables instead of
2246 calling getters each time reduces the method run time by
2249 Reviewed by Pavel Feldman.
2251 * inspector/front-end/HeapSnapshot.js:
2252 (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
2254 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2256 SVG Animations update baseVal instead of animVal
2257 https://bugs.webkit.org/show_bug.cgi?id=12437
2259 Rubber-stamped by Rob Buis.
2261 Rename constructFromCopy to constructFromVariant, and currentBaseValue to currentBaseValueVariant, to clarify what it actually does.
2263 * svg/SVGAnimateElement.cpp:
2264 (WebCore::SVGAnimateElement::resetToBaseValue):
2265 * svg/SVGAnimatedLength.cpp:
2266 (WebCore::SVGAnimatedLengthAnimator::constructFromVariant):
2267 * svg/SVGAnimatedLength.h:
2268 (SVGAnimatedLengthAnimator):
2269 * svg/SVGAnimatedLengthList.cpp:
2270 (WebCore::SVGAnimatedLengthListAnimator::constructFromVariant):
2271 * svg/SVGAnimatedLengthList.h:
2272 (SVGAnimatedLengthListAnimator):
2273 * svg/SVGAnimatedNumber.cpp:
2274 (WebCore::SVGAnimatedNumberAnimator::constructFromVariant):
2275 * svg/SVGAnimatedNumber.h:
2276 (SVGAnimatedNumberAnimator):
2277 * svg/SVGAnimatedNumberList.cpp:
2278 (WebCore::SVGAnimatedNumberListAnimator::constructFromVariant):
2279 * svg/SVGAnimatedNumberList.h:
2280 (SVGAnimatedNumberListAnimator):
2281 * svg/SVGAnimatedTransformList.cpp:
2282 (WebCore::SVGAnimatedTransformListAnimator::constructFromVariant):
2283 * svg/SVGAnimatedTransformList.h:
2284 (SVGAnimatedTransformListAnimator):
2285 * svg/SVGAnimatedTypeAnimator.h:
2286 (WebCore::SVGAnimatedTypeAnimator::constructFromVariant):
2287 * svg/properties/SVGAnimatedListPropertyTearOff.h:
2288 (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
2289 * svg/properties/SVGAnimatedProperty.h:
2290 (SVGAnimatedProperty):
2291 * svg/properties/SVGAnimatedPropertyTearOff.h:
2292 (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
2293 * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
2294 (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
2296 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2298 Enable animVal support for SVGNumberList
2299 https://bugs.webkit.org/show_bug.cgi?id=81219
2301 Reviewed by Rob Buis.
2303 Enable animVal support for SVGNumberList. Easy patch, we just need to add the missing
2304 constructFromCopy() method to SVGAnumatedNumberListAnimator and report AnimatedNumberList
2305 as supporting animVal.
2307 Covered by existing tests.
2309 * svg/SVGAnimatedNumberList.cpp:
2310 (WebCore::SVGAnimatedNumberListAnimator::constructFromCopy):
2312 * svg/SVGAnimatedNumberList.h:
2314 (SVGAnimatedNumberListAnimator):
2315 * svg/SVGAnimatedType.cpp:
2316 (WebCore::SVGAnimatedType::supportsAnimVal):
2317 (WebCore::SVGAnimatedType::setVariantValue):
2319 2012-03-15 Rob Buis <rbuis@rim.com>
2321 Fix cast-align GCC warnings
2322 https://bugs.webkit.org/show_bug.cgi?id=80790
2324 Reviewed by Nikolas Zimmermann.
2326 * platform/graphics/WOFFFileFormat.cpp:
2327 (WebCore::writeUInt32):
2328 (WebCore::writeUInt16):
2329 (WebCore::convertWOFFToSfnt):
2331 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2333 Not reviewed. Forgot to preserve copyrights, per reviewer comment.
2335 * svg/SVGAnimatedTransformList.cpp:
2337 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2339 Enable animVal support for SVGNumber
2340 https://bugs.webkit.org/show_bug.cgi?id=81212
2342 Reviewed by Rob Buis.
2344 Enable animVal support for SVGNumber. This aligns SVGAnimatedStaticPropertyTearOff,
2345 with the other SVGListPropertyTearOff & SVGPropertyTearOff, as all support animVal now.
2346 Converting the rest of the types can be done in small patches now.
2348 Test: svg/animations/svgnumber-animation-4.html
2350 * svg/SVGAnimatedNumber.cpp:
2351 (WebCore::SVGAnimatedNumberAnimator::constructFromCopy):
2353 * svg/SVGAnimatedNumber.h:
2355 (SVGAnimatedNumberAnimator):
2356 * svg/SVGAnimatedType.cpp:
2357 (WebCore::SVGAnimatedType::supportsAnimVal):
2358 (WebCore::SVGAnimatedType::setVariantValue):
2359 * svg/properties/SVGAnimatedProperty.h:
2360 (SVGAnimatedProperty):
2361 * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
2362 (WebCore::SVGAnimatedStaticPropertyTearOff::animVal):
2363 (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
2364 (SVGAnimatedStaticPropertyTearOff):
2365 (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
2366 (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
2367 (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
2368 (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueWillChange):
2369 (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueDidChange):
2370 (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
2372 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2374 Enable animVal support for SVGTransformList
2375 https://bugs.webkit.org/show_bug.cgi?id=80758
2377 Reviewed by Antti Koivisto.
2379 Enable animVal support for SVGTransformList. SVGTransformLists are only animatable
2380 via <animateTransform>, not via <animate> directly. Still we can handle it in the
2381 same framework as all other types used for <animate>, as we also need proper animVal
2382 support for <animateTransform>.
2384 This patch removes the special <animateTransform> implementation, and lets
2385 SVGAnimateTransformElement inherit from SVGAnimateElement, just like its done
2386 for SVGAnimateColorElement & SVGSetElement.
2388 All existing code (calculateFromAndToValues/FromAndByValues/etc..) are moved from
2389 SVGAnimateTransform right into the SVGAnimatedTransformListAnimator.
2391 This doesn't change <animateTransform> behavior, it just simplies the code
2392 and enables animVal support for SVGTransformLists - all covered by existing tests.
2395 * GNUmakefile.list.am:
2398 * WebCore.xcodeproj/project.pbxproj:
2399 * svg/SVGAllInOne.cpp:
2400 * svg/SVGAnimateElement.cpp:
2401 (WebCore::SVGAnimateElement::SVGAnimateElement):
2402 (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
2403 (WebCore::SVGAnimateElement::calculateAnimatedValue):
2404 (WebCore::SVGAnimateElement::applyResultsToTarget):
2405 * svg/SVGAnimateTransformElement.cpp:
2406 (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
2407 (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
2408 (WebCore::SVGAnimateTransformElement::parseAttribute):
2409 * svg/SVGAnimateTransformElement.h:
2410 (WebCore::SVGAnimateTransformElement::transformType):
2411 (SVGAnimateTransformElement):
2412 * svg/SVGAnimatedTransformList.cpp: Added.
2414 (WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
2415 (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
2416 (WebCore::SVGAnimatedTransformListAnimator::constructFromCopy):
2417 (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndToValues):
2418 (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndByValues):
2419 (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
2420 (WebCore::SVGAnimatedTransformListAnimator::calculateDistance):
2421 * svg/SVGAnimatedTransformList.h:
2423 (SVGAnimatedTransformListAnimator):
2424 (WebCore::SVGAnimatedTransformListAnimator::~SVGAnimatedTransformListAnimator):
2425 * svg/SVGAnimatedType.cpp:
2426 (WebCore::SVGAnimatedType::~SVGAnimatedType):
2427 (WebCore::SVGAnimatedType::createTransformList):
2429 (WebCore::SVGAnimatedType::transformList):
2430 (WebCore::SVGAnimatedType::valueAsString):
2431 (WebCore::SVGAnimatedType::setValueAsString):
2432 (WebCore::SVGAnimatedType::supportsAnimVal):
2433 (WebCore::SVGAnimatedType::setVariantValue):
2434 * svg/SVGAnimatedType.h:
2437 * svg/SVGAnimatorFactory.h:
2438 (WebCore::SVGAnimatorFactory::create):
2439 * svg/SVGGradientElement.cpp:
2440 (WebCore::SVGGradientElement::parseAttribute):
2441 * svg/SVGPatternElement.cpp:
2442 (WebCore::SVGPatternElement::parseAttribute):
2443 * svg/SVGStyledTransformableElement.cpp:
2444 (WebCore::SVGStyledTransformableElement::parseAttribute):
2445 * svg/SVGTextElement.cpp:
2446 (WebCore::SVGTextElement::parseAttribute):
2447 * svg/SVGTransform.cpp:
2448 (WebCore::SVGTransform::transformTypePrefixForParsing):
2450 (WebCore::SVGTransform::valueAsString):
2451 * svg/SVGTransform.h:
2453 * svg/SVGTransformList.cpp:
2454 (WebCore::SVGTransformList::parse):
2456 * svg/SVGTransformList.h:
2458 * svg/SVGTransformable.cpp:
2459 (WebCore::SVGTransformable::parseTransformType):
2460 * svg/SVGTransformable.h:
2462 * svg/SVGViewSpec.cpp:
2463 (WebCore::SVGViewSpec::setTransform):
2465 2012-03-13 Nikolas Zimmermann <nzimmermann@rim.com>
2467 Enable animVal support for SVGLengthList
2468 https://bugs.webkit.org/show_bug.cgi?id=80750
2470 Reviewed by Zoltan Herczeg.
2472 Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty
2473 in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList.
2475 Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal.
2477 * svg/SVGAnimateElement.cpp:
2478 (WebCore::SVGAnimateElement::calculateAnimatedValue):
2479 * svg/SVGAnimateTransformElement.cpp:
2480 (WebCore::SVGAnimateTransformElement::resetToBaseValue):
2481 (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
2482 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2483 * svg/SVGAnimatedLengthList.cpp:
2484 (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy):
2486 * svg/SVGAnimatedLengthList.h:
2488 (SVGAnimatedLengthListAnimator):
2489 * svg/SVGAnimatedType.cpp:
2490 (WebCore::SVGAnimatedType::supportsAnimVal):
2491 (WebCore::SVGAnimatedType::setVariantValue):
2492 * svg/SVGAnimatedType.h:
2493 * svg/SVGAnimationElement.cpp:
2494 (WebCore::SVGAnimationElement::applyAnimatedValue):
2495 * svg/properties/SVGAnimatedListPropertyTearOff.h:
2496 (SVGAnimatedListPropertyTearOff):
2497 (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
2498 (WebCore::SVGAnimatedListPropertyTearOff::animVal):
2499 (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
2500 (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
2501 (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
2502 (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
2503 (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
2504 (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
2505 (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):
2506 (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange):
2507 (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange):
2508 * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
2509 (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
2510 (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
2511 * svg/properties/SVGAnimatedProperty.h:
2512 (WebCore::SVGAnimatedProperty::isAnimating):
2513 (SVGAnimatedProperty):
2514 (WebCore::SVGAnimatedProperty::animationValueWillChange):
2515 (WebCore::SVGAnimatedProperty::animationValueDidChange):
2516 (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
2517 (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
2518 * svg/properties/SVGAnimatedPropertyTearOff.h:
2519 (SVGAnimatedPropertyTearOff):
2520 (WebCore::SVGAnimatedPropertyTearOff::baseVal):
2521 (WebCore::SVGAnimatedPropertyTearOff::animVal):
2522 (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
2523 (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
2524 (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
2525 (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange):
2526 (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange):
2527 (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
2528 * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
2529 (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
2530 (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
2531 * svg/properties/SVGListProperty.h:
2532 (WebCore::SVGListProperty::detachListWrappers):
2534 (WebCore::SVGListProperty::setValuesAndWrappers):
2535 (WebCore::SVGListProperty::clearValues):
2536 (WebCore::SVGListProperty::clearValuesAndWrappers):
2537 (WebCore::SVGListProperty::numberOfItems):
2538 (WebCore::SVGListProperty::initializeValues):
2539 (WebCore::SVGListProperty::initializeValuesAndWrappers):
2540 (WebCore::SVGListProperty::canGetItem):
2541 (WebCore::SVGListProperty::getItemValues):
2542 (WebCore::SVGListProperty::getItemValuesAndWrappers):
2543 (WebCore::SVGListProperty::insertItemBeforeValues):
2544 (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
2545 (WebCore::SVGListProperty::canReplaceItem):
2546 (WebCore::SVGListProperty::replaceItemValues):
2547 (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
2548 (WebCore::SVGListProperty::canRemoveItem):
2549 (WebCore::SVGListProperty::removeItemValues):
2550 (WebCore::SVGListProperty::removeItemValuesAndWrappers):
2551 (WebCore::SVGListProperty::appendItemValues):
2552 (WebCore::SVGListProperty::appendItemValuesAndWrappers):
2553 (WebCore::SVGListProperty::values):
2554 (WebCore::SVGListProperty::wrappers):
2555 (WebCore::SVGListProperty::SVGListProperty):
2556 * svg/properties/SVGListPropertyTearOff.h:
2557 (SVGListPropertyTearOff):
2558 (WebCore::SVGListPropertyTearOff::create):
2559 (WebCore::SVGListPropertyTearOff::removeItemFromList):
2560 (WebCore::SVGListPropertyTearOff::clear):
2561 (WebCore::SVGListPropertyTearOff::initialize):
2562 (WebCore::SVGListPropertyTearOff::insertItemBefore):
2563 (WebCore::SVGListPropertyTearOff::replaceItem):
2564 (WebCore::SVGListPropertyTearOff::appendItem):
2565 (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
2566 (WebCore::SVGListPropertyTearOff::commitChange):
2567 * svg/properties/SVGPathSegListPropertyTearOff.cpp:
2568 (WebCore::SVGPathSegListPropertyTearOff::clear):
2569 (WebCore::SVGPathSegListPropertyTearOff::getItem):
2570 (WebCore::SVGPathSegListPropertyTearOff::removeItem):
2571 * svg/properties/SVGPathSegListPropertyTearOff.h:
2572 (WebCore::SVGPathSegListPropertyTearOff::create):
2573 (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
2574 (SVGPathSegListPropertyTearOff):
2575 (WebCore::SVGPathSegListPropertyTearOff::initialize):
2576 (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
2577 (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
2578 (WebCore::SVGPathSegListPropertyTearOff::appendItem):
2579 (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
2580 (WebCore::SVGPathSegListPropertyTearOff::commitChange):
2581 * svg/properties/SVGPropertyInfo.h:
2582 * svg/properties/SVGStaticListPropertyTearOff.h:
2583 (SVGStaticListPropertyTearOff):
2584 (WebCore::SVGStaticListPropertyTearOff::clear):
2585 (WebCore::SVGStaticListPropertyTearOff::initialize):
2586 (WebCore::SVGStaticListPropertyTearOff::getItem):
2587 (WebCore::SVGStaticListPropertyTearOff::insertItemBefore):
2588 (WebCore::SVGStaticListPropertyTearOff::replaceItem):
2589 (WebCore::SVGStaticListPropertyTearOff::removeItem):
2590 (WebCore::SVGStaticListPropertyTearOff::appendItem):
2591 (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff):
2592 (WebCore::SVGStaticListPropertyTearOff::commitChange):
2593 * svg/properties/SVGTransformListPropertyTearOff.h:
2594 (WebCore::SVGTransformListPropertyTearOff::create):
2595 (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
2596 (WebCore::SVGTransformListPropertyTearOff::consolidate):
2597 (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):
2599 2012-03-14 Chris Fleizach <cfleizach@apple.com>
2601 AXDescription for HTML5 footer
2602 https://bugs.webkit.org/show_bug.cgi?id=78967
2604 Return a unique role description for the footer element.
2606 Reviewed by Beth Dakin.
2608 Test: platform/mac/accessibility/footer-roledescription.html
2610 * English.lproj/Localizable.strings:+
2611 * accessibility/AccessibilityObject.h:
2612 * accessibility/AccessibilityRenderObject.cpp:
2613 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2614 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2615 (createAccessibilityRoleMap):
2616 (-[WebAccessibilityObjectWrapper subrole]):
2617 (-[WebAccessibilityObjectWrapper roleDescription]):
2618 * platform/LocalizedStrings.cpp:
2619 (WebCore::AXFooterRoleDescriptionText):
2621 * platform/LocalizedStrings.h:
2623 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
2624 (WebCore::AXFooterRoleDescriptionText):
2626 * platform/efl/LocalizedStringsEfl.cpp:
2627 (WebCore::AXFooterRoleDescriptionText):
2629 * platform/gtk/LocalizedStringsGtk.cpp:
2630 (WebCore::AXFooterRoleDescriptionText):
2633 2012-03-14 Mark Rowe <mrowe@apple.com>
2635 <http://webkit.org/b/81193> Ensure libWebCoreTestSupport.dylib's library identifier is set appropriately for all configurations.
2637 Reviewed by Dan Bernstein.
2639 * Configurations/WebCoreTestSupport.xcconfig: Switch to setting DYLIB_INSTALL_NAME_BASE
2640 rather than LD_DYLIB_INSTALL_NAME. The latter is derived from the former. Ensure that
2641 DYLIB_INSTALL_NAME_BASE is also set for the Production configuration.
2643 2012-03-14 Chris Fleizach <cfleizach@apple.com>
2645 AXDescription for ARIA role contentinfo incorrect
2646 https://bugs.webkit.org/show_bug.cgi?id=78967
2648 Reviewed by Beth Dakin.
2650 Test: platform/mac/accessibility/aria-grouping-roles.html
2652 * English.lproj/Localizable.strings:
2653 * platform/LocalizedStrings.cpp:
2654 (WebCore::AXARIAContentGroupText):
2656 2012-03-14 Chris Fleizach <cfleizach@apple.com>
2658 AX: ARIA tables need to support selected rows attribute/select rows changed notification
2659 https://bugs.webkit.org/show_bug.cgi?id=79821
2661 Reviewed by Beth Dakin.
2663 Test: platform/mac/accessibility/selected-rows-table.html
2665 * accessibility/AccessibilityARIAGrid.h:
2666 (WebCore::AccessibilityARIAGrid::isMultiSelectable):
2667 (AccessibilityARIAGrid):
2668 * accessibility/AccessibilityRenderObject.cpp:
2669 (WebCore::AccessibilityRenderObject::ariaSelectedRows):
2670 * accessibility/AccessibilityTableRow.cpp:
2671 (WebCore::AccessibilityTableRow::observableObject):
2673 * accessibility/AccessibilityTableRow.h:
2674 (AccessibilityTableRow):
2675 * accessibility/mac/AXObjectCacheMac.mm:
2676 (WebCore::AXObjectCache::postPlatformNotification):
2678 2012-03-14 James Robinson <jamesr@chromium.org>
2680 Platforms without USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) don't need to query the page's displayID
2681 https://bugs.webkit.org/show_bug.cgi?id=81187
2683 Reviewed by Simon Fraser.
2686 (WebCore::Document::webkitRequestAnimationFrame):
2688 2012-03-14 Chris Fleizach <cfleizach@apple.com>
2690 AX: embedded attachments do not report their parents correctly
2691 https://bugs.webkit.org/show_bug.cgi?id=80132
2693 When a WebHTMLView has embedded attachments in it, the AXParent of those attachments is wrong.
2694 It usually points to the AXScrollView of the web area. That's because there has been no way for WebCore to
2695 communicate that this attachment view should actually make believe that it's parent is within the WebCore AX tree.
2697 We can fix that by overriding the AXParent in overriden attributes for items that are attachments.
2699 Reviewed by Beth Dakin.
2701 Not able to construct a layout test because the problem only manifests itself when an AX client connects to WebKit
2702 through the IPC mechanism.
2704 * accessibility/AccessibilityObject.cpp:
2705 (WebCore::AccessibilityObject::detachFromParent):
2706 * accessibility/AccessibilityObject.h:
2707 (AccessibilityObject):
2708 (WebCore::AccessibilityObject::overrideAttachmentParent):
2709 * accessibility/AccessibilityRenderObject.cpp:
2710 (WebCore::AccessibilityRenderObject::updateAttachmentViewParents):
2711 (WebCore::AccessibilityRenderObject::addChildren):
2712 * accessibility/AccessibilityRenderObject.h:
2713 (AccessibilityRenderObject):
2714 * accessibility/mac/AccessibilityObjectMac.mm:
2715 (WebCore::AccessibilityObject::overrideAttachmentParent):
2717 2012-03-14 Ryosuke Niwa <rniwa@webkit.org>
2719 Improve ContainerNode's collectNodes() performance
2720 https://bugs.webkit.org/show_bug.cgi?id=80706
2722 Reviewed by Antti Koivisto.
2724 Bump up the size of stack allocated buffer from 1 to 11. According to the rough study I conducted,
2725 this would cover 99.5% of all node collection.
2727 Note: the actual code change was made in r110797 but I somehow mangled my patches.
2729 * dom/ContainerNode.cpp:
2732 2012-03-14 Seo Sanghyeon <sh4.seo@samsung.com>
2734 Cleanup semicolons in IDLs
2735 https://bugs.webkit.org/show_bug.cgi?id=81129
2737 Reviewed by Kentaro Hara.
2739 No tests. No change in behavior.
2741 * svg/SVGAnimateColorElement.idl:
2742 * svg/SVGAnimateElement.idl:
2743 * svg/SVGAnimateTransformElement.idl:
2744 * svg/SVGAnimatedRect.idl:
2746 2012-03-14 Hayato Ito <hayato@chromium.org>
2748 Make ShadowRoot.activeElement return null if it does not contain a focused element.
2749 https://bugs.webkit.org/show_bug.cgi?id=81097
2751 Reviewed by Dimitri Glazkov.
2753 * dom/TreeScope.cpp:
2754 (WebCore::TreeScope::activeElement):
2756 2012-03-14 Matt Falkenhagen <falken@chromium.org>
2758 Allow per-script font settings to be specified in layout tests
2759 https://bugs.webkit.org/show_bug.cgi?id=78184
2761 Reviewed by Hajime Morita.
2763 This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
2764 the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
2765 for Chromium so far.
2767 Test: changed fast/text/international/locale-sensitive-fonts.html to use InternalSettings
2768 instead of overridePreference.
2770 * WebCore.exp.in: Added symbols.
2771 * platform/text/LocaleToScriptMapping.h: Added scriptNameToCode used by InternalSettings.
2773 * platform/text/LocaleToScriptMappingDefault.cpp:
2774 (WebCore::scriptNameToCode):
2775 (WebCore::localeToScriptCodeForFontSelection):
2776 * platform/text/LocaleToScriptMappingICU.cpp:
2777 (WebCore::scriptNameToCode):
2779 * testing/InternalSettings.cpp: Added per-script font settings.
2781 (WebCore::setFontFamily):
2782 (WebCore::InternalSettings::setStandardFontFamily):
2783 (WebCore::InternalSettings::setSerifFontFamily):
2784 (WebCore::InternalSettings::setSansSerifFontFamily):
2785 (WebCore::InternalSettings::setFixedFontFamily):
2786 (WebCore::InternalSettings::setCursiveFontFamily):
2787 (WebCore::InternalSettings::setFantasyFontFamily):
2788 (WebCore::InternalSettings::setPictographFontFamily):
2789 * testing/InternalSettings.h:
2791 * testing/InternalSettings.idl:
2793 2012-03-14 Kwonjin Jeong <gram@company100.net>
2795 Remove obsolete constructors of CSSPrimitiveValue class.
2796 https://bugs.webkit.org/show_bug.cgi?id=80971
2798 Remove constructors of CSSPrimitiveValue that can't be
2801 Reviewed by Andreas Kling.
2803 * css/CSSPrimitiveValueMappings.h:
2805 2012-03-14 Igor Oliveira <igor.o@sisa.samsung.com>
2807 Split the extra logic out of RenderBlock::updateFirstLetter
2808 https://bugs.webkit.org/show_bug.cgi?id=80772
2810 Reviewed by Julien Chaffraix.
2812 No change in behavior expected.
2814 * rendering/RenderBlock.cpp:
2815 (WebCore::RenderBlock::updateFirstLetterStyle):
2816 (WebCore::RenderBlock::createFirstLetterRenderer):
2817 (WebCore::RenderBlock::updateFirstLetter):
2819 * rendering/RenderBlock.h:
2822 2012-03-14 Anders Carlsson <andersca@apple.com>
2826 * html/track/TextTrackList.cpp:
2828 2012-03-14 Ryosuke Niwa <rniwa@webkit.org>
2832 * dom/DynamicNodeList.h:
2833 (DynamicSubtreeNodeList):
2835 2012-03-14 Ryosuke Niwa <rniwa@webkit.org>
2837 (register|unregister)DynamicSubtreeNodeList should be called only for labels and regions node lists
2838 https://bugs.webkit.org/show_bug.cgi?id=80900
2840 Reviewed by Andreas Kling.
2842 Cleaned up invalidation code for dynamic node lists. It seems like the existing code was utterly confused
2843 about the lifetime of node lists and caches within them. First, register/unregsiterDynamicSubtreeNodeList
2844 are called for all dynamic node lists even though it's only useful for labels and region node lists since
2845 it's a mechanism to allow node lists to be invalidated at a node to which the node list doesn't belong.
2847 Second, some node lists had dedicated member functions on Node to explicitly invalidate caches in
2848 parsedAttribute. However, this is redundant because invalidateNodeListsCacheAfterAttributeChanged should be
2849 able to invalidate caches when the attribute value changes. This patch gets rid of the last instance of such
2850 function in HTMLLabelElement.
2852 And finally, this patch restricts the callers of DynamicSubtreeNodeList::invalidateCache to be member
2853 functions of NodeListsNodeData (now friends of DynamicSubtreeNodeList) to allow futher refactoring.
2855 * dom/DynamicNodeList.cpp:
2856 (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Don't register the node list since it's only
2857 useful for labels and region node lists.
2858 (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList): Ditto.
2859 * dom/DynamicNodeList.h:
2860 (DynamicSubtreeNodeList):
2863 (WebCore::Node::registerDynamicSubtreeNodeList): The comment about now we have to invalidate caches
2864 when there had no caches is incorrect because registerDynamicSubtreeNodeList is called when a node list
2865 is initially created. Also, if the tree scope didn't have any caches, then this is the first node list
2866 to be added to the list, so there's no point in calling InvalidateCaches (no-op).
2867 (WebCore::Node::unregisterDynamicSubtreeNodeList):
2868 (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Take care of "for" content attribute.
2869 Also remove the redundant call to removeNodeListCacheIfPossible since we only invalidates node lists
2870 and never remove entries from NodeListsNodeData in this function.
2871 (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): The call to removeNodeListCacheIfPossible
2872 is also redundant here. Also removed the invalidation of m_listsWithCaches since it's already done in
2873 invalidateCaches via invalidateCachesThatDependOnAttributes.
2874 (WebCore::NodeListsNodeData::invalidateCaches): Removed the invalidation of m_labelsNodeListCache. It's
2875 done in invalidateCachesThatDependOnAttributes.
2876 (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Invalidate
2877 m_listsInvalidatedAtDocument, which is renamed from m_listsWithCaches.
2878 (WebCore::NodeListsNodeData::isEmpty):
2881 * dom/NodeRareData.h:
2882 (NodeListsNodeData):
2883 * html/HTMLLabelElement.cpp:
2884 (WebCore): Removed parseAttribute since the invalidation labels node list is now done by
2885 invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.
2886 * html/HTMLLabelElement.h:
2888 * html/LabelsNodeList.cpp:
2889 (WebCore::LabelsNodeList::LabelsNodeList):
2890 (WebCore::LabelsNodeList::~LabelsNodeList):
2892 2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
2894 Unreviewed, rolling out r110565.
2895 http://trac.webkit.org/changeset/110565
2896 https://bugs.webkit.org/show_bug.cgi?id=81173
2898 chromium deps are now far enough along that the original cl
2899 should work (Requested by thakis on #webkit).
2901 * WebCore.gyp/mac/adjust_visibility.sh:
2903 2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
2905 Unreviewed, rolling out r110641.
2906 http://trac.webkit.org/changeset/110641
2907 https://bugs.webkit.org/show_bug.cgi?id=81170
2909 Causes an ASAN failure (Requested by abarth on #webkit).
2914 * bindings/scripts/CodeGeneratorJS.pm:
2916 (GenerateImplementation):
2917 * bindings/scripts/CodeGeneratorV8.pm:
2919 (GenerateNamedConstructorCallback):
2920 (GenerateImplementation):
2921 * bindings/scripts/IDLAttributes.txt:
2922 * bindings/scripts/test/V8/V8Float64Array.cpp:
2924 * bindings/scripts/test/V8/V8Float64Array.h:
2926 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2928 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2929 (V8TestActiveDOMObject):
2930 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2932 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2933 (V8TestCustomNamedGetter):
2934 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2936 * bindings/scripts/test/V8/V8TestEventConstructor.h:
2937 (V8TestEventConstructor):
2938 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2940 * bindings/scripts/test/V8/V8TestEventTarget.h:
2941 (V8TestEventTarget):
2942 * bindings/scripts/test/V8/V8TestInterface.cpp:
2944 * bindings/scripts/test/V8/V8TestInterface.h:
2946 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2948 * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2949 (V8TestMediaQueryListListener):
2950 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2952 * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2953 (V8TestNamedConstructor):
2954 * bindings/scripts/test/V8/V8TestObj.cpp:
2956 * bindings/scripts/test/V8/V8TestObj.h:
2958 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2960 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2961 (V8TestSerializedScriptValueInterface):
2962 * bindings/v8/NPV8Object.cpp:
2963 (WebCore::npObjectTypeInfo):
2964 * bindings/v8/V8GCController.cpp:
2965 (WebCore::GrouperVisitor::visitDOMWrapper):
2966 * bindings/v8/WrapperTypeInfo.h:
2969 * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
2972 * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2975 * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
2978 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2980 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2983 * bindings/v8/custom/V8StyleSheetCustom.cpp:
2985 * css/CSSStyleSheet.idl:
2986 * css/StyleSheet.idl:
2987 * dom/DOMStringMap.idl:
2988 * dom/NamedNodeMap.idl:
2989 * html/DOMTokenList.idl:
2990 * html/track/TextTrackList.cpp:
2991 * html/track/TextTrackList.idl:
2993 2012-03-13 Jon Lee <jonlee@apple.com>
2995 Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
2996 https://bugs.webkit.org/show_bug.cgi?id=80922
2997 <rdar://problem/11035082>
2999 Reviewed by Jian Li.
3001 You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
3002 LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
3003 new API. Therefore, APIs that are common between the two will have:
3004 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
3006 This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
3007 the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
3009 * bindings/scripts/InFilesCompiler.pm: Update the script to handle the "|" flag in a conditional.
3010 (preferredConditional):
3011 (conditionalStringFromAttributeValue):
3012 (generateInterfacesHeader):
3013 (generateHeadersHeader):
3015 Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
3017 * bindings/cpp/WebDOMEventTarget.cpp:
3019 * bindings/js/JSDesktopNotificationsCustom.cpp:
3020 * bindings/v8/custom/V8NotificationCenterCustom.cpp:
3021 * dom/EventTargetFactory.in:
3022 * notifications/Notification.cpp:
3023 * notifications/Notification.h:
3024 * notifications/Notification.idl:
3025 * notifications/NotificationCenter.cpp:
3026 * notifications/NotificationCenter.h:
3027 * notifications/NotificationCenter.idl:
3028 * notifications/NotificationContents.h:
3029 * notifications/NotificationController.cpp:
3030 * notifications/NotificationController.h:
3031 * page/DOMWindow.cpp:
3032 (WebCore::DOMWindow::~DOMWindow):
3033 (WebCore::DOMWindow::willDetachPage):
3034 (WebCore::DOMWindow::disconnectDOMWindowProperties):
3035 (WebCore::DOMWindow::clearDOMWindowProperties):
3039 * page/DOMWindow.idl:
3041 (WebCore::Frame::willDetachPage):
3042 (WebCore::Frame::transferChildFrameToNewDocument):
3043 * workers/WorkerContext.cpp:
3044 (WebCore::WorkerContext::~WorkerContext):
3046 * workers/WorkerContext.h:
3048 * workers/WorkerContext.idl:
3049 * workers/WorkerThread.cpp:
3050 (WebCore::WorkerThread::WorkerThread):
3051 * workers/WorkerThread.h:
3054 2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
3056 Unreviewed, rolling out r110744.
3057 http://trac.webkit.org/changeset/110744
3058 https://bugs.webkit.org/show_bug.cgi?id=81168
3060 Causes many WebAudio tests to crash in debug (Requested by
3063 * platform/audio/Biquad.cpp:
3064 (WebCore::Biquad::process):
3066 2012-03-14 Brady Eidson <beidson@apple.com>
3068 <rdar://problem/11045584> and https://bugs.webkit.org/show_bug.cgi?id=81166
3069 Repro crash in compositing/iframes/page-cache-layer-tree.html
3071 Reviewed by Sam Weinig.
3073 No new tests. (Discovered from and covered by existing test)
3075 ScriptCachedFrameData doesn't need to keep a DOMWindow:
3076 * bindings/js/ScriptCachedFrameData.cpp:
3077 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
3078 * bindings/js/ScriptCachedFrameData.h:
3079 (ScriptCachedFrameData):
3081 CachedFrame should grab it off the Frame directly and store it locally:
3082 * history/CachedFrame.cpp:
3083 (WebCore::CachedFrame::CachedFrame):
3084 * history/CachedFrame.h:
3085 (WebCore::CachedFrameBase::domWindow):
3088 2012-03-14 Tony Chang <tony@chromium.org>
3090 fix negative flexing in auto sized columns
3091 https://bugs.webkit.org/show_bug.cgi?id=80069
3093 Reviewed by Ojan Vafai.
3095 New test cases in css3/flexbox/columns-auto-size.html.
3097 * rendering/RenderFlexibleBox.cpp:
3099 (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Properly compute this for auto sizing columns. Previously, we would always return 0.
3100 (WebCore::RenderFlexibleBox::layoutFlexItems):
3101 (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Drop an unnecessary check against undefined. isSpecified covers this for us.
3102 * rendering/RenderFlexibleBox.h:
3103 (RenderFlexibleBox):
3105 2012-03-14 Grace Ku <gracek@codeaurora.org>
3107 Incorrect handling of sizes in "em" when first-line changes font size
3108 https://bugs.webkit.org/show_bug.cgi?id=79526
3110 Reviewed by Eric Seidel.
3112 When a first-line pseudo class changes the font size, the "em" unit is handled incorrectly.
3113 It uses the paragraph's original font size (the size of the rest of the paragraph) rather than
3114 the font-size of the first-line of the paragraph.
3116 This was corrected by checking if the InlineFlowBox was the first line using the existing
3117 InlineFlowBox::isFirstLineStyle() function. The corrected behaviour matches Gecko and Presto.
3118 Trident seems to get it half-wrong in the use case we are testing, painting the correct width for
3119 the border but leaving the wrong amount of space.
3121 The CSS specification doc at the time of this patch specifies that ':first-line' should only support
3122 certain properties, though UAs may choose to apply more properties. Furthermore, the spec does not
3123 define the exact rendering of all cases of ':first-line'. It notes that a more precise definition
3124 may appear in future revisions.
3126 Test: fast/css/pseudo-first-line-border-width.html
3128 * rendering/InlineFlowBox.cpp:
3129 (WebCore::InlineFlowBox::paintBoxDecorations):
3130 * rendering/InlineFlowBox.h:
3131 (WebCore::InlineFlowBox::borderLogicalLeft):
3132 (WebCore::InlineFlowBox::borderLogicalRight):
3133 * rendering/RenderBoxModelObject.cpp:
3134 (WebCore::RenderBoxModelObject::paintBorder):
3135 (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
3136 (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
3137 (WebCore::RenderBoxModelObject::borderObscuresBackground):
3138 * rendering/RenderBoxModelObject.h:
3139 (RenderBoxModelObject):
3141 2012-03-14 Martin Robinson <mrobinson@igalia.com>
3143 Fix the TextureMapper build for GTK+.
3145 No new tests. This is just a build fix.
3147 * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
3148 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3149 * platform/graphics/texmap/TextureMapper.h:
3151 2012-03-12 Martin Robinson <mrobinson@igalia.com>
3153 [GTK] Menulist buttons have separators even when the theme turns them off
3154 https://bugs.webkit.org/show_bug.cgi?id=80668
3156 Reviewed by Daniel Bates.
3158 No new tests. GTK+ theme differences are notoriously difficult
3159 to test, because consistent results depend on having certain themes
3160 and certain versions of themes installed.
3162 Instead of using the GTK_TYPE_BUTTON and GTK_TYPE_SEPARATOR tags to get the
3163 style context, use GTK_TYPE_COMBO_BOX which should provide more accurate theme settings.
3165 * platform/gtk/RenderThemeGtk3.cpp:
3166 (WebCore::getComboBoxMetrics): Get metrics from a GTK_TYPE_COMBO_BOX style context.
3167 (WebCore::RenderThemeGtk::paintMenuList): Get separator settings from the GTK_TYPE_COMBO_BOX style context.
3169 2012-03-14 Levi Weintraub <leviw@chromium.org>
3171 Implement proper sub-pixel support in RenderFileUploadControl
3172 https://bugs.webkit.org/show_bug.cgi?id=80881
3174 Reviewed by Dimitri Glazkov.
3176 Correcting improper usage of LayoutUnits when interacting with the graphics context
3177 and platform code. Specifically:
3178 - pixel snapping the clip rect and paint offsets before sending values to the
3179 graphics context in paintObject.
3180 - using on-screen (pixel snapped) values to pass off to platform code to determine
3181 the max length of the filename to be drawn.
3183 No new tests. No change in behavior.
3185 * rendering/RenderFileUploadControl.cpp:
3186 (WebCore::nodeWidth):
3187 (WebCore::RenderFileUploadControl::maxFilenameWidth):
3188 (WebCore::RenderFileUploadControl::paintObject):
3190 2012-03-14 Joseph Pecoraro <pecoraro@apple.com>
3192 [JSC] Web Inspector: CRASH running $0, $1, etc before they are set
3193 https://bugs.webkit.org/show_bug.cgi?id=81082
3195 Don't return an invalid JSValue. Check if the ScriptValue
3196 has no value and return undefined in that case.
3198 Reviewed by Pavel Feldman.
3200 Updated test: inspector/console/command-line-api.html
3202 * bindings/js/JSInjectedScriptHostCustom.cpp:
3203 (WebCore::JSInjectedScriptHost::inspectedObject):
3205 2012-03-14 James Robinson <jamesr@chromium.org>
3207 [chromium] Remove canRecoverFromContextLoss attribute, it's unused
3208 https://bugs.webkit.org/show_bug.cgi?id=81158
3210 Reviewed by Stephen White.
3212 Canvas accelerated no longer depends on the canRecoverFromContextLoss attribute after r110716.
3214 * platform/graphics/GraphicsContext3D.h:
3215 (WebCore::GraphicsContext3D::Attributes::Attributes):
3217 * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3218 (WebCore::SharedGraphicsContext3DImpl::get):
3220 2012-03-14 Jer Noble <jer.noble@apple.com>
3222 Opening a URL in a MediaDocument does not propagate MIME type info to media element
3223 https://bugs.webkit.org/show_bug.cgi?id=81148
3225 Reviewed by Eric Carlson.
3227 Test: http/tests/media/media-document.html
3229 Pass through the mime type from the DocumentLoader into the <source type=""> attribute of the
3230 generated video element.
3232 * html/MediaDocument.cpp:
3233 (WebCore::MediaDocumentParser::createDocumentStructure):
3235 2012-03-14 Stephen White <senorblanco@chromium.org>
3237 [chromium] Fix accelerated Canvas2D with threaded compositing.
3238 https://bugs.webkit.org/show_bug.cgi?id=80998
3240 Reviewed by James Robinson.
3242 Covered by unit tests Canvas2DLayerChromiumTest and
3243 TreeSynchronizerTest.
3245 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3246 (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
3248 Delay creation of the front texture for double-buffering until the
3249 first call to paintContentsIfDirty().
3250 * platform/graphics/chromium/Canvas2DLayerChromium.h:
3251 (Canvas2DLayerChromium):
3252 Remove setTextureManager() and setLayerTreeHost(), since their job
3253 has been subsumed by paintContentsIfDirty().
3254 * platform/graphics/chromium/TreeSynchronizer.cpp:
3255 (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
3256 Perform an early-out if the passed-in layer is NULL.
3258 2012-03-14 Mark Pilgrim <pilgrim@chromium.org>
3260 Move EntriesCallback to Modules/filesystem/
3261 https://bugs.webkit.org/show_bug.cgi?id=81032
3263 Reviewed by Adam Barth.
3265 No new tests, all existing tests pass.
3268 * DerivedSources.make:
3269 * DerivedSources.pri:
3270 * GNUmakefile.list.am:
3271 * Modules/filesystem/EntriesCallback.h: Copied from Source/WebCore/fileapi/EntriesCallback.h.
3272 * Modules/filesystem/EntriesCallback.idl: Copied from Source/WebCore/fileapi/EntriesCallback.idl.
3275 * WebCore.vcproj/WebCore.vcproj:
3276 * WebCore.xcodeproj/project.pbxproj:
3277 * fileapi/EntriesCallback.h: Removed.
3278 * fileapi/EntriesCallback.idl: Removed.
3280 2012-03-14 Tony Chang <tony@chromium.org>
3282 multiline column flexbox with auto height wrap too much
3283 https://bugs.webkit.org/show_bug.cgi?id=80929
3285 Reviewed by David Hyatt.
3287 Test: css3/flexbox/multiline-column-auto.html
3289 * rendering/RenderBox.cpp:
3290 (WebCore::RenderBox::computeLogicalHeightUsing):
3292 (WebCore::RenderBox::computeContentLogicalHeightUsing): Pull out into a separate method.
3293 * rendering/RenderBox.h:
3295 * rendering/RenderFlexibleBox.cpp:
3296 (WebCore::RenderFlexibleBox::lineBreakLength): Compute the value based on height & max-height for column layout.
3298 (WebCore::RenderFlexibleBox::computeNextFlexLine):
3299 * rendering/RenderFlexibleBox.h:
3300 (RenderFlexibleBox):
3302 2012-03-14 Xingnan Wang <xingnan.wang@intel.com>
3304 Optimize the multiply-add in Biquad.cpp::process
3305 https://bugs.webkit.org/show_bug.cgi?id=75528
3307 Reviewed by Chris Rogers.
3309 Pipeline the multiply-add with SSE2 instructions and get about 20% improvement for the function.
3311 * platform/audio/Biquad.cpp:
3312 (WebCore::Biquad::process):
3314 2012-03-14 James Robinson <jamesr@chromium.org>
3316 [Chromium] Layout Test compositing/repaint/opacity-between-absolute.html is flaky
3317 https://bugs.webkit.org/show_bug.cgi?id=79823
3319 Reviewed by Adrienne Walker.
3321 LayerRendererChromium was storing a weak pointer to the current render surface in m_currentRenderSurface and
3322 using this in useRenderSurface() to avoid rebinding if we called useRenderSurface() multiple times in a row on
3323 the same surface. This pointer was never cleared, so if any subsequent surface landed at the same address this
3324 caching would misbehave and we'd fail to correctly initialize the new render surface. The caching wasn't
3325 actually buying us anything anyway since we only call useRenderSurface() once per surface per frame and we
3326 always set the viewport for the default render surface.
3328 * platform/graphics/chromium/LayerRendererChromium.cpp:
3329 (WebCore::LayerRendererChromium::beginDrawingFrame):
3330 (WebCore::LayerRendererChromium::useRenderSurface):
3332 2012-03-14 Zalan Bujtas <zbujtas@gmail.com>
3334 Frame flattening ASSERT(!needsLayout()) in FrameView::paintContents()
3335 https://bugs.webkit.org/show_bug.cgi?id=80155
3337 Reviewed by Antti Koivisto.
3339 This patch ensures that an iframe only schedules and calls parent's layout,
3340 when it is going to be flattened. Non-flattened iframe does not affect
3341 parent's layout, so normal layout flow applies. isInSubframeLayoutWithFrameFlattening()
3342 function has been added to test whether a particular child frame is changing
3343 parent's layout. This function also ensures that scheduleRelayout() and layout()
3344 are in sync of checking againts frame flattening.
3346 Test: fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html
3348 * page/FrameView.cpp:
3349 (WebCore::FrameView::avoidScrollbarCreation):
3350 (WebCore::FrameView::layout):
3351 (WebCore::FrameView::scheduleRelayout):
3352 (WebCore::FrameView::isInChildFrameWithFrameFlattening):
3354 (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
3357 * rendering/RenderIFrame.h:
3359 (WebCore::RenderIFrame::renderName):
3361 2012-03-14 Anders Carlsson <andersca@apple.com>
3363 Don't cap the scroll position if layout happens when a FrameView's overhangAmount is non-zero
3364 https://bugs.webkit.org/show_bug.cgi?id=81146
3365 <rdar://problem/10850075>
3367 Reviewed by Beth Dakin.
3369 If layout happens when a page has a non-zero overhang amount, we shouldn't cap the scroll position
3370 to be inside of the valid maximum/minimum scroll offsets because that will cause the page to jump back, which
3371 can look really bad if layout happens in response to the page being scrolled.
3373 * platform/ScrollView.cpp:
3374 (WebCore::ScrollView::updateScrollbars):
3376 2012-03-14 Tommy Widenflycht <tommyw@google.com>
3378 MediaStream API (JSEP): Introducing IceCandidate
3379 https://bugs.webkit.org/show_bug.cgi?id=80699
3381 Reviewed by Adam Barth.
3383 Patch #2 in a series of patches to change the PeerConnection from ROAP to JSEP,
3384 see bug 80589 for more information.
3385 Adding the JS object IceCandidate and its WebCore/platform sibling IceCandidateDescriptor.
3386 This object will be created both from JS and the embedder.
3388 Not possible to test until the entire JSEP feature is commited.
3390 * GNUmakefile.list.am:
3391 * Modules/mediastream/IceCandidate.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3393 (WebCore::IceCandidate::create):
3394 (WebCore::IceCandidate::IceCandidate):
3395 (WebCore::IceCandidate::~IceCandidate):
3396 (WebCore::IceCandidate::label):
3397 (WebCore::IceCandidate::candidateLine):
3398 (WebCore::IceCandidate::toSdp):
3399 (WebCore::IceCandidate::descriptor):
3400 * Modules/mediastream/IceCandidate.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3403 * Modules/mediastream/IceCandidate.idl: Added.
3405 * platform/mediastream/IceCandidateDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3407 (WebCore::IceCandidateDescriptor::create):
3408 (WebCore::IceCandidateDescriptor::IceCandidateDescriptor):
3409 (WebCore::IceCandidateDescriptor::~IceCandidateDescriptor):
3410 (WebCore::IceCandidateDescriptor::toSdp):
3411 * platform/mediastream/IceCandidateDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3413 (IceCandidateDescriptor):
3414 (WebCore::IceCandidateDescriptor::label):
3415 (WebCore::IceCandidateDescriptor::candidateLine):
3416 * platform/mediastream/MediaStreamCenter.cpp:
3417 (WebCore::MediaStreamCenter::constructSdp):
3419 * platform/mediastream/MediaStreamCenter.h:
3421 (MediaStreamCenter):
3423 2012-03-14 Simon Fraser <simon.fraser@apple.com>
3425 background-visibility:hidden should create a RenderLayer
3426 https://bugs.webkit.org/show_bug.cgi?id=81134
3428 Reviewed by Dean Jackson.
3430 Background-visibility:hidden has to create RenderLayers, because it's implemented
3431 via compositing and/or paint short-circuiting in RenderLayer code.
3433 Test: transforms/3d/general/background-visibility-layers.html
3435 * rendering/RenderBox.h:
3436 * rendering/RenderBoxModelObject.h:
3437 (WebCore::RenderBoxModelObject::requiresLayer):
3438 * rendering/RenderObject.h:
3439 (WebCore::RenderObject::hasHiddenBackface):
3440 * rendering/RenderTableRow.h:
3442 2012-03-14 Raul Hudea <rhudea@adobe.com>
3444 [CSSRegions][CSSOM] Implement regionLayoutEvent
3445 https://bugs.webkit.org/show_bug.cgi?id=78882
3447 Reviewed by David Hyatt.
3449 Adding the regionLayoutEvent that is dispatch for all regions after each flow-thread layout.
3451 Tests: fast/regions/region-event-add-to-flow.html
3452 fast/regions/region-event-remove-from-dom.html
3453 fast/regions/region-event-remove-from-flow.html
3454 fast/regions/region-event.html
3457 (WebCore::Document::addListenerTypeIfNeeded): Added check for regionLayoutUpdate listeners
3462 (WebCore::Node::dispatchRegionLayoutUpdateEvent):
3466 * rendering/RenderFlowThread.cpp:
3467 (WebCore::RenderFlowThread::RenderFlowThread):
3468 (WebCore::RenderFlowThread::layout): Start the event dispatch timer but only if there are regionLayoutUpdate listeners and there is at least one region that had its layout updated.
3469 (WebCore::RenderFlowThread::computeOverflowStateForRegions): Mark regions that might had a layout update
3470 (WebCore::RenderFlowThread::regionLayoutUpdateEventTimerFired):
3472 * rendering/RenderFlowThread.h:
3473 * rendering/RenderRegion.cpp:
3474 (WebCore::RenderRegion::RenderRegion):
3475 * rendering/RenderRegion.h:
3476 (WebCore::RenderRegion::setDispatchRegionLayoutUpdateEvent):
3477 (WebCore::RenderRegion::shouldDispatchRegionLayoutUpdateEvent):
3480 2012-03-14 Pierre Rossi <pierre.rossi@gmail.com>
3482 [Qt] Add support for vertical sliders in mobile theme
3483 https://bugs.webkit.org/show_bug.cgi?id=80179
3485 This makes sliders using the "slider-vertical" appearance more sensible.
3487 Reviewed by Simon Hausmann.
3489 No new tests, since the mobile theme still isn't used in layout tests.
3491 * platform/qt/RenderThemeQtMobile.cpp:
3493 (WebCore::StylePainterMobile::drawProgress):
3494 (WebCore::RenderThemeQtMobile::paintSliderTrack):
3495 * platform/qt/RenderThemeQtMobile.h:
3496 (StylePainterMobile):
3498 2012-03-14 Jer Noble <jer.noble@apple.com>
3500 WebProcess spins beneath [QTMovie movieFileTypes:]
3501 https://bugs.webkit.org/show_bug.cgi?id=81133
3503 Reviewed by Eric Carlson.
3505 No new tests; speculative fix for top WebProcess spin.
3507 When checking to see if a given mime type is supported by QuickTime,
3508 immediately exclude all types that do not begin with 'audio/' or 'video/'.
3509 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3510 (WebCore::MediaPlayerPrivateQTKit::supportsType):
3512 2012-03-14 Zalan Bujtas <zbujtas@gmail.com>
3514 Make RenderIFrame::flattenFrame() return earlier, when frame flattening is disabled.
3515 https://bugs.webkit.org/show_bug.cgi?id=80301
3517 Reviewed by Antti Koivisto.
3519 Reorganize RenderIFrame flattenFrame() code, so that it returns
3520 earlier for the normal use case, when frame flattening is disabled.
3521 It also removes leftover null check.
3523 No new tests, since there's no new functionality.
3525 * rendering/RenderIFrame.cpp:
3526 (WebCore::RenderIFrame::flattenFrame):
3528 2012-03-14 James Robinson <jamesr@chromium.org>
3530 [chromium] Provide explicit polling API to check if the platform is capable of accelerated 2d canvas
3531 https://bugs.webkit.org/show_bug.cgi?id=80667
3533 Reviewed by Darin Fisher.
3535 Query the platform to see if we can instantiate a context suitable for accelerating 2d canvas. If we can't, for
3536 instance if we're on a system that can't preserve a context when the screensaver comes up, then immediately fall
3539 Covered by canvas layout tests in the virtual-gpu mode.
3541 * html/HTMLCanvasElement.cpp:
3542 (WebCore::HTMLCanvasElement::shouldAccelerate):
3543 * platform/chromium/PlatformSupport.h:
3545 2012-03-14 Carlos Garcia Campos <cgarcia@igalia.com>
3547 [GTK] Handle printing errors in WebKit2
3548 https://bugs.webkit.org/show_bug.cgi?id=77197
3550 Reviewed by Gustavo Noronha Silva.
3552 * platform/gtk/ErrorsGtk.cpp:
3553 (WebCore::printError): Create a generic print error.
3554 (WebCore::printerNotFoundError): Create a print error to notify
3555 that the selected printer could not be found.
3556 (WebCore::invalidPageRangeToPrint): Create a print error when the
3557 selected page range is invalid and there are no pages to print.
3558 * platform/gtk/ErrorsGtk.h:
3559 (WebCore): Add print error doamin.
3561 2012-03-14 Nikolas Zimmermann <nzimmermann@rim.com>
3563 Make SVGUseElement respect & support externalResourcesRequired
3564 https://bugs.webkit.org/show_bug.cgi?id=81109
3566 Reviewed by Rob Buis.
3568 Generalize the existing externalResourcesRequired support from SVGScriptElement
3569 into SVGExternalResourcesRequired, so it can be shared with SVGUseElement, which
3570 was lacking proper externalResourcesRequired support.
3572 <use xlink:href="external.svg" onload="alert('hi')" externalResourcesRequired="true"/>
3573 The onload handler now fires _after_ the external resources loaded, making it possible
3574 to write reliable tests that switch from internal to external resources or the other
3575 way around. Converted the new tests in svg/dynamic-updates/SVGUseElement* to listen
3576 to SVGLoad events, to make them reliable.
3578 We may be able to generalize this to cover SVGImageElement as well (the only other class which
3579 is currently supporting externalResourcesRequired - but that's more involved, so I left it TODO).
3581 Covered by existing tests and the changes to the new SVGUseElement tests.
3584 (SVGElement): Make haveLoadedRequiredResources() public so SVGExternalResourcesRequired can call it.
3585 * svg/SVGExternalResourcesRequired.cpp: Refactored code from SVGScriptElement, 1:1 copies w/o changes.
3586 (WebCore::SVGExternalResourcesRequired::handleAttributeChange):
3587 (WebCore::SVGExternalResourcesRequired::dispatchLoadEvent):
3588 (WebCore::SVGExternalResourcesRequired::insertedIntoDocument):
3589 (WebCore::SVGExternalResourcesRequired::finishParsingChildren):
3590 (WebCore::SVGExternalResourcesRequired::haveLoadedRequiredResources):
3591 * svg/SVGExternalResourcesRequired.h: Add new virtual functions, that must be available in classes that inherit from SVGExternalResourcesRequired.
3592 (WebCore::SVGExternalResourcesRequired::setHaveFiredLoadEvent):
3593 (WebCore::SVGExternalResourcesRequired::isParserInserted):
3594 (WebCore::SVGExternalResourcesRequired::haveFiredLoadEvent):
3595 * svg/SVGScriptElement.cpp: Refactored externalResourcesRequired handling into SVGExternalResourcesRequired.
3596 (WebCore::SVGScriptElement::svgAttributeChanged):
3597 (WebCore::SVGScriptElement::insertedIntoDocument):
3598 (WebCore::SVGScriptElement::finishParsingChildren):
3599 * svg/SVGScriptElement.h: Ditto.
3600 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
3601 (WebCore::SVGScriptElement::dispatchLoadEvent):
3602 (WebCore::SVGScriptElement::setHaveFiredLoadEvent):
3603 (WebCore::SVGScriptElement::isParserInserted):
3604 (WebCore::SVGScriptElement::haveFiredLoadEvent):
3605 * svg/SVGTests.cpp: Fix obvious typo, that leads to an assertion. Always return true if we know the attributeName.
3606 (WebCore::SVGTests::handleAttributeChange):
3608 * svg/SVGTextPathElement.cpp:
3609 (WebCore::SVGTextPathElement::insertedIntoDocument): Remove ambigous call warning.
3610 * svg/SVGUseElement.cpp: Support externalResourcesRequired="true/false" + dynamic changes of it. Covered by existing tests.
3611 (WebCore::SVGUseElement::SVGUseElement):
3612 (WebCore::SVGUseElement::create):
3613 (WebCore::SVGUseElement::insertedIntoDocument):
3614 (WebCore::SVGUseElement::svgAttributeChanged):
3615 (WebCore::SVGUseElement::notifyFinished):
3616 (WebCore::SVGUseElement::finishParsingChildren):
3618 * svg/SVGUseElement.h: Ditto.
3619 (WebCore::SVGUseElement::haveLoadedRequiredResources):
3620 (WebCore::SVGUseElement::setHaveFiredLoadEvent):
3621 (WebCore::SVGUseElement::isParserInserted):
3622 (WebCore::SVGUseElement::haveFiredLoadEvent):
3623 * svg/svgtags.in: Pass "bool wasInsertedByParser" to SVGUseElement constructor.
3625 2012-03-14 Andrew Lo <anlo@rim.com>
3627 [BlackBerry] Implement REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR using AnimationFrameRateController
3628 https://bugs.webkit.org/show_bug.cgi?id=81000
3630 Add BlackBerry port for DisplayRefreshMonitor using AnimationFrameRateController.
3631 Moved refreshDisplayOnMainThread to platform independant part of header.
3633 Reviewed by Antonio Gomes.
3635 requestAnimationFrame already covered by tests in LayoutTests/fast/animation.
3637 * PlatformBlackBerry.cmake:
3638 * platform/graphics/DisplayRefreshMonitor.cpp:
3639 (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
3640 * platform/graphics/DisplayRefreshMonitor.h:
3642 (DisplayAnimationClient):
3643 (WebCore::DisplayAnimationClient::~DisplayAnimationClient):
3644 (DisplayRefreshMonitor):
3645 * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: Added.
3647 (WebCore::DisplayAnimationClient::DisplayAnimationClient):
3648 (WebCore::DisplayAnimationClient::animationFrameChanged):
3649 (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
3650 (WebCore::DisplayRefreshMonitor::startAnimationClient):
3651 (WebCore::DisplayRefreshMonitor::stopAnimationClient):
3652 (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
3653 (WebCore::DisplayRefreshMonitor::displayLinkFired):
3655 2012-03-14 Yury Semikhatsky <yurys@chromium.org>
3657 Web Inspector: use class name indexes instead of class names when evaluating aggregates
3658 https://bugs.webkit.org/show_bug.cgi?id=81100
3660 Class name and type name indexes are now used when calculating class aggregates
3661 in heap snapshots instead of string lookup followed by a string comparison.
3663 Class names like "Window / www.webkit.org" are now left as is in the UI (it used
3664 to be trimed to just "Window").
3666 Reviewed by Pavel Feldman.
3668 * inspector/front-end/HeapSnapshot.js:
3669 (WebInspector.HeapSnapshotNode.prototype.get classNameIndex):
3670 (WebInspector.HeapSnapshotNode.prototype.hasType):
3671 (WebInspector.HeapSnapshot.prototype._init):
3672 (WebInspector.HeapSnapshot.prototype._buildAggregates):
3674 2012-03-14 Andrey Kosyakov <caseq@chromium.org>
3676 Web Inspector: add didCancelFrame timeline event
3677 https://bugs.webkit.org/show_bug.cgi?id=80994
3679 Reviewed by Pavel Feldman.
3681 - add an ability to cancel certain timeline events, unless they've been followed by other events.
3682 - implement didCancelFrame() event, fired when a platform decides not to render frame after didBeginFrame() was called.
3684 Test: inspector/timeline/timeline-frames.html
3687 * inspector/InspectorInstrumentation.cpp:
3688 (WebCore::InspectorInstrumentation::didCancelFrameImpl):
3690 * inspector/InspectorInstrumentation.h:
3691 (InspectorInstrumentation):
3692 (WebCore::InspectorInstrumentation::didCancelFrame):
3694 * inspector/InspectorTimelineAgent.cpp:
3695 (WebCore::InspectorTimelineAgent::didBeginFrame):
3697 (WebCore::InspectorTimelineAgent::didCancelFrame):
3698 (WebCore::InspectorTimelineAgent::appendRecord):
3699 (WebCore::InspectorTimelineAgent::pushCurrentRecord):
3700 (WebCore::InspectorTimelineAgent::pushCancelableRecord):
3701 (WebCore::InspectorTimelineAgent::commitCancelableRecords):
3702 (WebCore::InspectorTimelineAgent::cancelRecord):
3703 * inspector/InspectorTimelineAgent.h:
3704 (InspectorTimelineAgent):
3705 (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
3706 (TimelineRecordEntry):
3707 * testing/Internals.cpp:
3708 (WebCore::Internals::emitInspectorDidBeginFrame):
3710 (WebCore::Internals::emitInspectorDidCancelFrame):
3711 * testing/Internals.h:
3713 * testing/Internals.idl:
3715 2012-03-14 Dana Jansens <danakj@chromium.org>
3717 Region can acquire an empty span by subtracting an empty Region
3718 https://bugs.webkit.org/show_bug.cgi?id=81074
3720 Reviewed by Anders Carlsson.
3722 Subtracting an empty Region B from a Region A can cause A to end
3723 up with an empty span. This violates the rule that two Regions
3724 that cover the exact same area should have equal spans and segments.
3726 Unit test: RegionTest.emptySpan
3728 * platform/graphics/Region.cpp:
3729 (WebCore::Region::subtract):
3731 2012-03-14 Simon Hausmann <simon.hausmann@nokia.com>
3733 [Textmap] Disable driver based BGRA swizzling for OpenGL/ES
3735 Reviewed by Noam Rosenthal.
3737 The current way of detecting swizzling support (check for GL_EXT_texture_format_BGRA8888)
3738 is unfortunately not reliable. We need a better way of detection that (filed bug 81103).
3739 In the meantime this patch reverts back to doing the swizzling in the texture mapper to
3740 get pixels back onto the screen.
3742 * platform/graphics/texmap/TextureMapperGL.cpp:
3743 (WebCore::driverSupportsBGRASwizzling):
3744 (WebCore::BitmapTextureGL::updateContents):
3746 2012-03-14 Leo Yang <leo.yang@torchmobile.com.cn>
3748 [BlackBerry] Upstream the BlackBerry change to platform/Cursor.h
3749 https://bugs.webkit.org/show_bug.cgi?id=81086
3751 Reviewed by Rob Buis.
3753 * platform/Cursor.h:
3755 (WebCore::Cursor::Cursor):
3756 Add the BlackBerry specific PlatformCursor.
3757 * platform/blackberry/PageClientBlackBerry.h:
3758 There was an alias named PlatformCursorHandle for PlatformCursor
3759 in the internal version of Cursor.h. But it's not necessary so it's
3760 not included in the upstreaming version of Cursor.h. As a result,
3761 use PlatformCursor directly in this file.
3762 (PageClientBlackBerry):
3764 2012-03-14 Simon Hausmann <simon.hausmann@nokia.com>
3766 [Qt] RunLoopQt is missing reentrancy guards
3767 https://bugs.webkit.org/show_bug.cgi?id=80982
3769 Reviewed by Tor Arne Vestbø.
3771 Avoid recursive calls to RunLoop::performWork() with a simple
3772 counting mechanism, to avoid out-of-order message dispatching.
3774 * platform/qt/RunLoopQt.cpp:
3775 (WebCore::RunLoop::TimerObject::TimerObject):
3776 (WebCore::RunLoop::TimerObject::performWork):
3777 (RunLoop::TimerObject):
3779 2012-03-14 Ilya Tikhonovsky <loislo@chromium.org>
3781 Web Inspector: small improvement for HeapSnapshot performance ~12%.
3782 https://bugs.webkit.org/show_bug.cgi?id=81033
3784 Reviewed by Yury Semikhatsky.
3786 * inspector/front-end/HeapSnapshot.js:
3787 (WebInspector.HeapSnapshot.prototype.get nodeCount):
3788 (WebInspector.HeapSnapshot.prototype.get maxNodeId):
3789 (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
3790 (WebInspector.HeapSnapshot.prototype.get nodeIndexes):
3791 (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
3793 2012-03-14 Kentaro Hara <haraken@chromium.org>
3795 Return null when shouldAllowAccessToNode() fails
3796 https://bugs.webkit.org/show_bug.cgi?id=80205
3798 Reviewed by Adam Barth.
3800 shouldAllowAccessToNode() is used for window.frameElement, HTMLFrameElement.contentDocument,
3801 and getSVGDocument(). The spec of window.frameElement and HTMLFrameElement.contentDocument
3802 requires that they should return null when the security check fails.
3803 Thus this patch changes the return value from undefined to null.
3805 http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#navigating-nested-browsing-contexts-in-the-dom
3806 http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-iframe-contentdocument
3808 Tests: http/tests/security/local-iFrame-from-remote.html
3809 http/tests/security/cross-frame-access-frameelement.html
3810 http/tests/security/cross-frame-access-put.html
3812 * bindings/scripts/CodeGeneratorJS.pm:
3813 (GenerateImplementation):
3814 * bindings/scripts/CodeGeneratorV8.pm:
3815 (GenerateNormalAttrGetter):
3816 (GenerateFunctionCallback):
3818 * bindings/scripts/test/JS/JSTestObj.cpp: Updated run-bindings-tests results.
3819 (WebCore::jsTestObjContentDocument):
3820 (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
3821 * bindings/scripts/test/V8/V8TestObj.cpp:
3822 (WebCore::TestObjInternal::contentDocumentAttrGetter):
3823 (WebCore::TestObjInternal::getSVGDocumentCallback):
3825 2012-03-14 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
3827 Build error: DNSSoup.cpp:30: fatal error: CString.h: No such file or
3829 https://bugs.webkit.org/show_bug.cgi?id=81093
3831 Reviewed by Philippe Normand.
3833 Fix build error introduced by r110669.
3835 * platform/network/soup/DNSSoup.cpp:
3837 2012-03-14 Marja Hölttä <marja@google.com>
3839 WebHTTPBody: Keep track of whether the data includes passwords.
3840 https://bugs.webkit.org/show_bug.cgi?id=81003
3842 Reviewed by Darin Fisher.
3844 This change enables Chrome to save HTTP bodies selectively, only
3845 if they don't contain passwords.
3847 * loader/FormSubmission.cpp:
3848 (WebCore::FormSubmission::create): Check if the data contains passwords.
3849 * platform/network/FormData.cpp:
3850 (WebCore::FormData::FormData): Added containsPasswordData, setContainsPasswordData.
3851 * platform/network/FormData.h:
3852 (WebCore::FormData::containsPasswordData): Added.
3853 (WebCore::FormData::setHasPasswordData): Added.
3856 2012-03-14 Vsevolod Vlasov <vsevik@chromium.org>
3858 Web Inspector: Add snippets tab to scripts navigator.
3859 https://bugs.webkit.org/show_bug.cgi?id=81018
3861 Reviewed by Pavel Feldman.
3863 * English.lproj/localizedStrings.js:
3864 * inspector/front-end/ScriptsNavigator.js:
3865 (WebInspector.ScriptsNavigator):
3866 (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
3867 (WebInspector.ScriptsNavigator.prototype.focus):
3868 (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
3869 (WebInspector.ScriptsNavigator.prototype.reset):
3870 (WebInspector.ScriptsNavigator.prototype._getOrCreateFolderTreeElement):
3871 (WebInspector.ScriptsNavigator.prototype._createFolderTreeElement):
3872 (WebInspector.ScriptsNavigator.prototype._getOrCreateSnippetEvaluationsFolderTreeElement):
3873 (WebInspector.ScriptsNavigator.prototype._scriptFolderIdentifier):
3874 (WebInspector.NavigatorTreeOutline):
3875 * inspector/front-end/ScriptsPanel.js:
3876 (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
3877 (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
3878 * inspector/front-end/SnippetsModel.js:
3880 2012-03-14 Pavel Feldman <pfeldman@chromium.org>
3882 Web Inspector: Copy on the Console gives a mangled result.
3883 https://bugs.webkit.org/show_bug.cgi?id=81091
3885 Reviewed by Vsevolod Vlasov.
3887 * inspector/front-end/ConsoleMessage.js:
3888 (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
3889 (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
3891 2012-03-14 Nikolas Zimmermann <nzimmermann@rim.com>
3893 External <use> xlink:href references do not work
3894 https://bugs.webkit.org/show_bug.cgi?id=12499
3896 Reviewed by Zoltan Herczeg.
3898 Follow-up fix after r110676.
3899 Assertions are firing due last minute changes in isExternalURIReference.
3901 Fix detecting local resources properly, when the given iri contains a /complex/path.
3902 Use document->completeURL() instead, and compare with the document->url() to decide
3903 if its a local reference or not.
3905 If an external document load fails with an error (eg. file missing) don't assert
3906 in debug builds, instead handle it gracefully.
3908 I decided to clean the code up as well, to make it more safe & obvious.
3910 Test: svg/custom/use-external-crash.svg
3912 * svg/SVGURIReference.cpp:
3913 (WebCore::SVGURIReference::targetElementFromIRIString):
3914 * svg/SVGURIReference.h:
3915 (WebCore::SVGURIReference::isExternalURIReference):
3916 * svg/SVGUseElement.cpp:
3917 (WebCore::SVGUseElement::externalDocument):
3918 (WebCore::SVGUseElement::buildPendingResource):
3920 2012-03-14 Lars Knudsen <lars.knudsen@nokia.com>
3922 3D transformed surfaces with z>0 gets cropped
3923 https://bugs.webkit.org/show_bug.cgi?id=81009
3925 Reviewed by Noam Rosenthal.
3927 The scissor clipping in TextureMapperGL didn't take 3D transforms
3928 into account when calculating the clipping region.
3929 Now, it will bail out early if the transform is not affine.
3931 No new tests. Tested by current compositing layout tests.
3933 * platform/graphics/texmap/TextureMapperGL.cpp:
3934 (WebCore::TextureMapperGL::beginScissorClip):
3936 2012-03-14 Hajime Morrita <morrita@chromium.org>
3938 Unreviewed build fix.
3940 * html/track/TextTrackList.cpp:
3941 (TextTrackList::append):
3942 (TextTrackList::remove):
3943 (TextTrackList::owner): Changed return type from HTMLMediaElement* to Node* and uninlined.
3944 * html/track/TextTrackList.h:
3947 2012-03-13 Vsevolod Vlasov <vsevik@chromium.org>
3949 Web Inspector: [InspectorIndexedDB] Remote object should be released when data view is removed/updated.
3950 https://bugs.webkit.org/show_bug.cgi?id=81022
3952 Reviewed by Pavel Feldman.
3954 * inspector/front-end/IndexedDBViews.js:
3955 (WebInspector.IDBDataView):
3956 (WebInspector.IDBDataView.prototype._updateData.callback):
3957 (WebInspector.IDBDataView.prototype._updateData):
3958 (WebInspector.IDBDataView.prototype.get statusBarItems):
3959 (WebInspector.IDBDataView.prototype.clear):
3960 * inspector/front-end/ResourcesPanel.js:
3961 (WebInspector.IndexedDBTreeElement.prototype._indexedDBRemoved):
3962 (WebInspector.IDBDatabaseTreeElement.prototype.update):
3963 (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
3964 (WebInspector.IDBDatabaseTreeElement.prototype._objectStoreRemoved):
3965 (WebInspector.IDBDatabaseTreeElement.prototype.clear):
3966 (WebInspector.IDBObjectStoreTreeElement.prototype.update):
3967 (WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
3968 (WebInspector.IDBObjectStoreTreeElement.prototype._indexRemoved):
3969 (WebInspector.IDBObjectStoreTreeElement.prototype.clear):
3970 (WebInspector.IDBIndexTreeElement.prototype.onselect):
3971 (WebInspector.IDBIndexTreeElement.prototype.clear):
3973 2012-03-12 Vsevolod Vlasov <vsevik@chromium.org>
3975 Web Inspector: Introduce SnippetsScriptMapping.
3976 https://bugs.webkit.org/show_bug.cgi?id=80890
3978 Reviewed by Pavel Feldman.
3980 * inspector/front-end/ScriptMapping.js:
3981 (WebInspector.MainScriptMapping):
3982 (WebInspector.MainScriptMapping.prototype.addScript):
3983 (WebInspector.MainScriptMapping.prototype._mappingForScript):
3984 * inspector/front-end/SnippetsModel.js:
3985 (WebInspector.SnippetsModel.prototype.snippetForId):
3986 (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
3987 (WebInspector.SnippetsScriptMapping):
3988 (WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):
3989 (WebInspector.SnippetsScriptMapping.prototype.addScript):
3990 (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
3991 (WebInspector.SnippetsScriptMapping.prototype._releaseSnippetScript.get if):
3992 (WebInspector.SnippetsScriptMapping.prototype._releaseSnippetScript):
3993 (WebInspector.SnippetsScriptMapping.prototype._snippetDeleted.get this):
3994 (WebInspector.SnippetsScriptMapping.prototype._snippetDeleted):
3995 (WebInspector.SnippetsScriptMapping.prototype.reset):
3996 (WebInspector.SnippetContentProvider):
3998 2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
4000 Unreviewed, rolling out r110673.
4001 http://trac.webkit.org/changeset/110673
4002 https://bugs.webkit.org/show_bug.cgi?id=81090
4004 "Qt minimal build broken" (Requested by yurys on #webkit).
4006 * inspector/CodeGeneratorInspector.py:
4007 (CommandReturnPassModel.ByPointer.get_set_return_condition):
4008 (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
4009 (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
4010 (Generator.process_event):
4011 (Generator.process_command):
4012 * inspector/ContentSearchUtils.cpp:
4013 (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
4014 (WebCore::ContentSearchUtils::searchInTextByLines):
4015 * inspector/ContentSearchUtils.h:
4016 (ContentSearchUtils):
4017 * inspector/InjectedScript.cpp:
4018 (WebCore::InjectedScript::evaluate):
4019 (WebCore::InjectedScript::callFunctionOn):
4020 (WebCore::InjectedScript::evaluateOnCallFrame):
4021 (WebCore::InjectedScript::makeEvalCall):
4022 * inspector/InjectedScript.h:
4024 * inspector/InspectorDOMDebuggerAgent.cpp:
4025 (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
4026 (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
4027 (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
4028 (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
4029 (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
4030 (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
4031 * inspector/InspectorDebuggerAgent.cpp:
4032 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
4033 (WebCore::InspectorDebuggerAgent::setBreakpoint):
4034 (WebCore::InspectorDebuggerAgent::searchInContent):
4035 (WebCore::InspectorDebuggerAgent::setScriptSource):
4036 (WebCore::InspectorDebuggerAgent::getFunctionDetails):
4037 (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
4038 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
4039 (WebCore::InspectorDebuggerAgent::didPause):
4040 (WebCore::InspectorDebuggerAgent::breakProgram):
4041 (WebCore::InspectorDebuggerAgent::clearBreakDetails):
4042 * inspector/InspectorDebuggerAgent.h:
4043 (InspectorDebuggerAgent):
4044 * inspector/InspectorPageAgent.cpp:
4045 (WebCore::buildObjectForCookie):
4046 (WebCore::buildArrayForCookies):
4047 (WebCore::InspectorPageAgent::getCookies):
4048 (WebCore::InspectorPageAgent::getResourceTree):
4049 (WebCore::InspectorPageAgent::searchInResource):
4050 (WebCore::InspectorPageAgent::searchInResources):
4051 (WebCore::InspectorPageAgent::buildObjectForFrame):
4052 (WebCore::InspectorPageAgent::buildObjectForFrameTree):
4053 * inspector/InspectorPageAgent.h:
4054 * inspector/InspectorRuntimeAgent.cpp:
4055 (WebCore::InspectorRuntimeAgent::evaluate):
4056 (WebCore::InspectorRuntimeAgent::callFunctionOn):
4058 2012-03-14 Renata Hodovan <reni@webkit.org>
4060 External <use> xlink:href references do not work
4061 https://bugs.webkit.org/show_bug.cgi?id=12499
4063 Reviewed by Nikolas Zimmermann.
4065 This is a follow-up patch after r108785.
4066 In this patch we bind the previously introduced CachedSVGDocument class
4067 into the caching mechanism of SVGUseElement. The mode how external resources
4068 are handled is similar to the processing of internal ones. We build the instance
4069 and shadow tree the same way but we have to keep in mind that the requested resources
4070 maybe not loaded yet. We can check it with cachedDocumentIsStillLoading() function.
4072 SVGURIReference::targetElementFromIRIString() also need to be extended. The baseURI
<