1 2012-11-14 Shinya Kawanaka <shinyak@chromium.org>
3 Changing pseudoClass (:disabled) should cause distribution.
4 https://bugs.webkit.org/show_bug.cgi?id=101901
6 Reviewed by Hajime Morita.
8 We have to invalidate distribution when pseudo-class (:disabled) is changed.
10 According to the HTML5 spec, :disabled will match button, input, select, textarea, optgroup,
11 option, command, li, and fieldset. However, command is not implemented yet, we skip li and command. li might
12 have 'disabled' state, but we need a command element to make it 'disabled' state.
14 Tests: fast/dom/shadow/pseudoclass-update-disabled-button.html
15 fast/dom/shadow/pseudoclass-update-disabled-fieldset.html
16 fast/dom/shadow/pseudoclass-update-disabled-input.html
17 fast/dom/shadow/pseudoclass-update-disabled-optgroup.html
18 fast/dom/shadow/pseudoclass-update-disabled-option.html
19 fast/dom/shadow/pseudoclass-update-disabled-select.html
20 fast/dom/shadow/pseudoclass-update-disabled-textarea.html
22 * html/HTMLFormControlElement.cpp:
23 (WebCore::HTMLFormControlElement::disabledAttributeChanged):
24 * html/HTMLOptGroupElement.cpp:
25 (WebCore::HTMLOptGroupElement::parseAttribute):
26 * html/HTMLOptionElement.cpp:
27 (WebCore::HTMLOptionElement::parseAttribute):
29 2012-11-14 Sheriff Bot <webkit.review.bot@gmail.com>
31 Unreviewed, rolling out r134691, r134703, r134715, r134716,
33 http://trac.webkit.org/changeset/134691
34 http://trac.webkit.org/changeset/134703
35 http://trac.webkit.org/changeset/134715
36 http://trac.webkit.org/changeset/134716
37 http://trac.webkit.org/changeset/134733
38 https://bugs.webkit.org/show_bug.cgi?id=102342
40 "Broke the Apple Windows Debug and GTK builds." (Requested by
44 * bindings/js/SerializedScriptValue.h:
45 * testing/Internals.cpp:
46 * testing/Internals.h:
48 * testing/Internals.idl:
50 2012-11-14 Pavel Feldman <pfeldman@chromium.org>
52 Not reviewed: fixing inspector tests under Qt.
54 * inspector/front-end/TestController.js:
55 * inspector/front-end/utilities.js:
58 2012-11-14 Kentaro Hara <haraken@chromium.org>
60 Unreviewed. Rebaselined run-bindings-tests.
62 * bindings/scripts/test/V8/V8TestNode.h:
65 2012-11-14 Simon Fraser <simon.fraser@apple.com>
67 Don't use temporary clip rects when hit testing
68 https://bugs.webkit.org/show_bug.cgi?id=102329
70 Reviewed by Beth Dakin.
72 We now cache clip rects separately for painting, hit testing etc. Hit testing
73 clip rects are always shrunk to exclude scrollbars (so that hit testing on
74 the scrollbars works), so we no longer every need to use temporary clip rects
77 Added an assertion that the scrollbar relevancy when we computed the clip rects
78 is the same as that when using them.
80 * rendering/RenderLayer.cpp:
81 (WebCore::RenderLayer::hitTestLayer):
82 (WebCore::RenderLayer::updateClipRects):
83 * rendering/RenderLayer.h:
84 (WebCore::ClipRectsCache::ClipRectsCache):
87 2012-11-14 Dirk Schulze <krit@webkit.org>
89 Support animation of basic shape 'polygon'
90 https://bugs.webkit.org/show_bug.cgi?id=102080
92 Reviewed by Daniel Bates.
94 The basic shapes 'circle', 'rectangle' and 'ellipse' are animatable with the committed
95 patch http://trac.webkit.org/changeset/134352.
96 This is a follow-up patch to make 'polygon' animatable as well, as long as the number
97 of vertices between start and end polygon is the same.
99 Added polygon animation test to existing test:
100 fast/exclusions/shape-inside/shape-inside-animation.html
101 css3/masking/clip-path-animation.html
103 * page/animation/CSSPropertyAnimation.cpp: Forgot to add copyright with last commits.
104 * rendering/style/BasicShapes.cpp:
105 (WebCore::BasicShape::canBlend): Polygons are allowed now.
106 (WebCore::BasicShapePolygon::blend): Interpolate polygon shapes.
108 2012-11-14 Kentaro Hara <haraken@chromium.org>
110 Unreviewed. Fix code generator warnings.
112 * bindings/scripts/CodeGeneratorV8.pm:
113 (GenerateFunctionCallback):
114 (GenerateImplementation):
116 2012-11-14 Shinya Kawanaka <shinyak@chromium.org>
118 Changing pseudoClass (:checked) should cause distribution.
119 https://bugs.webkit.org/show_bug.cgi?id=101902
121 Reviewed by Dimitri Glazkov.
123 When the 'checked' state is changed, we have to invalidate distribution.
125 According to the HTML5 spec, :checked should match a checked input[type="checkbox"],
126 a checked input[type="radio"], a selected option, and commands. However, we don't have a command element yet.
128 Tests: fast/dom/shadow/pseudoclass-update-checked-input.html
129 fast/dom/shadow/pseudoclass-update-checked-option.html
131 * html/HTMLInputElement.cpp:
132 (WebCore::HTMLInputElement::setChecked):
133 * html/HTMLOptionElement.cpp:
134 (WebCore::HTMLOptionElement::setSelectedState):
136 2012-11-14 Kentaro Hara <haraken@chromium.org>
138 [V8] Kill $implClassName from CodeGeneratorV8.pm
139 https://bugs.webkit.org/show_bug.cgi?id=102312
141 Reviewed by Adam Barth.
143 $implClassName and $interfaceName are the same.
144 Sometimes we are passing both $implClassName and $interfaceName to
145 subroutines. We can kill $implClassName.
147 No tests. No change in behavior.
149 * bindings/scripts/CodeGeneratorV8.pm:
150 (GenerateOpaqueRootForGC):
152 (GenerateDomainSafeFunctionGetter):
153 (GenerateDomainSafeFunctionSetter):
154 (GenerateConstructorGetter):
155 (GenerateNormalAttrGetter):
156 (GenerateReplaceableAttrSetter):
157 (GenerateNormalAttrSetter):
158 (GenerateEventListenerCallback):
159 (GenerateOverloadedFunctionCallback):
160 (GenerateFunctionCallback):
161 (GenerateParametersCheck):
162 (GenerateOverloadedConstructorCallback):
163 (GenerateSingleConstructorCallback):
164 (GenerateConstructorCallback):
165 (GenerateEventConstructorCallback):
166 (GenerateTypedArrayConstructorCallback):
167 (GenerateNamedConstructorCallback):
168 (GenerateImplementation):
169 (GenerateFunctionCallString):
171 2012-11-14 Adam Barth <abarth@webkit.org>
173 [V8] We can shave one instruction off toV8Fast
174 https://bugs.webkit.org/show_bug.cgi?id=102297
176 Reviewed by Kentaro Hara.
178 There's no reason to store info.Holder in a local variable. Calling
179 Holder() is essentially free because it's inlined to an offset read.
181 I doubt this patch moves the performance needle in any measurable way,
182 but it makes the code slightly prettier.
184 * bindings/scripts/CodeGeneratorV8.pm:
186 * bindings/scripts/test/V8/V8TestNode.h:
189 2012-11-14 Kentaro Hara <haraken@chromium.org>
191 [V8] Get rid of a redundant branch in JSValueToNative()
192 https://bugs.webkit.org/show_bug.cgi?id=102311
194 Reviewed by Adam Barth.
196 No tests. No change in behavior.
198 * bindings/scripts/CodeGeneratorV8.pm:
202 2012-11-14 Shinya Kawanaka <shinyak@chromium.org>
204 Changing pseudoClass (:link) should cause distribution
205 https://bugs.webkit.org/show_bug.cgi?id=101698
207 Reviewed by Hajime Morita.
209 CSSSelector :link matches anchor element with href attribute. When href attribute of an anchor element is changed,
210 we have to invalidate distribution.
212 According to the HTML spec, :link matches a link element having href attribute, currently we have not implemented it yet.
214 Tests: fast/dom/shadow/pseudoclass-update-link-anchor.html
215 fast/dom/shadow/pseudoclass-update-link-area.html
217 * html/HTMLAnchorElement.cpp:
218 (WebCore::HTMLAnchorElement::parseAttribute):
220 2012-11-14 Kentaro Hara <haraken@chromium.org>
222 Remove unused functions from CodeGenerator.pm
223 https://bugs.webkit.org/show_bug.cgi?id=102316
225 Reviewed by Adam Barth.
227 No tests. No change in behavior.
229 * bindings/scripts/CodeGenerator.pm:
230 (GenerateCompileTimeCheckForEnumsIfNeeded):
232 2012-11-14 Tiancheng Jiang <tijiang@rim.com>
234 [BlackBerry] Update BB10 form theme.
235 https://bugs.webkit.org/show_bug.cgi?id=100760
237 Reviewed by Rob Buis.
240 Internally Reviewed by Eli Fidler.
241 Update checkbox, radio and menulist button style. Adjust border width
244 * platform/blackberry/RenderThemeBlackBerry.cpp:
245 (WebCore::RenderThemeBlackBerry::adjustMenuListButtonStyle):
246 * platform/blackberry/RenderThemeBlackBerry.h:
247 (RenderThemeBlackBerry):
249 2012-11-14 Erik Arvidsson <arv@chromium.org>
251 Update DOMException name: InvalidModificationError
252 https://bugs.webkit.org/show_bug.cgi?id=102281
254 Reviewed by Kentaro Hara.
256 Patch 13 of 25 to update DOMException name to match the spec and Firefox.
258 DOMExcecption INVALID_MODIFICATION_ERR is not used in our code.
260 * dom/DOMCoreException.cpp:
262 2012-11-14 Adam Barth <abarth@webkit.org>
264 document variable in Document::axObjectCache is actually the topDocument
265 https://bugs.webkit.org/show_bug.cgi?id=101966
267 Reviewed by Chris Fleizach.
269 Name change requested by Darin Adler.
272 (WebCore::Document::axObjectCache):
274 2012-11-14 Joseph Pecoraro <pecoraro@apple.com>
276 [CF]: XMLHttpRequest "timeout" events firing as "error" events
277 https://bugs.webkit.org/show_bug.cgi?id=102271
279 Reviewed by David Kilzer.
281 Initialize the tiemout flag if the error results from a timeout
282 in the USE(CFNETWORK) cases.
284 No new tests. This is covered by http/tests/xmlhttprequest/timeout
285 tests on ports that USE(CFNETWORK).
287 * platform/network/cf/ResourceErrorCF.cpp:
288 (WebCore::ResourceError::ResourceError):
289 * platform/network/mac/ResourceErrorMac.mm:
290 (WebCore::ResourceError::ResourceError):
292 2012-11-14 Nico Weber <thakis@chromium.org>
294 [chromium/mac] Fix drawing of buttons, checkboxes, radio boxes, and steppers when the page is scaled
295 https://bugs.webkit.org/show_bug.cgi?id=102282
297 Reviewed by James Robinson.
299 Chromium uses skia, and skia state is synced with CG context state at
300 LocalCurrentGraphicsContext construction time. So delay that
301 construction after context transforms have happened.
302 (This regressed in http://trac.webkit.org/changeset/125830)
304 Covered by the new pixel test fast/forms/zoomed-controls.html. I
305 couldn't find an existing test for this.
307 * platform/mac/ThemeMac.mm:
308 (WebCore::paintCheckbox):
309 (WebCore::paintRadio):
310 (WebCore::paintButton):
312 2012-11-14 Mark Lam <mark.lam@apple.com>
314 Change JSEventListener::m_jsFunction to be a weak ref.
315 https://bugs.webkit.org/show_bug.cgi?id=101989.
317 Reviewed by Geoffrey Garen.
321 * ForwardingHeaders/heap/SlotVisitor.h: Added.
322 * bindings/js/JSDOMBinding.h: Added #include <heap/SlotVisitor.h>
323 * bindings/js/JSEventListener.cpp:
324 (WebCore::JSEventListener::JSEventListener):
325 (WebCore::JSEventListener::visitJSFunction):
326 (WebCore::JSEventListener::operator==):
327 - Removed the m_wrapper checks in operator==() because they are not
328 needed. There is no longer any threat of m_jsFunction pointing to
329 recycled memory. The use of weak refs will ensure that m_jsFunction
330 is either still holding on to its old memory exclusively, or is 0'ed
331 out when the GC collects it.
332 * bindings/js/JSEventListener.h:
334 (WebCore::JSEventListener::jsFunction):
336 2012-11-14 Dan Carney <dcarney@google.com>
338 [V8] Rename dispatchWrap
339 https://bugs.webkit.org/show_bug.cgi?id=102240
341 Reviewed by Adam Barth.
345 wrapSlow->createWrapper
346 dispatchWrapCustom->wrap
348 No new tests. No change in functionality.
350 * bindings/scripts/CodeGeneratorV8.pm:
352 (GenerateNormalAttrGetter):
353 (GenerateImplementation):
354 (GenerateToV8Converters):
355 * bindings/scripts/IDLAttributes.txt:
356 * bindings/scripts/test/V8/V8Float64Array.cpp:
358 (WebCore::V8Float64Array::createWrapper):
359 * bindings/scripts/test/V8/V8Float64Array.h:
362 (WebCore::toV8Object):
364 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
365 (WebCore::V8TestActiveDOMObject::createWrapper):
366 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
367 (V8TestActiveDOMObject):
369 (WebCore::toV8Object):
371 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
372 (WebCore::V8TestCustomNamedGetter::createWrapper):
373 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
374 (V8TestCustomNamedGetter):
376 (WebCore::toV8Object):
378 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
379 (WebCore::V8TestEventConstructor::createWrapper):
380 * bindings/scripts/test/V8/V8TestEventConstructor.h:
381 (V8TestEventConstructor):
383 (WebCore::toV8Object):
385 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
386 (WebCore::V8TestEventTarget::createWrapper):
387 * bindings/scripts/test/V8/V8TestEventTarget.h:
390 (WebCore::toV8Object):
392 * bindings/scripts/test/V8/V8TestException.cpp:
393 (WebCore::V8TestException::createWrapper):
394 * bindings/scripts/test/V8/V8TestException.h:
397 (WebCore::toV8Object):
399 * bindings/scripts/test/V8/V8TestInterface.cpp:
400 (WebCore::V8TestInterface::createWrapper):
401 * bindings/scripts/test/V8/V8TestInterface.h:
404 (WebCore::toV8Object):
406 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
407 (WebCore::V8TestMediaQueryListListener::createWrapper):
408 * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
409 (V8TestMediaQueryListListener):
411 (WebCore::toV8Object):
413 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
414 (WebCore::V8TestNamedConstructor::createWrapper):
415 * bindings/scripts/test/V8/V8TestNamedConstructor.h:
416 (V8TestNamedConstructor):
418 (WebCore::toV8Object):
420 * bindings/scripts/test/V8/V8TestNode.cpp:
421 (WebCore::V8TestNode::createWrapper):
422 * bindings/scripts/test/V8/V8TestNode.h:
425 (WebCore::toV8Object):
428 * bindings/scripts/test/V8/V8TestObj.cpp:
429 (WebCore::V8TestObj::createWrapper):
430 * bindings/scripts/test/V8/V8TestObj.h:
433 (WebCore::toV8Object):
435 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
436 (WebCore::V8TestOverloadedConstructors::createWrapper):
437 * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
438 (V8TestOverloadedConstructors):
440 (WebCore::toV8Object):
442 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
443 (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
444 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
445 (V8TestSerializedScriptValueInterface):
447 (WebCore::toV8Object):
449 * bindings/v8/custom/V8BlobCustom.cpp:
451 * bindings/v8/custom/V8CSSRuleCustom.cpp:
453 * bindings/v8/custom/V8CSSValueCustom.cpp:
455 * bindings/v8/custom/V8CanvasRenderingContextCustom.cpp:
457 * bindings/v8/custom/V8DataViewCustom.cpp:
459 * bindings/v8/custom/V8DocumentCustom.cpp:
461 * bindings/v8/custom/V8ElementCustom.cpp:
464 * bindings/v8/custom/V8EntryCustom.cpp:
466 * bindings/v8/custom/V8EntrySyncCustom.cpp:
468 * bindings/v8/custom/V8EventCustom.cpp:
471 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
473 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
475 * bindings/v8/custom/V8HTMLElementCustom.cpp:
477 * bindings/v8/custom/V8ImageDataCustom.cpp:
479 * bindings/v8/custom/V8NodeCustom.cpp:
481 * bindings/v8/custom/V8PerformanceEntryCustom.cpp:
483 * bindings/v8/custom/V8SVGDocumentCustom.cpp:
485 * bindings/v8/custom/V8SVGElementCustom.cpp:
487 * bindings/v8/custom/V8SVGPathSegCustom.cpp:
489 * bindings/v8/custom/V8StyleSheetCustom.cpp:
492 (printWrapperFunctions):
493 (printWrapperFactoryCppFile):
495 2012-11-14 Ryuan Choi <ryuan.choi@gmail.com>
497 [EFL] Refactor theme to choose whether to support foreground color of selection
498 https://bugs.webkit.org/show_bug.cgi?id=102037
500 Reviewed by Gyuyoung Kim.
502 RenderThemeEfl can change foreground color of selection using theme file.
503 But it can not disable supports of foreground color to keep the text color
506 This patch refactors color classes of theme file from active/inactive classes
507 to foreground/background classes so that RenderThemeEfl checks whether
508 theme file supports foreground color class.
510 * platform/efl/RenderThemeEfl.cpp:
511 (WebCore::fillColorsFromEdjeClass):
512 (WebCore::RenderThemeEfl::setColorFromThemeClass):
513 (WebCore::RenderThemeEfl::loadTheme):
514 (WebCore::RenderThemeEfl::RenderThemeEfl):
515 (WebCore::RenderThemeEfl::supportsSelectionForegroundColors):
517 * platform/efl/RenderThemeEfl.h:
520 2012-11-14 Tony Chang <tony@chromium.org>
522 Convert m_selectorVector back to a stack allocated m_reusableSelectorVector
523 https://bugs.webkit.org/show_bug.cgi?id=102295
525 Reviewed by Andreas Kling.
527 Revert r125252 because we're not going to go forward with implementing CSS hierarchies at this time.
529 No new tests because there should be no change in behavior.
531 * css/CSSGrammar.y.in:
533 (WebCore::CSSParser::CSSParser):
534 (WebCore::CSSParser::parseValue):
535 (WebCore::CSSParser::parseColor):
536 (WebCore::CSSParser::parseDeclaration):
538 (WebCore::filterProperties):
539 (WebCore::CSSParser::createStylePropertySet):
540 (WebCore::CSSParser::addProperty):
541 (WebCore::CSSParser::rollbackLastProperties):
542 (WebCore::CSSParser::clearProperties):
543 (WebCore::CSSParser::parse4Values):
544 (WebCore::CSSParser::parseFlowThread):
545 (WebCore::CSSParser::addTextDecorationProperty):
546 (WebCore::CSSParser::createFloatingSelectorVector):
547 (WebCore::CSSParser::sinkFloatingSelectorVector):
548 (WebCore::CSSParser::createStyleRule):
549 (WebCore::CSSParser::createFontFaceRule):
550 (WebCore::CSSParser::createPageRule):
551 (WebCore::CSSParser::setReusableRegionSelectorVector):
552 (WebCore::CSSParser::startDeclarationsForMarginBox):
553 (WebCore::CSSParser::endDeclarationsForMarginBox):
554 (WebCore::CSSParser::deleteFontFaceOnlyValues):
556 (WebCore::CSSParser::hasProperties):
557 (WebCore::CSSParser::reusableSelectorVector):
559 (WebCore::CSSParser::reusableRegionSelectorVector):
560 * css/CSSParserValues.cpp:
561 (WebCore::CSSParserSelector::adoptSelectorVector):
562 * css/CSSParserValues.h:
564 * css/CSSSelectorList.cpp:
565 (WebCore::CSSSelectorList::adoptSelectorVector):
566 * css/CSSSelectorList.h:
568 * css/SVGCSSParser.cpp:
569 (WebCore::CSSParser::parseSVGValue):
571 (WebCore::StyleRuleRegion::StyleRuleRegion):
573 (WebCore::StyleRule::parserAdoptSelectorVector):
574 (WebCore::StyleRulePage::parserAdoptSelectorVector):
575 (WebCore::StyleRuleRegion::create):
578 2012-11-14 Alec Flett <alecflett@chromium.org>
580 Add tests for explicit serialization values
581 https://bugs.webkit.org/show_bug.cgi?id=96818
583 Reviewed by Adam Barth.
585 Expose direct access to the serialization/deserialization mechanisms
586 of SerializedScriptValue to DumpRenderTree.
588 * testing/Internals.cpp:
589 (WebCore::Internals::serializeObject):
591 (WebCore::Internals::deserializeBuffer):
592 * testing/Internals.h:
594 * testing/Internals.idl:
596 2012-11-14 Michael Pruett <michael@68k.org>
598 IndexedDB: Add clear() method to JSC ScriptValue
599 https://bugs.webkit.org/show_bug.cgi?id=102288
601 Reviewed by Kentaro Hara.
603 IndexedDB uses the ScriptValue::clear() method, which existed
604 previously only in the V8 implementation of ScriptValue. This
605 change is necessary to implement IndexedDB for JSC.
607 Tests: storage/indexeddb/*
609 * bindings/js/ScriptValue.h:
610 (WebCore::ScriptValue::clear):
613 2012-11-14 Joshua Bell <jsbell@chromium.org>
615 IndexedDB: Indexing tests are flaky-crashing
616 https://bugs.webkit.org/show_bug.cgi?id=102283
618 Reviewed by Tony Chang.
620 Don't commit the transaction if there are outstanding pre-emptive events
621 from indexing operations.
623 Speculative fix for the flakiness.
625 * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
626 (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
628 2012-11-14 Tony Chang <tony@chromium.org>
630 Crash in flexbox when removing absolutely positioned children
631 https://bugs.webkit.org/show_bug.cgi?id=100465
633 Reviewed by Ojan Vafai.
635 We use m_numberOfChildrenOnFirstLine when computing baseline alignment.
636 This value gets set during flexbox layout. When we remove an absolutely
637 positioned child, we don't relayout and this value would get stale.
639 Change m_numberOfChildrenOnFirstLine to m_numberOfInFlowChildrenOnFirstLine
640 so the value doesn't get stale when we remove absolutely positioned children.
641 Also change the loop in firstLineBoxBaseline to bail if we run off the end of
644 Test: css3/flexbox/crash-removing-out-of-flow-child.html
646 * rendering/RenderFlexibleBox.cpp:
647 (WebCore::RenderFlexibleBox::RenderFlexibleBox):
648 (WebCore::RenderFlexibleBox::firstLineBoxBaseline):
649 (WebCore::RenderFlexibleBox::layoutBlock):
650 (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
651 (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
652 * rendering/RenderFlexibleBox.h:
654 2012-11-14 Joshua Bell <jsbell@chromium.org>
656 IndexedDB: Remove magic numbers in record comparator, handle missing case
657 https://bugs.webkit.org/show_bug.cgi?id=102255
659 Reviewed by Tony Chang.
661 For some ranges of metadata entries, a simple type byte comparison is sufficient
662 for the backing store comparator. In two places those ranges used magic numbers,
663 one of which was incorrect - which could lead to failed reads/writes.
665 Test: webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.ComparisonTest'
667 * Modules/indexeddb/IDBLevelDBCoding.cpp:
669 (WebCore::IDBLevelDBCoding::compare):
670 * Modules/indexeddb/IDBLevelDBCoding.h:
672 2012-11-14 Dirk Schulze <krit@webkit.org>
674 Cleanup BasicShape blending check
675 https://bugs.webkit.org/show_bug.cgi?id=102289
677 Reviewed by Daniel Bates.
679 CSSPropertyAnimation had the same code for varifying that two BasicShape objects can be blended
680 twice. Refactor the code and add a canBlend method in BasicShape that combines both checks. This
681 is a preparation for follow-up patches.
683 Pure refactoring without behavior change, no new tests.
685 * page/animation/CSSPropertyAnimation.cpp:
686 (WebCore::blendFunc): Call new canBlend method for blending verification.
687 * rendering/style/BasicShapes.cpp:
688 (WebCore::BasicShape::canBlend): Check if two BasicShape objects can be blended.
690 * rendering/style/BasicShapes.h:
692 2012-11-14 Dirk Schulze <krit@webkit.org>
694 [CSS Exclusions] Basic shapes on 'shape-inside' should be animatable
695 https://bugs.webkit.org/show_bug.cgi?id=102123
697 Reviewed by Antti Koivisto.
699 The '-webkit-shape-inside' propery takes a BasicShape as input like
700 '-webkit-clip-path'. Follow up on http://trac.webkit.org/changeset/134352 and
701 make '-webkit-shape-inside' animatable as well.
703 Test: fast/exclusions/shape-inside/shape-inside-animation.html
705 * page/animation/CSSPropertyAnimation.cpp:
706 (WebCore::blendFunc): Blend fuction for exclusion shapes. The property takes another
707 input then '-webkit-clip-path'.
709 (PropertyWrapperBasicShape): Add wrapper for BasicShape object. Can be reused by
710 '-webkit-shape-ourside' as well.
711 (WebCore::PropertyWrapperBasicShape::PropertyWrapperBasicShape):
712 (WebCore::CSSPropertyAnimation::ensurePropertyMap):
714 2012-11-14 Helder Correia <helder.correia@nokia.com>
716 [TexMap][Cairo] Accelerated compositing debug visuals
717 https://bugs.webkit.org/show_bug.cgi?id=101883
719 Reviewed by Kenneth Rohde Christiansen.
721 No new tests, just introducing a debug feature.
723 Add a Cairo implementation to complement the patch from bug 90116
724 (http://trac.webkit.org/changeset/122275).
726 For this feature to be enabled, the environment variable
727 WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
728 both repaint counters and tile borders will be painted.
730 A Cairo-specific drawRepaintCounter() implementation was added to
731 TextureMapperGL. A cairo_surface_t is used as scratch buffer to paint
732 the counters. It is then uploaded to a BitmapTexture acquired
733 from the pool and finally draw by TextureMapper. The actual compositing
734 happens inside LayerBackingStore::paintToTextureMapper(). Each
735 LayerBackingStoreTile has a repaint counter which gets incremented in
736 LayerBackingStore::updateTile().
738 * platform/graphics/texmap/TextureMapperGL.cpp:
739 (WebCore::TextureMapperGL::drawRepaintCounter):
741 2012-11-14 Michael Pruett <michael@68k.org>
743 IndexedDB: Add JSNoStaticTables to IndexedDB interfaces
744 https://bugs.webkit.org/show_bug.cgi?id=102268
746 Reviewed by Geoffrey Garen.
748 Add JSNoStaticTables attribute to IndexedDB interface
749 definitions. This attribute must be specified in interfaces
750 which can be accessed from workers.
752 Tests: storage/indexeddb/*
754 * Modules/indexeddb/IDBAny.idl:
755 * Modules/indexeddb/IDBCursor.idl:
756 * Modules/indexeddb/IDBCursorWithValue.idl:
757 * Modules/indexeddb/IDBDatabase.idl:
758 * Modules/indexeddb/IDBDatabaseException.idl:
759 * Modules/indexeddb/IDBFactory.idl:
760 * Modules/indexeddb/IDBIndex.idl:
761 * Modules/indexeddb/IDBKey.idl:
762 * Modules/indexeddb/IDBKeyRange.idl:
763 * Modules/indexeddb/IDBObjectStore.idl:
764 * Modules/indexeddb/IDBOpenDBRequest.idl:
765 * Modules/indexeddb/IDBRequest.idl:
766 * Modules/indexeddb/IDBTransaction.idl:
767 * Modules/indexeddb/IDBUpgradeNeededEvent.idl:
768 * Modules/indexeddb/IDBVersionChangeEvent.idl:
769 * Modules/indexeddb/IDBVersionChangeRequest.idl:
770 * dom/DOMStringList.idl:
772 2012-11-14 Michael Pruett <michael@68k.org>
774 IndexedDB: Replace int64 with int64_t
775 https://bugs.webkit.org/show_bug.cgi?id=102270
777 Reviewed by Tony Chang.
779 Cleaning up coding inconsistencies, no change in behavior.
781 Tests: storage/indexeddb/*
783 * Modules/indexeddb/IDBDatabase.cpp:
784 (WebCore::IDBDatabase::deleteObjectStore):
785 * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
786 (WebCore::IDBObjectStoreBackendImpl::putInternal):
788 2012-11-14 Viatcheslav Ostapenko <v.ostapenko@samsung.com>
790 [EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
791 https://bugs.webkit.org/show_bug.cgi?id=102000
793 Reviewed by Noam Rosenthal.
795 Add helper functions to clear viewport before painting. Those functions
796 used by EFL Webkit2 port to set view background to match page background
797 in order to reduce visibility of flicker during scrolling/scaling/repainting
798 where page tiles are not ready.
800 * platform/graphics/texmap/TextureMapper.h:
801 * platform/graphics/texmap/TextureMapperGL.cpp:
802 (WebCore::TextureMapperGL::drawSolidColor):
804 * platform/graphics/texmap/TextureMapperGL.h:
805 * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
806 (WebCore::TextureMapperImageBuffer::drawSolidColor):
808 * platform/graphics/texmap/TextureMapperImageBuffer.h:
810 2012-11-14 Mark Lam <mark.lam@apple.com>
812 Fixed regressions due to adding JSEventListener::m_wrapper null checks.
813 https://bugs.webkit.org/show_bug.cgi?id=102183.
815 Reviewed by Geoffrey Garen.
817 Fixed JSEventListener::operator==() to work within the contract that
818 when m_wrapper is 0, m_jsFunction is also expected to be 0. Also fixed
819 some typos in comments.
823 * bindings/js/JSEventListener.cpp:
824 (WebCore::JSEventListener::visitJSFunction):
825 (WebCore::JSEventListener::operator==):
826 * bindings/js/JSEventListener.h:
827 (WebCore::JSEventListener::jsFunction):
829 2012-11-14 Nate Chapin <japhet@chromium.org>
831 Fix chromium asserts from r134649.
833 Rubber-stamped by Adam Barth.
835 MainResourceLoader was calling releaseResources() twice when cancelled
836 within MainResourceLoader::load(), so check reachedTerminalState() before
837 calling releaseResources() there.
839 * loader/MainResourceLoader.cpp:
840 (WebCore::MainResourceLoader::load):
842 2012-11-14 Andreas Kling <kling@webkit.org>
844 Only resolve presentation attribute style once per shared ElementAttributeData.
845 <http://webkit.org/b/100990>
847 Reviewed by Antti Koivisto.
849 Track the "presentation attribute style dirty" state on ElementAttributeData instead of in a Node flag.
850 This allows us to avoid duplicate work for ElementAttributeData that are shared between multiple elements,
851 since the state is no longer per-Element.
853 I've left the presentation attribute cache in there for now, since it still covers the case where
854 two elements have the same presentation attributes but different non-presentation attributes.
855 It's likely that we're not gaining much from it anymore, but that's a topic for another patch.
857 (WebCore::StyledElement::rebuildPresentationAttributeStyle):
858 * dom/StyledElement.h:
859 (WebCore::StyledElement::presentationAttributeStyle):
860 (WebCore::ElementAttributeData::ElementAttributeData):
861 * dom/ElementAttributeData.h:
862 (WebCore::ElementAttributeData::ElementAttributeData):
863 (ElementAttributeData):
866 Move presentation attribute style dirty flag from Node to ElementAttributeData.
868 * dom/ElementAttributeData.cpp:
869 (SameSizeAsElementAttributeData):
871 Add a compile-time object size assertion for ElementAttributeData.
873 * dom/StyledElement.cpp:
874 (WebCore::StyledElement::attributeChanged):
876 Don't mark the presentation attribute style dirty if the element is using an immutable (implies
877 shared) ElementAttributeData and another element has already generated the StylePropertySet.
878 The element itself is still marked for style recalc like before, this just avoids the process
879 of converting the attributes to CSS properties.
881 2012-11-14 Scott Violet <sky@chromium.org>
883 [Chromium] Refactor theme font lookup into a factory
884 https://bugs.webkit.org/show_bug.cgi?id=101949
886 Reviewed by Tony Chang.
888 This will ultimately allow us to use what is currently in RenderThemeChromiumLinux on windows.
890 No new tests. Refactoring only.
892 * WebCore.gyp/WebCore.gyp:
894 * rendering/RenderThemeChromiumFontProvider.cpp: Added.
896 (WebCore::RenderThemeChromiumFontProvider::defaultGUIFont): Moved into RenderThemeFontProvider.
897 * rendering/RenderThemeChromiumFontProvider.h: Added.
900 (RenderThemeChromiumFontProvider): This is the font related methods.
901 * rendering/RenderThemeChromiumFontProviderLinux.cpp: Added.
903 (WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): What was in RenderThemeChromiumSkia::setDefaultFontSize.
904 (WebCore::RenderThemeChromiumFontProvider::systemFont): What was in RenderThemeChromiumSkia::systemFont.
905 * rendering/RenderThemeChromiumFontProviderWin.cpp: Added.
907 (WebCore::pointsToPixels): Moved from RenderThemeChromiumWin.
908 (WebCore::getNonClientMetrics): Moved from RenderThemeChromiumWin.
909 (WebCore::systemFontSize): Moved from RenderThemeChromiumWin.
910 (WebCore::RenderThemeChromiumFontProvider::systemFont): Moved from RenderThemeChromiumWin.
911 (WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): Moved from RenderThemeChromiumWin.
912 * rendering/RenderThemeChromiumSkia.cpp:
913 (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia): Moved into RenderThemeFontProvider.
914 (WebCore::RenderThemeChromiumSkia::systemFont): Calls to RenderThemeChromiumFontProvider.
915 (WebCore::RenderThemeChromiumSkia::setDefaultFontSize): Calls to RenderThemeChromiumFontProvider.
916 * rendering/RenderThemeChromiumSkia.h:
917 (RenderThemeChromiumSkia): Moves defaultFontSize into RenderThemeChromiumFontProvider.
918 * rendering/RenderThemeChromiumWin.cpp: Moves font code into RenderThemeFontProviderWin.
920 * rendering/RenderThemeChromiumWin.h: Removed overriden methods now handled by RenderThemeChromiumSkia.
921 (RenderThemeChromiumWin):
923 2012-11-14 Erik Arvidsson <arv@chromium.org>
925 Update DOMException name: InUseAttributeError
926 https://bugs.webkit.org/show_bug.cgi?id=102141
928 Reviewed by Ojan Vafai.
930 Patch 10 of 25 to update DOMException name to match the spec and Firefox.
932 The name for this is not in the spec but the case was selected to match
933 Firefox. http://mxr.mozilla.org/mozilla-central/source/dom/base/domerr.msg#18
935 INUSE_ATTRIBUTE_ERR is historical and not used in any spec or any of our tests.
937 * dom/DOMCoreException.cpp:
938 * dom/ExceptionCode.h:
940 2012-11-14 Lynn Neir <lynn.neir@skype.net>
942 [WinCairo] Incorrect line-height for styled menulist (select tag)
944 https://bugs.webkit.org/show_bug.cgi?id=79435
946 Reviewed by Brent Fulgham
948 Applied same fix as in RenderThemeSafari::adjustMenuListButtonStyle
949 to Windows theme to fix issue.
951 Tests: fast/forms/menulist-restrict-line-height.html
952 fast/forms/control-restrict-line-height.html
953 fast/forms/basic-selects.html
955 * rendering/RenderThemeWin.cpp:
956 (WebCore::RenderThemeWin::adjustMenuListButtonStyle): Set line
957 height to the correct initial height.
959 2012-11-14 Erik Arvidsson <arv@chromium.org>
961 Update DOMException name: WrongDocumentError
962 https://bugs.webkit.org/show_bug.cgi?id=102096
964 Reviewed by Ojan Vafai.
966 Patch 4 of 25 to update DOMException name to match the spec and Firefox.
968 Updated existing tests.
970 * dom/DOMCoreException.cpp:
972 2012-11-14 Nate Chapin <japhet@chromium.org>
974 Move empty loading to DocumentLoader, simplify FrameLoader::init()
975 https://bugs.webkit.org/show_bug.cgi?id=101512
977 Reviewed by Adam Barth.
979 No new tests, though several outputs changed because we no longer send resource
980 load callbacks for empty loads.
982 * loader/DocumentLoader.cpp:
983 (WebCore::DocumentLoader::startLoadingMainResource): Handle empty main resource
985 * loader/DocumentLoader.h:
986 * loader/FrameLoader.cpp:
987 (WebCore::FrameLoader::FrameLoader): Initialize some variables whose values
988 were previously being reset in init(). Given that the FrameLoader is in
989 an inconsistent state before init() is called anyway, there doesn't seem
990 to be a disadvantage to just initializing them to their post-init() values.
991 (WebCore::FrameLoader::init): Just call startLoadingMainResource(), instead of
992 doing a bunch of direct calls to functions FrameLoader shouldn't know about.
993 * loader/FrameLoaderStateMachine.cpp:
994 * loader/FrameLoaderStateMachine.h:
995 * loader/MainResourceLoader.cpp: Throughout, remove the concept of an empty load.
996 (WebCore::MainResourceLoader::loadNow): This only returned true when an empty
997 load got deferred, which won't happen now. Return void and always treat
999 * loader/MainResourceLoader.h:
1001 2012-11-14 Erik Arvidsson <arv@chromium.org>
1003 Update DOMException name: InvalidStateError
1004 https://bugs.webkit.org/show_bug.cgi?id=102241
1006 Reviewed by Ojan Vafai.
1008 Patch 11 of 25 to update DOMException name to match the spec and Firefox.
1010 Updated existing tests.
1012 * dom/DOMCoreException.cpp:
1014 2012-11-14 Joshua Bell <jsbell@chromium.org>
1016 Rename NATIVE_TYPE_ERR to TypeError
1017 https://bugs.webkit.org/show_bug.cgi?id=102114
1019 Reviewed by Kentaro Hara.
1021 Defines names (mostly) matching WebIDL exception types for use by dom (etc) code.
1022 V8 binding code had colliding enum members, which required prefixing.
1024 No new tests - just internal renames.
1026 * Modules/indexeddb/IDBCursor.cpp: s/NATIVE_TYPE_ERR/TypeError/g
1027 (WebCore::IDBCursor::advance):
1028 (WebCore::IDBCursor::stringToDirection):
1029 (WebCore::IDBCursor::directionToString):
1030 * Modules/indexeddb/IDBDatabase.cpp: Ditto.
1031 (WebCore::IDBDatabase::setVersion):
1032 * Modules/indexeddb/IDBFactory.cpp: Ditto.
1033 (WebCore::IDBFactory::open):
1034 (WebCore::IDBFactory::openInternal):
1035 (WebCore::IDBFactory::deleteDatabase):
1036 * Modules/indexeddb/IDBObjectStore.cpp: Ditto.
1037 (WebCore::IDBObjectStore::createIndex):
1038 * Modules/indexeddb/IDBTransaction.cpp: Ditto.
1039 (WebCore::IDBTransaction::stringToMode):
1040 (WebCore::IDBTransaction::modeToString):
1041 * bindings/js/JSDOMBinding.cpp: Ditto.
1042 (WebCore::setDOMException):
1043 * bindings/v8/DateExtension.cpp: Prefix ErrorType enum/members w/ V8/v8.
1044 (WebCore::DateExtension::OnSleepDetected):
1045 * bindings/v8/NPV8Object.cpp: Ditto.
1046 (_NPN_SetException):
1047 * bindings/v8/V8Binding.cpp: Ditto.
1048 (WebCore::throwError):
1049 (WebCore::handleMaxRecursionDepthExceeded):
1050 * bindings/v8/V8Binding.h: Ditto.
1052 * bindings/v8/V8NPObject.cpp: Ditto.
1053 (WebCore::npObjectInvokeImpl):
1054 (WebCore::npObjectGetProperty):
1055 (WebCore::npObjectSetProperty):
1056 (WebCore::npObjectPropertyEnumerator):
1057 * bindings/v8/V8ThrowException.cpp: Rename ALL the errors!
1058 (WebCore::V8ThrowException::setDOMException):
1059 (WebCore::V8ThrowException::throwError):
1060 (WebCore::V8ThrowException::throwTypeError):
1061 (WebCore::V8ThrowException::throwNotEnoughArgumentsError):
1062 * bindings/v8/V8ThrowException.h:
1064 * bindings/v8/WorkerContextExecutionProxy.cpp: Prefixing (continued)
1065 (WebCore::WorkerContextExecutionProxy::evaluate):
1066 * bindings/v8/custom/V8ArrayBufferCustom.cpp: Ditto.
1067 (WebCore::V8ArrayBuffer::constructorCallback):
1068 * bindings/v8/custom/V8ArrayBufferViewCustom.h: Ditto.
1069 (WebCore::constructWebGLArrayWithArrayBufferArgument):
1070 (WebCore::constructWebGLArray):
1071 (WebCore::setWebGLArrayHelper):
1072 * bindings/v8/custom/V8AudioContextCustom.cpp: Ditto.
1073 (WebCore::V8AudioContext::constructorCallback):
1074 * bindings/v8/custom/V8BlobCustom.cpp: Ditto.
1075 (WebCore::V8Blob::constructorCallback):
1076 * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
1077 (WebCore::V8Clipboard::clearDataCallback):
1078 (WebCore::V8Clipboard::setDragImageCallback):
1079 * bindings/v8/custom/V8DOMFormDataCustom.cpp: Ditto.
1080 (WebCore::V8DOMFormData::appendCallback):
1081 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Ditto.
1082 (WebCore::V8SQLResultSetRowList::itemCallback):
1083 * dom/ExceptionCode.h: Add WebIDL exception types.
1085 2012-11-14 Tiancheng Jiang <tijiang@rim.com>
1087 [BlackBerry] Style BB10 time input field font.
1088 https://bugs.webkit.org/show_bug.cgi?id=102260.
1090 Reviewed by Rob Buis.
1093 Adjust time input field font using BB10 system default font.
1095 * css/themeBlackBerry.css:
1096 (input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):
1098 2012-11-14 Li Yin <li.yin@intel.com>
1100 createDelay should raise exception when the maxDelayTime parameter is incorrect.
1101 https://bugs.webkit.org/show_bug.cgi?id=102173
1103 Reviewed by Chris Rogers.
1105 Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
1106 The specified value must be greater than zero and less than three minutes or a
1107 NOT_SUPPORTED_ERR exception will be thrown.
1109 Tests: webaudio/delaynode-maxdelaylimit.html
1111 * Modules/webaudio/AudioContext.cpp:
1112 (WebCore::AudioContext::createDelay):
1113 * Modules/webaudio/AudioContext.h:
1115 * Modules/webaudio/AudioContext.idl: Add raising exception for createDelay.
1116 * Modules/webaudio/DelayNode.cpp:
1118 (WebCore::DelayNode::DelayNode):
1119 * Modules/webaudio/DelayNode.h:
1120 (WebCore::DelayNode::create):
1123 2012-11-14 Simon Fraser <simon.fraser@apple.com>
1125 Don't pass a paintingRoot when painting from RenderLayerBacking
1126 https://bugs.webkit.org/show_bug.cgi?id=102256
1128 Reviewed by David Hyatt.
1130 The 'paintingRoot' parameter to the RenderLayer paint functions
1131 is used when painting just a subtree (e.g. when painting dragged
1132 selections). There is no need to pass it when a RenderLayerBacking
1133 paints its contents or overlay scrollbars.
1135 Passing it requires an expensive isDescendant() check, so passing
1136 null is more efficient.
1138 * rendering/RenderLayer.h:
1139 (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
1140 * rendering/RenderLayerBacking.cpp:
1141 (WebCore::RenderLayerBacking::paintIntoLayer):
1142 (WebCore::RenderLayerBacking::paintContents):
1143 * rendering/RenderLayerBacking.h:
1144 (RenderLayerBacking):
1146 2012-11-14 Alec Flett <alecflett@chromium.org>
1148 Add DOMRequestState to maintain world/ScriptExecutionContext state
1149 https://bugs.webkit.org/show_bug.cgi?id=102102
1151 Reviewed by Adam Barth.
1153 Introduce DOMRequestState, and convert IndexedDB over.
1155 No new tests, this is an abstraction layer for existing code.
1157 * Modules/indexeddb/IDBRequest.cpp:
1158 (WebCore::IDBRequest::IDBRequest):
1159 (WebCore::IDBRequest::onSuccess):
1160 (WebCore::IDBRequest::dispatchEvent):
1161 * Modules/indexeddb/IDBRequest.h:
1164 * bindings/v8/DOMRequestState.h: Added.
1167 (WebCore::DOMRequestState::DOMRequestState):
1169 (WebCore::DOMRequestState::Scope::Scope):
1170 (WebCore::DOMRequestState::scope):
1172 2012-11-14 Justin Novosad <junov@google.com>
1174 Boxes with rounded corners and thin borders are too slow to draw
1175 https://bugs.webkit.org/show_bug.cgi?id=101974
1177 Reviewed by Simon Fraser.
1179 With the current implementation RenderBox::
1180 determineBackgroundBleedAvoidance() uses the slow path
1181 BackgroundBleedUseTransparencyLayer for some very common use cases,
1182 notably for drawing rectangles with rounded corners that have thin
1183 borders. This is because the BackgroundBleedShrinkBackground
1184 strategy requires a border at least two pixels wide on all sides. This
1185 patch introduce drawing strategy BackgroundBleedBackgroundOverBorder.
1186 This approach consists in drawing the border first, with an inset inner
1187 edge (for anti-aliased compositing to work well). This approach only
1188 works with opaque solid edges and opaque single-layer backgrounds.
1189 By using this approach rather than BackgroundBleedUseTransparencyLayer,
1190 we save two clipPath, one save and one saveLayer on the
1191 GraphicsContext. This patch gets good coverage from existing layout
1192 tests. One additional test was added to exercise mitring, thick edges
1193 and anti-aliasing edge cases under the new painting algorithm.
1195 Test: fast/borders/border-radius-wide-border-05.html
1197 * rendering/RenderBox.cpp:
1198 (WebCore::RenderBox::determineBackgroundBleedAvoidance):
1199 Added selection criteria for BackgroundOverBorder
1200 (WebCore::RenderBox::paintBoxDecorations):
1201 Added a preliminary paintBorder pass for BackgroundOverBorder
1202 (WebCore::RenderBox::paintBackground):
1203 Insetting the background to to innerBorder when bleedAvoidance is
1204 BackgroundOverBorder. This why BackgroundOverBorder only works for
1207 (WebCore::RenderBox::backgroundIsSingleOpaqueLayer):
1208 Utility method use by determineBackgroundBleedAvoidance to test the
1209 background's eligibility for BackgroundOverBorder bleed avoidance
1210 strategy. The reason the background must be a single layer is to avoid
1211 color bleeding from layer compositing along anti-aliased edges
1212 * rendering/RenderBox.h:
1214 * rendering/RenderBoxModelObject.cpp:
1215 (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
1216 (WebCore::RenderBoxModelObject::borderInnerRectAdjustedForBleedAvoidance):
1217 Added support for BackgroundOverBorder by applying a one pixel inset.
1218 (WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance):
1219 Set the background rect to the inner border for BackgroundOverBorder
1221 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1222 Added support for BackgroundOverBorder by using
1223 backgroundRoundedRectAdjustedForBleedAvoidance
1224 (WebCore::RenderBoxModelObject::paintBorderSides):
1225 Added support for BackgroundOverBorder by applying per-side inset
1227 (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
1228 (WebCore::RenderBoxModelObject::paintBorder):
1229 Added support for BackgroundOverBorder by using an adjusted inner
1230 border, but not if sides are painted individually.
1231 * rendering/RenderBoxModelObject.h:
1232 (RenderBoxModelObject):
1234 2012-11-14 Hideki Yoshida <yoshida-hxa@necst.nec.co.jp>
1236 [WinCairo] Fix cairo_t* memory leak in GraphicsContext::platformInit
1237 https://bugs.webkit.org/show_bug.cgi?id=76219
1239 Reviewed by Brent Fulgham.
1241 This patch is to fix a memory leak problem which occurs
1242 in every rendering process on Wincairo port.
1243 By applying this patch, the memory allocated in cairo
1244 library will be released by calling cairo_destroy.
1246 * platform/graphics/win/GraphicsContextCairoWin.cpp:
1247 (WebCore::GraphicsContext::platformInit):
1249 2012-11-14 Sami Kyostila <skyostil@chromium.org>
1251 Optimize painting of composited scrolling layers
1252 https://bugs.webkit.org/show_bug.cgi?id=96087
1254 Reviewed by Simon Fraser.
1256 Don't completely repaint accelerated scrolling layers when the scroll offset
1259 Test: compositing/overflow/scrolling-without-painting.html
1261 * platform/graphics/GraphicsLayer.cpp:
1262 (WebCore::GraphicsLayer::setOffsetFromRenderer):
1263 * platform/graphics/GraphicsLayer.h:
1265 * rendering/RenderLayerBacking.cpp:
1266 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1268 2012-11-14 Pavel Feldman <pfeldman@chromium.org>
1270 Web Inspector: keep track of mutation observers and disconnect them upon upload
1271 https://bugs.webkit.org/show_bug.cgi?id=102239
1273 Reviewed by Vsevolod Vlasov.
1275 Otherwise we hit memory leaks.
1277 * inspector/front-end/DefaultTextEditor.js:
1278 (WebInspector.DefaultTextEditor.prototype.wasShown):
1279 (WebInspector.DefaultTextEditor.prototype.willHide):
1280 (WebInspector.TextEditorMainPanel.prototype._wasShown):
1281 (WebInspector.TextEditorMainPanel.prototype._willHide):
1282 (WebInspector.TextEditorMainPanel.prototype._attachMutationObserver):
1283 (WebInspector.TextEditorMainPanel.prototype._detachMutationObserver):
1284 * inspector/front-end/utilities.js:
1286 2012-11-14 Sergio Villar Senin <svillar@igalia.com>
1288 [Qt] Use a node image if there is no drag image set for Drag&Drop
1289 https://bugs.webkit.org/show_bug.cgi?id=102124
1291 Reviewed by Simon Hausmann.
1293 Use the nodeImage provided by the frame if there is no dragImage in
1294 the clipboard for the current drag&drop operation.
1296 * platform/qt/ClipboardQt.cpp:
1297 (WebCore::ClipboardQt::createDragImage):
1299 2012-11-14 Max Vujovic <mvujovic@adobe.com>
1301 Call to enclosingFilterLayer() in RenderObject::containerForRepaint() is expensive
1302 https://bugs.webkit.org/show_bug.cgi?id=101846
1304 Reviewed by Simon Fraser.
1306 If software-rendered CSS Filters have not been used in the document, avoid doing the second
1307 tree walk in RenderObject::containerForRepaint, which determines the RenderObject's
1308 enclosing filter layer.
1310 No new tests. We now avoid a filters related code path for a performance improvement when
1311 we're not using filters.
1313 * page/FrameView.cpp:
1314 (WebCore::FrameView::FrameView):
1317 (WebCore::FrameView::setHasSoftwareFilters):
1318 (WebCore::FrameView::hasSoftwareFilters):
1319 * rendering/RenderLayer.cpp:
1320 (WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):
1321 * rendering/RenderObject.cpp:
1322 (WebCore::RenderObject::containerForRepaint):
1324 2012-11-14 Erik Arvidsson <arv@chromium.org>
1326 Update DOMException name: NotFoundError
1327 https://bugs.webkit.org/show_bug.cgi?id=102137
1329 Reviewed by Ojan Vafai.
1331 Patch 8 of 25 to update DOMException name to match the spec and Firefox.
1333 Updated existing tests.
1335 * dom/DOMCoreException.cpp:
1337 2012-11-14 Otto Derek Cheung <otcheung@rim.com>
1339 [BlackBerry] Updating BB Cookie database to use WAL
1340 https://bugs.webkit.org/show_bug.cgi?id=102237
1342 Reviewed by Rob Buis.
1344 The cookie database is accessed by one process only and should be updated to
1345 use the WAL journal mode for better I/O performance.
1349 cookieCollection.db-wal is created after the conversion to WAL.
1350 Tested cookie persistence by logging on to random sites and restarting the browser and
1351 check if it automatically logs in.
1352 Also tested using Opera's cookie persistence test.
1354 * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
1355 (WebCore::CookieDatabaseBackingStore::invokeOpen):
1357 2012-11-14 Erik Arvidsson <arv@chromium.org>
1359 Update DOMException name: IndexSizeError
1360 https://bugs.webkit.org/show_bug.cgi?id=102087
1362 Reviewed by Ojan Vafai.
1364 This is the first in a series of updates to DOMException name to match
1365 the spec and Firefox.
1369 Updated existing tests.
1371 * dom/DOMCoreException.cpp:
1374 2012-11-14 Gabor Rapcsanyi <rgabor@webkit.org>
1376 Fix [-Wmissing-braces] warnings in graphics/cpu/arm/GraphicsContext3DNEON.h
1377 https://bugs.webkit.org/show_bug.cgi?id=102205
1379 Reviewed by Csaba Osztrogonác.
1381 Fixing some warnings in GraphicsContext3DNEON.h which have been caused by missing braces.
1383 * platform/graphics/cpu/arm/GraphicsContext3DNEON.h:
1384 (WebCore::ARM::unpackOneRowOfRGBA4444ToRGBA8NEON):
1385 (WebCore::ARM::unpackOneRowOfRGBA5551ToRGBA8NEON):
1386 (WebCore::ARM::unpackOneRowOfRGB565ToRGBA8NEON):
1388 2012-11-14 Erik Arvidsson <arv@chromium.org>
1390 Update DOMException name: NoDataAllowedError
1391 https://bugs.webkit.org/show_bug.cgi?id=102132
1393 Reviewed by Darin Adler.
1395 Patch 6 of 25 to update DOMException name to match the spec and Firefox.
1397 NO_DATA_ALLOWED_ERR is historical and not used in any spec or in our code.
1399 * dom/DOMCoreException.cpp:
1401 * dom/ExceptionCode.h:
1403 2012-11-14 Pavel Feldman <pfeldman@chromium.org>
1405 Web Inspector: "Reveal in Element Panel" doesn't work if Elements panel hasn't been opened
1406 https://bugs.webkit.org/show_bug.cgi?id=102219
1408 Reviewed by Alexander Pavlov.
1410 Force elements module load upon context menu invocation.
1412 * inspector/front-end/ElementsTreeOutline.js:
1413 (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
1414 (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
1416 2012-11-14 Sheriff Bot <webkit.review.bot@gmail.com>
1418 Unreviewed, rolling out r134523.
1419 http://trac.webkit.org/changeset/134523
1420 https://bugs.webkit.org/show_bug.cgi?id=102218
1422 brake chrome windows build, as it references a non existing
1423 header js/DOMRequestState.h (Requested by jochen__ on
1426 * Modules/indexeddb/IDBCursor.cpp:
1427 (WebCore::IDBCursor::setValueReady):
1428 * Modules/indexeddb/IDBCursor.h:
1430 * Modules/indexeddb/IDBRequest.cpp:
1431 (WebCore::IDBRequest::IDBRequest):
1432 (WebCore::IDBRequest::onSuccess):
1433 (WebCore::IDBRequest::stop):
1434 (WebCore::IDBRequest::dispatchEvent):
1435 * Modules/indexeddb/IDBRequest.h:
1438 * bindings/v8/DOMRequestState.h: Removed.
1439 * bindings/v8/IDBBindingUtilities.cpp:
1440 (WebCore::deserializeIDBValue):
1441 (WebCore::idbKeyToScriptValue):
1442 * bindings/v8/IDBBindingUtilities.h:
1445 2012-11-14 Anton Obzhirov <a.obzhirov@samsung.com>
1447 Add platform implementation of remote web inspector server for GTK port.
1448 https://bugs.webkit.org/show_bug.cgi?id=88094
1450 Reviewed by Gustavo Noronha Silva.
1452 Extra SocketStreamHandle constructor is added to accept existing GSocketConnection.
1453 Needed to pass remote inspector server socket connection. The change is tested with
1454 inspector server API tests.
1456 * platform/network/soup/SocketStreamHandle.h:
1457 (WebCore::SocketStreamHandle::create):
1458 (SocketStreamHandle):
1459 * platform/network/soup/SocketStreamHandleSoup.cpp:
1460 (WebCore::SocketStreamHandle::SocketStreamHandle):
1462 (WebCore::SocketStreamHandle::connected):
1463 (WebCore::SocketStreamHandle::platformSend):
1464 (WebCore::SocketStreamHandle::platformClose):
1466 2012-11-14 Pavel Feldman <pfeldman@chromium.org>
1468 Web Inspector: context menu on ObjectPropertyTreeElement's values is masked by the section.
1469 https://bugs.webkit.org/show_bug.cgi?id=102212
1471 Reviewed by Vsevolod Vlasov.
1473 * inspector/front-end/ObjectPropertiesSection.js:
1474 (WebInspector.ObjectPropertiesSection.prototype.enableContextMenu):
1476 2012-11-09 Ilya Tikhonovsky <loislo@chromium.org>
1478 Web Inspector: NMI add instrumentation for WebAudo related stuff.
1479 They use about 16Mb for shared data on pages with webaudio.
1480 As example Angry Birds app.
1481 https://bugs.webkit.org/show_bug.cgi?id=101729
1483 Reviewed by Yury Semikhatsky.
1485 Plain vanilla instrumentation for audio and webaudio classes.
1486 AudioContext is a kind of ActiveDOMObject. I found that these objects
1487 are accessible through ScriptExecutuionContext and ScriptExecutionContext
1488 is an ancestor of Document. Document class was instrumented earler.
1489 I instrumented ActiveDOMObject, ScriptExecutionContext and other ancestors
1490 and now AudioContext and other ActiveDOMObjects are reacheable from Document.
1492 Test: inspector-protocol/nmi-webaudio.html
1494 * Modules/webaudio/AudioContext.cpp:
1495 (WebCore::AudioContext::reportMemoryUsage):
1497 * Modules/webaudio/AudioContext.h:
1499 * Modules/webaudio/AudioNode.cpp:
1500 (WebCore::AudioNode::reportMemoryUsage):
1502 * Modules/webaudio/AudioNode.h:
1504 * dom/ActiveDOMObject.cpp:
1505 (WebCore::ActiveDOMObject::reportMemoryUsage):
1507 * dom/ActiveDOMObject.h:
1510 (WebCore::Document::reportMemoryUsage):
1511 * dom/ScriptExecutionContext.cpp:
1512 (WebCore::ScriptExecutionContext::reportMemoryUsage):
1514 * dom/ScriptExecutionContext.h:
1515 (ScriptExecutionContext):
1516 * dom/SecurityContext.cpp:
1517 (WebCore::SecurityContext::reportMemoryUsage):
1519 * dom/SecurityContext.h:
1521 * dom/WebCoreMemoryInstrumentation.cpp:
1523 * dom/WebCoreMemoryInstrumentation.h:
1524 (WebCoreMemoryTypes):
1525 * platform/audio/AudioArray.h:
1527 (WebCore::AudioArray::reportMemoryUsage):
1528 * platform/audio/FFTFrame.cpp:
1529 (WebCore::FFTFrame::reportMemoryUsage):
1531 * platform/audio/FFTFrame.h:
1533 * platform/audio/HRTFDatabase.cpp:
1534 (WebCore::HRTFDatabase::reportMemoryUsage):
1536 * platform/audio/HRTFDatabase.h:
1538 * platform/audio/HRTFDatabaseLoader.cpp:
1539 (WebCore::HRTFDatabaseLoader::reportMemoryUsage):
1541 * platform/audio/HRTFDatabaseLoader.h:
1542 (HRTFDatabaseLoader):
1543 * platform/audio/HRTFElevation.cpp:
1544 (WebCore::HRTFElevation::reportMemoryUsage):
1546 * platform/audio/HRTFElevation.h:
1548 * platform/audio/HRTFKernel.cpp:
1549 (WebCore::HRTFKernel::reportMemoryUsage):
1551 * platform/audio/HRTFKernel.h:
1554 2012-11-14 Eugene Klyuchnikov <eustas.bug@gmail.com>
1556 Web Inspector: Settings screen: close button overlays view title on mac.
1557 https://bugs.webkit.org/show_bug.cgi?id=102198
1559 Reviewed by Pavel Feldman.
1561 Added margin-left for mac. Adjusted title height and vertical positioning.
1563 * inspector/front-end/helpScreen.css:
1564 (.help-window-caption): Adjusted title height.
1565 (.help-window-title): Adjusted title vertical positioning.
1566 (body.platform-mac .help-window-main .help-window-title): Fixed margin.
1568 2012-11-13 Pavel Feldman <pfeldman@chromium.org>
1570 Web Inspector: use last selection as complementary signal when applying DOM changes to the text model.
1571 https://bugs.webkit.org/show_bug.cgi?id=101905
1573 Reviewed by Vsevolod Vlasov.
1575 Currently we use heuristics for detecting damaged model range upon DOM mutation.
1576 This change adds signals from the last selection and keyboard events in order to
1577 further improve the heuristics quality.
1579 * inspector/front-end/DefaultTextEditor.js:
1580 (WebInspector.DefaultTextEditor):
1581 (WebInspector.DefaultTextEditor.EditInfo):
1582 (WebInspector.DefaultTextEditor.prototype._handleTextInput):
1583 (WebInspector.DefaultTextEditor.prototype._handleKeyDown):
1584 (WebInspector.DefaultTextEditor.prototype.lastSelection):
1585 (WebInspector.DefaultTextEditor.prototype.wasShown):
1586 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1587 (WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnSelection):
1588 (WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnDiff):
1589 (WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
1590 (WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):
1591 * inspector/front-end/TextEditorModel.js:
1592 (WebInspector.TextRange.prototype.compareTo):
1593 (WebInspector.TextRange.prototype.shift):
1594 (WebInspector.TextEditorModel.endsWithBracketRegex.):
1596 2012-11-14 Dan Carney <dcarney@google.com>
1598 [V8] use toV8Fast in all relevant Node getters
1599 https://bugs.webkit.org/show_bug.cgi?id=100851
1601 Reviewed by Kentaro Hara.
1603 The toV8Fast function for Node objects is now called in all getters
1606 No new tests. Test coverage extensive.
1608 * bindings/scripts/CodeGeneratorV8.pm:
1610 (GenerateNormalAttrGetter):
1612 * bindings/scripts/test/V8/V8TestNode.h:
1613 (WebCore::toV8Fast):
1615 2012-11-14 Kenneth Rohde Christiansen <kenneth@webkit.org>
1617 Clean up use of adjustWindowRect
1618 https://bugs.webkit.org/show_bug.cgi?id=102072
1620 Reviewed by Gyuyoung Kim.
1622 Tested by fast/dom/Window/open-window-min-size.html
1624 * loader/FrameLoader.cpp:
1625 (WebCore::createWindow):
1627 Validate the window size here so that it is not just done for
1628 .open, but also for .showModalDialog. This is compatible with
1629 other browsers such as IE and Firefox (though IE > 6, enforces
1630 a minimum width of 250 instead of 100 as Firefox and us.)
1632 * page/DOMWindow.cpp:
1634 (WebCore::DOMWindow::adjustWindowRect):
1636 Make it a static method which only takes page. It was never
1637 called from anywhere without a valid page, so the page check
1638 has been turned into an assert, and two of the arguments have
1639 been removed as they can be accessed via the page.
1641 (WebCore::DOMWindow::moveBy):
1642 (WebCore::DOMWindow::moveTo):
1643 (WebCore::DOMWindow::resizeBy):
1644 (WebCore::DOMWindow::resizeTo):
1646 Update use of adjustWindowRect.
1648 (WebCore::DOMWindow::open):
1650 Avoid modifying the WindowFeatures as the WebCore::createWindow
1651 validates and adjusts the arguments.
1656 2012-11-14 Takashi Sakamoto <tasak@google.com>
1658 Crash when replacing parts of text inputs with content: url(...)
1659 https://bugs.webkit.org/show_bug.cgi?id=101133
1661 Reviewed by Kent Tamura.
1663 Disable directly setting content of elements in an input element's
1664 shadow dom tree, because the setting breaks input element's behavior.
1666 Tests: fast/forms/number/number-content-url-crash.html
1667 fast/forms/search/search-content-url-crash.html
1670 (input::-webkit-textfield-decoration-container):
1671 Use important to disable overriding an input element's content
1673 * html/TextFieldInputType.cpp:
1674 (WebCore::TextFieldInputType::attach):
1675 Added ASSERTION. No content should be applied to
1676 input::-webkit-textfield-decoration-container.
1678 2012-11-14 Kentaro Hara <haraken@chromium.org>
1680 Unreviewed. Rebaselined run-bindings-tests results.
1682 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1683 (WebCore::V8TestOverloadedConstructors::constructor1Callback):
1684 (WebCore::V8TestOverloadedConstructors::constructor2Callback):
1685 (WebCore::V8TestOverloadedConstructors::constructor3Callback):
1686 (WebCore::V8TestOverloadedConstructors::constructor4Callback):
1687 (WebCore::V8TestOverloadedConstructors::wrapSlow):
1689 2012-11-14 Anton Muhin <antonm@chromium.org>
1691 Provide return types for custom WebGLRenderingContext methods
1692 https://bugs.webkit.org/show_bug.cgi?id=100777
1694 Reviewed by Kenneth Russell.
1696 No new tests as doesn't change generated code.
1698 * html/canvas/WebGLRenderingContext.idl:
1700 2012-11-14 Kent Tamura <tkent@chromium.org>
1702 Support for localization tests of calendar picker
1703 https://bugs.webkit.org/show_bug.cgi?id=102181
1705 Reviewed by Kentaro Hara.
1707 Introduce DateTimeChooserParameters::locale to inform locale to
1708 DateTimeChooser implementations. However we pass defaultLanguage
1709 unless tests calls internals.settings.
1710 setLangAttributeAwareFormControlUIEnabled(true) explicitly.
1712 Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html
1714 * html/HTMLInputElement.cpp:
1715 (WebCore::HTMLInputElement::setupDateTimeChooserParameters):
1716 Set DateTimeChooserParameters::locale up.
1717 * platform/DateTimeChooser.h:
1718 (DateTimeChooserParameters): Add 'locale' member.
1720 2012-11-14 Pavel Feldman <pfeldman@chromium.org>
1722 Web Inspector: highlight is not updating as one edits CSS properties
1723 https://bugs.webkit.org/show_bug.cgi?id=102191
1725 Reviewed by Alexander Pavlov.
1727 We should update highlight upon layout / style recalculation.
1729 * inspector/InspectorInstrumentation.cpp:
1731 (WebCore::InspectorInstrumentation::didRecalculateStyleImpl):
1732 * inspector/InspectorPageAgent.cpp:
1733 (WebCore::InspectorPageAgent::InspectorPageAgent):
1734 (WebCore::InspectorPageAgent::enable):
1735 (WebCore::InspectorPageAgent::disable):
1736 (WebCore::InspectorPageAgent::domContentEventFired):
1737 (WebCore::InspectorPageAgent::didPaint):
1738 (WebCore::InspectorPageAgent::didLayout):
1739 (WebCore::InspectorPageAgent::didScroll):
1741 (WebCore::InspectorPageAgent::didRecalculateStyle):
1742 * inspector/InspectorPageAgent.h:
1744 2012-11-14 Sheriff Bot <webkit.review.bot@gmail.com>
1746 Unreviewed, rolling out r134566.
1747 http://trac.webkit.org/changeset/134566
1748 https://bugs.webkit.org/show_bug.cgi?id=102197
1750 "it broke Chromium Android Release build" (Requested by
1751 haraken on #webkit).
1753 * html/HTMLInputElement.cpp:
1754 (WebCore::HTMLInputElement::setupDateTimeChooserParameters):
1755 * platform/DateTimeChooser.h:
1756 (DateTimeChooserParameters):
1758 2012-11-08 Vsevolod Vlasov <vsevik@chromium.org>
1760 Web Inspector: No content available for requests made from flash
1761 https://bugs.webkit.org/show_bug.cgi?id=101560
1763 Reviewed by Pavel Feldman.
1765 Network request data is now saved to inspector cache in following cases:
1766 - Error status code;
1767 - No cached resource available;
1768 - Cached resource has ShouldNotBufferData option set.
1769 Drive-by: refactored didReceiveResponse logic to be clearer.
1771 * inspector/InspectorResourceAgent.cpp:
1772 (WebCore::InspectorResourceAgent::didReceiveResponse):
1773 (WebCore::InspectorResourceAgent::didReceiveData):
1774 * loader/cache/CachedResource.h:
1775 (WebCore::CachedResource::shouldBufferData):
1777 2012-11-14 Shinya Kawanaka <shinyak@chromium.org>
1779 Changing pseudoClass (:target) should cause distribution
1780 https://bugs.webkit.org/show_bug.cgi?id=101699
1782 Reviewed by Hajime Morita.
1784 When cssTarget element is changed, we might have to invalidate distribution. We check its necessity
1785 by consulting with SelectRuleFeatureSet.
1787 We also implement invalidateParentDistributionIfNecessary for all collected features in this patch.
1789 Test: fast/dom/shadow/pseudoclass-update-target.html
1792 (WebCore::Document::setCSSTarget):
1793 * dom/ElementShadow.cpp:
1794 (WebCore::invalidateParentDistributionIfNecessary):
1796 * dom/ElementShadow.h:
1798 * html/shadow/SelectRuleFeatureSet.h:
1799 (WebCore::SelectRuleFeatureSet::hasSelectorFor):
1800 (SelectRuleFeatureSet):
1802 2012-11-14 Kentaro Hara <haraken@chromium.org>
1804 [V8] DOM wrapper objects should be collected in minor GC cycles
1805 https://bugs.webkit.org/show_bug.cgi?id=98725
1807 Reviewed by Adam Barth.
1809 Previously minor GC cycles cannot collect DOM Nodes. All DOM Nodes
1810 have to survive two minor GC cycles, be promoted to the old space
1811 and wait for a heavy major GC cycle.
1813 This patch enables V8 to collect DOM Nodes in minor GC cycles.
1814 For real world applications, I confirmed that minor GC cycles
1815 reclaims a substantial amount of memory (24 MB for Facebook,
1816 235 MB for Google Calendar) with acceptable overhead (~10 ms
1817 per minor GC cycle). No performance regression in Dromaeo
1820 A design document: https://docs.google.com/a/google.com/document/d/16DeHrzkm3cO9XCPT1aK3Y5qgUxXB3RFmueqQWYmN2rI/edit
1821 Performance results: https://docs.google.com/a/google.com/document/d/1h0-EsHu7T0sSMuZm5eE0r1e8sCAzY3weLvsDUpOSngE/edit
1822 A slide: https://docs.google.com/a/google.com/presentation/d/1uifwVYGNYTZDoGLyCb7sXa7g49mWNMW2gaWvMN5NLk8/edit#slide=id.p
1824 * bindings/v8/IntrusiveDOMWrapperMap.h:
1825 (WebCore::IntrusiveDOMWrapperMap::set):
1826 * bindings/v8/V8DOMWindowShell.cpp:
1827 (WebCore::initializeV8IfNeeded):
1828 * bindings/v8/V8GCController.cpp:
1831 (WebCore::V8GCController::newWrapperBorn):
1832 (WebCore::V8GCController::gcPrologue):
1833 (WebCore::V8GCController::minorGCPrologue):
1834 (WebCore::V8GCController::majorGCPrologue):
1835 (WebCore::V8GCController::gcEpilogue):
1836 (WebCore::V8GCController::minorGCEpilogue):
1837 (WebCore::V8GCController::majorGCEpilogue):
1838 * bindings/v8/V8GCController.h:
1841 * bindings/v8/WorkerContextExecutionProxy.cpp:
1842 (WebCore::WorkerContextExecutionProxy::initIsolate):
1844 (WebCore::Element::focus):
1846 (WebCore::Node::inEden):
1847 (WebCore::Node::setEden):
1850 2012-11-14 Kentaro Hara <haraken@chromium.org>
1852 [V8] Replace setDOMWrapper() + setJSWrapperForDOMObject() with createDOMWrapper()
1853 https://bugs.webkit.org/show_bug.cgi?id=101917
1855 Reviewed by Adam Barth.
1857 setJSWrapperForDOMObject() is always coupled with setDOMWrapper().
1858 We can replace setDOMWrapper() + setJSWrapperForDOMObject() with
1859 createDOMWrapper(). (c.f. CREATE_DOM_WRAPPER() in JSC)
1861 No tests. No change in behavior.
1863 * bindings/scripts/CodeGeneratorV8.pm:
1864 (GenerateConstructorCallback):
1865 (GenerateEventConstructorCallback):
1866 (GenerateNamedConstructorCallback):
1867 (GenerateToV8Converters):
1868 * bindings/v8/V8DOMWindowShell.cpp:
1869 (WebCore::V8DOMWindowShell::installDOMWindow):
1870 * bindings/v8/V8DOMWrapper.cpp:
1871 (WebCore::V8DOMWrapper::instantiateV8Object):
1872 * bindings/v8/V8DOMWrapper.h:
1874 (WebCore::V8DOMWrapper::createDOMWrapper):
1875 * bindings/v8/WorkerContextExecutionProxy.cpp:
1876 (WebCore::WorkerContextExecutionProxy::initializeIfNeeded):
1877 * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1878 (WebCore::V8ArrayBuffer::constructorCallback):
1879 * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1880 (WebCore::wrapArrayBufferView):
1881 (WebCore::constructWebGLArray):
1882 * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1883 (WebCore::V8DOMFormData::constructorCallback):
1884 * bindings/v8/custom/V8DataViewCustom.cpp:
1885 (WebCore::V8DataView::constructorCallback):
1886 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1887 (WebCore::v8HTMLImageElementConstructorCallback):
1888 * bindings/v8/custom/V8IntentConstructor.cpp:
1889 (WebCore::V8Intent::constructorCallback):
1890 * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1891 (WebCore::V8MessageChannel::constructorCallback):
1892 * bindings/v8/custom/V8MutationObserverCustom.cpp:
1893 (WebCore::V8MutationObserver::constructorCallback):
1894 * bindings/v8/custom/V8WebKitPointConstructor.cpp:
1895 (WebCore::V8WebKitPoint::constructorCallback):
1896 * bindings/v8/custom/V8WebSocketCustom.cpp:
1897 (WebCore::V8WebSocket::constructorCallback):
1898 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1899 (WebCore::V8XMLHttpRequest::constructorCallback):
1901 2012-11-14 Kent Tamura <tkent@chromium.org>
1903 Support for localization tests of calendar picker
1904 https://bugs.webkit.org/show_bug.cgi?id=102181
1906 Reviewed by Kentaro Hara.
1908 Introduce DateTimeChooserParameters::locale to inform locale to
1909 DateTimeChooser implementations. However we pass defaultLanguage
1910 unless tests calls internals.settings.
1911 setLangAttributeAwareFormControlUIEnabled(true) explicitly.
1913 Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html
1915 * html/HTMLInputElement.cpp:
1916 (WebCore::HTMLInputElement::setupDateTimeChooserParameters):
1917 Set DateTimeChooserParameters::locale up.
1918 * platform/DateTimeChooser.h:
1919 (DateTimeChooserParameters): Add 'locale' member.
1921 2012-11-14 Alexei Filippov <alph@chromium.org>
1923 Web Inspector: Show total memory in the NMI snapshot header
1924 https://bugs.webkit.org/show_bug.cgi?id=101922
1926 Reviewed by Pavel Feldman.
1928 * inspector/front-end/NativeMemorySnapshotView.js:
1929 (WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
1930 (WebInspector.NativeMemoryProfileType.prototype.buttonClicked):
1932 2012-11-14 Jan Keromnes <janx@linux.com>
1934 Web Inspector: CodeMirrorTextEditor fails to scroll breakpoint into view after the first time
1935 https://bugs.webkit.org/show_bug.cgi?id=102142
1937 Reviewed by Pavel Feldman.
1939 Calling revealLine in highlightLine like in DefaultTextEditor does the trick.
1941 * inspector/front-end/CodeMirrorTextEditor.js:
1942 (WebInspector.CodeMirrorTextEditor.prototype.highlightLine):
1944 2012-11-13 Kent Tamura <tkent@chromium.org>
1946 Use menulist-button instead of menulist for date/time input types
1947 https://bugs.webkit.org/show_bug.cgi?id=101886
1949 Reviewed by Hajime Morita.
1951 Both of Chromium-Android and iOS use -webkit-appearance:menulist-button,
1952 not menulist. We had better apply common one by default.
1954 No new tests. Covered by fast/forms/*/*-appearance-*.html.
1957 (input[type="date"]): Switch menulist-button from menulist.
1958 (input[type="datetime"]): Ditto.
1959 (input[type="datetime-local"]): Ditto.
1960 (input[type="month"]): Ditto.
1961 (input[type="time"]): Ditto.
1962 (input[type="week"]): Ditto.
1963 (input::-webkit-date-and-time-value):
1964 Add top, right, bottom margins. The right margin is important when
1965 dir=rtl is specified.
1966 whitespace:pre is needed to align baseline in a case of empty values.
1967 * css/themeChromiumAndroid.css:
1968 Remove redundant style declaration.
1970 Remove padding adjustment for date/time input types. It is for
1973 2012-11-13 Vincent Scheib <scheib@chromium.org>
1975 Remove RuntimeEnabledFeatures::isPointerLockEnabled.
1976 https://bugs.webkit.org/show_bug.cgi?id=102107
1978 Reviewed by Adam Barth.
1980 The runtime flag is always true now that the feature is enabled by default in Chromium.
1982 * bindings/generic/RuntimeEnabledFeatures.cpp:
1984 * bindings/generic/RuntimeEnabledFeatures.h:
1985 (RuntimeEnabledFeatures):
1988 * dom/MouseEvent.idl:
1990 2012-11-13 Eugene Klyuchnikov <eustas.bug@gmail.com>
1992 Web Inspector: JsDoc-annotate KeyboardShortcuts
1993 https://bugs.webkit.org/show_bug.cgi?id=101301
1995 Reviewed by Pavel Feldman.
1997 JsDoc-annotate KeyboardShortcuts to improve readability.
1999 * inspector/front-end/AdvancedSearchController.js: Fix parameter type.
2000 * inspector/front-end/KeyboardShortcut.js: Add annotations.
2001 * inspector/front-end/Panel.js: Make event parameter typed.
2002 * inspector/front-end/inspector.js: Ditto.
2004 2012-11-13 Eugene Klyuchnikov <eustas.bug@gmail.com>
2006 Web Inspector: Extract common interface for StatusBarButton and StatusBarCombo
2007 https://bugs.webkit.org/show_bug.cgi?id=101907
2009 Reviewed by Pavel Feldman.
2011 Status bar control element should have common interface for
2013 In this patch getter/setter for StatusBarButton "disabled" are replaced
2014 with regular functions "enabled"/"setEnabled"; added "setEnabled"
2015 to StatusBarCombo; added new base class StatusBarItem with
2016 method "setEnabled" and member "element".
2018 * inspector/front-end/CPUProfileView.js: Adopted refactoring.
2019 * inspector/front-end/DockController.js: Ditto.
2020 * inspector/front-end/ScriptsPanel.js: Ditto.
2021 * inspector/front-end/TimelinePanel.js: Ditto.
2022 * inspector/front-end/inspector.js: Ditto.
2023 * inspector/front-end/StatusBarButton.js:
2024 (WebInspector.StatusBarItem): Added.
2025 (WebInspector.StatusBarButton): Replaced getter/setter with
2027 (WebInspector.StatusBarComboBox.prototype.setEnabled): Added.
2029 2012-11-13 Eugene Klyuchnikov <eustas.bug@gmail.com>
2031 Web Inspector: Console: update tab/shift-tab shortcut description.
2032 https://bugs.webkit.org/show_bug.cgi?id=102175
2034 Reviewed by Pavel Feldman.
2036 For "Tab / Shift-Tab" it said "Next/previous suggestion".
2037 Actually, shift-tab to do nothing, and tab auto-completes common prefix.
2039 * English.lproj/localizedStrings.js: Replaced string.
2040 * inspector/front-end/ConsoleView.js: Updated shortcut registration.
2042 2012-11-13 Dana Jansens <danakj@chromium.org>
2044 [chromium] Pass showDebugBorders directly to WebLayerTreeSettings, don't use the GraphicsLayer border width setting.
2045 https://bugs.webkit.org/show_bug.cgi?id=102130
2047 Reviewed by James Robinson.
2049 The current method of setting debug borders on GraphicsLayers requires
2050 every GraphicsLayerClient to set the value on the layer(s) it
2051 represents. This skips the NonCompositedContentHost as well as any
2052 other clients other than RenderLayerBacking - including layers from the
2055 Instead, pass the debug border setting directly to the
2056 WebLayerTreeSettings where the compositor can use the flag to enable
2057 borders on all layers globally.
2059 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2060 (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2061 (WebCore::GraphicsLayerChromium::updateMasksToBounds):
2062 (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
2063 (WebCore::GraphicsLayerChromium::setupContentsLayer):
2064 * platform/graphics/chromium/GraphicsLayerChromium.h:
2065 (GraphicsLayerChromium):
2067 2012-11-13 Kunihiko Sakamoto <ksakamoto@chromium.org>
2069 Enable calendar picker for input types datetime/datetime-local
2070 https://bugs.webkit.org/show_bug.cgi?id=101889
2072 Reviewed by Kent Tamura.
2074 This adds calendar picker to <input type=datetime> and <input type=datetime-local>.
2075 When a user choose a date from calendar picker, year/month/day fields of the input
2076 element are updated and hour/minute/second fields are unchanged.
2078 Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-local.html
2079 platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime.html
2081 * Resources/pagepopups/calendarPicker.js: Day.parse accepts datetime string (just drops time part).
2082 * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2083 (WebCore::BaseMultipleFieldsDateAndTimeInputType::pickerIndicatorChooseValue):
2084 If the given value is not valid for the element, try to parse it as a date string.
2085 * html/DateTimeInputType.cpp:
2086 (WebCore::DateTimeInputType::formatDateTimeFieldsState): DateTimeFieldsState::month() returns 1-12, not 0-11.
2087 * html/DateTimeLocalInputType.cpp:
2088 (WebCore::DateTimeLocalInputType::formatDateTimeFieldsState): Ditto.
2089 * html/shadow/DateTimeEditElement.cpp:
2090 (WebCore::DateTimeEditElement::setOnlyYearMonthDay): Added.
2092 * html/shadow/DateTimeEditElement.h:
2093 (DateTimeEditElement):
2094 * rendering/RenderThemeChromiumCommon.cpp:
2095 (WebCore::RenderThemeChromiumCommon::supportsCalendarPicker): Return true for datetime and datetimelocal too.
2097 2012-11-13 Sheriff Bot <webkit.review.bot@gmail.com>
2099 Unreviewed, rolling out r134524.
2100 http://trac.webkit.org/changeset/134524
2101 https://bugs.webkit.org/show_bug.cgi?id=102177
2103 "Chromiium build broken" (Requested by haraken on #webkit).
2105 * WebCore.gyp/WebCore.gyp:
2107 * rendering/RenderThemeChromiumFontProvider.cpp: Removed.
2108 * rendering/RenderThemeChromiumFontProvider.h: Removed.
2109 * rendering/RenderThemeChromiumFontProviderLinux.cpp: Removed.
2110 * rendering/RenderThemeChromiumFontProviderWin.cpp: Removed.
2111 * rendering/RenderThemeChromiumSkia.cpp:
2112 (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
2113 (WebCore::RenderThemeChromiumSkia::systemFont):
2114 (WebCore::RenderThemeChromiumSkia::setDefaultFontSize):
2115 * rendering/RenderThemeChromiumSkia.h:
2116 (RenderThemeChromiumSkia):
2117 * rendering/RenderThemeChromiumWin.cpp:
2119 (WebCore::getNonClientMetrics):
2120 (WebCore::systemFontSize):
2121 (WebCore::pointsToPixels):
2122 (WebCore::RenderThemeChromiumWin::systemFont):
2123 (WebCore::RenderThemeChromiumWin::setDefaultFontSize):
2124 * rendering/RenderThemeChromiumWin.h:
2125 (RenderThemeChromiumWin):
2127 2012-11-13 KyungTae Kim <ktf.kim@samsung.com>
2129 Fix compile warning [-Wsign-compare]
2130 https://bugs.webkit.org/show_bug.cgi?id=101458
2132 Reviewed by Alexey Proskuryakov.
2134 Currently, lossy check has been done by comparing file size(posix signed integral value) with conversioned(standard c++ unsigned integral value).
2135 However, it leads -Wsign-compare compile warning.
2136 Therefore, this patch assigns the file size to the biggest possible unsigned variable, then does the lossy check.
2138 * platform/posix/SharedBufferPOSIX.cpp:
2139 (WebCore::SharedBuffer::createWithContentsOfFile):
2141 2012-11-13 Keishi Hattori <keishi@webkit.org>
2143 Enable datalist UI for input types week and month
2144 https://bugs.webkit.org/show_bug.cgi?id=102041
2146 Reviewed by Kent Tamura.
2148 Enabling datalist UI for input types week and month.
2150 No new tests. Tests will be added later in Bug 102039 and Bug 102040.
2152 * rendering/RenderThemeChromiumCommon.cpp:
2153 (WebCore::RenderThemeChromiumCommon::supportsDataListUI): Add month and week to the list.
2155 2012-11-13 Eberhard Graether <egraether@google.com>
2157 checkbox to toggle FPS counter in the inspector's settings
2158 https://bugs.webkit.org/show_bug.cgi?id=99660
2160 Reviewed by Pavel Feldman.
2162 Added a checkbox to the inspector's settings to toggle a FPS counter. The checkbox appears when InspectorClient::canShowFPSCounter() returns true.
2166 * English.lproj/localizedStrings.js:
2167 * inspector/Inspector.json:
2168 * inspector/InspectorClient.h:
2169 (WebCore::InspectorClient::canShowFPSCounter):
2170 (WebCore::InspectorClient::setShowFPSCounter):
2172 * inspector/InspectorPageAgent.cpp:
2174 (WebCore::InspectorPageAgent::enable):
2175 (WebCore::InspectorPageAgent::disable):
2176 (WebCore::InspectorPageAgent::canShowFPSCounter):
2178 (WebCore::InspectorPageAgent::setShowFPSCounter):
2179 * inspector/InspectorPageAgent.h:
2180 * inspector/front-end/Settings.js:
2181 * inspector/front-end/SettingsScreen.js:
2182 (WebInspector.GenericSettingsTab):
2183 (WebInspector.GenericSettingsTab.prototype.get _showFPSCounterChanged):
2184 * inspector/front-end/inspector.js:
2185 (WebInspector.doLoadedDone):
2187 2012-11-13 Shinya Kawanaka <shinyak@chromium.org>
2189 Collect necessary features for SelectRuleFeatureSet
2190 https://bugs.webkit.org/show_bug.cgi?id=102160
2192 Reviewed by Dimitri Glazkov.
2194 When pseudo class is changed, we might have to invalidate distribution. To determine whether we should invalidate
2195 distribution, we would like to collect RuleFeature from select attributes.
2197 According to ShadowDOM spec, we have to collect the following pseudo classes: checked, enabled, disabled,
2198 indeterminate, link, target, and visited. We collect them in this patch.
2200 Test: fast/dom/shadow/shadow-select-attribute-featureset.html
2202 * html/shadow/SelectRuleFeatureSet.cpp:
2203 (WebCore::SelectRuleFeatureSet::SelectRuleFeatureSet): Uses int as bitset so that we can use bit operator.
2204 (WebCore::SelectRuleFeatureSet::add):
2205 (WebCore::SelectRuleFeatureSet::clear):
2206 (WebCore::SelectRuleFeatureSet::collectFeaturesFromSelector): Collects necessary features from CSSSelector.
2207 * html/shadow/SelectRuleFeatureSet.h:
2208 (WebCore::SelectRuleFeatureSet::hasSelectorForChecked):
2209 (WebCore::SelectRuleFeatureSet::hasSelectorForEnabled):
2210 (WebCore::SelectRuleFeatureSet::hasSelectorForDisabled):
2211 (WebCore::SelectRuleFeatureSet::hasSelectorForIndeterminate):
2212 (WebCore::SelectRuleFeatureSet::hasSelectorForLink):
2213 (WebCore::SelectRuleFeatureSet::hasSelectorForTarget):
2214 (WebCore::SelectRuleFeatureSet::hasSelectorForVisited):
2215 (SelectRuleFeatureSet):
2216 (WebCore::SelectRuleFeatureSet::setSelectRuleFeature):
2217 (WebCore::SelectRuleFeatureSet::hasSelectorFor):
2218 * testing/Internals.cpp:
2219 (WebCore::Internals::hasSelectorForPseudoClassInShadow):
2221 * testing/Internals.h:
2223 * testing/Internals.idl:
2225 2012-11-13 Andreas Kling <kling@webkit.org>
2227 Move inline style logic from ElementAttributeData to StyledElement.
2228 <http://webkit.org/b/102120>
2230 Reviewed by Antti Koivisto.
2232 Move all the logic dealing with element inline style from ElementAttributeData to StyledElement.
2233 No difference in behavior, just making ElementAttributeData dumber.
2235 * css/StylePropertySet.cpp:
2236 * css/StylePropertySet.h:
2237 (WebCore::StylePropertySet::hasCSSOMWrapper):
2238 (WebCore::StylePropertySet::cssStyleDeclaration):
2240 Added as complements to ensureCSSStyleDeclaration() for the case where we don't want
2241 to instantiate a CSSOM wrapper unnecessarily.
2243 * dom/StyledElement.h:
2244 (WebCore::StyledElement::inlineStyle):
2245 * dom/ElementAttributeData.cpp:
2246 (WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
2247 (WebCore::MutableElementAttributeData::MutableElementAttributeData):
2248 (WebCore::ElementAttributeData::reportMemoryUsage):
2249 * dom/ElementAttributeData.h:
2250 (WebCore::ElementAttributeData::inlineStyle):
2251 (ElementAttributeData):
2253 Renamed m_inlineStyleDecl to m_inlineStyle. Finally.
2255 * dom/StyledElement.cpp:
2256 (WebCore::StyledElement::~StyledElement):
2258 Detach the CSSOM wrapper from the inline style if there is one.
2260 (WebCore::StyledElement::ensureMutableInlineStyle):
2261 (WebCore::StyledElement::style):
2263 Renamed ensureInlineStyle() to ensureMutableInlineStyle() since that's what it
2264 actually does. Update call sites accordingly.
2266 (WebCore::StyledElement::inlineStyleCSSOMWrapper):
2268 Added helper to get the CSSOM wrapper for the element's inline style if there is one.
2270 (WebCore::StyledElement::styleAttributeChanged):
2272 Do the work to parse/update/replace the inline style attribute here instead of
2273 in an ElementAttributeData method.
2275 (WebCore::StyledElement::setInlineStyleProperty):
2276 (WebCore::StyledElement::removeInlineStyleProperty):
2277 (WebCore::StyledElement::removeAllInlineStyleProperties):
2278 * editing/ApplyStyleCommand.cpp:
2279 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2280 (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
2281 (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
2282 * editing/ReplaceSelectionCommand.cpp:
2283 (WebCore::ReplaceSelectionCommand::handleStyleSpans):
2284 * html/canvas/CanvasStyle.cpp:
2285 (WebCore::currentColor):
2287 s/ensureInlineStyle/ensureMutableInlineStyle/
2289 2012-11-13 Li Yin <li.yin@intel.com>
2291 fast/forms/file/input-file-write-files.html should cover correct setting value
2292 https://bugs.webkit.org/show_bug.cgi?id=100085
2294 Reviewed by Kentaro Hara.
2296 Fix the GObject and Objective C bindings comparibility issue. Preserving existing
2297 behavior for those may be important in idl.
2299 No new tests, because fast/forms/file/input-file-value.html has covered it.
2301 * html/HTMLInputElement.idl:
2303 2012-11-13 KyungTae Kim <ktf.kim@samsung.com>
2305 [EFL] Fix build warning in NetworkStateNotifierEfl.cpp
2306 https://bugs.webkit.org/show_bug.cgi?id=102061
2308 Reviewed by Gyuyoung Kim.
2310 The second argument for NLMSG_OK needs to be unsigned to avoid the -Wsign-compare warning.
2312 * platform/network/efl/NetworkStateNotifierEfl.cpp:
2313 (WebCore::readSocketCallback):
2315 2012-11-13 Sami Kyostila <skyostil@chromium.org>
2317 Don't mark scrolling contents as dirty if RenderLayerBacking is going away
2318 https://bugs.webkit.org/show_bug.cgi?id=101947
2320 Reviewed by Simon Fraser.
2322 When a scrolling contents graphics layer is created or destroyed, the
2323 associated graphics layer is marked as needing display because some of
2324 the painted content may have migrated between the primary graphics layer
2325 and the scrolling layer.
2327 This causes a problem when the RenderLayerBacking is being destroyed,
2328 because setNeedsDisplay() needs to check from the compositor whether to
2329 track repaints or not. If the RenderLayerBacking is being destroyed, the
2330 value returned by compositor() is garbage and this causes a crash.
2332 This patch fixes the problem by making RenderLayer::compositor() return a null
2333 pointer when the renderer no longer has a view.
2335 Covered by existing layout tests in compositing/overflow/.
2337 * rendering/RenderLayer.cpp:
2338 (WebCore::RenderLayer::compositor):
2340 2012-11-13 Erik Arvidsson <arv@chromium.org>
2342 Update DOMException name: InvalidCharacterError
2343 https://bugs.webkit.org/show_bug.cgi?id=102128
2345 Reviewed by Darin Adler.
2347 Patch 5 of 25 to update DOMException name to match the spec and Firefox.
2349 Updated existing tests.
2351 * dom/DOMCoreException.cpp:
2353 2012-11-13 Joshua Bell <jsbell@chromium.org>
2355 IndexedDB: Run multiple tasks per transaction tick
2356 https://bugs.webkit.org/show_bug.cgi?id=97738
2358 Reviewed by Tony Chang.
2360 Process multiple tasks from the pending queue(s) when the timer fires. The
2361 task may initiate new tasks that change which queue is active (e.g. indexing
2362 operations) so the loop must re-check each tick which queue to use.
2364 In DumpRenderTree, time to make 20k puts/20k gets dropped from 3.2s to 2.0s (-37%);
2365 in Chromium's content_shell, the time dropped from 8.1s to 4.6s (-42%).
2367 No new tests - just perf improvements, covered by (nearly) all existing IDB tests.
2369 * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
2370 (WebCore::IDBTransactionBackendImpl::abort): Use takeFirst() to clean up code.
2371 (WebCore::IDBTransactionBackendImpl::taskTimerFired): Process as many tasks as are available.
2373 2012-11-13 Elliott Sprehn <esprehn@chromium.org>
2375 Disable frame loading instead of throwing exceptions on subtree modifications in ChildFrameDisconnector
2376 https://bugs.webkit.org/show_bug.cgi?id=102012
2378 Reviewed by Ojan Vafai.
2380 Previously if you modified the subtree that was being removed from a
2381 removeChild from inside an unload handler on an <iframe> inside the
2382 subtree you'd get an exception which is wrong. Instead we just need to
2383 disable all frame loading there.
2385 This works because either the subtree will be removed and the frame never
2386 loading doesn't matter, or some section of the subtree that contains the
2387 frame will be moved to another part of the document which will cause the
2388 frame to load when it's inserted there.
2390 I also added a check for <object> elements. It doesn't seem this is actually
2391 reachable in the existing code, but I'm not entirely sure since the frame
2392 loading and object/plugin handling is very confusing.
2394 A better fix could be to repeatedly walk the subtree until all frames
2395 were disconnected or some iteration limit was hit and then force all leftover
2396 subframes to disconnect without firing unload handlers but this is such an
2397 edge case I don't think the complexity is necessary.
2399 Test: fast/frames/modifications-in-subtree-unload.html
2401 * dom/ContainerNodeAlgorithms.h:
2402 (WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
2403 (WebCore::ChildFrameDisconnector::~ChildFrameDisconnector):
2404 (ChildFrameDisconnector):
2405 (WebCore::ChildFrameDisconnector::disconnect):
2407 (WebCore::checkAcceptChild): Removed exception.
2408 * html/HTMLFrameElementBase.cpp:
2409 (WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Check canLoadFrame().
2410 * html/HTMLFrameOwnerElement.h:
2411 (SubframeLoadingDisabler):
2412 (WebCore::SubframeLoadingDisabler::SubframeLoadingDisabler):
2413 (WebCore::SubframeLoadingDisabler::~SubframeLoadingDisabler):
2414 (WebCore::SubframeLoadingDisabler::canLoadFrame):
2415 Returns true if frames can be loaded in the subtree.
2416 (WebCore::SubframeLoadingDisabler::disabledSubtreeRoots):
2417 * html/HTMLObjectElement.cpp:
2418 (WebCore::HTMLObjectElement::updateWidget):
2419 Check canLoadFrame(). I think this case is impossible, but it's better
2420 to be safe than sorry later.
2422 2012-11-13 Joshua Bell <jsbell@chromium.org>
2424 [V8] Add missing ENABLE(SVG) test in header
2425 https://bugs.webkit.org/show_bug.cgi?id=102143
2427 Reviewed by Kentaro Hara.
2429 Need to wrap the #include of a header that's only conditionally generated.
2431 Fixes build error if compiling e.g. w/ GYP_DEFINES="enable_svg=0"
2433 * bindings/v8/custom/V8ElementCustom.cpp:
2435 2012-11-13 Jon Lee <jonlee@apple.com>
2437 Automatically run small plugins
2438 https://bugs.webkit.org/show_bug.cgi?id=102148
2439 <rdar://problem/12695560>
2441 Reviewed by Darin Adler.
2443 * rendering/RenderEmbeddedObject.h: Promote layout() to protected.
2444 * rendering/RenderSnapshottedPlugIn.cpp: Add constants for threshold size for plugins that will auto-start.
2445 (WebCore::RenderSnapshottedPlugIn::layout): After layout, obtain the width and height of the element.
2446 If either dimension is 0, or the overall size of the plugin is smaller that the threshold size, move the
2447 display state to Playing. Assuming we will always layout before first paint, changing the state here
2449 * rendering/RenderSnapshottedPlugIn.h:
2451 2012-11-13 Kenneth Russell <kbr@google.com>
2453 Notify embedder of lost contexts and allow overriding of WebGL support
2454 https://bugs.webkit.org/show_bug.cgi?id=101826
2456 Reviewed by Adam Barth.
2458 Add hooks notifying the embedder when OpenGL contexts are lost and
2459 allowing overriding of WebGL support on a per-frame basis.
2461 No tests yet; don't know how to test this solely within WebKit.
2462 Currently developing tests in the Chromium port exercising the
2463 notifications end-to-end. Once those are in place, I'm prepared to
2464 investigate adding tests for all ports.
2466 * html/canvas/WebGLRenderingContext.cpp:
2468 (WebCore::WebGLRenderingContext::create):
2469 Check whether embedder vetoes creation of new WebGL contexts.
2470 (WebCore::WebGLRenderingContext::loseContextImpl):
2471 Notify embedder that context was lost.
2472 (WebCore::WebGLRenderingContext::maybeRestoreContext):
2473 Check whether embedder vetoes restoration of existing WebGL contexts.
2474 * loader/FrameLoaderClient.h:
2475 (FrameLoaderClient):
2476 (WebCore::FrameLoaderClient::allowWebGL):
2477 (WebCore::FrameLoaderClient::didLoseWebGLContext):
2478 Hooks notifying embedder of lost contexts and asking permission to run WebGL.
2480 2012-11-13 Scott Violet <sky@chromium.org>
2482 [Chromium] Refactor theme font lookup into a factory
2483 https://bugs.webkit.org/show_bug.cgi?id=101949
2485 Reviewed by Tony Chang.
2487 This will ultimately allow us to use what is currently in RenderThemeChromiumLinux on windows.
2489 No new tests. Refactoring only.
2491 * WebCore.gyp/WebCore.gyp:
2493 * rendering/RenderThemeChromiumFontProvider.cpp: Added.
2495 (WebCore::RenderThemeChromiumFontProvider::defaultGUIFont): Moved into RenderThemeFontProvider.
2496 * rendering/RenderThemeChromiumFontProvider.h: Added.
2499 (RenderThemeChromiumFontProvider): This is the font related methods.
2500 * rendering/RenderThemeChromiumFontProviderLinux.cpp: Added.
2502 (WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): What was in RenderThemeChromiumSkia::setDefaultFontSize.
2503 (WebCore::RenderThemeChromiumFontProvider::systemFont): What was in RenderThemeChromiumSkia::systemFont.
2504 * rendering/RenderThemeChromiumFontProviderWin.cpp: Added.
2506 (WebCore::pointsToPixels): Moved from RenderThemeChromiumWin.
2507 (WebCore::getNonClientMetrics): Moved from RenderThemeChromiumWin.
2508 (WebCore::systemFontSize): Moved from RenderThemeChromiumWin.
2509 (WebCore::RenderThemeChromiumFontProvider::systemFont): Moved from RenderThemeChromiumWin.
2510 (WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): Moved from RenderThemeChromiumWin.
2511 * rendering/RenderThemeChromiumSkia.cpp:
2512 (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia): Moved into RenderThemeFontProvider.
2513 (WebCore::RenderThemeChromiumSkia::systemFont): Calls to RenderThemeChromiumFontProvider.
2514 (WebCore::RenderThemeChromiumSkia::setDefaultFontSize): Calls to RenderThemeChromiumFontProvider.
2515 * rendering/RenderThemeChromiumSkia.h:
2516 (RenderThemeChromiumSkia): Moves defaultFontSize into RenderThemeChromiumFontProvider.
2517 * rendering/RenderThemeChromiumWin.cpp: Moves font code into RenderThemeFontProviderWin.
2519 * rendering/RenderThemeChromiumWin.h: Removed overriden methods now handled by RenderThemeChromiumSkia.
2520 (RenderThemeChromiumWin):
2522 2012-11-13 Alec Flett <alecflett@chromium.org>
2524 Add DOMRequestState to maintain world/ScriptExecutionContext state
2525 https://bugs.webkit.org/show_bug.cgi?id=102102
2527 Reviewed by Adam Barth.
2529 Introduce DOMRequestState, and convert IndexedDB over.
2531 No new tests, this is an abstraction layer for existing code.
2533 * Modules/indexeddb/IDBRequest.cpp:
2534 (WebCore::IDBRequest::IDBRequest):
2535 (WebCore::IDBRequest::onSuccess):
2536 (WebCore::IDBRequest::dispatchEvent):
2537 * Modules/indexeddb/IDBRequest.h:
2540 * bindings/v8/DOMRequestState.h: Added.
2543 (WebCore::DOMRequestState::DOMRequestState):
2545 (WebCore::DOMRequestState::Scope::Scope):
2546 (WebCore::DOMRequestState::scope):
2548 2012-11-13 Robert Sesek <rsesek@chromium.org>
2550 Sever Chromium's dependence on WebKitSystemInterface media control drawing functions in RenderThemeMac
2551 https://bugs.webkit.org/show_bug.cgi?id=101634
2553 Reviewed by Adam Barth.
2555 This splits out the common methods between RenderThemeMac and RenderThemeChromiumMac
2556 into RenderThemeMacShared.
2558 No new tests, just refactoring.
2560 * WebCore.gyp/WebCore.gyp: Remove RenderThemeMac.mm from platform/ sources list, since it's part of rendering/
2561 * WebCore.gypi: Add RenderThemeMacShared.{h,mm}
2562 * WebCore.xcodeproj/project.pbxproj: Add RenderThemeMacShared.{h,mm}
2563 * rendering/RenderThemeChromiumMac.h:
2564 * rendering/RenderThemeChromiumMac.mm:
2565 (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft):
2566 (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight):
2567 (WebCore::RenderThemeChromiumMac::extraDefaultStyleSheet):
2568 * rendering/RenderThemeMac.h:
2570 * rendering/RenderThemeMac.mm:
2572 (WebCore::RenderTheme::themeForPage):
2573 (WebCore::RenderThemeMac::create):
2574 (WebCore::RenderThemeMac::RenderThemeMac):
2575 (WebCore::RenderThemeMac::~RenderThemeMac):
2576 (WebCore::RenderThemeMac::documentViewFor):
2577 (WebCore::mediaControllerTheme):
2578 (WebCore::RenderThemeMac::paintMediaSliderTrack):
2579 (WebCore::RenderThemeMac::paintMediaRewindButton):
2580 (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
2581 (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack):
2582 (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb):
2583 (WebCore::RenderThemeMac::extraMediaControlsStyleSheet):
2584 (WebCore::RenderThemeMac::extraFullScreenStyleSheet):
2585 * rendering/RenderThemeMacShared.h: Copied from Source/WebCore/rendering/RenderThemeMac.h.
2587 (RenderThemeMacShared):
2588 (WebCore::RenderThemeMacShared::supportsControlTints):
2589 (WebCore::RenderThemeMacShared::scrollbarControlSizeForPart):
2590 (WebCore::RenderThemeMacShared::supportsSelectionForegroundColors):
2591 (WebCore::RenderThemeMacShared::supportsClosedCaptioning):
2592 (WebCore::RenderThemeMacShared::updateActiveState):
2593 * rendering/RenderThemeMacShared.mm: Copied from Source/WebCore/rendering/RenderThemeMac.mm.
2594 (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
2595 (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]):
2596 (-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):
2598 (WebCore::RenderThemeMacShared::RenderThemeMacShared):
2599 (WebCore::RenderThemeMacShared::~RenderThemeMacShared):
2600 (WebCore::RenderThemeMacShared::platformActiveSelectionBackgroundColor):
2601 (WebCore::RenderThemeMacShared::platformInactiveSelectionBackgroundColor):
2602 (WebCore::RenderThemeMacShared::platformActiveListBoxSelectionBackgroundColor):
2603 (WebCore::RenderThemeMacShared::platformActiveListBoxSelectionForegroundColor):
2604 (WebCore::RenderThemeMacShared::platformInactiveListBoxSelectionForegroundColor):
2605 (WebCore::RenderThemeMacShared::platformFocusRingColor):
2606 (WebCore::RenderThemeMacShared::platformInactiveListBoxSelectionBackgroundColor):
2607 (WebCore::toFontWeight):
2608 (WebCore::RenderThemeMacShared::systemFont):
2609 (WebCore::convertNSColorToColor):
2610 (WebCore::menuBackgroundColor):
2611 (WebCore::RenderThemeMacShared::platformColorsDidChange):
2612 (WebCore::RenderThemeMacShared::systemColor):
2613 (WebCore::RenderThemeMacShared::usesTestModeFocusRingColor):
2614 (WebCore::RenderThemeMacShared::isControlStyled):
2615 (WebCore::RenderThemeMacShared::adjustRepaintRect):
2616 (WebCore::RenderThemeMacShared::inflateRect):
2617 (WebCore::RenderThemeMacShared::convertToPaintingRect):
2618 (WebCore::RenderThemeMacShared::updateCheckedState):
2619 (WebCore::RenderThemeMacShared::updateEnabledState):
2620 (WebCore::RenderThemeMacShared::updateFocusedState):
2621 (WebCore::RenderThemeMacShared::updatePressedState):
2622 (WebCore::RenderThemeMacShared::controlSupportsTints):
2623 (WebCore::RenderThemeMacShared::controlSizeForFont):
2624 (WebCore::RenderThemeMacShared::setControlSize):
2625 (WebCore::RenderThemeMacShared::sizeForFont):
2626 (WebCore::RenderThemeMacShared::sizeForSystemFont):
2627 (WebCore::RenderThemeMacShared::setSizeFromFont):
2628 (WebCore::RenderThemeMacShared::setFontFromControlSize):
2629 (WebCore::RenderThemeMacShared::controlSizeForSystemFont):
2630 (WebCore::RenderThemeMacShared::paintTextField):
2631 (WebCore::RenderThemeMacShared::adjustTextFieldStyle):
2632 (WebCore::RenderThemeMacShared::paintCapsLockIndicator):
2633 (WebCore::RenderThemeMacShared::paintTextArea):
2634 (WebCore::RenderThemeMacShared::adjustTextAreaStyle):
2635 (WebCore::RenderThemeMacShared::popupButtonMargins):
2636 (WebCore::RenderThemeMacShared::popupButtonSizes):
2637 (WebCore::RenderThemeMacShared::popupButtonPadding):
2638 (WebCore::RenderThemeMacShared::paintMenuList):
2639 (WebCore::RenderThemeMacShared::meterSizeForBounds):
2640 (WebCore::RenderThemeMacShared::paintMeter):
2641 (WebCore::RenderThemeMacShared::supportsMeter):
2642 (WebCore::RenderThemeMacShared::levelIndicatorStyleFor):
2643 (WebCore::RenderThemeMacShared::levelIndicatorFor):
2644 (WebCore::RenderThemeMacShared::progressBarSizes):
2645 (WebCore::RenderThemeMacShared::progressBarMargins):
2646 (WebCore::RenderThemeMacShared::minimumProgressBarHeight):
2647 (WebCore::RenderThemeMacShared::animationRepeatIntervalForProgressBar):
2648 (WebCore::RenderThemeMacShared::animationDurationForProgressBar):
2649 (WebCore::RenderThemeMacShared::adjustProgressBarStyle):
2650 (WebCore::RenderThemeMacShared::paintProgressBar):
2651 (WebCore::TopGradientInterpolate):
2652 (WebCore::BottomGradientInterpolate):
2653 (WebCore::MainGradientInterpolate):
2654 (WebCore::TrackGradientInterpolate):
2655 (WebCore::RenderThemeMacShared::paintMenuListButtonGradients):
2656 (WebCore::RenderThemeMacShared::paintMenuListButton):
2657 (WebCore::menuListButtonSizes):
2658 (WebCore::RenderThemeMacShared::adjustMenuListStyle):
2659 (WebCore::RenderThemeMacShared::popupInternalPaddingLeft):
2660 (WebCore::RenderThemeMacShared::popupInternalPaddingRight):
2661 (WebCore::RenderThemeMacShared::popupInternalPaddingTop):
2662 (WebCore::RenderThemeMacShared::popupInternalPaddingBottom):
2663 (WebCore::RenderThemeMacShared::adjustMenuListButtonStyle):
2664 (WebCore::RenderThemeMacShared::setPopupButtonCellState):
2665 (WebCore::RenderThemeMacShared::menuListSizes):
2666 (WebCore::RenderThemeMacShared::minimumMenuListSize):
2667 (WebCore::RenderThemeMacShared::adjustSliderTrackStyle):
2668 (WebCore::RenderThemeMacShared::paintSliderTrack):
2669 (WebCore::RenderThemeMacShared::adjustSliderThumbStyle):
2670 (WebCore::RenderThemeMacShared::paintSliderThumb):
2671 (WebCore::RenderThemeMacShared::paintSearchField):
2672 (WebCore::RenderThemeMacShared::setSearchCellState):
2673 (WebCore::RenderThemeMacShared::searchFieldSizes):
2674 (WebCore::RenderThemeMacShared::setSearchFieldSize):
2675 (WebCore::RenderThemeMacShared::adjustSearchFieldStyle):
2676 (WebCore::RenderThemeMacShared::paintSearchFieldCancelButton):
2677 (WebCore::RenderThemeMacShared::cancelButtonSizes):
2678 (WebCore::RenderThemeMacShared::adjustSearchFieldCancelButtonStyle):
2679 (WebCore::RenderThemeMacShared::resultsButtonSizes):
2680 (WebCore::RenderThemeMacShared::adjustSearchFieldDecorationStyle):
2681 (WebCore::RenderThemeMacShared::paintSearchFieldDecoration):
2682 (WebCore::RenderThemeMacShared::adjustSearchFieldResultsDecorationStyle):
2683 (WebCore::RenderThemeMacShared::paintSearchFieldResultsDecoration):
2684 (WebCore::RenderThemeMacShared::adjustSearchFieldResultsButtonStyle):
2685 (WebCore::RenderThemeMacShared::paintSearchFieldResultsButton):
2686 (WebCore::RenderThemeMacShared::sliderTickSize):
2687 (WebCore::RenderThemeMacShared::sliderTickOffsetFromTrackCenter):
2688 (WebCore::RenderThemeMacShared::adjustSliderThumbSize):
2689 (WebCore::RenderThemeMacShared::shouldShowPlaceholderWhenFocused):
2690 (WebCore::RenderThemeMacShared::popupButton):
2691 (WebCore::RenderThemeMacShared::search):
2692 (WebCore::RenderThemeMacShared::searchMenuTemplate):
2693 (WebCore::RenderThemeMacShared::sliderThumbHorizontal):
2694 (WebCore::RenderThemeMacShared::sliderThumbVertical):
2695 (WebCore::RenderThemeMacShared::textField):
2696 (WebCore::RenderThemeMacShared::fileListNameForWidth):
2697 (WebCore::RenderThemeMacShared::paintPlugInSnapshotOverlay):
2699 2012-11-13 Tab Atkins <jackalmage@gmail.com>
2701 CSS @charset parsing is too loose, doesn't match other browsers
2702 https://bugs.webkit.org/show_bug.cgi?id=101527
2704 Reviewed by Alexey Proskuryakov.
2706 Per <https://www.w3.org/Bugs/Public/show_bug.cgi?id=19882#attach_1244>,
2707 IE and FF have changed to be strict about @charset parsing,
2708 as the CSS 2.1 spec requires.
2709 Since @charset use is very uncommon anyway,
2710 we should match the new behavior and the spec for platform consistency.
2712 Test: fast/encoding/css-charset-evil/css-charset-evil.html
2714 * loader/TextResourceDecoder.cpp:
2715 (WebCore::bytesEqual):
2716 (WebCore::TextResourceDecoder::checkForCSSCharset):
2718 2012-11-13 Kenichi Ishibashi <bashi@chromium.org>
2720 [WebSocket] send() and close() should not throw an exception for an unpaired surrogate but use the replacement character
2721 https://bugs.webkit.org/show_bug.cgi?id=101569
2723 Reviewed by Alexey Proskuryakov.
2725 Replace unpaired surrogates with replacing character (U+FFFD) when
2726 encoding text messages and close reasons. This change is aimed at
2727 following the changes on the WebSocket API specification.
2729 Test: http/tests/websocket/tests/hybi/close-reason-too-long.html
2731 * Modules/websockets/WebSocket.cpp:
2732 (WebCore::WebSocket::close):
2733 Use String::StrictConversionReplacingUnpairedSurrogatesWithFFFD mode to encode
2734 text message. Remove invalid utf-8 check.
2735 * Modules/websockets/WebSocketChannel.cpp:
2736 (WebCore::WebSocketChannel::send):
2737 Use String::StrictConversionReplacingUnpairedSurrogatesWithFFFD mode to encode
2738 close reason. Remove invalid utf-8 check.
2740 2012-11-13 Christophe Dumez <christophe.dumez@intel.com>
2742 Make HTMLLegendElement.form behave according to specification
2743 https://bugs.webkit.org/show_bug.cgi?id=101044
2745 Reviewed by Kent Tamura.
2747 According to the HTML5 specification (http://dev.w3.org/html5/spec/single-page.html#dom-legend-form),
2748 The form IDL attribute's behavior depends on whether the legend element is in a fieldset element or
2749 not. If the legend has a fieldset element as its parent, then the form IDL attribute must return the
2750 same value as the form IDL attribute on that fieldset element. Otherwise, it must return null.
2752 This patch makes WebKit behaves according to specification (and Firefox). Previously, legend.form was
2753 not returning null if the element was not inside a fieldset. Also, legend.form did not necessarily
2754 return the same value as the parent fieldset's form attribute.
2756 Test: fast/forms/legend/legend-form.html
2758 * html/HTMLLegendElement.cpp:
2760 (WebCore::HTMLLegendElement::virtualForm):
2761 * html/HTMLLegendElement.h:
2762 (HTMLLegendElement):
2764 2012-11-13 Mark Lam <mark.lam@apple.com>
2766 Make an assertion in JSEventListener::jsFunction() more useful.
2767 https://bugs.webkit.org/show_bug.cgi?id=101985.
2769 Reviewed by Geoffrey Garen.
2771 The assertion was weakened in r134495. This strengthens it again.
2775 * bindings/js/JSEventListener.h:
2776 (WebCore::JSEventListener::jsFunction):
2778 2012-11-13 Dean Jackson <dino@apple.com>
2780 Support list of tracks in caption media controls
2781 https://bugs.webkit.org/show_bug.cgi?id=101669
2783 Reviewed by Eric Carlson.
2785 Attempt four of commit. The first two times caused build failures on Chromium. The third time
2786 crashed the Windows test bot. It's also been rebased since r134488.
2788 Add some new elements to the media control shadow DOM that display the list of available
2789 tracks on an audio/video element. The UI is hidden by default everywhere but on Mac,
2790 where it is given a very basic design. At the moment only the list of available tracks
2791 are displayed; The followup bug will make the UI active: https://bugs.webkit.org/show_bug.cgi?id=101670
2793 No new tests - this doesn't expose any testable surface.
2795 * css/mediaControls.css: Added default rules that hide the new elements.
2796 * css/mediaControlsQuickTime.css: Specific rules that give a basic rendering of the new track list.
2797 * html/shadow/MediaControlElements.cpp:
2798 (WebCore::MediaControlElement::isShowing): Tests for the visibility of a control.
2799 (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement):
2800 (WebCore::MediaControlClosedCaptionsContainerElement::create):
2801 (WebCore::MediaControlClosedCaptionsContainerElement::shadowPseudoId):
2802 (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2803 (WebCore::MediaControlToggleClosedCaptionsButtonElement::create): Now takes a reference to the media controls as a parameter.
2804 (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2805 (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2806 (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
2807 (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): New element for holding a list of tracks to display.
2808 * html/shadow/MediaControlElements.h:
2809 (MediaControlElement):
2810 (MediaControlToggleClosedCaptionsButtonElement):
2811 (MediaControlClosedCaptionsContainerElement):
2812 (MediaControlClosedCaptionsTrackListElement): Examines the media element to build a shadow DOM that lists all the tracks available.
2813 * html/shadow/MediaControlsApple.cpp:
2814 (WebCore::MediaControlsApple::MediaControlsApple):
2815 (WebCore::MediaControlsApple::create): New track container and list elements created.
2816 (WebCore::MediaControlsApple::setMediaController): Hook up the new elements to the controller..
2817 (WebCore::MediaControlsApple::hide):
2818 (WebCore::MediaControlsApple::makeTransparent):
2819 (WebCore::MediaControlsApple::reset):
2820 (WebCore::MediaControlsApple::reportedError):
2821 (WebCore::MediaControlsApple::toggleClosedCaptionTrackList): Shows or hides the popup with the list of tracks.
2823 * html/shadow/MediaControlsApple.h:
2824 (MediaControlsApple):
2825 * html/shadow/MediaControlsChromium.cpp:
2826 (WebCore::MediaControlsChromium::initializeControls): Pass in the controls as a parameter.
2827 * html/shadow/MediaControls.h:
2829 * platform/Language.cpp:
2830 (WebCore::displayNameForLanguageLocale): New function to return a human-readable name for a locale, given the identifier input.
2831 * platform/Language.h:
2833 * rendering/RenderMediaControls.cpp:
2834 (WebCore::RenderMediaControls::paintMediaControlsPart): New enum values into switch.
2835 * rendering/RenderMediaControlsChromium.cpp:
2836 (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): New enum values into switch.
2838 2012-11-13 Dimitri Glazkov <dglazkov@chromium.org>
2840 Unreviewed, rolling out r134377.
2841 http://trac.webkit.org/changeset/134377
2842 https://bugs.webkit.org/show_bug.cgi?id=101133
2844 Caused a mysterious Android Clang build failure, needs
2845 investigation before landing again.
2848 (input::-webkit-textfield-decoration-container):
2849 * html/TextFieldInputType.cpp:
2850 (WebCore::TextFieldInputType::attach):
2852 2012-11-13 Sheriff Bot <webkit.review.bot@gmail.com>
2854 Unreviewed, rolling out r134482.
2855 http://trac.webkit.org/changeset/134482
2856 https://bugs.webkit.org/show_bug.cgi?id=102140
2858 The patch causes fast/regions/moved-content-node-crash.html to
2859 crash in Debug mode due to ASSERTION. (Requested by abucur on
2862 * rendering/InlineFlowBox.cpp:
2863 (SameSizeAsInlineFlowBox):
2864 * rendering/InlineFlowBox.h:
2865 (WebCore::InlineFlowBox::InlineFlowBox):
2867 * rendering/RenderBlock.cpp:
2868 (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
2869 * rendering/RenderBlockLineLayout.cpp:
2870 (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2871 (WebCore::RenderBlock::linkToEndLineIfNeeded):
2872 (WebCore::RenderBlock::determineStartPosition):
2873 * rendering/RootInlineBox.cpp:
2874 (WebCore::RootInlineBox::RootInlineBox):
2875 * rendering/RootInlineBox.h:
2877 (WebCore::RootInlineBox::paginationStrut):
2878 (WebCore::RootInlineBox::setPaginationStrut):
2879 (WebCore::RootInlineBox::isFirstAfterPageBreak):
2880 (WebCore::RootInlineBox::setIsFirstAfterPageBreak):
2881 (WebCore::RootInlineBox::paginatedLineWidth):
2882 (WebCore::RootInlineBox::setPaginatedLineWidth):
2885 2012-11-13 Xianzhu Wang <wangxianzhu@chromium.org>
2887 Missing NodeRenderStyle.h include in WebCore/html/TextFieldInputType.cpp
2888 https://bugs.webkit.org/show_bug.cgi?id=102108
2890 Reviewed by Adam Barth.
2892 No new tests. Fix clang build break.
2894 * html/TextFieldInputType.cpp: Added #include "NodeRenderStyle.h"
2896 2012-11-13 Chris Fleizach <cfleizach@apple.com>
2898 AX: MathML types need to be semantically identified in AX tree
2899 https://bugs.webkit.org/show_bug.cgi?id=101263
2901 Reviewed by Beth Dakin.
2903 Semantically identify various MathML elements within the AX tree. This will allow
2904 screen readers to identify math types so that equations can be output more accurately.
2906 Test: platform/mac/accessibility/mathml-elements.html
2908 * accessibility/AccessibilityObject.h:
2909 (AccessibilityObject):
2910 (WebCore::AccessibilityObject::isMathElement):
2911 (WebCore::AccessibilityObject::isMathFraction):
2912 (WebCore::AccessibilityObject::isMathFenced):
2913 (WebCore::AccessibilityObject::isMathSubscriptSuperscript):
2914 (WebCore::AccessibilityObject::isMathRow):
2915 (WebCore::AccessibilityObject::isMathUnderOver):
2916 (WebCore::AccessibilityObject::isMathRoot):
2917 (WebCore::AccessibilityObject::isMathSquareRoot):
2918 (WebCore::AccessibilityObject::isMathText):
2919 (WebCore::AccessibilityObject::isMathNumber):
2920 (WebCore::AccessibilityObject::isMathOperator):
2921 (WebCore::AccessibilityObject::isMathFenceOperator):
2922 (WebCore::AccessibilityObject::isMathSeparatorOperator):
2923 (WebCore::AccessibilityObject::isMathIdentifier):
2924 (WebCore::AccessibilityObject::isMathTable):
2925 (WebCore::AccessibilityObject::isMathTableRow):
2926 (WebCore::AccessibilityObject::isMathTableCell):
2927 (WebCore::AccessibilityObject::mathRadicandObject):
2928 (WebCore::AccessibilityObject::mathRootIndexObject):
2929 (WebCore::AccessibilityObject::mathUnderObject):
2930 (WebCore::AccessibilityObject::mathOverObject):
2931 (WebCore::AccessibilityObject::mathNumeratorObject):
2932 (WebCore::AccessibilityObject::mathDenominatorObject):
2933 (WebCore::AccessibilityObject::mathBaseObject):
2934 (WebCore::AccessibilityObject::mathSubscriptObject):
2935 (WebCore::AccessibilityObject::mathSuperscriptObject):
2936 (WebCore::AccessibilityObject::mathFencedOpenString):
2937 (WebCore::AccessibilityObject::mathFencedCloseString):
2938 * accessibility/AccessibilityRenderObject.cpp:
2939 (WebCore::startOfContinuations):
2940 Handle a case where a MathML render element is created with the node of their parent (which could lead to an assert).
2941 (WebCore::AccessibilityRenderObject::textUnderElement):
2942 Handle the cases for RenderMathMLOperators which use the node of their parent, which confuses the normal textUnderElement() routine.
2943 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2944 Handle ignored cases for math elements
2945 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2946 (WebCore::AccessibilityRenderObject::isMathElement):
2947 (WebCore::AccessibilityRenderObject::isMathFraction):
2948 (WebCore::AccessibilityRenderObject::isMathFenced):
2949 (WebCore::AccessibilityRenderObject::isMathSubscriptSuperscript):
2950 (WebCore::AccessibilityRenderObject::isMathRow):
2951 (WebCore::AccessibilityRenderObject::isMathUnderOver):
2952 (WebCore::AccessibilityRenderObject::isMathSquareRoot):
2953 (WebCore::AccessibilityRenderObject::isMathRoot):
2954 (WebCore::AccessibilityRenderObject::isMathOperator):
2955 (WebCore::AccessibilityRenderObject::isMathFenceOperator):
2956 (WebCore::AccessibilityRenderObject::isMathSeparatorOperator):
2957 (WebCore::AccessibilityRenderObject::isMathText):
2958 (WebCore::AccessibilityRenderObject::isMathNumber):
2959 (WebCore::AccessibilityRenderObject::isMathIdentifier):
2960 (WebCore::AccessibilityRenderObject::isMathTable):
2961 (WebCore::AccessibilityRenderObject::isMathTableRow):
2962 (WebCore::AccessibilityRenderObject::isMathTableCell):
2963 (WebCore::AccessibilityRenderObject::isIgnoredElementWithinMathTree):
2964 Make sure anonymouse blocks are ignored within math tree; make sure non-element type objects are ignored (like <mstyle>).
2965 (WebCore::AccessibilityRenderObject::mathRadicandObject):
2966 (WebCore::AccessibilityRenderObject::mathRootIndexObject):
2967 (WebCore::AccessibilityRenderObject::mathNumeratorObject):
2968 (WebCore::AccessibilityRenderObject::mathDenominatorObject):
2969 (WebCore::AccessibilityRenderObject::mathUnderObject):
2970 (WebCore::AccessibilityRenderObject::mathOverObject):
2971 (WebCore::AccessibilityRenderObject::mathBaseObject):
2972 (WebCore::AccessibilityRenderObject::mathSubscriptObject):
2973 (WebCore::AccessibilityRenderObject::mathSuperscriptObject):
2974 (WebCore::AccessibilityRenderObject::mathFencedOpenString):
2975 (WebCore::AccessibilityRenderObject::mathFencedCloseString):
2976 * accessibility/AccessibilityRenderObject.h:
2977 (AccessibilityRenderObject):
2978 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2979 (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2980 (createAccessibilityRoleMap):
2981 (-[WebAccessibilityObjectWrapper subrole]):
2982 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2983 * rendering/mathml/RenderMathMLBlock.cpp:
2984 (WebCore::RenderMathMLBlock::RenderMathMLBlock):
2985 * rendering/mathml/RenderMathMLBlock.h:
2986 (WebCore::RenderMathMLBlock::isRenderMathMLFenced):
2987 (WebCore::RenderMathMLBlock::isRenderMathMLFraction):
2988 (WebCore::RenderMathMLBlock::isRenderMathMLRoot):
2989 (WebCore::RenderMathMLBlock::isRenderMathMLSquareRoot):
2990 (WebCore::RenderMathMLBlock::isRenderMathMLSubSup):
2991 (WebCore::RenderMathMLBlock::isRenderMathMLUnderOver):
2992 (WebCore::RenderMathMLBlock::setIgnoreInAccessibilityTree):
2993 (WebCore::RenderMathMLBlock::ignoreInAccessibilityTree):
2994 Add ability to identify anonymous render blocks as items that AX should ignore.
2995 (RenderMathMLBlock):
2996 * rendering/mathml/RenderMathMLFenced.cpp:
2997 (WebCore::RenderMathMLFenced::createMathMLOperator):
2998 Identify which kind of math operator is being created on the fly (Fence or Separator)
2999 (WebCore::RenderMathMLFenced::makeFences):
3000 (WebCore::RenderMathMLFenced::addChild):
3001 * rendering/mathml/RenderMathMLFenced.h:
3002 (WebCore::RenderMathMLFenced::isRenderMathMLFenced):
3003 (RenderMathMLFenced):
3004 * rendering/mathml/RenderMathMLFraction.h:
3005 (WebCore::RenderMathMLFraction::isRenderMathMLFraction):
3006 * rendering/mathml/RenderMathMLOperator.cpp:
3007 (WebCore::RenderMathMLOperator::RenderMathMLOperator):
3008 (WebCore::RenderMathMLOperator::updateFromElement):
3009 (WebCore::RenderMathMLOperator::createGlyph):
3010 Mark anonymous render blocks as AX ignored.
3011 * rendering/mathml/RenderMathMLOperator.h:
3012 (WebCore::RenderMathMLOperator::setOperatorType):
3013 (WebCore::RenderMathMLOperator::operatorType):
3014 (RenderMathMLOperator):
3015 * rendering/mathml/RenderMathMLRoot.h:
3016 (WebCore::RenderMathMLRoot::isRenderMathMLRoot):
3017 * rendering/mathml/RenderMathMLSquareRoot.h:
3018 (WebCore::RenderMathMLSquareRoot::isRenderMathMLSquareRoot):
3019 * rendering/mathml/RenderMathMLSubSup.h:
3020 (WebCore::RenderMathMLSubSup::isRenderMathMLSubSup):
3021 * rendering/mathml/RenderMathMLUnderOver.h:
3022 (WebCore::RenderMathMLUnderOver::isRenderMathMLUnderOver):
3024 2012-11-13 Mark Lam <mark.lam@apple.com>
3026 JSEventListener should not access m_jsFunction when its wrapper is gone.
3027 https://bugs.webkit.org/show_bug.cgi?id=101985.
3029 Reviewed by Geoffrey Garen.
3031 Added a few null checks for m_wrapper before we do anything with m_jsFunction.
3035 * bindings/js/JSEventListener.cpp:
3036 (WebCore::JSEventListener::initializeJSFunction):
3037 - Removed a now invalid assertion. m_wrapper is expected to have a
3038 valid non-zero value when jsFunction is valid. However, in the case
3039 of JSLazyEventListener (which extends JSEventListener), m_wrapper is
3040 initially 0 when m_jsFunction has not been realized yet. When
3041 JSLazyEventListener::initializeJSFunction() realizes m_jsFunction,
3042 it will set m_wrapper to an appropriate wrapper object.
3044 For this reason, JSEventListener::jsFunction() cannot do the null
3045 check on m_wrapper until after the call to initializeJSFunction.
3047 This, in turns, means that in the case of the non-lazy
3048 JSEventListener, initializeJSFunction() will also be called, and
3049 if the GC has collected the m_wrapper but the JSEventListener has
3050 not been removed yet, it is possible to see a null m_wrapper while
3051 m_jsFunction contains a non-zero stale value.
3053 Hence, this assertion of (m_wrapper || !m_jsFunction) in
3054 JSEventListener::initializeJSFunction() is not always true and
3057 (WebCore::JSEventListener::visitJSFunction):
3058 (WebCore::JSEventListener::operator==):
3059 * bindings/js/JSEventListener.h:
3060 (WebCore::JSEventListener::jsFunction):
3062 2012-11-13 Adam Barth <abarth@webkit.org>
3064 [V8] instantiateV8Object should encapulate the tricky creationContext logic
3065 https://bugs.webkit.org/show_bug.cgi?id=102117
3067 Reviewed by Eric Seidel.
3069 The logic around creationContext is tricky. Rather than putting the
3070 logic in the code generator, we can centralize the logic in
3071 instantiateV8Object.
3073 This patch shouldn't have any behavior change.
3075 * bindings/scripts/CodeGeneratorV8.pm:
3076 (GenerateToV8Converters):
3077 * bindings/v8/V8DOMWrapper.cpp:
3078 (V8WrapperInstantiationScope):
3079 (WebCore::V8WrapperInstantiationScope::V8WrapperInstantiationScope):
3080 (WebCore::V8WrapperInstantiationScope::~V8WrapperInstantiationScope):
3081 (WebCore::V8WrapperInstantiationScope::context):
3083 (WebCore::V8DOMWrapper::instantiateV8Object):
3084 * bindings/v8/V8DOMWrapper.h:
3087 2012-11-13 Silvia Pfeiffer <silviapf@chromium.org>
3089 Clean up the inheritance tree under the MediaControls Class.
3090 https://bugs.webkit.org/show_bug.cgi?id=88871
3092 Reviewed by Eric Carlson.
3094 This patch removes code duplication between the Chromium and Safari
3095 media controls shadow DOMs.
3096 This is achieved by pulling common functions that are identical (or
3097 almost identical) between the different platforms into the base class.
3098 The derived classes are renamed based on their platform:
3099 - MediaControlRootElement to MediaControlsApple.
3100 - MediaControlRootElementChromium to MediaControlsChromium.
3101 - MediaControlRootElementChromiumAndroid to MediaControlsChromiumAndroid.
3102 MediaControls is now no longer an abstract base class, but its "create"
3103 function is only implemented in the port-specific header file, so it's
3104 on purpose incomplete in the MediaControls.cpp file.
3106 No new tests because this is refactoring work only.
3109 Rename MediaControlRootElement.cpp to MediaControlsApple.cpp .
3110 * GNUmakefile.list.am:
3111 Rename MediaControlRootElement.[cpp,h] to MediaControlsApple.[cpp,h] .
3113 Rename MediaControlRootElement.cpp to MediaControlsApple.cpp .
3115 Rename MediaControlRootElement[Chromium[Android]].[cpp,h] to MediaControls[Apple,Chromium[Android]].[cpp,h] .
3117 Rename MediaControlRootElement symbols to MediaControlsApple symbols.
3118 * WebCore.vcproj/WebCore.vcproj:
3119 Rename MediaControlRootElement.[cpp,h] to MediaControlsApple.[cpp,h] .
3120 * WebCore.xcodeproj/project.pbxproj:
3121 Rename MediaControlRootElement.[cpp,h] to MediaControlsApple.[cpp,h] .
3122 * html/shadow/MediaControlElements.cpp:
3123 (WebCore::MediaControlTimelineElement::defaultEventHandler):
3124 Remove dependency on MediaControlRootElement.h (base class MediaControls.h is still there).
3125 Rename updateTimeDisplay() to updateCurrentTimeDisplay().
3126 * html/shadow/MediaControls.cpp:
3127 (WebCore::MediaControls::MediaControls):
3128 Added initialization for media elements that all platform controls share.
3130 Removed include files that are already included in header file.
3131 (WebCore::MediaControls::setMediaController):
3132 Added controller assignment for media elements that all platform controls share.
3133 (WebCore::MediaControls::reset):
3134 Added resets for media elements that all platform controls share.
3135 (WebCore::MediaControls::reportedError):
3136 Added error handling for media elements that all platform controls share.
3137 (WebCore::MediaControls::loadedMetadata):
3138 Added default action for loadedMetadata event.
3139 (WebCore::MediaControls::show):
3140 (WebCore::MediaControls::hide):
3141 (WebCore::MediaControls::makeOpaque):
3142 (WebCore::MediaControls::makeTransparent):
3143 (WebCore::MediaControls::shouldHideControls):
3144 (WebCore::MediaControls::bufferingProgressed):
3145 (WebCore::MediaControls::playbackStarted):
3146 (WebCore::MediaControls::playbackProgressed):
3147 (WebCore::MediaControls::playbackStopped):
3148 (WebCore::MediaControls::updateCurrentTimeDisplay):
3149 (WebCore::MediaControls::showVolumeSlider):
3150 (WebCore::MediaControls::changedMute):
3151 (WebCore::MediaControls::changedVolume):
3152 (WebCore::MediaControls::changedClosedCaptionsVisibility):
3153 (WebCore::MediaControls::enteredFullscreen):
3154 (WebCore::MediaControls::exitedFullscreen):
3155 (WebCore::MediaControls::defaultEventHandler):
3156 (WebCore::MediaControls::hideFullscreenControlsTimerFired):
3157 (WebCore::MediaControls::startHideFullscreenControlsTimer):
3158 (WebCore::MediaControls::stopHideFullscreenControlsTimer):
3159 (WebCore::MediaControls::shadowPseudoId):
3160 (WebCore::MediaControls::containsRelatedTarget):
3161 (WebCore::MediaControls::createTextTrackDisplay):
3162 (WebCore::MediaControls::showTextTrackDisplay):
3163 (WebCore::MediaControls::hideTextTrackDisplay):
3164 (WebCore::MediaControls::updateTextTrackDisplay):
3165 Added default actions for all these media controls member functions.
3166 * html/shadow/MediaControls.h:
3168 Added include files and forward class declarations that all media controls share.
3170 Make all pure virtual functions that have default implementations just virtual.
3171 (WebCore::MediaControls::updateStatusDisplay):
3172 Add an empty virtual updateStatusDisplay function which is used by media elements.
3173 * html/shadow/MediaControlsApple.cpp: Renamed from Source/WebCore/html/shadow/MediaControlRootElement.cpp.
3174 Reduced Apple-specific media control functions by relying on default implementations in the base class.
3175 * html/shadow/MediaControlsApple.h: Renamed from Source/WebCore/html/shadow/MediaControlRootElement.h.
3176 Reduced Apple-specific media control elements by relying on some elements in the base class.
3177 * html/shadow/MediaControlsChromium.cpp: Renamed from Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp.
3178 Reduced Chromium-specific media control functions by relying on default implementations in the base class.
3179 * html/shadow/MediaControlsChromium.h: Renamed from Source/WebCore/html/shadow/MediaControlRootElementChromium.h.
3180 Reduced Chromium-specific media control functions by relying on default implementations in the base class.
3181 * html/shadow/MediaControlsChromiumAndroid.cpp: Renamed from Source/WebCore/html/shadow/MediaControlRootElementChromiumAndroid.cpp.
3182 Renamed class name and base class name.
3183 * html/shadow/MediaControlsChromiumAndroid.h: Renamed from Source/WebCore/html/shadow/MediaControlRootElementChromiumAndroid.h.
3184 Renamed class name and base class name.
3185 * rendering/RenderTheme.h:
3186 (WebCore::RenderTheme::timeWithoutMouseMovementBeforeHidingControls):
3187 Moved timeWithoutMouseMovementBeforeHidingControls variable from all classes to a theme-specific function.
3189 2012-11-13 Benjamin Poulain <benjamin@webkit.org>
3191 CSSParser::setStyleSheet() should be inline
3192 https://bugs.webkit.org/show_bug.cgi?id=101829
3194 Reviewed by Andreas Kling.
3196 * css/CSSParser.cpp:
3198 (WebCore::CSSParser::setStyleSheet):
3199 CSSParser::setStyleSheet() just assign a pointer, it does not even
3200 change a ref-count. The function should probably be in the header.
3202 2012-11-13 Andrei Bucur <abucur@adobe.com>
3204 [CSS Regions] Add Region info for RootLineBoxes and pack the pagination data
3205 https://bugs.webkit.org/show_bug.cgi?id=101332
3207 Reviewed by David Hyatt.
3209 Currently the pagination information for lines is spread between the RootInlineBox and InlineFlowBox classes, consuming memory even though
3210 the boxes were not the result of an pagination layout. To overcome this, a new struct (LineFragmentationData) is created that wraps all the data,
3211 including a new member, the containing Region for the line.
3212 The containing Region is used to detect if a line changed the Region where it resides. This will be helpful especially when implementing region
3213 styling for layout properties (e.g. the font-size property https://bugs.webkit.org/show_bug.cgi?id=95559 ).
3214 A line can change the region when it is shifted inside the containing block or if the entire block moves. This means it's better to delegate
3215 the task of updating the containing Region to the block.
3217 Tests: No new tests because there is no functional change.
3219 * rendering/InlineFlowBox.cpp:
3220 (SameSizeAsInlineFlowBox):
3221 * rendering/InlineFlowBox.h:
3222 (WebCore::InlineFlowBox::InlineFlowBox):
3224 * rendering/RenderBlock.cpp:
3225 (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
3226 * rendering/RenderBlockLineLayout.cpp:
3227 (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
3228 (WebCore::RenderBlock::linkToEndLineIfNeeded):
3229 (WebCore::RenderBlock::determineStartPosition):
3230 * rendering/RootInlineBox.cpp:
3231 (WebCore::RootInlineBox::RootInlineBox):
3232 (WebCore::RootInlineBox::setContainingRegion):
3234 * rendering/RootInlineBox.h:
3236 (WebCore::RootInlineBox::paginationStrut):
3237 (WebCore::RootInlineBox::setPaginationStrut):
3238 (WebCore::RootInlineBox::isFirstAfterPageBreak):
3239 (WebCore::RootInlineBox::setIsFirstAfterPageBreak):
3240 (WebCore::RootInlineBox::paginatedLineWidth):
3241 (WebCore::RootInlineBox::setPaginatedLineWidth):
3243 (WebCore::RootInlineBox::containingRegion):
3244 (WebCore::RootInlineBox::ensureLineFragmentationData):
3245 (LineFragmentationData):
3246 (WebCore::RootInlineBox::LineFragmentationData::LineFragmentationData):
3248 2012-11-13 Milian Wolff <milian.wolff@kdab.com>
3250 [Qt] QNX build fails due to signature change in gl2.h header (glShaderSource)
3251 https://bugs.webkit.org/show_bug.cgi?id=98038
3253 Reviewed by Simon Hausmann.
3255 Cast the function to the expected type, just like it is done on non-Qt/OpenGL2 ES platforms.
3257 * platform/graphics/OpenGLShims.cpp:
3260 2012-11-13 Chris Fleizach <cfleizach@apple.com>
3262 WebKit exposes ARIA rowheader role as AXUnknown when not contained in table/grid
3263 https://bugs.webkit.org/show_bug.cgi?id=101616
3265 Reviewed by Beth Dakin.
3267 If the rowheader role is exposed because the element is not within a table, the mac platform
3268 should map that to a generic group.
3270 Test: platform/mac/accessibility/rowheader-outside-table-role.html
3272 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3273 (createAccessibilityRoleMap):
3275 2012-11-13 Stephen White <senorblanco@chromium.org>
3277 [Chromium] Fix SkImageFilter DAG path to pass all css3/filters tests
3278 https://bugs.webkit.org/show_bug.cgi?id=101952
3280 Reviewed by James Robinson.
3282 With these changes, all of the css3/filters tests pass when the
3283 if-test in GraphicsLayerChromium::setFilters() is forced true (for
3284 now, it remains true only if there's a reference filter in the chain).
3286 Covered by the css3/filters tests (when the switch is thrown in
3287 GraphicsLayerChromium::setFilters()).
3290 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3291 Drop to software rendering if there's a custom filter in the chain.
3292 This is the same as the WebFilterOperations path is doing.
3293 * platform/graphics/filters/skia/DropShadowImageFilter.cpp: Added.
3294 * platform/graphics/filters/skia/DropShadowImageFilter.h: Added.
3295 New implementation of drop-shadow filter; equivalent to
3296 the path in cc/render_surface_filters.cc.
3297 * platform/graphics/filters/skia/SkiaImageFilterBuilder.cpp:
3298 Fix the sepia and grayscale filters (value was inverted).
3300 2012-11-13 Sheriff Bot <webkit.review.bot@gmail.com>
3302 Unreviewed, rolling out r134442.
3303 http://trac.webkit.org/changeset/134442
3304 https://bugs.webkit.org/show_bug.cgi?id=102111
3306 Does not compile on apple-mac (Requested by abarth on
3310 * GNUmakefile.list.am:
3313 * WebCore.vcproj/WebCore.vcproj:
3314 * WebCore.xcodeproj/project.pbxproj:
3315 * css/CSSCursorImageValue.cpp:
3316 (WebCore::CSSCursorImageValue::cachedImage):
3317 * css/CSSFontFaceSrcValue.cpp:
3318 (WebCore::CSSFontFaceSrcValue::cachedFont):
3319 * css/CSSImageSetValue.cpp:
3320 (WebCore::CSSImageSetValue::cachedImageSet):
3321 * css/CSSImageValue.cpp:
3322 (WebCore::CSSImageValue::cachedImage):
3323 * css/CSSImageValue.h:
3326 * css/StyleResolver.cpp:
3327 (WebCore::StyleResolver::loadPendingImage):
3328 * css/StyleRuleImport.cpp:
3329 (WebCore::StyleRuleImport::requestStyleSheet):
3330 * css/WebKitCSSSVGDocumentValue.cpp:
3331 (WebCore::WebKitCSSSVGDocumentValue::load):
3332 * css/WebKitCSSShaderValue.cpp:
3333 (WebCore::WebKitCSSShaderValue::cachedShader):
3334 * dom/ScriptElement.cpp:
3335 (WebCore::ScriptElement::requestScript):
3336 * html/HTMLLinkElement.cpp:
3337 (WebCore::HTMLLinkElement::process):
3338 * html/parser/CSSPreloadScanner.cpp:
3339 (WebCore::CSSPreloadScanner::emitRule):
3340 * html/parser/CSSPreloadScanner.h:
3341 (CSSPreloadScanner):
3342 * html/parser/HTMLPreloadScanner.cpp:
3343 (WebCore::PreloadTask::preload):
3344 * loader/ImageLoader.cpp:
3345 (WebCore::ImageLoader::updateFromElement):
3346 * loader/cache/CachedResourceLoader.cpp:
3347 (WebCore::CachedResourceLoader::requestImage):
3348 (WebCore::CachedResourceLoader::requestResource):
3349 (WebCore::CachedResourceLoader::determineRevalidationPolicy):
3351 (WebCore::CachedResourceLoader::preload):
3352 * loader/cache/CachedResourceLoader.h:
3354 (CachedResourceLoader):
3355 * loader/cache/CachedResourceRequest.cpp:
3356 (WebCore::CachedResourceRequest::CachedResourceRequest):
3357 * loader/cache/CachedResourceRequest.h:
3358 (CachedResourceRequest):
3359 (WebCore::CachedResourceRequest::defer):
3360 (WebCore::CachedResourceRequest::setDefer):
3361 * loader/cache/CachedResourceRequestInitiators.cpp: Removed.
3362 * loader/cache/CachedResourceRequestInitiators.h: Removed.
3363 * loader/icon/IconLoader.cpp:
3364 (WebCore::IconLoader::startLoading):
3365 * platform/ThreadGlobalData.cpp:
3366 (WebCore::ThreadGlobalData::ThreadGlobalData):
3367 * platform/ThreadGlobalData.h:
3369 * svg/SVGFEImageElement.cpp:
3370 (WebCore::SVGFEImageElement::requestImageResource):
3371 * svg/SVGFontFaceUriElement.cpp:
3372 (WebCore::SVGFontFaceUriElement::loadFont):
3373 * svg/SVGUseElement.cpp:
3374 (WebCore::SVGUseElement::svgAttributeChanged):
3376 2012-11-13 Chris Fleizach <cfleizach@apple.com>
3378 AX: file upload input text value is not exposed through accessibility
3379 https://bugs.webkit.org/show_bug.cgi?id=100583
3381 Reviewed by Beth Dakin.
3383 This is a hard problem to solve on the Mac because there are three pieces of information
3384 1) The type of button 2) The text on the button 3) The text for the value.
3385 I think the best compromise is to label this as a file upload button type in the role description,
3386 and then expose the file path text as the AXTitle.
3387 This will give the more relevant information and should be clear what is happening.
3389 Test: platform/mac/accessibility/file-upload-button-subrole.html
3391 * English.lproj/Localizable.strings:
3392 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3393 (-[WebAccessibilityObjectWrapper subrole]):
3394 (-[WebAccessibilityObjectWrapper roleDescription]):
3395 (-[WebAccessibilityObjectWrapper accessibilityTitle]):
3396 * platform/LocalizedStrings.cpp:
3397 (WebCore::AXFileUploadButtonText):
3398 * platform/LocalizedStrings.h:
3400 2012-11-13 Sheriff Bot <webkit.review.bot@gmail.com>
3402 Unreviewed, rolling out r133944.
3403 http://trac.webkit.org/changeset/133944
3404 https://bugs.webkit.org/show_bug.cgi?id=102118
3406 Only JS bindings support NATIVE_TYPE_ERR (Requested by arv on
3409 * bindings/scripts/CodeGeneratorV8.pm:
3410 (GenerateFunctionCallback):
3411 (GenerateParametersCheck):
3412 (GenerateSingleConstructorCallback):
3413 (GenerateNamedConstructorCallback):
3414 (TypeCanFailConversion):
3416 (WebCore::Element::setAttributeNode):
3417 (WebCore::Element::removeAttributeNode):
3420 2012-11-13 Adam Barth <abarth@webkit.org>
3424 Update run-bindings-tests results.
3426 * bindings/scripts/test/V8/V8Float64Array.cpp:
3427 (WebCore::V8Float64Array::dispatchWrapCustom):
3428 (WebCore::V8Float64Array::wrapSlow):
3429 * bindings/scripts/test/V8/V8Float64Array.h:
3430 (WebCore::V8Float64Array::toNative):
3433 (WebCore::dispatchWrap):
3434 (WebCore::toV8Object):
3436 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3437 (WebCore::V8TestActiveDOMObject::wrapSlow):
3438 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3439 (WebCore::V8TestActiveDOMObject::toNative):
3440 (V8TestActiveDOMObject):
3442 (WebCore::dispatchWrap):
3443 (WebCore::toV8Object):
3445 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3446 (WebCore::V8TestCustomNamedGetter::wrapSlow):
3447 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3448 (WebCore::V8TestCustomNamedGetter::toNative):
3449 (V8TestCustomNamedGetter):
3451 (WebCore::dispatchWrap):
3452 (WebCore::toV8Object):
3454 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3455 (WebCore::V8TestEventConstructor::wrapSlow):
3456 * bindings/scripts/test/V8/V8TestEventConstructor.h:
3457 (WebCore::V8TestEventConstructor::toNative):
3458 (V8TestEventConstructor):
3460 (WebCore::dispatchWrap):
3461 (WebCore::toV8Object):
3463 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3464 (WebCore::V8TestEventTarget::wrapSlow):
3465 * bindings/scripts/test/V8/V8TestEventTarget.h:
3466 (WebCore::V8TestEventTarget::toNative):
3467 (V8TestEventTarget):
3469 (WebCore::dispatchWrap):
3470 (WebCore::toV8Object):
3472 * bindings/scripts/test/V8/V8TestException.cpp: