[BlackBerry] http authenticate dialog popup only once no matter authentication pass...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-31  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2
3         [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
4         https://bugs.webkit.org/show_bug.cgi?id=80135
5
6         Reviewed by Rob Buis.
7
8         RIM PR: 145660
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
12         with the request.
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.
16
17         Manual test added. Testing http authentication dialog relies on user interaction.
18
19         * platform/network/blackberry/NetworkJob.cpp:
20         (WebCore::NetworkJob::sendRequestWithCredentials):
21
22 2012-03-31  Charles Wei  <charles.wei@torchmobile.com.cn>
23
24         [BlackBerry] Upstream BlackBerry change to PlatformTouchEvent and PlatformTouchPoint
25         https://bugs.webkit.org/show_bug.cgi?id=82828
26
27         Reviewed by Rob Buis.
28
29         No new tests, just upstream BlackBerry-specific change to
30         PlatformTouchEvent and PlatformTouchPoint, to make it build
31         for BlackBerry.
32
33         * platform/PlatformTouchEvent.h:
34         (Platform):
35         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
36         (PlatformTouchEvent):
37         (WebCore::PlatformTouchEvent::rotation):
38         (WebCore::PlatformTouchEvent::scale):
39         (WebCore::PlatformTouchEvent::doubleTap):
40         (WebCore::PlatformTouchEvent::touchHold):
41         * platform/PlatformTouchPoint.h:
42         (Platform):
43         (PlatformTouchPoint):
44         * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
45         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
46
47 2012-03-31  Jason Liu  <jason.liu@torchmobile.com.cn>
48
49         [BlackBerry] Refactor : NetworkJob::handleNotifyHeaderReceived.
50         https://bugs.webkit.org/show_bug.cgi?id=82825
51
52         We should use "else if" to decrease string's compare.
53
54         Reviewed by Rob Buis.
55
56         No new tests. Refactor.
57
58         * platform/network/blackberry/NetworkJob.cpp:
59         (WebCore::NetworkJob::handleNotifyHeaderReceived):
60
61 2012-03-31  Charles Wei  <charles.wei@torchmobile.com.cn>
62
63         [BlackBerry] Upstream local change of PlatformKeyboardEventBlackBerry.cpp
64         https://bugs.webkit.org/show_bug.cgi?id=82721
65
66         Reviewed by Rob Buis.
67
68         No new tests, just upstreaming the local change to make the upstreaming
69         build for BlackBerry.
70
71         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
72         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
73
74 2012-03-31  Abhishek Arya  <inferno@chromium.org>
75
76         Crash in HTMLFieldSetElement::disabledAttributeChanged.
77         https://bugs.webkit.org/show_bug.cgi?id=82814
78
79         Reviewed by Kent Tamura.
80
81         Test: fast/forms/fieldset/fieldset-crash.html
82
83         * html/HTMLFieldSetElement.cpp:
84         (WebCore::HTMLFieldSetElement::disabledAttributeChanged):
85
86 2012-03-29  Adam Barth  <abarth@webkit.org>
87
88         [Chromium] Delete WebKit/chromium/bridge
89         https://bugs.webkit.org/show_bug.cgi?id=82677
90
91         Reviewed by James Robinson.
92
93         These files are just moved from the WebKit layer with their include
94         directives adjusted.
95
96         * WebCore.gypi:
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.
116
117 2012-03-30  Adam Barth  <abarth@webkit.org>
118
119         [Chromium] Move ResourceHandle to WebCore/platform/network/chromium
120         https://bugs.webkit.org/show_bug.cgi?id=82657
121
122         Reviewed by James Robinson.
123
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.
129
130         This patch is the last patch from
131         https://github.com/abarth/webkit/compare/master...webcore-platform
132
133         * WebCore.gypi:
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.
138
139 2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
140
141         Add a compile assert for the size of RenderText
142         https://bugs.webkit.org/show_bug.cgi?id=82780
143
144         Reviewed by Dirk Pranke.
145
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.
148
149         * rendering/RenderText.cpp:
150         (SameSizeAsRenderText):
151         (WebCore):
152         * rendering/RenderText.h:
153         (RenderText):
154
155 2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
156
157         Add a compile assert for the size of ScrollableArea
158         https://bugs.webkit.org/show_bug.cgi?id=82822
159
160         Reviewed by Dirk Pranke.
161
162         Added the assertion. Also made m_scrollOriginChanged a bitfield so that it can be packed nicely.
163
164         * platform/ScrollableArea.cpp:
165         (SameSizeAsScrollableArea):
166         (WebCore):
167         * platform/ScrollableArea.h:
168         (ScrollableArea):
169
170 2012-03-30  Dan Bernstein  <mitz@apple.com>
171
172         Reverted r112767, because it caused many vertical text tests to fail.
173
174         * WebCore.exp.in:
175         * platform/graphics/FontPlatformData.cpp:
176         (WebCore::FontPlatformData::FontPlatformData):
177         (WebCore::FontPlatformData::operator=):
178         * platform/graphics/FontPlatformData.h:
179         (WebCore::FontPlatformData::FontPlatformData):
180         (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:
187         (SimpleFontData):
188         (DerivedFontData):
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:
198         (WebCore):
199
200 2012-03-30  Dan Bernstein  <mitz@apple.com>
201
202         Tried to fix the Chromium Mac build after r112767.
203
204         * platform/graphics/SimpleFontData.h:
205         (SimpleFontData):
206         (DerivedFontData):
207
208 2012-03-30  Dirk Schulze  <krit@webkit.org>
209
210         Colors seem to be parsed using HTML quirks in SVG attributes
211         https://bugs.webkit.org/show_bug.cgi?id=46112
212
213         Reviewed by Eric Seidel.
214         
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.
218
219         Tests: svg/css/svg-attribute-length-parsing.html
220                svg/css/svg-attribute-parser-mode.html
221
222         * css/CSSGrammar.y: No quirks mode for SVG.
223         * css/CSSParser.h:
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):
236
237 2012-03-30  Tony Tseung  <tseung@apple.com>
238
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
243         
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).
249         
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.
254         
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.
258
259         Reviewed by Dan Bernstein.
260
261         Added test LayoutTests/fast/text/international/text-spliced-font.html
262
263         * WebCore.exp.in:
264         Replaced obsolete FontPlatformData constructor entry.
265
266         * platform/graphics/FontPlatformData.cpp:
267         (WebCore::FontPlatformData::FontPlatformData):
268         Copy of the additional m_isCompositeFontReference and m_isPrinterFont data members.
269         
270         (WebCore::FontPlatformData::operator=):
271         Assignment of the additional m_isCompositeFontReference and m_isPrinterFont data members.
272         
273         * platform/graphics/FontPlatformData.h:
274         (WebCore::FontPlatformData::FontPlatformData):
275         (FontPlatformData):
276         Default value of m_isCompositeFontReference and m_isPrinterFont data members are set to false in various constructors.
277         
278         (WebCore::FontPlatformData::isCompositeFontReference):
279         Newly added for Composite Font Reference type font.
280
281         (WebCore::FontPlatformData::isPrinterFont):
282         Newly added for describing the NSFont parameter if is applicable.
283
284         (WebCore::FontPlatformData::operator==):
285         Comparison of the additional m_isCompositeFontReference and m_isPrinterFont data members.
286
287         * platform/graphics/SimpleFontData.cpp:
288         (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
289         Clean up the cache for component fonts of the Composite Font References.
290
291         * platform/graphics/SimpleFontData.h:
292         (SimpleFontData):
293         Added member function const SimpleFontData* getCompositeFontReferenceFontData(NSFont *key) const.
294         
295         (DerivedFontData):
296         Added CFDictionary for caching the component font of Composite Font Reference.
297
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.
301
302         (WebCore::FontPlatformData::setFont):
303         Data members m_isCompositeFontReference and m_isPrinterFont are determined and set.
304         
305         * platform/graphics/mac/FontCacheMac.mm:
306         (WebCore::FontCache::createFontPlatformData):
307         Boolean value isUsingPrinterFont is passed in the new FontPlatformData constructor.
308         
309         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
310         (WebCore::shouldUseCoreText):
311         Added the condition for Composite Font Reference type font.
312         
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.
316         
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
321         if this is called.
322         
323 2012-03-30  Charles Wei  <charles.wei@torchmobile.com.cn>
324
325         [BlackBerry] Use KURL::protocolIsInHTTPFamily() instead KURL::protocolInHTTPFamily()
326         https://bugs.webkit.org/show_bug.cgi?id=82707
327
328         Reviewed by Rob Buis.
329
330         No new tests, just BlackBerry build fix.
331
332         * platform/network/blackberry/NetworkManager.cpp:
333         (WebCore::NetworkManager::startJob):
334
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
338
339         Reviewed by Adam Barth.
340
341         No change in behavior, thus no tests.
342
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.
346
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).
352
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:
358         (CSSStyleSelector):
359         * css/MediaQueryMatcher.cpp:
360         (WebCore::MediaQueryMatcher::prepareEvaluator):
361         * css/StyleMedia.cpp:
362         (WebCore::StyleMedia::matchMedium):
363         * dom/Element.cpp:
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):
373
374 2012-03-30  Jason Liu  <jason.liu@torchmobile.com.cn>
375
376         [BlackBerry] Headers with no content shouldn't be dropped by platform's request.
377         https://bugs.webkit.org/show_bug.cgi?id=82691
378
379         Reviewed by Rob Buis.
380
381         Test : http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
382
383         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
384         (WebCore::ResourceRequest::initializePlatformRequest):
385
386 2012-03-30  Eric Seidel  <eric@webkit.org>
387
388         Add tests for iframe seamless and support for parsing webkitseamless attribute
389         https://bugs.webkit.org/show_bug.cgi?id=82795
390
391         Reviewed by Adam Barth.
392
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.
396
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
401
402         * html/HTMLAttributeNames.in:
403         * html/HTMLIFrameElement.idl:
404
405 2012-03-30  Emil A Eklund  <eae@chromium.org>
406
407         Change WebKit/WebKit2 platform code to use pixel snapped values
408         https://bugs.webkit.org/show_bug.cgi?id=82549
409
410         Reviewed by Eric Seidel.
411
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.
415
416         No new tests. No change in functionality.
417
418         * dom/Node.h:
419         (WebCore::Node::pixelSnappedRenderRect):
420         Add pixel snapped version of renderRect
421         
422         * rendering/RenderBox.h:
423         (WebCore::RenderBox::pixelSnappedFrameRect):
424         Add pixel snapped version of frameRect
425
426 2012-03-30  Simon Fraser  <simon.fraser@apple.com>
427
428         https://bugs.webkit.org/show_bug.cgi?id=82761
429         
430         Try to narrow down the cause of this assertion by adding
431         an assertion about m_frame.
432         
433         * editing/Editor.cpp:
434         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
435
436 2012-03-30  Emil A Eklund  <eae@chromium.org>
437
438         Fix return type for virtual borderBoundingBox method
439         https://bugs.webkit.org/show_bug.cgi?id=82561
440
441         Reviewed by Eric Seidel.
442
443         No new tests, no change in functionality.
444
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
454         snap it).
455
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.
460         
461         (RenderBoxModelObject):
462         * rendering/RenderInline.h:
463         (WebCore::RenderInline::borderBoundingBox):
464         Change overloaded method to IntRect to match RenderBox implementation.
465
466 2012-03-30  Bear Travis  <betravis@adobe.com>
467
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
470
471         Reviewed by Ryosuke Niwa.
472
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
475
476         * css/CSSComputedStyleDeclaration.cpp:
477         (WebCore): added -webkit-shape-inside and -webkit-shape-outside to computedProperties
478
479 2012-03-30  Adam Barth  <abarth@webkit.org>
480
481         https://bugs.webkit.org/show_bug.cgi?id=82582
482         Move CPP files related to ResourceHandle to WebCore/platform
483
484         Reviewed by James Robinson.
485
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
490         WebCore/platform.
491
492         * WebCore.gypi:
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.
501
502 2012-03-30  Emil A Eklund  <eae@chromium.org>
503
504         Fix usage of LayoutUnits in table code.
505         https://bugs.webkit.org/show_bug.cgi?id=82765
506
507         Reviewed by Eric Seidel.
508
509         Clean up usage of ints and LayoutUnits in table code in preparation for
510         turning on subpixel layout.
511
512         No new tests, no change in functionality.
513
514         * rendering/AutoTableLayout.cpp:
515         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
516         Cast maxWidth to int as all table layout is done on int bounds.
517         
518         * rendering/RenderTable.cpp:
519         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
520         Change borders to LayoutUnit as paddings can have subpixel precision.
521         
522         * rendering/RenderTable.h:
523         (WebCore::RenderTable::getColumnPos):
524         (WebCore::RenderTable::columnPositions):
525         Change getColumnPos and columnPositions to ints as the values are always
526         on pixel bounds.
527         
528         (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
529         * rendering/RenderTableCell.cpp:
530         (WebCore::RenderTableCell::styleOrColLogicalWidth):
531         Remove unnecessary cast.
532         
533         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
534         Use LayoutPoint instead of left/top.
535         
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
541         conversion.
542
543 2012-03-30  Joe Thomas  <joethomas@motorola.com>
544
545         Spec renamed Viewport-relative lengths to Viewport-percentage lengths
546         https://bugs.webkit.org/show_bug.cgi?id=82773
547
548         Reviewed by Antti Koivisto.
549
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.
552
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):
563         (CSSPrimitiveValue):
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):
578         * platform/Length.h:
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:
599
600 2012-03-30  Alexandru Chiculita  <achicu@adobe.com>
601
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
604
605         Reviewed by Dean Jackson.
606         
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.
611         
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.
614         
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).
622         
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 
627         
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.
630         
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
639
640         * platform/graphics/filters/FilterOperations.cpp:
641         (WebCore::FilterOperations::getOutsets): Drop shadow should only enlarge the outsets and never make them smaller.
642         
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.
647         (WebCore):
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):
652         
653         * rendering/FilterEffectRenderer.h:
654         (FilterEffectRendererHelper):
655         (FilterEffectRenderer):
656         (WebCore::FilterEffectRenderer::hasFilterThatMovesPixels):
657         
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.
661         
662         * rendering/RenderInline.cpp:
663         (WebCore::RenderInline::computeRectForRepaint): Removed the outsets from this method. We now compute that in
664         RenderLayer::setFilterBackendNeedsRepaintingInRect.
665         
666         * rendering/RenderLayer.cpp:
667         (WebCore):
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.
673         
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.
681         
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.
687         
688         * rendering/RenderLayer.h:
689         (RenderLayer):
690         
691         * rendering/RenderLayerCompositor.cpp:
692         (WebCore::RenderLayerCompositor::calculateCompositedBounds): Now using the code from RenderLayer::calculateLayerBounds
693         
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.
698
699 2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
700
701         Add a compile assert for the size of BidiContext
702         https://bugs.webkit.org/show_bug.cgi?id=82793
703
704         Reviewed by Eric Seidel.
705
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.
708
709         * rendering/InlineBox.h: Added a comment about why bidi level needs exactly 6 bits.
710         * platform/text/BidiContext.cpp:
711         (SameSizeAsBidiContext):
712         (WebCore):
713         * platform/text/BidiContext.h:
714         (BidiContext):
715
716 2012-03-30  Joshua Bell  <jsbell@chromium.org>
717
718         IndexedDB: Race condition causes version change transaction to commit after onblocked
719         https://bugs.webkit.org/show_bug.cgi?id=82678
720
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
724         finished.
725
726         Reviewed by Tony Chang.
727
728         Test: storage/indexeddb/dont-commit-on-blocked.html
729
730         * Modules/indexeddb/IDBRequest.cpp:
731         (WebCore::IDBRequest::dispatchEvent):
732
733 2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
734
735         Add a compile assert for the size of FontDescription
736         https://bugs.webkit.org/show_bug.cgi?id=82786
737
738         Reviewed by Eric Seidel.
739
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).
742
743         * platform/graphics/FontDescription.cpp:
744         (SameSizeAsFontDescription):
745         (WebCore):
746         * platform/graphics/FontDescription.h:
747         (FontDescription):
748
749 2012-03-30  Adam Barth  <abarth@webkit.org>
750
751         Move CPP files related to ResourceHandle to WebCore/platform
752         https://bugs.webkit.org/show_bug.cgi?id=82582
753
754         Reviewed by James Robinson.
755
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.
758
759         * WebCore.gyp/WebCore.gyp:
760         * WebCore.gypi:
761         * platform/chromium/support/WebData.cpp: Copied from Source/WebKit/chromium/src/WebData.cpp.
762
763 2012-03-30  Andreas Kling  <kling@webkit.org>
764
765         Kill CSSTimingFunctionValue.
766         <http://webkit.org/b/82787>
767
768         Reviewed by Antti Koivisto.
769
770         Remove CSSTimingFunctionValue and let the 3 subclasses inherit directly from CSSValue.
771         CSSTimingFunctionValue is a pointless middle-man class that adds nothing.
772
773         * css/CSSStyleSelector.cpp:
774         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
775         * css/CSSTimingFunctionValue.h:
776         (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
777         (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
778         (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
779         * css/CSSValue.h:
780         (WebCore::CSSValue::isCubicBezierTimingFunctionValue):
781         (WebCore::CSSValue::isLinearTimingFunctionValue):
782         (WebCore::CSSValue::isStepsTimingFunctionValue):
783
784 2012-03-30  Nat Duca  <nduca@chromium.org>
785
786         [chromium] Bump max texture updates per frame to 48
787         https://bugs.webkit.org/show_bug.cgi?id=82779
788
789         Reviewed by James Robinson.
790
791         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
792         (WTF):
793
794 2012-03-30  Nate Chapin  <japhet@chromium.org>
795
796         Merge FrameLoader::finishedLoading() into DocumentLoader::finishedLoading().
797         https://bugs.webkit.org/show_bug.cgi?id=82653
798
799         Reviewed by Adam Barth.
800
801         No new tests, no functionality change intended.
802
803         * loader/DocumentLoader.cpp:
804         (WebCore::DocumentLoader::finishedLoading):
805         * loader/FrameLoader.cpp:
806         * loader/FrameLoader.h:
807         * loader/MainResourceLoader.cpp:
808         (WebCore::MainResourceLoader::didFinishLoading):
809
810 2012-03-30  Antti Koivisto  <antti@apple.com>
811
812         Cache origin check result to RuleData
813         https://bugs.webkit.org/show_bug.cgi?id=82774
814
815         Reviewed by Andreas Kling.
816
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.
819
820         * css/CSSStyleSelector.cpp:
821         (RuleData):
822         (WebCore::RuleData::hasDocumentSecurityOrigin):
823         (RuleSet):
824         (WebCore::makeRuleSet):
825         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
826         * css/CSSStyleSelector.h:
827         (WebCore::CSSStyleSelector::RuleFeature::RuleFeature):
828         (RuleFeature):
829         (Features):
830
831 2012-03-30  Mike Reed  <reed@google.com>
832
833         Remove deadcode behind "SafeSkia" flag
834         https://bugs.webkit.org/show_bug.cgi?id=82771
835
836         Reviewed by Stephen White.
837
838         Just removing dead code (behind obsolete build flag), existing webkit tests apply
839
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):
860
861 2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
862
863         Add a compile assert for the size of InlineFlowBox
864         https://bugs.webkit.org/show_bug.cgi?id=82767
865
866         Reviewed by Tony Chang.
867
868         Add a compile assert to ensure InlineFlowBox stays small.
869         Also make some of the member variables not used in RootInlineBox private.
870
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).
873
874         * rendering/InlineFlowBox.cpp:
875         (SameSizeAsInlineFlowBox):
876         (WebCore):
877         * rendering/InlineFlowBox.h:
878         (InlineFlowBox):
879
880 2012-03-30  Zalan Bujtas  <zbujtas@gmail.com>
881
882         Fix defective size_t overflow in GestureTapHighlighter.
883         https://bugs.webkit.org/show_bug.cgi?id=82605
884
885         Reviewed by Kenneth Rohde Christiansen.
886
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.
893
894         Manual test added. Tap gesture highlighter is getting triggered by UI process.
895
896         * page/GestureTapHighlighter.cpp:
897
898 2012-03-30  Mark Pilgrim  <pilgrim@chromium.org>
899
900         GEOLOCATION should be implemented as Page Supplement
901         https://bugs.webkit.org/show_bug.cgi?id=82228
902
903         Reviewed by Adam Barth.
904
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/.
909
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:
917         (WebCore):
918         * Modules/geolocation/GeolocationController.cpp:
919         (WebCore::GeolocationController::supplementName):
920         (WebCore):
921         (WebCore::provideGeolocationTo):
922         * Modules/geolocation/GeolocationController.h:
923         (GeolocationController):
924         (WebCore::GeolocationController::from):
925         * WebCore.exp.in:
926         * page/GeolocationClient.h:
927         (WebCore):
928         (GeolocationClient):
929         * page/Page.cpp:
930         (WebCore::Page::Page):
931         (WebCore::Page::PageClients::PageClients):
932         * page/Page.h:
933         (WebCore):
934         (PageClients):
935         (Page):
936
937 2012-03-30  Anders Carlsson  <andersca@apple.com>
938
939         This is fun.
940
941         * WebCore.xcodeproj/project.pbxproj:
942
943 2012-03-30  Anders Carlsson  <andersca@apple.com>
944
945         Yet another build fix attempt.
946
947         * WebCore.xcodeproj/project.pbxproj:
948
949 2012-03-30  Joe Mason  <jmason@rim.com>
950
951         [BlackBerry] Make sure strings do not leak in PluginViewBlackberry.
952         https://bugs.webkit.org/show_bug.cgi?id=82764
953
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
958         invalid at any time.
959
960         Reviewed by Rob Buis.
961
962         * plugins/blackberry/PluginViewBlackBerry.cpp:
963         (WebCore::PluginView::setNPWindowIfNeeded):
964         (WebCore::PluginView::platformGetValue):
965         (WebCore::PluginView::platformDestroy):
966         * plugins/blackberry/PluginViewPrivateBlackBerry.h:
967         (PluginViewPrivate):
968
969 2012-03-30  Anders Carlsson  <andersca@apple.com>
970
971         Another build fix.
972
973         * WebCore.xcodeproj/project.pbxproj:
974
975 2012-03-30  Anders Carlsson  <andersca@apple.com>
976
977         Fix build.
978
979         * page/scrolling/mac/ScrollingTreeMac.mm:
980
981 2012-03-30  Anders Carlsson  <andersca@apple.com>
982
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>
986
987         Reviewed by Andreas Kling.
988
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:
991
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).
996
997         * WebCore.exp.in:
998         * WebCore.xcodeproj/project.pbxproj:
999         * page/scrolling/ScrollingTree.cpp:
1000         (WebCore::ScrollingTree::commitNewTreeState):
1001         Call updateDebugRootLayer().
1002
1003         * page/scrolling/ScrollingTreeNode.h:
1004         (WebCore::ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThread):
1005         Make this public.
1006
1007         (ScrollingTreeNode):
1008         * page/scrolling/mac/ScrollingTreeMac.mm: Added.
1009         (WebCore::ScrollingTree::setDebugRootLayer):
1010         Set up a new debug info sublayer.
1011
1012         (WebCore::ScrollingTree::updateDebugRootLayer):
1013         Update the debug root layer background color based on the scrolling tree state.
1014
1015 2012-03-30  Peter Rybin  <peter.rybin@gmail.com>
1016
1017         Web Inspector: CodeGeneratorInspector.py: add missing runtime assert method for InspectorObject
1018         https://bugs.webkit.org/show_bug.cgi?id=82753
1019
1020         Reviewed by Vsevolod Vlasov.
1021
1022         Type validator generator is extended to support missing InspectorObject type and
1023         made more accurate for "int" type.
1024
1025         Strict types are enabled for 2 more domains.
1026
1027         * inspector/CodeGeneratorInspector.py:
1028         (RawTypes.BaseType.generate_validate_method):
1029         (RawTypes.String.get_validate_method_params.ValidateMethodParams):
1030         (RawTypes.Int):
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):
1041
1042 2012-03-30  Ian Vollick  <vollick@chromium.org>
1043
1044         [chromium] assertion being hit in CCLayerAnimationController
1045         https://bugs.webkit.org/show_bug.cgi?id=82237
1046
1047         Reviewed by James Robinson.
1048
1049         Animations are no longer pushed to the impl thread if they have already completed.
1050
1051         Tested in CCLayerAnimationControllerTest.doNotSyncFinishedAnimation
1052
1053         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1054         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
1055
1056 2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
1057
1058         Build fix after r112699.
1059
1060         * css/StylePropertySet.cpp:
1061         (WebCore::StylePropertySet::findPropertyWithId):
1062
1063 2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
1064
1065         Add a compile assert for the size of CSSProperty
1066         https://bugs.webkit.org/show_bug.cgi?id=82756
1067
1068         Reviewed by Andreas Kling.
1069
1070         Add a compile assert to ensure CSSProperty instances stay small.
1071
1072         Also make member variables of CSSProperty private as they should have been,
1073         and extract wrapValueInCommaSeparatedList from createFontFaceRule.
1074
1075         * css/CSSParser.cpp:
1076         (WebCore::CSSParser::createFontFaceRule):
1077         * css/CSSProperty.cpp:
1078         (SameSizeAsCSSProperty):
1079         (WebCore):
1080         (WebCore::CSSProperty::wrapValueInCommaSeparatedList):
1081         * css/CSSProperty.h:
1082         (CSSProperty):
1083
1084 2012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
1085
1086         Let there be a clean xcodeproj.
1087
1088         * WebCore.xcodeproj/project.pbxproj:
1089
1090 2012-03-30  Chris Fleizach  <cfleizach@apple.com>
1091
1092         AX: Crash at WebCore::renderObjectContainsPosition(WebCore::RenderObject*, WebCore::Position const&)
1093         https://bugs.webkit.org/show_bug.cgi?id=82745
1094
1095         Reviewed by Simon Fraser.
1096
1097         Test: platform/mac/accessibility/range-for-position.html
1098
1099         * accessibility/AccessibilityRenderObject.cpp:
1100         (WebCore::AccessibilityRenderObject::index):
1101
1102 2012-03-30  John Sullivan  <sullivan@apple.com>
1103
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>
1107
1108         Reviewed by Alexey Proskuryakov
1109
1110         * platform/mac/WebCoreNSURLExtras.mm:
1111         (WebCore::isLookalikeCharacter):
1112         Added five emoji characters to the list.
1113
1114 2012-03-30  David Barr  <davidbarr@chromium.org>
1115
1116         Split up top-level .gitignore and .gitattributes
1117         https://bugs.webkit.org/show_bug.cgi?id=82687
1118
1119         Reviewed by Tor Arne Vestbø.
1120
1121         No new tests, source control administrivia.
1122
1123         * .gitattributes: Added.
1124         * WebCore.gyp/.gitignore: Added.
1125
1126 2012-03-30  Patrick Gansterer  <paroga@webkit.org>
1127
1128         [WinCE] Correct <wtf/*.h> include paths.
1129         https://bugs.webkit.org/show_bug.cgi?id=82713
1130
1131         Reviewed by Eric Seidel.
1132
1133         Modify the #include declarations for several WinCE-related files
1134         so that the wtf types are included using the full path.
1135
1136         * platform/graphics/wince/ImageBufferWinCE.cpp:
1137
1138 2012-03-30  Vsevolod Vlasov  <vsevik@chromium.org>
1139
1140         Web Inspector: ScriptsNavigator scripts selection/focus polish.
1141         https://bugs.webkit.org/show_bug.cgi?id=82732
1142
1143         Reviewed by Pavel Feldman.
1144
1145         Script could be selected by space in ScriptsNavigator now.
1146         This patch also polishes focus behavior when using ScriptsNavigator.
1147
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.
1159
1160 2012-03-30  Mike Reed  <reed@google.com>
1161
1162         remove unneeded copies of SkPaths, remove unneeded save/restore
1163         https://bugs.webkit.org/show_bug.cgi?id=82641
1164
1165         Reviewed by Stephen White.
1166
1167         Performance change, existing webkit tests apply.
1168
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):
1175
1176 2012-03-30  Pavel Feldman  <pfeldman@chromium.org>
1177
1178         Web Inspector: undo-ing edit that consists of a Tab does not work.
1179         https://bugs.webkit.org/show_bug.cgi?id=82733
1180
1181         Reviewed by Vsevolod Vlasov.
1182
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
1185         don't mutate them.
1186
1187         Drive-by: restore selection after undo via selecting all the text that undo
1188         operation produced.
1189
1190         Test: inspector/editor/text-editor-undo-redo.html
1191
1192         * inspector/front-end/TextEditorModel.js:
1193         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1194         * inspector/front-end/TextViewer.js:
1195
1196 2012-03-30  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>
1197
1198         [wx] Implement Gradient and ImageBuffer support.
1199         https://bugs.webkit.org/show_bug.cgi?id=82710
1200
1201         Reviewed by Kevin Ollivier.
1202
1203         * platform/graphics/BitmapImage.h:
1204         (BitmapImage):
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:
1212         (ImageBufferData):
1213         * platform/graphics/wx/ImageBufferWx.cpp:
1214         (WebCore):
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):
1227         (WebCore):
1228         (WebCore::BitmapImage::draw):
1229         * platform/wx/LocalDC.h:
1230         (WebCore):
1231
1232 2012-03-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1233
1234         [Qt] Find zoomable area using area-based hit-testing
1235         https://bugs.webkit.org/show_bug.cgi?id=82609
1236
1237         Reviewed by Kenneth Rohde Christiansen.
1238
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.
1244
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):
1258
1259 2012-03-30  Pavel Feldman  <pfeldman@chromium.org>
1260
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
1263
1264         Reviewed by Yury Semikhatsky.
1265
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.
1268
1269         Test: inspector/elements/edit-style-attribute.html
1270
1271         * inspector/front-end/DOMAgent.js:
1272         (WebInspector.DOMNode.prototype._setAttributesPayload):
1273         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
1274
1275 2012-03-30  Philip Rogers  <pdr@google.com>
1276
1277         Add new renderer for circles and ellipses
1278         https://bugs.webkit.org/show_bug.cgi?id=80423
1279
1280         Reviewed by Eric Seidel.
1281
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.
1287
1288         Tests: svg/hittest/svg-ellipse-non-scale-stroke.xhtml
1289                svg/hittest/svg-ellipse.xhtml
1290
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
1293         are correct.
1294
1295         * CMakeLists.txt:
1296         * GNUmakefile.list.am:
1297         * Target.pri:
1298         * WebCore.gypi:
1299         * WebCore.vcproj/WebCore.vcproj:
1300         * WebCore.xcodeproj/project.pbxproj:
1301         * platform/graphics/GraphicsContext.cpp:
1302         (WebCore::GraphicsContext::fillEllipse):
1303         (WebCore):
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:
1310         (GraphicsContext):
1311         * platform/graphics/cg/GraphicsContextCG.cpp:
1312         (WebCore::GraphicsContext::platformFillEllipse):
1313         (WebCore):
1314         (WebCore::GraphicsContext::platformStrokeEllipse):
1315         * platform/graphics/skia/GraphicsContextSkia.cpp:
1316         (WebCore::GraphicsContext::platformFillEllipse):
1317         (WebCore):
1318         (WebCore::GraphicsContext::platformStrokeEllipse):
1319         * rendering/svg/RenderSVGAllInOne.cpp:
1320         * rendering/svg/RenderSVGEllipse.cpp: Added.
1321         (WebCore):
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.
1333         (WebCore):
1334         (RenderSVGEllipse):
1335         (WebCore::RenderSVGEllipse::isSVGEllipse):
1336         (WebCore::RenderSVGEllipse::renderName):
1337         (WebCore::RenderSVGEllipse::isEmpty):
1338         * svg/SVGCircleElement.cpp:
1339         (WebCore::SVGCircleElement::svgAttributeChanged):
1340         (WebCore):
1341         (WebCore::SVGCircleElement::createRenderer):
1342         * svg/SVGCircleElement.h:
1343         (SVGCircleElement):
1344         * svg/SVGEllipseElement.cpp:
1345         (WebCore::SVGEllipseElement::svgAttributeChanged):
1346         (WebCore::SVGEllipseElement::createRenderer):
1347         (WebCore):
1348         * svg/SVGEllipseElement.h:
1349         (SVGEllipseElement):
1350
1351 2012-03-30  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1352
1353         Add a "preview" state to Page Visibility API implementation
1354         https://bugs.webkit.org/show_bug.cgi?id=81355
1355
1356         Reviewed by Adam Barth.
1357
1358         Updating the Page Visibility API implementation to the current spec version.
1359
1360         This change is covered by fast/events/page-visibility-transition-test.html,
1361         so no new tests needed.
1362
1363         * page/PageVisibilityState.cpp:
1364         (WebCore::pageVisibilityStateString):
1365         * page/PageVisibilityState.h:
1366
1367 2012-03-30  Vsevolod Vlasov  <vsevik@chromium.org>
1368
1369         Web Inspector: [Regression] Execution line is not revealed after pretty print.
1370         https://bugs.webkit.org/show_bug.cgi?id=82727
1371
1372         Reviewed by Pavel Feldman.
1373
1374         This patch makes JavaScriptSourceFrame reveal execution line after pretty print.
1375
1376         * inspector/front-end/JavaScriptSourceFrame.js:
1377         (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
1378
1379 2012-03-30  Yury Semikhatsky  <yurys@chromium.org>
1380
1381         Web Inspector: preload field values into local variables for better heap profiler performance
1382         https://bugs.webkit.org/show_bug.cgi?id=82703
1383
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.
1386
1387         Reviewed by Pavel Feldman.
1388
1389         * inspector/front-end/HeapSnapshot.js:
1390         (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
1391         (WebInspector.HeapSnapshot.prototype._buildRetainers):
1392         (WebInspector.HeapSnapshot.prototype._bfs):
1393
1394 2012-03-30  Sheriff Bot  <webkit.review.bot@gmail.com>
1395
1396         Unreviewed, rolling out r112489.
1397         http://trac.webkit.org/changeset/112489
1398         https://bugs.webkit.org/show_bug.cgi?id=82725
1399
1400         Tentatively introduces a lot of webfont-related test flakiness
1401         on Snow Leopard (Requested by apavlov on #webkit).
1402
1403         * css/CSSSegmentedFontFace.cpp:
1404         (WebCore::CSSSegmentedFontFace::getFontData):
1405
1406 2012-03-30  Keishi Hattori  <keishi@webkit.org>
1407
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
1410
1411         Reviewed by Kent Tamura.
1412
1413         * CMakeLists.txt:
1414         * Configurations/FeatureDefines.xcconfig:
1415         * GNUmakefile.am:
1416         * WebCore.exp.in:
1417         * css/html.css:
1418         * html/ColorInputType.cpp:
1419         * html/ColorInputType.h:
1420         * html/HTMLInputElement.cpp:
1421         (WebCore):
1422         * html/HTMLInputElement.h:
1423         (HTMLInputElement):
1424         * html/InputType.cpp:
1425         (WebCore::createInputTypeFactoryMap):
1426         (WebCore):
1427         (InputTypeNames):
1428         * html/InputType.h:
1429         (InputType):
1430         (InputTypeNames):
1431         * loader/EmptyClients.h:
1432         (EmptyChromeClient):
1433         * page/Chrome.cpp:
1434         (WebCore):
1435         * page/Chrome.h:
1436         (WebCore):
1437         (Chrome):
1438         * page/ChromeClient.h:
1439         (WebCore):
1440         (ChromeClient):
1441         * platform/ColorChooser.h:
1442         * platform/ColorChooserClient.h:
1443         * testing/InternalSettings.cpp:
1444         * testing/Internals.cpp:
1445         (WebCore):
1446         * testing/Internals.h:
1447         (Internals):
1448         * testing/Internals.idl:
1449
1450 2012-03-30  Charles Wei  <charles.wei@torchmobile.com.cn>
1451
1452         [BlackBerry] EventLoop::platformInit() obsolete.
1453         https://bugs.webkit.org/show_bug.cgi?id=82709
1454
1455         Reviewed by Rob Buis.
1456
1457         No new tests, build fix for BlackBerry porting.
1458
1459         * platform/blackberry/EventLoopBlackBerry.cpp:
1460
1461 2012-03-30  Vsevolod Vlasov  <vsevik@chromium.org>
1462
1463         Web Inspector: ScriptsNavigator should open scripts with single click (not double click).
1464         https://bugs.webkit.org/show_bug.cgi?id=82723
1465
1466         Reviewed by Pavel Feldman.
1467
1468         This patch makes ScriptsNavigator open scripts with single click.
1469
1470         * inspector/front-end/ScriptsNavigator.js:
1471         (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
1472         (WebInspector.NavigatorScriptTreeElement.prototype._onclick):
1473
1474 2012-03-30  Vineet Chaudhary  <rgf748@motorola.com>
1475
1476         IDLParser.pm should be able to parse sequence<T> as method argument.
1477         https://bugs.webkit.org/show_bug.cgi?id=82599
1478
1479         Reviewed by Kentaro Hara.
1480
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.
1483
1484         Tests: bindings/scripts/test/TestObj.idl
1485
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):
1518
1519 2012-03-30  Pavel Feldman  <pfeldman@chromium.org>
1520
1521         Web Inspector: editing resets line-ending of the whole file
1522         https://bugs.webkit.org/show_bug.cgi?id=82708
1523
1524         Reviewed by Yury Semikhatsky.
1525
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.
1529
1530         Test: inspector/editor/text-editor-line-breaks.html
1531
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):
1548
1549 2012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
1550
1551         Web Inspector: Take IndexedDB support out of experiments.
1552         https://bugs.webkit.org/show_bug.cgi?id=82635
1553
1554         Reviewed by Pavel Feldman.
1555
1556         This patch takes inspector IndexedDB support out of experiments and enables tests.
1557
1558         Test: http/tests/inspector/indexeddb/resources-panel.html
1559
1560         * inspector/front-end/ResourcesPanel.js:
1561         * inspector/front-end/Settings.js:
1562         (WebInspector.ExperimentsSettings):
1563
1564 2012-03-30  Patrick Gansterer  <paroga@webkit.org>
1565
1566         Build fix after r112482.
1567
1568         * platform/network/cf/FormDataStreamCFNet.h: Added missing forward decleration.
1569
1570 2012-03-30  Philippe Normand  <pnormand@igalia.com>
1571
1572         [GTK] WebAudio channelSize issue
1573         https://bugs.webkit.org/show_bug.cgi?id=81905
1574
1575         Reviewed by Martin Robinson.
1576
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.
1582
1583 2012-03-29  Alexandru Chiculita  <achicu@adobe.com>
1584
1585         [CSS Filters] Trigger a repaint on elements with changed filter
1586         https://bugs.webkit.org/show_bug.cgi?id=82521
1587
1588         Reviewed by Dean Jackson.
1589
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
1593         (composited).
1594
1595         Tests: css3/filters/filter-change-repaint-composited.html
1596                css3/filters/filter-change-repaint.html
1597
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:
1611
1612 2012-03-29  Koji Ishii  <kojiishi@gmail.com>
1613
1614
1615         Vertical flow support for OpenType fonts with the least platform dependencies
1616         https://bugs.webkit.org/show_bug.cgi?id=81326
1617
1618         Reviewed by Dan Bernstein.
1619
1620         This patch introduces a new class OpenTypeVerticalData to read
1621         vertical font metrics from OpenType fonts.
1622
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.
1628
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.
1633
1634         No new tests are required. No behavior changes.
1635
1636         * WebCore.vcproj/WebCore.vcproj: Added OpenTypeTypes.h and OpenTypeVerticalData.h/cpp.
1637         * platform/SharedBuffer.cpp: Add create(size_t)
1638         (WebCore::SharedBuffer::SharedBuffer):
1639         (WebCore):
1640         * platform/SharedBuffer.h: Add create(size_t)
1641         (WebCore::SharedBuffer::create):
1642         (SharedBuffer):
1643         * platform/graphics/FontPlatformData.h: Added openTypeTable().
1644         (WebCore):
1645         (FontPlatformData):
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.
1649         (OpenType):
1650         (WebCore::OpenType::BigEndianShort::operator short):
1651         (WebCore::OpenType::BigEndianShort::BigEndianShort):
1652         (BigEndianShort):
1653         (WebCore::OpenType::BigEndianUShort::operator unsigned short):
1654         (WebCore::OpenType::BigEndianUShort::BigEndianUShort):
1655         (BigEndianUShort):
1656         (WebCore::OpenType::BigEndianLong::operator int):
1657         (WebCore::OpenType::BigEndianLong::BigEndianLong):
1658         (BigEndianLong):
1659         (WebCore::OpenType::BigEndianULong::operator unsigned):
1660         (WebCore::OpenType::BigEndianULong::BigEndianULong):
1661         (BigEndianULong):
1662         * platform/graphics/opentype/OpenTypeVerticalData.cpp: Added.
1663         (OpenType):
1664         (HheaTable):
1665         (VheaTable):
1666         (Entry):
1667         (VORGTable):
1668         (VertOriginYMetrics):
1669         (WebCore::OpenType::VORGTable::requiredSize):
1670         (WebCore):
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.
1676         (WebCore):
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:
1682         (WebCore):
1683         (WebCore::FontPlatformData::openTypeTable): Implemented openTypeTable() for Win32.
1684
1685 2012-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
1686
1687         [BlackBerry] Sync up PlatformMouseEvent
1688         https://bugs.webkit.org/show_bug.cgi?id=82567
1689
1690         Reviewed by Rob Buis.
1691
1692         This patch is adding blackberry specific members to PlatformMouseEvent.
1693         Also re-base PlatformMouseEventBlackBerry to adapt to the re-factor
1694         of PlatformMouseEvent.
1695
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.
1703
1704 2012-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
1705
1706         [BlackBerry] Turn on STORE_FONT_CUSTOM_PLATFORM_DATA in CachedFont.cpp
1707         https://bugs.webkit.org/show_bug.cgi?id=82573
1708
1709         Reviewed by Rob Buis.
1710
1711         Tests: covered by existing tests.
1712
1713         * loader/cache/CachedFont.cpp:
1714
1715 2012-03-29  Adam Barth  <abarth@webkit.org>
1716
1717         [Chromium] Attempt to fix the component build
1718         https://bugs.webkit.org/show_bug.cgi?id=82676
1719
1720         Reviewed by Dirk Pranke.
1721
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.
1725
1726         * WebCore.gyp/WebCore.gyp:
1727
1728 2012-03-29  Adam Barth  <abarth@webkit.org>
1729
1730         Unreviewed, rolling out r112572.
1731         http://trac.webkit.org/changeset/112572
1732         https://bugs.webkit.org/show_bug.cgi?id=82582
1733
1734         Does not compile in Windows component build
1735
1736         * WebCore.gyp/WebCore.gyp:
1737         * WebCore.gypi:
1738
1739 2012-03-29  Adam Barth  <abarth@webkit.org>
1740
1741         Unreviewed, rolling out r112579.
1742         http://trac.webkit.org/changeset/112579
1743         https://bugs.webkit.org/show_bug.cgi?id=82657
1744
1745         Does not compile in Windows component build
1746
1747         * WebCore.gypi:
1748
1749 2012-03-29  Adam Barth  <abarth@webkit.org>
1750
1751         Unreviewed, rolling out r112611.
1752         http://trac.webkit.org/changeset/112611
1753         https://bugs.webkit.org/show_bug.cgi?id=82676
1754
1755         Does not compile in Windows component build
1756
1757         * WebCore.gyp/WebCore.gyp:
1758
1759 2012-03-29  Bear Travis  <betravis@adobe.com>
1760
1761         Update shape-inside/shape-outside CSS Exclusion properties
1762         https://bugs.webkit.org/show_bug.cgi?id=82365
1763
1764         Reviewed by Ryosuke Niwa.
1765
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.
1770
1771         * css/CSSComputedStyleDeclaration.cpp:
1772         (WebCore):
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):
1782         * css/CSSParser.h:
1783         * css/CSSProperty.cpp:
1784         (WebCore::CSSProperty::isInheritedProperty):
1785         * css/CSSPropertyNames.in:
1786         * css/CSSStyleSelector.cpp:
1787         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1788
1789 2012-03-29  Ryan Sleevi  <rsleevi@chromium.org>
1790
1791         [chromium] Update paths in GYP files
1792         https://bugs.webkit.org/show_bug.cgi?id=82663
1793
1794         Reviewed by Adam Barth.
1795
1796         * WebCore.gypi:
1797         Remove PluginDataGtk.cpp following r112401
1798
1799 2012-03-29  Abhishek Arya  <inferno@chromium.org>
1800
1801         Crash in GenericEventQueue::~GenericEventQueue.
1802         https://bugs.webkit.org/show_bug.cgi?id=81976
1803
1804         Reviewed by Eric Carlson.
1805
1806         * dom/GenericEventQueue.cpp:
1807         (WebCore::GenericEventQueue::create):
1808         (WebCore):
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:
1821         (HTMLMediaElement):
1822
1823 2012-03-29  Adam Barth  <abarth@webkit.org>
1824
1825         [Chromium] Attempt to fix the component build
1826         https://bugs.webkit.org/show_bug.cgi?id=82676
1827
1828         Unreviewed.
1829
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.
1833
1834         * WebCore.gyp/WebCore.gyp:
1835
1836 2012-03-29  Nate Chapin  <japhet@chromium.org>
1837
1838         Simplify reporting a main resource error to DocumentLoader and
1839         FrameLoader.
1840         https://bugs.webkit.org/show_bug.cgi?id=82649
1841
1842         Reviewed by Adam Barth.
1843
1844         No new tests, no functionality change intended.
1845
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):
1858
1859 2012-03-28  Jer Noble  <jer.noble@apple.com>
1860
1861         Heap-use-after-free in WebCore::InlineFlowBox::deleteLine due to fullscreen issues.
1862         https://bugs.webkit.org/show_bug.cgi?id=82055
1863
1864         Reviewed by David Hyatt.
1865
1866         No new tests; fixes fuzz test crasher which is not reproducible in DRT or WKTR.
1867
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.
1872
1873         The same is true when unwrapping the RenderFullScreen object, and when creating and inserting
1874         the full screen placeholder.
1875
1876         * rendering/RenderFullScreen.cpp:
1877         (RenderFullScreen::wrapRenderer):
1878         (RenderFullScreen::unwrapRenderer):
1879         (RenderFullScreen::createPlaceholder):
1880
1881 2012-03-29  Benjamin Poulain  <bpoulain@apple.com>
1882
1883         Get rid of Geolocation::positionChangedInternal(), use positionChanged() directly
1884         https://bugs.webkit.org/show_bug.cgi?id=82543
1885
1886         Reviewed by Andreas Kling.
1887
1888         After the change to client based geolocation, the method positionChangedInternal()
1889         is called only by positionChanged(). This patch remove this extra indirection.
1890
1891         * Modules/geolocation/Geolocation.cpp:
1892         (WebCore::Geolocation::positionChanged):
1893         * Modules/geolocation/Geolocation.h:
1894         (Geolocation):
1895         * WebCore.order:
1896
1897 2012-03-29  Joseph Pecoraro  <pecoraro@apple.com>
1898
1899         InputType attribute changed functions should happen after the attribute change
1900         https://bugs.webkit.org/show_bug.cgi?id=82644
1901
1902         Reviewed by Benjamin Poulain.
1903
1904         * html/HTMLInputElement.cpp:
1905         (WebCore::HTMLInputElement::parseAttribute):
1906
1907 2012-03-29  Bear Travis  <betravis@adobe.com>
1908
1909         Update CSS Exclusion wrap-flow values left & right to start & end
1910         https://bugs.webkit.org/show_bug.cgi?id=82366
1911
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.
1916         
1917         Reviewed by Andreas Kling.
1918
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:
1925
1926 2012-03-29  Dirk Pranke  <dpranke@chromium.org>
1927
1928         rollout r112484, r112545, r112574
1929         https://bugs.webkit.org/show_bug.cgi?id=82662
1930
1931         Unreviewed, build fix.
1932
1933         this appears to be producing some questionable differences on
1934         the apple mac bots, and possibly one test on chromium linux.
1935
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):
1944         (WebCore):
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):
1952
1953 2012-03-29  Julien Chaffraix  <jchaffraix@webkit.org>
1954
1955         REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il
1956         https://bugs.webkit.org/show_bug.cgi?id=82129
1957
1958         Reviewed by Ojan Vafai.
1959
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
1968
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.
1973
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.
1977
1978 2012-03-29  Adam Barth  <abarth@webkit.org>
1979
1980         [Chromium] Move ResourceHandle to WebCore/platform/network/chromium
1981         https://bugs.webkit.org/show_bug.cgi?id=82657
1982
1983         Reviewed by James Robinson.
1984
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.
1990
1991         This patch is the last patch from
1992         https://github.com/abarth/webkit/compare/master...webcore-platform
1993
1994         * WebCore.gypi:
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.
2003
2004 2012-03-29  Patrick Gansterer  <paroga@webkit.org>
2005
2006         Build fix for WinCE after r112555.
2007
2008         * platform/text/wince/TextCodecWinCE.cpp:
2009         (WebCore::LanguageManager::LanguageManager):
2010
2011 2012-03-29  Anders Carlsson  <andersca@apple.com>
2012
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>
2016
2017         Reviewed by Beth Dakin.
2018
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.
2021
2022         * platform/graphics/ca/GraphicsLayerCA.cpp:
2023         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
2024
2025 2012-03-29  Adam Barth  <abarth@webkit.org>
2026
2027         Move CPP files related to ResourceHandle to WebCore/platform
2028         https://bugs.webkit.org/show_bug.cgi?id=82582
2029
2030         Reviewed by James Robinson.
2031
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
2036         WebCore/platform.
2037
2038         * WebCore.gyp/WebCore.gyp:
2039         * WebCore.gypi:
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.
2050
2051 2012-03-29  Michal Mocny  <mmocny@google.com>
2052
2053         [chromium] Ensure framebuffer exists at the start of beginDrawingFrame.
2054         https://bugs.webkit.org/show_bug.cgi?id=82569
2055
2056         Reviewed by James Robinson.
2057
2058         Updated LayerRendererChromiumTest unittests.
2059
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):
2069
2070 2012-03-29  Ryosuke Niwa  <rniwa@webkit.org>
2071
2072         Add a compile assert for the size of RenderBlock
2073         https://bugs.webkit.org/show_bug.cgi?id=82586
2074
2075         Reviewed by Tony Chang.
2076         
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.
2079
2080         * rendering/RenderBlock.cpp:
2081         (SameSizeAsRenderBlock):
2082         (WebCore):
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):
2097         (FloatingObject):
2098         (RenderBlock):
2099
2100 2012-03-29  Gavin Barraclough  <barraclough@apple.com>
2101
2102         Template the Yarr::Interpreter on the character type
2103         https://bugs.webkit.org/show_bug.cgi?id=82637
2104
2105         Reviewed by Sam Weinig.
2106
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!
2109
2110         * inspector/ContentSearchUtils.cpp:
2111         (WebCore::ContentSearchUtils::findMagicComment):
2112         * platform/text/RegularExpression.cpp:
2113         (WebCore::RegularExpression::match):
2114             - Don't pass length.
2115
2116 2012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2117
2118         Unreviewed, rolling out r112553.
2119         http://trac.webkit.org/changeset/112553
2120         https://bugs.webkit.org/show_bug.cgi?id=82638
2121
2122         It made all tests crash on Qt WK2 (Requested by Ossy_away on
2123         #webkit).
2124
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:
2132         (WebCore):
2133         * Modules/geolocation/GeolocationController.cpp:
2134         * Modules/geolocation/GeolocationController.h:
2135         * WebCore.exp.in:
2136         * page/GeolocationClient.h:
2137         (WebCore):
2138         (GeolocationClient):
2139         * page/Page.cpp:
2140         (WebCore::Page::Page):
2141         (WebCore::Page::PageClients::PageClients):
2142         * page/Page.h:
2143         (WebCore):
2144         (PageClients):
2145         (Page):
2146         (WebCore::Page::geolocationController):
2147
2148 2012-03-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2149
2150         HashMap<>::add should return a more descriptive object
2151         https://bugs.webkit.org/show_bug.cgi?id=71063
2152
2153         Reviewed by Ryosuke Niwa.
2154
2155         Update code to use AddResult instead of a pair. No new tests, just a refactoring.
2156
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:
2181         (ObjectMap::add):
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):
2208         * dom/Document.cpp:
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):
2221         * dom/Node.cpp:
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:
2294         (HTTPHeaderMap):
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):
2327
2328 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
2329
2330         Web Inspector: improve window selection accuracy in vertical overview of timeline panel
2331         https://bugs.webkit.org/show_bug.cgi?id=82625
2332
2333         Reviewed by Vsevolod Vlasov.
2334
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.
2339
2340 2012-03-29  Mark Pilgrim  <pilgrim@chromium.org>
2341
2342         GEOLOCATION should be implemented as Page Supplement
2343         https://bugs.webkit.org/show_bug.cgi?id=82228
2344
2345         Reviewed by Adam Barth.
2346
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/.
2351
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:
2359         (WebCore):
2360         * Modules/geolocation/GeolocationController.cpp:
2361         (WebCore::GeolocationController::supplementName):
2362         (WebCore):
2363         (WebCore::provideGeolocationTo):
2364         * Modules/geolocation/GeolocationController.h:
2365         (GeolocationController):
2366         (WebCore::GeolocationController::from):
2367         * WebCore.exp.in:
2368         * page/GeolocationClient.h:
2369         (WebCore):
2370         (GeolocationClient):
2371         * page/Page.cpp:
2372         (WebCore::Page::Page):
2373         (WebCore::Page::PageClients::PageClients):
2374         * page/Page.h:
2375         (WebCore):
2376         (PageClients):
2377         (Page):
2378
2379 2012-03-29  John Bates  <jbates@google.com>
2380
2381         Sync up WebKit TraceEvent.h with chromium trace_event.h
2382         https://bugs.webkit.org/show_bug.cgi?id=82527
2383
2384         Reviewed by James Robinson.
2385
2386         * platform/chromium/TraceEvent.h:
2387
2388 2012-03-29  Pavel Feldman  <pfeldman@chromium.org>
2389
2390         Web Inspector: subtree disapears from <iframe> after loading
2391         https://bugs.webkit.org/show_bug.cgi?id=76552
2392
2393         Reviewed by Yury Semikhatsky.
2394
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.
2398
2399         Test: inspector/elements/iframe-load-event.html
2400
2401         * inspector/InspectorDOMAgent.cpp:
2402         (WebCore::InspectorDOMAgent::loadEventFired):
2403
2404 2012-03-29  Dana Jansens  <danakj@chromium.org>
2405
2406         [chromium] Remove unneeded code+fixmes from CCOcclusionTracker
2407         https://bugs.webkit.org/show_bug.cgi?id=82380
2408
2409         Reviewed by Adrienne Walker.
2410
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
2414         test subclass.
2415
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.
2419
2420         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2421         (WebCore):
2422         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
2423
2424 2012-03-29  Joseph Pecoraro  <pecoraro@apple.com>
2425
2426         <http://webkit.org/b/82558> Toggling <input type="range"> readonly or disabled state while active breaks all click events
2427
2428         Test: fast/forms/range/range-drag-when-toggled-disabled.html
2429
2430         Reviewed by Kent Tamura.
2431
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.
2436
2437 2012-03-29  Adam Klein  <adamk@chromium.org>
2438
2439         Factor out common post-insertion logic in ContainerNode
2440         https://bugs.webkit.org/show_bug.cgi?id=82544
2441
2442         Reviewed by Ryosuke Niwa.
2443
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.
2448
2449         Besides reducing code duplication, this is in preparation for moving
2450         this post-insertion notification later in the insertion process.
2451
2452         No new tests, no change in behavior.
2453
2454         * dom/ContainerNode.cpp:
2455         (WebCore):
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.
2460
2461 2012-03-29  Tony Chang  <tony@chromium.org>
2462
2463         Need to implement flex-line-pack
2464         https://bugs.webkit.org/show_bug.cgi?id=70794
2465
2466         Reviewed by Ojan Vafai.
2467
2468         Tests: css3/flexbox/multiline-line-pack-horizontal-column.html
2469                css3/flexbox/multiline-line-pack.html
2470
2471         * rendering/RenderFlexibleBox.cpp:
2472         (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
2473         (WebCore::initialLinePackingOffset): Similar to initialPackingOffset.
2474         (WebCore):
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:
2483
2484 2012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
2485
2486         Web Inspector: SnippetsScriptMapping should process existing snippets on load.
2487         https://bugs.webkit.org/show_bug.cgi?id=82619
2488
2489         Reviewed by Pavel Feldman.
2490
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.
2494
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):
2500
2501 2012-03-29  Yury Semikhatsky  <yurys@chromium.org>
2502
2503         Web Inspector: check more likely condition first in HeapSnapshot._buildAggregates
2504         https://bugs.webkit.org/show_bug.cgi?id=82621
2505
2506         Reviewed by Pavel Feldman.
2507
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.
2514
2515 2012-03-29  Pavel Feldman  <pfeldman@chromium.org>
2516
2517         Web Inspector: "go to the previous panel" shortcut is painful to maintain
2518         https://bugs.webkit.org/show_bug.cgi?id=82602
2519
2520         Reviewed by Vsevolod Vlasov.
2521
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 - [ (]) ).
2525
2526         Drive-by: de-capitalize captions from the settings panel.
2527
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):
2539
2540 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
2541
2542         Unreviewed, rolling out r112531.
2543         http://trac.webkit.org/changeset/112531
2544         https://bugs.webkit.org/show_bug.cgi?id=82616
2545
2546         Broke timeline overview selection
2547
2548         * inspector/front-end/TimelineOverviewPane.js:
2549         (WebInspector.TimelineOverviewWindow):
2550
2551 2012-03-28  Dirk Schulze  <krit@webkit.org>
2552
2553         Introduce CSSParserMode in all classes
2554         https://bugs.webkit.org/show_bug.cgi?id=82335
2555
2556         Reviewed by Ryosuke Niwa.
2557
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.
2560
2561         No new tests. No change of functionality. Everything gets covered by existing tests.
2562
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.
2568         (WebCore):
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.
2579         (CSSParser):
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.
2583         * css/CSSRule.h:
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:
2591         (CSSStyleSheet):
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.
2606         (StylePropertySet):
2607         * css/StyleSheet.h:
2608         (StyleSheet):
2609         * css/WebKitCSSKeyframesRule.cpp:
2610         (WebCore::WebKitCSSKeyframesRule::insertRule):
2611         * css/WebKitCSSMatrix.cpp:
2612         (WebCore::WebKitCSSMatrix::setMatrixValue):
2613         * dom/Document.cpp:
2614         (WebCore::Document::webkitGetFlowByName):
2615         (WebCore::Document::pageUserSheet):
2616         (WebCore::Document::pageGroupUserSheets):
2617         * dom/Element.cpp:
2618         (WebCore::Element::webkitMatchesSelector):
2619         * dom/ElementAttributeData.cpp:
2620         (WebCore::ElementAttributeData::ensureInlineStyle):
2621         (WebCore::ElementAttributeData::ensureMutableInlineStyle):
2622         (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
2623         * dom/Node.cpp:
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:
2647         (XSLStyleSheet):
2648         * xml/XSLStyleSheetLibxslt.cpp:
2649         (WebCore::XSLStyleSheet::parseString):
2650         * xml/XSLStyleSheetQt.cpp:
2651         (WebCore::XSLStyleSheet::parseString):
2652
2653 2012-03-29  Sanghyun Park  <sh919.park@samsung.com>
2654
2655         Fix the error type in JSAudioBufferSourceNodeCustom to pass layout test.
2656         https://bugs.webkit.org/show_bug.cgi?id=81639
2657
2658         Reviewed by Eric Carlson.
2659
2660         Test : LayoutTest/webaudio/audiobuffersource-channels.html
2661
2662         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
2663
2664 2012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
2665
2666         Web Inspector: Existing UISourceCode should be loaded on scripts panel creation/reset.
2667         https://bugs.webkit.org/show_bug.cgi?id=82614
2668
2669         Reviewed by Pavel Feldman.
2670
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.
2673
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):
2681
2682 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
2683
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
2686
2687         Reviewed by Pavel Feldman.
2688
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):
2692
2693 2012-03-29  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
2694
2695         Unavailable pre-processor macro in non-Qt environments
2696         https://bugs.webkit.org/show_bug.cgi?id=82042
2697
2698         Reviewed by Simon Hausmann.
2699
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
2703         expressed directly.
2704
2705         * platform/graphics/texmap/TextureMapperGL.cpp:
2706         (SharedGLData): remove pre-processor macro for Qt version check.
2707
2708 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
2709
2710         Web Inspector: event details popover in Timeline panel displays invalid time offset
2711         https://bugs.webkit.org/show_bug.cgi?id=82611
2712
2713         Reviewed by Pavel Feldman.
2714
2715         * inspector/front-end/TimelinePresentationModel.js:
2716         (WebInspector.TimelinePresentationModel.prototype.addRecord): use time in seconds, not raw model time for minimumRecordTime.
2717
2718 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
2719
2720         Web Inspector: use canvas to render bars in "vertical overview" mode
2721         https://bugs.webkit.org/show_bug.cgi?id=82606
2722
2723         Reviewed by Pavel Feldman.
2724
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):
2733
2734 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
2735
2736         Web Inspector: timeline overview window selection is not reset upon clear/record
2737         https://bugs.webkit.org/show_bug.cgi?id=82603
2738
2739         Reviewed by Pavel Feldman.
2740
2741         - TimelineOverviewPane.reset() -> _reset();
2742         - perform update() from reset();
2743         - perform reset() upon RecordsCleared event from the model.
2744
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):
2755
2756 2012-03-29  Zalan Bujtas  <zbujtas@gmail.com>
2757
2758         Remove redundant updateViewportArguments() call when page is restored from page cache.
2759         https://bugs.webkit.org/show_bug.cgi?id=82500
2760
2761         Reviewed by Kenneth Rohde Christiansen.
2762
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.
2767
2768         Manual test added. Viewport value updates heavily depend on UI process code.
2769
2770         * dom/Document.cpp:
2771         (WebCore::Document::documentDidResumeFromPageCache):
2772
2773 2012-03-29  Charles Wei  <charles.wei@torchmobile.com.cn>
2774
2775         [BlackBerry] Add Internal test support for blackberry porting.
2776         https://bugs.webkit.org/show_bug.cgi?id=82597
2777
2778         Reviewed by Rob Buis.
2779
2780         No new tests, just the build system enhancement for BlackBerry porting.
2781
2782         * UseJSC.cmake:
2783
2784 2012-03-28  Yury Semikhatsky  <yurys@chromium.org>
2785
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
2788
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.
2795
2796         Reviewed by Pavel Feldman.
2797
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):
2824
2825 2012-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
2826
2827         [BlackBerry] Add m_targetType to WorkerScriptLoader
2828         https://bugs.webkit.org/show_bug.cgi?id=82574
2829
2830         Reviewed by Rob Buis.
2831
2832         Just as Chromium porting blackberry porting is using m_targetType also.
2833
2834         * workers/WorkerScriptLoader.h:
2835         (WorkerScriptLoader):
2836
2837 2012-03-29  Robin Cao  <robin.cao@torchmobile.com.cn>
2838
2839         [BlackBerry] Add an empty implementation of GraphicsContext3D::setErrorMessageCallback
2840         https://bugs.webkit.org/show_bug.cgi?id=82570
2841
2842         Reviewed by Rob Buis.
2843
2844         No new tests, no change in functionality.
2845
2846         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
2847         (WebCore::GraphicsContext3D::setErrorMessageCallback): Add an empty implementation.
2848         (WebCore):
2849
2850 2012-03-29  Robin Cao  <robin.cao@torchmobile.com.cn>
2851
2852         [BlackBerry] Clean up ImageBufferData
2853         https://bugs.webkit.org/show_bug.cgi?id=82444
2854
2855         Reviewed by Rob Buis.
2856
2857         No behavior changes, no new tests.
2858
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.
2862
2863 2012-03-28  Antti Koivisto  <antti@apple.com>
2864
2865         Split WebKitCSSKeyframeRule into internal and CSSOM types 
2866         https://bugs.webkit.org/show_bug.cgi?id=82490 
2867
2868         Reviewed by Andreas Kling.
2869
2870         WebKitCSSKeyframeRule is a CSSOM type and should not be used internally.
2871         
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.
2875
2876         * css/CSSGrammar.y:
2877         
2878             Use StyleKeyframes instead of WebKitCSSKeyframeRules.
2879         
2880         * css/CSSMediaRule.h:
2881         (CSSMediaRule):
2882         (WebCore::CSSMediaRule::length):
2883         (WebCore::CSSMediaRule::item):
2884         
2885             Adapt to LiveCSSRuleList changes.
2886         
2887         * css/CSSParser.cpp:
2888         (WebCore::CSSParser::parseKeyframeRule):
2889         (WebCore::CSSParser::createKeyframe):
2890         * css/CSSParser.h:        
2891         (WebCore):
2892         (CSSParser):
2893         
2894             Construct StyleKeyframes.
2895         
2896         * css/CSSRuleList.h:
2897         (WebCore::LiveCSSRuleList::length):
2898         (WebCore::LiveCSSRuleList::item):
2899
2900             Make LiveCSSRuleList call rule item()/length() to avoid accessor duplication.
2901     
2902         * css/CSSStyleSelector.cpp:
2903         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2904         * css/CSSStyleSelector.h:
2905         (CSSStyleSelector):
2906         * css/WebKitCSSKeyframeRule.cpp:
2907         
2908             Use StyleKeyframe.
2909             Make 0% and 100% keyframes static.
2910         
2911         (WebCore):
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:
2919         (WebCore):
2920         (WebCore::StyleKeyframe::create):
2921         (WebCore::StyleKeyframe::keyText):
2922         (WebCore::StyleKeyframe::setKeyText):
2923         (StyleKeyframe):
2924         (WebCore::StyleKeyframe::properties):
2925         (WebCore::StyleKeyframe::StyleKeyframe):
2926         (WebKitCSSKeyframeRule):
2927         (WebCore::WebKitCSSKeyframeRule::keyText):
2928         (WebCore::WebKitCSSKeyframeRule::setKeyText):
2929         (WebCore::WebKitCSSKeyframeRule::cssText):
2930         
2931             Split to internal and CSSOM wrapper type. The wrapper refs StyleKeyframe. 
2932         
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):
2941         (WebCore):
2942         (WebCore::WebKitCSSKeyframesRule::item):
2943         * css/WebKitCSSKeyframesRule.h:
2944         (WebCore):
2945         (WebCore::WebKitCSSKeyframesRule::keyframes):
2946         (WebKitCSSKeyframesRule):
2947         (WebCore::WebKitCSSKeyframesRule::length):
2948         
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.
2952         
2953         * css/WebKitCSSRegionRule.h:
2954         
2955             Adapt to LiveCSSRuleList changes.
2956
2957 2012-03-29  Zeno Albisser  <zeno@webkit.org>
2958
2959         Fieldset disabled attribute does not work.
2960         https://bugs.webkit.org/show_bug.cgi?id=58837
2961
2962         Make HTMLFormControlElements inherit the disabled state
2963         from HTMLFieldSetElement ancestors. Subordinates of the
2964         first HTMLLegendElement in a fieldset will never be disabled.
2965
2966         Patch by Zeno Albisser <zeno@webkit.org>
2967
2968         Test: fast/forms/fieldset-disabled.html
2969
2970         Reviewed by Kent Tamura.
2971
2972         * html/HTMLFieldSetElement.cpp:
2973         (WebCore::HTMLFieldSetElement::disabledAttributeChanged):
2974         (WebCore):
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):
2982         (WebCore):
2983         (WebCore::HTMLFormControlElement::parseAttribute):
2984         (WebCore::HTMLFormControlElement::disabledAttributeChanged):
2985         (WebCore::HTMLFormControlElement::removedFromTree):
2986         (WebCore::HTMLFormControlElement::disabled):
2987         * html/HTMLFormControlElement.h:
2988         (WebCore):
2989         (HTMLFormControlElement):
2990
2991 2012-03-29  Tommy Widenflycht  <tommyw@google.com>
2992
2993         MediaStream API: Adding two missing release() calls to PeerConnection00.cpp
2994         https://bugs.webkit.org/show_bug.cgi?id=82584
2995
2996         Reviewed by Adam Barth.
2997
2998         No changes that affects functionality.
2999
3000         * Modules/mediastream/PeerConnection00.cpp:
3001         (WebCore::PeerConnection00::createOffer):
3002         (WebCore::PeerConnection00::createAnswer):
3003
3004 2012-03-29  Ryosuke Niwa  <rniwa@webkit.org>
3005
3006         Pack bitfields in InlineBox for Windows
3007         https://bugs.webkit.org/show_bug.cgi?id=82578
3008
3009         Reviewed by Kent Tamura.
3010
3011         Unlike gcc and clang, MSVC pads each consecutive member variables of the same type in bitfields. e.g. if you have:
3012         sturct AB {
3013         unsigned m_1 : 31;
3014         bool m_2 : 1;
3015         }
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.
3018
3019         Fixed the bug by packing all bitfields in InlineBox into InlineBoxBitfields and always using either unsigned or int.
3020
3021         * rendering/EllipsisBox.cpp:
3022         (WebCore::EllipsisBox::paint):
3023         (WebCore::EllipsisBox::selectionRect):
3024         (WebCore::EllipsisBox::nodeAtPoint):
3025         * rendering/InlineBox.cpp:
3026         (WebCore):
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):
3049         (InlineBox):
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:
3114         (InlineTextBox):
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:
3128         (RootInlineBox):
3129         * rendering/svg/SVGInlineTextBox.cpp:
3130         (WebCore::SVGInlineTextBox::constructTextRun):
3131         * rendering/svg/SVGRenderTreeAsText.cpp:
3132         (WebCore::writeSVGInlineTextBox):
3133
3134 2012-03-29  hayato@chromium.org  <hayato@chromium.org>
3135
3136         Let focus navigation be compliant with Shadow DOM spec.
3137         https://bugs.webkit.org/show_bug.cgi?id=78588
3138
3139         Reviewed by Dimitri Glazkov.
3140
3141         Re-landing r112500. Fixed an assertion failure on ReifiedTreeTraversal.
3142
3143         Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.
3144
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.
3149
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.
3153
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.
3162
3163         This change does not affect an existing behavior if a shadow dom is not involved.
3164
3165         Test: fast/dom/shadow/focus-navigation.html
3166
3167         * dom/Element.cpp:
3168         (WebCore::Element::focus):
3169         * dom/ReifiedTreeTraversal.cpp:
3170         (WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
3171         * page/FocusController.cpp:
3172         (WebCore::isShadowHost):
3173         (WebCore):
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:
3196         (WebCore):
3197         (FocusScope):
3198         (FocusController):
3199
3200 2012-03-28  Kinuko Yasuda  <kinuko@chromium.org>
3201
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
3204
3205         Add two helper methods for creating isolated filesystem to the
3206         PlatformSupport interface.
3207
3208         Reviewed by David Levin.
3209
3210         No new tests: tests will be added when app-facing code is added.
3211
3212         * platform/chromium/PlatformSupport.h:
3213         (PlatformSupport):
3214
3215 2012-03-29  Vineet Chaudhary  <rgf748@motorola.com>
3216
3217         Remove custom bindings form Internals.idl of attribute type Array.
3218         https://bugs.webkit.org/show_bug.cgi?id=82319
3219
3220         Reviewed by Kentaro Hara.
3221
3222         Remove custom bindings for Array type and replace Array type with sequence<String>.
3223
3224         No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
3225         even after these changes.
3226
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:
3234         (WebCore):
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.
3247         (WebCore):
3248         (WebCore::v8Array):
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.
3253
3254 2012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
3255
3256         Unreviewed, rolling out r112500.
3257         http://trac.webkit.org/changeset/112500
3258         https://bugs.webkit.org/show_bug.cgi?id=82576
3259
3260         assertion failed on fast/events/tab-test-not-visible-
3261         imagemap.html on gtk/qt (Requested by hayato on #webkit).
3262
3263         * dom/Element.cpp:
3264         (WebCore::Element::focus):
3265         * page/FocusController.cpp:
3266         (WebCore):
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:
3283         (WebCore):
3284         (FocusController):
3285
3286 2012-03-28  Kent Tamura  <tkent@chromium.org>
3287
3288         Add TextFieldDecorationElement::decorate()
3289         https://bugs.webkit.org/show_bug.cgi?id=82572
3290
3291         Reviewed by Hajime Morita.
3292
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.
3296
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):
3302         Added.
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().
3307
3308 2012-03-28  Vineet Chaudhary  <rgf748@motorola.com>
3309
3310         Consider removal of removes jsNull()/v8::Null() from JSInternalsCustom.cpp/V8InternalsCustom.cpp
3311         https://bugs.webkit.org/show_bug.cgi?id=82442
3312
3313         Reviewed by Kentaro Hara.
3314
3315         No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
3316         even after these changes.
3317
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):
3322
3323 2012-03-28  Hayato Ito  <hayato@chromium.org>
3324
3325         Let focus navigation be compliant with Shadow DOM spec.
3326         https://bugs.webkit.org/show_bug.cgi?id=78588
3327
3328         Reviewed by Dimitri Glazkov.
3329
3330         Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.
3331
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.
3336
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.
3340
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.
3349
3350         This change does not affect an existing behavior if a shadow dom is not involved.
3351
3352         Test: fast/dom/shadow/focus-navigation.html
3353
3354         * dom/Element.cpp:
3355         (WebCore::Element::focus):
3356         * page/FocusController.cpp:
3357         (WebCore::isShadowHost):
3358         (WebCore):
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:
3381         (WebCore):
3382         (FocusScope):
3383         (FocusController):
3384
3385 2012-03-28  Li Yin  <li.yin@intel.com>
3386
3387         [WebSocket]Browser must fail connection if Sec-WebSocket-Protocol mismatched.
3388         https://bugs.webkit.org/show_bug.cgi?id=82307
3389
3390         Reviewed by Kent Tamura.
3391
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.
3395
3396         Test: http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html
3397
3398         * Modules/websockets/WebSocketHandshake.cpp:
3399         (WebCore::WebSocketHandshake::checkResponseHeaders):
3400
3401 2012-03-28  Jessie Berlin  <jberlin@apple.com>
3402
3403         Fix Windows build after r112482.
3404
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.
3408
3409 2012-03-28  Alexandru Chiculita  <achicu@adobe.com>
3410
3411         [CSS Filters] Avoid rebuilding FEFilters when RenderLayer is destroyed
3412         https://bugs.webkit.org/show_bug.cgi?id=82524
3413
3414         Reviewed by Dean Jackson.
3415
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.
3419
3420         No new tests. This change has no visible results to HTML or JavaScript, so it cannot be tested without a debugger.
3421
3422         * rendering/RenderLayer.cpp:
3423         (WebCore::RenderLayer::~RenderLayer):
3424         (WebCore::RenderLayer::clearBacking):
3425         * rendering/RenderLayer.h:
3426         (RenderLayer):
3427
3428 2012-03-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3429
3430         Remove ScriptExecutionContext from NavigatorBattery.idl
3431         https://bugs.webkit.org/show_bug.cgi?id=82556
3432
3433         Reviewed by Adam Barth.
3434
3435         As Bug 73528 comment #71, NavigatorBattery.idl doesn't need to have ScriptExecutionContext.
3436         Document can be used instead of ScriptExecutionContext.
3437
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
3445
3446         * Modules/battery/BatteryManager.cpp:
3447         (WebCore::BatteryManager::create):
3448         (WebCore::BatteryManager::BatteryManager):
3449         * Modules/battery/BatteryManager.h:
3450         (BatteryManager):
3451         * Modules/bat