1 2012-03-31 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
3 [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
4 https://bugs.webkit.org/show_bug.cgi?id=80135
9 Fixed a regression introduced by r111810, we should cancel the new
10 request when user press cancel button in http authentication challenge
11 dialog, and we should also allow sending empty username and password
13 Also removed redundant codes which checked the existence of the
14 FrameLoaderClient pointer, as we've already moved authenticationChallenge()
15 out of class FrameLoaderClient, it is not needed.
17 Manual test added. Testing http authentication dialog relies on user interaction.
19 * platform/network/blackberry/NetworkJob.cpp:
20 (WebCore::NetworkJob::sendRequestWithCredentials):
22 2012-03-31 Charles Wei <charles.wei@torchmobile.com.cn>
24 [BlackBerry] Upstream BlackBerry change to PlatformTouchEvent and PlatformTouchPoint
25 https://bugs.webkit.org/show_bug.cgi?id=82828
29 No new tests, just upstream BlackBerry-specific change to
30 PlatformTouchEvent and PlatformTouchPoint, to make it build
33 * platform/PlatformTouchEvent.h:
35 (WebCore::PlatformTouchEvent::PlatformTouchEvent):
37 (WebCore::PlatformTouchEvent::rotation):
38 (WebCore::PlatformTouchEvent::scale):
39 (WebCore::PlatformTouchEvent::doubleTap):
40 (WebCore::PlatformTouchEvent::touchHold):
41 * platform/PlatformTouchPoint.h:
44 * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
45 (WebCore::PlatformTouchEvent::PlatformTouchEvent):
47 2012-03-31 Jason Liu <jason.liu@torchmobile.com.cn>
49 [BlackBerry] Refactor : NetworkJob::handleNotifyHeaderReceived.
50 https://bugs.webkit.org/show_bug.cgi?id=82825
52 We should use "else if" to decrease string's compare.
56 No new tests. Refactor.
58 * platform/network/blackberry/NetworkJob.cpp:
59 (WebCore::NetworkJob::handleNotifyHeaderReceived):
61 2012-03-31 Charles Wei <charles.wei@torchmobile.com.cn>
63 [BlackBerry] Upstream local change of PlatformKeyboardEventBlackBerry.cpp
64 https://bugs.webkit.org/show_bug.cgi?id=82721
68 No new tests, just upstreaming the local change to make the upstreaming
71 * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
72 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
74 2012-03-31 Abhishek Arya <inferno@chromium.org>
76 Crash in HTMLFieldSetElement::disabledAttributeChanged.
77 https://bugs.webkit.org/show_bug.cgi?id=82814
79 Reviewed by Kent Tamura.
81 Test: fast/forms/fieldset/fieldset-crash.html
83 * html/HTMLFieldSetElement.cpp:
84 (WebCore::HTMLFieldSetElement::disabledAttributeChanged):
86 2012-03-29 Adam Barth <abarth@webkit.org>
88 [Chromium] Delete WebKit/chromium/bridge
89 https://bugs.webkit.org/show_bug.cgi?id=82677
91 Reviewed by James Robinson.
93 These files are just moved from the WebKit layer with their include
97 * platform/chromium/support/WebICECandidateDescriptor.cpp: Copied from Source/WebKit/chromium/src/WebICECandidateDescriptor.cpp.
98 * platform/chromium/support/WebICEOptions.cpp: Copied from Source/WebKit/chromium/src/WebICEOptions.cpp.
99 * platform/chromium/support/WebMediaHints.cpp: Copied from Source/WebKit/chromium/src/WebMediaHints.cpp.
100 * platform/chromium/support/WebMediaStreamComponent.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamComponent.cpp.
101 * platform/chromium/support/WebMediaStreamDescriptor.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp.
102 * platform/chromium/support/WebMediaStreamSource.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamSource.cpp.
103 * platform/chromium/support/WebMediaStreamSourcesRequest.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamSourcesRequest.cpp.
104 * platform/mediastream/chromium/DeprecatedPeerConnectionHandler.cpp: Copied from Source/WebKit/chromium/bridge/DeprecatedPeerConnectionHandler.cpp.
105 * platform/mediastream/chromium/DeprecatedPeerConnectionHandlerInternal.cpp: Copied from Source/WebKit/chromium/bridge/DeprecatedPeerConnectionHandlerInternal.cpp.
106 (WebCore::DeprecatedPeerConnectionHandlerInternal::DeprecatedPeerConnectionHandlerInternal):
107 * platform/mediastream/chromium/DeprecatedPeerConnectionHandlerInternal.h: Copied from Source/WebKit/chromium/bridge/DeprecatedPeerConnectionHandlerInternal.h.
108 * platform/mediastream/chromium/MediaStreamCenterChromium.cpp: Copied from Source/WebKit/chromium/bridge/MediaStreamCenter.cpp.
109 * platform/mediastream/chromium/MediaStreamCenterInternal.cpp: Copied from Source/WebKit/chromium/bridge/MediaStreamCenterInternal.cpp.
110 (WebCore::MediaStreamCenterInternal::MediaStreamCenterInternal):
111 * platform/mediastream/chromium/MediaStreamCenterInternal.h: Copied from Source/WebKit/chromium/bridge/MediaStreamCenterInternal.h.
112 * platform/mediastream/chromium/PeerConnection00Handler.cpp: Copied from Source/WebKit/chromium/bridge/PeerConnection00Handler.cpp.
113 * platform/mediastream/chromium/PeerConnection00HandlerInternal.cpp: Copied from Source/WebKit/chromium/bridge/PeerConnection00HandlerInternal.cpp.
114 (WebCore::PeerConnection00HandlerInternal::PeerConnection00HandlerInternal):
115 * platform/mediastream/chromium/PeerConnection00HandlerInternal.h: Copied from Source/WebKit/chromium/bridge/PeerConnection00HandlerInternal.h.
117 2012-03-30 Adam Barth <abarth@webkit.org>
119 [Chromium] Move ResourceHandle to WebCore/platform/network/chromium
120 https://bugs.webkit.org/show_bug.cgi?id=82657
122 Reviewed by James Robinson.
124 We finally arive at our destination. This patch actually moves
125 WebCore::ResourceHandle from Source/WebKit/chromium/src to
126 Source/WebCore/network/chromium, matching its location in other ports.
127 To make this happen, we also need to move WrappedResourceRequest and
128 WrappedResourceResponse.
130 This patch is the last patch from
131 https://github.com/abarth/webkit/compare/master...webcore-platform
134 * platform/chromium/support/WrappedResourceRequest.h: Copied from Source/WebCore/platform/chromium/support/WrappedResourceRequest.h.
135 * platform/chromium/support/WrappedResourceResponse.h: Copied from Source/WebCore/platform/chromium/support/WrappedResourceResponse.h.
136 * platform/network/chromium/ResourceHandle.cpp: Copied from Source/WebCore/platform/network/chromium/ResourceHandle.cpp.
137 * platform/network/chromium/ResourceHandleInternal.h: Copied from Source/WebCore/platform/network/chromium/ResourceHandleInternal.h.
139 2012-03-30 Ryosuke Niwa <rniwa@webkit.org>
141 Add a compile assert for the size of RenderText
142 https://bugs.webkit.org/show_bug.cgi?id=82780
144 Reviewed by Dirk Pranke.
146 Added an assertion. Also moved m_maxWidth, m_beginMinWidth, and m_endMinWidth
147 to right beneath m_minWidth so that gcc on GTK+ can pack floats properly.
149 * rendering/RenderText.cpp:
150 (SameSizeAsRenderText):
152 * rendering/RenderText.h:
155 2012-03-30 Ryosuke Niwa <rniwa@webkit.org>
157 Add a compile assert for the size of ScrollableArea
158 https://bugs.webkit.org/show_bug.cgi?id=82822
160 Reviewed by Dirk Pranke.
162 Added the assertion. Also made m_scrollOriginChanged a bitfield so that it can be packed nicely.
164 * platform/ScrollableArea.cpp:
165 (SameSizeAsScrollableArea):
167 * platform/ScrollableArea.h:
170 2012-03-30 Dan Bernstein <mitz@apple.com>
172 Reverted r112767, because it caused many vertical text tests to fail.
175 * platform/graphics/FontPlatformData.cpp:
176 (WebCore::FontPlatformData::FontPlatformData):
177 (WebCore::FontPlatformData::operator=):
178 * platform/graphics/FontPlatformData.h:
179 (WebCore::FontPlatformData::FontPlatformData):
181 (WebCore::FontPlatformData::isColorBitmapFont):
182 (WebCore::FontPlatformData::hash):
183 (WebCore::FontPlatformData::operator==):
184 * platform/graphics/SimpleFontData.cpp:
185 (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
186 * platform/graphics/SimpleFontData.h:
189 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
190 (WebCore::FontPlatformData::FontPlatformData):
191 (WebCore::FontPlatformData::setFont):
192 * platform/graphics/mac/FontCacheMac.mm:
193 (WebCore::FontCache::createFontPlatformData):
194 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
195 (WebCore::shouldUseCoreText):
196 (WebCore::GlyphPage::fill):
197 * platform/graphics/mac/SimpleFontDataMac.mm:
200 2012-03-30 Dan Bernstein <mitz@apple.com>
202 Tried to fix the Chromium Mac build after r112767.
204 * platform/graphics/SimpleFontData.h:
208 2012-03-30 Dirk Schulze <krit@webkit.org>
210 Colors seem to be parsed using HTML quirks in SVG attributes
211 https://bugs.webkit.org/show_bug.cgi?id=46112
213 Reviewed by Eric Seidel.
215 Finally move to SVGAttributeMode on parsing SVG presentation attributes. SVG attributes are
216 mainly parsed in the strict mode, which affects strict parsing of colors and no spaces between
217 values and units. Unit less values are still allowed.
219 Tests: svg/css/svg-attribute-length-parsing.html
220 svg/css/svg-attribute-parser-mode.html
222 * css/CSSGrammar.y: No quirks mode for SVG.
224 (WebCore::CSSParser::inStrictMode): SVGAttributeMode also implies strict parsing.
225 (WebCore::CSSParser::inQuirksMode): Remove SVGAttributeMode from quirks mode.
226 * css/CSSParserMode.h:
227 (isStrictParserMode): Ditto.
228 * dom/StyledElement.cpp:
229 (WebCore::StyledElement::updateAttributeStyle):
230 * svg/SVGElementRareData.h:
231 (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
232 * svg/SVGFontFaceElement.cpp:
233 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
234 * svg/SVGStyledElement.cpp: Switch to SVGAttributeMode if we parse a SVG presentation attribute.
235 (WebCore::SVGStyledElement::getPresentationAttribute):
237 2012-03-30 Tony Tseung <tseung@apple.com>
239 Composite Font References is a new established standard (ISO/IEC 14496-28:2012) for specifying
240 composite fonts from existing physical fonts.
241 <rdar://problem/10717370>
242 https://bugs.webkit.org/show_bug.cgi?id=82810
244 CoreText have already the features enabled, here we added this to WebKit text layout and rendering.
245 A member function getCompositeFontReferenceFontData is added to the SimpleFontData class for the component font
246 correspond to the platformData, in this case, a NSFont. This is used when CoreText layout had resulted
247 a component of the Composite Font Reference and its corresponding SimpleFontData object is then cached
248 in the SimpleFontData object of the posting font (Composite Font Reference).
250 When glyphs are encoded to form the GlyphPage for rendering, the Composite Font Reference is handled throught
251 the CoreText layout path (using CTLine), here the resulting glyph is associated with a font which could
252 be not the original font request. In this case, these are the component fonts of the Composite Font
253 Reference. This is then identified and then added to the GlyphPage appropriately.
255 To support this feature, a member function isCompositeFontReference is added to FontPlatformData to
256 indicate a font is a Composite Font Reference. Also in order to pass the component font correctly a boolean
257 isPrinterFont is added to one the FontPlatformData constructors to describe the NSFont.
259 Reviewed by Dan Bernstein.
261 Added test LayoutTests/fast/text/international/text-spliced-font.html
264 Replaced obsolete FontPlatformData constructor entry.
266 * platform/graphics/FontPlatformData.cpp:
267 (WebCore::FontPlatformData::FontPlatformData):
268 Copy of the additional m_isCompositeFontReference and m_isPrinterFont data members.
270 (WebCore::FontPlatformData::operator=):
271 Assignment of the additional m_isCompositeFontReference and m_isPrinterFont data members.
273 * platform/graphics/FontPlatformData.h:
274 (WebCore::FontPlatformData::FontPlatformData):
276 Default value of m_isCompositeFontReference and m_isPrinterFont data members are set to false in various constructors.
278 (WebCore::FontPlatformData::isCompositeFontReference):
279 Newly added for Composite Font Reference type font.
281 (WebCore::FontPlatformData::isPrinterFont):
282 Newly added for describing the NSFont parameter if is applicable.
284 (WebCore::FontPlatformData::operator==):
285 Comparison of the additional m_isCompositeFontReference and m_isPrinterFont data members.
287 * platform/graphics/SimpleFontData.cpp:
288 (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
289 Clean up the cache for component fonts of the Composite Font References.
291 * platform/graphics/SimpleFontData.h:
293 Added member function const SimpleFontData* getCompositeFontReferenceFontData(NSFont *key) const.
296 Added CFDictionary for caching the component font of Composite Font Reference.
298 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
299 (WebCore::FontPlatformData::FontPlatformData):
300 Data members m_isCompositeFontReference and m_isPrinterFont are initialised and their values are determined in the body of the contructor.
302 (WebCore::FontPlatformData::setFont):
303 Data members m_isCompositeFontReference and m_isPrinterFont are determined and set.
305 * platform/graphics/mac/FontCacheMac.mm:
306 (WebCore::FontCache::createFontPlatformData):
307 Boolean value isUsingPrinterFont is passed in the new FontPlatformData constructor.
309 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
310 (WebCore::shouldUseCoreText):
311 Added the condition for Composite Font Reference type font.
313 (WebCore::GlyphPage::fill):
314 In the case of Composite Font Reference, when iterate the runs, component font of Composite Font
315 Reference is used to fill the glyph index in the GlyphPage.
317 * platform/graphics/mac/SimpleFontDataMac.mm:
318 (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
319 Newly added method for the component fonts correspond to the platformData, in this case, a NSFont.
320 This SimpleFontData is created and cached in this object and will only be deleted when the destructor
323 2012-03-30 Charles Wei <charles.wei@torchmobile.com.cn>
325 [BlackBerry] Use KURL::protocolIsInHTTPFamily() instead KURL::protocolInHTTPFamily()
326 https://bugs.webkit.org/show_bug.cgi?id=82707
328 Reviewed by Rob Buis.
330 No new tests, just BlackBerry build fix.
332 * platform/network/blackberry/NetworkManager.cpp:
333 (WebCore::NetworkManager::startJob):
335 2012-03-30 Eric Seidel <eric@webkit.org>
336 styleForElement() should use enums instead of bools so we can all understand what it's doing
337 https://bugs.webkit.org/show_bug.cgi?id=82807
339 Reviewed by Adam Barth.
341 No change in behavior, thus no tests.
343 Mostly this is just replacing true/false with the correct new enum value
344 or removing true/false from the callsites when they would have been default anyway.
345 I think this makes the code *way* more clear.
347 The old code was extra confusing because the defaults were "true, false". :)
348 The new defaults are AllowStyleSharing, MatchAllRules.
349 It's very uncommon for callers to want to override either of these behaviors.
350 I think most callers which specify DisallowStyleSharing likely don't actually need to
351 (our style-sharing code should be smart enough to only share when safe anyway).
353 * css/CSSStyleSelector.cpp:
354 (WebCore::CSSStyleSelector::CSSStyleSelector):
355 - Use enums and remove bogus comment (m_rootDefaultStyle is a RefPtr!)
356 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
357 * css/CSSStyleSelector.h:
359 * css/MediaQueryMatcher.cpp:
360 (WebCore::MediaQueryMatcher::prepareEvaluator):
361 * css/StyleMedia.cpp:
362 (WebCore::StyleMedia::matchMedium):
364 (WebCore::Element::styleForRenderer):
365 * rendering/RenderObject.cpp:
366 (WebCore::RenderObject::getUncachedPseudoStyle):
367 - Updated to use enums
368 - Also fixed this to use toElement and modern early-return styles.
369 * rendering/RenderRegion.cpp:
370 (WebCore::RenderRegion::computeStyleInRegion):
371 * svg/SVGElement.cpp:
372 (WebCore::SVGElement::customStyleForRenderer):
374 2012-03-30 Jason Liu <jason.liu@torchmobile.com.cn>
376 [BlackBerry] Headers with no content shouldn't be dropped by platform's request.
377 https://bugs.webkit.org/show_bug.cgi?id=82691
379 Reviewed by Rob Buis.
381 Test : http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
383 * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
384 (WebCore::ResourceRequest::initializePlatformRequest):
386 2012-03-30 Eric Seidel <eric@webkit.org>
388 Add tests for iframe seamless and support for parsing webkitseamless attribute
389 https://bugs.webkit.org/show_bug.cgi?id=82795
391 Reviewed by Adam Barth.
393 This just adds support for parsing/reflecting the "webkitseamess" attribute.
394 I'll add the actual CSS, navigation, security, and layout changes in
395 separate follow-up patches.
397 Tests: fast/frames/seamless/seamless-basic.html
398 fast/frames/seamless/seamless-css-cascade.html
399 fast/frames/seamless/seamless-nested.html
400 fast/frames/seamless/seamless-sandbox-flag.html
402 * html/HTMLAttributeNames.in:
403 * html/HTMLIFrameElement.idl:
405 2012-03-30 Emil A Eklund <eae@chromium.org>
407 Change WebKit/WebKit2 platform code to use pixel snapped values
408 https://bugs.webkit.org/show_bug.cgi?id=82549
410 Reviewed by Eric Seidel.
412 Change WebKit and WebKit2 platform code to use rounded locations and
413 pixel snapped rects and sizes. This largely avoids having to expose the
414 fractional layout types to the platform code.
416 No new tests. No change in functionality.
419 (WebCore::Node::pixelSnappedRenderRect):
420 Add pixel snapped version of renderRect
422 * rendering/RenderBox.h:
423 (WebCore::RenderBox::pixelSnappedFrameRect):
424 Add pixel snapped version of frameRect
426 2012-03-30 Simon Fraser <simon.fraser@apple.com>
428 https://bugs.webkit.org/show_bug.cgi?id=82761
430 Try to narrow down the cause of this assertion by adding
431 an assertion about m_frame.
433 * editing/Editor.cpp:
434 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
436 2012-03-30 Emil A Eklund <eae@chromium.org>
438 Fix return type for virtual borderBoundingBox method
439 https://bugs.webkit.org/show_bug.cgi?id=82561
441 Reviewed by Eric Seidel.
443 No new tests, no change in functionality.
445 * editing/DeleteButtonController.cpp:
446 (WebCore::isDeletableElement):
447 * rendering/RenderBox.h:
448 (WebCore::RenderBox::borderBoxRect):
449 Rename pixelSnappedBorderBoxRect to borderBoxRect and remove LayoutRect
450 version of same as we always want to use the pixel snapped version to
451 ensure proper rounding and alignment to device pixels.
452 (The way this rect is pixel snapped, using the m_frameRect location,
453 makes it hard for calling code to take the subpixel rect and correctly
456 (WebCore::RenderBox::borderBoundingBox):
457 * rendering/RenderBoxModelObject.h:
458 Change pure virtual definition of borderBoundingBox to return an IntRect
459 to match implementation in RenderBox.
461 (RenderBoxModelObject):
462 * rendering/RenderInline.h:
463 (WebCore::RenderInline::borderBoundingBox):
464 Change overloaded method to IntRect to match RenderBox implementation.
466 2012-03-30 Bear Travis <betravis@adobe.com>
468 shape-inside and shape-outside are not in the list of computed style properties
469 https://bugs.webkit.org/show_bug.cgi?id=82667
471 Reviewed by Ryosuke Niwa.
473 Adding prefixed shape-inside and shape-outside to the list of computed style properties.
474 Added properties to existing tests for computed style results
476 * css/CSSComputedStyleDeclaration.cpp:
477 (WebCore): added -webkit-shape-inside and -webkit-shape-outside to computedProperties
479 2012-03-30 Adam Barth <abarth@webkit.org>
481 https://bugs.webkit.org/show_bug.cgi?id=82582
482 Move CPP files related to ResourceHandle to WebCore/platform
484 Reviewed by James Robinson.
486 This patch moves a number of files that implement parts of the platform
487 portion of the Chromium WebKit API from the WebKit layer to
488 WebCore/platform. These files are in the dependency cone of
489 ResourceHandle and have no dependencies on anything outside
493 * platform/chromium/support/WebHTTPBody.cpp: Copied from Source/WebKit/chromium/src/WebHTTPBody.cpp.
494 * platform/chromium/support/WebHTTPLoadInfo.cpp: Copied from Source/WebKit/chromium/src/WebHTTPLoadInfo.cpp.
495 * platform/chromium/support/WebURL.cpp: Copied from Source/WebKit/chromium/src/WebURL.cpp.
496 * platform/chromium/support/WebURLError.cpp: Copied from Source/WebKit/chromium/src/WebURLError.cpp.
497 * platform/chromium/support/WebURLRequest.cpp: Copied from Source/WebKit/chromium/src/WebURLRequest.cpp.
498 * platform/chromium/support/WebURLRequestPrivate.h: Copied from Source/WebKit/chromium/src/WebURLRequestPrivate.h.
499 * platform/chromium/support/WebURLResponse.cpp: Copied from Source/WebKit/chromium/src/WebURLResponse.cpp.
500 * platform/chromium/support/WebURLResponsePrivate.h: Copied from Source/WebKit/chromium/src/WebURLResponsePrivate.h.
502 2012-03-30 Emil A Eklund <eae@chromium.org>
504 Fix usage of LayoutUnits in table code.
505 https://bugs.webkit.org/show_bug.cgi?id=82765
507 Reviewed by Eric Seidel.
509 Clean up usage of ints and LayoutUnits in table code in preparation for
510 turning on subpixel layout.
512 No new tests, no change in functionality.
514 * rendering/AutoTableLayout.cpp:
515 (WebCore::AutoTableLayout::computePreferredLogicalWidths):
516 Cast maxWidth to int as all table layout is done on int bounds.
518 * rendering/RenderTable.cpp:
519 (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
520 Change borders to LayoutUnit as paddings can have subpixel precision.
522 * rendering/RenderTable.h:
523 (WebCore::RenderTable::getColumnPos):
524 (WebCore::RenderTable::columnPositions):
525 Change getColumnPos and columnPositions to ints as the values are always
528 (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
529 * rendering/RenderTableCell.cpp:
530 (WebCore::RenderTableCell::styleOrColLogicalWidth):
531 Remove unnecessary cast.
533 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
534 Use LayoutPoint instead of left/top.
536 * rendering/RenderTableSection.cpp:
537 (WebCore::RenderTableSection::calcRowLogicalHeight):
538 (WebCore::RenderTableSection::layoutRows):
539 * rendering/RenderTableSection.h:
540 Change baseline and baselineDescent to int to avoid unnecessary type
543 2012-03-30 Joe Thomas <joethomas@motorola.com>
545 Spec renamed Viewport-relative lengths to Viewport-percentage lengths
546 https://bugs.webkit.org/show_bug.cgi?id=82773
548 Reviewed by Antti Koivisto.
550 As per the latest version of CSS Values and Units Module Level 3 specification released on 29 March 2012
551 (http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths) Viewport-relative lengths is renamed to Viewport-percentage lengths.
553 * css/CSSComputedStyleDeclaration.cpp:
554 (WebCore::getPositionOffsetValue):
555 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
556 * css/CSSPrimitiveValue.cpp:
557 (WebCore::unitCategory):
558 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
559 (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
560 (WebCore::CSSPrimitiveValue::viewportPercentageLength):
561 * css/CSSPrimitiveValue.h:
562 (WebCore::CSSPrimitiveValue::isViewportPercentageLength):
564 * css/CSSPrimitiveValueMappings.h:
565 (WebCore::CSSPrimitiveValue::convertToLength):
566 * css/CSSStyleApplyProperty.cpp:
567 (WebCore::ApplyPropertyLength::applyValue):
568 (WebCore::ApplyPropertyBorderRadius::applyValue):
569 (WebCore::ApplyPropertyFontSize::applyValue):
570 (WebCore::ApplyPropertyLineHeight::applyValue):
571 (WebCore::ApplyPropertyVerticalAlign::applyValue):
572 * css/CSSStyleSelector.cpp:
573 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
574 * css/LengthFunctions.cpp:
575 (WebCore::minimumValueForLength):
576 (WebCore::valueForLength):
577 (WebCore::floatValueForLength):
579 (WebCore::Length::isViewportPercentage):
580 (WebCore::Length::viewportPercentageLength):
581 * rendering/RenderBlock.cpp:
582 (WebCore::RenderBlock::textIndentOffset):
583 * rendering/RenderBox.cpp:
584 (WebCore::RenderBox::computeContentLogicalHeightUsing):
585 (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
586 * rendering/RenderBoxModelObject.cpp:
587 (WebCore::RenderBoxModelObject::paddingTop):
588 (WebCore::RenderBoxModelObject::paddingBottom):
589 (WebCore::RenderBoxModelObject::paddingLeft):
590 (WebCore::RenderBoxModelObject::paddingRight):
591 (WebCore::RenderBoxModelObject::paddingBefore):
592 (WebCore::RenderBoxModelObject::paddingAfter):
593 (WebCore::RenderBoxModelObject::paddingStart):
594 (WebCore::RenderBoxModelObject::paddingEnd):
595 (WebCore::RenderBoxModelObject::calculateFillTileSize):
596 * rendering/RenderInline.cpp:
597 (WebCore::computeMargin):
598 * rendering/style/RenderStyle.h:
600 2012-03-30 Alexandru Chiculita <achicu@adobe.com>
602 [CSS Filters] Drop Shadow is not repainting correctly when repaint area is smaller than the filtered element
603 https://bugs.webkit.org/show_bug.cgi?id=80323
605 Reviewed by Dean Jackson.
607 The problem is that shadow and blur (and custom filters - although not treated in this patch) need the full source image of
608 the surface that needs to be filtered. Until now the filter was computed only using the area defined by the dirty repaint rectangle.
609 Those filters need full image source because they displace pixel positions, meaning that pixels in the current dirty rectangle
610 have a dependency on pixels from the RenderLayer outside the dirty rect. See the bug pictures for an example of how that could go wrong.
612 The fix is to always keep a copy of the RenderLayer representation in memory. When repaint is needed we still invalidate
613 only the parts that changed, but the filter is computed using the full source image and not only the dirty rectangle.
615 In order to make that work, we needed the full repaint rectangle of the current RenderLayer and not just the clipped version that
616 we get through the ::paint methods. Also, because filters sometime need to repaint more than just the dirty area (because of the
617 outsets of the filters - ie blur, drop-shadow), it makes it easier to just capture all the repaints in the RenderLayer itself in a
618 similar way WebKit does now for composited layers. As a result the repaint container can also be a filtered layer (not just composited ones), so
619 that we can catch all the filter repaints in one place in the RenderLayer. Also with this change I removed the need to add visual overflow to
620 the RenderBox and also there's no need to patch the repaintUsingContainer. By the way, repaintUsingContainer did not always work because of the
621 LayoutState optimizations, so repaints during layout would fail (I know that that could be fixed by disabling the LayoutState for filtered areas).
623 Also part of this patch I extracted a function from RenderLayerCompositor::calculateCompositedBounds, so that we can also use it from RenderLayer.
624 I called it RenderLayer::calculateLayerBounds and there should be no change in functionality. It now also includes the outsets of the filter. I've
625 added a different bug to avoid adding the outsets when the filter is computed in hardware. That's because some platforms do not support that yet:
626 https://bugs.webkit.org/show_bug.cgi?id=81239
628 Also the visual overflow doesn't include the child RenderLayers, meaning that the outsets would have been applied to the border and not to the bounding box
629 of the RenderLayer. The end result was that some child RenderLayers could be clipped out of the filtered area.
631 Tests: css3/filters/filter-repaint-blur.html
632 css3/filters/filter-repaint-child-layers.html
633 css3/filters/filter-repaint-composited-fallback-crash.html
634 css3/filters/filter-repaint-composited-fallback.html
635 css3/filters/filter-repaint-sepia.html
636 css3/filters/filter-repaint-shadow-clipped.html
637 css3/filters/filter-repaint-shadow-rotated.html
638 css3/filters/filter-repaint-shadow.html
640 * platform/graphics/filters/FilterOperations.cpp:
641 (WebCore::FilterOperations::getOutsets): Drop shadow should only enlarge the outsets and never make them smaller.
643 * rendering/FilterEffectRenderer.cpp:
644 (WebCore::FilterEffectRenderer::FilterEffectRenderer):
645 (WebCore::FilterEffectRenderer::build): Caching the operations.hasFilterThatMovesPixels() in the FilterEffectRenderer.
646 (WebCore::FilterEffectRenderer::updateBackingStore): It now returns true when the backing store was recreated, so that we can repaint it all.
648 (WebCore::FilterEffectRendererHelper::prepareFilterEffect): Separated beginFilterEffect into two methods. One that computed the rects
649 and one that prepares the draw context.
650 (WebCore::FilterEffectRendererHelper::beginFilterEffect):
651 (WebCore::FilterEffectRendererHelper::applyFilterEffect):
653 * rendering/FilterEffectRenderer.h:
654 (FilterEffectRendererHelper):
655 (FilterEffectRenderer):
656 (WebCore::FilterEffectRenderer::hasFilterThatMovesPixels):
658 * rendering/RenderBox.cpp:
659 (WebCore::RenderBox::computeRectForRepaint): No need to include the outsets in the repaint rect here, we will do it later in RenderLayer.
660 (WebCore::RenderBox::addVisualEffectOverflow): Removed outsets from the overflow.
662 * rendering/RenderInline.cpp:
663 (WebCore::RenderInline::computeRectForRepaint): Removed the outsets from this method. We now compute that in
664 RenderLayer::setFilterBackendNeedsRepaintingInRect.
666 * rendering/RenderLayer.cpp:
668 In this change I introduce a new dirty rectangle used by filters. It accumulates all the repaint requests inside the filtered layer,
669 so that we can invalidate the areas that are outside the clipping rectangle. Such cases include "overflow:scroll" and "overflow:hidden", when
670 we still want to blur or drop shadow based on content that is not actually displayed on screen (but the shadow for that content is visible). That rectangle
671 is called m_filterRepaintRect and resets back to zero when the next repaint is finished. All the filtered layers that apply blur and drop-shadow
672 will have an extra backing surface and only the invalidated areas are repainted in that surface. This is very similar to how composited layers work.
674 (WebCore::RenderLayer::requiresFullLayerImageForFilters): Returns true in CPU mode and only if the layer needs the full source image of
675 the layer to compute the filter. Otherwise GPU layers already have access to the full bakcing image.
676 (WebCore::RenderLayer::enclosingFilterLayer): Returns the enclosing layer that returns true on requiresFullLayerImageForFilters.
677 (WebCore::RenderLayer::enclosingFilterRepaintLayer): Returns the enclosing layer that can be used to repaint the current layer. Usually that
678 is the RenderView layer or the parent RenderLayer that is composited.
679 (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect): Intercepts all the repaint queries for the filtered layers and uses
680 enclosingFilterRepaintLayer to enforce the repaint using the parent container.
682 (WebCore::RenderLayer::paintLayerContents): Consolidated the filters code in one single place. Also, it is now sending the bounding box and the
683 dirty rect to the FilterEffectRendererHelper::prepareFilterEffect to make sure the backing store is repainted accordingly. In some cases it might
684 rewrite the dirty rectangle used to paint the current layer, so that all the dirty areas in the backing store are covered.
685 (WebCore::RenderLayer::calculateLayerBounds): Extracted from RenderLayerCompositor::calculateCompositedBounds.
686 (WebCore::RenderLayer::updateOrRemoveFilterEffect): We should not create the filter builder when there's no filter specified.
688 * rendering/RenderLayer.h:
691 * rendering/RenderLayerCompositor.cpp:
692 (WebCore::RenderLayerCompositor::calculateCompositedBounds): Now using the code from RenderLayer::calculateLayerBounds
694 * rendering/RenderObject.cpp:
695 (WebCore::RenderObject::containerForRepaint): Using RenderLayer::enclosingFilterLayer to also find the parent filtered area.
696 (WebCore::RenderObject::repaintUsingContainer): Removed the need to add filter outsets in this method. We now compute that in
697 RenderLayer::setFilterBackendNeedsRepaintingInRect.
699 2012-03-30 Ryosuke Niwa <rniwa@webkit.org>
701 Add a compile assert for the size of BidiContext
702 https://bugs.webkit.org/show_bug.cgi?id=82793
704 Reviewed by Eric Seidel.
706 Added the assertion. Also reduced the number of bits used for bidi levels from
707 8 to 6 as done in InlineBox since bidi levels require exactly 6 bits.
709 * rendering/InlineBox.h: Added a comment about why bidi level needs exactly 6 bits.
710 * platform/text/BidiContext.cpp:
711 (SameSizeAsBidiContext):
713 * platform/text/BidiContext.h:
716 2012-03-30 Joshua Bell <jsbell@chromium.org>
718 IndexedDB: Race condition causes version change transaction to commit after onblocked
719 https://bugs.webkit.org/show_bug.cgi?id=82678
721 For a version change event, the blocked and success events could both be queued
722 before either is dispatched. The transaction would erroneously be allowed to commit
723 after the blocked event was dispatched; it should not be, as the request was not
726 Reviewed by Tony Chang.
728 Test: storage/indexeddb/dont-commit-on-blocked.html
730 * Modules/indexeddb/IDBRequest.cpp:
731 (WebCore::IDBRequest::dispatchEvent):
733 2012-03-30 Ryosuke Niwa <rniwa@webkit.org>
735 Add a compile assert for the size of FontDescription
736 https://bugs.webkit.org/show_bug.cgi?id=82786
738 Reviewed by Eric Seidel.
740 Added the assertion. Also converted a couple of boolean bitfields to unsinged.
741 I've verified that the conversions are safe (they're only used in FontDescription.h/cpp).
743 * platform/graphics/FontDescription.cpp:
744 (SameSizeAsFontDescription):
746 * platform/graphics/FontDescription.h:
749 2012-03-30 Adam Barth <abarth@webkit.org>
751 Move CPP files related to ResourceHandle to WebCore/platform
752 https://bugs.webkit.org/show_bug.cgi?id=82582
754 Reviewed by James Robinson.
756 Re-land a tiny piece of http://trac.webkit.org/changeset/112572 in the
757 hopes of not breaking the component build this time.
759 * WebCore.gyp/WebCore.gyp:
761 * platform/chromium/support/WebData.cpp: Copied from Source/WebKit/chromium/src/WebData.cpp.
763 2012-03-30 Andreas Kling <kling@webkit.org>
765 Kill CSSTimingFunctionValue.
766 <http://webkit.org/b/82787>
768 Reviewed by Antti Koivisto.
770 Remove CSSTimingFunctionValue and let the 3 subclasses inherit directly from CSSValue.
771 CSSTimingFunctionValue is a pointless middle-man class that adds nothing.
773 * css/CSSStyleSelector.cpp:
774 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
775 * css/CSSTimingFunctionValue.h:
776 (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
777 (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
778 (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
780 (WebCore::CSSValue::isCubicBezierTimingFunctionValue):
781 (WebCore::CSSValue::isLinearTimingFunctionValue):
782 (WebCore::CSSValue::isStepsTimingFunctionValue):
784 2012-03-30 Nat Duca <nduca@chromium.org>
786 [chromium] Bump max texture updates per frame to 48
787 https://bugs.webkit.org/show_bug.cgi?id=82779
789 Reviewed by James Robinson.
791 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
794 2012-03-30 Nate Chapin <japhet@chromium.org>
796 Merge FrameLoader::finishedLoading() into DocumentLoader::finishedLoading().
797 https://bugs.webkit.org/show_bug.cgi?id=82653
799 Reviewed by Adam Barth.
801 No new tests, no functionality change intended.
803 * loader/DocumentLoader.cpp:
804 (WebCore::DocumentLoader::finishedLoading):
805 * loader/FrameLoader.cpp:
806 * loader/FrameLoader.h:
807 * loader/MainResourceLoader.cpp:
808 (WebCore::MainResourceLoader::didFinishLoading):
810 2012-03-30 Antti Koivisto <antti@apple.com>
812 Cache origin check result to RuleData
813 https://bugs.webkit.org/show_bug.cgi?id=82774
815 Reviewed by Andreas Kling.
817 You wan't be able to get back to the stylesheet from a css style rule soon.
818 We need to do the origin check when we know the sheet it came from.
820 * css/CSSStyleSelector.cpp:
822 (WebCore::RuleData::hasDocumentSecurityOrigin):
824 (WebCore::makeRuleSet):
825 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
826 * css/CSSStyleSelector.h:
827 (WebCore::CSSStyleSelector::RuleFeature::RuleFeature):
831 2012-03-30 Mike Reed <reed@google.com>
833 Remove deadcode behind "SafeSkia" flag
834 https://bugs.webkit.org/show_bug.cgi?id=82771
836 Reviewed by Stephen White.
838 Just removing dead code (behind obsolete build flag), existing webkit tests apply
840 * platform/graphics/skia/GraphicsContextSkia.cpp:
841 (WebCore::GraphicsContext::addInnerRoundedRectClip):
842 (WebCore::GraphicsContext::clearRect):
843 (WebCore::GraphicsContext::clip):
844 (WebCore::GraphicsContext::canvasClip):
845 (WebCore::GraphicsContext::clipOut):
846 (WebCore::GraphicsContext::clipPath):
847 (WebCore::GraphicsContext::drawConvexPolygon):
848 (WebCore::GraphicsContext::clipConvexPolygon):
849 (WebCore::GraphicsContext::drawEllipse):
850 (WebCore::GraphicsContext::drawLine):
851 (WebCore::GraphicsContext::drawRect):
852 (WebCore::GraphicsContext::fillPath):
853 (WebCore::GraphicsContext::fillRect):
854 (WebCore::GraphicsContext::fillRoundedRect):
855 (WebCore::GraphicsContext::strokeArc):
856 (WebCore::GraphicsContext::strokePath):
857 (WebCore::GraphicsContext::strokeRect):
858 (WebCore::GraphicsContext::platformFillEllipse):
859 (WebCore::GraphicsContext::platformStrokeEllipse):
861 2012-03-30 Ryosuke Niwa <rniwa@webkit.org>
863 Add a compile assert for the size of InlineFlowBox
864 https://bugs.webkit.org/show_bug.cgi?id=82767
866 Reviewed by Tony Chang.
868 Add a compile assert to ensure InlineFlowBox stays small.
869 Also make some of the member variables not used in RootInlineBox private.
871 Changing these booleans to unsigned is safe as I've audited all code that
872 uses these member variables (they're all in InlineFlowBox or RootInlineBox).
874 * rendering/InlineFlowBox.cpp:
875 (SameSizeAsInlineFlowBox):
877 * rendering/InlineFlowBox.h:
880 2012-03-30 Zalan Bujtas <zbujtas@gmail.com>
882 Fix defective size_t overflow in GestureTapHighlighter.
883 https://bugs.webkit.org/show_bug.cgi?id=82605
885 Reviewed by Kenneth Rohde Christiansen.
887 In pathForRenderer, the for loop has 'i < rects().size() - 1' as test expression,
888 where rects().size() returns with size_t.
889 In case of empty rect, it leads to unsigned int overflow. Overflow value makes
890 the associated for loop run with invalid values.
891 Fix it by making loop variable int and stop using size_t type in the test expression.
892 Also, return early, if no focus ring found.
894 Manual test added. Tap gesture highlighter is getting triggered by UI process.
896 * page/GestureTapHighlighter.cpp:
898 2012-03-30 Mark Pilgrim <pilgrim@chromium.org>
900 GEOLOCATION should be implemented as Page Supplement
901 https://bugs.webkit.org/show_bug.cgi?id=82228
903 Reviewed by Adam Barth.
905 Geolocation now uses the Supplement interface instead of
906 keeping an instance variable on Page. This allows us to
907 remove all geolocation-related functions, variables, and
908 ifdefs out of Page and into Modules/geolocation/.
910 * Modules/geolocation/Geolocation.cpp:
911 (WebCore::Geolocation::stop):
912 (WebCore::Geolocation::lastPosition):
913 (WebCore::Geolocation::requestPermission):
914 (WebCore::Geolocation::startUpdating):
915 (WebCore::Geolocation::stopUpdating):
916 * Modules/geolocation/Geolocation.h:
918 * Modules/geolocation/GeolocationController.cpp:
919 (WebCore::GeolocationController::supplementName):
921 (WebCore::provideGeolocationTo):
922 * Modules/geolocation/GeolocationController.h:
923 (GeolocationController):
924 (WebCore::GeolocationController::from):
926 * page/GeolocationClient.h:
930 (WebCore::Page::Page):
931 (WebCore::Page::PageClients::PageClients):
937 2012-03-30 Anders Carlsson <andersca@apple.com>
941 * WebCore.xcodeproj/project.pbxproj:
943 2012-03-30 Anders Carlsson <andersca@apple.com>
945 Yet another build fix attempt.
947 * WebCore.xcodeproj/project.pbxproj:
949 2012-03-30 Joe Mason <jmason@rim.com>
951 [BlackBerry] Make sure strings do not leak in PluginViewBlackberry.
952 https://bugs.webkit.org/show_bug.cgi?id=82764
954 Update PluginViewBlackBerry to follow the changes in
955 BlackBerry::Platform::Window which now returns std::string instead of char* for
956 strings. Also copy the windowGroup and rootGroup strings in PluginViewPrivate
957 instead of just saving a pointer to the returned memory, which could become
960 Reviewed by Rob Buis.
962 * plugins/blackberry/PluginViewBlackBerry.cpp:
963 (WebCore::PluginView::setNPWindowIfNeeded):
964 (WebCore::PluginView::platformGetValue):
965 (WebCore::PluginView::platformDestroy):
966 * plugins/blackberry/PluginViewPrivateBlackBerry.h:
969 2012-03-30 Anders Carlsson <andersca@apple.com>
973 * WebCore.xcodeproj/project.pbxproj:
975 2012-03-30 Anders Carlsson <andersca@apple.com>
979 * page/scrolling/mac/ScrollingTreeMac.mm:
981 2012-03-30 Anders Carlsson <andersca@apple.com>
983 Show a scrolling indicator light when compositing borders are turned on
984 https://bugs.webkit.org/show_bug.cgi?id=82758
985 <rdar://problem/11143892>
987 Reviewed by Andreas Kling.
989 With this change, turning on compositing borders also turn on a tiny indicator in the top left corner.
990 This indicator uses color coding to show where wheel events are handled and where the scroll layer position is updated:
992 - Green means that both wheel events and scroll layer position updates are handled on the scrolling thread.
993 - Yellow means that wheel events need to be dispatched to the main thread (due to wheel event handlers), but that scroll layer position
994 updates still happen on the scrolling thread.
995 - Red means that scroll layer position updates happen on the main thread (due to background-attachment: fixed or fixed position objects).
998 * WebCore.xcodeproj/project.pbxproj:
999 * page/scrolling/ScrollingTree.cpp:
1000 (WebCore::ScrollingTree::commitNewTreeState):
1001 Call updateDebugRootLayer().
1003 * page/scrolling/ScrollingTreeNode.h:
1004 (WebCore::ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThread):
1007 (ScrollingTreeNode):
1008 * page/scrolling/mac/ScrollingTreeMac.mm: Added.
1009 (WebCore::ScrollingTree::setDebugRootLayer):
1010 Set up a new debug info sublayer.
1012 (WebCore::ScrollingTree::updateDebugRootLayer):
1013 Update the debug root layer background color based on the scrolling tree state.
1015 2012-03-30 Peter Rybin <peter.rybin@gmail.com>
1017 Web Inspector: CodeGeneratorInspector.py: add missing runtime assert method for InspectorObject
1018 https://bugs.webkit.org/show_bug.cgi?id=82753
1020 Reviewed by Vsevolod Vlasov.
1022 Type validator generator is extended to support missing InspectorObject type and
1023 made more accurate for "int" type.
1025 Strict types are enabled for 2 more domains.
1027 * inspector/CodeGeneratorInspector.py:
1028 (RawTypes.BaseType.generate_validate_method):
1029 (RawTypes.String.get_validate_method_params.ValidateMethodParams):
1031 (RawTypes.Int.generate_validate_method):
1032 (RawTypes.Int.get_raw_validator_call_text):
1033 (RawTypes.Number.get_validate_method_params.ValidateMethodParams):
1034 (RawTypes.Bool.get_validate_method_params.ValidateMethodParams):
1035 (RawTypes.Object.get_validate_method_params.ValidateMethodParams):
1036 (RawTypes.Object.get_validate_method_params):
1037 (TypeBindings.create_type_declaration_.ClassBinding.request_internal_runtime_cast):
1038 (PlainObjectBinding.request_internal_runtime_cast):
1039 (PlainObjectBinding.get_validator_call_text):
1040 (ArrayBinding.request_internal_runtime_cast):
1042 2012-03-30 Ian Vollick <vollick@chromium.org>
1044 [chromium] assertion being hit in CCLayerAnimationController
1045 https://bugs.webkit.org/show_bug.cgi?id=82237
1047 Reviewed by James Robinson.
1049 Animations are no longer pushed to the impl thread if they have already completed.
1051 Tested in CCLayerAnimationControllerTest.doNotSyncFinishedAnimation
1053 * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1054 (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
1056 2012-03-30 Ryosuke Niwa <rniwa@webkit.org>
1058 Build fix after r112699.
1060 * css/StylePropertySet.cpp:
1061 (WebCore::StylePropertySet::findPropertyWithId):
1063 2012-03-30 Ryosuke Niwa <rniwa@webkit.org>
1065 Add a compile assert for the size of CSSProperty
1066 https://bugs.webkit.org/show_bug.cgi?id=82756
1068 Reviewed by Andreas Kling.
1070 Add a compile assert to ensure CSSProperty instances stay small.
1072 Also make member variables of CSSProperty private as they should have been,
1073 and extract wrapValueInCommaSeparatedList from createFontFaceRule.
1075 * css/CSSParser.cpp:
1076 (WebCore::CSSParser::createFontFaceRule):
1077 * css/CSSProperty.cpp:
1078 (SameSizeAsCSSProperty):
1080 (WebCore::CSSProperty::wrapValueInCommaSeparatedList):
1081 * css/CSSProperty.h:
1084 2012-03-30 Ryosuke Niwa <rniwa@webkit.org>
1086 Let there be a clean xcodeproj.
1088 * WebCore.xcodeproj/project.pbxproj:
1090 2012-03-30 Chris Fleizach <cfleizach@apple.com>
1092 AX: Crash at WebCore::renderObjectContainsPosition(WebCore::RenderObject*, WebCore::Position const&)
1093 https://bugs.webkit.org/show_bug.cgi?id=82745
1095 Reviewed by Simon Fraser.
1097 Test: platform/mac/accessibility/range-for-position.html
1099 * accessibility/AccessibilityRenderObject.cpp:
1100 (WebCore::AccessibilityRenderObject::index):
1102 2012-03-30 John Sullivan <sullivan@apple.com>
1104 Certain emoji characters should not be displayed in user-visible URL strings.
1105 <https://bugs.webkit.org/show_bug.cgi?id=82739>
1106 <rdar://problem/9205643>
1108 Reviewed by Alexey Proskuryakov
1110 * platform/mac/WebCoreNSURLExtras.mm:
1111 (WebCore::isLookalikeCharacter):
1112 Added five emoji characters to the list.
1114 2012-03-30 David Barr <davidbarr@chromium.org>
1116 Split up top-level .gitignore and .gitattributes
1117 https://bugs.webkit.org/show_bug.cgi?id=82687
1119 Reviewed by Tor Arne Vestbø.
1121 No new tests, source control administrivia.
1123 * .gitattributes: Added.
1124 * WebCore.gyp/.gitignore: Added.
1126 2012-03-30 Patrick Gansterer <paroga@webkit.org>
1128 [WinCE] Correct <wtf/*.h> include paths.
1129 https://bugs.webkit.org/show_bug.cgi?id=82713
1131 Reviewed by Eric Seidel.
1133 Modify the #include declarations for several WinCE-related files
1134 so that the wtf types are included using the full path.
1136 * platform/graphics/wince/ImageBufferWinCE.cpp:
1138 2012-03-30 Vsevolod Vlasov <vsevik@chromium.org>
1140 Web Inspector: ScriptsNavigator scripts selection/focus polish.
1141 https://bugs.webkit.org/show_bug.cgi?id=82732
1143 Reviewed by Pavel Feldman.
1145 Script could be selected by space in ScriptsNavigator now.
1146 This patch also polishes focus behavior when using ScriptsNavigator.
1148 * inspector/front-end/ScriptsNavigator.js:
1149 (WebInspector.ScriptsNavigator.prototype._scriptSelected): Added focusSource param to give clients possibility to release focus.
1150 (WebInspector.NavigatorScriptTreeElement.prototype.onspace): Added script selection on space pressed.
1151 (WebInspector.NavigatorScriptTreeElement.prototype._onclick):
1152 (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
1153 * inspector/front-end/ScriptsPanel.js: _hideNavigatorOverlay moved to the end of events processing to set focus correctly.
1154 (WebInspector.ScriptsPanel.prototype._editorSelected):
1155 (WebInspector.ScriptsPanel.prototype._fileSelected):
1156 (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
1157 * inspector/front-end/treeoutline.js:
1158 (TreeOutline.prototype._treeKeyDown): onspace event added.
1160 2012-03-30 Mike Reed <reed@google.com>
1162 remove unneeded copies of SkPaths, remove unneeded save/restore
1163 https://bugs.webkit.org/show_bug.cgi?id=82641
1165 Reviewed by Stephen White.
1167 Performance change, existing webkit tests apply.
1169 * platform/graphics/skia/GraphicsContextSkia.cpp:
1170 (WebCore::GraphicsContext::clipOut):
1171 (WebCore::GraphicsContext::clipPath):
1172 (WebCore::GraphicsContext::fillPath):
1173 (WebCore::GraphicsContext::fillRect):
1174 (WebCore::GraphicsContext::strokePath):
1176 2012-03-30 Pavel Feldman <pfeldman@chromium.org>
1178 Web Inspector: undo-ing edit that consists of a Tab does not work.
1179 https://bugs.webkit.org/show_bug.cgi?id=82733
1181 Reviewed by Vsevolod Vlasov.
1183 We should never modify the range returned by the edit operation manually.
1184 And we should clone ranges that get into the model so that subsequent edits
1187 Drive-by: restore selection after undo via selecting all the text that undo
1190 Test: inspector/editor/text-editor-undo-redo.html
1192 * inspector/front-end/TextEditorModel.js:
1193 (WebInspector.TextEditorModel.endsWithBracketRegex.):
1194 * inspector/front-end/TextViewer.js:
1196 2012-03-30 Malcolm MacLeod <malcolm.macleod@tshwanedje.com>
1198 [wx] Implement Gradient and ImageBuffer support.
1199 https://bugs.webkit.org/show_bug.cgi?id=82710
1201 Reviewed by Kevin Ollivier.
1203 * platform/graphics/BitmapImage.h:
1205 (WebCore::BitmapImage::create):
1206 * platform/graphics/Gradient.h:
1207 * platform/graphics/wx/GradientWx.cpp:
1208 (WebCore::Gradient::platformDestroy):
1209 (WebCore::Gradient::platformGradient):
1210 (WebCore::Gradient::fill):
1211 * platform/graphics/wx/ImageBufferDataWx.h:
1213 * platform/graphics/wx/ImageBufferWx.cpp:
1215 (WebCore::ImageBufferData::ImageBufferData):
1216 (WebCore::ImageBufferData::~ImageBufferData):
1217 (WebCore::ImageBuffer::ImageBuffer):
1218 (WebCore::ImageBuffer::~ImageBuffer):
1219 (WebCore::ImageBuffer::context):
1220 (WebCore::ImageBuffer::toDataURL):
1221 (WebCore::ImageBuffer::copyImage):
1222 (WebCore::ImageBuffer::clip):
1223 (WebCore::ImageBuffer::draw):
1224 (WebCore::ImageBuffer::drawPattern):
1225 * platform/graphics/wx/ImageWx.cpp:
1226 (WebCore::BitmapImage::BitmapImage):
1228 (WebCore::BitmapImage::draw):
1229 * platform/wx/LocalDC.h:
1232 2012-03-30 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1234 [Qt] Find zoomable area using area-based hit-testing
1235 https://bugs.webkit.org/show_bug.cgi?id=82609
1237 Reviewed by Kenneth Rohde Christiansen.
1239 Implement API for calculating the best zoomable area for a
1240 tap-to-zoom gesture.
1241 It picks the area with the largest intersection with the touch. In most
1242 cases this will be all areas fully containing the area, and returns the
1243 smallest inner-most of these.
1245 * page/EventHandler.cpp:
1246 (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
1247 * page/EventHandler.h:
1248 * page/TouchAdjustment.cpp:
1249 (WebCore::TouchAdjustment::nodeIsZoomTarget):
1250 (WebCore::TouchAdjustment::appendZoomableSubtargets):
1251 (WebCore::TouchAdjustment::compileZoomableSubtargets):
1252 (WebCore::TouchAdjustment::areaOfIntersection):
1253 (WebCore::TouchAdjustment::findAreaWithLargestIntersection):
1254 (WebCore::findBestZoomableArea):
1255 * page/TouchAdjustment.h:
1256 * platform/graphics/IntSize.h:
1257 (WebCore::IntSize::area):
1259 2012-03-30 Pavel Feldman <pfeldman@chromium.org>
1261 Web Inspector: do not issue attributes modified event if actual values were not changed.
1262 https://bugs.webkit.org/show_bug.cgi?id=82726
1264 Reviewed by Yury Semikhatsky.
1266 When style attribute is invalidated, we re-fetch the attributes values. There is no
1267 point in further dispatching attrs modified event if model stays the same.
1269 Test: inspector/elements/edit-style-attribute.html
1271 * inspector/front-end/DOMAgent.js:
1272 (WebInspector.DOMNode.prototype._setAttributesPayload):
1273 (WebInspector.DOMAgent.prototype._loadNodeAttributes):
1275 2012-03-30 Philip Rogers <pdr@google.com>
1277 Add new renderer for circles and ellipses
1278 https://bugs.webkit.org/show_bug.cgi?id=80423
1280 Reviewed by Eric Seidel.
1282 This patch introduces a special renderer for SVGCircleElements
1283 and SVGEllipseElements to avoid having to use the slower path
1284 rendering code. This patch includes optimized circle code for
1285 the CG platform, and hooks (GC::fillEllipse, GC::strokeEllipse)
1286 are available for other platforms as well.
1288 Tests: svg/hittest/svg-ellipse-non-scale-stroke.xhtml
1289 svg/hittest/svg-ellipse.xhtml
1291 Added a test to exercise hit testing on an ellipse, and on
1292 an ellipse's stroke, to make sure the formulae in this patch
1296 * GNUmakefile.list.am:
1299 * WebCore.vcproj/WebCore.vcproj:
1300 * WebCore.xcodeproj/project.pbxproj:
1301 * platform/graphics/GraphicsContext.cpp:
1302 (WebCore::GraphicsContext::fillEllipse):
1304 (WebCore::GraphicsContext::strokeEllipse):
1305 (WebCore::GraphicsContext::fillEllipseAsPath):
1306 (WebCore::GraphicsContext::strokeEllipseAsPath):
1307 (WebCore::GraphicsContext::platformFillEllipse):
1308 (WebCore::GraphicsContext::platformStrokeEllipse):
1309 * platform/graphics/GraphicsContext.h:
1311 * platform/graphics/cg/GraphicsContextCG.cpp:
1312 (WebCore::GraphicsContext::platformFillEllipse):
1314 (WebCore::GraphicsContext::platformStrokeEllipse):
1315 * platform/graphics/skia/GraphicsContextSkia.cpp:
1316 (WebCore::GraphicsContext::platformFillEllipse):
1318 (WebCore::GraphicsContext::platformStrokeEllipse):
1319 * rendering/svg/RenderSVGAllInOne.cpp:
1320 * rendering/svg/RenderSVGEllipse.cpp: Added.
1322 (WebCore::RenderSVGEllipse::RenderSVGEllipse):
1323 (WebCore::RenderSVGEllipse::~RenderSVGEllipse):
1324 (WebCore::RenderSVGEllipse::createShape):
1325 (WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
1326 (WebCore::RenderSVGEllipse::objectBoundingBox):
1327 (WebCore::RenderSVGEllipse::strokeBoundingBox):
1328 (WebCore::RenderSVGEllipse::fillShape):
1329 (WebCore::RenderSVGEllipse::strokeShape):
1330 (WebCore::RenderSVGEllipse::shapeDependentStrokeContains):
1331 (WebCore::RenderSVGEllipse::shapeDependentFillContains):
1332 * rendering/svg/RenderSVGEllipse.h: Added.
1335 (WebCore::RenderSVGEllipse::isSVGEllipse):
1336 (WebCore::RenderSVGEllipse::renderName):
1337 (WebCore::RenderSVGEllipse::isEmpty):
1338 * svg/SVGCircleElement.cpp:
1339 (WebCore::SVGCircleElement::svgAttributeChanged):
1341 (WebCore::SVGCircleElement::createRenderer):
1342 * svg/SVGCircleElement.h:
1344 * svg/SVGEllipseElement.cpp:
1345 (WebCore::SVGEllipseElement::svgAttributeChanged):
1346 (WebCore::SVGEllipseElement::createRenderer):
1348 * svg/SVGEllipseElement.h:
1349 (SVGEllipseElement):
1351 2012-03-30 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
1353 Add a "preview" state to Page Visibility API implementation
1354 https://bugs.webkit.org/show_bug.cgi?id=81355
1356 Reviewed by Adam Barth.
1358 Updating the Page Visibility API implementation to the current spec version.
1360 This change is covered by fast/events/page-visibility-transition-test.html,
1361 so no new tests needed.
1363 * page/PageVisibilityState.cpp:
1364 (WebCore::pageVisibilityStateString):
1365 * page/PageVisibilityState.h:
1367 2012-03-30 Vsevolod Vlasov <vsevik@chromium.org>
1369 Web Inspector: [Regression] Execution line is not revealed after pretty print.
1370 https://bugs.webkit.org/show_bug.cgi?id=82727
1372 Reviewed by Pavel Feldman.
1374 This patch makes JavaScriptSourceFrame reveal execution line after pretty print.
1376 * inspector/front-end/JavaScriptSourceFrame.js:
1377 (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
1379 2012-03-30 Yury Semikhatsky <yurys@chromium.org>
1381 Web Inspector: preload field values into local variables for better heap profiler performance
1382 https://bugs.webkit.org/show_bug.cgi?id=82703
1384 Reading from object fields takes a noticable time when the only other thing you do
1385 is just manipulating on big(several million elements) Uint32Array array cells.
1387 Reviewed by Pavel Feldman.
1389 * inspector/front-end/HeapSnapshot.js:
1390 (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
1391 (WebInspector.HeapSnapshot.prototype._buildRetainers):
1392 (WebInspector.HeapSnapshot.prototype._bfs):
1394 2012-03-30 Sheriff Bot <webkit.review.bot@gmail.com>
1396 Unreviewed, rolling out r112489.
1397 http://trac.webkit.org/changeset/112489
1398 https://bugs.webkit.org/show_bug.cgi?id=82725
1400 Tentatively introduces a lot of webfont-related test flakiness
1401 on Snow Leopard (Requested by apavlov on #webkit).
1403 * css/CSSSegmentedFontFace.cpp:
1404 (WebCore::CSSSegmentedFontFace::getFontData):
1406 2012-03-30 Keishi Hattori <keishi@webkit.org>
1408 Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
1409 https://bugs.webkit.org/show_bug.cgi?id=80972
1411 Reviewed by Kent Tamura.
1414 * Configurations/FeatureDefines.xcconfig:
1418 * html/ColorInputType.cpp:
1419 * html/ColorInputType.h:
1420 * html/HTMLInputElement.cpp:
1422 * html/HTMLInputElement.h:
1424 * html/InputType.cpp:
1425 (WebCore::createInputTypeFactoryMap):
1431 * loader/EmptyClients.h:
1432 (EmptyChromeClient):
1438 * page/ChromeClient.h:
1441 * platform/ColorChooser.h:
1442 * platform/ColorChooserClient.h:
1443 * testing/InternalSettings.cpp:
1444 * testing/Internals.cpp:
1446 * testing/Internals.h:
1448 * testing/Internals.idl:
1450 2012-03-30 Charles Wei <charles.wei@torchmobile.com.cn>
1452 [BlackBerry] EventLoop::platformInit() obsolete.
1453 https://bugs.webkit.org/show_bug.cgi?id=82709
1455 Reviewed by Rob Buis.
1457 No new tests, build fix for BlackBerry porting.
1459 * platform/blackberry/EventLoopBlackBerry.cpp:
1461 2012-03-30 Vsevolod Vlasov <vsevik@chromium.org>
1463 Web Inspector: ScriptsNavigator should open scripts with single click (not double click).
1464 https://bugs.webkit.org/show_bug.cgi?id=82723
1466 Reviewed by Pavel Feldman.
1468 This patch makes ScriptsNavigator open scripts with single click.
1470 * inspector/front-end/ScriptsNavigator.js:
1471 (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
1472 (WebInspector.NavigatorScriptTreeElement.prototype._onclick):
1474 2012-03-30 Vineet Chaudhary <rgf748@motorola.com>
1476 IDLParser.pm should be able to parse sequence<T> as method argument.
1477 https://bugs.webkit.org/show_bug.cgi?id=82599
1479 Reviewed by Kentaro Hara.
1481 With this patch IDL parser should support sequence<T> as method argument.
1482 Current behaviour is argument name is not parsed hence shows empty spaces instead.
1484 Tests: bindings/scripts/test/TestObj.idl
1486 * bindings/scripts/CodeGeneratorCPP.pm:
1487 (SkipFunction): Skip functions for specific type.
1488 (SkipAttribute): Skip functions for specific type.
1489 (AddIncludesForType): Skip header for sequence<T> type.
1490 (GenerateHeader): Skip header and declaration for sequence<T> type.
1491 (GenerateImplementation): Skip header and implementation for sequence<T> type.
1492 * bindings/scripts/CodeGeneratorGObject.pm:
1493 (SkipFunction): Skip functions for sequence<T> type.
1494 * bindings/scripts/CodeGeneratorObjC.pm:
1495 (SkipFunction): Skip functions for specific type.
1496 (SkipAttribute): Skip functions for specific type.
1497 (AddForwardDeclarationsForType): Skip header for sequence<T> type.
1498 (AddIncludesForType): Skip header for sequence<T> type.
1499 (GenerateHeader):Skip header and declaration for sequence<T> type.
1500 (GenerateImplementation): Skip header and implementation for sequence<T> type.
1501 * bindings/scripts/CodeGeneratorV8.pm:
1502 (CreateCustomSignature): Add appropriate headers.
1503 * bindings/scripts/IDLStructure.pm: Add support to parse sequence<T>.
1504 * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Modified results from run-binding-tests.
1505 (WebDOMTestObj::objMethodWithArgs):
1506 * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
1507 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
1508 (webkit_dom_test_obj_obj_method_with_args):
1509 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
1510 * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
1511 (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
1512 * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
1513 * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
1514 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
1515 * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
1516 (WebCore::TestObjInternal::methodWithSequenceArgCallback):
1517 (WebCore::ConfigureV8TestObjTemplate):
1519 2012-03-30 Pavel Feldman <pfeldman@chromium.org>
1521 Web Inspector: editing resets line-ending of the whole file
1522 https://bugs.webkit.org/show_bug.cgi?id=82708
1524 Reviewed by Yury Semikhatsky.
1526 This change splits TextEditorModel's setText into setText (for initialization) and
1527 editRange (for editing). Distinguishing between the two allowed properly detecting
1528 the preferred line endings.
1530 Test: inspector/editor/text-editor-line-breaks.html
1532 * inspector/front-end/JavaScriptSourceFrame.js:
1533 (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
1534 * inspector/front-end/SourceFrame.js:
1535 (WebInspector.SourceFrame.prototype.setContent):
1536 * inspector/front-end/TextEditorModel.js:
1537 (WebInspector.TextEditorCommand):
1538 (WebInspector.TextEditorModel):
1539 (WebInspector.TextEditorModel.endsWithBracketRegex.):
1540 * inspector/front-end/TextViewer.js:
1541 (WebInspector.TextViewer.prototype._textChanged):
1542 (WebInspector.TextEditorMainPanel.prototype._unindentLines.get var):
1543 (WebInspector.TextEditorMainPanel.prototype._unindentLines):
1544 (WebInspector.TextEditorMainPanel.prototype.handleEnterKey.get var):
1545 (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
1546 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1547 (WebInspector.TextEditorMainPanel.prototype._editRange):
1549 2012-03-29 Vsevolod Vlasov <vsevik@chromium.org>
1551 Web Inspector: Take IndexedDB support out of experiments.
1552 https://bugs.webkit.org/show_bug.cgi?id=82635
1554 Reviewed by Pavel Feldman.
1556 This patch takes inspector IndexedDB support out of experiments and enables tests.
1558 Test: http/tests/inspector/indexeddb/resources-panel.html
1560 * inspector/front-end/ResourcesPanel.js:
1561 * inspector/front-end/Settings.js:
1562 (WebInspector.ExperimentsSettings):
1564 2012-03-30 Patrick Gansterer <paroga@webkit.org>
1566 Build fix after r112482.
1568 * platform/network/cf/FormDataStreamCFNet.h: Added missing forward decleration.
1570 2012-03-30 Philippe Normand <pnormand@igalia.com>
1572 [GTK] WebAudio channelSize issue
1573 https://bugs.webkit.org/show_bug.cgi?id=81905
1575 Reviewed by Martin Robinson.
1577 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1578 (WebCore::AudioFileReader::handleBuffer): Calculate the audio
1579 buffer duration and frames number from the buffer and caps instead
1580 of relying on the buffer offets that are not always correctly set
1581 depending on the audio file format.
1583 2012-03-29 Alexandru Chiculita <achicu@adobe.com>
1585 [CSS Filters] Trigger a repaint on elements with changed filter
1586 https://bugs.webkit.org/show_bug.cgi?id=82521
1588 Reviewed by Dean Jackson.
1590 I've added ContextSensitivePropertyFilter and changed RenderStyle::diff to use it when
1591 the filter property is changed. In RenderObject::adjustStyleDifference the appropriate StyleDifferenceRepaintLayer
1592 or StyleDifferenceRecompositeLayer is used depending on whether the layer is painting filters in software or in hardware
1595 Tests: css3/filters/filter-change-repaint-composited.html
1596 css3/filters/filter-change-repaint.html
1598 * css/CSSStyleSelector.cpp:
1599 (WebCore::CSSStyleSelector::createFilterOperations): None was treated as an invalid value.
1600 * platform/graphics/ca/mac/PlatformCALayerMac.mm: Shadows were remaining behind. Fixed that.
1601 (PlatformCALayer::setFilters):
1602 * rendering/RenderBoxModelObject.cpp:
1603 (WebCore::RenderBoxModelObject::styleWillChange): Repaint the layer when there is a layout change and a filter change.
1604 * rendering/RenderLayer.cpp:
1605 (WebCore::RenderLayer::styleChanged): Making sure that the backing store is repainted when filters fallback to hardware.
1606 * rendering/RenderObject.cpp:
1607 (WebCore::RenderObject::adjustStyleDifference):
1608 * rendering/style/RenderStyle.cpp:
1609 (WebCore::RenderStyle::diff):
1610 * rendering/style/RenderStyleConstants.h:
1612 2012-03-29 Koji Ishii <kojiishi@gmail.com>
1615 Vertical flow support for OpenType fonts with the least platform dependencies
1616 https://bugs.webkit.org/show_bug.cgi?id=81326
1618 Reviewed by Dan Bernstein.
1620 This patch introduces a new class OpenTypeVerticalData to read
1621 vertical font metrics from OpenType fonts.
1623 Currently, WebKit relies on platform APIs to do the work. However,
1624 some platforms such as Windows lack support for all the capabilities
1625 WebKit requires for vertical flow and the text-orientation property
1626 to work correctly. Reading OpenType tables directly also gives
1627 benefits in consistent behavior among the WebKit platforms.
1629 This patch is for any platforms that want to parse OpenType tables
1630 directly, but it's currently included only in CGWin and isn't on any
1631 code path even on CGWin yet. Caller's side change for CGWin and
1632 support for other platforms will be in separate bugs.
1634 No new tests are required. No behavior changes.
1636 * WebCore.vcproj/WebCore.vcproj: Added OpenTypeTypes.h and OpenTypeVerticalData.h/cpp.
1637 * platform/SharedBuffer.cpp: Add create(size_t)
1638 (WebCore::SharedBuffer::SharedBuffer):
1640 * platform/SharedBuffer.h: Add create(size_t)
1641 (WebCore::SharedBuffer::create):
1643 * platform/graphics/FontPlatformData.h: Added openTypeTable().
1646 * platform/graphics/SimpleFontData.h: Added sizePerUnit().
1647 (WebCore::SimpleFontData::sizePerUnit): size() / unitsPerEm() for less multiplication.
1648 * platform/graphics/opentype/OpenTypeTypes.h: Added OpenType basic type definitions.
1650 (WebCore::OpenType::BigEndianShort::operator short):
1651 (WebCore::OpenType::BigEndianShort::BigEndianShort):
1653 (WebCore::OpenType::BigEndianUShort::operator unsigned short):
1654 (WebCore::OpenType::BigEndianUShort::BigEndianUShort):
1656 (WebCore::OpenType::BigEndianLong::operator int):
1657 (WebCore::OpenType::BigEndianLong::BigEndianLong):
1659 (WebCore::OpenType::BigEndianULong::operator unsigned):
1660 (WebCore::OpenType::BigEndianULong::BigEndianULong):
1662 * platform/graphics/opentype/OpenTypeVerticalData.cpp: Added.
1668 (VertOriginYMetrics):
1669 (WebCore::OpenType::VORGTable::requiredSize):
1671 (WebCore::validatedPtr):
1672 (WebCore::OpenTypeVerticalData::OpenTypeVerticalData):
1673 (WebCore::OpenTypeVerticalData::advanceHeight): Advance height for a glyph.
1674 (WebCore::OpenTypeVerticalData::getVerticalTranslationsForGlyphs): Vertical origin.
1675 * platform/graphics/opentype/OpenTypeVerticalData.h: Added.
1677 (OpenTypeVerticalData): A new class to handle vertical flow data in OpenType.
1678 (WebCore::OpenTypeVerticalData::isOpenType):
1679 (WebCore::OpenTypeVerticalData::hasVerticalMetrics):
1680 (WebCore::OpenTypeVerticalData::hasVORG):
1681 * platform/graphics/win/FontPlatformDataWin.cpp:
1683 (WebCore::FontPlatformData::openTypeTable): Implemented openTypeTable() for Win32.
1685 2012-03-29 Leo Yang <leo.yang@torchmobile.com.cn>
1687 [BlackBerry] Sync up PlatformMouseEvent
1688 https://bugs.webkit.org/show_bug.cgi?id=82567
1690 Reviewed by Rob Buis.
1692 This patch is adding blackberry specific members to PlatformMouseEvent.
1693 Also re-base PlatformMouseEventBlackBerry to adapt to the re-factor
1694 of PlatformMouseEvent.
1696 * platform/PlatformMouseEvent.h:
1697 (PlatformMouseEvent): BlackBerry specific constructor.
1698 (WebCore::PlatformMouseEvent::inputMethod): Input source of mouse event
1699 for blackberry platform.
1700 * platform/blackberry/PlatformMouseEventBlackBerry.cpp:
1701 (WebCore::PlatformMouseEvent::PlatformMouseEvent): Re-base the constructor
1702 to adapt the re-factor of PlatformMouseEvent.
1704 2012-03-29 Leo Yang <leo.yang@torchmobile.com.cn>
1706 [BlackBerry] Turn on STORE_FONT_CUSTOM_PLATFORM_DATA in CachedFont.cpp
1707 https://bugs.webkit.org/show_bug.cgi?id=82573
1709 Reviewed by Rob Buis.
1711 Tests: covered by existing tests.
1713 * loader/cache/CachedFont.cpp:
1715 2012-03-29 Adam Barth <abarth@webkit.org>
1717 [Chromium] Attempt to fix the component build
1718 https://bugs.webkit.org/show_bug.cgi?id=82676
1720 Reviewed by Dirk Pranke.
1722 Now that we're implementing some of the WEBKIT_EXPORT symbols in
1723 WebCore/platform/chromium/support, we need to tell the build system
1724 that we want to actually export these symbols.
1726 * WebCore.gyp/WebCore.gyp:
1728 2012-03-29 Adam Barth <abarth@webkit.org>
1730 Unreviewed, rolling out r112572.
1731 http://trac.webkit.org/changeset/112572
1732 https://bugs.webkit.org/show_bug.cgi?id=82582
1734 Does not compile in Windows component build
1736 * WebCore.gyp/WebCore.gyp:
1739 2012-03-29 Adam Barth <abarth@webkit.org>
1741 Unreviewed, rolling out r112579.
1742 http://trac.webkit.org/changeset/112579
1743 https://bugs.webkit.org/show_bug.cgi?id=82657
1745 Does not compile in Windows component build
1749 2012-03-29 Adam Barth <abarth@webkit.org>
1751 Unreviewed, rolling out r112611.
1752 http://trac.webkit.org/changeset/112611
1753 https://bugs.webkit.org/show_bug.cgi?id=82676
1755 Does not compile in Windows component build
1757 * WebCore.gyp/WebCore.gyp:
1759 2012-03-29 Bear Travis <betravis@adobe.com>
1761 Update shape-inside/shape-outside CSS Exclusion properties
1762 https://bugs.webkit.org/show_bug.cgi?id=82365
1764 Reviewed by Ryosuke Niwa.
1766 Updating CSS property names for wrap-shape-inside and wrap-shape-outside
1767 to shape-inside and shape-outside, per the current exclusions spec.
1768 Renaming some parsing functions in CSSParser for clarity.
1769 No new functionality.
1771 * css/CSSComputedStyleDeclaration.cpp:
1773 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1774 * css/CSSParser.cpp:
1775 (WebCore::CSSParser::parseValue):
1776 (WebCore::CSSParser::parseClipShape):
1777 (WebCore::CSSParser::parseExclusionShapeRect):
1778 (WebCore::CSSParser::parseExclusionShapeCircle):
1779 (WebCore::CSSParser::parseExclusionShapeEllipse):
1780 (WebCore::CSSParser::parseExclusionShapePolygon):
1781 (WebCore::CSSParser::parseExclusionShape):
1783 * css/CSSProperty.cpp:
1784 (WebCore::CSSProperty::isInheritedProperty):
1785 * css/CSSPropertyNames.in:
1786 * css/CSSStyleSelector.cpp:
1787 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1789 2012-03-29 Ryan Sleevi <rsleevi@chromium.org>
1791 [chromium] Update paths in GYP files
1792 https://bugs.webkit.org/show_bug.cgi?id=82663
1794 Reviewed by Adam Barth.
1797 Remove PluginDataGtk.cpp following r112401
1799 2012-03-29 Abhishek Arya <inferno@chromium.org>
1801 Crash in GenericEventQueue::~GenericEventQueue.
1802 https://bugs.webkit.org/show_bug.cgi?id=81976
1804 Reviewed by Eric Carlson.
1806 * dom/GenericEventQueue.cpp:
1807 (WebCore::GenericEventQueue::create):
1809 (WebCore::GenericEventQueue::GenericEventQueue):
1810 (WebCore::GenericEventQueue::enqueueEvent):
1811 (WebCore::GenericEventQueue::timerFired):
1812 * dom/GenericEventQueue.h:
1813 (GenericEventQueue):
1814 * html/HTMLMediaElement.cpp:
1815 (WebCore::HTMLMediaElement::HTMLMediaElement):
1816 (WebCore::HTMLMediaElement::scheduleEvent):
1817 (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
1818 (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
1819 (WebCore::HTMLMediaElement::hasPendingActivity):
1820 * html/HTMLMediaElement.h:
1823 2012-03-29 Adam Barth <abarth@webkit.org>
1825 [Chromium] Attempt to fix the component build
1826 https://bugs.webkit.org/show_bug.cgi?id=82676
1830 Now that we're implementing some of the WEBKIT_EXPORT symbols in
1831 WebCore/platform/chromium/support, we need to tell the build system
1832 that we want to actually export these symbols.
1834 * WebCore.gyp/WebCore.gyp:
1836 2012-03-29 Nate Chapin <japhet@chromium.org>
1838 Simplify reporting a main resource error to DocumentLoader and
1840 https://bugs.webkit.org/show_bug.cgi?id=82649
1842 Reviewed by Adam Barth.
1844 No new tests, no functionality change intended.
1846 * loader/DocumentLoader.cpp:
1847 (WebCore::DocumentLoader::mainReceivedError): Remove isComplete parameter,
1848 since it was always true. Call FrameLoader::receivedMainResourceError,
1849 instead of the other way around.
1850 * loader/DocumentLoader.h:
1851 * loader/FrameLoader.cpp:
1852 (WebCore::FrameLoader::receivedMainResourceError): Remove isComplete parameter,
1853 since it was always true. Merge in most of mainReceivedCompleteError().
1854 * loader/FrameLoader.h:
1855 * loader/MainResourceLoader.cpp:
1856 (WebCore::MainResourceLoader::receivedError):
1857 (WebCore::MainResourceLoader::didCancel):
1859 2012-03-28 Jer Noble <jer.noble@apple.com>
1861 Heap-use-after-free in WebCore::InlineFlowBox::deleteLine due to fullscreen issues.
1862 https://bugs.webkit.org/show_bug.cgi?id=82055
1864 Reviewed by David Hyatt.
1866 No new tests; fixes fuzz test crasher which is not reproducible in DRT or WKTR.
1868 When a RenderFullScreen object is inserted between a child and parent renderer, make sure the
1869 parent renderer deletes its line boxes by calling setNeedsLayoutAndPrefWidthsRecalc(). This
1870 forces its InlineBox renderers to be removed from the line boxes and their parents in the correct
1871 order, fixing a double-delete crash.
1873 The same is true when unwrapping the RenderFullScreen object, and when creating and inserting
1874 the full screen placeholder.
1876 * rendering/RenderFullScreen.cpp:
1877 (RenderFullScreen::wrapRenderer):
1878 (RenderFullScreen::unwrapRenderer):
1879 (RenderFullScreen::createPlaceholder):
1881 2012-03-29 Benjamin Poulain <bpoulain@apple.com>
1883 Get rid of Geolocation::positionChangedInternal(), use positionChanged() directly
1884 https://bugs.webkit.org/show_bug.cgi?id=82543
1886 Reviewed by Andreas Kling.
1888 After the change to client based geolocation, the method positionChangedInternal()
1889 is called only by positionChanged(). This patch remove this extra indirection.
1891 * Modules/geolocation/Geolocation.cpp:
1892 (WebCore::Geolocation::positionChanged):
1893 * Modules/geolocation/Geolocation.h:
1897 2012-03-29 Joseph Pecoraro <pecoraro@apple.com>
1899 InputType attribute changed functions should happen after the attribute change
1900 https://bugs.webkit.org/show_bug.cgi?id=82644
1902 Reviewed by Benjamin Poulain.
1904 * html/HTMLInputElement.cpp:
1905 (WebCore::HTMLInputElement::parseAttribute):
1907 2012-03-29 Bear Travis <betravis@adobe.com>
1909 Update CSS Exclusion wrap-flow values left & right to start & end
1910 https://bugs.webkit.org/show_bug.cgi?id=82366
1912 http://dev.w3.org/csswg/css3-exclusions/
1913 -webkit-wrap-flow now takes the values start and end rather than
1914 left and right. Updating the code to reflect this. Functionality
1915 is covered by existing tests.
1917 Reviewed by Andreas Kling.
1919 * css/CSSParser.cpp:
1920 (WebCore::isValidKeywordPropertyAndValue):
1921 * css/CSSPrimitiveValueMappings.h:
1922 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1923 (WebCore::CSSPrimitiveValue::operator WrapFlow):
1924 * rendering/style/RenderStyleConstants.h:
1926 2012-03-29 Dirk Pranke <dpranke@chromium.org>
1928 rollout r112484, r112545, r112574
1929 https://bugs.webkit.org/show_bug.cgi?id=82662
1931 Unreviewed, build fix.
1933 this appears to be producing some questionable differences on
1934 the apple mac bots, and possibly one test on chromium linux.
1936 * css/mediaControls.css:
1937 (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
1938 * css/mediaControlsChromium.css:
1939 (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
1940 (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1941 (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1942 * html/shadow/MediaControlElements.cpp:
1943 (RenderMediaVolumeSliderContainer):
1945 (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
1946 (WebCore::RenderMediaVolumeSliderContainer::layout):
1947 (WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
1948 * html/shadow/MediaControlElements.h:
1949 (MediaControlVolumeSliderContainerElement):
1950 * html/shadow/MediaControlRootElementChromium.cpp:
1951 (WebCore::MediaControlRootElementChromium::create):
1953 2012-03-29 Julien Chaffraix <jchaffraix@webkit.org>
1955 REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il
1956 https://bugs.webkit.org/show_bug.cgi?id=82129
1958 Reviewed by Ojan Vafai.
1960 Tests: fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html
1961 fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html
1962 fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html
1963 fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html
1964 fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html
1965 fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html
1966 fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html
1967 fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html
1969 This is a regression from r110072. I wrongly thought we should call ensureLayer if we create our RenderOverflow.
1970 However the current overflow code removes the before and start overflows (like in horizontal writing mode with ltr direction,
1971 we never have a top or a left overflow). Because of that we would not get a RenderLayer as expected and the overflow clip rects
1972 would be wrong on our RenderLayer children.
1974 * rendering/RenderBox.cpp:
1975 (WebCore::RenderBox::addLayoutOverflow):
1976 Moved the ensureLayer() call after the check that we do have some overflow but before we remove the overflow in some directions.
1978 2012-03-29 Adam Barth <abarth@webkit.org>
1980 [Chromium] Move ResourceHandle to WebCore/platform/network/chromium
1981 https://bugs.webkit.org/show_bug.cgi?id=82657
1983 Reviewed by James Robinson.
1985 We finally arive at our destination. This patch actually moves
1986 WebCore::ResourceHandle from Source/WebKit/chromium/src to
1987 Source/WebCore/network/chromium, matching its location in other ports.
1988 To make this happen, we also need to move WrappedResourceRequest and
1989 WrappedResourceResponse.
1991 This patch is the last patch from
1992 https://github.com/abarth/webkit/compare/master...webcore-platform
1995 * platform/chromium/support/WrappedResourceRequest.h: Copied from Source/WebKit/chromium/src/WrappedResourceRequest.h.
1996 * platform/chromium/support/WrappedResourceResponse.h: Copied from Source/WebKit/chromium/src/WrappedResourceResponse.h.
1997 * platform/network/chromium/ResourceHandle.cpp: Copied from Source/WebKit/chromium/src/ResourceHandle.cpp.
1998 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1999 (WebCore::ResourceHandleInternal::start):
2000 (WebCore::ResourceHandle::loadResourceSynchronously):
2001 (WebCore::ResourceHandle::cacheMetadata):
2002 * platform/network/chromium/ResourceHandleInternal.h: Copied from Source/WebKit/chromium/src/ResourceHandleInternal.h.
2004 2012-03-29 Patrick Gansterer <paroga@webkit.org>
2006 Build fix for WinCE after r112555.
2008 * platform/text/wince/TextCodecWinCE.cpp:
2009 (WebCore::LanguageManager::LanguageManager):
2011 2012-03-29 Anders Carlsson <andersca@apple.com>
2013 Images that reload via media queries don't paint when device scale factor changes
2014 https://bugs.webkit.org/show_bug.cgi?id=82648
2015 <rdar://problem/11143637>
2017 Reviewed by Beth Dakin.
2019 Commit scale factor changes before dirty rect changes, since setting the scale factor
2020 can lead to more rects being dirtied when using the tile cache.
2022 * platform/graphics/ca/GraphicsLayerCA.cpp:
2023 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
2025 2012-03-29 Adam Barth <abarth@webkit.org>
2027 Move CPP files related to ResourceHandle to WebCore/platform
2028 https://bugs.webkit.org/show_bug.cgi?id=82582
2030 Reviewed by James Robinson.
2032 This patch moves a number of files that implement parts of the platform
2033 portion of the Chromium WebKit API from the WebKit layer to
2034 WebCore/platform. These files are in the dependency cone of
2035 ResourceHandle and have no dependencies on anything outside
2038 * WebCore.gyp/WebCore.gyp:
2040 * platform/chromium/support: Added.
2041 * platform/chromium/support/WebData.cpp: Copied from Source/WebKit/chromium/src/WebData.cpp.
2042 * platform/chromium/support/WebHTTPBody.cpp: Copied from Source/WebKit/chromium/src/WebHTTPBody.cpp.
2043 * platform/chromium/support/WebHTTPLoadInfo.cpp: Copied from Source/WebKit/chromium/src/WebHTTPLoadInfo.cpp.
2044 * platform/chromium/support/WebURL.cpp: Copied from Source/WebKit/chromium/src/WebURL.cpp.
2045 * platform/chromium/support/WebURLError.cpp: Copied from Source/WebKit/chromium/src/WebURLError.cpp.
2046 * platform/chromium/support/WebURLRequest.cpp: Copied from Source/WebKit/chromium/src/WebURLRequest.cpp.
2047 * platform/chromium/support/WebURLRequestPrivate.h: Copied from Source/WebKit/chromium/src/WebURLRequestPrivate.h.
2048 * platform/chromium/support/WebURLResponse.cpp: Copied from Source/WebKit/chromium/src/WebURLResponse.cpp.
2049 * platform/chromium/support/WebURLResponsePrivate.h: Copied from Source/WebKit/chromium/src/WebURLResponsePrivate.h.
2051 2012-03-29 Michal Mocny <mmocny@google.com>
2053 [chromium] Ensure framebuffer exists at the start of beginDrawingFrame.
2054 https://bugs.webkit.org/show_bug.cgi?id=82569
2056 Reviewed by James Robinson.
2058 Updated LayerRendererChromiumTest unittests.
2060 * platform/graphics/chromium/LayerRendererChromium.cpp:
2061 (WebCore::LayerRendererChromium::setVisible):
2062 (WebCore::LayerRendererChromium::beginDrawingFrame):
2063 * platform/graphics/chromium/LayerRendererChromium.h:
2064 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2065 (WebCore::CCSingleThreadProxy::compositeAndReadback):
2066 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2067 (WebCore::CCThreadProxy::compositeAndReadback):
2068 (WebCore::CCThreadProxy::requestReadbackOnImplThread):
2070 2012-03-29 Ryosuke Niwa <rniwa@webkit.org>
2072 Add a compile assert for the size of RenderBlock
2073 https://bugs.webkit.org/show_bug.cgi?id=82586
2075 Reviewed by Tony Chang.
2077 Add compile asserts for the size of RenderBlock and RenderBlock::MarginValues.
2078 We can't add asserts for FloatingObject and MarginInfo because they're private to RenderBlock.
2080 * rendering/RenderBlock.cpp:
2081 (SameSizeAsRenderBlock):
2083 (WebCore::RenderBlock::addOverflowFromFloats):
2084 (WebCore::RenderBlock::repaintOverhangingFloats):
2085 (WebCore::RenderBlock::paintFloats):
2086 (WebCore::RenderBlock::insertFloatingObject):
2087 (WebCore::RenderBlock::clearFloats):
2088 (WebCore::RenderBlock::addOverhangingFloats):
2089 (WebCore::RenderBlock::addIntrudingFloats):
2090 (WebCore::RenderBlock::hitTestFloats):
2091 (WebCore::RenderBlock::adjustForBorderFit):
2092 * rendering/RenderBlock.h:
2093 (WebCore::RenderBlock::FloatingObject::shouldPaint):
2094 (WebCore::RenderBlock::FloatingObject::setShouldPaint):
2095 (WebCore::RenderBlock::FloatingObject::isDescendant):
2096 (WebCore::RenderBlock::FloatingObject::setIsDescendant):
2100 2012-03-29 Gavin Barraclough <barraclough@apple.com>
2102 Template the Yarr::Interpreter on the character type
2103 https://bugs.webkit.org/show_bug.cgi?id=82637
2105 Reviewed by Sam Weinig.
2107 We should be able to call to the interpreter after having already checked the character type,
2108 without having to re-package the character pointer back up into a string!
2110 * inspector/ContentSearchUtils.cpp:
2111 (WebCore::ContentSearchUtils::findMagicComment):
2112 * platform/text/RegularExpression.cpp:
2113 (WebCore::RegularExpression::match):
2114 - Don't pass length.
2116 2012-03-29 Sheriff Bot <webkit.review.bot@gmail.com>
2118 Unreviewed, rolling out r112553.
2119 http://trac.webkit.org/changeset/112553
2120 https://bugs.webkit.org/show_bug.cgi?id=82638
2122 It made all tests crash on Qt WK2 (Requested by Ossy_away on
2125 * Modules/geolocation/Geolocation.cpp:
2126 (WebCore::Geolocation::stop):
2127 (WebCore::Geolocation::lastPosition):
2128 (WebCore::Geolocation::requestPermission):
2129 (WebCore::Geolocation::startUpdating):
2130 (WebCore::Geolocation::stopUpdating):
2131 * Modules/geolocation/Geolocation.h:
2133 * Modules/geolocation/GeolocationController.cpp:
2134 * Modules/geolocation/GeolocationController.h:
2136 * page/GeolocationClient.h:
2138 (GeolocationClient):
2140 (WebCore::Page::Page):
2141 (WebCore::Page::PageClients::PageClients):
2146 (WebCore::Page::geolocationController):
2148 2012-03-29 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
2150 HashMap<>::add should return a more descriptive object
2151 https://bugs.webkit.org/show_bug.cgi?id=71063
2153 Reviewed by Ryosuke Niwa.
2155 Update code to use AddResult instead of a pair. No new tests, just a refactoring.
2157 * Modules/webdatabase/SQLTransactionCoordinator.cpp:
2158 (WebCore::SQLTransactionCoordinator::acquireLock):
2159 * Modules/webdatabase/chromium/QuotaTracker.cpp:
2160 (WebCore::QuotaTracker::updateDatabaseSize):
2161 * bindings/js/DOMObjectHashTableMap.h:
2162 (WebCore::DOMObjectHashTableMap::get):
2163 * bindings/js/JSDOMBinding.cpp:
2164 (WebCore::cacheDOMStructure):
2165 * bindings/js/JSDOMBinding.h:
2166 (WebCore::cacheWrapper):
2167 * bindings/js/JSDOMGlobalObject.h:
2168 (WebCore::getDOMConstructor):
2169 * bindings/js/PageScriptDebugServer.cpp:
2170 (WebCore::PageScriptDebugServer::addListener):
2171 * bindings/js/ScriptDebugServer.cpp:
2172 (WebCore::ScriptDebugServer::setBreakpoint):
2173 * bindings/js/SerializedScriptValue.cpp:
2174 (WebCore::CloneSerializer::startObjectInternal):
2175 (WebCore::CloneSerializer::write):
2176 * bindings/v8/NPV8Object.cpp:
2177 (WebCore::npCreateV8ScriptObject):
2178 * bridge/IdentifierRep.cpp:
2179 (WebCore::IdentifierRep::get):
2180 * bridge/NP_jsobject.cpp:
2182 * css/CSSComputedStyleDeclaration.cpp:
2183 (WebCore::logUnimplementedPropertyID):
2184 * css/CSSFontFaceSource.cpp:
2185 (WebCore::CSSFontFaceSource::getFontData):
2186 * css/CSSFontSelector.cpp:
2187 (WebCore::CSSFontSelector::addFontFaceRule):
2188 (WebCore::CSSFontSelector::getFontData):
2189 * css/CSSSegmentedFontFace.cpp:
2190 (WebCore::CSSSegmentedFontFace::getFontData):
2191 * css/CSSStyleApplyProperty.cpp:
2192 (WebCore::ApplyPropertyCounter::applyInheritValue):
2193 (WebCore::ApplyPropertyCounter::applyValue):
2194 * css/CSSStyleSelector.cpp:
2195 (WebCore::CSSStyleSelector::appendAuthorStylesheets):
2196 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2197 * css/CSSValuePool.cpp:
2198 (WebCore::CSSValuePool::createIdentifierValue):
2199 (WebCore::CSSValuePool::createColorValue):
2200 (WebCore::CSSValuePool::createValue):
2201 (WebCore::CSSValuePool::createFontFamilyValue):
2202 (WebCore::CSSValuePool::createFontFaceValue):
2203 * dom/CheckedRadioButtons.cpp:
2204 (WebCore::RadioButtonGroup::add):
2205 (WebCore::CheckedRadioButtons::addButton):
2206 * dom/ChildListMutationScope.cpp:
2207 (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
2209 (WebCore::Document::windowNamedItems):
2210 (WebCore::Document::documentNamedItems):
2211 (WebCore::Document::getCSSCanvasElement):
2212 (WebCore::Document::getItems):
2213 * dom/DocumentEventQueue.cpp:
2214 (WebCore::DocumentEventQueue::enqueueEvent):
2215 (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
2216 (WebCore::DocumentEventQueue::pendingEventTimerFired):
2217 * dom/DocumentOrderedMap.cpp:
2218 (WebCore::DocumentOrderedMap::add):
2219 * dom/EventListenerMap.cpp:
2220 (WebCore::EventListenerMap::add):
2222 (WebCore::Node::dumpStatistics):
2223 (WebCore::Node::getElementsByTagName):
2224 (WebCore::Node::getElementsByTagNameNS):
2225 (WebCore::Node::getElementsByName):
2226 (WebCore::Node::getElementsByClassName):
2227 (WebCore::Node::collectMatchingObserversForMutation):
2228 * dom/QualifiedName.cpp:
2229 (WebCore::QualifiedName::init):
2230 * dom/SpaceSplitString.cpp:
2231 (WebCore::SpaceSplitStringData::create):
2232 * dom/StyledElement.cpp:
2233 (WebCore::StyledElement::updateAttributeStyle):
2234 * html/HTMLCollection.cpp:
2235 (WebCore::HTMLCollection::append):
2236 * inspector/DOMPatchSupport.cpp:
2237 (WebCore::DOMPatchSupport::diff):
2238 * inspector/InspectorCSSAgent.cpp:
2239 (WebCore::SelectorProfile::commitSelector):
2240 * inspector/InspectorDOMAgent.cpp:
2241 (WebCore::InspectorDOMAgent::performSearch):
2242 * inspector/InspectorDebuggerAgent.cpp:
2243 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2244 * inspector/InspectorValues.h:
2245 (WebCore::InspectorObject::setValue):
2246 (WebCore::InspectorObject::setObject):
2247 (WebCore::InspectorObject::setArray):
2248 * loader/appcache/ApplicationCacheGroup.cpp:
2249 (WebCore::ApplicationCacheGroup::addEntry):
2250 * loader/appcache/ApplicationCacheStorage.cpp:
2251 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
2252 * page/EventHandler.cpp:
2253 (WebCore::EventHandler::handleTouchEvent):
2254 * page/PageGroup.cpp:
2255 (WebCore::PageGroup::pageGroup):
2256 (WebCore::PageGroup::addVisitedLink):
2257 (WebCore::PageGroup::addUserScriptToWorld):
2258 (WebCore::PageGroup::addUserStyleSheetToWorld):
2259 * page/SecurityPolicy.cpp:
2260 (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
2261 * page/TouchAdjustment.cpp:
2262 (WebCore::TouchAdjustment::compileSubtargetList):
2263 * platform/cf/BinaryPropertyList.cpp:
2264 (WebCore::BinaryPropertyListPlan::writeInteger):
2265 (WebCore::BinaryPropertyListPlan::writeString):
2266 (WebCore::BinaryPropertyListPlan::writeIntegerArray):
2267 * platform/graphics/blackberry/LayerTiler.cpp:
2268 (WebCore::LayerTiler::addTileJob):
2269 * platform/graphics/ca/GraphicsLayerCA.cpp:
2270 (WebCore::GraphicsLayerCA::findOrMakeClone):
2271 * platform/graphics/ca/mac/TileCache.mm:
2272 (WebCore::TileCache::revalidateTiles):
2273 * platform/graphics/ca/win/LayerChangesFlusher.cpp:
2274 (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
2275 * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
2276 (WebCore::getDerivedFontData):
2277 * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2278 (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
2279 * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
2280 (WebCore::initializeATSUStyle):
2281 * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2282 (WebCore::SimpleFontData::getCFStringAttributes):
2283 * platform/graphics/mac/SimpleFontDataMac.mm:
2284 (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
2285 * platform/graphics/wince/FontPlatformData.cpp:
2286 (WebCore::FixedSizeFontData::create):
2287 * platform/gtk/RenderThemeGtk3.cpp:
2288 (WebCore::getStyleContext):
2289 * platform/mac/ThreadCheck.mm:
2290 (WebCoreReportThreadViolation):
2291 * platform/network/HTTPHeaderMap.cpp:
2292 (WebCore::HTTPHeaderMap::add):
2293 * platform/network/HTTPHeaderMap.h:
2295 * platform/network/ResourceRequestBase.cpp:
2296 (WebCore::ResourceRequestBase::addHTTPHeaderField):
2297 * plugins/PluginDatabase.cpp:
2298 (WebCore::PluginDatabase::add):
2299 (WebCore::PluginDatabase::loadPersistentMetadataCache):
2300 * plugins/win/PluginDatabaseWin.cpp:
2301 (WebCore::PluginDatabase::getPluginPathsInDirectories):
2302 * rendering/RenderBlock.cpp:
2303 (WebCore::RenderBlock::addPercentHeightDescendant):
2304 * rendering/RenderBlockLineLayout.cpp:
2305 (WebCore::setLogicalWidthForTextRun):
2306 * rendering/RenderNamedFlowThread.cpp:
2307 (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
2308 * rendering/RenderRegion.cpp:
2309 (WebCore::RenderRegion::setRenderBoxRegionInfo):
2310 * rendering/svg/RenderSVGResourceGradient.cpp:
2311 (WebCore::RenderSVGResourceGradient::applyResource):
2312 * rendering/svg/RenderSVGResourcePattern.cpp:
2313 (WebCore::RenderSVGResourcePattern::applyResource):
2314 * storage/StorageMap.cpp:
2315 (WebCore::StorageMap::setItem):
2316 (WebCore::StorageMap::importItem):
2317 * svg/SVGDocumentExtensions.cpp:
2318 (WebCore::SVGDocumentExtensions::addPendingResource):
2319 * xml/XMLHttpRequest.cpp:
2320 (WebCore::XMLHttpRequest::setRequestHeaderInternal):
2321 * xml/XPathFunctions.cpp:
2322 (WebCore::XPath::FunId::evaluate):
2323 * xml/XPathPath.cpp:
2324 (WebCore::XPath::LocationPath::evaluate):
2325 * xml/XPathPredicate.cpp:
2326 (WebCore::XPath::Union::evaluate):
2328 2012-03-29 Andrey Kosyakov <caseq@chromium.org>
2330 Web Inspector: improve window selection accuracy in vertical overview of timeline panel
2331 https://bugs.webkit.org/show_bug.cgi?id=82625
2333 Reviewed by Vsevolod Vlasov.
2335 * inspector/front-end/TimelineOverviewPane.js:
2336 (WebInspector.TimelineVerticalOverview):
2337 (WebInspector.TimelineVerticalOverview.prototype._renderBars): preserve actual padding used while rendering bars.
2338 (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): account for outer and inter-bars padding when calculating bar offsets.
2340 2012-03-29 Mark Pilgrim <pilgrim@chromium.org>
2342 GEOLOCATION should be implemented as Page Supplement
2343 https://bugs.webkit.org/show_bug.cgi?id=82228
2345 Reviewed by Adam Barth.
2347 Geolocation now uses the Supplement interface instead of
2348 keeping an instance variable on Page. This allows us to
2349 remove all geolocation-related functions, variables, and
2350 ifdefs out of Page and into Modules/geolocation/.
2352 * Modules/geolocation/Geolocation.cpp:
2353 (WebCore::Geolocation::stop):
2354 (WebCore::Geolocation::lastPosition):
2355 (WebCore::Geolocation::requestPermission):
2356 (WebCore::Geolocation::startUpdating):
2357 (WebCore::Geolocation::stopUpdating):
2358 * Modules/geolocation/Geolocation.h:
2360 * Modules/geolocation/GeolocationController.cpp:
2361 (WebCore::GeolocationController::supplementName):
2363 (WebCore::provideGeolocationTo):
2364 * Modules/geolocation/GeolocationController.h:
2365 (GeolocationController):
2366 (WebCore::GeolocationController::from):
2368 * page/GeolocationClient.h:
2370 (GeolocationClient):
2372 (WebCore::Page::Page):
2373 (WebCore::Page::PageClients::PageClients):
2379 2012-03-29 John Bates <jbates@google.com>
2381 Sync up WebKit TraceEvent.h with chromium trace_event.h
2382 https://bugs.webkit.org/show_bug.cgi?id=82527
2384 Reviewed by James Robinson.
2386 * platform/chromium/TraceEvent.h:
2388 2012-03-29 Pavel Feldman <pfeldman@chromium.org>
2390 Web Inspector: subtree disapears from <iframe> after loading
2391 https://bugs.webkit.org/show_bug.cgi?id=76552
2393 Reviewed by Yury Semikhatsky.
2395 The problem was that content document subtree was not unbound upon iframe re-push.
2396 Upon owner element refresh content document was not sent to the frontend
2397 since backend assumed that front-end has already had the up-to-date version.
2399 Test: inspector/elements/iframe-load-event.html
2401 * inspector/InspectorDOMAgent.cpp:
2402 (WebCore::InspectorDOMAgent::loadEventFired):
2404 2012-03-29 Dana Jansens <danakj@chromium.org>
2406 [chromium] Remove unneeded code+fixmes from CCOcclusionTracker
2407 https://bugs.webkit.org/show_bug.cgi?id=82380
2409 Reviewed by Adrienne Walker.
2411 The current occlusion was exposed on the occlusion tracker for the
2412 transition over to culling 2.0 which has landed, so we can remove
2413 it now. It still had one use in unit tests which is moved to a
2416 Above test subclass already existed in the occlusion tracker tests,
2417 so pulled it out to a common file CCOcclusionTrackerTestCommon.h
2418 so that other unit tests can use it to get at occlusion internals.
2420 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2422 * platform/graphics/chromium/cc/CCOcclusionTracker.h:
2424 2012-03-29 Joseph Pecoraro <pecoraro@apple.com>
2426 <http://webkit.org/b/82558> Toggling <input type="range"> readonly or disabled state while active breaks all click events
2428 Test: fast/forms/range/range-drag-when-toggled-disabled.html
2430 Reviewed by Kent Tamura.
2432 * html/shadow/SliderThumbElement.cpp:
2433 (WebCore::SliderThumbElement::defaultEventHandler):
2434 A slider can toggle its readonly or disabled state while in the middle
2435 of dragging, in those cases we should cancel the drag and perform cleanup.
2437 2012-03-29 Adam Klein <adamk@chromium.org>
2439 Factor out common post-insertion logic in ContainerNode
2440 https://bugs.webkit.org/show_bug.cgi?id=82544
2442 Reviewed by Ryosuke Niwa.
2444 appendChild, insertBefore, and replaceChild all share a great deal of logic.
2445 This patch factors out the "post-insertion" logic that deals with
2446 notifying parents that their children changed and notifying children
2447 that they've been added to the tree.
2449 Besides reducing code duplication, this is in preparation for moving
2450 this post-insertion notification later in the insertion process.
2452 No new tests, no change in behavior.
2454 * dom/ContainerNode.cpp:
2456 (WebCore::ContainerNode::insertBefore): Factor out shared logic, remove unnecessary "prev" variable.
2457 (WebCore::ContainerNode::replaceChild): ditto.
2458 (WebCore::ContainerNode::appendChild): ditto.
2459 (WebCore::updateTreeAfterInsertion): New helper method encapsulating shared logic.
2461 2012-03-29 Tony Chang <tony@chromium.org>
2463 Need to implement flex-line-pack
2464 https://bugs.webkit.org/show_bug.cgi?id=70794
2466 Reviewed by Ojan Vafai.
2468 Tests: css3/flexbox/multiline-line-pack-horizontal-column.html
2469 css3/flexbox/multiline-line-pack.html
2471 * rendering/RenderFlexibleBox.cpp:
2472 (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
2473 (WebCore::initialLinePackingOffset): Similar to initialPackingOffset.
2475 (WebCore::linePackingSpaceBetweenChildren): Similar to packingSpaceBetweenChildren.
2476 (WebCore::RenderFlexibleBox::packFlexLines): Move lines based on flex-line-pack.
2477 Note that we don't need to relayout on stretch because
2478 alignChildren will do that for us (only auto size needs stretching).
2479 (WebCore::RenderFlexibleBox::flipForWrapReverse): Pull out the initial
2480 cross axis offset before calling packFlexLines because we can
2481 move the the line contexts.
2482 * rendering/RenderFlexibleBox.h:
2484 2012-03-29 Vsevolod Vlasov <vsevik@chromium.org>
2486 Web Inspector: SnippetsScriptMapping should process existing snippets on load.
2487 https://bugs.webkit.org/show_bug.cgi?id=82619
2489 Reviewed by Pavel Feldman.
2491 SnippetsScriptMapping now loads existing snippets on creation.
2492 Otherwise scripts panel shows snippets created during current session only.
2493 Drive-by ScriptsNavigator closure compilation fix.
2495 * inspector/front-end/SnippetsModel.js:
2496 (WebInspector.SnippetsModel.prototype.set get snippets):
2497 (WebInspector.SnippetsScriptMapping):
2498 (WebInspector.SnippetsScriptMapping.prototype._handleSnippetAdded):
2499 (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
2501 2012-03-29 Yury Semikhatsky <yurys@chromium.org>
2503 Web Inspector: check more likely condition first in HeapSnapshot._buildAggregates
2504 https://bugs.webkit.org/show_bug.cgi?id=82621
2506 Reviewed by Pavel Feldman.
2508 * inspector/front-end/HeapSnapshot.js: selfSize === 0 is quite rare, moving this condition
2509 to the first place saves 1 of 6 secs on the heap profiler perf test.
2510 (WebInspector.HeapSnapshot.prototype._buildAggregates):
2511 (WebInspector.HeapSnapshot.prototype._buildDominatedNodes): root node is always the first
2512 one and is the only one that doesn't have dominator, so we may start iterating nodes from
2513 the second node and avoid additional check in the loop.
2515 2012-03-29 Pavel Feldman <pfeldman@chromium.org>
2517 Web Inspector: "go to the previous panel" shortcut is painful to maintain
2518 https://bugs.webkit.org/show_bug.cgi?id=82602
2520 Reviewed by Vsevolod Vlasov.
2522 Present go to previous panel shortcut "Cmd - Left" is painful to support since we have
2523 more and more free flow editing capabilities (where Cmd - Left is handled by the editor).
2524 Remaping it to Cmd - Option - [ (]) / (Ctrl - Alt - [ (]) ).
2526 Drive-by: de-capitalize captions from the settings panel.
2528 * English.lproj/localizedStrings.js:
2529 * inspector/front-end/ConsoleView.js:
2530 (WebInspector.ConsoleView.prototype._registerShortcuts):
2531 * inspector/front-end/InspectorView.js:
2532 (WebInspector.InspectorView.prototype._keyDown):
2533 * inspector/front-end/ScriptsPanel.js:
2534 * inspector/front-end/TimelinePanel.js:
2535 (WebInspector.TimelinePanel.prototype._registerShortcuts):
2536 (WebInspector.TimelinePanel.prototype._contextMenu):
2537 * inspector/front-end/inspector.js:
2538 (WebInspector._registerShortcuts):
2540 2012-03-29 Andrey Kosyakov <caseq@chromium.org>
2542 Unreviewed, rolling out r112531.
2543 http://trac.webkit.org/changeset/112531
2544 https://bugs.webkit.org/show_bug.cgi?id=82616
2546 Broke timeline overview selection
2548 * inspector/front-end/TimelineOverviewPane.js:
2549 (WebInspector.TimelineOverviewWindow):
2551 2012-03-28 Dirk Schulze <krit@webkit.org>
2553 Introduce CSSParserMode in all classes
2554 https://bugs.webkit.org/show_bug.cgi?id=82335
2556 Reviewed by Ryosuke Niwa.
2558 Introduce the new CSSParserMode enum to more classes. SVG classes make use of SVGAttributeMode for CSS parsing already.
2559 But SVGAttributeMode does not differ from CSSQuirksMode at the moment. This will change with a followup patch on bug 46112.
2561 No new tests. No change of functionality. Everything gets covered by existing tests.
2563 * css/CSSImportRule.cpp:
2564 (WebCore::CSSImportRule::setCSSStyleSheet):
2565 * css/CSSMediaRule.cpp:
2566 (WebCore::CSSMediaRule::insertRule):
2567 * css/CSSParser.cpp: Move private functions away from strict boolean and make use of CSSParserMode instead.
2569 (WebCore::parseColorValue):
2570 (WebCore::parseSimpleLengthValue):
2571 (WebCore::CSSParser::parseFontFaceValue):
2572 (WebCore::CSSParser::parseValue):
2573 (WebCore::CSSParser::parseColor):
2574 (WebCore::CSSParser::createStyleRule):
2575 (WebCore::CSSParser::createFontFaceRule):
2576 (WebCore::CSSParser::createPageRule):
2577 (WebCore::CSSParser::createKeyframeRule):
2578 * css/CSSParser.h: Removed constructor with boolean argument. We just use the CSSParserMode enum now.
2580 * css/CSSParserMode.h:
2581 (strictToCSSParserMode): New helper function to convert boolean to CSSParserMode.
2582 (isStrictParserMode): Helper function that returns true if argument is CSSStrictMode.
2584 (WebCore::CSSRule::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
2585 * css/CSSStyleSheet.cpp:
2586 (WebCore::CSSStyleSheet::CSSStyleSheet):
2587 (WebCore::CSSStyleSheet::insertRule):
2588 (WebCore::CSSStyleSheet::parseString):
2589 (WebCore::CSSStyleSheet::parseStringAtLine):
2590 * css/CSSStyleSheet.h:
2592 (WebCore::CSSStyleSheet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we set an enum now.
2593 (WebCore::CSSStyleSheet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
2594 * css/MediaList.cpp:
2595 (WebCore::MediaQuerySet::parse):
2596 (WebCore::MediaQuerySet::add):
2597 (WebCore::MediaQuerySet::remove):
2598 * css/StylePropertySet.cpp:
2599 (WebCore::StylePropertySet::StylePropertySet):
2600 (WebCore::StylePropertySet::setProperty):
2601 (WebCore::StylePropertySet::parseDeclaration):
2602 * css/StylePropertySet.h: Use unsigned member variables to store the parser mode.
2603 (WebCore::StylePropertySet::create):
2604 (WebCore::StylePropertySet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we get an enum now. This gets converted to unsigned internally.
2605 (WebCore::StylePropertySet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
2609 * css/WebKitCSSKeyframesRule.cpp:
2610 (WebCore::WebKitCSSKeyframesRule::insertRule):
2611 * css/WebKitCSSMatrix.cpp:
2612 (WebCore::WebKitCSSMatrix::setMatrixValue):
2614 (WebCore::Document::webkitGetFlowByName):
2615 (WebCore::Document::pageUserSheet):
2616 (WebCore::Document::pageGroupUserSheets):
2618 (WebCore::Element::webkitMatchesSelector):
2619 * dom/ElementAttributeData.cpp:
2620 (WebCore::ElementAttributeData::ensureInlineStyle):
2621 (WebCore::ElementAttributeData::ensureMutableInlineStyle):
2622 (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
2624 (WebCore::Node::querySelector):
2625 (WebCore::Node::querySelectorAll):
2626 * dom/ProcessingInstruction.cpp:
2627 (WebCore::ProcessingInstruction::parseStyleSheet):
2628 * dom/StyleElement.cpp:
2629 (WebCore::StyleElement::createSheet):
2630 * html/HTMLElement.cpp:
2631 (WebCore::StyledElement::copyNonAttributeProperties):
2632 * html/HTMLLinkElement.cpp:
2633 (WebCore::HTMLLinkElement::setCSSStyleSheet):
2634 * html/canvas/CanvasRenderingContext2D.cpp:
2635 (WebCore::CanvasRenderingContext2D::setFont):
2636 * html/shadow/ContentSelectorQuery.cpp:
2637 (WebCore::ContentSelectorQuery::ContentSelectorQuery):
2638 * inspector/InspectorStyleSheet.cpp:
2639 (WebCore::InspectorStyleSheet::reparseStyleSheet):
2640 * svg/SVGElementRareData.h:
2641 (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
2642 * svg/SVGFontFaceElement.cpp:
2643 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
2644 * svg/SVGStyledElement.cpp:
2645 (WebCore::SVGStyledElement::getPresentationAttribute):
2646 * xml/XSLStyleSheet.h:
2648 * xml/XSLStyleSheetLibxslt.cpp:
2649 (WebCore::XSLStyleSheet::parseString):
2650 * xml/XSLStyleSheetQt.cpp:
2651 (WebCore::XSLStyleSheet::parseString):
2653 2012-03-29 Sanghyun Park <sh919.park@samsung.com>
2655 Fix the error type in JSAudioBufferSourceNodeCustom to pass layout test.
2656 https://bugs.webkit.org/show_bug.cgi?id=81639
2658 Reviewed by Eric Carlson.
2660 Test : LayoutTest/webaudio/audiobuffersource-channels.html
2662 * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
2664 2012-03-29 Vsevolod Vlasov <vsevik@chromium.org>
2666 Web Inspector: Existing UISourceCode should be loaded on scripts panel creation/reset.
2667 https://bugs.webkit.org/show_bug.cgi?id=82614
2669 Reviewed by Pavel Feldman.
2671 UISourceCode are now loaded from DebuggerPresentationModel on scripts panel creation/reset.
2672 This is needed to show snippets that are loaded before scripts panel creation and are not removed on navigation.
2674 * inspector/front-end/ScriptsPanel.js:
2675 (WebInspector.ScriptsPanel.prototype._handleUISourceCodeAdded):
2676 (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
2677 (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
2678 (WebInspector.ScriptsPanel.prototype._reset):
2679 * inspector/front-end/SnippetsModel.js:
2680 (WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):
2682 2012-03-29 Andrey Kosyakov <caseq@chromium.org>
2684 Web Inspector: on a single click in Timeline overview, make a minimal selection centered around cursor
2685 https://bugs.webkit.org/show_bug.cgi?id=82616
2687 Reviewed by Pavel Feldman.
2689 * inspector/front-end/TimelineOverviewPane.js:
2690 (WebInspector.TimelineOverviewWindow): Explicitly handle single click on overview by creating a minimal window around cursor.
2691 (WebInspector.TimelineOverviewWindow.prototype._resizeWindowMinimum):
2693 2012-03-29 VÃctor Manuel Jáquez Leal <vjaquez@igalia.com>
2695 Unavailable pre-processor macro in non-Qt environments
2696 https://bugs.webkit.org/show_bug.cgi?id=82042
2698 Reviewed by Simon Hausmann.
2700 This patch removes the use of the macro QT_VERSION_CHECK() because, in
2701 non-Qt environments, the pre-processors raises an error. Instead of
2702 calling the macro to generate the version number, the version is
2705 * platform/graphics/texmap/TextureMapperGL.cpp:
2706 (SharedGLData): remove pre-processor macro for Qt version check.
2708 2012-03-29 Andrey Kosyakov <caseq@chromium.org>
2710 Web Inspector: event details popover in Timeline panel displays invalid time offset
2711 https://bugs.webkit.org/show_bug.cgi?id=82611
2713 Reviewed by Pavel Feldman.
2715 * inspector/front-end/TimelinePresentationModel.js:
2716 (WebInspector.TimelinePresentationModel.prototype.addRecord): use time in seconds, not raw model time for minimumRecordTime.
2718 2012-03-29 Andrey Kosyakov <caseq@chromium.org>
2720 Web Inspector: use canvas to render bars in "vertical overview" mode
2721 https://bugs.webkit.org/show_bug.cgi?id=82606
2723 Reviewed by Pavel Feldman.
2725 * inspector/front-end/TimelineOverviewPane.js: Use canvas instead of DOM for rendering vertical overview bars.
2726 (WebInspector.TimelineVerticalOverview):
2727 (WebInspector.TimelineVerticalOverview.prototype.update):
2728 (WebInspector.TimelineVerticalOverview.prototype._renderBars):
2729 (WebInspector.TimelineVerticalOverview.prototype._renderBar):
2730 (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
2731 * inspector/front-end/timelinePanel.css: Drop styles previously used for DOM-based vertical overview rendering.
2732 (.timeline-vertical-overview-bars):
2734 2012-03-29 Andrey Kosyakov <caseq@chromium.org>
2736 Web Inspector: timeline overview window selection is not reset upon clear/record
2737 https://bugs.webkit.org/show_bug.cgi?id=82603
2739 Reviewed by Pavel Feldman.
2741 - TimelineOverviewPane.reset() -> _reset();
2742 - perform update() from reset();
2743 - perform reset() upon RecordsCleared event from the model.
2745 * inspector/front-end/TimelineOverviewPane.js:
2746 (WebInspector.TimelineOverviewPane):
2747 (WebInspector.TimelineOverviewPane.prototype._reset):
2748 (WebInspector.TimelineVerticalOverview):
2749 (WebInspector.TimelineVerticalOverview.prototype.update):
2750 (WebInspector.TimelineVerticalOverview.prototype._renderBars):
2751 (WebInspector.TimelineVerticalOverview.prototype._renderBar):
2752 (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
2753 * inspector/front-end/timelinePanel.css:
2754 (.timeline-vertical-overview-bars):
2756 2012-03-29 Zalan Bujtas <zbujtas@gmail.com>
2758 Remove redundant updateViewportArguments() call when page is restored from page cache.
2759 https://bugs.webkit.org/show_bug.cgi?id=82500
2761 Reviewed by Kenneth Rohde Christiansen.
2763 Document::updateViewportArguments() is called twice, while restoring a page from page cache.
2764 First, it is called when the document is set on the mainframe and later, it is called
2765 when page cache finished the restoration. Since viewport arguments don't change between
2766 the 2 calls, it's safe to remove the second.
2768 Manual test added. Viewport value updates heavily depend on UI process code.
2771 (WebCore::Document::documentDidResumeFromPageCache):
2773 2012-03-29 Charles Wei <charles.wei@torchmobile.com.cn>
2775 [BlackBerry] Add Internal test support for blackberry porting.
2776 https://bugs.webkit.org/show_bug.cgi?id=82597
2778 Reviewed by Rob Buis.
2780 No new tests, just the build system enhancement for BlackBerry porting.
2784 2012-03-28 Yury Semikhatsky <yurys@chromium.org>
2786 Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
2787 https://bugs.webkit.org/show_bug.cgi?id=82453
2789 When heap snapshot is completely loaded move nodes and containment edges
2790 into two separate arrays. This way we don't need _nodeIndex and _nodePosition
2791 maps to go from node offset inside the raw snapshot to its index and back, instead
2792 we may just divide node offset by the number of node fields to get node index. After
2793 the nodes and containment edges are separated original array (_nodes) is dropped.
2794 All front-end code was switched to the new representation.
2796 Reviewed by Pavel Feldman.
2798 * inspector/front-end/HeapSnapshot.js:
2799 (WebInspector.HeapSnapshotRetainerEdge):
2800 (WebInspector.HeapSnapshotRetainerEdge.prototype.clone):
2801 (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
2802 (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
2803 (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.hasNext):
2804 (WebInspector.HeapSnapshotNode.prototype.get edgesCount):
2805 (WebInspector.HeapSnapshotNode.prototype.get rawEdges):
2806 (WebInspector.HeapSnapshotNode.prototype.get retainers):
2807 (WebInspector.HeapSnapshotNode.prototype.get _nodes):
2808 (WebInspector.HeapSnapshotNode.prototype._firstEdgeIndex):
2809 (WebInspector.HeapSnapshotNode.prototype._afterLastEdgeIndex):
2810 (WebInspector.HeapSnapshotNode.prototype.get _nextNodeIndex):
2811 (WebInspector.HeapSnapshot.prototype._init):
2812 (WebInspector.HeapSnapshot.prototype._splitNodesAndContainmentEdges):
2813 (WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
2814 (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
2815 (WebInspector.HeapSnapshot.prototype._buildRetainers):
2816 (WebInspector.HeapSnapshot.prototype.dispose):
2817 (WebInspector.HeapSnapshot.prototype.get maxNodeId):
2818 (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
2819 (WebInspector.HeapSnapshot.prototype._bfs):
2820 (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
2821 (WebInspector.HeapSnapshot.prototype._getDominatedIndex):
2822 (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
2823 (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
2825 2012-03-29 Leo Yang <leo.yang@torchmobile.com.cn>
2827 [BlackBerry] Add m_targetType to WorkerScriptLoader
2828 https://bugs.webkit.org/show_bug.cgi?id=82574
2830 Reviewed by Rob Buis.
2832 Just as Chromium porting blackberry porting is using m_targetType also.
2834 * workers/WorkerScriptLoader.h:
2835 (WorkerScriptLoader):
2837 2012-03-29 Robin Cao <robin.cao@torchmobile.com.cn>
2839 [BlackBerry] Add an empty implementation of GraphicsContext3D::setErrorMessageCallback
2840 https://bugs.webkit.org/show_bug.cgi?id=82570
2842 Reviewed by Rob Buis.
2844 No new tests, no change in functionality.
2846 * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
2847 (WebCore::GraphicsContext3D::setErrorMessageCallback): Add an empty implementation.
2850 2012-03-29 Robin Cao <robin.cao@torchmobile.com.cn>
2852 [BlackBerry] Clean up ImageBufferData
2853 https://bugs.webkit.org/show_bug.cgi?id=82444
2855 Reviewed by Rob Buis.
2857 No behavior changes, no new tests.
2859 * platform/graphics/blackberry/skia/ImageBufferDataSkia.h:
2860 (ImageBufferData): Remove unused member variable m_buffer and change the type
2861 of m_platformLayer from LayerWebKitThread to CanvasLayerWebKitThread.
2863 2012-03-28 Antti Koivisto <antti@apple.com>
2865 Split WebKitCSSKeyframeRule into internal and CSSOM types
2866 https://bugs.webkit.org/show_bug.cgi?id=82490
2868 Reviewed by Andreas Kling.
2870 WebKitCSSKeyframeRule is a CSSOM type and should not be used internally.
2872 - Add StyleKeyframe as the internal data structure for keyframes.
2873 - WebKitCSSKeyframeRule becomes a wrapper for StyleKeyframe.
2874 - Use StyleKeyframe internally so WebKitCSSKeyframeRules are created on CSSOM access only.
2878 Use StyleKeyframes instead of WebKitCSSKeyframeRules.
2880 * css/CSSMediaRule.h:
2882 (WebCore::CSSMediaRule::length):
2883 (WebCore::CSSMediaRule::item):
2885 Adapt to LiveCSSRuleList changes.
2887 * css/CSSParser.cpp:
2888 (WebCore::CSSParser::parseKeyframeRule):
2889 (WebCore::CSSParser::createKeyframe):
2894 Construct StyleKeyframes.
2896 * css/CSSRuleList.h:
2897 (WebCore::LiveCSSRuleList::length):
2898 (WebCore::LiveCSSRuleList::item):
2900 Make LiveCSSRuleList call rule item()/length() to avoid accessor duplication.
2902 * css/CSSStyleSelector.cpp:
2903 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2904 * css/CSSStyleSelector.h:
2906 * css/WebKitCSSKeyframeRule.cpp:
2909 Make 0% and 100% keyframes static.
2912 (WebCore::StyleKeyframe::setProperties):
2913 (WebCore::StyleKeyframe::parseKeyString):
2914 (WebCore::StyleKeyframe::cssText):
2915 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
2916 (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
2917 (WebCore::WebKitCSSKeyframeRule::style):
2918 * css/WebKitCSSKeyframeRule.h:
2920 (WebCore::StyleKeyframe::create):
2921 (WebCore::StyleKeyframe::keyText):
2922 (WebCore::StyleKeyframe::setKeyText):
2924 (WebCore::StyleKeyframe::properties):
2925 (WebCore::StyleKeyframe::StyleKeyframe):
2926 (WebKitCSSKeyframeRule):
2927 (WebCore::WebKitCSSKeyframeRule::keyText):
2928 (WebCore::WebKitCSSKeyframeRule::setKeyText):
2929 (WebCore::WebKitCSSKeyframeRule::cssText):
2931 Split to internal and CSSOM wrapper type. The wrapper refs StyleKeyframe.
2933 * css/WebKitCSSKeyframesRule.cpp:
2934 (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
2935 (WebCore::WebKitCSSKeyframesRule::parserAppendKeyframe):
2936 (WebCore::WebKitCSSKeyframesRule::insertRule):
2937 (WebCore::WebKitCSSKeyframesRule::deleteRule):
2938 (WebCore::WebKitCSSKeyframesRule::findRule):
2939 (WebCore::WebKitCSSKeyframesRule::findKeyframeIndex):
2940 (WebCore::WebKitCSSKeyframesRule::cssText):
2942 (WebCore::WebKitCSSKeyframesRule::item):
2943 * css/WebKitCSSKeyframesRule.h:
2945 (WebCore::WebKitCSSKeyframesRule::keyframes):
2946 (WebKitCSSKeyframesRule):
2947 (WebCore::WebKitCSSKeyframesRule::length):
2949 Keep StyleKeyframes and the wrappers (WebKitCSSKeyframeRules) in separate vectors.
2950 Construct the wrapper vector and wrappers themselves on demand.
2951 Keep the vectors in sync during mutations.
2953 * css/WebKitCSSRegionRule.h:
2955 Adapt to LiveCSSRuleList changes.
2957 2012-03-29 Zeno Albisser <zeno@webkit.org>
2959 Fieldset disabled attribute does not work.
2960 https://bugs.webkit.org/show_bug.cgi?id=58837
2962 Make HTMLFormControlElements inherit the disabled state
2963 from HTMLFieldSetElement ancestors. Subordinates of the
2964 first HTMLLegendElement in a fieldset will never be disabled.
2966 Patch by Zeno Albisser <zeno@webkit.org>
2968 Test: fast/forms/fieldset-disabled.html
2970 Reviewed by Kent Tamura.
2972 * html/HTMLFieldSetElement.cpp:
2973 (WebCore::HTMLFieldSetElement::disabledAttributeChanged):
2975 (WebCore::HTMLFieldSetElement::legend):
2976 * html/HTMLFieldSetElement.h:
2977 (HTMLFieldSetElement):
2978 * html/HTMLFieldSetElement.idl:
2979 * html/HTMLFormControlElement.cpp:
2980 (WebCore::HTMLFormControlElement::HTMLFormControlElement):
2981 (WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
2983 (WebCore::HTMLFormControlElement::parseAttribute):
2984 (WebCore::HTMLFormControlElement::disabledAttributeChanged):
2985 (WebCore::HTMLFormControlElement::removedFromTree):
2986 (WebCore::HTMLFormControlElement::disabled):
2987 * html/HTMLFormControlElement.h:
2989 (HTMLFormControlElement):
2991 2012-03-29 Tommy Widenflycht <tommyw@google.com>
2993 MediaStream API: Adding two missing release() calls to PeerConnection00.cpp
2994 https://bugs.webkit.org/show_bug.cgi?id=82584
2996 Reviewed by Adam Barth.
2998 No changes that affects functionality.
3000 * Modules/mediastream/PeerConnection00.cpp:
3001 (WebCore::PeerConnection00::createOffer):
3002 (WebCore::PeerConnection00::createAnswer):
3004 2012-03-29 Ryosuke Niwa <rniwa@webkit.org>
3006 Pack bitfields in InlineBox for Windows
3007 https://bugs.webkit.org/show_bug.cgi?id=82578
3009 Reviewed by Kent Tamura.
3011 Unlike gcc and clang, MSVC pads each consecutive member variables of the same type in bitfields. e.g. if you have:
3016 then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang only allocate
3017 sizeof(unsigned) * 1 for AB.
3019 Fixed the bug by packing all bitfields in InlineBox into InlineBoxBitfields and always using either unsigned or int.
3021 * rendering/EllipsisBox.cpp:
3022 (WebCore::EllipsisBox::paint):
3023 (WebCore::EllipsisBox::selectionRect):
3024 (WebCore::EllipsisBox::nodeAtPoint):
3025 * rendering/InlineBox.cpp:
3027 (SameSizeAsInlineBox):
3028 (WebCore::InlineBox::logicalHeight):
3029 (WebCore::InlineBox::baselinePosition): Moved from the header file since it's a virtual function.
3030 (WebCore::InlineBox::lineHeight): Ditto.
3031 (WebCore::InlineBox::deleteLine):
3032 (WebCore::InlineBox::extractLine):
3033 (WebCore::InlineBox::attachLine):
3034 (WebCore::InlineBox::nextOnLineExists):
3035 (WebCore::InlineBox::clearKnownToHaveNoOverflow):
3036 * rendering/InlineBox.h:
3037 (WebCore::InlineBox::InlineBox):
3038 (WebCore::InlineBox::isText):
3039 (WebCore::InlineBox::setIsText):
3040 (WebCore::InlineBox::hasVirtualLogicalHeight):
3041 (WebCore::InlineBox::setHasVirtualLogicalHeight):
3042 (WebCore::InlineBox::isHorizontal):
3043 (WebCore::InlineBox::setIsHorizontal):
3044 (WebCore::InlineBox::isConstructed):
3045 (WebCore::InlineBox::setConstructed):
3046 (WebCore::InlineBox::setExtracted):
3047 (WebCore::InlineBox::setFirstLineStyleBit):
3048 (WebCore::InlineBox::isFirstLineStyle):
3050 (WebCore::InlineBox::bidiLevel):
3051 (WebCore::InlineBox::setBidiLevel):
3052 (WebCore::InlineBox::direction):
3053 (WebCore::InlineBox::isDirty):
3054 (WebCore::InlineBox::markDirty):
3055 (WebCore::InlineBox::expansion):
3056 (WebCore::InlineBox::verticalAlign):
3057 (WebCore::InlineBox::knownToHaveNoOverflow):
3058 (WebCore::InlineBox::dirOverride):
3059 (WebCore::InlineBox::setDirOverride):
3060 (InlineBoxBitfields):
3061 (WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
3062 (WebCore::InlineBox::InlineBoxBitfields::bidiEmbeddingLevel):
3063 (WebCore::InlineBox::InlineBoxBitfields::setBidiEmbeddingLevel):
3064 (WebCore::InlineBox::InlineBoxBitfields::determinedIfNextOnLineExists):
3065 (WebCore::InlineBox::InlineBoxBitfields::setDeterminedIfNextOnLineExists):
3066 (WebCore::InlineBox::InlineBoxBitfields::nextOnLineExists):
3067 (WebCore::InlineBox::InlineBoxBitfields::setNextOnLineExists):
3068 (WebCore::InlineBox::InlineBoxBitfields::expansion):
3069 (WebCore::InlineBox::InlineBoxBitfields::setExpansion):
3070 (WebCore::InlineBox::endsWithBreak):
3071 (WebCore::InlineBox::setEndsWithBreak):
3072 (WebCore::InlineBox::hasEllipsisBox):
3073 (WebCore::InlineBox::hasSelectedChildren):
3074 (WebCore::InlineBox::setHasSelectedChildren):
3075 (WebCore::InlineBox::setHasEllipsisBox):
3076 (WebCore::InlineBox::hasHyphen):
3077 (WebCore::InlineBox::setHasHyphen):
3078 (WebCore::InlineBox::canHaveLeadingExpansion):
3079 (WebCore::InlineBox::setCanHaveLeadingExpansion):
3080 (WebCore::InlineBox::setExpansion):
3081 (WebCore::InlineBox::extracted):
3082 * rendering/InlineFlowBox.cpp:
3083 (WebCore::InlineFlowBox::addToLine):
3084 (WebCore::InlineFlowBox::removeChild):
3085 (WebCore::InlineFlowBox::extractLine):
3086 (WebCore::InlineFlowBox::attachLine):
3087 (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
3088 (WebCore::InlineFlowBox::requiresIdeographicBaseline):
3089 (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3090 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
3091 (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
3092 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
3093 (WebCore::InlineFlowBox::paintBoxDecorations):
3094 (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
3095 (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
3096 * rendering/InlineTextBox.cpp:
3097 (WebCore::InlineTextBox::destroy):
3098 (WebCore::InlineTextBox::logicalOverflowRect):
3099 (WebCore::InlineTextBox::setLogicalOverflowRect):
3100 (WebCore::InlineTextBox::baselinePosition):
3101 (WebCore::InlineTextBox::lineHeight):
3102 (WebCore::InlineTextBox::localSelectionRect):
3103 (WebCore::InlineTextBox::extractLine):
3104 (WebCore::InlineTextBox::attachLine):
3105 (WebCore::InlineTextBox::placeEllipsisBox):
3106 (WebCore::InlineTextBox::paint):
3107 (WebCore::InlineTextBox::paintDecoration):
3108 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
3109 (WebCore::InlineTextBox::paintCompositionUnderline):
3110 (WebCore::InlineTextBox::offsetForPosition):
3111 (WebCore::InlineTextBox::positionForOffset):
3112 (WebCore::InlineTextBox::constructTextRun):
3113 * rendering/InlineTextBox.h:
3115 (WebCore::InlineTextBox::setExpansion):
3116 (WebCore::InlineTextBox::expansionBehavior):
3117 * rendering/RenderBlockLineLayout.cpp:
3118 (WebCore::RenderBlock::constructLine):
3119 * rendering/RenderTreeAsText.cpp:
3120 (WebCore::writeTextRun):
3121 * rendering/RootInlineBox.cpp:
3122 (WebCore::RootInlineBox::baselinePosition): Moved from the header file since it's a virtual function.
3123 (WebCore::RootInlineBox::lineHeight): Ditto.
3124 (WebCore::RootInlineBox::paint):
3125 (WebCore::RootInlineBox::ascentAndDescentForBox):
3126 (WebCore::RootInlineBox::verticalPositionForBox):
3127 * rendering/RootInlineBox.h:
3129 * rendering/svg/SVGInlineTextBox.cpp:
3130 (WebCore::SVGInlineTextBox::constructTextRun):
3131 * rendering/svg/SVGRenderTreeAsText.cpp:
3132 (WebCore::writeSVGInlineTextBox):
3134 2012-03-29 hayato@chromium.org <hayato@chromium.org>
3136 Let focus navigation be compliant with Shadow DOM spec.
3137 https://bugs.webkit.org/show_bug.cgi?id=78588
3139 Reviewed by Dimitri Glazkov.
3141 Re-landing r112500. Fixed an assertion failure on ReifiedTreeTraversal.
3143 Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.
3145 According to the Shadow DOM spec:
3146 The shadow DOM navigation order sequence is inserted into the document navigation order:
3147 1. immediately after the shadow host, if the shadow host is focusable; or
3148 2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.
3150 Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
3151 since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
3152 Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.
3154 Implementation notes:
3155 Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
3156 Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
3157 To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
3158 it does not skip a non-focusable shadow host in current focus scope.
3159 After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
3160 considering a nested focus scope inside of a shadow host or iframe.
3161 To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.
3163 This change does not affect an existing behavior if a shadow dom is not involved.
3165 Test: fast/dom/shadow/focus-navigation.html
3168 (WebCore::Element::focus):
3169 * dom/ReifiedTreeTraversal.cpp:
3170 (WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
3171 * page/FocusController.cpp:
3172 (WebCore::isShadowHost):
3174 (WebCore::FocusScope::FocusScope):
3175 (WebCore::FocusScope::rootNode):
3176 (WebCore::FocusScope::owner):
3177 (WebCore::FocusScope::focusScopeOf):
3178 (WebCore::FocusScope::focusScopeOwnedByShadowHost):
3179 (WebCore::FocusScope::focusScopeOwnedByIFrame):
3180 (WebCore::hasCustomFocusLogic):
3181 (WebCore::isNonFocusableShadowHost):
3182 (WebCore::isFocusableShadowHost):
3183 (WebCore::adjustedTabIndex):
3184 (WebCore::shouldVisit):
3185 (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
3186 (WebCore::FocusController::advanceFocusInDocumentOrder):
3187 (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
3188 (WebCore::FocusController::findFocusableNodeRecursively):
3189 (WebCore::FocusController::findFocusableNode):
3190 (WebCore::FocusController::findNodeWithExactTabIndex):
3191 (WebCore::nextNodeWithGreaterTabIndex):
3192 (WebCore::previousNodeWithLowerTabIndex):
3193 (WebCore::FocusController::nextFocusableNode):
3194 (WebCore::FocusController::previousFocusableNode):
3195 * page/FocusController.h:
3200 2012-03-28 Kinuko Yasuda <kinuko@chromium.org>
3202 [chromium] Add isolated filesystem type and WebDragData::filesystem_id for drag-and-drop using File/DirectoryEntry.
3203 https://bugs.webkit.org/show_bug.cgi?id=76826
3205 Add two helper methods for creating isolated filesystem to the
3206 PlatformSupport interface.
3208 Reviewed by David Levin.
3210 No new tests: tests will be added when app-facing code is added.
3212 * platform/chromium/PlatformSupport.h:
3215 2012-03-29 Vineet Chaudhary <rgf748@motorola.com>
3217 Remove custom bindings form Internals.idl of attribute type Array.
3218 https://bugs.webkit.org/show_bug.cgi?id=82319
3220 Reviewed by Kentaro Hara.
3222 Remove custom bindings for Array type and replace Array type with sequence<String>.
3224 No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
3225 even after these changes.
3227 * Target.pri: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
3228 * UseJSC.cmake: Remove JSInternalsCustom.cpp.
3229 * UseV8.cmake: Remove V8InternalsCustom.cpp.
3230 * WebCore.gypi: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
3231 * WebCore.vcproj/WebCoreTestSupport.vcproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
3232 * WebCore.xcodeproj/project.pbxproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
3233 * bindings/js/JSDOMBinding.h:
3235 (WebCore::jsArray): Added new specialize function template for Strings.
3236 * bindings/scripts/CodeGeneratorJS.pm:
3237 (JSValueToNative): Add jsArray<String>() to deduce return type.
3238 (NativeToJSValue): Added check for type String.
3239 * bindings/scripts/CodeGeneratorV8.pm:
3240 (JSValueToNative): Add v8Array<String>() to deduce return type.
3241 (NativeToJSValue): Added check for type String.
3242 * bindings/scripts/test/JS/JSTestObj.cpp:
3243 (WebCore::setJSTestObjSequenceAttr): Modified results from run-binding-tests.
3244 * bindings/scripts/test/V8/V8TestObj.cpp: Modified results from run-binding-tests.
3245 (WebCore::TestObjInternal::sequenceAttrAttrSetter):
3246 * bindings/v8/V8Binding.h: Added new specialize function template for Strings.
3249 (WebCore::toNativeArray):
3250 * testing/Internals.idl: Replace Array type with sequence<String>
3251 * testing/js/JSInternalsCustom.cpp: Removed.
3252 * testing/v8/V8InternalsCustom.cpp: Removed.
3254 2012-03-29 Sheriff Bot <webkit.review.bot@gmail.com>
3256 Unreviewed, rolling out r112500.
3257 http://trac.webkit.org/changeset/112500
3258 https://bugs.webkit.org/show_bug.cgi?id=82576
3260 assertion failed on fast/events/tab-test-not-visible-
3261 imagemap.html on gtk/qt (Requested by hayato on #webkit).
3264 (WebCore::Element::focus):
3265 * page/FocusController.cpp:
3267 (WebCore::shadowRoot):
3268 (WebCore::isTreeScopeOwner):
3269 (WebCore::FocusController::transferFocusToElementInShadowRoot):
3270 (WebCore::hasCustomFocusLogic):
3271 (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocumentOrShadowRoot):
3272 (WebCore::FocusController::advanceFocusInDocumentOrder):
3273 (WebCore::ownerOfTreeScope):
3274 (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
3275 (WebCore::FocusController::findFocusableNode):
3276 (WebCore::nextNodeWithExactTabIndex):
3277 (WebCore::previousNodeWithExactTabIndex):
3278 (WebCore::nextNodeWithGreaterTabIndex):
3279 (WebCore::previousNodeWithLowerTabIndex):
3280 (WebCore::FocusController::nextFocusableNode):
3281 (WebCore::FocusController::previousFocusableNode):
3282 * page/FocusController.h:
3286 2012-03-28 Kent Tamura <tkent@chromium.org>
3288 Add TextFieldDecorationElement::decorate()
3289 https://bugs.webkit.org/show_bug.cgi?id=82572
3291 Reviewed by Hajime Morita.
3293 This change will be needed for Bug 82143.
3294 No new tests because of no behavior changes yet. This code change
3295 doesn't affect non-Chromium ports for now.
3297 * dom/ShadowRoot.cpp:
3298 (WebCore::ShadowRoot::create):
3299 Remove unnecessary assertion. We should allow multiple UA shadow roots.
3300 * html/shadow/TextFieldDecorationElement.cpp:
3301 (WebCore::TextFieldDecorationElement::decorate):
3303 This function adds another ShadowRoot, and it contains one flexible box container.
3304 The container contains existin ShadowRoot content and the decoration element.
3305 * html/shadow/TextFieldDecorationElement.h:
3306 (TextFieldDecorationElement): Add the declaration of decorate().
3308 2012-03-28 Vineet Chaudhary <rgf748@motorola.com>
3310 Consider removal of removes jsNull()/v8::Null() from JSInternalsCustom.cpp/V8InternalsCustom.cpp
3311 https://bugs.webkit.org/show_bug.cgi?id=82442
3313 Reviewed by Kentaro Hara.
3315 No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
3316 even after these changes.
3318 * testing/js/JSInternalsCustom.cpp: Remove jsNull() if Vector is empty.
3319 (WebCore::JSInternals::userPreferredLanguages):
3320 * testing/v8/V8InternalsCustom.cpp: Remove v8::Null() if Vector is empty.
3321 (WebCore::V8Internals::userPreferredLanguagesAccessorGetter):
3323 2012-03-28 Hayato Ito <hayato@chromium.org>
3325 Let focus navigation be compliant with Shadow DOM spec.
3326 https://bugs.webkit.org/show_bug.cgi?id=78588
3328 Reviewed by Dimitri Glazkov.
3330 Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.
3332 According to the Shadow DOM spec:
3333 The shadow DOM navigation order sequence is inserted into the document navigation order:
3334 1. immediately after the shadow host, if the shadow host is focusable; or
3335 2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.
3337 Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
3338 since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
3339 Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.
3341 Implementation notes:
3342 Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
3343 Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
3344 To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
3345 it does not skip a non-focusable shadow host in current focus scope.
3346 After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
3347 considering a nested focus scope inside of a shadow host or iframe.
3348 To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.
3350 This change does not affect an existing behavior if a shadow dom is not involved.
3352 Test: fast/dom/shadow/focus-navigation.html
3355 (WebCore::Element::focus):
3356 * page/FocusController.cpp:
3357 (WebCore::isShadowHost):
3359 (WebCore::FocusScope::FocusScope):
3360 (WebCore::FocusScope::rootNode):
3361 (WebCore::FocusScope::owner):
3362 (WebCore::FocusScope::focusScopeOf):
3363 (WebCore::FocusScope::focusScopeOwnedByShadowHost):
3364 (WebCore::FocusScope::focusScopeOwnedByIFrame):
3365 (WebCore::hasCustomFocusLogic):
3366 (WebCore::isNonFocusableShadowHost):
3367 (WebCore::isFocusableShadowHost):
3368 (WebCore::adjustedTabIndex):
3369 (WebCore::shouldVisit):
3370 (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
3371 (WebCore::FocusController::advanceFocusInDocumentOrder):
3372 (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
3373 (WebCore::FocusController::findFocusableNodeRecursively):
3374 (WebCore::FocusController::findFocusableNode):
3375 (WebCore::FocusController::findNodeWithExactTabIndex):
3376 (WebCore::nextNodeWithGreaterTabIndex):
3377 (WebCore::previousNodeWithLowerTabIndex):
3378 (WebCore::FocusController::nextFocusableNode):
3379 (WebCore::FocusController::previousFocusableNode):
3380 * page/FocusController.h:
3385 2012-03-28 Li Yin <li.yin@intel.com>
3387 [WebSocket]Browser must fail connection if Sec-WebSocket-Protocol mismatched.
3388 https://bugs.webkit.org/show_bug.cgi?id=82307
3390 Reviewed by Kent Tamura.
3392 From RFC6455: http://tools.ietf.org/html/rfc6455#section-4.1
3393 If the WebSocket openhanding respond included the mismatched
3394 Sec-WebSocket-Protocol header field, the client must fail the WebSocket Connection.
3396 Test: http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html
3398 * Modules/websockets/WebSocketHandshake.cpp:
3399 (WebCore::WebSocketHandshake::checkResponseHeaders):
3401 2012-03-28 Jessie Berlin <jberlin@apple.com>
3403 Fix Windows build after r112482.
3405 * platform/network/cf/FormDataStreamCFNet.cpp:
3406 (WebCore::formOpen):
3407 Do not attempt to use an OS X error code on Windows. Use the POSIX errno instead.
3409 2012-03-28 Alexandru Chiculita <achicu@adobe.com>
3411 [CSS Filters] Avoid rebuilding FEFilters when RenderLayer is destroyed
3412 https://bugs.webkit.org/show_bug.cgi?id=82524
3414 Reviewed by Dean Jackson.
3416 RenderLayer::~RenderLayer is calling clearBacking which updated the m_filter with new filters,
3417 even though they were to be deleted a couple of lines below. This change avoids updating the filters,
3418 if we are in the "destroyed" state.
3420 No new tests. This change has no visible results to HTML or JavaScript, so it cannot be tested without a debugger.
3422 * rendering/RenderLayer.cpp:
3423 (WebCore::RenderLayer::~RenderLayer):
3424 (WebCore::RenderLayer::clearBacking):
3425 * rendering/RenderLayer.h:
3428 2012-03-28 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3430 Remove ScriptExecutionContext from NavigatorBattery.idl
3431 https://bugs.webkit.org/show_bug.cgi?id=82556
3433 Reviewed by Adam Barth.
3435 As Bug 73528 comment #71, NavigatorBattery.idl doesn't need to have ScriptExecutionContext.
3436 Document can be used instead of ScriptExecutionContext.
3438 Tests: batterystatus/add-listener-from-callback.html
3439 batterystatus/basic-all-types-of-events.html
3440 batterystatus/basic-operation.html
3441 batterystatus/event-after-navigation.html
3442 batterystatus/multiple-frames.html
3443 batterystatus/updates.html
3444 batterystatus/window-property.html
3446 * Modules/battery/BatteryManager.cpp:
3447 (WebCore::BatteryManager::create):
3448 (WebCore::BatteryManager::BatteryManager):
3449 * Modules/battery/BatteryManager.h: