1 2012-03-16 Adam Klein <adamk@chromium.org>
3 Make HTMLInputElement::isRadioButton non-virtual and remove unused HTMLFormControlElement::isRadioButton method
4 https://bugs.webkit.org/show_bug.cgi?id=81255
6 Reviewed by Kent Tamura.
8 No new tests, no change in behavior.
10 * html/HTMLFormControlElement.h:
11 * html/HTMLInputElement.h:
14 2012-03-16 Tay Grigg <tgrigg@rim.com>
16 [BlackBerry] Update NetworkJob to accept batched headers
17 https://bugs.webkit.org/show_bug.cgi?id=81273
19 Batch up the headers into a vector before they come into
20 webkit to increase performance, and simplify the API.
22 Reviewed by George Staikos.
24 * platform/network/blackberry/NetworkJob.cpp:
25 (WebCore::NetworkJob::notifyHeadersReceived):
26 * platform/network/blackberry/NetworkJob.h:
29 2012-03-16 Dana Jansens <danakj@chromium.org>
31 [chromium] Add overdraw metrics for texture uploads
32 https://bugs.webkit.org/show_bug.cgi?id=81175
34 Reviewed by Adrienne Walker.
36 Record texture upload metrics during paint. To properly record
37 the amount of pixels culled, we must compute the amount of pixels we
38 would have uploaded for a tile. This requires knowing the dirty rect of
39 the tile, but the dirty rect can be changed by WebKit during a paint, so
40 we always store the dirtyRect in the tile's updateRect. We add an
41 m_updateCulled bool to the UpdatableTile structure, to identify tiles
42 that were not updated, and know a tile was updated if updateRect is not
43 empty and updateCulled is false.
45 Tested by all TiledLayerChromiumTests that use occlusion tracker.
47 * platform/graphics/chromium/TiledLayerChromium.cpp:
49 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
50 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
51 (WebCore::CCLayerTreeHost::paintLayerContents):
53 2012-03-16 Jer Noble <jer.noble@apple.com>
55 Allow AudioContext::create() to emit an ExceptionCode.
56 https://bugs.webkit.org/show_bug.cgi?id=81049
58 Reviewed by Kentaro Hara.
60 No new tests; no change in functionality.
62 Pass through an ExceptionCode parameter to AudioContext::create(). It is currently
63 never modified, but exceptions will be added in the future.
65 * bindings/js/JSAudioContextCustom.cpp:
66 (WebCore::JSAudioContextConstructor::constructJSAudioContext):
67 * bindings/v8/custom/V8AudioContextCustom.cpp:
68 (WebCore::V8AudioContext::constructorCallback):
69 * webaudio/AudioContext.cpp:
70 (WebCore::AudioContext::create):
71 * webaudio/AudioContext.h:
73 2012-03-16 Dana Jansens <danakj@chromium.org>
75 [chromium] Remove surface damage client from occlusion tracker
76 https://bugs.webkit.org/show_bug.cgi?id=81242
78 Reviewed by Adrienne Walker.
80 Code was not used yet, so no new tests. Removing tests instead!
82 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
83 (WebCore::::CCOcclusionTrackerBase):
84 (WebCore::::layerScissorRectInTargetSurface):
86 * platform/graphics/chromium/cc/CCOcclusionTracker.h:
88 (CCOcclusionTrackerBase):
90 2012-03-16 Tommy Widenflycht <tommyw@google.com>
92 MediaStream API (JSEP): Introducing PeerConnection00Handler
93 https://bugs.webkit.org/show_bug.cgi?id=81333
95 Reviewed by Adam Barth.
97 In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
99 Not possible to test until the entire JSEP feature is commited.
101 * GNUmakefile.list.am:
103 * platform/mediastream/PeerConnection00Handler.cpp: Added.
105 (WebCore::PeerConnection00Handler::create):
106 (WebCore::PeerConnection00Handler::PeerConnection00Handler):
107 (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
108 (WebCore::PeerConnection00Handler::createOffer):
109 (WebCore::PeerConnection00Handler::createAnswer):
110 (WebCore::PeerConnection00Handler::setLocalDescription):
111 (WebCore::PeerConnection00Handler::setRemoteDescription):
112 (WebCore::PeerConnection00Handler::localDescription):
113 (WebCore::PeerConnection00Handler::remoteDescription):
114 (WebCore::PeerConnection00Handler::startIce):
115 (WebCore::PeerConnection00Handler::processIceMessage):
116 (WebCore::PeerConnection00Handler::addStream):
117 (WebCore::PeerConnection00Handler::removeStream):
118 (WebCore::PeerConnection00Handler::stop):
119 * platform/mediastream/PeerConnection00Handler.h: Added.
121 (PeerConnection00Handler):
122 * platform/mediastream/PeerConnection00HandlerClient.h: Added.
124 (PeerConnection00HandlerClient):
125 (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
127 2012-03-16 Pavel Podivilov <podivilov@chromium.org>
129 Web Inspector: fix exception when hovering over bound function in heap profiler.
130 https://bugs.webkit.org/show_bug.cgi?id=81362
132 Reviewed by Yury Semikhatsky.
134 * inspector/front-end/DebuggerPresentationModel.js:
135 (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
137 2012-03-16 Yoshifumi Inoue <yosin@chromium.org>
139 [Forms] The "progress" element should not be a form-associated element.
140 https://bugs.webkit.org/show_bug.cgi?id=80240
142 Reviewed by Kent Tamura.
144 This patch changes base class of HTMLProgressElement to LabelableElement from
145 HTMLFormControlElement for saving memory space and iteration time of
146 extra "progress" elements in HTMLFormElement::m_formAssociatedElements
147 and matching the HTML5 specification for ease of maintenance.
149 Changes of TextIterator is lead by usage of isFormControlElement. This
150 changes will be replaced with more meaningful predicate as part of
151 https://bugs.webkit.org/show_bug.cgi?id=80381
153 No new tests. Update existing tests to cover this change.
155 * css/CSSStyleSelector.cpp:
156 (WebCore::CSSStyleSelector::canShareStyleWithElement): Moved the "progress" element support code from canShareStyleWithControl.
157 (WebCore::CSSStyleSelector::canShareStyleWithControl):
158 * css/SelectorChecker.cpp:
159 (WebCore::SelectorChecker::checkOneSelector): Remove isFormControlElement check for PseudoIndeterminate.
160 * editing/TextIterator.cpp:
161 (WebCore::TextIterator::advance): Check HTMLProgressElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
162 * html/HTMLProgressElement.cpp: Remove unused include file.
163 (WebCore::HTMLProgressElement::HTMLProgressElement): Changed base class to LabelableElement.
164 (WebCore::HTMLProgressElement::create): Remove form paraprogress.
165 (WebCore::HTMLProgressElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement.
166 (WebCore::HTMLProgressElement::attach): Replace HTMLFormControlElement to LabelableElement.
167 * html/HTMLProgressElement.h:
168 (HTMLProgressElement):
169 * html/HTMLProgressElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
170 * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
172 2012-03-16 Ilya Tikhonovsky <loislo@chromium.org>
174 Web Inspector: Heap Snapshot: Unreviewed single line fix for isWindow getter.
176 * inspector/front-end/HeapSnapshot.js:
177 (WebInspector.HeapSnapshotNode.prototype.get isWindow):
179 2012-03-16 Tommy Widenflycht <tommyw@google.com>
181 MediaStream API (JSEP): Fixing a few nits
182 https://bugs.webkit.org/show_bug.cgi?id=81322
184 Reviewed by Adam Barth.
186 Addressing the nits from bugs 81206 and 81207.
190 * Modules/mediastream/SessionDescription.idl:
191 * platform/mediastream/IceOptions.h:
192 (WebCore::IceOptions::IceOptions):
193 * platform/mediastream/SessionDescriptionDescriptor.h:
194 (SessionDescriptionDescriptor):
196 2012-03-16 Peter Rybin <peter.rybin@gmail.com>
198 Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
199 https://bugs.webkit.org/show_bug.cgi?id=80789
201 Reviewed by Yury Semikhatsky.
203 OptOutput class is added for optional return parameters.
205 Strict mode added to Generator that makes all parameter types strict
206 and drop pre-set default values for return parameters.
208 Debugger and Page domain is switched to strict mode.
210 * inspector/CodeGeneratorInspector.py:
211 (CommandReturnPassModel.OptOutput):
212 (CommandReturnPassModel.OptOutput.__init__):
213 (CommandReturnPassModel.OptOutput.get_return_var_type):
214 (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
215 (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
216 (CommandReturnPassModel.OptOutput.get_output_parameter_type):
217 (CommandReturnPassModel):
218 (CommandReturnPassModel.OptOutput.get_set_return_condition):
219 (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
220 (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
222 (Generator.process_event):
223 (Generator.process_command):
224 * inspector/ContentSearchUtils.cpp:
225 (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
226 (WebCore::ContentSearchUtils::searchInTextByLines):
227 * inspector/ContentSearchUtils.h:
228 (ContentSearchUtils):
229 * inspector/InjectedScript.cpp:
230 (WebCore::InjectedScript::evaluate):
231 (WebCore::InjectedScript::callFunctionOn):
232 (WebCore::InjectedScript::evaluateOnCallFrame):
233 (WebCore::InjectedScript::makeEvalCall):
234 * inspector/InjectedScript.h:
236 * inspector/InspectorDOMDebuggerAgent.cpp:
237 (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
238 (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
239 (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
240 (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
241 (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
242 (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
243 * inspector/InspectorDebuggerAgent.cpp:
244 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
245 (WebCore::InspectorDebuggerAgent::setBreakpoint):
246 (WebCore::InspectorDebuggerAgent::searchInContent):
247 (WebCore::InspectorDebuggerAgent::setScriptSource):
248 (WebCore::InspectorDebuggerAgent::getFunctionDetails):
249 (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
250 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
251 (WebCore::InspectorDebuggerAgent::didPause):
252 (WebCore::InspectorDebuggerAgent::breakProgram):
253 (WebCore::InspectorDebuggerAgent::clearBreakDetails):
254 * inspector/InspectorDebuggerAgent.h:
255 (InspectorDebuggerAgent):
256 * inspector/InspectorPageAgent.cpp:
257 (WebCore::buildObjectForCookie):
258 (WebCore::buildArrayForCookies):
259 (WebCore::InspectorPageAgent::getCookies):
260 (WebCore::InspectorPageAgent::getResourceTree):
261 (WebCore::InspectorPageAgent::searchInResource):
262 (WebCore::InspectorPageAgent::searchInResources):
263 (WebCore::InspectorPageAgent::buildObjectForFrame):
264 (WebCore::InspectorPageAgent::buildObjectForFrameTree):
265 * inspector/InspectorPageAgent.h:
266 * inspector/InspectorRuntimeAgent.cpp:
267 (WebCore::InspectorRuntimeAgent::evaluate):
268 (WebCore::InspectorRuntimeAgent::callFunctionOn):
270 2012-03-16 Kentaro Hara <haraken@chromium.org>
272 The IDL parser should support sequence<T> type
273 https://bugs.webkit.org/show_bug.cgi?id=81345
275 Reviewed by Adam Barth.
277 This patch makes the IDL parser support sequence<T> type.
278 This patch just makes sequence<T> parseable, and the generated code
279 for sequence<T> is wrong. This issue will be soon fixed in bug 80696.
280 This is a preparing patch for bug 80696.
282 Test: bindings/scripts/test/TestObj.idl
284 * bindings/scripts/test/TestObj.idl: Added tests for sequence<T>.
286 * bindings/scripts/IDLStructure.pm: Updated the regular expressions to support sequence<T>.
288 * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
289 (WebDOMTestObj::sequenceAttr):
290 (WebDOMTestObj::setSequenceAttr):
291 (WebDOMTestObj::methodWithSequenceArg):
292 (WebDOMTestObj::methodReturningSequence):
293 * bindings/scripts/test/CPP/WebDOMTestObj.h:
294 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
295 (webkit_dom_test_obj_method_with_sequence_arg):
296 (webkit_dom_test_obj_method_returning_sequence):
297 (webkit_dom_test_obj_get_sequence_attr):
298 (webkit_dom_test_obj_set_sequence_attr):
299 (webkit_dom_test_obj_get_property):
300 (webkit_dom_test_obj_class_init):
301 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
302 * bindings/scripts/test/JS/JSTestObj.cpp:
304 (WebCore::jsTestObjSequenceAttr):
305 (WebCore::setJSTestObjSequenceAttr):
306 (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
307 (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
308 * bindings/scripts/test/JS/JSTestObj.h:
310 * bindings/scripts/test/ObjC/DOMTestObj.h:
311 * bindings/scripts/test/ObjC/DOMTestObj.mm:
312 (-[DOMTestObj sequenceAttr]):
313 (-[DOMTestObj setSequenceAttr:]):
314 (-[DOMTestObj methodWithSequenceArg:]):
315 (-[DOMTestObj methodReturningSequence:]):
316 * bindings/scripts/test/V8/V8TestObj.cpp:
317 (WebCore::TestObjInternal::sequenceAttrAttrGetter):
319 (WebCore::TestObjInternal::sequenceAttrAttrSetter):
320 (WebCore::TestObjInternal::methodWithSequenceArgCallback):
321 (WebCore::TestObjInternal::methodReturningSequenceCallback):
323 (WebCore::ConfigureV8TestObjTemplate):
325 2012-03-16 Ilya Tikhonovsky <loislo@chromium.org>
327 Web Inspector: HeapSnapshot: merge two long operations into one.
328 https://bugs.webkit.org/show_bug.cgi?id=81347
330 Reviewed by Yury Semikhatsky.
332 * inspector/front-end/HeapSnapshot.js:
333 (WebInspector.HeapSnapshot.prototype.aggregates):
334 (WebInspector.HeapSnapshot.prototype._buildAggregates):
335 (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):
337 2012-03-16 Gavin Peters <gavinp@chromium.org>
339 Add asserts and improve logging in PageCache.
340 https://bugs.webkit.org/show_bug.cgi?id=81179
342 Reviewed by Brady Eidson.
344 The early exits from logCanCacheFrameDecision had the potential to skew histogram data. Moving
345 the DocumentLoader check to the top, but eliminating the early exits is a compromise that keeps
346 the logged data mostly accurate.
348 * history/PageCache.cpp:
349 (WebCore::logCanCacheFrameDecision):
351 2012-03-16 Yoshifumi Inoue <yosin@chromium.org>
353 [Forms] label.form attribute doesn't work
354 https://bugs.webkit.org/show_bug.cgi?id=80499
356 Reviewed by Kent Tamura.
358 This patch changes implementation of label.form of IDL attribute to
359 compute it to the form element specified by the "form" HTML attribute
360 or form ancestor when the "form" HTML attribute isn't in HTML.
362 This patch introduces new function FormAssociatedElement::findAssociatedForm
363 for sharing code among FormAssociateElement::insertedIntoTree, resetFormOwner
364 and HTMLLabelElement::form.
366 No new tests. Update existing tests.
368 * html/FormAssociatedElement.cpp:
369 (WebCore::FormAssociatedElement::findAssociatedForm): Added.
371 (WebCore::FormAssociatedElement::insertedIntoTree):
372 (WebCore::FormAssociatedElement::resetFormOwner):
373 * html/FormAssociatedElement.h:
374 (FormAssociatedElement):
375 * html/HTMLLabelElement.cpp: Remove unused include files
376 (WebCore::HTMLLabelElement::form): Added.
378 2012-03-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
380 Use the normalize method of FloatPoint instead of normalizing manually
381 https://bugs.webkit.org/show_bug.cgi?id=81343
383 Reviewed by Simon Hausmann.
385 * platform/graphics/TiledBackingStore.cpp:
386 (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
387 (WebCore::TiledBackingStore::computeCoverAndKeepRect):
389 2012-03-16 Kentaro Hara <haraken@chromium.org>
391 Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl
392 https://bugs.webkit.org/show_bug.cgi?id=79636
394 Reviewed by Adam Barth.
396 For WebKit modularization, this patch moves Notifications-related APIs
397 from DOMWindow.idl to DOMWindowNotifications.idl.
399 Tests: fast/notifications/* (No change in test results)
401 * CMakeLists.txt: Added DOMWindowNotifications.{h,cpp,idl}.
402 * DerivedSources.make: Ditto.
403 * DerivedSources.pri: Ditto.
404 * GNUmakefile.list.am: Ditto.
406 * WebCore.gypi: Ditto.
407 * WebCore.vcproj/WebCore.vcproj: Ditto.
409 * WebCore.exp.in: Added mangled signatures of webkitNotifications().
411 * notifications/DOMWindowNotifications.cpp: Added.
413 (WebCore::DOMWindowNotifications::DOMWindowNotifications):
414 (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
415 (WebCore::DOMWindowNotifications::from):
416 (WebCore::DOMWindowNotifications::webkitNotifications):
417 (WebCore::DOMWindowNotifications::ensureWebkitNotifications):
418 (WebCore::DOMWindowNotifications::disconnectFrame):
419 * notifications/DOMWindowNotifications.h: Added.
421 (DOMWindowNotifications):
422 * notifications/DOMWindowNotifications.idl: Added.
424 * page/DOMWindow.cpp: Removed ENABLE(NOTIFICATIONS).
425 (WebCore::DOMWindow::~DOMWindow):
426 (WebCore::DOMWindow::willDetachPage):
427 (WebCore::DOMWindow::clear):
428 * page/DOMWindow.h: Ditto.
431 * page/DOMWindow.idl: Ditto.
432 * page/Frame.cpp: Ditto.
433 (WebCore::Frame::willDetachPage):
434 (WebCore::Frame::transferChildFrameToNewDocument):
436 2012-03-16 Kentaro Hara <haraken@chromium.org>
438 [Performance] Optimize innerHTML and outerHTML
439 https://bugs.webkit.org/show_bug.cgi?id=81214
441 Reviewed by Adam Barth.
443 This patch makes innerHTML and outerHTML 2.4 times faster.
445 Performance test: https://bugs.webkit.org/attachment.cgi?id=132034
446 The performance test measures body.innerHTML for 3000 lines of HTML,
447 which is copied from the HTML spec.
449 - Chromium/Mac without the patch
450 div.innerHTML: 1658.6 ms
451 div.outerHTML: 4859.6 ms
452 body.innerHTML: 640.2 ms
453 body.outerHTML: 641.8 ms
455 - Chromium/Mac with the patch
456 div.innerHTML: 751.0 ms
457 div.outerHTML: 2096.0 ms
458 body.innerHTML: 271.2 ms
459 body.outerHTML: 271.2 ms
461 - Chromium/Linux without the patch
462 div.innerHTML: 950.4 ms
463 div.outerHTML: 2257.8 ms
464 body.innerHTML: 452.8 ms
465 body.outerHTML: 457.6 ms
467 - Chromium/Linux with the patch
468 div.innerHTML: 582.4 ms
469 div.outerHTML: 1283.0 ms
470 body.innerHTML: 233.0 ms
471 body.outerHTML: 233.4 ms
473 - AppleWebKit/Mac without the patch
474 div.innerHTML: 900.6 ms
475 div.outerHTML: 2245.2 ms
476 body.innerHTML: 462.6 ms
477 body.outerHTML: 468.0 ms
479 - AppleWebKit/Mac with the patch
480 div.innerHTML: 529.8 ms
481 div.outerHTML: 1090.2 ms
482 body.innerHTML: 239.2 ms
483 body.outerHTML: 239.2 ms
485 This patch applies the following two optimizations:
487 (a) Remove redundant copies between Vector<String> and StringBuilders
488 in MarkupAccumulator::serializeNodes(), MarkupAccumulator::appendStartTag(),
489 and MarkupAccumulator::appendEndTag().
492 - Create a StringBuilder for each tag.
493 - Append a created string in each StringBuilder to Vector<String>,
494 parsing the DOM tree.
495 - After the parsing, allocate a StringBuilder whose size is the sum
496 of all Strings in Vector<String>.
497 - Append all Strings in Vector<String> to the StringBuilder.
499 - Allocate a StringBuilder with a default buffer size.
500 - Append created strings to the StringBuilder, incrementally parsing
503 (b) Optimize stringBuilder.append().
504 (b-1) Replace stringBuilder.append("A") with stringBuilder.append('A').
505 stringBuilder.append("A") requires to cast the characters to LChar*,
506 and then call strlen("A"). stringBuilder.append('A') is faster.
507 (b-2) Replace stringBuilder.append("AB") with stringBuilder.append('A')
508 and stringBuilder.append('B'). In my experiment, appending characters
509 one by one is faster than appending the characters at a breath if the
510 number of characters is less than 3.
511 (b-3) Hard-code a string length; i.e. replace stringBuilder.append("ABCDE")
512 with stringBuilder.append("ABCDE", 5). While the former requires to call
513 strlen("ABCDE"), the latter does not.
515 (a) improves performance by 170% ~ 200%. (b) improves performance by 30 ~ 40%.
517 Tests: fast/dom/Range/range-extract-contents.html
518 fast/dom/serialize-nodes.xhtml
519 fast/dom/XMLSerializer.html
520 and all other tests that use innerHTML or outerHTML.
521 No change in the test results.
523 * editing/MarkupAccumulator.cpp:
524 (WebCore::MarkupAccumulator::serializeNodes):
525 (WebCore::MarkupAccumulator::appendString):
526 (WebCore::MarkupAccumulator::appendStartTag):
527 (WebCore::MarkupAccumulator::appendEndTag):
528 (WebCore::MarkupAccumulator::concatenateMarkup):
529 (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
530 (WebCore::MarkupAccumulator::appendComment):
531 (WebCore::MarkupAccumulator::appendDocumentType):
532 (WebCore::MarkupAccumulator::appendProcessingInstruction):
533 (WebCore::MarkupAccumulator::appendOpenTag):
534 (WebCore::MarkupAccumulator::appendAttribute):
535 (WebCore::MarkupAccumulator::appendCDATASection):
536 * editing/MarkupAccumulator.h:
539 2012-03-16 Kihong Kwon <kihong.kwon@samsung.com>
541 Support for Battery Status API
542 https://bugs.webkit.org/show_bug.cgi?id=62698
544 Battery Status API is implemented under the Navigator class.
545 Battery Status API has four types of events, and all events are operated based on a callback mechanism.
546 : onchargingchange, onchargingtimechange, ondischargingtimechange, onlevelchange.
547 The battery status can be accessed using BatteryManager(navigator.webkitBattery), and battery status is controlled by BatteryController which manages instances of BatteryManager.
548 When battery status event is raised, BatteryController calls all registered BatteryManager's event dispatcher.
549 http://www.w3.org/TR/battery-status/
551 Reviewed by Adam Barth.
553 Tests: batterystatus/add-listener-from-callback.html
554 batterystatus/basic-all-types-of-events.html
555 batterystatus/basic-operation.html
556 batterystatus/event-after-navigation.html
557 batterystatus/multiple-frames.html
558 batterystatus/updates.html
559 batterystatus/window-property.html
562 * Modules/battery/BatteryClient.h: Added.
565 (WebCore::BatteryClient::~BatteryClient):
566 * Modules/battery/BatteryController.cpp: Added.
568 (WebCore::BatteryController::BatteryController):
569 (WebCore::BatteryController::~BatteryController):
570 (WebCore::BatteryController::create):
571 (WebCore::BatteryController::addListener):
572 (WebCore::BatteryController::removeListener):
573 (WebCore::BatteryController::didChangeBatteryStatus):
574 (WebCore::BatteryController::supplementName):
575 (WebCore::BatteryController::isActive):
576 (WebCore::provideBatteryTo):
577 * Modules/battery/BatteryController.h: Added.
580 (WebCore::BatteryController::client):
581 (WebCore::BatteryController::from):
582 * Modules/battery/BatteryManager.cpp: Added.
584 (WebCore::BatteryManager::create):
585 (WebCore::BatteryManager::~BatteryManager):
586 (WebCore::BatteryManager::BatteryManager):
587 (WebCore::BatteryManager::charging):
588 (WebCore::BatteryManager::chargingTime):
589 (WebCore::BatteryManager::dischargingTime):
590 (WebCore::BatteryManager::level):
591 (WebCore::BatteryManager::didChangeBatteryStatus):
592 (WebCore::BatteryManager::suspend):
593 (WebCore::BatteryManager::resume):
594 (WebCore::BatteryManager::stop):
595 * Modules/battery/BatteryManager.h: Added.
598 (WebCore::BatteryManager::interfaceName):
599 (WebCore::BatteryManager::scriptExecutionContext):
600 (WebCore::BatteryManager::batteryControllerDestroyed):
601 (WebCore::BatteryManager::canSuspend):
602 (WebCore::BatteryManager::eventTargetData):
603 (WebCore::BatteryManager::ensureEventTargetData):
604 (WebCore::BatteryManager::refEventTarget):
605 (WebCore::BatteryManager::derefEventTarget):
606 * Modules/battery/BatteryManager.idl: Added.
607 * Modules/battery/BatteryStatus.cpp: Added.
609 (WebCore::BatteryStatus::create):
610 (WebCore::BatteryStatus::BatteryStatus):
611 * Modules/battery/BatteryStatus.h: Added.
614 (WebCore::BatteryStatus::charging):
615 (WebCore::BatteryStatus::chargingTime):
616 (WebCore::BatteryStatus::dischargingTime):
617 (WebCore::BatteryStatus::level):
618 * Modules/battery/NavigatorBattery.cpp: Added.
620 (WebCore::NavigatorBattery::NavigatorBattery):
621 (WebCore::NavigatorBattery::~NavigatorBattery):
622 (WebCore::NavigatorBattery::webkitBattery):
623 (WebCore::NavigatorBattery::from):
624 (WebCore::NavigatorBattery::batteryManager):
625 * Modules/battery/NavigatorBattery.h: Added.
628 * Modules/battery/NavigatorBattery.idl: Added.
631 * dom/EventTargetFactory.in:
632 * testing/Internals.cpp:
633 (WebCore::Internals::setBatteryStatus):
635 * testing/Internals.h:
637 * testing/Internals.idl:
639 2012-03-16 Ilya Tikhonovsky <loislo@chromium.org>
641 Web Inspector: HeapSnapshot: speedup buildReverseIndex.
642 https://bugs.webkit.org/show_bug.cgi?id=81327
644 Reviewed by Yury Semikhatsky.
646 * inspector/front-end/HeapSnapshot.js:
647 (WebInspector.HeapSnapshot.prototype.get maxNodeId):
648 (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
649 (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
650 (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
651 (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
652 (WebInspector.HeapSnapshot.prototype):
654 2012-03-16 Sheriff Bot <webkit.review.bot@gmail.com>
656 Unreviewed, rolling out r110976.
657 http://trac.webkit.org/changeset/110976
658 https://bugs.webkit.org/show_bug.cgi?id=81330
660 webkit_unit_tests crashes. (Requested by morrita on #webkit).
662 * loader/cache/CachedCSSStyleSheet.cpp:
663 (WebCore::CachedCSSStyleSheet::error):
665 * loader/cache/CachedCSSStyleSheet.h:
666 (CachedCSSStyleSheet):
667 * loader/cache/CachedFont.cpp:
669 (WebCore::CachedFont::error):
670 * loader/cache/CachedFont.h:
672 * loader/cache/CachedImage.cpp:
673 (WebCore::CachedImage::error):
674 * loader/cache/CachedResource.h:
676 * loader/cache/CachedScript.cpp:
677 (WebCore::CachedScript::error):
679 * loader/cache/CachedScript.h:
681 * loader/cache/CachedXSLStyleSheet.cpp:
682 (WebCore::CachedXSLStyleSheet::error):
684 * loader/cache/CachedXSLStyleSheet.h:
685 (CachedXSLStyleSheet):
687 2012-03-16 Luke Macpherson <macpherson@chromium.org>
689 Implement cast between CSSPrimitiveValue and LineClampValue.
690 https://bugs.webkit.org/show_bug.cgi?id=76806
692 Reviewed by Andreas Kling.
694 Covered by many existing LayoutTests.
696 This simplifies code in CSSStyleSelector and future mapping to CSSStyleApplyProperty.
698 * css/CSSPrimitiveValueMappings.h:
699 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
700 (WebCore::CSSPrimitiveValue::operator LineClampValue):
701 * css/CSSStyleSelector.cpp:
702 (WebCore::CSSStyleSelector::applyProperty):
704 2012-03-16 Nat Duca <nduca@chromium.org>
706 [chromium] Bump textureUpdatesPerFrame to 32 to favor updating the screen over jank prevention
707 https://bugs.webkit.org/show_bug.cgi?id=81298
709 Reviewed by James Robinson.
711 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
714 2012-03-16 Levi Weintraub <leviw@chromium.org>
716 Update usage of LayoutUnits in RenderBlock*
717 https://bugs.webkit.org/show_bug.cgi?id=80437
719 Reviewed by Julien Chaffraix.
721 Updating LayoutUnit usage in RenderBlock and RenderBlockLineLayout. This better readies trunk for
722 the transition to subpixel layout.
724 See https://trac.webkit.org/wiki/LayoutUnit for more details.
726 No new tests. No changed behavior.
728 * rendering/InlineTextBox.cpp:
729 (WebCore::InlineTextBox::paint): Adding the paint offset rounding previously in RenderBlock::paint.
730 * rendering/LayoutTypes.h:
731 (WebCore::floorToInt): Will floor a LayoutUnit to an integer once we switch to
732 FractionalLayoutUnits.
733 (WebCore::boundedMultiply): Method that will return the multiplied result of two LayoutUnits
734 or the max/min LayoutUnit if the result overflows. Only does a regular multiply while
735 LayoutUnits are integers instead of FractionalLayoutUnits.
737 * rendering/RenderBlock.cpp:
738 (WebCore::RenderBlock::paintContents): Rounding the paintOffset here didn't work for all
739 inline blocks. This rounding is actually only needed for InlineTextBoxes, so the logic has
741 (WebCore::RenderBlock::newLine): Use a LayoutUnit for the y position.
742 (WebCore::RenderBlock::isPointInOverflowControl): Points for hit testing need to be rounded.
743 (WebCore::RenderBlock::layoutColumns): Using boundedMultiply for a calculation prone to overflow.
744 (WebCore::updatePreferredWidth): Reverting back to using ceilf. ceiledLayoutUnit was to be ultimately
745 converted to just a straight LayoutUnit constructor to preserve precision. This precision doesn't work
746 for us here as we still paint Boxes/Blocks on pixel boundaries, so we need to expand to a pixel size
747 that encloses the contained text.
748 (WebCore::RenderBlock::setPageLogicalOffset): LogicalOffset should be a LayoutUnit.
749 (WebCore::RenderBlock::marginValuesForChild): Margins should have subpixel resolution.
750 (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject): Intervals for floating objects
751 need to use pixel snapped values to give the proper results.
752 * rendering/RenderBlock.h:
753 (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Only moved.
754 (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine): While we can round the left offset,
755 columns add an extra offset at paint that can't currently be planned for at line-layout time. To
756 avoid laying out lines that run off the end of columns, we floor the right offset. The resulting
757 lines will be up to 1 pixel shorter than they potentially could be.
759 (WebCore::RenderBlock::FloatingObject::pixelSnappedX): Using corresponding pixelSnappedX value from
761 (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX): Ditto.
762 (WebCore::RenderBlock::FloatingObject::pixelSnappedY): Ditto.
763 (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY): Ditto.
764 (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth): Ditto.
765 (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight): Ditto.
766 * rendering/RenderBlockLineLayout.cpp:
767 (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): LogicalHeight is a LayoutUnit. Also
768 flooring textIndentOffset to an integer to match old behavior.
769 (WebCore::LineWidth::fitBelowFloats): Using LayoutUnits for float logical top and bottoms.
770 (WebCore::LineLayoutState::endLineLogicalTop): Changing to a LayoutUnit.
771 (WebCore::LineLayoutState::setEndLineLogicalTop): Ditto.
772 (LineLayoutState): Ditto.
773 (WebCore::RenderBlock::linkToEndLineIfNeeded): Calculating overflow with LayoutUnits.
774 (WebCore::RenderBlock::layoutInlineChildren): LowestAllowedPosition should be subpixel.
775 (WebCore::RenderBlock::checkLinesForTextOverflow): Reverting ellipsis width calculation to integers
776 as this value can be seen as representing pixels on screen.
778 2012-03-15 Kenneth Rohde Christiansen <kenneth@webkit.org>
780 Follow up to: window.innerWidth/Height should not include page scale
781 https://bugs.webkit.org/show_bug.cgi?id=76555
783 Reviewed by Simon Hausmann.
785 Introduce mapping methods for converting between CSS and layout units.
787 * page/DOMWindow.cpp:
788 (WebCore::DOMWindow::innerHeight):
789 (WebCore::DOMWindow::innerWidth):
790 (WebCore::DOMWindow::scrollX):
791 (WebCore::DOMWindow::scrollY):
792 (WebCore::DOMWindow::scrollTo):
795 (WebCore::FrameView::mapFromLayoutToCSSUnits):
797 (WebCore::FrameView::mapFromCSSToLayoutUnits):
799 2012-03-16 Ian Vollick <vollick@chromium.org>
801 [chromium] Threaded opacity animation jump to opacity of 0
802 https://bugs.webkit.org/show_bug.cgi?id=80744
804 Reviewed by James Robinson.
806 Tested in CCLayerTreeHostTestDoNotSkipLayersWithAnimatedOpacity
808 * platform/graphics/chromium/LayerChromium.cpp:
809 (WebCore::LayerChromium::LayerChromium):
810 (WebCore::LayerChromium::opacityIsAnimating):
812 (WebCore::LayerChromium::transformIsAnimating):
813 * platform/graphics/chromium/LayerChromium.h:
815 (WebCore::LayerChromium::drawOpacityIsAnimating):
816 (WebCore::LayerChromium::setDrawOpacityIsAnimating):
817 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
818 (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
819 * platform/graphics/chromium/RenderSurfaceChromium.h:
820 (WebCore::RenderSurfaceChromium::drawOpacityIsAnimating):
821 (WebCore::RenderSurfaceChromium::setDrawOpacityIsAnimating):
822 (RenderSurfaceChromium):
823 * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
824 (WebCore::CCLayerAnimationController::isAnimatingProperty):
826 * platform/graphics/chromium/cc/CCLayerAnimationController.h:
827 (CCLayerAnimationController):
828 * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
829 (WebCore::CCLayerAnimationControllerImpl::isAnimatingProperty):
831 * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
832 (CCLayerAnimationControllerImpl):
833 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
834 (WebCore::CCLayerImpl::CCLayerImpl):
835 (WebCore::CCLayerImpl::opacityIsAnimating):
837 (WebCore::CCLayerImpl::transformIsAnimating):
838 * platform/graphics/chromium/cc/CCLayerImpl.h:
840 (WebCore::CCLayerImpl::drawOpacityIsAnimating):
841 (WebCore::CCLayerImpl::setDrawOpacityIsAnimating):
842 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
843 (WebCore::CCLayerTreeHost::paintLayerContents):
844 (WebCore::CCLayerTreeHost::updateCompositorResources):
845 * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
846 (WebCore::layerShouldBeSkipped):
847 (WebCore::subtreeShouldBeSkipped):
849 (WebCore::LayerChromium):
850 (WebCore::calculateDrawTransformsAndVisibilityInternal):
851 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
852 (WebCore::CCRenderSurface::CCRenderSurface):
853 * platform/graphics/chromium/cc/CCRenderSurface.h:
854 (WebCore::CCRenderSurface::drawOpacityIsAnimating):
855 (WebCore::CCRenderSurface::setDrawOpacityIsAnimating):
858 2012-03-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
860 [TexMap] Reuse textures following the same rules as they do internally.
861 https://bugs.webkit.org/show_bug.cgi?id=80843
863 Reviewed by Noam Rosenthal.
865 BitmapTextures were recently changed to be the same size as their contents.
866 This would obsolete the logic in acquireTextureFromPool which would
867 assume that a BitmapTexture has good chances of being reused if its
868 size is bigger or equal to the new size.
870 This asks the texture instead if it can be reused which now simply
871 check for an exact size match.
873 * platform/graphics/texmap/TextureMapper.cpp:
874 (WebCore::TextureMapper::acquireTextureFromPool):
875 * platform/graphics/texmap/TextureMapper.h:
876 (WebCore::BitmapTexture::canReuseWith):
877 (WebCore::BitmapTexture::reset):
878 (WebCore::BitmapTexture::didReset):
879 * platform/graphics/texmap/TextureMapperGL.cpp:
880 (WebCore::BitmapTextureGL::canReuseWith):
882 * platform/graphics/texmap/TextureMapperGL.h:
885 2012-03-16 Robert Kroeger <rjkroege@chromium.org>
887 Connect up fling event delivery to gesture curve animation framework
888 https://bugs.webkit.org/show_bug.cgi?id=80858
890 Reviewed by Adam Barth.
892 * platform/ScrollAnimatorNone.cpp:
893 (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
895 2012-03-16 Nate Chapin <japhet@chromium.org>
897 Remove duplicate error() impls in CachedResource subclasses
898 https://bugs.webkit.org/show_bug.cgi?id=81161
900 Reviewed by Alexey Proskuryakov.
902 No new tests, refactor only.
904 * loader/cache/CachedCSSStyleSheet.cpp:
905 * loader/cache/CachedCSSStyleSheet.h:
906 * loader/cache/CachedFont.cpp:
907 * loader/cache/CachedFont.h:
908 * loader/cache/CachedImage.cpp:
909 * loader/cache/CachedResource.h: Make checkNotify()
910 virtual, so the right checkNotify() gets called in error().
911 * loader/cache/CachedScript.cpp:
912 * loader/cache/CachedScript.h:
913 * loader/cache/CachedXSLStyleSheet.cpp:
914 * loader/cache/CachedXSLStyleSheet.h:
916 2012-03-16 Dana Jansens <danakj@chromium.org>
918 [chromium] Changes to overdraw metrics to allow upload tracking
919 https://bugs.webkit.org/show_bug.cgi?id=81222
921 Reviewed by Adrienne Walker.
923 Stick CCOverdrawMetrics into CCOcclusionTracker, so that it is available
924 everywhere that culling/drawing/painting is going on. Then we can stop
925 plumbing a metrics object through CCQuadCuller.
927 Rename the CCOverdrawMetrics "painting" stuff to "uploading" as this will
928 measure texture uploads rather than pixels painted in main memory.
930 Covered by existing tests.
932 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
933 (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
934 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
935 (WebCore::::CCOcclusionTrackerBase):
936 * platform/graphics/chromium/cc/CCOcclusionTracker.h:
937 (CCOcclusionTrackerBase):
938 (WebCore::CCOcclusionTrackerBase::overdrawMetrics):
939 * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
940 (WebCore::CCOverdrawMetrics::didCull):
942 (WebCore::CCOverdrawMetrics::didDraw):
943 (WebCore::CCOverdrawMetrics::recordMetrics):
944 (WebCore::CCOverdrawMetrics::recordMetricsInternal):
945 * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
947 (WebCore::CCOverdrawMetrics::create):
949 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
950 (WebCore::CCQuadCuller::CCQuadCuller):
951 (WebCore::CCQuadCuller::append):
952 * platform/graphics/chromium/cc/CCQuadCuller.h:
954 * platform/graphics/chromium/cc/CCRenderPass.cpp:
955 (WebCore::CCRenderPass::appendQuadsForLayer):
956 * platform/graphics/chromium/cc/CCRenderPass.h:
960 2012-03-16 Greg Billock <gbillock@google.com>
962 Add TransferList IDL modifier, with support in V8 code gen.
963 https://bugs.webkit.org/show_bug.cgi?id=81127
965 Reviewed by Adam Barth.
967 * bindings/scripts/CodeGeneratorV8.pm:
968 (GenerateFunctionCallback):
970 (GenerateParametersCheck):
971 (GenerateConstructorCallback):
972 (GenerateNamedConstructorCallback):
973 (GenerateFunctionCallString):
974 * bindings/scripts/IDLAttributes.txt:
975 * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
976 (WebDOMTestSerializedScriptValueInterface::acceptTransferList):
977 * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
978 (WebDOMTestSerializedScriptValueInterface):
979 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
980 (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
981 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
982 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
983 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
984 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
986 (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertySlot):
987 (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertyDescriptor):
988 (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
989 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
990 (JSTestSerializedScriptValueInterfacePrototype):
992 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
993 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
994 (-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
995 * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
996 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
997 (WebCore::TestSerializedScriptValueInterfaceInternal::acceptTransferListCallback):
998 (TestSerializedScriptValueInterfaceInternal):
1000 (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1001 (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
1003 2012-03-16 Dana Jansens <danakj@chromium.org>
1005 [chromium] Quads that become fully opaque after culling should not use blending
1006 https://bugs.webkit.org/show_bug.cgi?id=81235
1008 Reviewed by Adrienne Walker.
1010 Unit test: CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers
1012 * platform/graphics/chromium/cc/CCDrawQuad.h:
1013 (WebCore::CCDrawQuad::needsBlending):
1015 2012-03-16 Xiaomei Ji <xji@chromium.org>
1017 Using ICU break iterator to simplify visual word movement implementation.
1018 https://bugs.webkit.org/show_bug.cgi?id=78856
1020 Reviewed by Ryosuke Niwa.
1022 This patch relies on ICU word break iterator and cursor visual movement by character to get the word break
1023 position in visual order. It reduces the complexity of old implementation.
1025 Test: editing/selection/move-by-word-visually-wrong-left-right.html
1027 * editing/FrameSelection.cpp: Exclude WinCE from visual word movement since isWordTextBreak is not implemented.
1028 (WebCore::FrameSelection::modifyMovingRight):
1029 (WebCore::FrameSelection::modifyMovingLeft):
1030 * editing/visible_units.cpp:
1032 (WebCore::previousLeafWithSameEditability): Just moving to the top without functionality change.
1033 (WebCore::enclosingNodeWithNonInlineRenderer): ditto.
1034 (WebCore::nextLeafWithSameEditability): ditto.
1035 (WebCore::previousRootInlineBox): return previous RootInlineBox which is in different renderer.
1036 (WebCore::nextRootInlineBox): return next RootInlineBox which is in different renderer.
1037 (WebCore::boxIndexInVector):
1038 (WebCore::previousBoxInLine): returns logically previous box in one line.
1039 (WebCore::logicallyPreviousBox): returns logically previous box.
1040 (WebCore::nextBoxInLine): returns logically next box in one line.
1041 (WebCore::logicallyNextBox): returns logically next box.
1042 (WebCore::wordBreakIteratorForMinOffsetBoundary): create word break iterator for position that is a box's min offset.
1043 (WebCore::wordBreakIteratorForMaxOffsetBoundary): create word break iterator for position that is a box's max offset.
1044 (WebCore::isLogicalStartOfWord): return whether a position is logically start of word.
1045 (WebCore::islogicalEndOfWord): return whether a position is logically end of word.
1046 (WebCore::visualWordPosition): returns the visual left or right word position.
1047 (WebCore::leftWordPosition):
1048 (WebCore::rightWordPosition):
1049 * platform/text/TextBreakIterator.h: Add isWordTextBreak().
1051 * platform/text/TextBreakIteratorICU.cpp:
1052 (WebCore::isWordTextBreak):
1054 * platform/text/gtk/TextBreakIteratorGtk.cpp:
1055 (WebCore::isWordTextBreak):
1057 * platform/text/qt/TextBreakIteratorQt.cpp:
1058 (WebCore::isWordTextBreak):
1060 * platform/text/wince/TextBreakIteratorWinCE.cpp:
1061 (WebCore::isWordTextBreak):
1064 2012-03-16 Dana Jansens <danakj@chromium.org>
1066 [chromium] Don't create a quad for video layers without a frame (avoid use of uninitialized m_format)
1067 https://bugs.webkit.org/show_bug.cgi?id=81250
1069 Reviewed by James Robinson.
1071 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1072 (WebCore::CCVideoLayerImpl::appendQuads):
1074 2012-03-16 Hajime Morrita <morrita@chromium.org>
1076 Unreviewed attempt to fix Chromium windows build.
1078 * Modules/speech/SpeechRecognition.h:
1079 (SpeechRecognition):
1081 2012-03-16 Mark Pilgrim <pilgrim@chromium.org>
1083 Move DOMWindowFileSystem to Modules/filesystem/
1084 https://bugs.webkit.org/show_bug.cgi?id=81030
1086 Reviewed by Adam Barth.
1088 No new tests, all existing tests pass.
1091 * DerivedSources.make:
1092 * DerivedSources.pri:
1094 * GNUmakefile.list.am:
1095 * Modules/filesystem/DOMWindowFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.cpp.
1096 * Modules/filesystem/DOMWindowFileSystem.h: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.h.
1097 * Modules/filesystem/DOMWindowFileSystem.idl: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.idl.
1099 * WebCore.gyp/WebCore.gyp:
1101 * WebCore.vcproj/WebCore.vcproj:
1102 * WebCore.vcproj/WebCoreCommon.vsprops:
1103 * WebCore.vcproj/copyForwardingHeaders.cmd:
1104 * fileapi/DOMWindowFileSystem.cpp: Removed.
1105 * fileapi/DOMWindowFileSystem.h: Removed.
1106 * fileapi/DOMWindowFileSystem.idl: Removed.
1108 2012-03-16 Sheriff Bot <webkit.review.bot@gmail.com>
1110 Unreviewed, rolling out r110951.
1111 http://trac.webkit.org/changeset/110951
1112 https://bugs.webkit.org/show_bug.cgi?id=81316
1114 Does not build on apple-mac (Requested by abarth on #webkit).
1116 * platform/audio/DynamicsCompressor.h:
1117 (DynamicsCompressor):
1118 * webaudio/DynamicsCompressorNode.cpp:
1119 (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
1120 (WebCore::DynamicsCompressorNode::process):
1121 * webaudio/DynamicsCompressorNode.h:
1122 (DynamicsCompressorNode):
1123 * webaudio/DynamicsCompressorNode.idl:
1125 2012-03-16 Seo Sanghyeon <sh4.seo@samsung.com>
1127 Cleanup empty attribute list in IDLs
1128 https://bugs.webkit.org/show_bug.cgi?id=81228
1130 Reviewed by Adam Barth.
1132 No tests. No change in behavior.
1134 * css/WebKitCSSRegionRule.idl:
1136 2012-03-16 Pratik Solanki <psolanki@apple.com>
1138 onorientationchange event should have JSWindowEventListener attribute
1139 https://bugs.webkit.org/show_bug.cgi?id=79513
1141 Reviewed by Kentaro Hara.
1143 * html/HTMLFrameSetElement.idl:
1145 2012-03-15 Gao Chun <chun.gao@intel.com>
1147 Expose attack, release as DynamicsCompressorNode's attributes.
1148 https://bugs.webkit.org/show_bug.cgi?id=81221
1150 Reviewed by Chris Rogers.
1152 Test: webaudio/dynamicscompressor-basic.html
1154 * platform/audio/DynamicsCompressor.h:
1155 (DynamicsCompressor):
1156 * webaudio/DynamicsCompressorNode.cpp:
1157 (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
1158 (WebCore::DynamicsCompressorNode::process):
1159 * webaudio/DynamicsCompressorNode.h:
1160 (WebCore::DynamicsCompressorNode::attack):
1161 (WebCore::DynamicsCompressorNode::release):
1162 (DynamicsCompressorNode):
1163 * webaudio/DynamicsCompressorNode.idl:
1165 2012-03-15 Hans Wennborg <hans@chromium.org>
1167 Speech JavaScript API: SpeechRecognition, Controller and Client
1168 https://bugs.webkit.org/show_bug.cgi?id=81096
1170 Reviewed by Adam Barth.
1172 Add implementation stub for SpeechRecognition. Add the
1173 SpeechRecognitionController class and SpeechRecognitionClient
1176 Test: fast/speech/scripted/basics.html
1178 * Modules/speech/DOMWindowSpeech.idl:
1179 * Modules/speech/SpeechRecognition.cpp: Added.
1181 (WebCore::SpeechRecognition::create):
1182 (WebCore::SpeechRecognition::start):
1183 (WebCore::SpeechRecognition::stopFunction):
1184 (WebCore::SpeechRecognition::abort):
1185 (WebCore::SpeechRecognition::audioStartCallback):
1186 (WebCore::SpeechRecognition::soundStartCallback):
1187 (WebCore::SpeechRecognition::speechStartCallback):
1188 (WebCore::SpeechRecognition::speechEndCallback):
1189 (WebCore::SpeechRecognition::audioEndCallback):
1190 (WebCore::SpeechRecognition::resultCallback):
1191 (WebCore::SpeechRecognition::noMatchCallback):
1192 (WebCore::SpeechRecognition::resultDeletedCallback):
1193 (WebCore::SpeechRecognition::errorCallback):
1194 (WebCore::SpeechRecognition::startCallback):
1195 (WebCore::SpeechRecognition::endCallback):
1196 (WebCore::SpeechRecognition::interfaceName):
1197 (WebCore::SpeechRecognition::scriptExecutionContext):
1198 (WebCore::SpeechRecognition::SpeechRecognition):
1199 (WebCore::SpeechRecognition::~SpeechRecognition):
1200 * Modules/speech/SpeechRecognition.h: Added.
1202 (SpeechRecognition):
1203 (WebCore::SpeechRecognition::grammars):
1204 (WebCore::SpeechRecognition::setGrammars):
1205 (WebCore::SpeechRecognition::lang):
1206 (WebCore::SpeechRecognition::setLang):
1207 (WebCore::SpeechRecognition::continuous):
1208 (WebCore::SpeechRecognition::setContinuous):
1209 * Modules/speech/SpeechRecognition.idl:
1210 * Modules/speech/SpeechRecognitionClient.h:
1212 (SpeechRecognitionClient):
1213 (WebCore::SpeechRecognitionClient::~SpeechRecognitionClient):
1214 * Modules/speech/SpeechRecognitionController.cpp:
1216 (WebCore::SpeechRecognitionController::supplementName):
1217 (WebCore::SpeechRecognitionController::SpeechRecognitionController):
1218 (WebCore::SpeechRecognitionController::~SpeechRecognitionController):
1219 (WebCore::SpeechRecognitionController::create):
1220 (WebCore::provideSpeechRecognitionTo):
1221 * Modules/speech/SpeechRecognitionController.h: Added.
1223 (SpeechRecognitionController):
1224 (WebCore::SpeechRecognitionController::start):
1225 (WebCore::SpeechRecognitionController::stop):
1226 (WebCore::SpeechRecognitionController::abort):
1227 (WebCore::SpeechRecognitionController::visibilityHidden):
1228 (WebCore::SpeechRecognitionController::unregisterSpeechRecognition):
1229 (WebCore::SpeechRecognitionController::from):
1231 * dom/EventTargetFactory.in:
1233 2012-03-15 Michal Ciepielski <m.ciepielski@samsung.com>
1235 [EFL] Sets alpha channel for new buffers.
1236 https://bugs.webkit.org/show_bug.cgi?id=77101
1238 Reviewed by Hajime Morita.
1242 By default EFL creates buffers without alpha channel.
1243 This causes improper rendering of HTML controls (i.e. radio buttons, checkboxes).
1244 This commits sets alpha channel for all newly created buffers by EFL.
1246 * platform/efl/RenderThemeEfl.cpp:
1247 (WebCore::RenderThemeEfl::cacheThemePartNew):
1249 2012-03-15 Sheriff Bot <webkit.review.bot@gmail.com>
1251 Unreviewed, rolling out r110941.
1252 http://trac.webkit.org/changeset/110941
1253 https://bugs.webkit.org/show_bug.cgi?id=81307
1255 the revert looks innocent. (Requested by morrita on #webkit).
1257 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1258 (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1259 * platform/graphics/chromium/Canvas2DLayerChromium.h:
1260 (Canvas2DLayerChromium):
1261 * platform/graphics/chromium/ContentLayerChromium.cpp:
1262 (WebCore::ContentLayerChromium::paintContentsIfDirty):
1263 (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1264 * platform/graphics/chromium/ContentLayerChromium.h:
1266 (ContentLayerChromium):
1267 * platform/graphics/chromium/ImageLayerChromium.cpp:
1268 (WebCore::ImageLayerChromium::paintContentsIfDirty):
1269 * platform/graphics/chromium/ImageLayerChromium.h:
1271 (ImageLayerChromium):
1272 * platform/graphics/chromium/LayerChromium.h:
1273 (WebCore::LayerChromium::paintContentsIfDirty):
1274 (WebCore::LayerChromium::idlePaintContentsIfDirty):
1275 * platform/graphics/chromium/TiledLayerChromium.cpp:
1276 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1277 (WebCore::TiledLayerChromium::prepareToUpdate):
1278 (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1279 * platform/graphics/chromium/TiledLayerChromium.h:
1280 (TiledLayerChromium):
1281 * platform/graphics/chromium/WebGLLayerChromium.cpp:
1282 (WebCore::WebGLLayerChromium::paintContentsIfDirty):
1283 * platform/graphics/chromium/WebGLLayerChromium.h:
1284 (WebGLLayerChromium):
1285 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1286 (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1287 (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1288 (WebCore::CCLayerTreeHost::paintLayerContents):
1289 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1291 2012-03-15 Tommy Widenflycht <tommyw@google.com>
1293 MediaStream API (JSEP): Introducing SessionDescription
1294 https://bugs.webkit.org/show_bug.cgi?id=81206
1296 Reviewed by Adam Barth.
1298 Patch #3 in a series of patches to change the PeerConnection from ROAP to JSEP,
1299 see bug 80589 for more information.
1300 Adding the SessionDescription JS object and its platform counterpart SessionDescriptionDescriptor.
1302 Not possible to test until the entire JSEP feature is commited.
1304 * GNUmakefile.list.am:
1305 * Modules/mediastream/SessionDescription.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1307 (WebCore::SessionDescription::create):
1308 (WebCore::SessionDescription::SessionDescription):
1309 (WebCore::SessionDescription::~SessionDescription):
1310 (WebCore::SessionDescription::addCandidate):
1311 (WebCore::SessionDescription::toSdp):
1312 (WebCore::SessionDescription::descriptor):
1313 * Modules/mediastream/SessionDescription.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1315 (SessionDescription):
1316 * Modules/mediastream/SessionDescription.idl: Added.
1318 * platform/mediastream/MediaStreamCenter.cpp:
1319 (WebCore::MediaStreamCenter::constructSdp):
1321 * platform/mediastream/MediaStreamCenter.h:
1323 (MediaStreamCenter):
1324 * platform/mediastream/SessionDescriptionDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1326 (WebCore::SessionDescriptionDescriptor::create):
1327 (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
1328 (WebCore::SessionDescriptionDescriptor::~SessionDescriptionDescriptor):
1329 (WebCore::SessionDescriptionDescriptor::addCandidate):
1330 (WebCore::SessionDescriptionDescriptor::toSdp):
1331 (WebCore::SessionDescriptionDescriptor::numberOfAddedCandidates):
1332 (WebCore::SessionDescriptionDescriptor::candidate):
1333 (WebCore::SessionDescriptionDescriptor::initialSdp):
1334 * platform/mediastream/SessionDescriptionDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1336 (SessionDescriptionDescriptor):
1338 2012-03-15 Sheriff Bot <webkit.review.bot@gmail.com>
1340 Unreviewed, rolling out r110929.
1341 http://trac.webkit.org/changeset/110929
1342 https://bugs.webkit.org/show_bug.cgi?id=81306
1344 breaking webkit_unit_tests (Requested by morrita on #webkit).
1346 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1347 (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1348 * platform/graphics/chromium/Canvas2DLayerChromium.h:
1349 (Canvas2DLayerChromium):
1350 * platform/graphics/chromium/ContentLayerChromium.cpp:
1351 (WebCore::ContentLayerChromium::paintContentsIfDirty):
1352 (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1353 * platform/graphics/chromium/ContentLayerChromium.h:
1355 (ContentLayerChromium):
1356 * platform/graphics/chromium/ImageLayerChromium.cpp:
1357 (WebCore::ImageLayerChromium::paintContentsIfDirty):
1358 * platform/graphics/chromium/ImageLayerChromium.h:
1360 (ImageLayerChromium):
1361 * platform/graphics/chromium/LayerChromium.h:
1362 (WebCore::LayerChromium::paintContentsIfDirty):
1363 (WebCore::LayerChromium::idlePaintContentsIfDirty):
1364 * platform/graphics/chromium/TiledLayerChromium.cpp:
1366 (WebCore::contentToLayerTransform):
1367 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1368 (WebCore::TiledLayerChromium::prepareToUpdate):
1369 (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1370 * platform/graphics/chromium/TiledLayerChromium.h:
1372 (TiledLayerChromium):
1373 * platform/graphics/chromium/WebGLLayerChromium.cpp:
1374 (WebCore::WebGLLayerChromium::paintContentsIfDirty):
1375 * platform/graphics/chromium/WebGLLayerChromium.h:
1376 (WebGLLayerChromium):
1377 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1378 (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1379 (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1380 (WebCore::CCLayerTreeHost::paintLayerContents):
1381 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1383 2012-03-15 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1385 REGRESSION(r106232): The resize handler is always called after loading.
1386 https://bugs.webkit.org/show_bug.cgi?id=80242
1388 Reviewed by Kenneth Rohde Christiansen.
1390 Ensure resize-events are not emitted when layout-size changes due to added
1391 scrollbars. For fixed layout, scrollbars are never subtracted or added, so
1392 we can compare fixedLayoutSize directly. For normal layout, use the full
1393 visible rect size which is the same as layout size plus scrollbars.
1395 Test: fast/events/resize-events.html
1397 * page/FrameView.cpp:
1398 (WebCore::FrameView::reset):
1399 (WebCore::FrameView::layout):
1400 (WebCore::FrameView::performPostLayoutTasks):
1404 2012-03-15 Tommy Widenflycht <tommyw@google.com>
1406 MediaStream API (JSEP): Introducing MediaHints and IceOptions
1407 https://bugs.webkit.org/show_bug.cgi?id=81207
1409 Reviewed by Adam Barth.
1411 Patch #4 in a series of patches to change the PeerConnection from ROAP to JSEP,
1412 see bug 80589 for more information.
1413 Introducing the platform MediaHints and IceOptions helper classes.
1415 Not possible to test until the entire JSEP feature is commited.
1417 * GNUmakefile.list.am:
1419 * platform/mediastream/IceOptions.cpp: Added.
1421 (WebCore::IceOptions::create):
1422 * platform/mediastream/IceOptions.h: Added.
1425 (WebCore::IceOptions::~IceOptions):
1426 (WebCore::IceOptions::useCandidates):
1427 (WebCore::IceOptions::IceOptions):
1428 * platform/mediastream/MediaHints.cpp: Added.
1430 (WebCore::MediaHints::create):
1431 (WebCore::MediaHints::audio):
1432 (WebCore::MediaHints::video):
1433 * platform/mediastream/MediaHints.h: Added.
1436 (WebCore::MediaHints::~MediaHints):
1437 (WebCore::MediaHints::MediaHints):
1439 2012-03-15 Shinya Kawanaka <shinyak@chromium.org>
1441 [Crash] Adding <content> into a ShadowRoot causes crash.
1442 https://bugs.webkit.org/show_bug.cgi?id=80020
1444 Reviewed by Hajime Morita.
1446 The problem is <content> tries to select host children though it is not prepared.
1447 Since populating host children for insertion points is performed just before
1448 attaching a shadow tree, we should recalculate whole shadow tree if <content> is
1449 appended as a child.
1451 However, element->appendChild() does not know the element is in a shadow tree or not.
1452 We have to ensure reattaching whole shadow tree here.
1454 So this patch adds some phases to HTMLContentSelector so that we can check node
1455 distribution algorihm is begin processed or not. If not we cannot select anything,
1456 but we have to enable a flag to reattach whole shadow tree.
1458 Tests: fast/dom/shadow/shadow-content-crash-expected.html
1459 fast/dom/shadow/shadow-content-crash.html
1461 * dom/ShadowTree.cpp:
1462 (WebCore::ShadowTree::attach):
1463 (WebCore::ShadowTree::insertionPointFor):
1467 (WebCore::ShadowTree::selector):
1468 * html/shadow/HTMLContentSelector.cpp:
1469 (WebCore::HTMLContentSelector::HTMLContentSelector):
1470 (WebCore::HTMLContentSelector::select):
1471 (WebCore::HTMLContentSelector::willSelect):
1473 (WebCore::HTMLContentSelector::didSelect):
1474 (WebCore::HTMLContentSelector::populateIfNecessary):
1475 * html/shadow/HTMLContentSelector.h:
1476 (HTMLContentSelector):
1477 (WebCore::HTMLContentSelector::isSelecting):
1479 (WebCore::HTMLContentSelector::hasPopulated):
1480 * html/shadow/InsertionPoint.cpp:
1481 (WebCore::InsertionPoint::distributeHostChildren):
1482 (WebCore::InsertionPoint::clearDistribution):
1484 2012-03-15 Mike Lawther <mikelawther@chromium.org>
1486 CSS3 calc: mixed percent/absolute expressions for gradients
1487 https://bugs.webkit.org/show_bug.cgi?id=81182
1489 Reviewed by Ojan Vafai.
1491 * css/CSSGradientValue.cpp:
1492 (WebCore::CSSGradientValue::addStops):
1493 (WebCore::positionFromValue):
1495 2012-03-15 Leo Yang <leo.yang@torchmobile.com.cn>
1497 [BlackBerry] Sync up MIMETypeRegistry.cpp
1498 https://bugs.webkit.org/show_bug.cgi?id=81191
1500 Reviewed by Rob Buis.
1502 Add png and jpeg to supportedImageMIMETypesForEncoding for BlackBerry.
1504 * platform/MIMETypeRegistry.cpp:
1505 (WebCore::initializeSupportedImageMIMETypesForEncoding):
1507 2012-03-15 Dana Jansens <danakj@chromium.org>
1509 [chromium] Decide occlusion in paint culling with CCOcclusionTracker
1510 https://bugs.webkit.org/show_bug.cgi?id=81181
1512 Reviewed by Adrienne Walker.
1514 Plumb a CCOcclusionTracker* around instead of a bare Region, so that it
1515 can make a more informed decision if a tile is occluded or not during
1518 Covered by existing tests.
1520 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1521 (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1522 * platform/graphics/chromium/Canvas2DLayerChromium.h:
1523 (Canvas2DLayerChromium):
1524 * platform/graphics/chromium/ContentLayerChromium.cpp:
1525 (WebCore::ContentLayerChromium::paintContentsIfDirty):
1526 (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1527 * platform/graphics/chromium/ContentLayerChromium.h:
1529 (ContentLayerChromium):
1530 * platform/graphics/chromium/ImageLayerChromium.cpp:
1531 (WebCore::ImageLayerChromium::paintContentsIfDirty):
1532 * platform/graphics/chromium/ImageLayerChromium.h:
1534 (ImageLayerChromium):
1535 * platform/graphics/chromium/LayerChromium.h:
1536 (WebCore::LayerChromium::paintContentsIfDirty):
1537 (WebCore::LayerChromium::idlePaintContentsIfDirty):
1538 * platform/graphics/chromium/TiledLayerChromium.cpp:
1539 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1540 (WebCore::TiledLayerChromium::prepareToUpdate):
1541 (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1542 * platform/graphics/chromium/TiledLayerChromium.h:
1543 (TiledLayerChromium):
1544 * platform/graphics/chromium/WebGLLayerChromium.cpp:
1545 (WebCore::WebGLLayerChromium::paintContentsIfDirty):
1546 * platform/graphics/chromium/WebGLLayerChromium.h:
1547 (WebGLLayerChromium):
1548 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1549 (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1550 (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1551 (WebCore::CCLayerTreeHost::paintLayerContents):
1552 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1554 2012-03-15 Yoshifumi Inoue <yosin@chromium.org>
1556 [Forms] The "meter" element should not be a form-associated element.
1557 https://bugs.webkit.org/show_bug.cgi?id=80380
1559 Reviewed by Kent Tamura.
1561 This patch changes base class of HTMLMeterElement to LabelableElement from
1562 HTMLFormControlElement for saving memory space and iteration time of
1563 extra "meter" elements in HTMLFormElement::m_formAssociatedElements
1564 and matching the HTML5 specification for ease of maintenance.
1566 This patch renames isLabelable method to supportLabels and makes isLabelable
1567 as predicate of an instance of LabelableElement or not.
1569 Changes of TextIterator is lead by usage of isFormControlElement. This
1570 changes will be replaced with more meaningful predicate as part of
1571 https://bugs.webkit.org/show_bug.cgi?id=80381
1573 No new tests. Update existing tests to cover this change.
1575 * editing/TextIterator.cpp:
1576 (WebCore::TextIterator::advance): Check HTMLMeterElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
1577 * html/HTMLButton.h:
1578 (WebCore::HTMLButtonElement::supportLabels): Renamed from isLabelable
1579 * html/HTMLElement.h:
1580 (WebCore::HTMLElement::isLabelable): Added. A predicate for an instance of LabelableElement.
1581 * html/HTMLInputElement.h:
1582 (WebCore::HTMLInputElement::supportLabels): Renamed from isLabelable
1583 * html/HTMLKeygenElement.h:
1584 (WebCore::HTMLKeygenElement::supportLabels): Renamed from isLabelable
1585 * html/HTMLLabelElement.cpp:
1586 (WebCore::nodeAsLabelableElement): Changed to return LabelableElement instead of HTMLFormControlElement.
1587 (WebCore::HTMLLabelElement::control): Changed to return LabelableElement instead of HTMLFormControlElement.
1588 * html/HTMLLabelElement.h:
1590 * html/HTMLMeterElement.cpp:
1591 (WebCore::HTMLMeterElement::HTMLMeterElement): Changed base class to LabelableElement.
1592 (WebCore::HTMLMeterElement::create): Remove form parameter.
1593 (WebCore::HTMLMeterElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
1594 (WebCore::HTMLMeterElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement
1595 (WebCore::HTMLMeterElement::attach): Replace HTMLFormControlElement to LabelableElement
1596 * html/HTMLMeterElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
1597 * html/HTMLMeterElement.h:
1599 (WebCore::HTMLMeterElement::supportLabels): Renamed from isLabelable
1600 * html/HTMLOutputElement.h:
1601 (WebCore::HTMLOutputElement::supportLabels): Renamed from isLabelable
1602 * html/HTMLProgressElement.h:
1603 (WebCore::HTMLProgressElement::supportLabels): Renamed from isLabelable
1604 * html/HTMLSelectElement.h:
1605 (WebCore::HTMLSelectElement::supportLabels): Renamed from isLabelable
1606 * html/HTMLTextAreaElement.h:
1607 (WebCore::HTMLTextAreaElement::supportLabels): Renamed from isLabelable
1608 * html/HiddenInputType.h:
1609 (WebCore::HiddenInputType::supportLabels): Renamed from isLabelable
1611 (WebCore::InputType::supportLabels): Renamed from isLabelable
1612 * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
1613 * html/LabelableElement.cpp:
1614 (WebCore::LabelableElement::labels): Replace isLabelable to supportLabels
1615 * html/LabelableElement.h:
1618 2012-03-15 Adam Klein <adamk@chromium.org>
1620 REGRESSION(r103452): 100% CPU usage and 5s pause after clicking on a link in Yahoo Mail
1621 https://bugs.webkit.org/show_bug.cgi?id=81141
1623 Reviewed by Ojan Vafai.
1625 Revert the behavior change from r103452: don't fire DOMSubtreeModified
1626 events when an attribute value merely changes. Still fire that event
1627 when an attribute is added or removed from an element.
1629 Though this contradicts the DOM3 spec, it matches legacy WebKit behavior,
1630 and given that Mutation Events are deprecated, it seems unwise to make
1631 any additions to WebKit's implementation of them.
1633 Test: fast/dom/subtree-modified-attributes.html
1636 (WebCore::Element::didAddAttribute): Renamed from didModifyAttribute.
1637 (WebCore::Element::didModifyAttribute): Remove the call to dispatchSubtreeModifiedEvent.
1641 * dom/ElementAttributeData.cpp:
1642 (WebCore::ElementAttributeData::addAttribute): Call didAddAttribute instead of didModifyAttribute.
1644 2012-03-15 Dana Jansens <danakj@chromium.org>
1646 [chromium] Move overdraw metrics into a templated class for both paint and draw metrics.
1647 https://bugs.webkit.org/show_bug.cgi?id=81156
1649 Reviewed by Adrienne Walker.
1651 Creates CCOverdrawMetrics which can be called to inform it about
1652 draws/paints. At the end of the frame, the CCOverdrawMetrics
1653 recordMetrics() method will put its data into histograms, a
1654 TRACE_COUNTER for culling information, and a TRACE_EVENT for details
1655 about the number of opaque/translucent pixels.
1657 Covered by existing tests.
1660 * platform/chromium/TraceEvent.h:
1662 (WebCore::TraceEvent::addTraceEvent):
1663 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1664 (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1665 * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: Added.
1667 (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
1668 (WebCore::wedgeProduct):
1669 (WebCore::quadArea):
1670 (WebCore::CCOverdrawMetrics::didDraw):
1671 (WebCore::CCOverdrawMetrics::recordMetrics):
1672 (WebCore::CCOverdrawMetrics::recordMetricsInternal):
1673 * platform/graphics/chromium/cc/CCOverdrawMetrics.h: Added.
1675 (CCOverdrawMetrics):
1676 (WebCore::CCOverdrawMetrics::pixelsDrawnOpaque):
1677 (WebCore::CCOverdrawMetrics::pixelsDrawnTranslucent):
1678 (WebCore::CCOverdrawMetrics::pixelsCulled):
1679 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1680 (WebCore::CCQuadCuller::CCQuadCuller):
1681 (WebCore::CCQuadCuller::append):
1682 * platform/graphics/chromium/cc/CCQuadCuller.h:
1685 * platform/graphics/chromium/cc/CCRenderPass.cpp:
1686 (WebCore::CCRenderPass::appendQuadsForLayer):
1687 * platform/graphics/chromium/cc/CCRenderPass.h:
1691 2012-03-15 James Robinson <jamesr@chromium.org>
1693 [chromium] RateLimiter should hold a reference to its context
1694 https://bugs.webkit.org/show_bug.cgi?id=80761
1696 Reviewed by Stephen White.
1698 * platform/graphics/chromium/RateLimiter.h:
1701 2012-03-15 Adam Klein <adamk@chromium.org>
1703 Share code in FormAssociatedElement by resetting the form owner whenever insertedIntoTree is called
1704 https://bugs.webkit.org/show_bug.cgi?id=81160
1706 Reviewed by Kent Tamura.
1708 The only difference between the previous insertedIntoTree method and
1709 resetFormOwner was a missing element->inDocument() check in the
1710 former. But that check is actually important, as seen by the included test case.
1712 Test: fast/forms/form-attribute-not-in-document.html
1714 * html/FormAssociatedElement.cpp:
1715 (WebCore::FormAssociatedElement::insertedIntoTree):
1717 2012-03-15 Kentaro Hara <haraken@chromium.org>
1719 [Refactoring] Rename StringBuilder variables in MarkupAccumulator.{h,cpp}
1720 https://bugs.webkit.org/show_bug.cgi?id=81288
1722 Reviewed by Adam Barth.
1724 This is a refactoring for fixing bug 81214. Currently MarkupAccumulator mixes
1725 'out' and 'result' for variable names of StringBuilder. This patch unifies them
1728 No tests. No change in behavior.
1730 * editing/MarkupAccumulator.cpp: Renamed 'out' to 'result'.
1731 (WebCore::appendCharactersReplacingEntities):
1732 (WebCore::MarkupAccumulator::serializeNodes): Renamed 'node' to 'targetNode' for clarification
1733 (and for avoiding style check error in MarkupAccumulator.h).
1734 (WebCore::MarkupAccumulator::concatenateMarkup):
1735 (WebCore::MarkupAccumulator::appendNodeValue):
1736 (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
1737 (WebCore::MarkupAccumulator::appendNamespace):
1738 (WebCore::MarkupAccumulator::entityMaskForText):
1739 (WebCore::MarkupAccumulator::appendText):
1740 (WebCore::MarkupAccumulator::appendComment):
1741 (WebCore::MarkupAccumulator::appendProcessingInstruction):
1742 (WebCore::MarkupAccumulator::appendElement):
1743 (WebCore::MarkupAccumulator::appendOpenTag):
1744 (WebCore::MarkupAccumulator::appendCloseTag):
1745 (WebCore::MarkupAccumulator::appendAttribute):
1746 (WebCore::MarkupAccumulator::appendCDATASection):
1747 (WebCore::MarkupAccumulator::elementCannotHaveEndTag):
1748 * editing/MarkupAccumulator.h: Removed redundant variable names.
1749 (MarkupAccumulator):
1752 2012-03-15 Brent Fulgham <bfulgham@webkit.org>
1754 [WinCairo] Correct <wtf/*.h> include paths.
1755 https://bugs.webkit.org/show_bug.cgi?id=81278
1757 Reviewed by Eric Seidel.
1759 Modify the #include declarations for several Cairo-related files
1760 so that the wtf types are included using the full path.
1762 * platform/graphics/FontPlatformData.h:
1763 * platform/graphics/cairo/OwnPtrCairo.h:
1764 * platform/graphics/cairo/RefPtrCairo.h:
1766 2012-03-15 Anders Carlsson <andersca@apple.com>
1768 only some tiles rendered when zoomed in
1769 https://bugs.webkit.org/show_bug.cgi?id=81282
1770 <rdar://problem/11058898>
1772 Reviewed by Andreas Kling.
1774 * platform/graphics/ca/mac/TileCache.mm:
1775 (WebCore::TileCache::rectForTileIndex):
1776 Make sure that the tile cache bounds are scaled accordingly.
1778 2012-03-15 Zeno Albisser <zeno@webkit.org>
1780 [Qt] RenderThemeQt::fileListNameForWidth should override function in base class RenderTheme. (r110560)
1781 https://bugs.webkit.org/show_bug.cgi?id=81107
1783 Add "bool multipleFilesAllowed" to the parameter list of RenderThemeQt::fileListNameForWidth.
1784 This way the base class function is properly overridden.
1785 The need for this change became obvious after r110560 where the OVERRIDE keyword had been
1786 added to the function signature.
1788 Reviewed by Simon Hausmann.
1790 * platform/qt/RenderThemeQt.cpp:
1791 (WebCore::RenderThemeQt::fileListNameForWidth):
1792 * platform/qt/RenderThemeQt.h:
1795 2012-03-07 Jon Lee <jonlee@apple.com>
1797 Move NotificationContents into Notification
1798 https://bugs.webkit.org/show_bug.cgi?id=80487
1799 <rdar://problem/10965519>
1801 Reviewed by Jian Li.
1803 * notifications/Notification.cpp: Alter signature of constructor to take the fields directly instead of
1804 a NotificationContents instance.
1805 (WebCore::Notification::Notification): Derive KURL from string representation of icon.
1806 (WebCore::Notification::create):
1807 * notifications/Notification.h:
1808 (Notification): Remove contents() accessor and replace with get for title and body. iconURL()
1809 already existed, but use local variable instead of going through NotificationContents.
1810 (WebCore::Notification::iconURL):
1811 (WebCore::Notification::title):
1812 (WebCore::Notification::body):
1813 * notifications/NotificationCenter.h:
1814 (WebCore::NotificationCenter::createNotification): Refactor to use new constructor.
1815 * notifications/NotificationContents.h: Removed.
1817 Remove NotificationContents.h from project files
1818 * GNUmakefile.list.am:
1821 * WebCore.vcproj/WebCore.vcproj:
1822 * WebCore.xcodeproj/project.pbxproj:
1824 2012-03-13 Jon Lee <jonlee@apple.com>
1826 Deprecate ondisplay()
1827 https://bugs.webkit.org/show_bug.cgi?id=80483
1828 <rdar://problem/10912432>
1830 Reviewed by Jian Li.
1832 The appropriate event listener for notifications is onshow().
1834 * notifications/Notification.h: Wrap ondisplay in ENABLE(LEGACY_NOTIFICATIONS).
1835 * notifications/Notification.idl: Wrap ondisplay in ENABLE_LEGACY_NOTIFICATIONS.
1837 2012-03-14 W. James MacLean <wjmaclean@chromium.org>
1839 [chromium] Wire up PlatformGestureCurves for CC, ScrollAnimatorNone.
1840 https://bugs.webkit.org/show_bug.cgi?id=80607
1842 Reviewed by James Robinson.
1844 Unit tests added. Layout tests to follow.
1846 Provides implementation of PlatformGestureCurves in Chrome Compositor, and basic
1847 support in ScrollAnimatorNone, for fling gestures.
1849 * GNUmakefile.list.am:
1850 * platform/ActivePlatformGestureAnimation.cpp:
1851 (WebCore::ActivePlatformGestureAnimation::create):
1852 (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
1853 (WebCore::ActivePlatformGestureAnimation::animate):
1854 * platform/ActivePlatformGestureAnimation.h:
1855 (ActivePlatformGestureAnimation):
1856 * platform/PlatformGestureCurveTarget.h:
1857 (PlatformGestureCurveTarget):
1858 * platform/ScrollAnimatorNone.cpp:
1859 (WebCore::ScrollAnimatorNone::cancelAnimations):
1860 (WebCore::ScrollAnimatorNone::animationTimerFired):
1861 (WebCore::ScrollAnimatorNone::scrollBy):
1863 * platform/ScrollAnimatorNone.h:
1865 (ScrollAnimatorNone):
1866 * platform/TouchFlingPlatformGestureCurve.cpp:
1867 (WebCore::TouchFlingPlatformGestureCurve::apply):
1868 * platform/WheelFlingPlatformGestureCurve.cpp:
1869 (WebCore::WheelFlingPlatformGestureCurve::apply):
1870 * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
1871 (WebCore::CCActiveGestureAnimation::create):
1872 (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
1873 (WebCore::CCActiveGestureAnimation::animate):
1874 * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
1875 (CCActiveGestureAnimation):
1876 * platform/graphics/chromium/cc/CCGestureCurve.h:
1877 (CCGestureCurveTarget):
1878 * platform/graphics/chromium/cc/CCInputHandler.h:
1880 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1881 (WebCore::CCLayerTreeHostImpl::animate):
1882 (WebCore::CCLayerTreeHostImpl::setActiveGestureAnimation):
1884 (WebCore::CCLayerTreeHostImpl::animateGestures):
1885 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1887 (WebCore::CCLayerTreeHostImpl::activeGestureAnimation):
1888 (CCLayerTreeHostImpl):
1890 2012-03-15 Patrick Gansterer <paroga@webkit.org>
1892 [EFL] Make zlib a general build requirement
1893 https://bugs.webkit.org/show_bug.cgi?id=80153
1895 Reviewed by Hajime Morita.
1897 After r109538 WebSocket module needs zlib to support deflate-frame extension.
1899 * PlatformEfl.cmake:
1901 2012-03-15 Robert Kroeger <rjkroege@chromium.org>
1903 REGRESSION (r110371): broke platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html
1904 https://bugs.webkit.org/show_bug.cgi?id=80825
1906 Reviewed by James Robinson.
1908 * page/EventHandler.cpp:
1909 (WebCore::EventHandler::handleWheelEvent): Corrected a typo.
1911 2012-03-15 Scott Byer <scottbyer@chromium.org>
1913 Fix crbug 117957 - get settings scrolling with the wheel again.
1914 https://bugs.webkit.org/show_bug.cgi?id=81247
1916 Reviewed by James Robinson.
1920 * page/FrameView.cpp:
1921 (WebCore::FrameView::serviceScriptedAnimations):
1923 2012-03-15 David Hyatt <hyatt@apple.com>
1925 https://bugs.webkit.org/show_bug.cgi?id=81258
1927 Add a preference for enabling the new multi-column layout code that will be based on regions.
1929 Reviewed by Beth Dakin.
1931 * page/Settings.cpp:
1932 (WebCore::Settings::Settings):
1934 (WebCore::Settings::setRegionBasedColumnsEnabled):
1935 (WebCore::Settings::regionBasedColumnsEnabled):
1938 2012-03-15 Andreas Kling <kling@webkit.org>
1940 RenderStyle: Return Color objects by value instead of as const references.
1941 <http://webkit.org/b/81180>
1943 Reviewed by Antti Koivisto.
1945 Make RenderStyle getters return "Color" rather than "const Color&". This is preparation
1946 for storing some color values in a more space-efficient fashion.
1948 * css/CSSStyleApplyProperty.cpp:
1949 (WebCore::ApplyPropertyColor::applyInheritValue):
1950 * page/animation/AnimationBase.cpp:
1951 (PropertyWrapperColor):
1952 (WebCore::PropertyWrapperColor::PropertyWrapperColor):
1953 (WebCore::PropertyWrapperColor::blend):
1954 (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
1955 (PropertyWrapperMaybeInvalidColor):
1956 (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
1957 (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
1958 (PropertyWrapperSVGPaint):
1959 * platform/graphics/Color.h:
1960 (WebCore::Color::Color):
1961 * rendering/style/RenderStyle.h:
1963 2012-03-15 Jessie Berlin <jberlin@apple.com>
1965 Assertion failures in WebCore::Page::goBackOrForward causing multiple "crashes" on Lion Intel
1966 Debug WebKit2 testers
1967 https://bugs.webkit.org/show_bug.cgi?id=81159
1969 Rubber-stamped by Brady Eidson.
1971 It is plausible that history could change in between the time a navigation request is
1972 scheduled and the timer is fired, so the request index could be out of the b/f list range.
1973 Hence, the assertion is invalid and should be removed.
1976 (WebCore::Page::goBackOrForward):
1978 2012-03-15 Alexey Proskuryakov <ap@apple.com>
1980 Assertion failures in checkEncodedString when running WebKit2 tests
1981 https://bugs.webkit.org/show_bug.cgi?id=67425
1982 <rdar://problem/11043492>
1984 Reviewed by Anders Carlsson.
1986 * platform/network/cf/ResourceErrorCF.cpp: (WebCore::ResourceError::cfError):
1987 * platform/network/mac/ResourceErrorMac.mm: (WebCore::ResourceError::nsError):
1988 The failing URL is certainly not guaranteed to be valid, so it's not correct to put it back
1989 into a URL as if it's been normalized by KURL.
1991 2012-03-15 Brady Eidson <beidson@apple.com>
1993 <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
1994 REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
1996 Reviewed by Sam Weinig.
1998 Test: editing/pasteboard/copy-two-pasteboard-types-both-work.html
2000 Add the non-destructive "addTypes" to supplement the destructive "setTypes"
2001 * platform/PasteboardStrategy.h:
2002 (PasteboardStrategy):
2003 * platform/PlatformPasteboard.h:
2004 (PlatformPasteboard):
2005 * platform/mac/PlatformPasteboardMac.mm:
2006 (WebCore::PlatformPasteboard::addTypes):
2009 * platform/mac/ClipboardMac.mm:
2010 (WebCore::ClipboardMac::setData): Call the non-destructive "addTypes" instead of
2011 the destructive "setTypes"
2013 2012-03-15 Dana Jansens <danakj@chromium.org>
2015 [Chromium] REGRESSION(r110596) CCQuadCullerTest.verifyCullChildLinesUpTopLeft fails on Windows
2016 https://bugs.webkit.org/show_bug.cgi?id=81083
2018 Reviewed by Adrienne Walker.
2020 The surface pointer on the occlusion tracker stack is uninitialized, and
2021 can be non-null, but the layer's target surface is null, causing asserts
2022 to fail. Fixes the TestCCOcclusionTrackerImpl to initialize the stack's
2025 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2026 (WebCore::::enterTargetRenderSurface):
2027 (WebCore::::unoccludedContentRect):
2028 * platform/graphics/chromium/cc/CCOcclusionTracker.h:
2029 (WebCore::CCOcclusionTrackerBase::StackObject::StackObject):
2031 2012-03-15 David Levin <levin@chromium.org>
2033 Various autoresize fixes.
2034 https://bugs.webkit.org/show_bug.cgi?id=81199
2036 Reviewed by Darin Fisher.
2038 Tested by WebViewTest additions.
2040 * page/FrameView.cpp:
2041 (WebCore::FrameView::autoSizeIfEnabled): Fixed a bug that caused a horizontal
2042 scrollbar to appear when the size was width was fixed and height overflowed which
2043 is one of the tests that was added.
2045 2012-03-15 Andrey Kosyakov <caseq@chromium.org>
2047 Web Inspector: normalize vertical overview bars by longest bar, not by longest frame
2048 https://bugs.webkit.org/show_bug.cgi?id=81231
2050 Reviewed by Vsevolod Vlasov.
2052 * inspector/front-end/TimelineOverviewPane.js:
2053 (WebInspector.TimelineOverviewPane):
2054 (WebInspector.TimelineOverviewPane.prototype.reset):
2055 (WebInspector.TimelineOverviewPane.prototype.accept):
2056 (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
2057 (WebInspector.TimelineVerticalOverview.prototype.reset):
2058 (WebInspector.TimelineVerticalOverview.prototype.update):
2059 (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
2060 (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
2061 (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
2063 2012-03-15 Andrey Kosyakov <caseq@chromium.org>
2065 Web Inspector: crash in InspectorTimelineAgent when trying to add children to cancelable records
2066 https://bugs.webkit.org/show_bug.cgi?id=81245
2068 Reviewed by Vsevolod Vlasov.
2070 * inspector/InspectorTimelineAgent.cpp:
2071 (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2073 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2074 (WebCore::InspectorTimelineAgent::appendRecord):
2075 (WebCore::InspectorTimelineAgent::commitCancelableRecords):
2076 * inspector/InspectorTimelineAgent.h:
2077 (InspectorTimelineAgent):
2079 2012-03-15 Pavel Podivilov <podivilov@chromium.org>
2081 Web Inspector: live locations could be disposed twice.
2082 https://bugs.webkit.org/show_bug.cgi?id=81249
2084 Reviewed by Vsevolod Vlasov.
2086 * inspector/front-end/ScriptMapping.js:
2087 (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
2089 2012-03-15 Carlos Garcia Campos <cgarcia@igalia.com>
2091 [GTK] Implement unicode submenu items
2092 https://bugs.webkit.org/show_bug.cgi?id=81117
2094 Reviewed by Martin Robinson.
2096 * loader/EmptyClients.h:
2097 (WebCore::EmptyEditorClient::shouldShowUnicodeMenu): Just return
2099 * page/ContextMenuController.cpp:
2100 (WebCore::insertUnicodeCharacter): Helper function to insert a
2102 (WebCore::ContextMenuController::contextMenuItemSelected):
2103 Implement unicode menu items using insertUnicodeCharacter() to
2104 insert the apropriate unicode character.
2105 (WebCore::ContextMenuController::createAndAppendUnicodeSubMenu):
2106 Create the unicode submenu.
2107 (WebCore::ContextMenuController::populate): Add unicode submenu
2108 item for editable content.
2109 (WebCore::ContextMenuController::checkOrEnableIfNeeded): Add
2110 unicode submenu items to the switch.
2111 * page/ContextMenuController.h:
2112 * page/EditorClient.h:
2113 (EditorClient): Add shouldShowUnicodeMenu() for GTK platform.
2114 * platform/ContextMenuItem.h:
2115 * platform/LocalizedStrings.h:
2116 * platform/gtk/LocalizedStringsGtk.cpp:
2117 (WebCore::contextMenuItemTagUnicodeInsertLRMMark): Add localized
2118 string for the unicode menu item.
2119 (WebCore::contextMenuItemTagUnicodeInsertRLMMark): Ditto.
2120 (WebCore::contextMenuItemTagUnicodeInsertLREMark): Ditto.
2121 (WebCore::contextMenuItemTagUnicodeInsertRLEMark): Ditto.
2122 (WebCore::contextMenuItemTagUnicodeInsertLROMark): Ditto.
2123 (WebCore::contextMenuItemTagUnicodeInsertRLOMark): Ditto.
2124 (WebCore::contextMenuItemTagUnicodeInsertPDFMark): Ditto.
2125 (WebCore::contextMenuItemTagUnicodeInsertZWSMark): Ditto.
2126 (WebCore::contextMenuItemTagUnicodeInsertZWJMark): Ditto.
2127 (WebCore::contextMenuItemTagUnicodeInsertZWNJMark): Ditto.
2129 2012-03-15 Vsevolod Vlasov <vsevik@chromium.org>
2131 Web Inspector: MainScriptMapping should detect snippet scripts by means of sourceURL set before evaluation.
2132 https://bugs.webkit.org/show_bug.cgi?id=81031
2134 Reviewed by Pavel Feldman.
2136 * inspector/front-end/SnippetsModel.js:
2137 (WebInspector.SnippetsModel):
2138 (WebInspector.SnippetsModel.prototype._saveSettings):
2139 (WebInspector.SnippetsModel.prototype.deleteSnippet):
2140 (WebInspector.SnippetsModel.prototype._snippetAdded):
2141 (WebInspector.SnippetsModel.prototype._sourceURLForSnippet):
2142 (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
2143 (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
2144 (WebInspector.Snippet.prototype.evaluate):
2145 (WebInspector.SnippetsScriptMapping):
2146 (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation.get if):
2147 (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation):
2148 (WebInspector.SnippetsScriptMapping.prototype._releasedUISourceCodes):
2149 (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
2150 (WebInspector.SnippetsScriptMapping.prototype._snippetWillBeEvaluated):
2151 (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
2152 (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
2154 2012-03-15 Kevin Ollivier <kevino@theolliviers.com>
2156 [wx] Unreviewed. Build fixes for Mac and DOM bindings.
2158 * bindings/cpp/WebDOMEventTarget.cpp:
2160 * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2161 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
2163 2012-03-14 Pavel Podivilov <podivilov@chromium.org>
2165 Web Inspector: extract CompilerScriptMapping from RawSourceCode.
2166 https://bugs.webkit.org/show_bug.cgi?id=81088
2168 Reviewed by Vsevolod Vlasov.
2171 * WebCore.vcproj/WebCore.vcproj:
2172 * inspector/compile-front-end.py:
2173 * inspector/front-end/CompilerScriptMapping.js: Added.
2174 (WebInspector.CompilerScriptMapping):
2175 (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
2176 (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodeList):
2177 (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
2178 (WebInspector.CompilerScriptMapping.prototype.addScript):
2179 (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
2180 (WebInspector.CompilerScriptMapping.prototype.reset):
2181 * inspector/front-end/RawSourceCode.js:
2182 (WebInspector.RawSourceCode):
2183 (WebInspector.RawSourceCode.prototype.setFormatted):
2184 (WebInspector.RawSourceCode.prototype._resourceFinished):
2185 (WebInspector.RawSourceCode.prototype._createUISourceCode):
2186 (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
2187 * inspector/front-end/ResourceScriptMapping.js:
2188 (WebInspector.ResourceScriptMapping.prototype.addScript):
2189 * inspector/front-end/ScriptMapping.js:
2190 (WebInspector.MainScriptMapping):
2191 * inspector/front-end/WebKit.qrc:
2192 * inspector/front-end/inspector.html:
2194 2012-03-15 Peter Rybin <peter.rybin@gmail.com>
2196 Web Inspector: Move all includes behind ENABLE(INSPECTOR) guards
2197 https://bugs.webkit.org/show_bug.cgi?id=81132
2199 Reviewed by Yury Semikhatsky.
2201 Include directives are moved several lines down in .cpp files and in
2202 generator templates.
2204 * inspector/CodeGeneratorInspector.py:
2205 * inspector/ContentSearchUtils.cpp:
2206 * inspector/DOMEditor.cpp:
2207 * inspector/DOMNodeHighlighter.cpp:
2208 * inspector/DOMPatchSupport.cpp:
2209 * inspector/IdentifiersFactory.cpp:
2210 * inspector/InjectedScript.cpp:
2211 * inspector/InjectedScriptHost.cpp:
2212 * inspector/InjectedScriptManager.cpp:
2213 * inspector/InspectorAgent.cpp:
2214 * inspector/InspectorApplicationCacheAgent.cpp:
2215 * inspector/InspectorBaseAgent.cpp:
2216 * inspector/InspectorCSSAgent.cpp:
2217 * inspector/InspectorClient.cpp:
2218 * inspector/InspectorConsoleAgent.cpp:
2219 * inspector/InspectorController.cpp:
2220 * inspector/InspectorCounters.cpp:
2221 * inspector/InspectorDOMAgent.cpp:
2222 * inspector/InspectorDOMDebuggerAgent.cpp:
2223 * inspector/InspectorDOMStorageAgent.cpp:
2224 * inspector/InspectorDatabaseAgent.cpp:
2225 * inspector/InspectorDatabaseResource.cpp:
2226 * inspector/InspectorDebuggerAgent.cpp:
2227 * inspector/InspectorFileSystemAgent.cpp:
2228 * inspector/InspectorFrontendClientLocal.cpp:
2229 * inspector/InspectorFrontendHost.cpp:
2230 * inspector/InspectorHistory.cpp:
2231 * inspector/InspectorIndexedDBAgent.cpp:
2232 * inspector/InspectorInstrumentation.cpp:
2233 * inspector/InspectorMemoryAgent.cpp:
2234 * inspector/InspectorPageAgent.cpp:
2235 * inspector/InspectorProfilerAgent.cpp:
2236 * inspector/InspectorResourceAgent.cpp:
2237 * inspector/InspectorRuntimeAgent.cpp:
2238 * inspector/InspectorState.cpp:
2239 * inspector/InspectorStyleSheet.cpp:
2240 * inspector/InspectorStyleTextEditor.cpp:
2241 * inspector/InspectorTimelineAgent.cpp:
2242 * inspector/InspectorValues.cpp:
2243 * inspector/InstrumentingAgents.cpp:
2244 * inspector/NetworkResourcesData.cpp:
2245 * inspector/PageConsoleAgent.cpp:
2246 * inspector/PageDebuggerAgent.cpp:
2247 * inspector/PageRuntimeAgent.cpp:
2248 * inspector/TimelineRecordFactory.cpp:
2249 * inspector/WorkerConsoleAgent.cpp:
2250 * inspector/WorkerDebuggerAgent.cpp:
2251 * inspector/WorkerRuntimeAgent.cpp:
2253 2012-03-15 Yury Semikhatsky <yurys@chromium.org>
2255 Web Inspector: improve HeapSnapshot._buildReversIndex performance
2256 https://bugs.webkit.org/show_bug.cgi?id=81224
2258 Caching node indexes and node count in local variables instead of
2259 calling getters each time reduces the method run time by
2262 Reviewed by Pavel Feldman.
2264 * inspector/front-end/HeapSnapshot.js:
2265 (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
2267 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2269 SVG Animations update baseVal instead of animVal
2270 https://bugs.webkit.org/show_bug.cgi?id=12437
2272 Rubber-stamped by Rob Buis.
2274 Rename constructFromCopy to constructFromVariant, and currentBaseValue to currentBaseValueVariant, to clarify what it actually does.
2276 * svg/SVGAnimateElement.cpp:
2277 (WebCore::SVGAnimateElement::resetToBaseValue):
2278 * svg/SVGAnimatedLength.cpp:
2279 (WebCore::SVGAnimatedLengthAnimator::constructFromVariant):
2280 * svg/SVGAnimatedLength.h:
2281 (SVGAnimatedLengthAnimator):
2282 * svg/SVGAnimatedLengthList.cpp:
2283 (WebCore::SVGAnimatedLengthListAnimator::constructFromVariant):
2284 * svg/SVGAnimatedLengthList.h:
2285 (SVGAnimatedLengthListAnimator):
2286 * svg/SVGAnimatedNumber.cpp:
2287 (WebCore::SVGAnimatedNumberAnimator::constructFromVariant):
2288 * svg/SVGAnimatedNumber.h:
2289 (SVGAnimatedNumberAnimator):
2290 * svg/SVGAnimatedNumberList.cpp:
2291 (WebCore::SVGAnimatedNumberListAnimator::constructFromVariant):
2292 * svg/SVGAnimatedNumberList.h:
2293 (SVGAnimatedNumberListAnimator):
2294 * svg/SVGAnimatedTransformList.cpp:
2295 (WebCore::SVGAnimatedTransformListAnimator::constructFromVariant):
2296 * svg/SVGAnimatedTransformList.h:
2297 (SVGAnimatedTransformListAnimator):
2298 * svg/SVGAnimatedTypeAnimator.h:
2299 (WebCore::SVGAnimatedTypeAnimator::constructFromVariant):
2300 * svg/properties/SVGAnimatedListPropertyTearOff.h:
2301 (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
2302 * svg/properties/SVGAnimatedProperty.h:
2303 (SVGAnimatedProperty):
2304 * svg/properties/SVGAnimatedPropertyTearOff.h:
2305 (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
2306 * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
2307 (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
2309 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2311 Enable animVal support for SVGNumberList
2312 https://bugs.webkit.org/show_bug.cgi?id=81219
2314 Reviewed by Rob Buis.
2316 Enable animVal support for SVGNumberList. Easy patch, we just need to add the missing
2317 constructFromCopy() method to SVGAnumatedNumberListAnimator and report AnimatedNumberList
2318 as supporting animVal.
2320 Covered by existing tests.
2322 * svg/SVGAnimatedNumberList.cpp:
2323 (WebCore::SVGAnimatedNumberListAnimator::constructFromCopy):
2325 * svg/SVGAnimatedNumberList.h:
2327 (SVGAnimatedNumberListAnimator):
2328 * svg/SVGAnimatedType.cpp:
2329 (WebCore::SVGAnimatedType::supportsAnimVal):
2330 (WebCore::SVGAnimatedType::setVariantValue):
2332 2012-03-15 Rob Buis <rbuis@rim.com>
2334 Fix cast-align GCC warnings
2335 https://bugs.webkit.org/show_bug.cgi?id=80790
2337 Reviewed by Nikolas Zimmermann.
2339 * platform/graphics/WOFFFileFormat.cpp:
2340 (WebCore::writeUInt32):
2341 (WebCore::writeUInt16):
2342 (WebCore::convertWOFFToSfnt):
2344 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2346 Not reviewed. Forgot to preserve copyrights, per reviewer comment.
2348 * svg/SVGAnimatedTransformList.cpp:
2350 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2352 Enable animVal support for SVGNumber
2353 https://bugs.webkit.org/show_bug.cgi?id=81212
2355 Reviewed by Rob Buis.
2357 Enable animVal support for SVGNumber. This aligns SVGAnimatedStaticPropertyTearOff,
2358 with the other SVGListPropertyTearOff & SVGPropertyTearOff, as all support animVal now.
2359 Converting the rest of the types can be done in small patches now.
2361 Test: svg/animations/svgnumber-animation-4.html
2363 * svg/SVGAnimatedNumber.cpp:
2364 (WebCore::SVGAnimatedNumberAnimator::constructFromCopy):
2366 * svg/SVGAnimatedNumber.h:
2368 (SVGAnimatedNumberAnimator):
2369 * svg/SVGAnimatedType.cpp:
2370 (WebCore::SVGAnimatedType::supportsAnimVal):
2371 (WebCore::SVGAnimatedType::setVariantValue):
2372 * svg/properties/SVGAnimatedProperty.h:
2373 (SVGAnimatedProperty):
2374 * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
2375 (WebCore::SVGAnimatedStaticPropertyTearOff::animVal):
2376 (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
2377 (SVGAnimatedStaticPropertyTearOff):
2378 (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
2379 (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
2380 (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
2381 (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueWillChange):
2382 (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueDidChange):
2383 (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
2385 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2387 Enable animVal support for SVGTransformList
2388 https://bugs.webkit.org/show_bug.cgi?id=80758
2390 Reviewed by Antti Koivisto.
2392 Enable animVal support for SVGTransformList. SVGTransformLists are only animatable
2393 via <animateTransform>, not via <animate> directly. Still we can handle it in the
2394 same framework as all other types used for <animate>, as we also need proper animVal
2395 support for <animateTransform>.
2397 This patch removes the special <animateTransform> implementation, and lets
2398 SVGAnimateTransformElement inherit from SVGAnimateElement, just like its done
2399 for SVGAnimateColorElement & SVGSetElement.
2401 All existing code (calculateFromAndToValues/FromAndByValues/etc..) are moved from
2402 SVGAnimateTransform right into the SVGAnimatedTransformListAnimator.
2404 This doesn't change <animateTransform> behavior, it just simplies the code
2405 and enables animVal support for SVGTransformLists - all covered by existing tests.
2408 * GNUmakefile.list.am:
2411 * WebCore.xcodeproj/project.pbxproj:
2412 * svg/SVGAllInOne.cpp:
2413 * svg/SVGAnimateElement.cpp:
2414 (WebCore::SVGAnimateElement::SVGAnimateElement):
2415 (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
2416 (WebCore::SVGAnimateElement::calculateAnimatedValue):
2417 (WebCore::SVGAnimateElement::applyResultsToTarget):
2418 * svg/SVGAnimateTransformElement.cpp:
2419 (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
2420 (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
2421 (WebCore::SVGAnimateTransformElement::parseAttribute):
2422 * svg/SVGAnimateTransformElement.h:
2423 (WebCore::SVGAnimateTransformElement::transformType):
2424 (SVGAnimateTransformElement):
2425 * svg/SVGAnimatedTransformList.cpp: Added.
2427 (WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
2428 (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
2429 (WebCore::SVGAnimatedTransformListAnimator::constructFromCopy):
2430 (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndToValues):
2431 (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndByValues):
2432 (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
2433 (WebCore::SVGAnimatedTransformListAnimator::calculateDistance):
2434 * svg/SVGAnimatedTransformList.h:
2436 (SVGAnimatedTransformListAnimator):
2437 (WebCore::SVGAnimatedTransformListAnimator::~SVGAnimatedTransformListAnimator):
2438 * svg/SVGAnimatedType.cpp:
2439 (WebCore::SVGAnimatedType::~SVGAnimatedType):
2440 (WebCore::SVGAnimatedType::createTransformList):
2442 (WebCore::SVGAnimatedType::transformList):
2443 (WebCore::SVGAnimatedType::valueAsString):
2444 (WebCore::SVGAnimatedType::setValueAsString):
2445 (WebCore::SVGAnimatedType::supportsAnimVal):
2446 (WebCore::SVGAnimatedType::setVariantValue):
2447 * svg/SVGAnimatedType.h:
2450 * svg/SVGAnimatorFactory.h:
2451 (WebCore::SVGAnimatorFactory::create):
2452 * svg/SVGGradientElement.cpp:
2453 (WebCore::SVGGradientElement::parseAttribute):
2454 * svg/SVGPatternElement.cpp:
2455 (WebCore::SVGPatternElement::parseAttribute):
2456 * svg/SVGStyledTransformableElement.cpp:
2457 (WebCore::SVGStyledTransformableElement::parseAttribute):
2458 * svg/SVGTextElement.cpp:
2459 (WebCore::SVGTextElement::parseAttribute):
2460 * svg/SVGTransform.cpp:
2461 (WebCore::SVGTransform::transformTypePrefixForParsing):
2463 (WebCore::SVGTransform::valueAsString):
2464 * svg/SVGTransform.h:
2466 * svg/SVGTransformList.cpp:
2467 (WebCore::SVGTransformList::parse):
2469 * svg/SVGTransformList.h:
2471 * svg/SVGTransformable.cpp:
2472 (WebCore::SVGTransformable::parseTransformType):
2473 * svg/SVGTransformable.h:
2475 * svg/SVGViewSpec.cpp:
2476 (WebCore::SVGViewSpec::setTransform):
2478 2012-03-13 Nikolas Zimmermann <nzimmermann@rim.com>
2480 Enable animVal support for SVGLengthList
2481 https://bugs.webkit.org/show_bug.cgi?id=80750
2483 Reviewed by Zoltan Herczeg.
2485 Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty
2486 in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList.
2488 Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal.
2490 * svg/SVGAnimateElement.cpp:
2491 (WebCore::SVGAnimateElement::calculateAnimatedValue):
2492 * svg/SVGAnimateTransformElement.cpp:
2493 (WebCore::SVGAnimateTransformElement::resetToBaseValue):
2494 (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
2495 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2496 * svg/SVGAnimatedLengthList.cpp:
2497 (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy):
2499 * svg/SVGAnimatedLengthList.h:
2501 (SVGAnimatedLengthListAnimator):
2502 * svg/SVGAnimatedType.cpp:
2503 (WebCore::SVGAnimatedType::supportsAnimVal):
2504 (WebCore::SVGAnimatedType::setVariantValue):
2505 * svg/SVGAnimatedType.h:
2506 * svg/SVGAnimationElement.cpp:
2507 (WebCore::SVGAnimationElement::applyAnimatedValue):
2508 * svg/properties/SVGAnimatedListPropertyTearOff.h:
2509 (SVGAnimatedListPropertyTearOff):
2510 (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
2511 (WebCore::SVGAnimatedListPropertyTearOff::animVal):
2512 (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
2513 (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
2514 (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
2515 (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
2516 (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
2517 (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
2518 (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):
2519 (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange):
2520 (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange):
2521 * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
2522 (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
2523 (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
2524 * svg/properties/SVGAnimatedProperty.h:
2525 (WebCore::SVGAnimatedProperty::isAnimating):
2526 (SVGAnimatedProperty):
2527 (WebCore::SVGAnimatedProperty::animationValueWillChange):
2528 (WebCore::SVGAnimatedProperty::animationValueDidChange):
2529 (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
2530 (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
2531 * svg/properties/SVGAnimatedPropertyTearOff.h:
2532 (SVGAnimatedPropertyTearOff):
2533 (WebCore::SVGAnimatedPropertyTearOff::baseVal):
2534 (WebCore::SVGAnimatedPropertyTearOff::animVal):
2535 (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
2536 (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
2537 (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
2538 (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange):
2539 (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange):
2540 (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
2541 * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
2542 (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
2543 (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
2544 * svg/properties/SVGListProperty.h:
2545 (WebCore::SVGListProperty::detachListWrappers):
2547 (WebCore::SVGListProperty::setValuesAndWrappers):
2548 (WebCore::SVGListProperty::clearValues):
2549 (WebCore::SVGListProperty::clearValuesAndWrappers):
2550 (WebCore::SVGListProperty::numberOfItems):
2551 (WebCore::SVGListProperty::initializeValues):
2552 (WebCore::SVGListProperty::initializeValuesAndWrappers):
2553 (WebCore::SVGListProperty::canGetItem):
2554 (WebCore::SVGListProperty::getItemValues):
2555 (WebCore::SVGListProperty::getItemValuesAndWrappers):
2556 (WebCore::SVGListProperty::insertItemBeforeValues):
2557 (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
2558 (WebCore::SVGListProperty::canReplaceItem):
2559 (WebCore::SVGListProperty::replaceItemValues):
2560 (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
2561 (WebCore::SVGListProperty::canRemoveItem):
2562 (WebCore::SVGListProperty::removeItemValues):
2563 (WebCore::SVGListProperty::removeItemValuesAndWrappers):
2564 (WebCore::SVGListProperty::appendItemValues):
2565 (WebCore::SVGListProperty::appendItemValuesAndWrappers):
2566 (WebCore::SVGListProperty::values):
2567 (WebCore::SVGListProperty::wrappers):
2568 (WebCore::SVGListProperty::SVGListProperty):
2569 * svg/properties/SVGListPropertyTearOff.h:
2570 (SVGListPropertyTearOff):
2571 (WebCore::SVGListPropertyTearOff::create):
2572 (WebCore::SVGListPropertyTearOff::removeItemFromList):
2573 (WebCore::SVGListPropertyTearOff::clear):
2574 (WebCore::SVGListPropertyTearOff::initialize):
2575 (WebCore::SVGListPropertyTearOff::insertItemBefore):
2576 (WebCore::SVGListPropertyTearOff::replaceItem):
2577 (WebCore::SVGListPropertyTearOff::appendItem):
2578 (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
2579 (WebCore::SVGListPropertyTearOff::commitChange):
2580 * svg/properties/SVGPathSegListPropertyTearOff.cpp:
2581 (WebCore::SVGPathSegListPropertyTearOff::clear):
2582 (WebCore::SVGPathSegListPropertyTearOff::getItem):
2583 (WebCore::SVGPathSegListPropertyTearOff::removeItem):
2584 * svg/properties/SVGPathSegListPropertyTearOff.h:
2585 (WebCore::SVGPathSegListPropertyTearOff::create):
2586 (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
2587 (SVGPathSegListPropertyTearOff):
2588 (WebCore::SVGPathSegListPropertyTearOff::initialize):
2589 (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
2590 (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
2591 (WebCore::SVGPathSegListPropertyTearOff::appendItem):
2592 (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
2593 (WebCore::SVGPathSegListPropertyTearOff::commitChange):
2594 * svg/properties/SVGPropertyInfo.h:
2595 * svg/properties/SVGStaticListPropertyTearOff.h:
2596 (SVGStaticListPropertyTearOff):
2597 (WebCore::SVGStaticListPropertyTearOff::clear):
2598 (WebCore::SVGStaticListPropertyTearOff::initialize):
2599 (WebCore::SVGStaticListPropertyTearOff::getItem):
2600 (WebCore::SVGStaticListPropertyTearOff::insertItemBefore):
2601 (WebCore::SVGStaticListPropertyTearOff::replaceItem):
2602 (WebCore::SVGStaticListPropertyTearOff::removeItem):
2603 (WebCore::SVGStaticListPropertyTearOff::appendItem):
2604 (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff):
2605 (WebCore::SVGStaticListPropertyTearOff::commitChange):
2606 * svg/properties/SVGTransformListPropertyTearOff.h:
2607 (WebCore::SVGTransformListPropertyTearOff::create):
2608 (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
2609 (WebCore::SVGTransformListPropertyTearOff::consolidate):
2610 (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):
2612 2012-03-14 Chris Fleizach <cfleizach@apple.com>
2614 AXDescription for HTML5 footer
2615 https://bugs.webkit.org/show_bug.cgi?id=78967
2617 Return a unique role description for the footer element.
2619 Reviewed by Beth Dakin.
2621 Test: platform/mac/accessibility/footer-roledescription.html
2623 * English.lproj/Localizable.strings:+
2624 * accessibility/AccessibilityObject.h:
2625 * accessibility/AccessibilityRenderObject.cpp:
2626 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2627 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2628 (createAccessibilityRoleMap):
2629 (-[WebAccessibilityObjectWrapper subrole]):
2630 (-[WebAccessibilityObjectWrapper roleDescription]):
2631 * platform/LocalizedStrings.cpp:
2632 (WebCore::AXFooterRoleDescriptionText):
2634 * platform/LocalizedStrings.h:
2636 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
2637 (WebCore::AXFooterRoleDescriptionText):
2639 * platform/efl/LocalizedStringsEfl.cpp:
2640 (WebCore::AXFooterRoleDescriptionText):
2642 * platform/gtk/LocalizedStringsGtk.cpp:
2643 (WebCore::AXFooterRoleDescriptionText):
2646 2012-03-14 Mark Rowe <mrowe@apple.com>
2648 <http://webkit.org/b/81193> Ensure libWebCoreTestSupport.dylib's library identifier is set appropriately for all configurations.
2650 Reviewed by Dan Bernstein.
2652 * Configurations/WebCoreTestSupport.xcconfig: Switch to setting DYLIB_INSTALL_NAME_BASE
2653 rather than LD_DYLIB_INSTALL_NAME. The latter is derived from the former. Ensure that
2654 DYLIB_INSTALL_NAME_BASE is also set for the Production configuration.
2656 2012-03-14 Chris Fleizach <cfleizach@apple.com>
2658 AXDescription for ARIA role contentinfo incorrect
2659 https://bugs.webkit.org/show_bug.cgi?id=78967
2661 Reviewed by Beth Dakin.
2663 Test: platform/mac/accessibility/aria-grouping-roles.html
2665 * English.lproj/Localizable.strings:
2666 * platform/LocalizedStrings.cpp:
2667 (WebCore::AXARIAContentGroupText):
2669 2012-03-14 Chris Fleizach <cfleizach@apple.com>
2671 AX: ARIA tables need to support selected rows attribute/select rows changed notification
2672 https://bugs.webkit.org/show_bug.cgi?id=79821
2674 Reviewed by Beth Dakin.
2676 Test: platform/mac/accessibility/selected-rows-table.html
2678 * accessibility/AccessibilityARIAGrid.h:
2679 (WebCore::AccessibilityARIAGrid::isMultiSelectable):
2680 (AccessibilityARIAGrid):
2681 * accessibility/AccessibilityRenderObject.cpp:
2682 (WebCore::AccessibilityRenderObject::ariaSelectedRows):
2683 * accessibility/AccessibilityTableRow.cpp:
2684 (WebCore::AccessibilityTableRow::observableObject):
2686 * accessibility/AccessibilityTableRow.h:
2687 (AccessibilityTableRow):
2688 * accessibility/mac/AXObjectCacheMac.mm:
2689 (WebCore::AXObjectCache::postPlatformNotification):
2691 2012-03-14 James Robinson <jamesr@chromium.org>
2693 Platforms without USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) don't need to query the page's displayID
2694 https://bugs.webkit.org/show_bug.cgi?id=81187
2696 Reviewed by Simon Fraser.
2699 (WebCore::Document::webkitRequestAnimationFrame):
2701 2012-03-14 Chris Fleizach <cfleizach@apple.com>
2703 AX: embedded attachments do not report their parents correctly
2704 https://bugs.webkit.org/show_bug.cgi?id=80132
2706 When a WebHTMLView has embedded attachments in it, the AXParent of those attachments is wrong.
2707 It usually points to the AXScrollView of the web area. That's because there has been no way for WebCore to
2708 communicate that this attachment view should actually make believe that it's parent is within the WebCore AX tree.
2710 We can fix that by overriding the AXParent in overriden attributes for items that are attachments.
2712 Reviewed by Beth Dakin.
2714 Not able to construct a layout test because the problem only manifests itself when an AX client connects to WebKit
2715 through the IPC mechanism.
2717 * accessibility/AccessibilityObject.cpp:
2718 (WebCore::AccessibilityObject::detachFromParent):
2719 * accessibility/AccessibilityObject.h:
2720 (AccessibilityObject):
2721 (WebCore::AccessibilityObject::overrideAttachmentParent):
2722 * accessibility/AccessibilityRenderObject.cpp:
2723 (WebCore::AccessibilityRenderObject::updateAttachmentViewParents):
2724 (WebCore::AccessibilityRenderObject::addChildren):
2725 * accessibility/AccessibilityRenderObject.h:
2726 (AccessibilityRenderObject):
2727 * accessibility/mac/AccessibilityObjectMac.mm:
2728 (WebCore::AccessibilityObject::overrideAttachmentParent):
2730 2012-03-14 Ryosuke Niwa <rniwa@webkit.org>
2732 Improve ContainerNode's collectNodes() performance
2733 https://bugs.webkit.org/show_bug.cgi?id=80706
2735 Reviewed by Antti Koivisto.
2737 Bump up the size of stack allocated buffer from 1 to 11. According to the rough study I conducted,
2738 this would cover 99.5% of all node collection.
2740 Note: the actual code change was made in r110797 but I somehow mangled my patches.
2742 * dom/ContainerNode.cpp:
2745 2012-03-14 Seo Sanghyeon <sh4.seo@samsung.com>
2747 Cleanup semicolons in IDLs
2748 https://bugs.webkit.org/show_bug.cgi?id=81129
2750 Reviewed by Kentaro Hara.
2752 No tests. No change in behavior.
2754 * svg/SVGAnimateColorElement.idl:
2755 * svg/SVGAnimateElement.idl:
2756 * svg/SVGAnimateTransformElement.idl:
2757 * svg/SVGAnimatedRect.idl:
2759 2012-03-14 Hayato Ito <hayato@chromium.org>
2761 Make ShadowRoot.activeElement return null if it does not contain a focused element.
2762 https://bugs.webkit.org/show_bug.cgi?id=81097
2764 Reviewed by Dimitri Glazkov.
2766 * dom/TreeScope.cpp:
2767 (WebCore::TreeScope::activeElement):
2769 2012-03-14 Matt Falkenhagen <falken@chromium.org>
2771 Allow per-script font settings to be specified in layout tests
2772 https://bugs.webkit.org/show_bug.cgi?id=78184
2774 Reviewed by Hajime Morita.
2776 This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
2777 the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
2778 for Chromium so far.
2780 Test: changed fast/text/international/locale-sensitive-fonts.html to use InternalSettings
2781 instead of overridePreference.
2783 * WebCore.exp.in: Added symbols.
2784 * platform/text/LocaleToScriptMapping.h: Added scriptNameToCode used by InternalSettings.
2786 * platform/text/LocaleToScriptMappingDefault.cpp:
2787 (WebCore::scriptNameToCode):
2788 (WebCore::localeToScriptCodeForFontSelection):
2789 * platform/text/LocaleToScriptMappingICU.cpp:
2790 (WebCore::scriptNameToCode):
2792 * testing/InternalSettings.cpp: Added per-script font settings.
2794 (WebCore::setFontFamily):
2795 (WebCore::InternalSettings::setStandardFontFamily):
2796 (WebCore::InternalSettings::setSerifFontFamily):
2797 (WebCore::InternalSettings::setSansSerifFontFamily):
2798 (WebCore::InternalSettings::setFixedFontFamily):
2799 (WebCore::InternalSettings::setCursiveFontFamily):
2800 (WebCore::InternalSettings::setFantasyFontFamily):
2801 (WebCore::InternalSettings::setPictographFontFamily):
2802 * testing/InternalSettings.h:
2804 * testing/InternalSettings.idl:
2806 2012-03-14 Kwonjin Jeong <gram@company100.net>
2808 Remove obsolete constructors of CSSPrimitiveValue class.
2809 https://bugs.webkit.org/show_bug.cgi?id=80971
2811 Remove constructors of CSSPrimitiveValue that can't be
2814 Reviewed by Andreas Kling.
2816 * css/CSSPrimitiveValueMappings.h:
2818 2012-03-14 Igor Oliveira <igor.o@sisa.samsung.com>
2820 Split the extra logic out of RenderBlock::updateFirstLetter
2821 https://bugs.webkit.org/show_bug.cgi?id=80772
2823 Reviewed by Julien Chaffraix.
2825 No change in behavior expected.
2827 * rendering/RenderBlock.cpp:
2828 (WebCore::RenderBlock::updateFirstLetterStyle):
2829 (WebCore::RenderBlock::createFirstLetterRenderer):
2830 (WebCore::RenderBlock::updateFirstLetter):
2832 * rendering/RenderBlock.h:
2835 2012-03-14 Anders Carlsson <andersca@apple.com>
2839 * html/track/TextTrackList.cpp:
2841 2012-03-14 Ryosuke Niwa <rniwa@webkit.org>
2845 * dom/DynamicNodeList.h:
2846 (DynamicSubtreeNodeList):
2848 2012-03-14 Ryosuke Niwa <rniwa@webkit.org>
2850 (register|unregister)DynamicSubtreeNodeList should be called only for labels and regions node lists
2851 https://bugs.webkit.org/show_bug.cgi?id=80900
2853 Reviewed by Andreas Kling.
2855 Cleaned up invalidation code for dynamic node lists. It seems like the existing code was utterly confused
2856 about the lifetime of node lists and caches within them. First, register/unregsiterDynamicSubtreeNodeList
2857 are called for all dynamic node lists even though it's only useful for labels and region node lists since
2858 it's a mechanism to allow node lists to be invalidated at a node to which the node list doesn't belong.
2860 Second, some node lists had dedicated member functions on Node to explicitly invalidate caches in
2861 parsedAttribute. However, this is redundant because invalidateNodeListsCacheAfterAttributeChanged should be
2862 able to invalidate caches when the attribute value changes. This patch gets rid of the last instance of such
2863 function in HTMLLabelElement.
2865 And finally, this patch restricts the callers of DynamicSubtreeNodeList::invalidateCache to be member
2866 functions of NodeListsNodeData (now friends of DynamicSubtreeNodeList) to allow futher refactoring.
2868 * dom/DynamicNodeList.cpp:
2869 (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Don't register the node list since it's only
2870 useful for labels and region node lists.
2871 (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList): Ditto.
2872 * dom/DynamicNodeList.h:
2873 (DynamicSubtreeNodeList):
2876 (WebCore::Node::registerDynamicSubtreeNodeList): The comment about now we have to invalidate caches
2877 when there had no caches is incorrect because registerDynamicSubtreeNodeList is called when a node list
2878 is initially created. Also, if the tree scope didn't have any caches, then this is the first node list
2879 to be added to the list, so there's no point in calling InvalidateCaches (no-op).
2880 (WebCore::Node::unregisterDynamicSubtreeNodeList):
2881 (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Take care of "for" content attribute.
2882 Also remove the redundant call to removeNodeListCacheIfPossible since we only invalidates node lists
2883 and never remove entries from NodeListsNodeData in this function.
2884 (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): The call to removeNodeListCacheIfPossible
2885 is also redundant here. Also removed the invalidation of m_listsWithCaches since it's already done in
2886 invalidateCaches via invalidateCachesThatDependOnAttributes.
2887 (WebCore::NodeListsNodeData::invalidateCaches): Removed the invalidation of m_labelsNodeListCache. It's
2888 done in invalidateCachesThatDependOnAttributes.
2889 (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Invalidate
2890 m_listsInvalidatedAtDocument, which is renamed from m_listsWithCaches.
2891 (WebCore::NodeListsNodeData::isEmpty):
2894 * dom/NodeRareData.h:
2895 (NodeListsNodeData):
2896 * html/HTMLLabelElement.cpp:
2897 (WebCore): Removed parseAttribute since the invalidation labels node list is now done by
2898 invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.
2899 * html/HTMLLabelElement.h:
2901 * html/LabelsNodeList.cpp:
2902 (WebCore::LabelsNodeList::LabelsNodeList):
2903 (WebCore::LabelsNodeList::~LabelsNodeList):
2905 2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
2907 Unreviewed, rolling out r110565.
2908 http://trac.webkit.org/changeset/110565
2909 https://bugs.webkit.org/show_bug.cgi?id=81173
2911 chromium deps are now far enough along that the original cl
2912 should work (Requested by thakis on #webkit).
2914 * WebCore.gyp/mac/adjust_visibility.sh:
2916 2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
2918 Unreviewed, rolling out r110641.
2919 http://trac.webkit.org/changeset/110641
2920 https://bugs.webkit.org/show_bug.cgi?id=81170
2922 Causes an ASAN failure (Requested by abarth on #webkit).
2927 * bindings/scripts/CodeGeneratorJS.pm:
2929 (GenerateImplementation):
2930 * bindings/scripts/CodeGeneratorV8.pm:
2932 (GenerateNamedConstructorCallback):
2933 (GenerateImplementation):
2934 * bindings/scripts/IDLAttributes.txt:
2935 * bindings/scripts/test/V8/V8Float64Array.cpp:
2937 * bindings/scripts/test/V8/V8Float64Array.h:
2939 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2941 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2942 (V8TestActiveDOMObject):
2943 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2945 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2946 (V8TestCustomNamedGetter):
2947 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2949 * bindings/scripts/test/V8/V8TestEventConstructor.h:
2950 (V8TestEventConstructor):
2951 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2953 * bindings/scripts/test/V8/V8TestEventTarget.h:
2954 (V8TestEventTarget):
2955 * bindings/scripts/test/V8/V8TestInterface.cpp:
2957 * bindings/scripts/test/V8/V8TestInterface.h:
2959 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2961 * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2962 (V8TestMediaQueryListListener):
2963 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2965 * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2966 (V8TestNamedConstructor):
2967 * bindings/scripts/test/V8/V8TestObj.cpp:
2969 * bindings/scripts/test/V8/V8TestObj.h:
2971 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2973 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2974 (V8TestSerializedScriptValueInterface):
2975 * bindings/v8/NPV8Object.cpp:
2976 (WebCore::npObjectTypeInfo):
2977 * bindings/v8/V8GCController.cpp:
2978 (WebCore::GrouperVisitor::visitDOMWrapper):
2979 * bindings/v8/WrapperTypeInfo.h:
2982 * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
2985 * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2988 * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
2991 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2993 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2996 * bindings/v8/custom/V8StyleSheetCustom.cpp:
2998 * css/CSSStyleSheet.idl:
2999 * css/StyleSheet.idl:
3000 * dom/DOMStringMap.idl:
3001 * dom/NamedNodeMap.idl:
3002 * html/DOMTokenList.idl:
3003 * html/track/TextTrackList.cpp:
3004 * html/track/TextTrackList.idl:
3006 2012-03-13 Jon Lee <jonlee@apple.com>
3008 Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
3009 https://bugs.webkit.org/show_bug.cgi?id=80922
3010 <rdar://problem/11035082>
3012 Reviewed by Jian Li.
3014 You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
3015 LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
3016 new API. Therefore, APIs that are common between the two will have:
3017 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
3019 This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
3020 the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
3022 * bindings/scripts/InFilesCompiler.pm: Update the script to handle the "|" flag in a conditional.
3023 (preferredConditional):
3024 (conditionalStringFromAttributeValue):
3025 (generateInterfacesHeader):
3026 (generateHeadersHeader):
3028 Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
3030 * bindings/cpp/WebDOMEventTarget.cpp:
3032 * bindings/js/JSDesktopNotificationsCustom.cpp:
3033 * bindings/v8/custom/V8NotificationCenterCustom.cpp:
3034 * dom/EventTargetFactory.in:
3035 * notifications/Notification.cpp:
3036 * notifications/Notification.h:
3037 * notifications/Notification.idl:
3038 * notifications/NotificationCenter.cpp:
3039 * notifications/NotificationCenter.h:
3040 * notifications/NotificationCenter.idl:
3041 * notifications/NotificationContents.h:
3042 * notifications/NotificationController.cpp:
3043 * notifications/NotificationController.h:
3044 * page/DOMWindow.cpp:
3045 (WebCore::DOMWindow::~DOMWindow):
3046 (WebCore::DOMWindow::willDetachPage):
3047 (WebCore::DOMWindow::disconnectDOMWindowProperties):
3048 (WebCore::DOMWindow::clearDOMWindowProperties):
3052 * page/DOMWindow.idl:
3054 (WebCore::Frame::willDetachPage):
3055 (WebCore::Frame::transferChildFrameToNewDocument):
3056 * workers/WorkerContext.cpp:
3057 (WebCore::WorkerContext::~WorkerContext):
3059 * workers/WorkerContext.h:
3061 * workers/WorkerContext.idl:
3062 * workers/WorkerThread.cpp:
3063 (WebCore::WorkerThread::WorkerThread):
3064 * workers/WorkerThread.h:
3067 2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
3069 Unreviewed, rolling out r110744.
3070 http://trac.webkit.org/changeset/110744
3071 https://bugs.webkit.org/show_bug.cgi?id=81168
3073 Causes many WebAudio tests to crash in debug (Requested by
3076 * platform/audio/Biquad.cpp:
3077 (WebCore::Biquad::process):
3079 2012-03-14 Brady Eidson <beidson@apple.com>
3081 <rdar://problem/11045584> and https://bugs.webkit.org/show_bug.cgi?id=81166
3082 Repro crash in compositing/iframes/page-cache-layer-tree.html
3084 Reviewed by Sam Weinig.
3086 No new tests. (Discovered from and covered by existing test)
3088 ScriptCachedFrameData doesn't need to keep a DOMWindow:
3089 * bindings/js/ScriptCachedFrameData.cpp:
3090 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
3091 * bindings/js/ScriptCachedFrameData.h:
3092 (ScriptCachedFrameData):
3094 CachedFrame should grab it off the Frame directly and store it locally:
3095 * history/CachedFrame.cpp:
3096 (WebCore::CachedFrame::CachedFrame):
3097 * history/CachedFrame.h:
3098 (WebCore::CachedFrameBase::domWindow):
3101 2012-03-14 Tony Chang <tony@chromium.org>
3103 fix negative flexing in auto sized columns
3104 https://bugs.webkit.org/show_bug.cgi?id=80069
3106 Reviewed by Ojan Vafai.
3108 New test cases in css3/flexbox/columns-auto-size.html.
3110 * rendering/RenderFlexibleBox.cpp:
3112 (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Properly compute this for auto sizing columns. Previously, we would always return 0.
3113 (WebCore::RenderFlexibleBox::layoutFlexItems):
3114 (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Drop an unnecessary check against undefined. isSpecified covers this for us.
3115 * rendering/RenderFlexibleBox.h:
3116 (RenderFlexibleBox):
3118 2012-03-14 Grace Ku <gracek@codeaurora.org>
3120 Incorrect handling of sizes in "em" when first-line changes font size
3121 https://bugs.webkit.org/show_bug.cgi?id=79526
3123 Reviewed by Eric Seidel.
3125 When a first-line pseudo class changes the font size, the "em" unit is handled incorrectly.
3126 It uses the paragraph's original font size (the size of the rest of the paragraph) rather than
3127 the font-size of the first-line of the paragraph.
3129 This was corrected by checking if the InlineFlowBox was the first line using the existing
3130 InlineFlowBox::isFirstLineStyle() function. The corrected behaviour matches Gecko and Presto.
3131 Trident seems to get it half-wrong in the use case we are testing, painting the correct width for
3132 the border but leaving the wrong amount of space.
3134 The CSS specification doc at the time of this patch specifies that ':first-line' should only support
3135 certain properties, though UAs may choose to apply more properties. Furthermore, the spec does not
3136 define the exact rendering of all cases of ':first-line'. It notes that a more precise definition
3137 may appear in future revisions.
3139 Test: fast/css/pseudo-first-line-border-width.html
3141 * rendering/InlineFlowBox.cpp:
3142 (WebCore::InlineFlowBox::paintBoxDecorations):
3143 * rendering/InlineFlowBox.h:
3144 (WebCore::InlineFlowBox::borderLogicalLeft):
3145 (WebCore::InlineFlowBox::borderLogicalRight):
3146 * rendering/RenderBoxModelObject.cpp:
3147 (WebCore::RenderBoxModelObject::paintBorder):
3148 (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
3149 (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
3150 (WebCore::RenderBoxModelObject::borderObscuresBackground):
3151 * rendering/RenderBoxModelObject.h:
3152 (RenderBoxModelObject):
3154 2012-03-14 Martin Robinson <mrobinson@igalia.com>
3156 Fix the TextureMapper build for GTK+.
3158 No new tests. This is just a build fix.
3160 * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
3161 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3162 * platform/graphics/texmap/TextureMapper.h:
3164 2012-03-12 Martin Robinson <mrobinson@igalia.com>
3166 [GTK] Menulist buttons have separators even when the theme turns them off
3167 https://bugs.webkit.org/show_bug.cgi?id=80668
3169 Reviewed by Daniel Bates.
3171 No new tests. GTK+ theme differences are notoriously difficult
3172 to test, because consistent results depend on having certain themes
3173 and certain versions of themes installed.
3175 Instead of using the GTK_TYPE_BUTTON and GTK_TYPE_SEPARATOR tags to get the
3176 style context, use GTK_TYPE_COMBO_BOX which should provide more accurate theme settings.
3178 * platform/gtk/RenderThemeGtk3.cpp:
3179 (WebCore::getComboBoxMetrics): Get metrics from a GTK_TYPE_COMBO_BOX style context.
3180 (WebCore::RenderThemeGtk::paintMenuList): Get separator settings from the GTK_TYPE_COMBO_BOX style context.
3182 2012-03-14 Levi Weintraub <leviw@chromium.org>
3184 Implement proper sub-pixel support in RenderFileUploadControl
3185 https://bugs.webkit.org/show_bug.cgi?id=80881
3187 Reviewed by Dimitri Glazkov.
3189 Correcting improper usage of LayoutUnits when interacting with the graphics context
3190 and platform code. Specifically:
3191 - pixel snapping the clip rect and paint offsets before sending values to the
3192 graphics context in paintObject.
3193 - using on-screen (pixel snapped) values to pass off to platform code to determine
3194 the max length of the filename to be drawn.
3196 No new tests. No change in behavior.
3198 * rendering/RenderFileUploadControl.cpp:
3199 (WebCore::nodeWidth):
3200 (WebCore::RenderFileUploadControl::maxFilenameWidth):
3201 (WebCore::RenderFileUploadControl::paintObject):
3203 2012-03-14 Joseph Pecoraro <pecoraro@apple.com>
3205 [JSC] Web Inspector: CRASH running $0, $1, etc before they are set
3206 https://bugs.webkit.org/show_bug.cgi?id=81082
3208 Don't return an invalid JSValue. Check if the ScriptValue
3209 has no value and return undefined in that case.
3211 Reviewed by Pavel Feldman.
3213 Updated test: inspector/console/command-line-api.html
3215 * bindings/js/JSInjectedScriptHostCustom.cpp:
3216 (WebCore::JSInjectedScriptHost::inspectedObject):
3218 2012-03-14 James Robinson <jamesr@chromium.org>
3220 [chromium] Remove canRecoverFromContextLoss attribute, it's unused
3221 https://bugs.webkit.org/show_bug.cgi?id=81158
3223 Reviewed by Stephen White.
3225 Canvas accelerated no longer depends on the canRecoverFromContextLoss attribute after r110716.
3227 * platform/graphics/GraphicsContext3D.h:
3228 (WebCore::GraphicsContext3D::Attributes::Attributes):
3230 * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3231 (WebCore::SharedGraphicsContext3DImpl::get):
3233 2012-03-14 Jer Noble <jer.noble@apple.com>
3235 Opening a URL in a MediaDocument does not propagate MIME type info to media element
3236 https://bugs.webkit.org/show_bug.cgi?id=81148
3238 Reviewed by Eric Carlson.
3240 Test: http/tests/media/media-document.html
3242 Pass through the mime type from the DocumentLoader into the <source type=""> attribute of the
3243 generated video element.
3245 * html/MediaDocument.cpp:
3246 (WebCore::MediaDocumentParser::createDocumentStructure):
3248 2012-03-14 Stephen White <senorblanco@chromium.org>
3250 [chromium] Fix accelerated Canvas2D with threaded compositing.
3251 https://bugs.webkit.org/show_bug.cgi?id=80998
3253 Reviewed by James Robinson.
3255 Covered by unit tests Canvas2DLayerChromiumTest and
3256 TreeSynchronizerTest.
3258 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3259 (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
3261 Delay creation of the front texture for double-buffering until the
3262 first call to paintContentsIfDirty().
3263 * platform/graphics/chromium/Canvas2DLayerChromium.h:
3264 (Canvas2DLayerChromium):
3265 Remove setTextureManager() and setLayerTreeHost(), since their job
3266 has been subsumed by paintContentsIfDirty().
3267 * platform/graphics/chromium/TreeSynchronizer.cpp:
3268 (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
3269 Perform an early-out if the passed-in layer is NULL.
3271 2012-03-14 Mark Pilgrim <pilgrim@chromium.org>
3273 Move EntriesCallback to Modules/filesystem/
3274 https://bugs.webkit.org/show_bug.cgi?id=81032
3276 Reviewed by Adam Barth.
3278 No new tests, all existing tests pass.
3281 * DerivedSources.make:
3282 * DerivedSources.pri:
3283 * GNUmakefile.list.am:
3284 * Modules/filesystem/EntriesCallback.h: Copied from Source/WebCore/fileapi/EntriesCallback.h.
3285 * Modules/filesystem/EntriesCallback.idl: Copied from Source/WebCore/fileapi/EntriesCallback.idl.
3288 * WebCore.vcproj/WebCore.vcproj:
3289 * WebCore.xcodeproj/project.pbxproj:
3290 * fileapi/EntriesCallback.h: Removed.
3291 * fileapi/EntriesCallback.idl: Removed.
3293 2012-03-14 Tony Chang <tony@chromium.org>
3295 multiline column flexbox with auto height wrap too much
3296 https://bugs.webkit.org/show_bug.cgi?id=80929
3298 Reviewed by David Hyatt.
3300 Test: css3/flexbox/multiline-column-auto.html
3302 * rendering/RenderBox.cpp:
3303 (WebCore::RenderBox::computeLogicalHeightUsing):
3305 (WebCore::RenderBox::computeContentLogicalHeightUsing): Pull out into a separate method.
3306 * rendering/RenderBox.h:
3308 * rendering/RenderFlexibleBox.cpp:
3309 (WebCore::RenderFlexibleBox::lineBreakLength): Compute the value based on height & max-height for column layout.
3311 (WebCore::RenderFlexibleBox::computeNextFlexLine):
3312 * rendering/RenderFlexibleBox.h:
3313 (RenderFlexibleBox):
3315 2012-03-14 Xingnan Wang <xingnan.wang@intel.com>
3317 Optimize the multiply-add in Biquad.cpp::process
3318 https://bugs.webkit.org/show_bug.cgi?id=75528
3320 Reviewed by Chris Rogers.
3322 Pipeline the multiply-add with SSE2 instructions and get about 20% improvement for the function.
3324 * platform/audio/Biquad.cpp:
3325 (WebCore::Biquad::process):
3327 2012-03-14 James Robinson <jamesr@chromium.org>
3329 [Chromium] Layout Test compositing/repaint/opacity-between-absolute.html is flaky
3330 https://bugs.webkit.org/show_bug.cgi?id=79823
3332 Reviewed by Adrienne Walker.
3334 LayerRendererChromium was storing a weak pointer to the current render surface in m_currentRenderSurface and
3335 using this in useRenderSurface() to avoid rebinding if we called useRenderSurface() multiple times in a row on
3336 the same surface. This pointer was never cleared, so if any subsequent surface landed at the same address this
3337 caching would misbehave and we'd fail to correctly initialize the new render surface. The caching wasn't
3338 actually buying us anything anyway since we only call useRenderSurface() once per surface per frame and we
3339 always set the viewport for the default render surface.
3341 * platform/graphics/chromium/LayerRendererChromium.cpp:
3342 (WebCore::LayerRendererChromium::beginDrawingFrame):
3343 (WebCore::LayerRendererChromium::useRenderSurface):
3345 2012-03-14 Zalan Bujtas <zbujtas@gmail.com>
3347 Frame flattening ASSERT(!needsLayout()) in FrameView::paintContents()
3348 https://bugs.webkit.org/show_bug.cgi?id=80155
3350 Reviewed by Antti Koivisto.
3352 This patch ensures that an iframe only schedules and calls parent's layout,
3353 when it is going to be flattened. Non-flattened iframe does not affect
3354 parent's layout, so normal layout flow applies. isInSubframeLayoutWithFrameFlattening()
3355 function has been added to test whether a particular child frame is changing
3356 parent's layout. This function also ensures that scheduleRelayout() and layout()
3357 are in sync of checking againts frame flattening.
3359 Test: fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html
3361 * page/FrameView.cpp:
3362 (WebCore::FrameView::avoidScrollbarCreation):
3363 (WebCore::FrameView::layout):
3364 (WebCore::FrameView::scheduleRelayout):
3365 (WebCore::FrameView::isInChildFrameWithFrameFlattening):
3367 (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
3370 * rendering/RenderIFrame.h:
3372 (WebCore::RenderIFrame::renderName):
3374 2012-03-14 Anders Carlsson <andersca@apple.com>
3376 Don't cap the scroll position if layout happens when a FrameView's overhangAmount is non-zero
3377 https://bugs.webkit.org/show_bug.cgi?id=81146
3378 <rdar://problem/10850075>
3380 Reviewed by Beth Dakin.
3382 If layout happens when a page has a non-zero overhang amount, we shouldn't cap the scroll position
3383 to be inside of the valid maximum/minimum scroll offsets because that will cause the page to jump back, which
3384 can look really bad if layout happens in response to the page being scrolled.
3386 * platform/ScrollView.cpp:
3387 (WebCore::ScrollView::updateScrollbars):
3389 2012-03-14 Tommy Widenflycht <tommyw@google.com>
3391 MediaStream API (JSEP): Introducing IceCandidate
3392 https://bugs.webkit.org/show_bug.cgi?id=80699
3394 Reviewed by Adam Barth.
3396 Patch #2 in a series of patches to change the PeerConnection from ROAP to JSEP,
3397 see bug 80589 for more information.
3398 Adding the JS object IceCandidate and its WebCore/platform sibling IceCandidateDescriptor.
3399 This object will be created both from JS and the embedder.
3401 Not possible to test until the entire JSEP feature is commited.
3403 * GNUmakefile.list.am:
3404 * Modules/mediastream/IceCandidate.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3406 (WebCore::IceCandidate::create):
3407 (WebCore::IceCandidate::IceCandidate):
3408 (WebCore::IceCandidate::~IceCandidate):
3409 (WebCore::IceCandidate::label):
3410 (WebCore::IceCandidate::candidateLine):
3411 (WebCore::IceCandidate::toSdp):
3412 (WebCore::IceCandidate::descriptor):
3413 * Modules/mediastream/IceCandidate.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3416 * Modules/mediastream/IceCandidate.idl: Added.
3418 * platform/mediastream/IceCandidateDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3420 (WebCore::IceCandidateDescriptor::create):
3421 (WebCore::IceCandidateDescriptor::IceCandidateDescriptor):
3422 (WebCore::IceCandidateDescriptor::~IceCandidateDescriptor):
3423 (WebCore::IceCandidateDescriptor::toSdp):
3424 * platform/mediastream/IceCandidateDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3426 (IceCandidateDescriptor):
3427 (WebCore::IceCandidateDescriptor::label):
3428 (WebCore::IceCandidateDescriptor::candidateLine):
3429 * platform/mediastream/MediaStreamCenter.cpp:
3430 (WebCore::MediaStreamCenter::constructSdp):
3432 * platform/mediastream/MediaStreamCenter.h:
3434 (MediaStreamCenter):
3436 2012-03-14 Simon Fraser <simon.fraser@apple.com>
3438 background-visibility:hidden should create a RenderLayer
3439 https://bugs.webkit.org/show_bug.cgi?id=81134
3441 Reviewed by Dean Jackson.
3443 Background-visibility:hidden has to create RenderLayers, because it's implemented
3444 via compositing and/or paint short-circuiting in RenderLayer code.
3446 Test: transforms/3d/general/background-visibility-layers.html
3448 * rendering/RenderBox.h:
3449 * rendering/RenderBoxModelObject.h:
3450 (WebCore::RenderBoxModelObject::requiresLayer):
3451 * rendering/RenderObject.h:
3452 (WebCore::RenderObject::hasHiddenBackface):
3453 * rendering/RenderTableRow.h:
3455 2012-03-14 Raul Hudea <rhudea@adobe.com>
3457 [CSSRegions][CSSOM] Implement regionLayoutEvent
3458 https://bugs.webkit.org/show_bug.cgi?id=78882
3460 Reviewed by David Hyatt.
3462 Adding the regionLayoutEvent that is dispatch for all regions after each flow-thread layout.
3464 Tests: fast/regions/region-event-add-to-flow.html
3465 fast/regions/region-event-remove-from-dom.html
3466 fast/regions/region-event-remove-from-flow.html
3467 fast/regions/region-event.html
3470 (WebCore::Document::addListenerTypeIfNeeded): Added check for regionLayoutUpdate listeners
3475 (WebCore::Node::dispatchRegionLayoutUpdateEvent):