1 2012-03-16 Dana Jansens <danakj@chromium.org>
3 [chromium] Add overdraw metrics for texture uploads
4 https://bugs.webkit.org/show_bug.cgi?id=81175
6 Reviewed by Adrienne Walker.
8 Record texture upload metrics during paint. To properly record
9 the amount of pixels culled, we must compute the amount of pixels we
10 would have uploaded for a tile. This requires knowing the dirty rect of
11 the tile, but the dirty rect can be changed by WebKit during a paint, so
12 we always store the dirtyRect in the tile's updateRect. We add an
13 m_updateCulled bool to the UpdatableTile structure, to identify tiles
14 that were not updated, and know a tile was updated if updateRect is not
15 empty and updateCulled is false.
17 Tested by all TiledLayerChromiumTests that use occlusion tracker.
19 * platform/graphics/chromium/TiledLayerChromium.cpp:
21 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
22 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
23 (WebCore::CCLayerTreeHost::paintLayerContents):
25 2012-03-16 Jer Noble <jer.noble@apple.com>
27 Allow AudioContext::create() to emit an ExceptionCode.
28 https://bugs.webkit.org/show_bug.cgi?id=81049
30 Reviewed by Kentaro Hara.
32 No new tests; no change in functionality.
34 Pass through an ExceptionCode parameter to AudioContext::create(). It is currently
35 never modified, but exceptions will be added in the future.
37 * bindings/js/JSAudioContextCustom.cpp:
38 (WebCore::JSAudioContextConstructor::constructJSAudioContext):
39 * bindings/v8/custom/V8AudioContextCustom.cpp:
40 (WebCore::V8AudioContext::constructorCallback):
41 * webaudio/AudioContext.cpp:
42 (WebCore::AudioContext::create):
43 * webaudio/AudioContext.h:
45 2012-03-16 Dana Jansens <danakj@chromium.org>
47 [chromium] Remove surface damage client from occlusion tracker
48 https://bugs.webkit.org/show_bug.cgi?id=81242
50 Reviewed by Adrienne Walker.
52 Code was not used yet, so no new tests. Removing tests instead!
54 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
55 (WebCore::::CCOcclusionTrackerBase):
56 (WebCore::::layerScissorRectInTargetSurface):
58 * platform/graphics/chromium/cc/CCOcclusionTracker.h:
60 (CCOcclusionTrackerBase):
62 2012-03-16 Tommy Widenflycht <tommyw@google.com>
64 MediaStream API (JSEP): Introducing PeerConnection00Handler
65 https://bugs.webkit.org/show_bug.cgi?id=81333
67 Reviewed by Adam Barth.
69 In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
71 Not possible to test until the entire JSEP feature is commited.
73 * GNUmakefile.list.am:
75 * platform/mediastream/PeerConnection00Handler.cpp: Added.
77 (WebCore::PeerConnection00Handler::create):
78 (WebCore::PeerConnection00Handler::PeerConnection00Handler):
79 (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
80 (WebCore::PeerConnection00Handler::createOffer):
81 (WebCore::PeerConnection00Handler::createAnswer):
82 (WebCore::PeerConnection00Handler::setLocalDescription):
83 (WebCore::PeerConnection00Handler::setRemoteDescription):
84 (WebCore::PeerConnection00Handler::localDescription):
85 (WebCore::PeerConnection00Handler::remoteDescription):
86 (WebCore::PeerConnection00Handler::startIce):
87 (WebCore::PeerConnection00Handler::processIceMessage):
88 (WebCore::PeerConnection00Handler::addStream):
89 (WebCore::PeerConnection00Handler::removeStream):
90 (WebCore::PeerConnection00Handler::stop):
91 * platform/mediastream/PeerConnection00Handler.h: Added.
93 (PeerConnection00Handler):
94 * platform/mediastream/PeerConnection00HandlerClient.h: Added.
96 (PeerConnection00HandlerClient):
97 (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
99 2012-03-16 Pavel Podivilov <podivilov@chromium.org>
101 Web Inspector: fix exception when hovering over bound function in heap profiler.
102 https://bugs.webkit.org/show_bug.cgi?id=81362
104 Reviewed by Yury Semikhatsky.
106 * inspector/front-end/DebuggerPresentationModel.js:
107 (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
109 2012-03-16 Yoshifumi Inoue <yosin@chromium.org>
111 [Forms] The "progress" element should not be a form-associated element.
112 https://bugs.webkit.org/show_bug.cgi?id=80240
114 Reviewed by Kent Tamura.
116 This patch changes base class of HTMLProgressElement to LabelableElement from
117 HTMLFormControlElement for saving memory space and iteration time of
118 extra "progress" elements in HTMLFormElement::m_formAssociatedElements
119 and matching the HTML5 specification for ease of maintenance.
121 Changes of TextIterator is lead by usage of isFormControlElement. This
122 changes will be replaced with more meaningful predicate as part of
123 https://bugs.webkit.org/show_bug.cgi?id=80381
125 No new tests. Update existing tests to cover this change.
127 * css/CSSStyleSelector.cpp:
128 (WebCore::CSSStyleSelector::canShareStyleWithElement): Moved the "progress" element support code from canShareStyleWithControl.
129 (WebCore::CSSStyleSelector::canShareStyleWithControl):
130 * css/SelectorChecker.cpp:
131 (WebCore::SelectorChecker::checkOneSelector): Remove isFormControlElement check for PseudoIndeterminate.
132 * editing/TextIterator.cpp:
133 (WebCore::TextIterator::advance): Check HTMLProgressElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
134 * html/HTMLProgressElement.cpp: Remove unused include file.
135 (WebCore::HTMLProgressElement::HTMLProgressElement): Changed base class to LabelableElement.
136 (WebCore::HTMLProgressElement::create): Remove form paraprogress.
137 (WebCore::HTMLProgressElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement.
138 (WebCore::HTMLProgressElement::attach): Replace HTMLFormControlElement to LabelableElement.
139 * html/HTMLProgressElement.h:
140 (HTMLProgressElement):
141 * html/HTMLProgressElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
142 * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
144 2012-03-16 Ilya Tikhonovsky <loislo@chromium.org>
146 Web Inspector: Heap Snapshot: Unreviewed single line fix for isWindow getter.
148 * inspector/front-end/HeapSnapshot.js:
149 (WebInspector.HeapSnapshotNode.prototype.get isWindow):
151 2012-03-16 Tommy Widenflycht <tommyw@google.com>
153 MediaStream API (JSEP): Fixing a few nits
154 https://bugs.webkit.org/show_bug.cgi?id=81322
156 Reviewed by Adam Barth.
158 Addressing the nits from bugs 81206 and 81207.
162 * Modules/mediastream/SessionDescription.idl:
163 * platform/mediastream/IceOptions.h:
164 (WebCore::IceOptions::IceOptions):
165 * platform/mediastream/SessionDescriptionDescriptor.h:
166 (SessionDescriptionDescriptor):
168 2012-03-16 Peter Rybin <peter.rybin@gmail.com>
170 Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
171 https://bugs.webkit.org/show_bug.cgi?id=80789
173 Reviewed by Yury Semikhatsky.
175 OptOutput class is added for optional return parameters.
177 Strict mode added to Generator that makes all parameter types strict
178 and drop pre-set default values for return parameters.
180 Debugger and Page domain is switched to strict mode.
182 * inspector/CodeGeneratorInspector.py:
183 (CommandReturnPassModel.OptOutput):
184 (CommandReturnPassModel.OptOutput.__init__):
185 (CommandReturnPassModel.OptOutput.get_return_var_type):
186 (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
187 (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
188 (CommandReturnPassModel.OptOutput.get_output_parameter_type):
189 (CommandReturnPassModel):
190 (CommandReturnPassModel.OptOutput.get_set_return_condition):
191 (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
192 (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
194 (Generator.process_event):
195 (Generator.process_command):
196 * inspector/ContentSearchUtils.cpp:
197 (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
198 (WebCore::ContentSearchUtils::searchInTextByLines):
199 * inspector/ContentSearchUtils.h:
200 (ContentSearchUtils):
201 * inspector/InjectedScript.cpp:
202 (WebCore::InjectedScript::evaluate):
203 (WebCore::InjectedScript::callFunctionOn):
204 (WebCore::InjectedScript::evaluateOnCallFrame):
205 (WebCore::InjectedScript::makeEvalCall):
206 * inspector/InjectedScript.h:
208 * inspector/InspectorDOMDebuggerAgent.cpp:
209 (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
210 (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
211 (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
212 (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
213 (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
214 (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
215 * inspector/InspectorDebuggerAgent.cpp:
216 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
217 (WebCore::InspectorDebuggerAgent::setBreakpoint):
218 (WebCore::InspectorDebuggerAgent::searchInContent):
219 (WebCore::InspectorDebuggerAgent::setScriptSource):
220 (WebCore::InspectorDebuggerAgent::getFunctionDetails):
221 (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
222 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
223 (WebCore::InspectorDebuggerAgent::didPause):
224 (WebCore::InspectorDebuggerAgent::breakProgram):
225 (WebCore::InspectorDebuggerAgent::clearBreakDetails):
226 * inspector/InspectorDebuggerAgent.h:
227 (InspectorDebuggerAgent):
228 * inspector/InspectorPageAgent.cpp:
229 (WebCore::buildObjectForCookie):
230 (WebCore::buildArrayForCookies):
231 (WebCore::InspectorPageAgent::getCookies):
232 (WebCore::InspectorPageAgent::getResourceTree):
233 (WebCore::InspectorPageAgent::searchInResource):
234 (WebCore::InspectorPageAgent::searchInResources):
235 (WebCore::InspectorPageAgent::buildObjectForFrame):
236 (WebCore::InspectorPageAgent::buildObjectForFrameTree):
237 * inspector/InspectorPageAgent.h:
238 * inspector/InspectorRuntimeAgent.cpp:
239 (WebCore::InspectorRuntimeAgent::evaluate):
240 (WebCore::InspectorRuntimeAgent::callFunctionOn):
242 2012-03-16 Kentaro Hara <haraken@chromium.org>
244 The IDL parser should support sequence<T> type
245 https://bugs.webkit.org/show_bug.cgi?id=81345
247 Reviewed by Adam Barth.
249 This patch makes the IDL parser support sequence<T> type.
250 This patch just makes sequence<T> parseable, and the generated code
251 for sequence<T> is wrong. This issue will be soon fixed in bug 80696.
252 This is a preparing patch for bug 80696.
254 Test: bindings/scripts/test/TestObj.idl
256 * bindings/scripts/test/TestObj.idl: Added tests for sequence<T>.
258 * bindings/scripts/IDLStructure.pm: Updated the regular expressions to support sequence<T>.
260 * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
261 (WebDOMTestObj::sequenceAttr):
262 (WebDOMTestObj::setSequenceAttr):
263 (WebDOMTestObj::methodWithSequenceArg):
264 (WebDOMTestObj::methodReturningSequence):
265 * bindings/scripts/test/CPP/WebDOMTestObj.h:
266 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
267 (webkit_dom_test_obj_method_with_sequence_arg):
268 (webkit_dom_test_obj_method_returning_sequence):
269 (webkit_dom_test_obj_get_sequence_attr):
270 (webkit_dom_test_obj_set_sequence_attr):
271 (webkit_dom_test_obj_get_property):
272 (webkit_dom_test_obj_class_init):
273 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
274 * bindings/scripts/test/JS/JSTestObj.cpp:
276 (WebCore::jsTestObjSequenceAttr):
277 (WebCore::setJSTestObjSequenceAttr):
278 (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
279 (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
280 * bindings/scripts/test/JS/JSTestObj.h:
282 * bindings/scripts/test/ObjC/DOMTestObj.h:
283 * bindings/scripts/test/ObjC/DOMTestObj.mm:
284 (-[DOMTestObj sequenceAttr]):
285 (-[DOMTestObj setSequenceAttr:]):
286 (-[DOMTestObj methodWithSequenceArg:]):
287 (-[DOMTestObj methodReturningSequence:]):
288 * bindings/scripts/test/V8/V8TestObj.cpp:
289 (WebCore::TestObjInternal::sequenceAttrAttrGetter):
291 (WebCore::TestObjInternal::sequenceAttrAttrSetter):
292 (WebCore::TestObjInternal::methodWithSequenceArgCallback):
293 (WebCore::TestObjInternal::methodReturningSequenceCallback):
295 (WebCore::ConfigureV8TestObjTemplate):
297 2012-03-16 Ilya Tikhonovsky <loislo@chromium.org>
299 Web Inspector: HeapSnapshot: merge two long operations into one.
300 https://bugs.webkit.org/show_bug.cgi?id=81347
302 Reviewed by Yury Semikhatsky.
304 * inspector/front-end/HeapSnapshot.js:
305 (WebInspector.HeapSnapshot.prototype.aggregates):
306 (WebInspector.HeapSnapshot.prototype._buildAggregates):
307 (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):
309 2012-03-16 Gavin Peters <gavinp@chromium.org>
311 Add asserts and improve logging in PageCache.
312 https://bugs.webkit.org/show_bug.cgi?id=81179
314 Reviewed by Brady Eidson.
316 The early exits from logCanCacheFrameDecision had the potential to skew histogram data. Moving
317 the DocumentLoader check to the top, but eliminating the early exits is a compromise that keeps
318 the logged data mostly accurate.
320 * history/PageCache.cpp:
321 (WebCore::logCanCacheFrameDecision):
323 2012-03-16 Yoshifumi Inoue <yosin@chromium.org>
325 [Forms] label.form attribute doesn't work
326 https://bugs.webkit.org/show_bug.cgi?id=80499
328 Reviewed by Kent Tamura.
330 This patch changes implementation of label.form of IDL attribute to
331 compute it to the form element specified by the "form" HTML attribute
332 or form ancestor when the "form" HTML attribute isn't in HTML.
334 This patch introduces new function FormAssociatedElement::findAssociatedForm
335 for sharing code among FormAssociateElement::insertedIntoTree, resetFormOwner
336 and HTMLLabelElement::form.
338 No new tests. Update existing tests.
340 * html/FormAssociatedElement.cpp:
341 (WebCore::FormAssociatedElement::findAssociatedForm): Added.
343 (WebCore::FormAssociatedElement::insertedIntoTree):
344 (WebCore::FormAssociatedElement::resetFormOwner):
345 * html/FormAssociatedElement.h:
346 (FormAssociatedElement):
347 * html/HTMLLabelElement.cpp: Remove unused include files
348 (WebCore::HTMLLabelElement::form): Added.
350 2012-03-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
352 Use the normalize method of FloatPoint instead of normalizing manually
353 https://bugs.webkit.org/show_bug.cgi?id=81343
355 Reviewed by Simon Hausmann.
357 * platform/graphics/TiledBackingStore.cpp:
358 (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
359 (WebCore::TiledBackingStore::computeCoverAndKeepRect):
361 2012-03-16 Kentaro Hara <haraken@chromium.org>
363 Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl
364 https://bugs.webkit.org/show_bug.cgi?id=79636
366 Reviewed by Adam Barth.
368 For WebKit modularization, this patch moves Notifications-related APIs
369 from DOMWindow.idl to DOMWindowNotifications.idl.
371 Tests: fast/notifications/* (No change in test results)
373 * CMakeLists.txt: Added DOMWindowNotifications.{h,cpp,idl}.
374 * DerivedSources.make: Ditto.
375 * DerivedSources.pri: Ditto.
376 * GNUmakefile.list.am: Ditto.
378 * WebCore.gypi: Ditto.
379 * WebCore.vcproj/WebCore.vcproj: Ditto.
381 * WebCore.exp.in: Added mangled signatures of webkitNotifications().
383 * notifications/DOMWindowNotifications.cpp: Added.
385 (WebCore::DOMWindowNotifications::DOMWindowNotifications):
386 (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
387 (WebCore::DOMWindowNotifications::from):
388 (WebCore::DOMWindowNotifications::webkitNotifications):
389 (WebCore::DOMWindowNotifications::ensureWebkitNotifications):
390 (WebCore::DOMWindowNotifications::disconnectFrame):
391 * notifications/DOMWindowNotifications.h: Added.
393 (DOMWindowNotifications):
394 * notifications/DOMWindowNotifications.idl: Added.
396 * page/DOMWindow.cpp: Removed ENABLE(NOTIFICATIONS).
397 (WebCore::DOMWindow::~DOMWindow):
398 (WebCore::DOMWindow::willDetachPage):
399 (WebCore::DOMWindow::clear):
400 * page/DOMWindow.h: Ditto.
403 * page/DOMWindow.idl: Ditto.
404 * page/Frame.cpp: Ditto.
405 (WebCore::Frame::willDetachPage):
406 (WebCore::Frame::transferChildFrameToNewDocument):
408 2012-03-16 Kentaro Hara <haraken@chromium.org>
410 [Performance] Optimize innerHTML and outerHTML
411 https://bugs.webkit.org/show_bug.cgi?id=81214
413 Reviewed by Adam Barth.
415 This patch makes innerHTML and outerHTML 2.4 times faster.
417 Performance test: https://bugs.webkit.org/attachment.cgi?id=132034
418 The performance test measures body.innerHTML for 3000 lines of HTML,
419 which is copied from the HTML spec.
421 - Chromium/Mac without the patch
422 div.innerHTML: 1658.6 ms
423 div.outerHTML: 4859.6 ms
424 body.innerHTML: 640.2 ms
425 body.outerHTML: 641.8 ms
427 - Chromium/Mac with the patch
428 div.innerHTML: 751.0 ms
429 div.outerHTML: 2096.0 ms
430 body.innerHTML: 271.2 ms
431 body.outerHTML: 271.2 ms
433 - Chromium/Linux without the patch
434 div.innerHTML: 950.4 ms
435 div.outerHTML: 2257.8 ms
436 body.innerHTML: 452.8 ms
437 body.outerHTML: 457.6 ms
439 - Chromium/Linux with the patch
440 div.innerHTML: 582.4 ms
441 div.outerHTML: 1283.0 ms
442 body.innerHTML: 233.0 ms
443 body.outerHTML: 233.4 ms
445 - AppleWebKit/Mac without the patch
446 div.innerHTML: 900.6 ms
447 div.outerHTML: 2245.2 ms
448 body.innerHTML: 462.6 ms
449 body.outerHTML: 468.0 ms
451 - AppleWebKit/Mac with the patch
452 div.innerHTML: 529.8 ms
453 div.outerHTML: 1090.2 ms
454 body.innerHTML: 239.2 ms
455 body.outerHTML: 239.2 ms
457 This patch applies the following two optimizations:
459 (a) Remove redundant copies between Vector<String> and StringBuilders
460 in MarkupAccumulator::serializeNodes(), MarkupAccumulator::appendStartTag(),
461 and MarkupAccumulator::appendEndTag().
464 - Create a StringBuilder for each tag.
465 - Append a created string in each StringBuilder to Vector<String>,
466 parsing the DOM tree.
467 - After the parsing, allocate a StringBuilder whose size is the sum
468 of all Strings in Vector<String>.
469 - Append all Strings in Vector<String> to the StringBuilder.
471 - Allocate a StringBuilder with a default buffer size.
472 - Append created strings to the StringBuilder, incrementally parsing
475 (b) Optimize stringBuilder.append().
476 (b-1) Replace stringBuilder.append("A") with stringBuilder.append('A').
477 stringBuilder.append("A") requires to cast the characters to LChar*,
478 and then call strlen("A"). stringBuilder.append('A') is faster.
479 (b-2) Replace stringBuilder.append("AB") with stringBuilder.append('A')
480 and stringBuilder.append('B'). In my experiment, appending characters
481 one by one is faster than appending the characters at a breath if the
482 number of characters is less than 3.
483 (b-3) Hard-code a string length; i.e. replace stringBuilder.append("ABCDE")
484 with stringBuilder.append("ABCDE", 5). While the former requires to call
485 strlen("ABCDE"), the latter does not.
487 (a) improves performance by 170% ~ 200%. (b) improves performance by 30 ~ 40%.
489 Tests: fast/dom/Range/range-extract-contents.html
490 fast/dom/serialize-nodes.xhtml
491 fast/dom/XMLSerializer.html
492 and all other tests that use innerHTML or outerHTML.
493 No change in the test results.
495 * editing/MarkupAccumulator.cpp:
496 (WebCore::MarkupAccumulator::serializeNodes):
497 (WebCore::MarkupAccumulator::appendString):
498 (WebCore::MarkupAccumulator::appendStartTag):
499 (WebCore::MarkupAccumulator::appendEndTag):
500 (WebCore::MarkupAccumulator::concatenateMarkup):
501 (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
502 (WebCore::MarkupAccumulator::appendComment):
503 (WebCore::MarkupAccumulator::appendDocumentType):
504 (WebCore::MarkupAccumulator::appendProcessingInstruction):
505 (WebCore::MarkupAccumulator::appendOpenTag):
506 (WebCore::MarkupAccumulator::appendAttribute):
507 (WebCore::MarkupAccumulator::appendCDATASection):
508 * editing/MarkupAccumulator.h:
511 2012-03-16 Kihong Kwon <kihong.kwon@samsung.com>
513 Support for Battery Status API
514 https://bugs.webkit.org/show_bug.cgi?id=62698
516 Battery Status API is implemented under the Navigator class.
517 Battery Status API has four types of events, and all events are operated based on a callback mechanism.
518 : onchargingchange, onchargingtimechange, ondischargingtimechange, onlevelchange.
519 The battery status can be accessed using BatteryManager(navigator.webkitBattery), and battery status is controlled by BatteryController which manages instances of BatteryManager.
520 When battery status event is raised, BatteryController calls all registered BatteryManager's event dispatcher.
521 http://www.w3.org/TR/battery-status/
523 Reviewed by Adam Barth.
525 Tests: batterystatus/add-listener-from-callback.html
526 batterystatus/basic-all-types-of-events.html
527 batterystatus/basic-operation.html
528 batterystatus/event-after-navigation.html
529 batterystatus/multiple-frames.html
530 batterystatus/updates.html
531 batterystatus/window-property.html
534 * Modules/battery/BatteryClient.h: Added.
537 (WebCore::BatteryClient::~BatteryClient):
538 * Modules/battery/BatteryController.cpp: Added.
540 (WebCore::BatteryController::BatteryController):
541 (WebCore::BatteryController::~BatteryController):
542 (WebCore::BatteryController::create):
543 (WebCore::BatteryController::addListener):
544 (WebCore::BatteryController::removeListener):
545 (WebCore::BatteryController::didChangeBatteryStatus):
546 (WebCore::BatteryController::supplementName):
547 (WebCore::BatteryController::isActive):
548 (WebCore::provideBatteryTo):
549 * Modules/battery/BatteryController.h: Added.
552 (WebCore::BatteryController::client):
553 (WebCore::BatteryController::from):
554 * Modules/battery/BatteryManager.cpp: Added.
556 (WebCore::BatteryManager::create):
557 (WebCore::BatteryManager::~BatteryManager):
558 (WebCore::BatteryManager::BatteryManager):
559 (WebCore::BatteryManager::charging):
560 (WebCore::BatteryManager::chargingTime):
561 (WebCore::BatteryManager::dischargingTime):
562 (WebCore::BatteryManager::level):
563 (WebCore::BatteryManager::didChangeBatteryStatus):
564 (WebCore::BatteryManager::suspend):
565 (WebCore::BatteryManager::resume):
566 (WebCore::BatteryManager::stop):
567 * Modules/battery/BatteryManager.h: Added.
570 (WebCore::BatteryManager::interfaceName):
571 (WebCore::BatteryManager::scriptExecutionContext):
572 (WebCore::BatteryManager::batteryControllerDestroyed):
573 (WebCore::BatteryManager::canSuspend):
574 (WebCore::BatteryManager::eventTargetData):
575 (WebCore::BatteryManager::ensureEventTargetData):
576 (WebCore::BatteryManager::refEventTarget):
577 (WebCore::BatteryManager::derefEventTarget):
578 * Modules/battery/BatteryManager.idl: Added.
579 * Modules/battery/BatteryStatus.cpp: Added.
581 (WebCore::BatteryStatus::create):
582 (WebCore::BatteryStatus::BatteryStatus):
583 * Modules/battery/BatteryStatus.h: Added.
586 (WebCore::BatteryStatus::charging):
587 (WebCore::BatteryStatus::chargingTime):
588 (WebCore::BatteryStatus::dischargingTime):
589 (WebCore::BatteryStatus::level):
590 * Modules/battery/NavigatorBattery.cpp: Added.
592 (WebCore::NavigatorBattery::NavigatorBattery):
593 (WebCore::NavigatorBattery::~NavigatorBattery):
594 (WebCore::NavigatorBattery::webkitBattery):
595 (WebCore::NavigatorBattery::from):
596 (WebCore::NavigatorBattery::batteryManager):
597 * Modules/battery/NavigatorBattery.h: Added.
600 * Modules/battery/NavigatorBattery.idl: Added.
603 * dom/EventTargetFactory.in:
604 * testing/Internals.cpp:
605 (WebCore::Internals::setBatteryStatus):
607 * testing/Internals.h:
609 * testing/Internals.idl:
611 2012-03-16 Ilya Tikhonovsky <loislo@chromium.org>
613 Web Inspector: HeapSnapshot: speedup buildReverseIndex.
614 https://bugs.webkit.org/show_bug.cgi?id=81327
616 Reviewed by Yury Semikhatsky.
618 * inspector/front-end/HeapSnapshot.js:
619 (WebInspector.HeapSnapshot.prototype.get maxNodeId):
620 (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
621 (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
622 (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
623 (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
624 (WebInspector.HeapSnapshot.prototype):
626 2012-03-16 Sheriff Bot <webkit.review.bot@gmail.com>
628 Unreviewed, rolling out r110976.
629 http://trac.webkit.org/changeset/110976
630 https://bugs.webkit.org/show_bug.cgi?id=81330
632 webkit_unit_tests crashes. (Requested by morrita on #webkit).
634 * loader/cache/CachedCSSStyleSheet.cpp:
635 (WebCore::CachedCSSStyleSheet::error):
637 * loader/cache/CachedCSSStyleSheet.h:
638 (CachedCSSStyleSheet):
639 * loader/cache/CachedFont.cpp:
641 (WebCore::CachedFont::error):
642 * loader/cache/CachedFont.h:
644 * loader/cache/CachedImage.cpp:
645 (WebCore::CachedImage::error):
646 * loader/cache/CachedResource.h:
648 * loader/cache/CachedScript.cpp:
649 (WebCore::CachedScript::error):
651 * loader/cache/CachedScript.h:
653 * loader/cache/CachedXSLStyleSheet.cpp:
654 (WebCore::CachedXSLStyleSheet::error):
656 * loader/cache/CachedXSLStyleSheet.h:
657 (CachedXSLStyleSheet):
659 2012-03-16 Luke Macpherson <macpherson@chromium.org>
661 Implement cast between CSSPrimitiveValue and LineClampValue.
662 https://bugs.webkit.org/show_bug.cgi?id=76806
664 Reviewed by Andreas Kling.
666 Covered by many existing LayoutTests.
668 This simplifies code in CSSStyleSelector and future mapping to CSSStyleApplyProperty.
670 * css/CSSPrimitiveValueMappings.h:
671 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
672 (WebCore::CSSPrimitiveValue::operator LineClampValue):
673 * css/CSSStyleSelector.cpp:
674 (WebCore::CSSStyleSelector::applyProperty):
676 2012-03-16 Nat Duca <nduca@chromium.org>
678 [chromium] Bump textureUpdatesPerFrame to 32 to favor updating the screen over jank prevention
679 https://bugs.webkit.org/show_bug.cgi?id=81298
681 Reviewed by James Robinson.
683 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
686 2012-03-16 Levi Weintraub <leviw@chromium.org>
688 Update usage of LayoutUnits in RenderBlock*
689 https://bugs.webkit.org/show_bug.cgi?id=80437
691 Reviewed by Julien Chaffraix.
693 Updating LayoutUnit usage in RenderBlock and RenderBlockLineLayout. This better readies trunk for
694 the transition to subpixel layout.
696 See https://trac.webkit.org/wiki/LayoutUnit for more details.
698 No new tests. No changed behavior.
700 * rendering/InlineTextBox.cpp:
701 (WebCore::InlineTextBox::paint): Adding the paint offset rounding previously in RenderBlock::paint.
702 * rendering/LayoutTypes.h:
703 (WebCore::floorToInt): Will floor a LayoutUnit to an integer once we switch to
704 FractionalLayoutUnits.
705 (WebCore::boundedMultiply): Method that will return the multiplied result of two LayoutUnits
706 or the max/min LayoutUnit if the result overflows. Only does a regular multiply while
707 LayoutUnits are integers instead of FractionalLayoutUnits.
709 * rendering/RenderBlock.cpp:
710 (WebCore::RenderBlock::paintContents): Rounding the paintOffset here didn't work for all
711 inline blocks. This rounding is actually only needed for InlineTextBoxes, so the logic has
713 (WebCore::RenderBlock::newLine): Use a LayoutUnit for the y position.
714 (WebCore::RenderBlock::isPointInOverflowControl): Points for hit testing need to be rounded.
715 (WebCore::RenderBlock::layoutColumns): Using boundedMultiply for a calculation prone to overflow.
716 (WebCore::updatePreferredWidth): Reverting back to using ceilf. ceiledLayoutUnit was to be ultimately
717 converted to just a straight LayoutUnit constructor to preserve precision. This precision doesn't work
718 for us here as we still paint Boxes/Blocks on pixel boundaries, so we need to expand to a pixel size
719 that encloses the contained text.
720 (WebCore::RenderBlock::setPageLogicalOffset): LogicalOffset should be a LayoutUnit.
721 (WebCore::RenderBlock::marginValuesForChild): Margins should have subpixel resolution.
722 (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject): Intervals for floating objects
723 need to use pixel snapped values to give the proper results.
724 * rendering/RenderBlock.h:
725 (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Only moved.
726 (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine): While we can round the left offset,
727 columns add an extra offset at paint that can't currently be planned for at line-layout time. To
728 avoid laying out lines that run off the end of columns, we floor the right offset. The resulting
729 lines will be up to 1 pixel shorter than they potentially could be.
731 (WebCore::RenderBlock::FloatingObject::pixelSnappedX): Using corresponding pixelSnappedX value from
733 (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX): Ditto.
734 (WebCore::RenderBlock::FloatingObject::pixelSnappedY): Ditto.
735 (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY): Ditto.
736 (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth): Ditto.
737 (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight): Ditto.
738 * rendering/RenderBlockLineLayout.cpp:
739 (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): LogicalHeight is a LayoutUnit. Also
740 flooring textIndentOffset to an integer to match old behavior.
741 (WebCore::LineWidth::fitBelowFloats): Using LayoutUnits for float logical top and bottoms.
742 (WebCore::LineLayoutState::endLineLogicalTop): Changing to a LayoutUnit.
743 (WebCore::LineLayoutState::setEndLineLogicalTop): Ditto.
744 (LineLayoutState): Ditto.
745 (WebCore::RenderBlock::linkToEndLineIfNeeded): Calculating overflow with LayoutUnits.
746 (WebCore::RenderBlock::layoutInlineChildren): LowestAllowedPosition should be subpixel.
747 (WebCore::RenderBlock::checkLinesForTextOverflow): Reverting ellipsis width calculation to integers
748 as this value can be seen as representing pixels on screen.
750 2012-03-15 Kenneth Rohde Christiansen <kenneth@webkit.org>
752 Follow up to: window.innerWidth/Height should not include page scale
753 https://bugs.webkit.org/show_bug.cgi?id=76555
755 Reviewed by Simon Hausmann.
757 Introduce mapping methods for converting between CSS and layout units.
759 * page/DOMWindow.cpp:
760 (WebCore::DOMWindow::innerHeight):
761 (WebCore::DOMWindow::innerWidth):
762 (WebCore::DOMWindow::scrollX):
763 (WebCore::DOMWindow::scrollY):
764 (WebCore::DOMWindow::scrollTo):
767 (WebCore::FrameView::mapFromLayoutToCSSUnits):
769 (WebCore::FrameView::mapFromCSSToLayoutUnits):
771 2012-03-16 Ian Vollick <vollick@chromium.org>
773 [chromium] Threaded opacity animation jump to opacity of 0
774 https://bugs.webkit.org/show_bug.cgi?id=80744
776 Reviewed by James Robinson.
778 Tested in CCLayerTreeHostTestDoNotSkipLayersWithAnimatedOpacity
780 * platform/graphics/chromium/LayerChromium.cpp:
781 (WebCore::LayerChromium::LayerChromium):
782 (WebCore::LayerChromium::opacityIsAnimating):
784 (WebCore::LayerChromium::transformIsAnimating):
785 * platform/graphics/chromium/LayerChromium.h:
787 (WebCore::LayerChromium::drawOpacityIsAnimating):
788 (WebCore::LayerChromium::setDrawOpacityIsAnimating):
789 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
790 (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
791 * platform/graphics/chromium/RenderSurfaceChromium.h:
792 (WebCore::RenderSurfaceChromium::drawOpacityIsAnimating):
793 (WebCore::RenderSurfaceChromium::setDrawOpacityIsAnimating):
794 (RenderSurfaceChromium):
795 * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
796 (WebCore::CCLayerAnimationController::isAnimatingProperty):
798 * platform/graphics/chromium/cc/CCLayerAnimationController.h:
799 (CCLayerAnimationController):
800 * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
801 (WebCore::CCLayerAnimationControllerImpl::isAnimatingProperty):
803 * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
804 (CCLayerAnimationControllerImpl):
805 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
806 (WebCore::CCLayerImpl::CCLayerImpl):
807 (WebCore::CCLayerImpl::opacityIsAnimating):
809 (WebCore::CCLayerImpl::transformIsAnimating):
810 * platform/graphics/chromium/cc/CCLayerImpl.h:
812 (WebCore::CCLayerImpl::drawOpacityIsAnimating):
813 (WebCore::CCLayerImpl::setDrawOpacityIsAnimating):
814 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
815 (WebCore::CCLayerTreeHost::paintLayerContents):
816 (WebCore::CCLayerTreeHost::updateCompositorResources):
817 * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
818 (WebCore::layerShouldBeSkipped):
819 (WebCore::subtreeShouldBeSkipped):
821 (WebCore::LayerChromium):
822 (WebCore::calculateDrawTransformsAndVisibilityInternal):
823 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
824 (WebCore::CCRenderSurface::CCRenderSurface):
825 * platform/graphics/chromium/cc/CCRenderSurface.h:
826 (WebCore::CCRenderSurface::drawOpacityIsAnimating):
827 (WebCore::CCRenderSurface::setDrawOpacityIsAnimating):
830 2012-03-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
832 [TexMap] Reuse textures following the same rules as they do internally.
833 https://bugs.webkit.org/show_bug.cgi?id=80843
835 Reviewed by Noam Rosenthal.
837 BitmapTextures were recently changed to be the same size as their contents.
838 This would obsolete the logic in acquireTextureFromPool which would
839 assume that a BitmapTexture has good chances of being reused if its
840 size is bigger or equal to the new size.
842 This asks the texture instead if it can be reused which now simply
843 check for an exact size match.
845 * platform/graphics/texmap/TextureMapper.cpp:
846 (WebCore::TextureMapper::acquireTextureFromPool):
847 * platform/graphics/texmap/TextureMapper.h:
848 (WebCore::BitmapTexture::canReuseWith):
849 (WebCore::BitmapTexture::reset):
850 (WebCore::BitmapTexture::didReset):
851 * platform/graphics/texmap/TextureMapperGL.cpp:
852 (WebCore::BitmapTextureGL::canReuseWith):
854 * platform/graphics/texmap/TextureMapperGL.h:
857 2012-03-16 Robert Kroeger <rjkroege@chromium.org>
859 Connect up fling event delivery to gesture curve animation framework
860 https://bugs.webkit.org/show_bug.cgi?id=80858
862 Reviewed by Adam Barth.
864 * platform/ScrollAnimatorNone.cpp:
865 (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
867 2012-03-16 Nate Chapin <japhet@chromium.org>
869 Remove duplicate error() impls in CachedResource subclasses
870 https://bugs.webkit.org/show_bug.cgi?id=81161
872 Reviewed by Alexey Proskuryakov.
874 No new tests, refactor only.
876 * loader/cache/CachedCSSStyleSheet.cpp:
877 * loader/cache/CachedCSSStyleSheet.h:
878 * loader/cache/CachedFont.cpp:
879 * loader/cache/CachedFont.h:
880 * loader/cache/CachedImage.cpp:
881 * loader/cache/CachedResource.h: Make checkNotify()
882 virtual, so the right checkNotify() gets called in error().
883 * loader/cache/CachedScript.cpp:
884 * loader/cache/CachedScript.h:
885 * loader/cache/CachedXSLStyleSheet.cpp:
886 * loader/cache/CachedXSLStyleSheet.h:
888 2012-03-16 Dana Jansens <danakj@chromium.org>
890 [chromium] Changes to overdraw metrics to allow upload tracking
891 https://bugs.webkit.org/show_bug.cgi?id=81222
893 Reviewed by Adrienne Walker.
895 Stick CCOverdrawMetrics into CCOcclusionTracker, so that it is available
896 everywhere that culling/drawing/painting is going on. Then we can stop
897 plumbing a metrics object through CCQuadCuller.
899 Rename the CCOverdrawMetrics "painting" stuff to "uploading" as this will
900 measure texture uploads rather than pixels painted in main memory.
902 Covered by existing tests.
904 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
905 (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
906 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
907 (WebCore::::CCOcclusionTrackerBase):
908 * platform/graphics/chromium/cc/CCOcclusionTracker.h:
909 (CCOcclusionTrackerBase):
910 (WebCore::CCOcclusionTrackerBase::overdrawMetrics):
911 * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
912 (WebCore::CCOverdrawMetrics::didCull):
914 (WebCore::CCOverdrawMetrics::didDraw):
915 (WebCore::CCOverdrawMetrics::recordMetrics):
916 (WebCore::CCOverdrawMetrics::recordMetricsInternal):
917 * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
919 (WebCore::CCOverdrawMetrics::create):
921 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
922 (WebCore::CCQuadCuller::CCQuadCuller):
923 (WebCore::CCQuadCuller::append):
924 * platform/graphics/chromium/cc/CCQuadCuller.h:
926 * platform/graphics/chromium/cc/CCRenderPass.cpp:
927 (WebCore::CCRenderPass::appendQuadsForLayer):
928 * platform/graphics/chromium/cc/CCRenderPass.h:
932 2012-03-16 Greg Billock <gbillock@google.com>
934 Add TransferList IDL modifier, with support in V8 code gen.
935 https://bugs.webkit.org/show_bug.cgi?id=81127
937 Reviewed by Adam Barth.
939 * bindings/scripts/CodeGeneratorV8.pm:
940 (GenerateFunctionCallback):
942 (GenerateParametersCheck):
943 (GenerateConstructorCallback):
944 (GenerateNamedConstructorCallback):
945 (GenerateFunctionCallString):
946 * bindings/scripts/IDLAttributes.txt:
947 * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
948 (WebDOMTestSerializedScriptValueInterface::acceptTransferList):
949 * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
950 (WebDOMTestSerializedScriptValueInterface):
951 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
952 (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
953 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
954 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
955 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
956 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
958 (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertySlot):
959 (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertyDescriptor):
960 (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
961 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
962 (JSTestSerializedScriptValueInterfacePrototype):
964 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
965 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
966 (-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
967 * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
968 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
969 (WebCore::TestSerializedScriptValueInterfaceInternal::acceptTransferListCallback):
970 (TestSerializedScriptValueInterfaceInternal):
972 (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
973 (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
975 2012-03-16 Dana Jansens <danakj@chromium.org>
977 [chromium] Quads that become fully opaque after culling should not use blending
978 https://bugs.webkit.org/show_bug.cgi?id=81235
980 Reviewed by Adrienne Walker.
982 Unit test: CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers
984 * platform/graphics/chromium/cc/CCDrawQuad.h:
985 (WebCore::CCDrawQuad::needsBlending):
987 2012-03-16 Xiaomei Ji <xji@chromium.org>
989 Using ICU break iterator to simplify visual word movement implementation.
990 https://bugs.webkit.org/show_bug.cgi?id=78856
992 Reviewed by Ryosuke Niwa.
994 This patch relies on ICU word break iterator and cursor visual movement by character to get the word break
995 position in visual order. It reduces the complexity of old implementation.
997 Test: editing/selection/move-by-word-visually-wrong-left-right.html
999 * editing/FrameSelection.cpp: Exclude WinCE from visual word movement since isWordTextBreak is not implemented.
1000 (WebCore::FrameSelection::modifyMovingRight):
1001 (WebCore::FrameSelection::modifyMovingLeft):
1002 * editing/visible_units.cpp:
1004 (WebCore::previousLeafWithSameEditability): Just moving to the top without functionality change.
1005 (WebCore::enclosingNodeWithNonInlineRenderer): ditto.
1006 (WebCore::nextLeafWithSameEditability): ditto.
1007 (WebCore::previousRootInlineBox): return previous RootInlineBox which is in different renderer.
1008 (WebCore::nextRootInlineBox): return next RootInlineBox which is in different renderer.
1009 (WebCore::boxIndexInVector):
1010 (WebCore::previousBoxInLine): returns logically previous box in one line.
1011 (WebCore::logicallyPreviousBox): returns logically previous box.
1012 (WebCore::nextBoxInLine): returns logically next box in one line.
1013 (WebCore::logicallyNextBox): returns logically next box.
1014 (WebCore::wordBreakIteratorForMinOffsetBoundary): create word break iterator for position that is a box's min offset.
1015 (WebCore::wordBreakIteratorForMaxOffsetBoundary): create word break iterator for position that is a box's max offset.
1016 (WebCore::isLogicalStartOfWord): return whether a position is logically start of word.
1017 (WebCore::islogicalEndOfWord): return whether a position is logically end of word.
1018 (WebCore::visualWordPosition): returns the visual left or right word position.
1019 (WebCore::leftWordPosition):
1020 (WebCore::rightWordPosition):
1021 * platform/text/TextBreakIterator.h: Add isWordTextBreak().
1023 * platform/text/TextBreakIteratorICU.cpp:
1024 (WebCore::isWordTextBreak):
1026 * platform/text/gtk/TextBreakIteratorGtk.cpp:
1027 (WebCore::isWordTextBreak):
1029 * platform/text/qt/TextBreakIteratorQt.cpp:
1030 (WebCore::isWordTextBreak):
1032 * platform/text/wince/TextBreakIteratorWinCE.cpp:
1033 (WebCore::isWordTextBreak):
1036 2012-03-16 Dana Jansens <danakj@chromium.org>
1038 [chromium] Don't create a quad for video layers without a frame (avoid use of uninitialized m_format)
1039 https://bugs.webkit.org/show_bug.cgi?id=81250
1041 Reviewed by James Robinson.
1043 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1044 (WebCore::CCVideoLayerImpl::appendQuads):
1046 2012-03-16 Hajime Morrita <morrita@chromium.org>
1048 Unreviewed attempt to fix Chromium windows build.
1050 * Modules/speech/SpeechRecognition.h:
1051 (SpeechRecognition):
1053 2012-03-16 Mark Pilgrim <pilgrim@chromium.org>
1055 Move DOMWindowFileSystem to Modules/filesystem/
1056 https://bugs.webkit.org/show_bug.cgi?id=81030
1058 Reviewed by Adam Barth.
1060 No new tests, all existing tests pass.
1063 * DerivedSources.make:
1064 * DerivedSources.pri:
1066 * GNUmakefile.list.am:
1067 * Modules/filesystem/DOMWindowFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.cpp.
1068 * Modules/filesystem/DOMWindowFileSystem.h: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.h.
1069 * Modules/filesystem/DOMWindowFileSystem.idl: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.idl.
1071 * WebCore.gyp/WebCore.gyp:
1073 * WebCore.vcproj/WebCore.vcproj:
1074 * WebCore.vcproj/WebCoreCommon.vsprops:
1075 * WebCore.vcproj/copyForwardingHeaders.cmd:
1076 * fileapi/DOMWindowFileSystem.cpp: Removed.
1077 * fileapi/DOMWindowFileSystem.h: Removed.
1078 * fileapi/DOMWindowFileSystem.idl: Removed.
1080 2012-03-16 Sheriff Bot <webkit.review.bot@gmail.com>
1082 Unreviewed, rolling out r110951.
1083 http://trac.webkit.org/changeset/110951
1084 https://bugs.webkit.org/show_bug.cgi?id=81316
1086 Does not build on apple-mac (Requested by abarth on #webkit).
1088 * platform/audio/DynamicsCompressor.h:
1089 (DynamicsCompressor):
1090 * webaudio/DynamicsCompressorNode.cpp:
1091 (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
1092 (WebCore::DynamicsCompressorNode::process):
1093 * webaudio/DynamicsCompressorNode.h:
1094 (DynamicsCompressorNode):
1095 * webaudio/DynamicsCompressorNode.idl:
1097 2012-03-16 Seo Sanghyeon <sh4.seo@samsung.com>
1099 Cleanup empty attribute list in IDLs
1100 https://bugs.webkit.org/show_bug.cgi?id=81228
1102 Reviewed by Adam Barth.
1104 No tests. No change in behavior.
1106 * css/WebKitCSSRegionRule.idl:
1108 2012-03-16 Pratik Solanki <psolanki@apple.com>
1110 onorientationchange event should have JSWindowEventListener attribute
1111 https://bugs.webkit.org/show_bug.cgi?id=79513
1113 Reviewed by Kentaro Hara.
1115 * html/HTMLFrameSetElement.idl:
1117 2012-03-15 Gao Chun <chun.gao@intel.com>
1119 Expose attack, release as DynamicsCompressorNode's attributes.
1120 https://bugs.webkit.org/show_bug.cgi?id=81221
1122 Reviewed by Chris Rogers.
1124 Test: webaudio/dynamicscompressor-basic.html
1126 * platform/audio/DynamicsCompressor.h:
1127 (DynamicsCompressor):
1128 * webaudio/DynamicsCompressorNode.cpp:
1129 (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
1130 (WebCore::DynamicsCompressorNode::process):
1131 * webaudio/DynamicsCompressorNode.h:
1132 (WebCore::DynamicsCompressorNode::attack):
1133 (WebCore::DynamicsCompressorNode::release):
1134 (DynamicsCompressorNode):
1135 * webaudio/DynamicsCompressorNode.idl:
1137 2012-03-15 Hans Wennborg <hans@chromium.org>
1139 Speech JavaScript API: SpeechRecognition, Controller and Client
1140 https://bugs.webkit.org/show_bug.cgi?id=81096
1142 Reviewed by Adam Barth.
1144 Add implementation stub for SpeechRecognition. Add the
1145 SpeechRecognitionController class and SpeechRecognitionClient
1148 Test: fast/speech/scripted/basics.html
1150 * Modules/speech/DOMWindowSpeech.idl:
1151 * Modules/speech/SpeechRecognition.cpp: Added.
1153 (WebCore::SpeechRecognition::create):
1154 (WebCore::SpeechRecognition::start):
1155 (WebCore::SpeechRecognition::stopFunction):
1156 (WebCore::SpeechRecognition::abort):
1157 (WebCore::SpeechRecognition::audioStartCallback):
1158 (WebCore::SpeechRecognition::soundStartCallback):
1159 (WebCore::SpeechRecognition::speechStartCallback):
1160 (WebCore::SpeechRecognition::speechEndCallback):
1161 (WebCore::SpeechRecognition::audioEndCallback):
1162 (WebCore::SpeechRecognition::resultCallback):
1163 (WebCore::SpeechRecognition::noMatchCallback):
1164 (WebCore::SpeechRecognition::resultDeletedCallback):
1165 (WebCore::SpeechRecognition::errorCallback):
1166 (WebCore::SpeechRecognition::startCallback):
1167 (WebCore::SpeechRecognition::endCallback):
1168 (WebCore::SpeechRecognition::interfaceName):
1169 (WebCore::SpeechRecognition::scriptExecutionContext):
1170 (WebCore::SpeechRecognition::SpeechRecognition):
1171 (WebCore::SpeechRecognition::~SpeechRecognition):
1172 * Modules/speech/SpeechRecognition.h: Added.
1174 (SpeechRecognition):
1175 (WebCore::SpeechRecognition::grammars):
1176 (WebCore::SpeechRecognition::setGrammars):
1177 (WebCore::SpeechRecognition::lang):
1178 (WebCore::SpeechRecognition::setLang):
1179 (WebCore::SpeechRecognition::continuous):
1180 (WebCore::SpeechRecognition::setContinuous):
1181 * Modules/speech/SpeechRecognition.idl:
1182 * Modules/speech/SpeechRecognitionClient.h:
1184 (SpeechRecognitionClient):
1185 (WebCore::SpeechRecognitionClient::~SpeechRecognitionClient):
1186 * Modules/speech/SpeechRecognitionController.cpp:
1188 (WebCore::SpeechRecognitionController::supplementName):
1189 (WebCore::SpeechRecognitionController::SpeechRecognitionController):
1190 (WebCore::SpeechRecognitionController::~SpeechRecognitionController):
1191 (WebCore::SpeechRecognitionController::create):
1192 (WebCore::provideSpeechRecognitionTo):
1193 * Modules/speech/SpeechRecognitionController.h: Added.
1195 (SpeechRecognitionController):
1196 (WebCore::SpeechRecognitionController::start):
1197 (WebCore::SpeechRecognitionController::stop):
1198 (WebCore::SpeechRecognitionController::abort):
1199 (WebCore::SpeechRecognitionController::visibilityHidden):
1200 (WebCore::SpeechRecognitionController::unregisterSpeechRecognition):
1201 (WebCore::SpeechRecognitionController::from):
1203 * dom/EventTargetFactory.in:
1205 2012-03-15 Michal Ciepielski <m.ciepielski@samsung.com>
1207 [EFL] Sets alpha channel for new buffers.
1208 https://bugs.webkit.org/show_bug.cgi?id=77101
1210 Reviewed by Hajime Morita.
1214 By default EFL creates buffers without alpha channel.
1215 This causes improper rendering of HTML controls (i.e. radio buttons, checkboxes).
1216 This commits sets alpha channel for all newly created buffers by EFL.
1218 * platform/efl/RenderThemeEfl.cpp:
1219 (WebCore::RenderThemeEfl::cacheThemePartNew):
1221 2012-03-15 Sheriff Bot <webkit.review.bot@gmail.com>
1223 Unreviewed, rolling out r110941.
1224 http://trac.webkit.org/changeset/110941
1225 https://bugs.webkit.org/show_bug.cgi?id=81307
1227 the revert looks innocent. (Requested by morrita on #webkit).
1229 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1230 (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1231 * platform/graphics/chromium/Canvas2DLayerChromium.h:
1232 (Canvas2DLayerChromium):
1233 * platform/graphics/chromium/ContentLayerChromium.cpp:
1234 (WebCore::ContentLayerChromium::paintContentsIfDirty):
1235 (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1236 * platform/graphics/chromium/ContentLayerChromium.h:
1238 (ContentLayerChromium):
1239 * platform/graphics/chromium/ImageLayerChromium.cpp:
1240 (WebCore::ImageLayerChromium::paintContentsIfDirty):
1241 * platform/graphics/chromium/ImageLayerChromium.h:
1243 (ImageLayerChromium):
1244 * platform/graphics/chromium/LayerChromium.h:
1245 (WebCore::LayerChromium::paintContentsIfDirty):
1246 (WebCore::LayerChromium::idlePaintContentsIfDirty):
1247 * platform/graphics/chromium/TiledLayerChromium.cpp:
1248 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1249 (WebCore::TiledLayerChromium::prepareToUpdate):
1250 (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1251 * platform/graphics/chromium/TiledLayerChromium.h:
1252 (TiledLayerChromium):
1253 * platform/graphics/chromium/WebGLLayerChromium.cpp:
1254 (WebCore::WebGLLayerChromium::paintContentsIfDirty):
1255 * platform/graphics/chromium/WebGLLayerChromium.h:
1256 (WebGLLayerChromium):
1257 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1258 (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1259 (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1260 (WebCore::CCLayerTreeHost::paintLayerContents):
1261 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1263 2012-03-15 Tommy Widenflycht <tommyw@google.com>
1265 MediaStream API (JSEP): Introducing SessionDescription
1266 https://bugs.webkit.org/show_bug.cgi?id=81206
1268 Reviewed by Adam Barth.
1270 Patch #3 in a series of patches to change the PeerConnection from ROAP to JSEP,
1271 see bug 80589 for more information.
1272 Adding the SessionDescription JS object and its platform counterpart SessionDescriptionDescriptor.
1274 Not possible to test until the entire JSEP feature is commited.
1276 * GNUmakefile.list.am:
1277 * Modules/mediastream/SessionDescription.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1279 (WebCore::SessionDescription::create):
1280 (WebCore::SessionDescription::SessionDescription):
1281 (WebCore::SessionDescription::~SessionDescription):
1282 (WebCore::SessionDescription::addCandidate):
1283 (WebCore::SessionDescription::toSdp):
1284 (WebCore::SessionDescription::descriptor):
1285 * Modules/mediastream/SessionDescription.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1287 (SessionDescription):
1288 * Modules/mediastream/SessionDescription.idl: Added.
1290 * platform/mediastream/MediaStreamCenter.cpp:
1291 (WebCore::MediaStreamCenter::constructSdp):
1293 * platform/mediastream/MediaStreamCenter.h:
1295 (MediaStreamCenter):
1296 * platform/mediastream/SessionDescriptionDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1298 (WebCore::SessionDescriptionDescriptor::create):
1299 (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
1300 (WebCore::SessionDescriptionDescriptor::~SessionDescriptionDescriptor):
1301 (WebCore::SessionDescriptionDescriptor::addCandidate):
1302 (WebCore::SessionDescriptionDescriptor::toSdp):
1303 (WebCore::SessionDescriptionDescriptor::numberOfAddedCandidates):
1304 (WebCore::SessionDescriptionDescriptor::candidate):
1305 (WebCore::SessionDescriptionDescriptor::initialSdp):
1306 * platform/mediastream/SessionDescriptionDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
1308 (SessionDescriptionDescriptor):
1310 2012-03-15 Sheriff Bot <webkit.review.bot@gmail.com>
1312 Unreviewed, rolling out r110929.
1313 http://trac.webkit.org/changeset/110929
1314 https://bugs.webkit.org/show_bug.cgi?id=81306
1316 breaking webkit_unit_tests (Requested by morrita on #webkit).
1318 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1319 (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1320 * platform/graphics/chromium/Canvas2DLayerChromium.h:
1321 (Canvas2DLayerChromium):
1322 * platform/graphics/chromium/ContentLayerChromium.cpp:
1323 (WebCore::ContentLayerChromium::paintContentsIfDirty):
1324 (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1325 * platform/graphics/chromium/ContentLayerChromium.h:
1327 (ContentLayerChromium):
1328 * platform/graphics/chromium/ImageLayerChromium.cpp:
1329 (WebCore::ImageLayerChromium::paintContentsIfDirty):
1330 * platform/graphics/chromium/ImageLayerChromium.h:
1332 (ImageLayerChromium):
1333 * platform/graphics/chromium/LayerChromium.h:
1334 (WebCore::LayerChromium::paintContentsIfDirty):
1335 (WebCore::LayerChromium::idlePaintContentsIfDirty):
1336 * platform/graphics/chromium/TiledLayerChromium.cpp:
1338 (WebCore::contentToLayerTransform):
1339 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1340 (WebCore::TiledLayerChromium::prepareToUpdate):
1341 (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1342 * platform/graphics/chromium/TiledLayerChromium.h:
1344 (TiledLayerChromium):
1345 * platform/graphics/chromium/WebGLLayerChromium.cpp:
1346 (WebCore::WebGLLayerChromium::paintContentsIfDirty):
1347 * platform/graphics/chromium/WebGLLayerChromium.h:
1348 (WebGLLayerChromium):
1349 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1350 (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1351 (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1352 (WebCore::CCLayerTreeHost::paintLayerContents):
1353 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1355 2012-03-15 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1357 REGRESSION(r106232): The resize handler is always called after loading.
1358 https://bugs.webkit.org/show_bug.cgi?id=80242
1360 Reviewed by Kenneth Rohde Christiansen.
1362 Ensure resize-events are not emitted when layout-size changes due to added
1363 scrollbars. For fixed layout, scrollbars are never subtracted or added, so
1364 we can compare fixedLayoutSize directly. For normal layout, use the full
1365 visible rect size which is the same as layout size plus scrollbars.
1367 Test: fast/events/resize-events.html
1369 * page/FrameView.cpp:
1370 (WebCore::FrameView::reset):
1371 (WebCore::FrameView::layout):
1372 (WebCore::FrameView::performPostLayoutTasks):
1376 2012-03-15 Tommy Widenflycht <tommyw@google.com>
1378 MediaStream API (JSEP): Introducing MediaHints and IceOptions
1379 https://bugs.webkit.org/show_bug.cgi?id=81207
1381 Reviewed by Adam Barth.
1383 Patch #4 in a series of patches to change the PeerConnection from ROAP to JSEP,
1384 see bug 80589 for more information.
1385 Introducing the platform MediaHints and IceOptions helper classes.
1387 Not possible to test until the entire JSEP feature is commited.
1389 * GNUmakefile.list.am:
1391 * platform/mediastream/IceOptions.cpp: Added.
1393 (WebCore::IceOptions::create):
1394 * platform/mediastream/IceOptions.h: Added.
1397 (WebCore::IceOptions::~IceOptions):
1398 (WebCore::IceOptions::useCandidates):
1399 (WebCore::IceOptions::IceOptions):
1400 * platform/mediastream/MediaHints.cpp: Added.
1402 (WebCore::MediaHints::create):
1403 (WebCore::MediaHints::audio):
1404 (WebCore::MediaHints::video):
1405 * platform/mediastream/MediaHints.h: Added.
1408 (WebCore::MediaHints::~MediaHints):
1409 (WebCore::MediaHints::MediaHints):
1411 2012-03-15 Shinya Kawanaka <shinyak@chromium.org>
1413 [Crash] Adding <content> into a ShadowRoot causes crash.
1414 https://bugs.webkit.org/show_bug.cgi?id=80020
1416 Reviewed by Hajime Morita.
1418 The problem is <content> tries to select host children though it is not prepared.
1419 Since populating host children for insertion points is performed just before
1420 attaching a shadow tree, we should recalculate whole shadow tree if <content> is
1421 appended as a child.
1423 However, element->appendChild() does not know the element is in a shadow tree or not.
1424 We have to ensure reattaching whole shadow tree here.
1426 So this patch adds some phases to HTMLContentSelector so that we can check node
1427 distribution algorihm is begin processed or not. If not we cannot select anything,
1428 but we have to enable a flag to reattach whole shadow tree.
1430 Tests: fast/dom/shadow/shadow-content-crash-expected.html
1431 fast/dom/shadow/shadow-content-crash.html
1433 * dom/ShadowTree.cpp:
1434 (WebCore::ShadowTree::attach):
1435 (WebCore::ShadowTree::insertionPointFor):
1439 (WebCore::ShadowTree::selector):
1440 * html/shadow/HTMLContentSelector.cpp:
1441 (WebCore::HTMLContentSelector::HTMLContentSelector):
1442 (WebCore::HTMLContentSelector::select):
1443 (WebCore::HTMLContentSelector::willSelect):
1445 (WebCore::HTMLContentSelector::didSelect):
1446 (WebCore::HTMLContentSelector::populateIfNecessary):
1447 * html/shadow/HTMLContentSelector.h:
1448 (HTMLContentSelector):
1449 (WebCore::HTMLContentSelector::isSelecting):
1451 (WebCore::HTMLContentSelector::hasPopulated):
1452 * html/shadow/InsertionPoint.cpp:
1453 (WebCore::InsertionPoint::distributeHostChildren):
1454 (WebCore::InsertionPoint::clearDistribution):
1456 2012-03-15 Mike Lawther <mikelawther@chromium.org>
1458 CSS3 calc: mixed percent/absolute expressions for gradients
1459 https://bugs.webkit.org/show_bug.cgi?id=81182
1461 Reviewed by Ojan Vafai.
1463 * css/CSSGradientValue.cpp:
1464 (WebCore::CSSGradientValue::addStops):
1465 (WebCore::positionFromValue):
1467 2012-03-15 Leo Yang <leo.yang@torchmobile.com.cn>
1469 [BlackBerry] Sync up MIMETypeRegistry.cpp
1470 https://bugs.webkit.org/show_bug.cgi?id=81191
1472 Reviewed by Rob Buis.
1474 Add png and jpeg to supportedImageMIMETypesForEncoding for BlackBerry.
1476 * platform/MIMETypeRegistry.cpp:
1477 (WebCore::initializeSupportedImageMIMETypesForEncoding):
1479 2012-03-15 Dana Jansens <danakj@chromium.org>
1481 [chromium] Decide occlusion in paint culling with CCOcclusionTracker
1482 https://bugs.webkit.org/show_bug.cgi?id=81181
1484 Reviewed by Adrienne Walker.
1486 Plumb a CCOcclusionTracker* around instead of a bare Region, so that it
1487 can make a more informed decision if a tile is occluded or not during
1490 Covered by existing tests.
1492 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1493 (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1494 * platform/graphics/chromium/Canvas2DLayerChromium.h:
1495 (Canvas2DLayerChromium):
1496 * platform/graphics/chromium/ContentLayerChromium.cpp:
1497 (WebCore::ContentLayerChromium::paintContentsIfDirty):
1498 (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1499 * platform/graphics/chromium/ContentLayerChromium.h:
1501 (ContentLayerChromium):
1502 * platform/graphics/chromium/ImageLayerChromium.cpp:
1503 (WebCore::ImageLayerChromium::paintContentsIfDirty):
1504 * platform/graphics/chromium/ImageLayerChromium.h:
1506 (ImageLayerChromium):
1507 * platform/graphics/chromium/LayerChromium.h:
1508 (WebCore::LayerChromium::paintContentsIfDirty):
1509 (WebCore::LayerChromium::idlePaintContentsIfDirty):
1510 * platform/graphics/chromium/TiledLayerChromium.cpp:
1511 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1512 (WebCore::TiledLayerChromium::prepareToUpdate):
1513 (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1514 * platform/graphics/chromium/TiledLayerChromium.h:
1515 (TiledLayerChromium):
1516 * platform/graphics/chromium/WebGLLayerChromium.cpp:
1517 (WebCore::WebGLLayerChromium::paintContentsIfDirty):
1518 * platform/graphics/chromium/WebGLLayerChromium.h:
1519 (WebGLLayerChromium):
1520 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1521 (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1522 (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1523 (WebCore::CCLayerTreeHost::paintLayerContents):
1524 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1526 2012-03-15 Yoshifumi Inoue <yosin@chromium.org>
1528 [Forms] The "meter" element should not be a form-associated element.
1529 https://bugs.webkit.org/show_bug.cgi?id=80380
1531 Reviewed by Kent Tamura.
1533 This patch changes base class of HTMLMeterElement to LabelableElement from
1534 HTMLFormControlElement for saving memory space and iteration time of
1535 extra "meter" elements in HTMLFormElement::m_formAssociatedElements
1536 and matching the HTML5 specification for ease of maintenance.
1538 This patch renames isLabelable method to supportLabels and makes isLabelable
1539 as predicate of an instance of LabelableElement or not.
1541 Changes of TextIterator is lead by usage of isFormControlElement. This
1542 changes will be replaced with more meaningful predicate as part of
1543 https://bugs.webkit.org/show_bug.cgi?id=80381
1545 No new tests. Update existing tests to cover this change.
1547 * editing/TextIterator.cpp:
1548 (WebCore::TextIterator::advance): Check HTMLMeterElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
1549 * html/HTMLButton.h:
1550 (WebCore::HTMLButtonElement::supportLabels): Renamed from isLabelable
1551 * html/HTMLElement.h:
1552 (WebCore::HTMLElement::isLabelable): Added. A predicate for an instance of LabelableElement.
1553 * html/HTMLInputElement.h:
1554 (WebCore::HTMLInputElement::supportLabels): Renamed from isLabelable
1555 * html/HTMLKeygenElement.h:
1556 (WebCore::HTMLKeygenElement::supportLabels): Renamed from isLabelable
1557 * html/HTMLLabelElement.cpp:
1558 (WebCore::nodeAsLabelableElement): Changed to return LabelableElement instead of HTMLFormControlElement.
1559 (WebCore::HTMLLabelElement::control): Changed to return LabelableElement instead of HTMLFormControlElement.
1560 * html/HTMLLabelElement.h:
1562 * html/HTMLMeterElement.cpp:
1563 (WebCore::HTMLMeterElement::HTMLMeterElement): Changed base class to LabelableElement.
1564 (WebCore::HTMLMeterElement::create): Remove form parameter.
1565 (WebCore::HTMLMeterElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
1566 (WebCore::HTMLMeterElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement
1567 (WebCore::HTMLMeterElement::attach): Replace HTMLFormControlElement to LabelableElement
1568 * html/HTMLMeterElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
1569 * html/HTMLMeterElement.h:
1571 (WebCore::HTMLMeterElement::supportLabels): Renamed from isLabelable
1572 * html/HTMLOutputElement.h:
1573 (WebCore::HTMLOutputElement::supportLabels): Renamed from isLabelable
1574 * html/HTMLProgressElement.h:
1575 (WebCore::HTMLProgressElement::supportLabels): Renamed from isLabelable
1576 * html/HTMLSelectElement.h:
1577 (WebCore::HTMLSelectElement::supportLabels): Renamed from isLabelable
1578 * html/HTMLTextAreaElement.h:
1579 (WebCore::HTMLTextAreaElement::supportLabels): Renamed from isLabelable
1580 * html/HiddenInputType.h:
1581 (WebCore::HiddenInputType::supportLabels): Renamed from isLabelable
1583 (WebCore::InputType::supportLabels): Renamed from isLabelable
1584 * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
1585 * html/LabelableElement.cpp:
1586 (WebCore::LabelableElement::labels): Replace isLabelable to supportLabels
1587 * html/LabelableElement.h:
1590 2012-03-15 Adam Klein <adamk@chromium.org>
1592 REGRESSION(r103452): 100% CPU usage and 5s pause after clicking on a link in Yahoo Mail
1593 https://bugs.webkit.org/show_bug.cgi?id=81141
1595 Reviewed by Ojan Vafai.
1597 Revert the behavior change from r103452: don't fire DOMSubtreeModified
1598 events when an attribute value merely changes. Still fire that event
1599 when an attribute is added or removed from an element.
1601 Though this contradicts the DOM3 spec, it matches legacy WebKit behavior,
1602 and given that Mutation Events are deprecated, it seems unwise to make
1603 any additions to WebKit's implementation of them.
1605 Test: fast/dom/subtree-modified-attributes.html
1608 (WebCore::Element::didAddAttribute): Renamed from didModifyAttribute.
1609 (WebCore::Element::didModifyAttribute): Remove the call to dispatchSubtreeModifiedEvent.
1613 * dom/ElementAttributeData.cpp:
1614 (WebCore::ElementAttributeData::addAttribute): Call didAddAttribute instead of didModifyAttribute.
1616 2012-03-15 Dana Jansens <danakj@chromium.org>
1618 [chromium] Move overdraw metrics into a templated class for both paint and draw metrics.
1619 https://bugs.webkit.org/show_bug.cgi?id=81156
1621 Reviewed by Adrienne Walker.
1623 Creates CCOverdrawMetrics which can be called to inform it about
1624 draws/paints. At the end of the frame, the CCOverdrawMetrics
1625 recordMetrics() method will put its data into histograms, a
1626 TRACE_COUNTER for culling information, and a TRACE_EVENT for details
1627 about the number of opaque/translucent pixels.
1629 Covered by existing tests.
1632 * platform/chromium/TraceEvent.h:
1634 (WebCore::TraceEvent::addTraceEvent):
1635 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1636 (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1637 * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: Added.
1639 (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
1640 (WebCore::wedgeProduct):
1641 (WebCore::quadArea):
1642 (WebCore::CCOverdrawMetrics::didDraw):
1643 (WebCore::CCOverdrawMetrics::recordMetrics):
1644 (WebCore::CCOverdrawMetrics::recordMetricsInternal):
1645 * platform/graphics/chromium/cc/CCOverdrawMetrics.h: Added.
1647 (CCOverdrawMetrics):
1648 (WebCore::CCOverdrawMetrics::pixelsDrawnOpaque):
1649 (WebCore::CCOverdrawMetrics::pixelsDrawnTranslucent):
1650 (WebCore::CCOverdrawMetrics::pixelsCulled):
1651 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1652 (WebCore::CCQuadCuller::CCQuadCuller):
1653 (WebCore::CCQuadCuller::append):
1654 * platform/graphics/chromium/cc/CCQuadCuller.h:
1657 * platform/graphics/chromium/cc/CCRenderPass.cpp:
1658 (WebCore::CCRenderPass::appendQuadsForLayer):
1659 * platform/graphics/chromium/cc/CCRenderPass.h:
1663 2012-03-15 James Robinson <jamesr@chromium.org>
1665 [chromium] RateLimiter should hold a reference to its context
1666 https://bugs.webkit.org/show_bug.cgi?id=80761
1668 Reviewed by Stephen White.
1670 * platform/graphics/chromium/RateLimiter.h:
1673 2012-03-15 Adam Klein <adamk@chromium.org>
1675 Share code in FormAssociatedElement by resetting the form owner whenever insertedIntoTree is called
1676 https://bugs.webkit.org/show_bug.cgi?id=81160
1678 Reviewed by Kent Tamura.
1680 The only difference between the previous insertedIntoTree method and
1681 resetFormOwner was a missing element->inDocument() check in the
1682 former. But that check is actually important, as seen by the included test case.
1684 Test: fast/forms/form-attribute-not-in-document.html
1686 * html/FormAssociatedElement.cpp:
1687 (WebCore::FormAssociatedElement::insertedIntoTree):
1689 2012-03-15 Kentaro Hara <haraken@chromium.org>
1691 [Refactoring] Rename StringBuilder variables in MarkupAccumulator.{h,cpp}
1692 https://bugs.webkit.org/show_bug.cgi?id=81288
1694 Reviewed by Adam Barth.
1696 This is a refactoring for fixing bug 81214. Currently MarkupAccumulator mixes
1697 'out' and 'result' for variable names of StringBuilder. This patch unifies them
1700 No tests. No change in behavior.
1702 * editing/MarkupAccumulator.cpp: Renamed 'out' to 'result'.
1703 (WebCore::appendCharactersReplacingEntities):
1704 (WebCore::MarkupAccumulator::serializeNodes): Renamed 'node' to 'targetNode' for clarification
1705 (and for avoiding style check error in MarkupAccumulator.h).
1706 (WebCore::MarkupAccumulator::concatenateMarkup):
1707 (WebCore::MarkupAccumulator::appendNodeValue):
1708 (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
1709 (WebCore::MarkupAccumulator::appendNamespace):
1710 (WebCore::MarkupAccumulator::entityMaskForText):
1711 (WebCore::MarkupAccumulator::appendText):
1712 (WebCore::MarkupAccumulator::appendComment):
1713 (WebCore::MarkupAccumulator::appendProcessingInstruction):
1714 (WebCore::MarkupAccumulator::appendElement):
1715 (WebCore::MarkupAccumulator::appendOpenTag):
1716 (WebCore::MarkupAccumulator::appendCloseTag):
1717 (WebCore::MarkupAccumulator::appendAttribute):
1718 (WebCore::MarkupAccumulator::appendCDATASection):
1719 (WebCore::MarkupAccumulator::elementCannotHaveEndTag):
1720 * editing/MarkupAccumulator.h: Removed redundant variable names.
1721 (MarkupAccumulator):
1724 2012-03-15 Brent Fulgham <bfulgham@webkit.org>
1726 [WinCairo] Correct <wtf/*.h> include paths.
1727 https://bugs.webkit.org/show_bug.cgi?id=81278
1729 Reviewed by Eric Seidel.
1731 Modify the #include declarations for several Cairo-related files
1732 so that the wtf types are included using the full path.
1734 * platform/graphics/FontPlatformData.h:
1735 * platform/graphics/cairo/OwnPtrCairo.h:
1736 * platform/graphics/cairo/RefPtrCairo.h:
1738 2012-03-15 Anders Carlsson <andersca@apple.com>
1740 only some tiles rendered when zoomed in
1741 https://bugs.webkit.org/show_bug.cgi?id=81282
1742 <rdar://problem/11058898>
1744 Reviewed by Andreas Kling.
1746 * platform/graphics/ca/mac/TileCache.mm:
1747 (WebCore::TileCache::rectForTileIndex):
1748 Make sure that the tile cache bounds are scaled accordingly.
1750 2012-03-15 Zeno Albisser <zeno@webkit.org>
1752 [Qt] RenderThemeQt::fileListNameForWidth should override function in base class RenderTheme. (r110560)
1753 https://bugs.webkit.org/show_bug.cgi?id=81107
1755 Add "bool multipleFilesAllowed" to the parameter list of RenderThemeQt::fileListNameForWidth.
1756 This way the base class function is properly overridden.
1757 The need for this change became obvious after r110560 where the OVERRIDE keyword had been
1758 added to the function signature.
1760 Reviewed by Simon Hausmann.
1762 * platform/qt/RenderThemeQt.cpp:
1763 (WebCore::RenderThemeQt::fileListNameForWidth):
1764 * platform/qt/RenderThemeQt.h:
1767 2012-03-07 Jon Lee <jonlee@apple.com>
1769 Move NotificationContents into Notification
1770 https://bugs.webkit.org/show_bug.cgi?id=80487
1771 <rdar://problem/10965519>
1773 Reviewed by Jian Li.
1775 * notifications/Notification.cpp: Alter signature of constructor to take the fields directly instead of
1776 a NotificationContents instance.
1777 (WebCore::Notification::Notification): Derive KURL from string representation of icon.
1778 (WebCore::Notification::create):
1779 * notifications/Notification.h:
1780 (Notification): Remove contents() accessor and replace with get for title and body. iconURL()
1781 already existed, but use local variable instead of going through NotificationContents.
1782 (WebCore::Notification::iconURL):
1783 (WebCore::Notification::title):
1784 (WebCore::Notification::body):
1785 * notifications/NotificationCenter.h:
1786 (WebCore::NotificationCenter::createNotification): Refactor to use new constructor.
1787 * notifications/NotificationContents.h: Removed.
1789 Remove NotificationContents.h from project files
1790 * GNUmakefile.list.am:
1793 * WebCore.vcproj/WebCore.vcproj:
1794 * WebCore.xcodeproj/project.pbxproj:
1796 2012-03-13 Jon Lee <jonlee@apple.com>
1798 Deprecate ondisplay()
1799 https://bugs.webkit.org/show_bug.cgi?id=80483
1800 <rdar://problem/10912432>
1802 Reviewed by Jian Li.
1804 The appropriate event listener for notifications is onshow().
1806 * notifications/Notification.h: Wrap ondisplay in ENABLE(LEGACY_NOTIFICATIONS).
1807 * notifications/Notification.idl: Wrap ondisplay in ENABLE_LEGACY_NOTIFICATIONS.
1809 2012-03-14 W. James MacLean <wjmaclean@chromium.org>
1811 [chromium] Wire up PlatformGestureCurves for CC, ScrollAnimatorNone.
1812 https://bugs.webkit.org/show_bug.cgi?id=80607
1814 Reviewed by James Robinson.
1816 Unit tests added. Layout tests to follow.
1818 Provides implementation of PlatformGestureCurves in Chrome Compositor, and basic
1819 support in ScrollAnimatorNone, for fling gestures.
1821 * GNUmakefile.list.am:
1822 * platform/ActivePlatformGestureAnimation.cpp:
1823 (WebCore::ActivePlatformGestureAnimation::create):
1824 (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
1825 (WebCore::ActivePlatformGestureAnimation::animate):
1826 * platform/ActivePlatformGestureAnimation.h:
1827 (ActivePlatformGestureAnimation):
1828 * platform/PlatformGestureCurveTarget.h:
1829 (PlatformGestureCurveTarget):
1830 * platform/ScrollAnimatorNone.cpp:
1831 (WebCore::ScrollAnimatorNone::cancelAnimations):
1832 (WebCore::ScrollAnimatorNone::animationTimerFired):
1833 (WebCore::ScrollAnimatorNone::scrollBy):
1835 * platform/ScrollAnimatorNone.h:
1837 (ScrollAnimatorNone):
1838 * platform/TouchFlingPlatformGestureCurve.cpp:
1839 (WebCore::TouchFlingPlatformGestureCurve::apply):
1840 * platform/WheelFlingPlatformGestureCurve.cpp:
1841 (WebCore::WheelFlingPlatformGestureCurve::apply):
1842 * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
1843 (WebCore::CCActiveGestureAnimation::create):
1844 (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
1845 (WebCore::CCActiveGestureAnimation::animate):
1846 * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
1847 (CCActiveGestureAnimation):
1848 * platform/graphics/chromium/cc/CCGestureCurve.h:
1849 (CCGestureCurveTarget):
1850 * platform/graphics/chromium/cc/CCInputHandler.h:
1852 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1853 (WebCore::CCLayerTreeHostImpl::animate):
1854 (WebCore::CCLayerTreeHostImpl::setActiveGestureAnimation):
1856 (WebCore::CCLayerTreeHostImpl::animateGestures):
1857 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1859 (WebCore::CCLayerTreeHostImpl::activeGestureAnimation):
1860 (CCLayerTreeHostImpl):
1862 2012-03-15 Patrick Gansterer <paroga@webkit.org>
1864 [EFL] Make zlib a general build requirement
1865 https://bugs.webkit.org/show_bug.cgi?id=80153
1867 Reviewed by Hajime Morita.
1869 After r109538 WebSocket module needs zlib to support deflate-frame extension.
1871 * PlatformEfl.cmake:
1873 2012-03-15 Robert Kroeger <rjkroege@chromium.org>
1875 REGRESSION (r110371): broke platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html
1876 https://bugs.webkit.org/show_bug.cgi?id=80825
1878 Reviewed by James Robinson.
1880 * page/EventHandler.cpp:
1881 (WebCore::EventHandler::handleWheelEvent): Corrected a typo.
1883 2012-03-15 Scott Byer <scottbyer@chromium.org>
1885 Fix crbug 117957 - get settings scrolling with the wheel again.
1886 https://bugs.webkit.org/show_bug.cgi?id=81247
1888 Reviewed by James Robinson.
1892 * page/FrameView.cpp:
1893 (WebCore::FrameView::serviceScriptedAnimations):
1895 2012-03-15 David Hyatt <hyatt@apple.com>
1897 https://bugs.webkit.org/show_bug.cgi?id=81258
1899 Add a preference for enabling the new multi-column layout code that will be based on regions.
1901 Reviewed by Beth Dakin.
1903 * page/Settings.cpp:
1904 (WebCore::Settings::Settings):
1906 (WebCore::Settings::setRegionBasedColumnsEnabled):
1907 (WebCore::Settings::regionBasedColumnsEnabled):
1910 2012-03-15 Andreas Kling <kling@webkit.org>
1912 RenderStyle: Return Color objects by value instead of as const references.
1913 <http://webkit.org/b/81180>
1915 Reviewed by Antti Koivisto.
1917 Make RenderStyle getters return "Color" rather than "const Color&". This is preparation
1918 for storing some color values in a more space-efficient fashion.
1920 * css/CSSStyleApplyProperty.cpp:
1921 (WebCore::ApplyPropertyColor::applyInheritValue):
1922 * page/animation/AnimationBase.cpp:
1923 (PropertyWrapperColor):
1924 (WebCore::PropertyWrapperColor::PropertyWrapperColor):
1925 (WebCore::PropertyWrapperColor::blend):
1926 (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
1927 (PropertyWrapperMaybeInvalidColor):
1928 (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
1929 (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
1930 (PropertyWrapperSVGPaint):
1931 * platform/graphics/Color.h:
1932 (WebCore::Color::Color):
1933 * rendering/style/RenderStyle.h:
1935 2012-03-15 Jessie Berlin <jberlin@apple.com>
1937 Assertion failures in WebCore::Page::goBackOrForward causing multiple "crashes" on Lion Intel
1938 Debug WebKit2 testers
1939 https://bugs.webkit.org/show_bug.cgi?id=81159
1941 Rubber-stamped by Brady Eidson.
1943 It is plausible that history could change in between the time a navigation request is
1944 scheduled and the timer is fired, so the request index could be out of the b/f list range.
1945 Hence, the assertion is invalid and should be removed.
1948 (WebCore::Page::goBackOrForward):
1950 2012-03-15 Alexey Proskuryakov <ap@apple.com>
1952 Assertion failures in checkEncodedString when running WebKit2 tests
1953 https://bugs.webkit.org/show_bug.cgi?id=67425
1954 <rdar://problem/11043492>
1956 Reviewed by Anders Carlsson.
1958 * platform/network/cf/ResourceErrorCF.cpp: (WebCore::ResourceError::cfError):
1959 * platform/network/mac/ResourceErrorMac.mm: (WebCore::ResourceError::nsError):
1960 The failing URL is certainly not guaranteed to be valid, so it's not correct to put it back
1961 into a URL as if it's been normalized by KURL.
1963 2012-03-15 Brady Eidson <beidson@apple.com>
1965 <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
1966 REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
1968 Reviewed by Sam Weinig.
1970 Test: editing/pasteboard/copy-two-pasteboard-types-both-work.html
1972 Add the non-destructive "addTypes" to supplement the destructive "setTypes"
1973 * platform/PasteboardStrategy.h:
1974 (PasteboardStrategy):
1975 * platform/PlatformPasteboard.h:
1976 (PlatformPasteboard):
1977 * platform/mac/PlatformPasteboardMac.mm:
1978 (WebCore::PlatformPasteboard::addTypes):
1981 * platform/mac/ClipboardMac.mm:
1982 (WebCore::ClipboardMac::setData): Call the non-destructive "addTypes" instead of
1983 the destructive "setTypes"
1985 2012-03-15 Dana Jansens <danakj@chromium.org>
1987 [Chromium] REGRESSION(r110596) CCQuadCullerTest.verifyCullChildLinesUpTopLeft fails on Windows
1988 https://bugs.webkit.org/show_bug.cgi?id=81083
1990 Reviewed by Adrienne Walker.
1992 The surface pointer on the occlusion tracker stack is uninitialized, and
1993 can be non-null, but the layer's target surface is null, causing asserts
1994 to fail. Fixes the TestCCOcclusionTrackerImpl to initialize the stack's
1997 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1998 (WebCore::::enterTargetRenderSurface):
1999 (WebCore::::unoccludedContentRect):
2000 * platform/graphics/chromium/cc/CCOcclusionTracker.h:
2001 (WebCore::CCOcclusionTrackerBase::StackObject::StackObject):
2003 2012-03-15 David Levin <levin@chromium.org>
2005 Various autoresize fixes.
2006 https://bugs.webkit.org/show_bug.cgi?id=81199
2008 Reviewed by Darin Fisher.
2010 Tested by WebViewTest additions.
2012 * page/FrameView.cpp:
2013 (WebCore::FrameView::autoSizeIfEnabled): Fixed a bug that caused a horizontal
2014 scrollbar to appear when the size was width was fixed and height overflowed which
2015 is one of the tests that was added.
2017 2012-03-15 Andrey Kosyakov <caseq@chromium.org>
2019 Web Inspector: normalize vertical overview bars by longest bar, not by longest frame
2020 https://bugs.webkit.org/show_bug.cgi?id=81231
2022 Reviewed by Vsevolod Vlasov.
2024 * inspector/front-end/TimelineOverviewPane.js:
2025 (WebInspector.TimelineOverviewPane):
2026 (WebInspector.TimelineOverviewPane.prototype.reset):
2027 (WebInspector.TimelineOverviewPane.prototype.accept):
2028 (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
2029 (WebInspector.TimelineVerticalOverview.prototype.reset):
2030 (WebInspector.TimelineVerticalOverview.prototype.update):
2031 (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
2032 (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
2033 (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
2035 2012-03-15 Andrey Kosyakov <caseq@chromium.org>
2037 Web Inspector: crash in InspectorTimelineAgent when trying to add children to cancelable records
2038 https://bugs.webkit.org/show_bug.cgi?id=81245
2040 Reviewed by Vsevolod Vlasov.
2042 * inspector/InspectorTimelineAgent.cpp:
2043 (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2045 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2046 (WebCore::InspectorTimelineAgent::appendRecord):
2047 (WebCore::InspectorTimelineAgent::commitCancelableRecords):
2048 * inspector/InspectorTimelineAgent.h:
2049 (InspectorTimelineAgent):
2051 2012-03-15 Pavel Podivilov <podivilov@chromium.org>
2053 Web Inspector: live locations could be disposed twice.
2054 https://bugs.webkit.org/show_bug.cgi?id=81249
2056 Reviewed by Vsevolod Vlasov.
2058 * inspector/front-end/ScriptMapping.js:
2059 (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
2061 2012-03-15 Carlos Garcia Campos <cgarcia@igalia.com>
2063 [GTK] Implement unicode submenu items
2064 https://bugs.webkit.org/show_bug.cgi?id=81117
2066 Reviewed by Martin Robinson.
2068 * loader/EmptyClients.h:
2069 (WebCore::EmptyEditorClient::shouldShowUnicodeMenu): Just return
2071 * page/ContextMenuController.cpp:
2072 (WebCore::insertUnicodeCharacter): Helper function to insert a
2074 (WebCore::ContextMenuController::contextMenuItemSelected):
2075 Implement unicode menu items using insertUnicodeCharacter() to
2076 insert the apropriate unicode character.
2077 (WebCore::ContextMenuController::createAndAppendUnicodeSubMenu):
2078 Create the unicode submenu.
2079 (WebCore::ContextMenuController::populate): Add unicode submenu
2080 item for editable content.
2081 (WebCore::ContextMenuController::checkOrEnableIfNeeded): Add
2082 unicode submenu items to the switch.
2083 * page/ContextMenuController.h:
2084 * page/EditorClient.h:
2085 (EditorClient): Add shouldShowUnicodeMenu() for GTK platform.
2086 * platform/ContextMenuItem.h:
2087 * platform/LocalizedStrings.h:
2088 * platform/gtk/LocalizedStringsGtk.cpp:
2089 (WebCore::contextMenuItemTagUnicodeInsertLRMMark): Add localized
2090 string for the unicode menu item.
2091 (WebCore::contextMenuItemTagUnicodeInsertRLMMark): Ditto.
2092 (WebCore::contextMenuItemTagUnicodeInsertLREMark): Ditto.
2093 (WebCore::contextMenuItemTagUnicodeInsertRLEMark): Ditto.
2094 (WebCore::contextMenuItemTagUnicodeInsertLROMark): Ditto.
2095 (WebCore::contextMenuItemTagUnicodeInsertRLOMark): Ditto.
2096 (WebCore::contextMenuItemTagUnicodeInsertPDFMark): Ditto.
2097 (WebCore::contextMenuItemTagUnicodeInsertZWSMark): Ditto.
2098 (WebCore::contextMenuItemTagUnicodeInsertZWJMark): Ditto.
2099 (WebCore::contextMenuItemTagUnicodeInsertZWNJMark): Ditto.
2101 2012-03-15 Vsevolod Vlasov <vsevik@chromium.org>
2103 Web Inspector: MainScriptMapping should detect snippet scripts by means of sourceURL set before evaluation.
2104 https://bugs.webkit.org/show_bug.cgi?id=81031
2106 Reviewed by Pavel Feldman.
2108 * inspector/front-end/SnippetsModel.js:
2109 (WebInspector.SnippetsModel):
2110 (WebInspector.SnippetsModel.prototype._saveSettings):
2111 (WebInspector.SnippetsModel.prototype.deleteSnippet):
2112 (WebInspector.SnippetsModel.prototype._snippetAdded):
2113 (WebInspector.SnippetsModel.prototype._sourceURLForSnippet):
2114 (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
2115 (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
2116 (WebInspector.Snippet.prototype.evaluate):
2117 (WebInspector.SnippetsScriptMapping):
2118 (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation.get if):
2119 (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation):
2120 (WebInspector.SnippetsScriptMapping.prototype._releasedUISourceCodes):
2121 (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
2122 (WebInspector.SnippetsScriptMapping.prototype._snippetWillBeEvaluated):
2123 (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
2124 (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
2126 2012-03-15 Kevin Ollivier <kevino@theolliviers.com>
2128 [wx] Unreviewed. Build fixes for Mac and DOM bindings.
2130 * bindings/cpp/WebDOMEventTarget.cpp:
2132 * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2133 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
2135 2012-03-14 Pavel Podivilov <podivilov@chromium.org>
2137 Web Inspector: extract CompilerScriptMapping from RawSourceCode.
2138 https://bugs.webkit.org/show_bug.cgi?id=81088
2140 Reviewed by Vsevolod Vlasov.
2143 * WebCore.vcproj/WebCore.vcproj:
2144 * inspector/compile-front-end.py:
2145 * inspector/front-end/CompilerScriptMapping.js: Added.
2146 (WebInspector.CompilerScriptMapping):
2147 (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
2148 (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodeList):
2149 (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
2150 (WebInspector.CompilerScriptMapping.prototype.addScript):
2151 (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
2152 (WebInspector.CompilerScriptMapping.prototype.reset):
2153 * inspector/front-end/RawSourceCode.js:
2154 (WebInspector.RawSourceCode):
2155 (WebInspector.RawSourceCode.prototype.setFormatted):
2156 (WebInspector.RawSourceCode.prototype._resourceFinished):
2157 (WebInspector.RawSourceCode.prototype._createUISourceCode):
2158 (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
2159 * inspector/front-end/ResourceScriptMapping.js:
2160 (WebInspector.ResourceScriptMapping.prototype.addScript):
2161 * inspector/front-end/ScriptMapping.js:
2162 (WebInspector.MainScriptMapping):
2163 * inspector/front-end/WebKit.qrc:
2164 * inspector/front-end/inspector.html:
2166 2012-03-15 Peter Rybin <peter.rybin@gmail.com>
2168 Web Inspector: Move all includes behind ENABLE(INSPECTOR) guards
2169 https://bugs.webkit.org/show_bug.cgi?id=81132
2171 Reviewed by Yury Semikhatsky.
2173 Include directives are moved several lines down in .cpp files and in
2174 generator templates.
2176 * inspector/CodeGeneratorInspector.py:
2177 * inspector/ContentSearchUtils.cpp:
2178 * inspector/DOMEditor.cpp:
2179 * inspector/DOMNodeHighlighter.cpp:
2180 * inspector/DOMPatchSupport.cpp:
2181 * inspector/IdentifiersFactory.cpp:
2182 * inspector/InjectedScript.cpp:
2183 * inspector/InjectedScriptHost.cpp:
2184 * inspector/InjectedScriptManager.cpp:
2185 * inspector/InspectorAgent.cpp:
2186 * inspector/InspectorApplicationCacheAgent.cpp:
2187 * inspector/InspectorBaseAgent.cpp:
2188 * inspector/InspectorCSSAgent.cpp:
2189 * inspector/InspectorClient.cpp:
2190 * inspector/InspectorConsoleAgent.cpp:
2191 * inspector/InspectorController.cpp:
2192 * inspector/InspectorCounters.cpp:
2193 * inspector/InspectorDOMAgent.cpp:
2194 * inspector/InspectorDOMDebuggerAgent.cpp:
2195 * inspector/InspectorDOMStorageAgent.cpp:
2196 * inspector/InspectorDatabaseAgent.cpp:
2197 * inspector/InspectorDatabaseResource.cpp:
2198 * inspector/InspectorDebuggerAgent.cpp:
2199 * inspector/InspectorFileSystemAgent.cpp:
2200 * inspector/InspectorFrontendClientLocal.cpp:
2201 * inspector/InspectorFrontendHost.cpp:
2202 * inspector/InspectorHistory.cpp:
2203 * inspector/InspectorIndexedDBAgent.cpp:
2204 * inspector/InspectorInstrumentation.cpp:
2205 * inspector/InspectorMemoryAgent.cpp:
2206 * inspector/InspectorPageAgent.cpp:
2207 * inspector/InspectorProfilerAgent.cpp:
2208 * inspector/InspectorResourceAgent.cpp:
2209 * inspector/InspectorRuntimeAgent.cpp:
2210 * inspector/InspectorState.cpp:
2211 * inspector/InspectorStyleSheet.cpp:
2212 * inspector/InspectorStyleTextEditor.cpp:
2213 * inspector/InspectorTimelineAgent.cpp:
2214 * inspector/InspectorValues.cpp:
2215 * inspector/InstrumentingAgents.cpp:
2216 * inspector/NetworkResourcesData.cpp:
2217 * inspector/PageConsoleAgent.cpp:
2218 * inspector/PageDebuggerAgent.cpp:
2219 * inspector/PageRuntimeAgent.cpp:
2220 * inspector/TimelineRecordFactory.cpp:
2221 * inspector/WorkerConsoleAgent.cpp:
2222 * inspector/WorkerDebuggerAgent.cpp:
2223 * inspector/WorkerRuntimeAgent.cpp:
2225 2012-03-15 Yury Semikhatsky <yurys@chromium.org>
2227 Web Inspector: improve HeapSnapshot._buildReversIndex performance
2228 https://bugs.webkit.org/show_bug.cgi?id=81224
2230 Caching node indexes and node count in local variables instead of
2231 calling getters each time reduces the method run time by
2234 Reviewed by Pavel Feldman.
2236 * inspector/front-end/HeapSnapshot.js:
2237 (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
2239 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2241 SVG Animations update baseVal instead of animVal
2242 https://bugs.webkit.org/show_bug.cgi?id=12437
2244 Rubber-stamped by Rob Buis.
2246 Rename constructFromCopy to constructFromVariant, and currentBaseValue to currentBaseValueVariant, to clarify what it actually does.
2248 * svg/SVGAnimateElement.cpp:
2249 (WebCore::SVGAnimateElement::resetToBaseValue):
2250 * svg/SVGAnimatedLength.cpp:
2251 (WebCore::SVGAnimatedLengthAnimator::constructFromVariant):
2252 * svg/SVGAnimatedLength.h:
2253 (SVGAnimatedLengthAnimator):
2254 * svg/SVGAnimatedLengthList.cpp:
2255 (WebCore::SVGAnimatedLengthListAnimator::constructFromVariant):
2256 * svg/SVGAnimatedLengthList.h:
2257 (SVGAnimatedLengthListAnimator):
2258 * svg/SVGAnimatedNumber.cpp:
2259 (WebCore::SVGAnimatedNumberAnimator::constructFromVariant):
2260 * svg/SVGAnimatedNumber.h:
2261 (SVGAnimatedNumberAnimator):
2262 * svg/SVGAnimatedNumberList.cpp:
2263 (WebCore::SVGAnimatedNumberListAnimator::constructFromVariant):
2264 * svg/SVGAnimatedNumberList.h:
2265 (SVGAnimatedNumberListAnimator):
2266 * svg/SVGAnimatedTransformList.cpp:
2267 (WebCore::SVGAnimatedTransformListAnimator::constructFromVariant):
2268 * svg/SVGAnimatedTransformList.h:
2269 (SVGAnimatedTransformListAnimator):
2270 * svg/SVGAnimatedTypeAnimator.h:
2271 (WebCore::SVGAnimatedTypeAnimator::constructFromVariant):
2272 * svg/properties/SVGAnimatedListPropertyTearOff.h:
2273 (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
2274 * svg/properties/SVGAnimatedProperty.h:
2275 (SVGAnimatedProperty):
2276 * svg/properties/SVGAnimatedPropertyTearOff.h:
2277 (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
2278 * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
2279 (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
2281 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2283 Enable animVal support for SVGNumberList
2284 https://bugs.webkit.org/show_bug.cgi?id=81219
2286 Reviewed by Rob Buis.
2288 Enable animVal support for SVGNumberList. Easy patch, we just need to add the missing
2289 constructFromCopy() method to SVGAnumatedNumberListAnimator and report AnimatedNumberList
2290 as supporting animVal.
2292 Covered by existing tests.
2294 * svg/SVGAnimatedNumberList.cpp:
2295 (WebCore::SVGAnimatedNumberListAnimator::constructFromCopy):
2297 * svg/SVGAnimatedNumberList.h:
2299 (SVGAnimatedNumberListAnimator):
2300 * svg/SVGAnimatedType.cpp:
2301 (WebCore::SVGAnimatedType::supportsAnimVal):
2302 (WebCore::SVGAnimatedType::setVariantValue):
2304 2012-03-15 Rob Buis <rbuis@rim.com>
2306 Fix cast-align GCC warnings
2307 https://bugs.webkit.org/show_bug.cgi?id=80790
2309 Reviewed by Nikolas Zimmermann.
2311 * platform/graphics/WOFFFileFormat.cpp:
2312 (WebCore::writeUInt32):
2313 (WebCore::writeUInt16):
2314 (WebCore::convertWOFFToSfnt):
2316 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2318 Not reviewed. Forgot to preserve copyrights, per reviewer comment.
2320 * svg/SVGAnimatedTransformList.cpp:
2322 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2324 Enable animVal support for SVGNumber
2325 https://bugs.webkit.org/show_bug.cgi?id=81212
2327 Reviewed by Rob Buis.
2329 Enable animVal support for SVGNumber. This aligns SVGAnimatedStaticPropertyTearOff,
2330 with the other SVGListPropertyTearOff & SVGPropertyTearOff, as all support animVal now.
2331 Converting the rest of the types can be done in small patches now.
2333 Test: svg/animations/svgnumber-animation-4.html
2335 * svg/SVGAnimatedNumber.cpp:
2336 (WebCore::SVGAnimatedNumberAnimator::constructFromCopy):
2338 * svg/SVGAnimatedNumber.h:
2340 (SVGAnimatedNumberAnimator):
2341 * svg/SVGAnimatedType.cpp:
2342 (WebCore::SVGAnimatedType::supportsAnimVal):
2343 (WebCore::SVGAnimatedType::setVariantValue):
2344 * svg/properties/SVGAnimatedProperty.h:
2345 (SVGAnimatedProperty):
2346 * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
2347 (WebCore::SVGAnimatedStaticPropertyTearOff::animVal):
2348 (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
2349 (SVGAnimatedStaticPropertyTearOff):
2350 (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
2351 (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
2352 (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
2353 (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueWillChange):
2354 (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueDidChange):
2355 (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
2357 2012-03-15 Nikolas Zimmermann <nzimmermann@rim.com>
2359 Enable animVal support for SVGTransformList
2360 https://bugs.webkit.org/show_bug.cgi?id=80758
2362 Reviewed by Antti Koivisto.
2364 Enable animVal support for SVGTransformList. SVGTransformLists are only animatable
2365 via <animateTransform>, not via <animate> directly. Still we can handle it in the
2366 same framework as all other types used for <animate>, as we also need proper animVal
2367 support for <animateTransform>.
2369 This patch removes the special <animateTransform> implementation, and lets
2370 SVGAnimateTransformElement inherit from SVGAnimateElement, just like its done
2371 for SVGAnimateColorElement & SVGSetElement.
2373 All existing code (calculateFromAndToValues/FromAndByValues/etc..) are moved from
2374 SVGAnimateTransform right into the SVGAnimatedTransformListAnimator.
2376 This doesn't change <animateTransform> behavior, it just simplies the code
2377 and enables animVal support for SVGTransformLists - all covered by existing tests.
2380 * GNUmakefile.list.am:
2383 * WebCore.xcodeproj/project.pbxproj:
2384 * svg/SVGAllInOne.cpp:
2385 * svg/SVGAnimateElement.cpp:
2386 (WebCore::SVGAnimateElement::SVGAnimateElement):
2387 (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
2388 (WebCore::SVGAnimateElement::calculateAnimatedValue):
2389 (WebCore::SVGAnimateElement::applyResultsToTarget):
2390 * svg/SVGAnimateTransformElement.cpp:
2391 (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
2392 (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
2393 (WebCore::SVGAnimateTransformElement::parseAttribute):
2394 * svg/SVGAnimateTransformElement.h:
2395 (WebCore::SVGAnimateTransformElement::transformType):
2396 (SVGAnimateTransformElement):
2397 * svg/SVGAnimatedTransformList.cpp: Added.
2399 (WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
2400 (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
2401 (WebCore::SVGAnimatedTransformListAnimator::constructFromCopy):
2402 (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndToValues):
2403 (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndByValues):
2404 (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
2405 (WebCore::SVGAnimatedTransformListAnimator::calculateDistance):
2406 * svg/SVGAnimatedTransformList.h:
2408 (SVGAnimatedTransformListAnimator):
2409 (WebCore::SVGAnimatedTransformListAnimator::~SVGAnimatedTransformListAnimator):
2410 * svg/SVGAnimatedType.cpp:
2411 (WebCore::SVGAnimatedType::~SVGAnimatedType):
2412 (WebCore::SVGAnimatedType::createTransformList):
2414 (WebCore::SVGAnimatedType::transformList):
2415 (WebCore::SVGAnimatedType::valueAsString):
2416 (WebCore::SVGAnimatedType::setValueAsString):
2417 (WebCore::SVGAnimatedType::supportsAnimVal):
2418 (WebCore::SVGAnimatedType::setVariantValue):
2419 * svg/SVGAnimatedType.h:
2422 * svg/SVGAnimatorFactory.h:
2423 (WebCore::SVGAnimatorFactory::create):
2424 * svg/SVGGradientElement.cpp:
2425 (WebCore::SVGGradientElement::parseAttribute):
2426 * svg/SVGPatternElement.cpp:
2427 (WebCore::SVGPatternElement::parseAttribute):
2428 * svg/SVGStyledTransformableElement.cpp:
2429 (WebCore::SVGStyledTransformableElement::parseAttribute):
2430 * svg/SVGTextElement.cpp:
2431 (WebCore::SVGTextElement::parseAttribute):
2432 * svg/SVGTransform.cpp:
2433 (WebCore::SVGTransform::transformTypePrefixForParsing):
2435 (WebCore::SVGTransform::valueAsString):
2436 * svg/SVGTransform.h:
2438 * svg/SVGTransformList.cpp:
2439 (WebCore::SVGTransformList::parse):
2441 * svg/SVGTransformList.h:
2443 * svg/SVGTransformable.cpp:
2444 (WebCore::SVGTransformable::parseTransformType):
2445 * svg/SVGTransformable.h:
2447 * svg/SVGViewSpec.cpp:
2448 (WebCore::SVGViewSpec::setTransform):
2450 2012-03-13 Nikolas Zimmermann <nzimmermann@rim.com>
2452 Enable animVal support for SVGLengthList
2453 https://bugs.webkit.org/show_bug.cgi?id=80750
2455 Reviewed by Zoltan Herczeg.
2457 Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty
2458 in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList.
2460 Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal.
2462 * svg/SVGAnimateElement.cpp:
2463 (WebCore::SVGAnimateElement::calculateAnimatedValue):
2464 * svg/SVGAnimateTransformElement.cpp:
2465 (WebCore::SVGAnimateTransformElement::resetToBaseValue):
2466 (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
2467 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2468 * svg/SVGAnimatedLengthList.cpp:
2469 (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy):
2471 * svg/SVGAnimatedLengthList.h:
2473 (SVGAnimatedLengthListAnimator):
2474 * svg/SVGAnimatedType.cpp:
2475 (WebCore::SVGAnimatedType::supportsAnimVal):
2476 (WebCore::SVGAnimatedType::setVariantValue):
2477 * svg/SVGAnimatedType.h:
2478 * svg/SVGAnimationElement.cpp:
2479 (WebCore::SVGAnimationElement::applyAnimatedValue):
2480 * svg/properties/SVGAnimatedListPropertyTearOff.h:
2481 (SVGAnimatedListPropertyTearOff):
2482 (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
2483 (WebCore::SVGAnimatedListPropertyTearOff::animVal):
2484 (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
2485 (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
2486 (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
2487 (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
2488 (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
2489 (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
2490 (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):
2491 (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange):
2492 (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange):
2493 * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
2494 (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
2495 (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
2496 * svg/properties/SVGAnimatedProperty.h:
2497 (WebCore::SVGAnimatedProperty::isAnimating):
2498 (SVGAnimatedProperty):
2499 (WebCore::SVGAnimatedProperty::animationValueWillChange):
2500 (WebCore::SVGAnimatedProperty::animationValueDidChange):
2501 (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
2502 (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
2503 * svg/properties/SVGAnimatedPropertyTearOff.h:
2504 (SVGAnimatedPropertyTearOff):
2505 (WebCore::SVGAnimatedPropertyTearOff::baseVal):
2506 (WebCore::SVGAnimatedPropertyTearOff::animVal):
2507 (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
2508 (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
2509 (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
2510 (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange):
2511 (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange):
2512 (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
2513 * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
2514 (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
2515 (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
2516 * svg/properties/SVGListProperty.h:
2517 (WebCore::SVGListProperty::detachListWrappers):
2519 (WebCore::SVGListProperty::setValuesAndWrappers):
2520 (WebCore::SVGListProperty::clearValues):
2521 (WebCore::SVGListProperty::clearValuesAndWrappers):
2522 (WebCore::SVGListProperty::numberOfItems):
2523 (WebCore::SVGListProperty::initializeValues):
2524 (WebCore::SVGListProperty::initializeValuesAndWrappers):
2525 (WebCore::SVGListProperty::canGetItem):
2526 (WebCore::SVGListProperty::getItemValues):
2527 (WebCore::SVGListProperty::getItemValuesAndWrappers):
2528 (WebCore::SVGListProperty::insertItemBeforeValues):
2529 (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
2530 (WebCore::SVGListProperty::canReplaceItem):
2531 (WebCore::SVGListProperty::replaceItemValues):
2532 (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
2533 (WebCore::SVGListProperty::canRemoveItem):
2534 (WebCore::SVGListProperty::removeItemValues):
2535 (WebCore::SVGListProperty::removeItemValuesAndWrappers):
2536 (WebCore::SVGListProperty::appendItemValues):
2537 (WebCore::SVGListProperty::appendItemValuesAndWrappers):
2538 (WebCore::SVGListProperty::values):
2539 (WebCore::SVGListProperty::wrappers):
2540 (WebCore::SVGListProperty::SVGListProperty):
2541 * svg/properties/SVGListPropertyTearOff.h:
2542 (SVGListPropertyTearOff):
2543 (WebCore::SVGListPropertyTearOff::create):
2544 (WebCore::SVGListPropertyTearOff::removeItemFromList):
2545 (WebCore::SVGListPropertyTearOff::clear):
2546 (WebCore::SVGListPropertyTearOff::initialize):
2547 (WebCore::SVGListPropertyTearOff::insertItemBefore):
2548 (WebCore::SVGListPropertyTearOff::replaceItem):
2549 (WebCore::SVGListPropertyTearOff::appendItem):
2550 (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
2551 (WebCore::SVGListPropertyTearOff::commitChange):
2552 * svg/properties/SVGPathSegListPropertyTearOff.cpp:
2553 (WebCore::SVGPathSegListPropertyTearOff::clear):
2554 (WebCore::SVGPathSegListPropertyTearOff::getItem):
2555 (WebCore::SVGPathSegListPropertyTearOff::removeItem):
2556 * svg/properties/SVGPathSegListPropertyTearOff.h:
2557 (WebCore::SVGPathSegListPropertyTearOff::create):
2558 (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
2559 (SVGPathSegListPropertyTearOff):
2560 (WebCore::SVGPathSegListPropertyTearOff::initialize):
2561 (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
2562 (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
2563 (WebCore::SVGPathSegListPropertyTearOff::appendItem):
2564 (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
2565 (WebCore::SVGPathSegListPropertyTearOff::commitChange):
2566 * svg/properties/SVGPropertyInfo.h:
2567 * svg/properties/SVGStaticListPropertyTearOff.h:
2568 (SVGStaticListPropertyTearOff):
2569 (WebCore::SVGStaticListPropertyTearOff::clear):
2570 (WebCore::SVGStaticListPropertyTearOff::initialize):
2571 (WebCore::SVGStaticListPropertyTearOff::getItem):
2572 (WebCore::SVGStaticListPropertyTearOff::insertItemBefore):
2573 (WebCore::SVGStaticListPropertyTearOff::replaceItem):
2574 (WebCore::SVGStaticListPropertyTearOff::removeItem):
2575 (WebCore::SVGStaticListPropertyTearOff::appendItem):
2576 (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff):
2577 (WebCore::SVGStaticListPropertyTearOff::commitChange):
2578 * svg/properties/SVGTransformListPropertyTearOff.h:
2579 (WebCore::SVGTransformListPropertyTearOff::create):
2580 (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
2581 (WebCore::SVGTransformListPropertyTearOff::consolidate):
2582 (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):
2584 2012-03-14 Chris Fleizach <cfleizach@apple.com>
2586 AXDescription for HTML5 footer
2587 https://bugs.webkit.org/show_bug.cgi?id=78967
2589 Return a unique role description for the footer element.
2591 Reviewed by Beth Dakin.
2593 Test: platform/mac/accessibility/footer-roledescription.html
2595 * English.lproj/Localizable.strings:+
2596 * accessibility/AccessibilityObject.h:
2597 * accessibility/AccessibilityRenderObject.cpp:
2598 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2599 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2600 (createAccessibilityRoleMap):
2601 (-[WebAccessibilityObjectWrapper subrole]):
2602 (-[WebAccessibilityObjectWrapper roleDescription]):
2603 * platform/LocalizedStrings.cpp:
2604 (WebCore::AXFooterRoleDescriptionText):
2606 * platform/LocalizedStrings.h:
2608 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
2609 (WebCore::AXFooterRoleDescriptionText):
2611 * platform/efl/LocalizedStringsEfl.cpp:
2612 (WebCore::AXFooterRoleDescriptionText):
2614 * platform/gtk/LocalizedStringsGtk.cpp:
2615 (WebCore::AXFooterRoleDescriptionText):
2618 2012-03-14 Mark Rowe <mrowe@apple.com>
2620 <http://webkit.org/b/81193> Ensure libWebCoreTestSupport.dylib's library identifier is set appropriately for all configurations.
2622 Reviewed by Dan Bernstein.
2624 * Configurations/WebCoreTestSupport.xcconfig: Switch to setting DYLIB_INSTALL_NAME_BASE
2625 rather than LD_DYLIB_INSTALL_NAME. The latter is derived from the former. Ensure that
2626 DYLIB_INSTALL_NAME_BASE is also set for the Production configuration.
2628 2012-03-14 Chris Fleizach <cfleizach@apple.com>
2630 AXDescription for ARIA role contentinfo incorrect
2631 https://bugs.webkit.org/show_bug.cgi?id=78967
2633 Reviewed by Beth Dakin.
2635 Test: platform/mac/accessibility/aria-grouping-roles.html
2637 * English.lproj/Localizable.strings:
2638 * platform/LocalizedStrings.cpp:
2639 (WebCore::AXARIAContentGroupText):
2641 2012-03-14 Chris Fleizach <cfleizach@apple.com>
2643 AX: ARIA tables need to support selected rows attribute/select rows changed notification
2644 https://bugs.webkit.org/show_bug.cgi?id=79821
2646 Reviewed by Beth Dakin.
2648 Test: platform/mac/accessibility/selected-rows-table.html
2650 * accessibility/AccessibilityARIAGrid.h:
2651 (WebCore::AccessibilityARIAGrid::isMultiSelectable):
2652 (AccessibilityARIAGrid):
2653 * accessibility/AccessibilityRenderObject.cpp:
2654 (WebCore::AccessibilityRenderObject::ariaSelectedRows):
2655 * accessibility/AccessibilityTableRow.cpp:
2656 (WebCore::AccessibilityTableRow::observableObject):
2658 * accessibility/AccessibilityTableRow.h:
2659 (AccessibilityTableRow):
2660 * accessibility/mac/AXObjectCacheMac.mm:
2661 (WebCore::AXObjectCache::postPlatformNotification):
2663 2012-03-14 James Robinson <jamesr@chromium.org>
2665 Platforms without USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) don't need to query the page's displayID
2666 https://bugs.webkit.org/show_bug.cgi?id=81187
2668 Reviewed by Simon Fraser.
2671 (WebCore::Document::webkitRequestAnimationFrame):
2673 2012-03-14 Chris Fleizach <cfleizach@apple.com>
2675 AX: embedded attachments do not report their parents correctly
2676 https://bugs.webkit.org/show_bug.cgi?id=80132
2678 When a WebHTMLView has embedded attachments in it, the AXParent of those attachments is wrong.
2679 It usually points to the AXScrollView of the web area. That's because there has been no way for WebCore to
2680 communicate that this attachment view should actually make believe that it's parent is within the WebCore AX tree.
2682 We can fix that by overriding the AXParent in overriden attributes for items that are attachments.
2684 Reviewed by Beth Dakin.
2686 Not able to construct a layout test because the problem only manifests itself when an AX client connects to WebKit
2687 through the IPC mechanism.
2689 * accessibility/AccessibilityObject.cpp:
2690 (WebCore::AccessibilityObject::detachFromParent):
2691 * accessibility/AccessibilityObject.h:
2692 (AccessibilityObject):
2693 (WebCore::AccessibilityObject::overrideAttachmentParent):
2694 * accessibility/AccessibilityRenderObject.cpp:
2695 (WebCore::AccessibilityRenderObject::updateAttachmentViewParents):
2696 (WebCore::AccessibilityRenderObject::addChildren):
2697 * accessibility/AccessibilityRenderObject.h:
2698 (AccessibilityRenderObject):
2699 * accessibility/mac/AccessibilityObjectMac.mm:
2700 (WebCore::AccessibilityObject::overrideAttachmentParent):
2702 2012-03-14 Ryosuke Niwa <rniwa@webkit.org>
2704 Improve ContainerNode's collectNodes() performance
2705 https://bugs.webkit.org/show_bug.cgi?id=80706
2707 Reviewed by Antti Koivisto.
2709 Bump up the size of stack allocated buffer from 1 to 11. According to the rough study I conducted,
2710 this would cover 99.5% of all node collection.
2712 Note: the actual code change was made in r110797 but I somehow mangled my patches.
2714 * dom/ContainerNode.cpp:
2717 2012-03-14 Seo Sanghyeon <sh4.seo@samsung.com>
2719 Cleanup semicolons in IDLs
2720 https://bugs.webkit.org/show_bug.cgi?id=81129
2722 Reviewed by Kentaro Hara.
2724 No tests. No change in behavior.
2726 * svg/SVGAnimateColorElement.idl:
2727 * svg/SVGAnimateElement.idl:
2728 * svg/SVGAnimateTransformElement.idl:
2729 * svg/SVGAnimatedRect.idl:
2731 2012-03-14 Hayato Ito <hayato@chromium.org>
2733 Make ShadowRoot.activeElement return null if it does not contain a focused element.
2734 https://bugs.webkit.org/show_bug.cgi?id=81097
2736 Reviewed by Dimitri Glazkov.
2738 * dom/TreeScope.cpp:
2739 (WebCore::TreeScope::activeElement):
2741 2012-03-14 Matt Falkenhagen <falken@chromium.org>
2743 Allow per-script font settings to be specified in layout tests
2744 https://bugs.webkit.org/show_bug.cgi?id=78184
2746 Reviewed by Hajime Morita.
2748 This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
2749 the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
2750 for Chromium so far.
2752 Test: changed fast/text/international/locale-sensitive-fonts.html to use InternalSettings
2753 instead of overridePreference.
2755 * WebCore.exp.in: Added symbols.
2756 * platform/text/LocaleToScriptMapping.h: Added scriptNameToCode used by InternalSettings.
2758 * platform/text/LocaleToScriptMappingDefault.cpp:
2759 (WebCore::scriptNameToCode):
2760 (WebCore::localeToScriptCodeForFontSelection):
2761 * platform/text/LocaleToScriptMappingICU.cpp:
2762 (WebCore::scriptNameToCode):
2764 * testing/InternalSettings.cpp: Added per-script font settings.
2766 (WebCore::setFontFamily):
2767 (WebCore::InternalSettings::setStandardFontFamily):
2768 (WebCore::InternalSettings::setSerifFontFamily):
2769 (WebCore::InternalSettings::setSansSerifFontFamily):
2770 (WebCore::InternalSettings::setFixedFontFamily):
2771 (WebCore::InternalSettings::setCursiveFontFamily):
2772 (WebCore::InternalSettings::setFantasyFontFamily):
2773 (WebCore::InternalSettings::setPictographFontFamily):
2774 * testing/InternalSettings.h:
2776 * testing/InternalSettings.idl:
2778 2012-03-14 Kwonjin Jeong <gram@company100.net>
2780 Remove obsolete constructors of CSSPrimitiveValue class.
2781 https://bugs.webkit.org/show_bug.cgi?id=80971
2783 Remove constructors of CSSPrimitiveValue that can't be
2786 Reviewed by Andreas Kling.
2788 * css/CSSPrimitiveValueMappings.h:
2790 2012-03-14 Igor Oliveira <igor.o@sisa.samsung.com>
2792 Split the extra logic out of RenderBlock::updateFirstLetter
2793 https://bugs.webkit.org/show_bug.cgi?id=80772
2795 Reviewed by Julien Chaffraix.
2797 No change in behavior expected.
2799 * rendering/RenderBlock.cpp:
2800 (WebCore::RenderBlock::updateFirstLetterStyle):
2801 (WebCore::RenderBlock::createFirstLetterRenderer):
2802 (WebCore::RenderBlock::updateFirstLetter):
2804 * rendering/RenderBlock.h:
2807 2012-03-14 Anders Carlsson <andersca@apple.com>
2811 * html/track/TextTrackList.cpp:
2813 2012-03-14 Ryosuke Niwa <rniwa@webkit.org>
2817 * dom/DynamicNodeList.h:
2818 (DynamicSubtreeNodeList):
2820 2012-03-14 Ryosuke Niwa <rniwa@webkit.org>
2822 (register|unregister)DynamicSubtreeNodeList should be called only for labels and regions node lists
2823 https://bugs.webkit.org/show_bug.cgi?id=80900
2825 Reviewed by Andreas Kling.
2827 Cleaned up invalidation code for dynamic node lists. It seems like the existing code was utterly confused
2828 about the lifetime of node lists and caches within them. First, register/unregsiterDynamicSubtreeNodeList
2829 are called for all dynamic node lists even though it's only useful for labels and region node lists since
2830 it's a mechanism to allow node lists to be invalidated at a node to which the node list doesn't belong.
2832 Second, some node lists had dedicated member functions on Node to explicitly invalidate caches in
2833 parsedAttribute. However, this is redundant because invalidateNodeListsCacheAfterAttributeChanged should be
2834 able to invalidate caches when the attribute value changes. This patch gets rid of the last instance of such
2835 function in HTMLLabelElement.
2837 And finally, this patch restricts the callers of DynamicSubtreeNodeList::invalidateCache to be member
2838 functions of NodeListsNodeData (now friends of DynamicSubtreeNodeList) to allow futher refactoring.
2840 * dom/DynamicNodeList.cpp:
2841 (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Don't register the node list since it's only
2842 useful for labels and region node lists.
2843 (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList): Ditto.
2844 * dom/DynamicNodeList.h:
2845 (DynamicSubtreeNodeList):
2848 (WebCore::Node::registerDynamicSubtreeNodeList): The comment about now we have to invalidate caches
2849 when there had no caches is incorrect because registerDynamicSubtreeNodeList is called when a node list
2850 is initially created. Also, if the tree scope didn't have any caches, then this is the first node list
2851 to be added to the list, so there's no point in calling InvalidateCaches (no-op).
2852 (WebCore::Node::unregisterDynamicSubtreeNodeList):
2853 (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Take care of "for" content attribute.
2854 Also remove the redundant call to removeNodeListCacheIfPossible since we only invalidates node lists
2855 and never remove entries from NodeListsNodeData in this function.
2856 (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): The call to removeNodeListCacheIfPossible
2857 is also redundant here. Also removed the invalidation of m_listsWithCaches since it's already done in
2858 invalidateCaches via invalidateCachesThatDependOnAttributes.
2859 (WebCore::NodeListsNodeData::invalidateCaches): Removed the invalidation of m_labelsNodeListCache. It's
2860 done in invalidateCachesThatDependOnAttributes.
2861 (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Invalidate
2862 m_listsInvalidatedAtDocument, which is renamed from m_listsWithCaches.
2863 (WebCore::NodeListsNodeData::isEmpty):
2866 * dom/NodeRareData.h:
2867 (NodeListsNodeData):
2868 * html/HTMLLabelElement.cpp:
2869 (WebCore): Removed parseAttribute since the invalidation labels node list is now done by
2870 invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.
2871 * html/HTMLLabelElement.h:
2873 * html/LabelsNodeList.cpp:
2874 (WebCore::LabelsNodeList::LabelsNodeList):
2875 (WebCore::LabelsNodeList::~LabelsNodeList):
2877 2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
2879 Unreviewed, rolling out r110565.
2880 http://trac.webkit.org/changeset/110565
2881 https://bugs.webkit.org/show_bug.cgi?id=81173
2883 chromium deps are now far enough along that the original cl
2884 should work (Requested by thakis on #webkit).
2886 * WebCore.gyp/mac/adjust_visibility.sh:
2888 2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
2890 Unreviewed, rolling out r110641.
2891 http://trac.webkit.org/changeset/110641
2892 https://bugs.webkit.org/show_bug.cgi?id=81170
2894 Causes an ASAN failure (Requested by abarth on #webkit).
2899 * bindings/scripts/CodeGeneratorJS.pm:
2901 (GenerateImplementation):
2902 * bindings/scripts/CodeGeneratorV8.pm:
2904 (GenerateNamedConstructorCallback):
2905 (GenerateImplementation):
2906 * bindings/scripts/IDLAttributes.txt:
2907 * bindings/scripts/test/V8/V8Float64Array.cpp:
2909 * bindings/scripts/test/V8/V8Float64Array.h:
2911 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2913 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2914 (V8TestActiveDOMObject):
2915 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2917 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2918 (V8TestCustomNamedGetter):
2919 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2921 * bindings/scripts/test/V8/V8TestEventConstructor.h:
2922 (V8TestEventConstructor):
2923 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2925 * bindings/scripts/test/V8/V8TestEventTarget.h:
2926 (V8TestEventTarget):
2927 * bindings/scripts/test/V8/V8TestInterface.cpp:
2929 * bindings/scripts/test/V8/V8TestInterface.h:
2931 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2933 * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2934 (V8TestMediaQueryListListener):
2935 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2937 * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2938 (V8TestNamedConstructor):
2939 * bindings/scripts/test/V8/V8TestObj.cpp:
2941 * bindings/scripts/test/V8/V8TestObj.h:
2943 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2945 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2946 (V8TestSerializedScriptValueInterface):
2947 * bindings/v8/NPV8Object.cpp:
2948 (WebCore::npObjectTypeInfo):
2949 * bindings/v8/V8GCController.cpp:
2950 (WebCore::GrouperVisitor::visitDOMWrapper):
2951 * bindings/v8/WrapperTypeInfo.h:
2954 * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
2957 * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2960 * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
2963 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2965 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2968 * bindings/v8/custom/V8StyleSheetCustom.cpp:
2970 * css/CSSStyleSheet.idl:
2971 * css/StyleSheet.idl:
2972 * dom/DOMStringMap.idl:
2973 * dom/NamedNodeMap.idl:
2974 * html/DOMTokenList.idl:
2975 * html/track/TextTrackList.cpp:
2976 * html/track/TextTrackList.idl:
2978 2012-03-13 Jon Lee <jonlee@apple.com>
2980 Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
2981 https://bugs.webkit.org/show_bug.cgi?id=80922
2982 <rdar://problem/11035082>
2984 Reviewed by Jian Li.
2986 You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
2987 LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
2988 new API. Therefore, APIs that are common between the two will have:
2989 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
2991 This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
2992 the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
2994 * bindings/scripts/InFilesCompiler.pm: Update the script to handle the "|" flag in a conditional.
2995 (preferredConditional):
2996 (conditionalStringFromAttributeValue):
2997 (generateInterfacesHeader):
2998 (generateHeadersHeader):
3000 Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
3002 * bindings/cpp/WebDOMEventTarget.cpp:
3004 * bindings/js/JSDesktopNotificationsCustom.cpp:
3005 * bindings/v8/custom/V8NotificationCenterCustom.cpp:
3006 * dom/EventTargetFactory.in:
3007 * notifications/Notification.cpp:
3008 * notifications/Notification.h:
3009 * notifications/Notification.idl:
3010 * notifications/NotificationCenter.cpp:
3011 * notifications/NotificationCenter.h:
3012 * notifications/NotificationCenter.idl:
3013 * notifications/NotificationContents.h:
3014 * notifications/NotificationController.cpp:
3015 * notifications/NotificationController.h:
3016 * page/DOMWindow.cpp:
3017 (WebCore::DOMWindow::~DOMWindow):
3018 (WebCore::DOMWindow::willDetachPage):
3019 (WebCore::DOMWindow::disconnectDOMWindowProperties):
3020 (WebCore::DOMWindow::clearDOMWindowProperties):
3024 * page/DOMWindow.idl:
3026 (WebCore::Frame::willDetachPage):
3027 (WebCore::Frame::transferChildFrameToNewDocument):
3028 * workers/WorkerContext.cpp:
3029 (WebCore::WorkerContext::~WorkerContext):
3031 * workers/WorkerContext.h:
3033 * workers/WorkerContext.idl:
3034 * workers/WorkerThread.cpp:
3035 (WebCore::WorkerThread::WorkerThread):
3036 * workers/WorkerThread.h:
3039 2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
3041 Unreviewed, rolling out r110744.
3042 http://trac.webkit.org/changeset/110744
3043 https://bugs.webkit.org/show_bug.cgi?id=81168
3045 Causes many WebAudio tests to crash in debug (Requested by
3048 * platform/audio/Biquad.cpp:
3049 (WebCore::Biquad::process):
3051 2012-03-14 Brady Eidson <beidson@apple.com>
3053 <rdar://problem/11045584> and https://bugs.webkit.org/show_bug.cgi?id=81166
3054 Repro crash in compositing/iframes/page-cache-layer-tree.html
3056 Reviewed by Sam Weinig.
3058 No new tests. (Discovered from and covered by existing test)
3060 ScriptCachedFrameData doesn't need to keep a DOMWindow:
3061 * bindings/js/ScriptCachedFrameData.cpp:
3062 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
3063 * bindings/js/ScriptCachedFrameData.h:
3064 (ScriptCachedFrameData):
3066 CachedFrame should grab it off the Frame directly and store it locally:
3067 * history/CachedFrame.cpp:
3068 (WebCore::CachedFrame::CachedFrame):
3069 * history/CachedFrame.h:
3070 (WebCore::CachedFrameBase::domWindow):
3073 2012-03-14 Tony Chang <tony@chromium.org>
3075 fix negative flexing in auto sized columns
3076 https://bugs.webkit.org/show_bug.cgi?id=80069
3078 Reviewed by Ojan Vafai.
3080 New test cases in css3/flexbox/columns-auto-size.html.
3082 * rendering/RenderFlexibleBox.cpp:
3084 (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Properly compute this for auto sizing columns. Previously, we would always return 0.
3085 (WebCore::RenderFlexibleBox::layoutFlexItems):
3086 (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Drop an unnecessary check against undefined. isSpecified covers this for us.
3087 * rendering/RenderFlexibleBox.h:
3088 (RenderFlexibleBox):
3090 2012-03-14 Grace Ku <gracek@codeaurora.org>
3092 Incorrect handling of sizes in "em" when first-line changes font size
3093 https://bugs.webkit.org/show_bug.cgi?id=79526
3095 Reviewed by Eric Seidel.
3097 When a first-line pseudo class changes the font size, the "em" unit is handled incorrectly.
3098 It uses the paragraph's original font size (the size of the rest of the paragraph) rather than
3099 the font-size of the first-line of the paragraph.
3101 This was corrected by checking if the InlineFlowBox was the first line using the existing
3102 InlineFlowBox::isFirstLineStyle() function. The corrected behaviour matches Gecko and Presto.
3103 Trident seems to get it half-wrong in the use case we are testing, painting the correct width for
3104 the border but leaving the wrong amount of space.
3106 The CSS specification doc at the time of this patch specifies that ':first-line' should only support
3107 certain properties, though UAs may choose to apply more properties. Furthermore, the spec does not
3108 define the exact rendering of all cases of ':first-line'. It notes that a more precise definition
3109 may appear in future revisions.
3111 Test: fast/css/pseudo-first-line-border-width.html
3113 * rendering/InlineFlowBox.cpp:
3114 (WebCore::InlineFlowBox::paintBoxDecorations):
3115 * rendering/InlineFlowBox.h:
3116 (WebCore::InlineFlowBox::borderLogicalLeft):
3117 (WebCore::InlineFlowBox::borderLogicalRight):
3118 * rendering/RenderBoxModelObject.cpp:
3119 (WebCore::RenderBoxModelObject::paintBorder):
3120 (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
3121 (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
3122 (WebCore::RenderBoxModelObject::borderObscuresBackground):
3123 * rendering/RenderBoxModelObject.h:
3124 (RenderBoxModelObject):
3126 2012-03-14 Martin Robinson <mrobinson@igalia.com>
3128 Fix the TextureMapper build for GTK+.
3130 No new tests. This is just a build fix.
3132 * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
3133 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3134 * platform/graphics/texmap/TextureMapper.h:
3136 2012-03-12 Martin Robinson <mrobinson@igalia.com>
3138 [GTK] Menulist buttons have separators even when the theme turns them off
3139 https://bugs.webkit.org/show_bug.cgi?id=80668
3141 Reviewed by Daniel Bates.
3143 No new tests. GTK+ theme differences are notoriously difficult
3144 to test, because consistent results depend on having certain themes
3145 and certain versions of themes installed.
3147 Instead of using the GTK_TYPE_BUTTON and GTK_TYPE_SEPARATOR tags to get the
3148 style context, use GTK_TYPE_COMBO_BOX which should provide more accurate theme settings.
3150 * platform/gtk/RenderThemeGtk3.cpp:
3151 (WebCore::getComboBoxMetrics): Get metrics from a GTK_TYPE_COMBO_BOX style context.
3152 (WebCore::RenderThemeGtk::paintMenuList): Get separator settings from the GTK_TYPE_COMBO_BOX style context.
3154 2012-03-14 Levi Weintraub <leviw@chromium.org>
3156 Implement proper sub-pixel support in RenderFileUploadControl
3157 https://bugs.webkit.org/show_bug.cgi?id=80881
3159 Reviewed by Dimitri Glazkov.
3161 Correcting improper usage of LayoutUnits when interacting with the graphics context
3162 and platform code. Specifically:
3163 - pixel snapping the clip rect and paint offsets before sending values to the
3164 graphics context in paintObject.
3165 - using on-screen (pixel snapped) values to pass off to platform code to determine
3166 the max length of the filename to be drawn.
3168 No new tests. No change in behavior.
3170 * rendering/RenderFileUploadControl.cpp:
3171 (WebCore::nodeWidth):
3172 (WebCore::RenderFileUploadControl::maxFilenameWidth):
3173 (WebCore::RenderFileUploadControl::paintObject):
3175 2012-03-14 Joseph Pecoraro <pecoraro@apple.com>
3177 [JSC] Web Inspector: CRASH running $0, $1, etc before they are set
3178 https://bugs.webkit.org/show_bug.cgi?id=81082
3180 Don't return an invalid JSValue. Check if the ScriptValue
3181 has no value and return undefined in that case.
3183 Reviewed by Pavel Feldman.
3185 Updated test: inspector/console/command-line-api.html
3187 * bindings/js/JSInjectedScriptHostCustom.cpp:
3188 (WebCore::JSInjectedScriptHost::inspectedObject):
3190 2012-03-14 James Robinson <jamesr@chromium.org>
3192 [chromium] Remove canRecoverFromContextLoss attribute, it's unused
3193 https://bugs.webkit.org/show_bug.cgi?id=81158
3195 Reviewed by Stephen White.
3197 Canvas accelerated no longer depends on the canRecoverFromContextLoss attribute after r110716.
3199 * platform/graphics/GraphicsContext3D.h:
3200 (WebCore::GraphicsContext3D::Attributes::Attributes):
3202 * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3203 (WebCore::SharedGraphicsContext3DImpl::get):
3205 2012-03-14 Jer Noble <jer.noble@apple.com>
3207 Opening a URL in a MediaDocument does not propagate MIME type info to media element
3208 https://bugs.webkit.org/show_bug.cgi?id=81148
3210 Reviewed by Eric Carlson.
3212 Test: http/tests/media/media-document.html
3214 Pass through the mime type from the DocumentLoader into the <source type=""> attribute of the
3215 generated video element.
3217 * html/MediaDocument.cpp:
3218 (WebCore::MediaDocumentParser::createDocumentStructure):
3220 2012-03-14 Stephen White <senorblanco@chromium.org>
3222 [chromium] Fix accelerated Canvas2D with threaded compositing.
3223 https://bugs.webkit.org/show_bug.cgi?id=80998
3225 Reviewed by James Robinson.
3227 Covered by unit tests Canvas2DLayerChromiumTest and
3228 TreeSynchronizerTest.
3230 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3231 (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
3233 Delay creation of the front texture for double-buffering until the
3234 first call to paintContentsIfDirty().
3235 * platform/graphics/chromium/Canvas2DLayerChromium.h:
3236 (Canvas2DLayerChromium):
3237 Remove setTextureManager() and setLayerTreeHost(), since their job
3238 has been subsumed by paintContentsIfDirty().
3239 * platform/graphics/chromium/TreeSynchronizer.cpp:
3240 (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
3241 Perform an early-out if the passed-in layer is NULL.
3243 2012-03-14 Mark Pilgrim <pilgrim@chromium.org>
3245 Move EntriesCallback to Modules/filesystem/
3246 https://bugs.webkit.org/show_bug.cgi?id=81032
3248 Reviewed by Adam Barth.
3250 No new tests, all existing tests pass.
3253 * DerivedSources.make:
3254 * DerivedSources.pri:
3255 * GNUmakefile.list.am:
3256 * Modules/filesystem/EntriesCallback.h: Copied from Source/WebCore/fileapi/EntriesCallback.h.
3257 * Modules/filesystem/EntriesCallback.idl: Copied from Source/WebCore/fileapi/EntriesCallback.idl.
3260 * WebCore.vcproj/WebCore.vcproj:
3261 * WebCore.xcodeproj/project.pbxproj:
3262 * fileapi/EntriesCallback.h: Removed.
3263 * fileapi/EntriesCallback.idl: Removed.
3265 2012-03-14 Tony Chang <tony@chromium.org>
3267 multiline column flexbox with auto height wrap too much
3268 https://bugs.webkit.org/show_bug.cgi?id=80929
3270 Reviewed by David Hyatt.
3272 Test: css3/flexbox/multiline-column-auto.html
3274 * rendering/RenderBox.cpp:
3275 (WebCore::RenderBox::computeLogicalHeightUsing):
3277 (WebCore::RenderBox::computeContentLogicalHeightUsing): Pull out into a separate method.
3278 * rendering/RenderBox.h:
3280 * rendering/RenderFlexibleBox.cpp:
3281 (WebCore::RenderFlexibleBox::lineBreakLength): Compute the value based on height & max-height for column layout.
3283 (WebCore::RenderFlexibleBox::computeNextFlexLine):
3284 * rendering/RenderFlexibleBox.h:
3285 (RenderFlexibleBox):
3287 2012-03-14 Xingnan Wang <xingnan.wang@intel.com>
3289 Optimize the multiply-add in Biquad.cpp::process
3290 https://bugs.webkit.org/show_bug.cgi?id=75528
3292 Reviewed by Chris Rogers.
3294 Pipeline the multiply-add with SSE2 instructions and get about 20% improvement for the function.
3296 * platform/audio/Biquad.cpp:
3297 (WebCore::Biquad::process):
3299 2012-03-14 James Robinson <jamesr@chromium.org>
3301 [Chromium] Layout Test compositing/repaint/opacity-between-absolute.html is flaky
3302 https://bugs.webkit.org/show_bug.cgi?id=79823
3304 Reviewed by Adrienne Walker.
3306 LayerRendererChromium was storing a weak pointer to the current render surface in m_currentRenderSurface and
3307 using this in useRenderSurface() to avoid rebinding if we called useRenderSurface() multiple times in a row on
3308 the same surface. This pointer was never cleared, so if any subsequent surface landed at the same address this
3309 caching would misbehave and we'd fail to correctly initialize the new render surface. The caching wasn't
3310 actually buying us anything anyway since we only call useRenderSurface() once per surface per frame and we
3311 always set the viewport for the default render surface.
3313 * platform/graphics/chromium/LayerRendererChromium.cpp:
3314 (WebCore::LayerRendererChromium::beginDrawingFrame):
3315 (WebCore::LayerRendererChromium::useRenderSurface):
3317 2012-03-14 Zalan Bujtas <zbujtas@gmail.com>
3319 Frame flattening ASSERT(!needsLayout()) in FrameView::paintContents()
3320 https://bugs.webkit.org/show_bug.cgi?id=80155
3322 Reviewed by Antti Koivisto.
3324 This patch ensures that an iframe only schedules and calls parent's layout,
3325 when it is going to be flattened. Non-flattened iframe does not affect
3326 parent's layout, so normal layout flow applies. isInSubframeLayoutWithFrameFlattening()
3327 function has been added to test whether a particular child frame is changing
3328 parent's layout. This function also ensures that scheduleRelayout() and layout()
3329 are in sync of checking againts frame flattening.
3331 Test: fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html
3333 * page/FrameView.cpp:
3334 (WebCore::FrameView::avoidScrollbarCreation):
3335 (WebCore::FrameView::layout):
3336 (WebCore::FrameView::scheduleRelayout):
3337 (WebCore::FrameView::isInChildFrameWithFrameFlattening):
3339 (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
3342 * rendering/RenderIFrame.h:
3344 (WebCore::RenderIFrame::renderName):
3346 2012-03-14 Anders Carlsson <andersca@apple.com>
3348 Don't cap the scroll position if layout happens when a FrameView's overhangAmount is non-zero
3349 https://bugs.webkit.org/show_bug.cgi?id=81146
3350 <rdar://problem/10850075>
3352 Reviewed by Beth Dakin.
3354 If layout happens when a page has a non-zero overhang amount, we shouldn't cap the scroll position
3355 to be inside of the valid maximum/minimum scroll offsets because that will cause the page to jump back, which
3356 can look really bad if layout happens in response to the page being scrolled.
3358 * platform/ScrollView.cpp:
3359 (WebCore::ScrollView::updateScrollbars):
3361 2012-03-14 Tommy Widenflycht <tommyw@google.com>
3363 MediaStream API (JSEP): Introducing IceCandidate
3364 https://bugs.webkit.org/show_bug.cgi?id=80699
3366 Reviewed by Adam Barth.
3368 Patch #2 in a series of patches to change the PeerConnection from ROAP to JSEP,
3369 see bug 80589 for more information.
3370 Adding the JS object IceCandidate and its WebCore/platform sibling IceCandidateDescriptor.
3371 This object will be created both from JS and the embedder.
3373 Not possible to test until the entire JSEP feature is commited.
3375 * GNUmakefile.list.am:
3376 * Modules/mediastream/IceCandidate.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3378 (WebCore::IceCandidate::create):
3379 (WebCore::IceCandidate::IceCandidate):
3380 (WebCore::IceCandidate::~IceCandidate):
3381 (WebCore::IceCandidate::label):
3382 (WebCore::IceCandidate::candidateLine):
3383 (WebCore::IceCandidate::toSdp):
3384 (WebCore::IceCandidate::descriptor):
3385 * Modules/mediastream/IceCandidate.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3388 * Modules/mediastream/IceCandidate.idl: Added.
3390 * platform/mediastream/IceCandidateDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3392 (WebCore::IceCandidateDescriptor::create):
3393 (WebCore::IceCandidateDescriptor::IceCandidateDescriptor):
3394 (WebCore::IceCandidateDescriptor::~IceCandidateDescriptor):
3395 (WebCore::IceCandidateDescriptor::toSdp):
3396 * platform/mediastream/IceCandidateDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
3398 (IceCandidateDescriptor):
3399 (WebCore::IceCandidateDescriptor::label):
3400 (WebCore::IceCandidateDescriptor::candidateLine):
3401 * platform/mediastream/MediaStreamCenter.cpp:
3402 (WebCore::MediaStreamCenter::constructSdp):
3404 * platform/mediastream/MediaStreamCenter.h:
3406 (MediaStreamCenter):
3408 2012-03-14 Simon Fraser <simon.fraser@apple.com>
3410 background-visibility:hidden should create a RenderLayer
3411 https://bugs.webkit.org/show_bug.cgi?id=81134
3413 Reviewed by Dean Jackson.
3415 Background-visibility:hidden has to create RenderLayers, because it's implemented
3416 via compositing and/or paint short-circuiting in RenderLayer code.
3418 Test: transforms/3d/general/background-visibility-layers.html
3420 * rendering/RenderBox.h:
3421 * rendering/RenderBoxModelObject.h:
3422 (WebCore::RenderBoxModelObject::requiresLayer):
3423 * rendering/RenderObject.h:
3424 (WebCore::RenderObject::hasHiddenBackface):
3425 * rendering/RenderTableRow.h:
3427 2012-03-14 Raul Hudea <rhudea@adobe.com>
3429 [CSSRegions][CSSOM] Implement regionLayoutEvent
3430 https://bugs.webkit.org/show_bug.cgi?id=78882
3432 Reviewed by David Hyatt.
3434 Adding the regionLayoutEvent that is dispatch for all regions after each flow-thread layout.
3436 Tests: fast/regions/region-event-add-to-flow.html
3437 fast/regions/region-event-remove-from-dom.html
3438 fast/regions/region-event-remove-from-flow.html
3439 fast/regions/region-event.html
3442 (WebCore::Document::addListenerTypeIfNeeded): Added check for regionLayoutUpdate listeners
3447 (WebCore::Node::dispatchRegionLayoutUpdateEvent):
3451 * rendering/RenderFlowThread.cpp:
3452 (WebCore::RenderFlowThread::RenderFlowThread):
3453 (WebCore::RenderFlowThread::layout): Start the event dispatch timer but only if there are regionLayoutUpdate listeners and there is at least one region that had its layout updated.
3454 (WebCore::RenderFlowThread::computeOverflowStateForRegions): Mark regions that might had a layout update
3455 (WebCore::RenderFlowThread::regionLayoutUpdateEventTimerFired):
3457 * rendering/RenderFlowThread.h:
3458 * rendering/RenderRegion.cpp:
3459 (WebCore::RenderRegion::RenderRegion):
3460 * rendering/RenderRegion.h:
3461 (WebCore::RenderRegion::setDispatchRegionLayoutUpdateEvent):
3462 (WebCore::RenderRegion::shouldDispatchRegionLayoutUpdateEvent):
3465 2012-03-14 Pierre Rossi <pierre.rossi@gmail.com>
3467 [Qt] Add support for vertical sliders in mobile theme
3468 https://bugs.webkit.org/show_bug.cgi?id=80179
3470 This makes sliders using the "slider-vertical" appearance more sensible.
3472 Reviewed by Simon Hausmann.
3474 No new tests, since the mobile theme still isn't used&