e0b80d40b02c61cdaea1ad3cb7b7bb78fa5f32d3
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-09-21  Kenneth Russell  <kbr@google.com>
2
3         [V8] ArrayBuffer code should not pass a negative length to SetIndexedPropertiesToExternalArrayData()
4         https://bugs.webkit.org/show_bug.cgi?id=96703
5
6         Reviewed by Adam Barth.
7
8         Check length arguments that may be passed to SetIndexedPropertiesToExternalArrayData.
9
10         No tests because it is not guaranteed that buffers this large can actually be allocated.
11
12         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
13         (WebCore::wrapArrayBufferView):
14         (WebCore::constructWebGLArrayWithArrayBufferArgument):
15         (WebCore::constructWebGLArray):
16
17 2012-09-24  Antti Koivisto  <antti@apple.com>
18
19         Split stylesheet related code out from Document 
20         https://bugs.webkit.org/show_bug.cgi?id=97353
21
22         Reviewed by Andreas Kling.
23
24         Document is big and unwieldy. The code related to tracking active stylesheets can be factored out.
25         
26         The patch moves stylesheet upkeep, collection and invalidation code from Document to a separate
27         DocumentStyleSheetCollection class. There are no functional changes.
28         
29         The usesLinkRules stylesheet feature bit and the related code is removed as no one was using it.
30
31         * WebCore.xcodeproj/project.pbxproj:
32         * css/SelectorChecker.cpp:
33         (WebCore::SelectorChecker::checkOneSelector):
34         * css/StyleResolver.cpp:
35         (WebCore::StyleResolver::StyleResolver):
36         (WebCore::StyleResolver::Features::Features):
37         (WebCore::StyleResolver::Features::add):
38         (WebCore::StyleResolver::Features::clear):
39         (WebCore::StyleResolver::collectMatchingRulesForList):
40         * css/StyleResolver.h:
41         (WebCore::StyleResolver::usesBeforeAfterRules):
42         (Features):
43         * dom/Document.cpp:
44         (WebCore::Document::Document):
45         (WebCore::Document::~Document):
46         (WebCore::Document::setCompatibilityMode):
47         (WebCore::Document::recalcStyle):
48         (WebCore):
49         (WebCore::Document::createStyleResolver):
50         (WebCore::Document::seamlessParentUpdatedStylesheets):
51         (WebCore::Document::didRemoveAllPendingStylesheet):
52         (WebCore::Document::processHttpEquiv):
53         (WebCore::Document::styleSheets):
54         (WebCore::Document::preferredStylesheetSet):
55         (WebCore::Document::selectedStylesheetSet):
56         (WebCore::Document::setSelectedStylesheetSet):
57         (WebCore::Document::styleResolverChanged):
58         (WebCore::Document::reportMemoryUsage):
59         (WebCore::Document::haveStylesheetsLoaded):
60         * dom/Document.h:
61         (WebCore):
62         (Document):
63         (WebCore::Document::styleSheetCollection):
64         (WebCore::Document::hasNodesWithPlaceholderStyle):
65         (WebCore::Document::setNeedsNotifyRemoveAllPendingStylesheet):
66         (WebCore::Document::inStyleRecalc):
67         * dom/DocumentStyleSheetCollection.cpp: Added.
68         (WebCore):
69         (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
70         (WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
71         (WebCore::DocumentStyleSheetCollection::pageUserSheet):
72         (WebCore::DocumentStyleSheetCollection::clearPageUserSheet):
73         (WebCore::DocumentStyleSheetCollection::updatePageUserSheet):
74         (WebCore::DocumentStyleSheetCollection::pageGroupUserSheets):
75         (WebCore::DocumentStyleSheetCollection::clearPageGroupUserSheets):
76         (WebCore::DocumentStyleSheetCollection::updatePageGroupUserSheets):
77         (WebCore::DocumentStyleSheetCollection::addUserSheet):
78         (WebCore::DocumentStyleSheetCollection::removePendingSheet):
79         (WebCore::DocumentStyleSheetCollection::addStyleSheetCandidateNode):
80         (WebCore::DocumentStyleSheetCollection::removeStyleSheetCandidateNode):
81         (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
82         (WebCore::DocumentStyleSheetCollection::testAddedStyleSheetRequiresStyleRecalc):
83         (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
84         (WebCore::styleSheetsUseRemUnits):
85         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
86         (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
87         (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):
88         (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
89         * dom/DocumentStyleSheetCollection.h: Added.
90         (WebCore):
91         (DocumentStyleSheetCollection):
92         (WebCore::DocumentStyleSheetCollection::authorStyleSheets):
93         (WebCore::DocumentStyleSheetCollection::documentUserSheets):
94         (WebCore::DocumentStyleSheetCollection::needsUpdateActiveStylesheetsOnStyleRecalc):
95         (WebCore::DocumentStyleSheetCollection::preferredStylesheetSetName):
96         (WebCore::DocumentStyleSheetCollection::selectedStylesheetSetName):
97         (WebCore::DocumentStyleSheetCollection::setPreferredStylesheetSetName):
98         (WebCore::DocumentStyleSheetCollection::setSelectedStylesheetSetName):
99         (WebCore::DocumentStyleSheetCollection::addPendingSheet):
100         (WebCore::DocumentStyleSheetCollection::hasPendingSheets):
101         (WebCore::DocumentStyleSheetCollection::usesSiblingRules):
102         (WebCore::DocumentStyleSheetCollection::setUsesSiblingRulesOverride):
103         (WebCore::DocumentStyleSheetCollection::usesFirstLineRules):
104         (WebCore::DocumentStyleSheetCollection::usesFirstLetterRules):
105         (WebCore::DocumentStyleSheetCollection::setUsesFirstLetterRules):
106         (WebCore::DocumentStyleSheetCollection::usesBeforeAfterRules):
107         (WebCore::DocumentStyleSheetCollection::setUsesBeforeAfterRulesOverride):
108         (WebCore::DocumentStyleSheetCollection::usesRemUnits):
109         (WebCore::DocumentStyleSheetCollection::setUsesRemUnit):
110         * dom/Element.cpp:
111         (WebCore::Element::recalcStyle):
112         * dom/ProcessingInstruction.cpp:
113         (WebCore::ProcessingInstruction::~ProcessingInstruction):
114         (WebCore::ProcessingInstruction::checkStyleSheet):
115         (WebCore::ProcessingInstruction::sheetLoaded):
116         (WebCore::ProcessingInstruction::insertedInto):
117         (WebCore::ProcessingInstruction::removedFrom):
118         * dom/StyleElement.cpp:
119         (WebCore::StyleElement::insertedIntoDocument):
120         (WebCore::StyleElement::removedFromDocument):
121         (WebCore::StyleElement::clearDocumentData):
122         (WebCore::StyleElement::createSheet):
123         (WebCore::StyleElement::sheetLoaded):
124         (WebCore::StyleElement::startLoadingDynamicSheet):
125         * html/HTMLLinkElement.cpp:
126         (WebCore::HTMLLinkElement::~HTMLLinkElement):
127         (WebCore::HTMLLinkElement::insertedInto):
128         (WebCore::HTMLLinkElement::removedFrom):
129         (WebCore::HTMLLinkElement::addPendingSheet):
130         (WebCore::HTMLLinkElement::removePendingSheet):
131         * html/HTMLQuoteElement.cpp:
132         (WebCore::HTMLQuoteElement::insertedInto):
133         * html/HTMLViewSourceDocument.cpp:
134         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
135         * mathml/MathMLMathElement.cpp:
136         (WebCore::MathMLMathElement::insertedInto):
137         * page/Page.cpp:
138         (WebCore::Page::userStyleSheetLocationChanged):
139         * page/PageGroup.cpp:
140         (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
141         * rendering/RenderBR.cpp:
142         (WebCore::RenderBR::lineHeight):
143         * rendering/RenderBlock.cpp:
144         (WebCore::RenderBlock::styleDidChange):
145         (WebCore::RenderBlock::splitBlocks):
146         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
147         (WebCore::RenderBlock::lineHeight):
148         (WebCore::RenderBlock::updateFirstLetter):
149         * rendering/RenderInline.cpp:
150         (WebCore::RenderInline::styleDidChange):
151         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
152         (WebCore::RenderInline::addChildIgnoringContinuation):
153         (WebCore::RenderInline::splitInlines):
154         (WebCore::RenderInline::lineHeight):
155         * rendering/RenderObject.cpp:
156         (WebCore::RenderObject::uncachedFirstLineStyle):
157         (WebCore::RenderObject::firstLineStyleSlowCase):
158         * rendering/RenderObject.h:
159         (WebCore::RenderObject::firstLineStyle):
160         * rendering/RenderObjectChildList.cpp:
161         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
162         * rendering/RenderTableRow.cpp:
163         (WebCore::RenderTableRow::updateBeforeAndAfterContent):
164         * rendering/RootInlineBox.cpp:
165         (WebCore::RootInlineBox::verticalPositionForBox):
166
167 2012-09-24  Otto Derek Cheung  <otcheung@rim.com>
168
169         [BlackBerry] Reverting implementation for 407 error pages
170         https://bugs.webkit.org/show_bug.cgi?id=97455
171
172         Reviewed by Rob Buis.
173
174         Revert "[BlackBerry] Reverting implementation for 407 error pages"
175         This reverts commit fda0a1b6ac40c06c03bb6293b4a7d7353c3ca238.
176
177         This revert also reverts commit 0cffe01961fb80204138505bcec29a83818efb73
178         due to dependency issues.
179
180         * PlatformBlackBerry.cmake:
181         * platform/blackberry/AuthenticationChallengeManager.cpp: Removed.
182         * platform/blackberry/AuthenticationChallengeManager.h:
183         * platform/blackberry/PageClientBlackBerry.h:
184         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
185         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
186         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
187         (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
188         (WebCore::MediaPlayerPrivate::notifyChallengeResult):
189         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
190         (MediaPlayerPrivate):
191         * platform/network/blackberry/NetworkJob.cpp:
192         (WebCore::NetworkJob::NetworkJob):
193         (WebCore::NetworkJob::handleNotifyStatusReceived):
194         (WebCore::NetworkJob::notifyAuthReceived):
195         (WebCore::NetworkJob::handleNotifyClose):
196         (WebCore::NetworkJob::sendRequestWithCredentials):
197         (WebCore::NetworkJob::notifyChallengeResult):
198         * platform/network/blackberry/NetworkJob.h:
199         (NetworkJob):
200
201 2012-09-24  Chris Rogers  <crogers@google.com>
202
203         [REGRESSION] Layout Test webaudio/biquad-getFrequencyResponse.html is failing
204         https://bugs.webkit.org/show_bug.cgi?id=97439
205
206         Reviewed by Kenneth Russell.
207
208         Fixes uninitialized member variable.
209
210         This should fix flaky failing test: webaudio/biquad-getFrequencyResponse.html
211
212         * Modules/webaudio/BiquadProcessor.cpp:
213         (WebCore::BiquadProcessor::BiquadProcessor):
214
215 2012-09-24  Tony Chang  <tony@chromium.org>
216
217         flex-grow should be 1 when omitted from flex shorthand
218         https://bugs.webkit.org/show_bug.cgi?id=97480
219
220         Reviewed by Ojan Vafai.
221
222         We were using 0, based on an outdated version of the spec.
223
224         Tests: css3/flexbox/flex-property-parsing.html
225                css3/flexbox/flex-algorithm.html: New test case.
226
227         * css/CSSParser.cpp:
228         (WebCore::CSSParser::parseFlex):
229
230 2012-09-24  Benjamin Poulain  <benjamin@webkit.org>
231
232         Add support for query encoding to WTFURL
233         https://bugs.webkit.org/show_bug.cgi?id=97422
234
235         Reviewed by Adam Barth.
236
237         Add the Charset conversion on WebCore side.
238
239         * platform/KURLWTFURL.cpp:
240         (WebCore::KURL::KURL):
241         (CharsetConverter):
242         (WebCore::CharsetConverter::CharsetConverter):
243         * platform/mac/KURLMac.mm:
244         (WebCore::KURL::KURL):
245
246 2012-09-24  Benjamin Poulain  <benjamin@webkit.org>
247
248         Integrate most of GoogleURL in WTFURL
249         https://bugs.webkit.org/show_bug.cgi?id=97405
250
251         Reviewed by Adam Barth.
252
253         Loosen KURLWTFURL to be able to run most tests in Debug.
254
255         * platform/KURLWTFURL.cpp:
256         (WebCore::KURL::KURL):
257         (WebCore::KURL::hasPort):
258         (WebCore::KURL::user):
259         (WebCore::KURL::pass):
260         (WebCore::KURL::hasPath):
261         (WebCore::KURL::path):
262         (WebCore::KURL::query):
263         (WebCore::KURL::fragmentIdentifier):
264         (WebCore::KURL::fileSystemPath):
265
266 2012-09-24  Hans Muller  <hmuller@adobe.com>
267
268         [CSS Exclusions] ExclusionShape API should use logical coordinates for input/output
269         https://bugs.webkit.org/show_bug.cgi?id=96156
270
271         Reviewed by Dirk Schulze.
272
273         Correct how ExclusionShapes deal with logical coordinates and enable
274         shape-inside exclusion layout for vertical writing-modes.
275
276         BasicShape's are defined in physical cooordinates, incoming line and box
277         dimensions are logical coordinates, and the ExclusionShape internals assume
278         that lines are aligned with the Y axis. The createExclusionShape() method
279         is responsible for converting the BasicShape to the internal coordinate
280         system when the writing-mode is vertical. Similarly, the getInclude,ExcludedIntervals()
281         methods are responsible for converting their logical line parameters to Y
282         values in the internal coordinate system. The min,maxYForLogicalLine()
283         methods do the conversion, based on the WritingMode the ExclusionShape
284         was created with. The getInclude,ExcludedIntervals() methods return the
285         logical left and right edges of line segments. No transformation is needed for this.
286
287         The ExclusionShape's internal coordinate system is essentially the
288         "logical" one, except that top/bottom always map to Y, no matter what
289         the writing-mode is.  This is just to simplify writing geometrical shape
290         algorithms, notably the complex ones for polygons. The bug report includes a
291         pair of diagrams that clarify how internal coordinates are related to logical
292         and physical coordinates.
293
294         Test: fast/exclusions/shape-inside/shape-inside-vertical-text.html
295
296         * rendering/ExclusionRectangle.cpp:
297         (WebCore::ExclusionRectangle::getExcludedIntervals): rename more accurately reflects return value
298         (WebCore::ExclusionRectangle::getIncludedIntervals): rename for consistency with "excluded" version
299         * rendering/ExclusionRectangle.h:
300         * rendering/ExclusionShape.cpp:
301         (WebCore):
302         (WebCore::ExclusionShape::createExclusionShape):
303         * rendering/ExclusionShape.h:
304         (LineSegment):
305         (WebCore::LineSegment::LineSegment): relocated from WrapShapeInfo.h
306         (WebCore):
307         (ExclusionShape):
308         (WebCore::ExclusionShape::minYForLogicalLine):
309         (WebCore::ExclusionShape::maxYForLogicalLine):
310         (WebCore::ExclusionShape::internalToLogicalBoundingBox):
311         * rendering/WrapShapeInfo.cpp:
312         (WebCore::WrapShapeInfo::isWrapShapeInfoEnabledForRenderBlock):
313         (WebCore::WrapShapeInfo::computeShapeSize): pass writingMode to createExclusionShape()
314         (WebCore::WrapShapeInfo::computeSegmentsForLine): removed short-circuit for vertical writing-modes
315         * rendering/WrapShapeInfo.h:
316         (WebCore):
317
318 2012-09-24  Tony Chang  <tony@chromium.org>
319
320         Replace RenderMeter::updateLogicalHeight to RenderMeter::computeLogicalHeight
321         https://bugs.webkit.org/show_bug.cgi?id=97475
322
323         Reviewed by Ojan Vafai.
324
325         Using RenderMeter::computeLogicalHeight is part of bug 96804.
326         Also fix some code to be vertical writing mode aware. This doesn't actually cause
327         a behavioral difference because we use percentage heights/widths which don't depend on
328         updateLogicalWidth or computeLogicalHeight.  You can still see bugs if you try to set
329         the min-width on a <meter> node in a vertical writing mode.
330
331         No new tests, no behavioral changes.
332
333         * rendering/RenderMeter.cpp:
334         (WebCore::RenderMeter::updateLogicalWidth): Make vertical writing mode aware.
335         (WebCore::RenderMeter::computeLogicalHeight): Switch from updateLogicalHeight and make vertical writing mode aware.
336         * rendering/RenderMeter.h:
337         (RenderMeter):
338
339 2012-09-24  Dimitri Glazkov  <dglazkov@chromium.org>
340
341         Remove unbaked support for :scope pseudo-class.
342         https://bugs.webkit.org/show_bug.cgi?id=97467
343
344         Reviewed by Antti Koivisto.
345
346         It turns out, the Selectors 4 require ":scope" to match contextual reference element set, which would be the root node in querySelector:
347         http://dev.w3.org/csswg/selectors4/#the-scope-pseudo
348
349         Right now, we simply make ":scope" equivalent to ":root", which is not correct. Let's remove the partial implementation until we have
350         time/energy to fully implement it.
351
352         No new tests, removing half-baked feature.
353
354         * css/CSSSelector.cpp:
355         (WebCore::CSSSelector::pseudoId): Removed all mentions of PseudoScope
356         (WebCore::nameToPseudoTypeMap): Ditto.
357         (WebCore::CSSSelector::extractPseudoType): Ditto.
358         * css/CSSSelector.h: Ditto.
359         * css/SelectorChecker.cpp:
360         (WebCore::SelectorChecker::checkOneSelector): Ditto.
361
362 2012-09-24  Ryosuke Niwa  <rniwa@webkit.org>
363
364         suspend/resumeWidgetHierarchyUpdates should be a RAII object
365         https://bugs.webkit.org/show_bug.cgi?id=96706
366
367         Reviewed by Simon Fraser.
368
369         Replaced suspendWidgetHierarchyUpdates and resumeWidgetHierarchyUpdates by WidgetHierarchyUpdatesSuspensionScope.
370
371         * WebCore.exp.in: Export new symbols.
372         * dom/ContainerNode.cpp:
373         (WebCore::ContainerNode::removeChild):
374         (WebCore::ContainerNode::removeChildren):
375         * dom/Document.cpp:
376         (WebCore::Document::recalcStyle):
377         * dom/Element.cpp:
378         (WebCore::Element::attach):
379         (WebCore::Element::detach):
380         * page/mac/EventHandlerMac.mm:
381         (WebCore::EventHandler::passMouseDownEventToWidget):
382         * rendering/RenderWidget.cpp:
383         (WebCore):
384         (WebCore::WidgetHierarchyUpdatesSuspensionScope::widgetNewParentMap):
385         (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
386         (WebCore::moveWidgetToParentSoon):
387         * rendering/RenderWidget.h:
388         (WidgetHierarchyUpdatesSuspensionScope):
389         (WebCore::WidgetHierarchyUpdatesSuspensionScope::WidgetHierarchyUpdatesSuspensionScope):
390         (WebCore::WidgetHierarchyUpdatesSuspensionScope::~WidgetHierarchyUpdatesSuspensionScope):
391         (WebCore::WidgetHierarchyUpdatesSuspensionScope::isSuspended):
392         (WebCore::WidgetHierarchyUpdatesSuspensionScope::scheduleWidgetToMove):
393         (WebCore):
394         (RenderWidget):
395
396 2012-09-24  Otto Derek Cheung  <otcheung@rim.com>
397
398         [BlackBerry] Reverting implementation for 407 error pages
399         https://bugs.webkit.org/show_bug.cgi?id=97455
400
401         Reviewed by Rob Buis.
402
403         Revert "[BlackBerry] Show custom error page when 407 is received"
404         This reverts commit e6d14529428fe47916fcb997528095b8acad2f2b.
405
406         * platform/network/blackberry/NetworkJob.cpp:
407         (WebCore::NetworkJob::handleNotifyStatusReceived):
408         (WebCore::NetworkJob::notifyAuthReceived):
409         (WebCore::NetworkJob::sendRequestWithCredentials):
410
411 2012-09-24  Sheriff Bot  <webkit.review.bot@gmail.com>
412
413         Unreviewed, rolling out r129388.
414         http://trac.webkit.org/changeset/129388
415         https://bugs.webkit.org/show_bug.cgi?id=97477
416
417         Caused an assertion in a WebKit2 unit test (Requested by
418         abarth on #webkit).
419
420         * WebCore.exp.in:
421         * loader/FrameLoader.cpp:
422         (WebCore::FrameLoader::didBeginDocument):
423         * loader/SubresourceLoader.cpp:
424         (WebCore::SubresourceLoader::willSendRequest):
425         * loader/cache/CachedImage.cpp:
426         * loader/cache/CachedImage.h:
427         (WebCore::CachedImage::stillNeedsLoad):
428         (CachedImage):
429         * loader/cache/CachedResource.cpp:
430         (WebCore::CachedResource::didAddClient):
431         * loader/cache/CachedResource.h:
432         (WebCore):
433         * loader/cache/CachedResourceLoader.cpp:
434         (WebCore::CachedResourceLoader::CachedResourceLoader):
435         (WebCore::CachedResourceLoader::requestImage):
436         (WebCore::CachedResourceLoader::canRequest):
437         (WebCore::CachedResourceLoader::requestResource):
438         (WebCore::CachedResourceLoader::revalidateResource):
439         (WebCore::CachedResourceLoader::loadResource):
440         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
441         (WebCore::CachedResourceLoader::setAutoLoadImages):
442         * loader/cache/CachedResourceLoader.h:
443         (CachedResourceLoader):
444         * page/Settings.cpp:
445         (WebCore::setLoadsImagesAutomaticallyInAllFrames):
446         (WebCore::Settings::Settings):
447         (WebCore::Settings::setLoadsImagesAutomatically):
448         (WebCore::Settings::loadsImagesAutomaticallyTimerFired):
449         (WebCore::Settings::setImagesEnabled):
450         * page/Settings.h:
451         (Settings):
452         * testing/InternalSettings.cpp:
453         (WebCore::InternalSettings::Backup::Backup):
454         (WebCore::InternalSettings::Backup::restoreTo):
455         * testing/InternalSettings.h:
456         (Backup):
457         (InternalSettings):
458         * testing/InternalSettings.idl:
459
460 2012-09-24  Erik Arvidsson  <arv@chromium.org>
461
462         DOM4 remove method
463         https://bugs.webkit.org/show_bug.cgi?id=73885
464
465         Reviewed by Ojan Vafai.
466
467         This adds the DOM 4 remove method.
468         
469         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-childnode-remove
470         
471         The remove method removes the node from its parent if it has a parent.
472
473         Tests: fast/dom/Comment/remove.html
474                fast/dom/DocumentType/remove.html
475                fast/dom/Element/remove.html
476                fast/dom/Text/remove.html
477
478         * dom/CharacterData.idl:
479         * dom/DocumentType.idl:
480         * dom/Element.idl:
481         * dom/Node.cpp:
482         (WebCore::Node::remove): The spec says to do nothing if the node has no parent.
483         * html/parser/HTMLTreeBuilder.cpp:
484         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Cleanup.
485         * html/track/TextTrackCue.cpp:
486         (WebCore::TextTrackCue::removeDisplayTree): No need to check parenNode twice.
487
488 2012-09-24  Tommy Widenflycht  <tommyw@google.com>
489
490         MediaStream API: Fix the incorrectly spelled RTCPeerConnection::onnegotiationneeded callback
491         https://bugs.webkit.org/show_bug.cgi?id=97456
492
493         Reviewed by Adam Barth.
494
495         Renamed onnegotationneeded to onnegotiationneeded.
496
497         Existing test updated. 
498
499         * Modules/mediastream/RTCPeerConnection.cpp:
500         (WebCore::RTCPeerConnection::negotiationNeeded):
501         * Modules/mediastream/RTCPeerConnection.h:
502         (RTCPeerConnection):
503         * Modules/mediastream/RTCPeerConnection.idl:
504         * dom/EventNames.h:
505         (WebCore):
506
507 2012-09-24  Peter Beverloo  <peter@chromium.org>
508
509         Android's mock scrollbars shows up as a difference in layout test results
510         https://bugs.webkit.org/show_bug.cgi?id=96382
511
512         Reviewed by Adam Barth.
513
514         Remove the exceptions made for layout tests in Android's scrollbar theme.
515         This will make our actual scrollbars show up in layout test pixel results,
516         bringing the tests closer to what we actually ship.
517
518         An important difference with other platforms is that scrollbars do not
519         take any width on Android, they're rendered on top of the content. Therefore
520         each test that has a visible scrollbar does not just need a new pixel
521         result, but will also need a new text result. This will be handled as part
522         of a larger rebaselining process.
523
524         Will be exercised by every layout test that has a scrollbar.
525
526         * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
527         (WebCore::ScrollbarThemeChromiumAndroid::scrollbarThickness):
528         (WebCore::ScrollbarThemeChromiumAndroid::usesOverlayScrollbars):
529         (WebCore::ScrollbarThemeChromiumAndroid::hasThumb):
530         * platform/chromium/ScrollbarThemeChromiumAndroid.h:
531         (ScrollbarThemeChromiumAndroid):
532
533 2012-09-24  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
534
535         [BlackBerry] Basic authentication challenge credentials for stored credentials again after restarting browser
536         https://bugs.webkit.org/show_bug.cgi?id=96362
537
538         Reviewed by Rob Buis.
539
540         Fix a mistake of the commit 11fdc73c7c74bbd736ed4160248ff59636a01864
541         Trunk has been changed during reviewing that patch.
542
543         No new tests, this is to correct a build error.
544
545         * platform/network/blackberry/CredentialBackingStore.cpp:
546         (WebCore::CredentialBackingStore::getProtectionSpace):
547
548 2012-09-24  Dan Bernstein  <mitz@apple.com>
549
550         Reverted r129176, the fix for <http://webkit.org/b/97269>, because it introduced a
551         discrepancy between line breaking and max width computation.
552
553         Rubber-stamped by Anders Carlsson.
554
555         * platform/graphics/mac/ComplexTextController.cpp:
556         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
557
558 2012-09-24  Bo Liu  <boliu@chromium.org>
559
560         Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
561         https://bugs.webkit.org/show_bug.cgi?id=97055
562
563         Reviewed by Adam Barth.
564
565         Relanding 128780, 128676, 128645. Was reverted in 128914 due to
566         performance regression in Chromium.
567
568         New changes in addition to previously reverted patches:
569
570         Refactored CachedResource::requestResource, loadResource, and
571         revalidateResource. Moved CachedResource::load method to end of
572         requestResource so there is one place where load is called for all
573         resources.
574
575         Added a enum parameter for requestResource and
576         determineRevalidationPolicy so that FrameLoaderClient::allowImage call
577         do not need to be called multiple times.
578
579         Removed CachedImage::load call in requestImage so it is not called
580         twice.
581
582         Removed unnecessary Frame.h includes in CachedResource and
583         CachedImage.
584
585         Removed dead load() method declaration in CachedImage.
586
587         Updated text expectation for two image-permissions tests to reflect
588         the removed calls to allowImage.
589
590         Tests: fast/loader/display-image-unset-allows-cached-image-load.html
591                fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html
592                fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html
593
594         * WebCore.exp.in:
595         * loader/FrameLoader.cpp:
596         (WebCore::FrameLoader::didBeginDocument):
597         * loader/SubresourceLoader.cpp:
598         (WebCore::SubresourceLoader::willSendRequest):
599         * loader/cache/CachedImage.cpp:
600         * loader/cache/CachedImage.h:
601         * loader/cache/CachedResource.cpp:
602         (WebCore::CachedResource::didAddClient):
603         * loader/cache/CachedResource.h:
604         (WebCore):
605         (WebCore::CachedResource::stillNeedsLoad):
606         * loader/cache/CachedResourceLoader.cpp:
607         (WebCore::CachedResourceLoader::CachedResourceLoader):
608         (WebCore::CachedResourceLoader::requestImage):
609         (WebCore::CachedResourceLoader::canRequest):
610         (WebCore::CachedResourceLoader::requestResource):
611         (WebCore::CachedResourceLoader::revalidateResource):
612         (WebCore::CachedResourceLoader::loadResource):
613         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
614         (WebCore::CachedResourceLoader::setAutoLoadImages):
615         (WebCore):
616         (WebCore::CachedResourceLoader::setImagesEnabled):
617         (WebCore::CachedResourceLoader::clientDefersImage):
618         (WebCore::CachedResourceLoader::shouldDeferImageLoad):
619         (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
620         * loader/cache/CachedResourceLoader.h:
621         (CachedResourceLoader):
622         * page/Settings.cpp:
623         (WebCore::setImageLoadingSettings):
624         (WebCore::Settings::Settings):
625         (WebCore::Settings::setLoadsImagesAutomatically):
626         (WebCore::Settings::imageLoadingSettingsTimerFired):
627         (WebCore::Settings::setImagesEnabled):
628         * page/Settings.h:
629         (Settings):
630         * testing/InternalSettings.cpp:
631         (WebCore::InternalSettings::Backup::Backup):
632         (WebCore::InternalSettings::Backup::restoreTo):
633         (WebCore::InternalSettings::setImagesEnabled):
634         (WebCore):
635         * testing/InternalSettings.h:
636         (Backup):
637         (InternalSettings):
638         * testing/InternalSettings.idl:
639
640 2012-09-24  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
641
642         [GTK] Implement GraphicsLayer using Clutter
643         https://bugs.webkit.org/show_bug.cgi?id=73767
644
645         Reviewed by Martin Robinson.
646         
647         This patch is needed for enabling Accelerated Compositing(Clutter backend) 
648         with the patches submitted in bug 92045 and 91940.
649         
650         No new tests. This will be covered by pixel tests for Qt/GTK+ accelerated
651         compositing and 3D transforms.
652
653         * GNUmakefile.list.am:
654         * platform/clutter/GRefPtrClutter.cpp: Removed.
655         * platform/clutter/GRefPtrClutter.h: Removed.
656         * platform/graphics/clutter/PlatformClutterLayerClient.h: Added.
657         (WebCore):
658         (PlatformClutterLayerClient):
659         (WebCore::PlatformClutterLayerClient::~PlatformClutterLayerClient):
660         * platform/graphics/clutter/TransformationMatrixClutter.cpp: Added to convert CoglMatrix to 
661         TransformationMatrix.
662         (WebCore):
663         (WebCore::TransformationMatrix::operator CoglMatrix):
664         * platform/graphics/transforms/TransformationMatrix.h:
665         (TransformationMatrix):
666
667 2012-09-24  David Grogan  <dgrogan@chromium.org>
668
669         Unprefix IndexedDB
670         https://bugs.webkit.org/show_bug.cgi?id=96548
671
672         Reviewed by Adam Barth.
673
674         We are largely compatible with the FF implementation and the w3c test
675         suite submitted by MS. The w3c test suite doesn't yet check
676         for lack of prefix; this is mostly to signal to devs that we think our
677         implementation is stable.
678
679         This patch uses the new FeatureObserver to get data about prefixed
680         vs unprefixed usage.
681
682         Tests: storage/indexeddb/unprefix-workers.html
683                storage/indexeddb/unprefix.html
684
685         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
686         (WebCore::DOMWindowIndexedDatabase::indexedDB):
687         * Modules/indexeddb/DOMWindowIndexedDatabase.h:
688         (DOMWindowIndexedDatabase):
689         * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
690         * Modules/indexeddb/WorkerContextIndexedDatabase.cpp:
691         (WebCore::WorkerContextIndexedDatabase::indexedDB):
692         * Modules/indexeddb/WorkerContextIndexedDatabase.h:
693         (WorkerContextIndexedDatabase):
694         * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
695         * bindings/generic/RuntimeEnabledFeatures.h:
696         Making the auxiliary objects RuntimeEnabled didn't make much sense as
697         they are useless without the factory, so always enable them.
698
699         (WebCore::RuntimeEnabledFeatures::indexedDBEnabled):
700         * bindings/scripts/CodeGeneratorGObject.pm:
701         (SkipAttribute):
702         * page/FeatureObserver.h:
703
704 2012-09-24  Andrey Adaikin  <aandrey@chromium.org>
705
706         Web Inspector: [WebGL] First step towards 2D canvas instrumentation in injected script
707         https://bugs.webkit.org/show_bug.cgi?id=96746
708
709         Reviewed by Pavel Feldman.
710
711         First step towards the 2D canvas instrumentation from the WebGL injected script module side.
712         We trace and save all calls that affect the 2D canvas context state and it's resources (Gradient and Pattern)
713         so that we could replay the context and resources states later.
714         The 2D canvas context state consists of:
715         - current transformation matrix
716         - current default path
717         - current clipping region (affected by the "clip" command)
718         - current values of the context attributes (like strokeStyle, fillStyle, etc.)
719         - a stack of saved drawing states (affected by the "save" and "restore" commands)
720
721         * inspector/InjectedScriptCanvasModuleSource.js:
722         (.):
723
724 2012-09-24  Andrey Adaikin  <aandrey@chromium.org>
725
726         Web Inspector: [TextEditor] conditional breakpoint popup not showing up the first time
727         https://bugs.webkit.org/show_bug.cgi?id=97442
728
729         Reviewed by Pavel Feldman.
730
731         1) The conditional breakpoint popup may not show up the first time we click on the gutter.
732         This was the case because the popup decoration element would be deleted from the line while
733         it was being highlighted and appended afterwards. Now we do not remove decorations from the
734         DOM while highlighting.
735
736         2) Also the popup will close itself on any mouse click event, even if it's targeted to the
737         input box itself. This was due to pointer-events: none; CSS style for the parent element.
738         Now we just override this style for the input box.
739
740         * inspector/front-end/DefaultTextEditor.js:
741         (WebInspector.TextEditorMainPanel.prototype._paintLine):
742         (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
743         (WebInspector.TextEditorMainPanel.prototype._insertTextNodeBefore):
744         * inspector/front-end/inspector.css:
745         (.source-frame-breakpoint-condition):
746
747 2012-09-24  Andrey Adaikin  <aandrey@chromium.org>
748
749         Web Inspector: [Canvas] set CanvasAgent in InstrumentingAgents upon calling enable command
750         https://bugs.webkit.org/show_bug.cgi?id=97331
751
752         Reviewed by Yury Semikhatsky.
753
754         We should set CanvasAgent in InstrumentingAgents from enable() command and remove from disable(), instead of doing this in constructor and destructor.
755
756         * inspector/InspectorCanvasAgent.cpp:
757         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
758         (WebCore::InspectorCanvasAgent::~InspectorCanvasAgent):
759         (WebCore::InspectorCanvasAgent::restore):
760         (WebCore::InspectorCanvasAgent::enable):
761         (WebCore::InspectorCanvasAgent::disable):
762         * inspector/InspectorCanvasAgent.h:
763         (InspectorCanvasAgent):
764         * inspector/InspectorCanvasInstrumentation.h:
765         (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
766         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
767
768 2012-09-24  Patrick Gansterer  <paroga@webkit.org>
769
770         Remove remaining WTF_DEPRECATED_STRING_OPERATORS from cpp files
771         https://bugs.webkit.org/show_bug.cgi?id=97412
772
773         Reviewed by Adam Barth.
774
775         * css/StylePropertySet.cpp: Removed useless define.
776
777 2012-09-20  Emil A Eklund  <eae@chromium.org>
778
779         snapToSize rounds the incorrectly for negative locations
780         https://bugs.webkit.org/show_bug.cgi?id=97265
781
782         Reviewed by Eric Seidel.
783
784         Change snapSizeToPixel to preserve sign for location which
785         affects rounding.
786
787         Test: fast/sub-pixel/snap-negative-location.html
788
789         * platform/FractionalLayoutUnit.h:
790         (WebCore::snapSizeToPixel):
791
792 2012-09-24  Jonathan Liu  <net147@gmail.com>
793
794         Use unsigned char for bitfield instead of unsigned.
795         https://bugs.webkit.org/show_bug.cgi?id=97447
796
797         Reviewed by Andreas Kling.
798
799         Not all compilers will pad an unsigned bitfield to the smallest size.
800         Use unsigned char instead of unsigned to reduce padding for compilers
801         that pad to the underlying type.
802
803         No new tests. There is already a compile-time assertion.
804
805         * css/CSSRule.cpp:
806         (SameSizeAsCSSRule):
807         * css/CSSRule.h:
808         (CSSRule):
809
810 2012-09-24  Peter Rybin  <peter.rybin@gmail.com>
811
812         Web Inspector: don't allow exception in front-end when expanding function scope
813         https://bugs.webkit.org/show_bug.cgi?id=97346
814
815         Reviewed by Yury Semikhatsky.
816
817         A missing guard condition is added.
818
819         * inspector/front-end/ObjectPropertiesSection.js:
820         (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate.didGetDetails):
821         (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate):
822
823 2012-09-24  Arvid Nilsson  <anilsson@rim.com>
824
825         [BlackBerry] Add cookie database API
826         https://bugs.webkit.org/show_bug.cgi?id=97102
827
828         Reviewed by Antonio Gomes.
829
830         Add a CookieManager method that takes a list of strings to parse
831         instead of just one string. Expose CookieParser::parseOneCookie.
832
833         Reviewed internally by Otto D. Cheung.
834
835         No change in behavior, no new tests.
836
837         * platform/blackberry/CookieManager.cpp:
838         (WebCore::CookieManager::setCookies):
839         (WebCore):
840         * platform/blackberry/CookieManager.h:
841         * platform/blackberry/CookieParser.cpp:
842         (WebCore::CookieParser::parseOneCookie):
843         (WebCore):
844         * platform/blackberry/CookieParser.h:
845         (CookieParser):
846
847 2012-09-24  Vsevolod Vlasov  <vsevik@chromium.org>
848
849         Web Inspector: Open resource dialog has too many false positive matches.
850         https://bugs.webkit.org/show_bug.cgi?id=97332
851
852         Reviewed by Alexander Pavlov.
853
854         Improved open resource dialog filtering to make the amount of false
855         positive search results less.
856
857         * inspector/front-end/FilteredItemSelectionDialog.js:
858         (WebInspector.FilteredItemSelectionDialog.prototype._innerCreateSearchRegExp):
859         (WebInspector.FilteredItemSelectionDialog.prototype._highlightItem.get var):
860         (WebInspector.FilteredItemSelectionDialog.prototype._highlightItem):
861
862 2012-09-24  Andrey Adaikin  <aandrey@chromium.org>
863
864         Web Inspector: [Canvas] support 2D canvas instrumentation from the inspector C++ code
865         https://bugs.webkit.org/show_bug.cgi?id=97203
866
867         Reviewed by Yury Semikhatsky.
868
869         Implements wrapping a 2D canvas context through the injected canvas module script facility.
870
871         * bindings/js/JSHTMLCanvasElementCustom.cpp:
872         (WebCore::JSHTMLCanvasElement::getContext):
873         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
874         (WebCore::V8HTMLCanvasElement::getContextCallback):
875         * inspector/InjectedScriptCanvasModule.cpp:
876         (WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
877         (WebCore):
878         (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
879         (WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
880         * inspector/InjectedScriptCanvasModule.h:
881         (InjectedScriptCanvasModule):
882         * inspector/InspectorCanvasAgent.cpp:
883         (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
884         (WebCore):
885         * inspector/InspectorCanvasAgent.h:
886         (InspectorCanvasAgent):
887         * inspector/InspectorCanvasInstrumentation.h:
888         (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
889         (WebCore):
890         * inspector/InspectorInstrumentation.h:
891         (InspectorInstrumentation):
892
893 2012-09-24  Pavel Feldman  <pfeldman@chromium.org>
894
895         Web Inspector:EXC_BAD_ACCESS upon closing page with node highlighted
896         https://bugs.webkit.org/show_bug.cgi?id=97446
897
898         Reviewed by Alexander Pavlov.
899
900         Added 0 check on frame view.
901
902         * inspector/InspectorOverlay.cpp:
903         (WebCore::InspectorOverlay::update):
904
905 2012-09-21  Alexander Pavlov  <apavlov@chromium.org>
906
907         Web Inspector: [REGRESSION] Cmd-Shift-C doesn't enable element inspection mode when inspector hidden
908         https://bugs.webkit.org/show_bug.cgi?id=97249
909
910         Reviewed by Yury Semikhatsky.
911
912         Fix regression from r125871.
913
914         * inspector/front-end/InspectorFrontendAPI.js:
915         (InspectorFrontendAPI.enterInspectElementMode):
916         * inspector/front-end/inspector.js:
917         (WebInspector._createGlobalStatusBarItems):
918         (WebInspector.documentKeyDown):
919
920 2012-09-24  Alexander Pavlov  <apavlov@chromium.org>
921
922         Web Inspector: Disable persistence of master switches in the "Overrides" settings tab
923         https://bugs.webkit.org/show_bug.cgi?id=97440
924
925         Reviewed by Yury Semikhatsky.
926
927         Disables enforcement of device metrics, geolocation, and device orientation overrides on Web Inspector start.
928
929         * inspector/InspectorPageAgent.cpp:
930         (WebCore::InspectorPageAgent::restore):
931         * inspector/front-end/SettingsScreen.js:
932         (WebInspector.UserAgentSettingsTab.prototype._onMetricsCheckboxClicked):
933         (WebInspector.UserAgentSettingsTab.prototype._onGeolocationOverrideCheckboxClicked):
934         (WebInspector.UserAgentSettingsTab.prototype._onDeviceOrientationOverrideCheckboxClicked):
935         * inspector/front-end/UserAgentSupport.js:
936         (WebInspector.UserAgentSupport):
937         (WebInspector.UserAgentSupport.prototype.toggleDeviceMetricsOverride):
938         (WebInspector.UserAgentSupport.prototype.toggleGeolocationPositionOverride):
939         (WebInspector.UserAgentSupport.prototype.toggleDeviceOrientationOverride):
940         * inspector/front-end/externs.js:
941
942 2012-09-24  Vivek Galatage  <vivekgalatage@gmail.com>
943
944         Web Inspector: implement testing harness for pure protocol tests.
945         https://bugs.webkit.org/show_bug.cgi?id=90675
946
947         Reviewed by Yury Semikhatsky.
948
949         Implementing the testing harness as the APIs of Internals object not
950         only reduced platform specific patching of DRTs but also minimized the
951         the effort required to open up the new dummy inspector Frontend. 
952         
953         The openDummyInspectorFrontend method will return the handle to newly 
954         created DOMWindow. This DOMWindow object can be utilized inside the test 
955         case to communicate using postMessage WebAPI.
956         
957         The newly created DOMWindow will host the protocol-test.html which
958         will seed the necessary JS libraries to communicate with the
959         InspectorBackend.
960
961         Test: inspector-protocol/css-getSupportedCSSProperties.html
962
963         * WebCore.exp.in:
964         * WebCore.gypi:
965         * inspector/InspectorClient.h:
966         (InspectorClient):
967         * testing/Internals.cpp:
968         (InspectorFrontendClientDummy):
969         (WebCore::InspectorFrontendClientDummy::~InspectorFrontendClientDummy):
970         (WebCore):
971         (WebCore::InspectorFrontendClientDummy::InspectorFrontendClientDummy):
972         (InspectorFrontendChannelDummy):
973         (WebCore::InspectorFrontendChannelDummy::~InspectorFrontendChannelDummy):
974         (WebCore::InspectorFrontendChannelDummy::InspectorFrontendChannelDummy):
975         (WebCore::InspectorFrontendChannelDummy::sendMessageToFrontend):
976         (WebCore::Internals::consoleMessageArgumentCounts):
977         (WebCore::Internals::openDummyInspectorFrontend):
978         (WebCore::Internals::closeDummyInspectorFrontend):
979         * testing/Internals.h:
980         (WebCore):
981         (Internals):
982         * testing/Internals.idl:
983
984 2012-09-24  Keishi Hattori  <keishi@webkit.org>
985
986         REGRESSION(r127727): Calendar picker focus doesn't loop in calendar-picker.html
987         https://bugs.webkit.org/show_bug.cgi?id=97183
988
989         Reviewed by Kent Tamura.
990
991         Fixing bug calendar-picker.html. The page popup behaves fine because
992         this code is only necessary in calendar-picker.html where the focus can
993         move outside of the picker because we are just using an iframe.
994
995         No new tests. Added tests to calendar-picker-key-operations.html.
996
997         * Resources/pagepopups/calendarPicker.js:
998         (YearMonthController.prototype.attachTo):
999         (CalendarPicker.prototype._handleBodyKeyDown):
1000
1001 2012-09-24  Andrey Kosyakov  <caseq@chromium.org>
1002
1003         Unreviewed follow-up to r129336 -- fixed closure compiler warnings.
1004
1005         * inspector/front-end/HAREntry.js:
1006         * inspector/front-end/TimelineModel.js:
1007
1008 2012-09-24  Andrey Adaikin  <aandrey@chromium.org>
1009
1010         Web Inspector: [TextEditor] Line numbers out of sync after closing breakpoint condition editor
1011         https://bugs.webkit.org/show_bug.cgi?id=96510
1012
1013         Reviewed by Vsevolod Vlasov.
1014
1015         Sync line heights on adding/removing decorations.
1016
1017         * inspector/front-end/DefaultTextEditor.js:
1018         (WebInspector.TextEditorGutterChunk):
1019         (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
1020         (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
1021         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
1022         (WebInspector.TextEditorGutterChunk.prototype.get height):
1023         (WebInspector.TextEditorGutterChunk.prototype._createRow):
1024         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
1025         (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
1026         (WebInspector.TextEditorMainChunk.prototype.removeAllDecorations):
1027
1028 2012-09-21  Andrey Kosyakov  <caseq@chromium.org>
1029
1030         Web Inspector: support saving HAR with resources content
1031         https://bugs.webkit.org/show_bug.cgi?id=97341
1032
1033         Reviewed by Vsevolod Vlasov.
1034
1035         - add WebInspector.HARWriter that writes HAR with content to a stream;
1036         - replace Save all as HAR with Save all with Content as HAR in network's panel context menu;
1037         - remove entries for copying/saving of individual request items to reduce clutter in context menu;
1038         - a drive-by fix of an exception when invoking context menu not on a network item;
1039
1040         Test: http/tests/inspector/network/har-content.html
1041
1042         * English.lproj/localizedStrings.js:
1043         * inspector/front-end/FileUtils.js:
1044         * inspector/front-end/HAREntry.js:
1045         (WebInspector.HAREntry.prototype._buildPostData):
1046         (WebInspector.HARLog.prototype.build):
1047         (WebInspector.HARLog.prototype._creator):
1048         (WebInspector.HARWriter):
1049         (WebInspector.HARWriter.prototype.write):
1050         (WebInspector.HARWriter.prototype._onContentAvailable):
1051         (WebInspector.HARWriter.prototype._beginWrite):
1052         (WebInspector.HARWriter.prototype._writeNextChunk):
1053         * inspector/front-end/NetworkPanel.js:
1054         (WebInspector.NetworkLogView.prototype.get statusBarItems):
1055         (WebInspector.NetworkLogView.prototype._createStatusBarItems):
1056         (WebInspector.NetworkLogView.prototype._contextMenu):
1057         (WebInspector.NetworkLogView.prototype._exportAll.openCallback):
1058         (WebInspector.NetworkLogView.prototype._exportAll):
1059
1060 2012-09-24  Nico Weber  <thakis@chromium.org>
1061
1062         [chromium] Remove BitLockerSkia. It's apparently not used.
1063         https://bugs.webkit.org/show_bug.cgi?id=97434
1064
1065         Reviewed by Kent Tamura.
1066
1067         * platform/graphics/skia/BitLockerSkia.cpp: Removed.
1068         * platform/graphics/skia/BitLockerSkia.h: Removed.
1069
1070 2012-09-24  Matt Falkenhagen  <falken@chromium.org>
1071
1072         Skeleton implementation of dialog.showModal()
1073         https://bugs.webkit.org/show_bug.cgi?id=97425
1074
1075         Reviewed by Kent Tamura.
1076
1077         This adds a basic implementation of showModal(), so it later can be
1078         used to test the top layer, once it is implemented. The main features
1079         of showModal(), modality and the top layer, are not yet implemented.
1080
1081         Test: fast/dom/HTMLDialogElement/dialog-show-modal.html
1082
1083         * html/HTMLDialogElement.cpp:
1084         (WebCore::HTMLDialogElement::showModal): The same as show(), but throws an error in the cases specified in the spec.
1085         (WebCore):
1086         * html/HTMLDialogElement.h:
1087         (HTMLDialogElement):
1088         * html/HTMLDialogElement.idl:
1089
1090 2012-09-24  Ryuan Choi  <ryuan.choi@samsung.com>
1091
1092         [EFL] Regression after r129328
1093         https://bugs.webkit.org/show_bug.cgi?id=97429
1094
1095         Unreviewed, rolling out r129328.
1096
1097         * platform/efl/RenderThemeEfl.cpp:
1098         (WebCore::RenderTheme::themeForPage):
1099
1100 2012-09-23  Ryuan Choi  <ryuan.choi@samsung.com>
1101
1102         [EFL] Duplicated RenderThemeEfl creation for same page
1103         https://bugs.webkit.org/show_bug.cgi?id=88391
1104
1105         Reviewed by Gyuyoung Kim.
1106
1107         Other ports return one or two RenderTheme regardless of page.
1108         But, WebKit/Efl can create different theme for each page and
1109         themeForPage creates new RenderTheme whenever it is called with page.
1110         So more than one RenderTheme can be created for a page.
1111
1112         This patches checks whether page already has RenderTheme not to create new
1113         RenderTheme for same page.
1114
1115         * platform/efl/RenderThemeEfl.cpp:
1116         (WebCore::RenderTheme::themeForPage):
1117
1118 2012-09-23  Keishi Hattori  <keishi@webkit.org>
1119
1120         Add suggestionPicker to CalendarPicker
1121         https://bugs.webkit.org/show_bug.cgi?id=97201
1122
1123         Reviewed by Kent Tamura.
1124
1125         This adds the suggestionPicker to CalendarPicker. It is not available yet as a datalist UI but it can be used inside ManualTests/forms/calendar-picker.html.
1126
1127         No new tests. Suggestion Picker can be tested in ManualTests/forms/calendar-picker.html.
1128
1129         * Resources/pagepopups/calendarPicker.js:
1130         (initialize):
1131         (openSuggestionPicker):
1132         * Resources/pagepopups/pickerCommon.js:
1133         (enclosingNodeOrSelfWithClass):
1134         * Resources/pagepopups/suggestionPicker.css: Added.
1135         (.suggestion-list):
1136         (.suggestion-list-entry):
1137         (.suggestion-list-entry:focus):
1138         (.suggestion-list-entry:focus .label):
1139         (.suggestion-list-entry .content):
1140         (.suggestion-list-entry .title):
1141         (.suggestion-list-entry .label):
1142         (.measuring-width .suggestion-list-entry .label):
1143         (.suggestion-list .separator):
1144         * Resources/pagepopups/suggestionPicker.js: Added.
1145         (SuggestionPicker):
1146         (SuggestionPicker.validateConfig):
1147         (SuggestionPicker.prototype.cleanup):
1148         (SuggestionPicker.prototype._setColors): Creates css rules that sets highlight colors.
1149         (SuggestionPicker.prototype._createSuggestionEntryElement): Creates an entry that when selected submits the value.
1150         (SuggestionPicker.prototype._createActionEntryElement): Creates an entry that causes an action. (e.x. "Other...")
1151         (SuggestionPicker.prototype._measureMaxContentWidth): Temporarily left align everything to measure the width.
1152         (SuggestionPicker.prototype._fixWindowSize):
1153         (SuggestionPicker.prototype._layout):
1154         (SuggestionPicker.prototype.selectEntry):
1155         (SuggestionPicker.prototype._handleEntryClick):
1156         (SuggestionPicker.prototype._findFirstVisibleEntry):
1157         (SuggestionPicker.prototype._findLastVisibleEntry):
1158         (SuggestionPicker.prototype._handleBodyKeyDown):
1159         (SuggestionPicker.prototype._handleEntryMouseOver):
1160         (SuggestionPicker.prototype._handleMouseOut):
1161         * WebCore.gyp/WebCore.gyp:
1162
1163 2012-09-23  Andreas Kling  <kling@webkit.org>
1164
1165         REGRESSION(r128239): Mutable ElementAttributeData leak their Attribute vectors.
1166         <http://webkit.org/b/97423>
1167
1168         Reviewed by Anders Carlsson.
1169
1170         r128239 added a WTF::deleteOwnedPtr() override for ElementAttributeData*, but ElementAttributeData is
1171         a ref-counted object. Fixed this by overriding deref() instead to call the appropriate subclass destructor.
1172
1173         * dom/ElementAttributeData.h:
1174         (WebCore::ElementAttributeData::deref):
1175
1176 2012-09-23  Byungwoo Lee  <bw80.lee@gmail.com>
1177
1178         Fix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized.
1179         https://bugs.webkit.org/show_bug.cgi?id=97306
1180
1181         Reviewed by Benjamin Poulain.
1182
1183         Fix build warning about -Wunused-parameter on ImageBufferCairo.cpp,
1184         ImageDecoder.h by using ASSERT_UNUSED() macro.
1185
1186         * platform/graphics/cairo/ImageBufferCairo.cpp:
1187         (WebCore::encodeImage):
1188         * platform/image-decoders/ImageDecoder.h:
1189         (WebCore::ImageDecoder::rgbColorProfile):
1190         (WebCore::ImageDecoder::inputDeviceColorProfile):
1191
1192 2012-09-23  Andreas Kling  <kling@webkit.org>
1193
1194         Enable ElementAttributeData sharing for non-HTML elements.
1195         <http://webkit.org/b/97413>
1196
1197         Reviewed by Anders Carlsson.
1198
1199         Use the whole qualified tag name when creating the ElementAttributeData cache key
1200         instead of just the localName(). This allows sharing and caching of attribute data
1201         for non-HTML elements and makes the code a little cleaner.
1202
1203         * dom/Element.cpp:
1204         (WebCore::Element::parserSetAttributes):
1205
1206             Enable the ElementAttributeData sharing path for non-HTML elements.
1207
1208         * dom/ElementAttributeData.h:
1209
1210             Make immutableAttributeArray() public so Document can call it instead of getting
1211             the raw data address from a const_cast'ed attributeItem(0).
1212
1213         * dom/Document.cpp:
1214         (WebCore::ImmutableAttributeDataCacheKey::ImmutableAttributeDataCacheKey):
1215         (WebCore::ImmutableAttributeDataCacheKey::operator!=):
1216         (WebCore::ImmutableAttributeDataCacheKey::hash):
1217         (ImmutableAttributeDataCacheKey):
1218         (WebCore::ImmutableAttributeDataCacheEntry::ImmutableAttributeDataCacheEntry):
1219         (ImmutableAttributeDataCacheEntry):
1220         (WebCore::Document::cachedImmutableAttributeData):
1221
1222             Let the immutable attribute data cache use a QualifiedName/attributes key
1223             instead of the AtomicString/attributes we were using before. We still grab the
1224             existingHash() from the QualifiedName::localName() and use that for the actual
1225             HashMap key.
1226
1227 2012-09-23  Mike West  <mkwst@chromium.org>
1228
1229         Measure the usage of the "X-WebKit-CSP" header in the hopes of dropping the prefix completely.
1230         https://bugs.webkit.org/show_bug.cgi?id=97408
1231
1232         Reviewed by Adam Barth.
1233
1234         We plan on landing the unprefixed header in webkit.org/b/96765 once the
1235         spec moves to CR. Though we plan to use it for experimentation in the
1236         near future, we'll want to drop the prefixed header completely at some
1237         point in the future. Starting to measure its usage now will give us a
1238         good baseline when we start contemplating that decision.
1239
1240         No new functionality, so no new tests.
1241
1242         * page/ContentSecurityPolicy.cpp:
1243         (WebCore::ContentSecurityPolicy::didReceiveHeader):
1244         * page/FeatureObserver.h:
1245
1246 2012-09-22  Dominic Mazzoni  <dmazzoni@google.com>
1247
1248         AX: Layout tests would be easier to write if AccessibilityController could find an element by id
1249         https://bugs.webkit.org/show_bug.cgi?id=97301
1250
1251         Reviewed by Chris Fleizach.
1252
1253         Add a method to get the DOM "id" attribute from an accessible object, only for layout tests.
1254
1255         Makes existing test more cross-platform:
1256         Tests: accessibility/aria-hidden-with-elements.html
1257
1258         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1259         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1260
1261 2012-09-22  Thierry Reding  <thierry.reding@avionic-design.de>
1262
1263         [GTK] Build is broken with GLib Unicode backend
1264         https://bugs.webkit.org/show_bug.cgi?id=97308.
1265
1266         Reviewed by Carlos Garcia Campos.
1267
1268         The TextBreakIteratorGtk implementation uses ubrk_close() to delete
1269         the iterator. However that function is ICU specific and not declared
1270         when using the GLib backend. Instead the iterator can simply be freed
1271         using the delete operator.
1272
1273         This commit is based on work by Martin Schlemmer who posted a fix for
1274         this here:
1275
1276             http://permalink.gmane.org/gmane.os.opendarwin.webkit.gtk/1210
1277
1278         No new tests.
1279
1280         * platform/text/gtk/TextBreakIteratorGtk.cpp:
1281         (WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator):
1282         Free iterator using delete instead of ubrk_close().
1283
1284 2012-09-21  Ami Fischman  <fischman@chromium.org>
1285
1286         HTMLMediaElement isn't garbage collected between document reloads
1287         https://bugs.webkit.org/show_bug.cgi?id=97020
1288
1289         Reviewed by Eric Carlson.
1290
1291         JS-created (as opposed to DOM-created) Audio nodes never got collected, because they
1292         appear to always hasPendingActivity(), because m_playing is never set to false.
1293
1294         Manual test added: ManualTests/audio-freed-during-reload.html
1295
1296         * html/HTMLMediaElement.cpp:
1297         (WebCore::HTMLMediaElement::stop): set m_playing = false; explicitly.
1298
1299 2012-09-21  Simon Fraser  <simon.fraser@apple.com>
1300
1301         RenderMarquee causes ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()) : WebCore::FloatRect WebCore::RenderGeometryMap::absoluteRect(const WebCore::FloatRect &) const
1302         https://bugs.webkit.org/show_bug.cgi?id=92464
1303
1304         Reviewed by Sam Weinig.
1305
1306         Marquees could cause an updateCompositingLayersAfterScroll() to be called when
1307         we're in the middle of updating layer positions. updateCompositingLayersAfterScroll()
1308         does a full RenderLayer tree walk, but its use of RenderGeomeryMap reveals that
1309         it's using layers whose positions haven't been updated yet.
1310         
1311         Fix by avoiding the updateCompositingLayersAfterScroll() if we're in the process
1312         of updating a marquee when updating layer positions. We'll do a compositing update
1313         soon anyway.
1314
1315         Tested by fast/events/tabindex-focus-blur-all.html
1316
1317         * rendering/RenderLayer.cpp:
1318         (WebCore::RenderLayer::RenderLayer):
1319         (WebCore::RenderLayer::updateLayerPositions):
1320         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
1321         (WebCore::RenderLayer::scrollTo):
1322         * rendering/RenderLayer.h:
1323         (RenderLayer):
1324
1325 2012-09-21  Adam Klein  <adamk@chromium.org>
1326
1327         Remove bogus assertions from ChildListMutationScope
1328         https://bugs.webkit.org/show_bug.cgi?id=97372
1329
1330         Reviewed by Ryosuke Niwa.
1331
1332         Some asserts (and their accompanying comment) were trying to enforce
1333         proper usage of ChildListMutationScope from WebCore, but in the
1334         presence of MutationEvents they could fail due to arbitrary script
1335         execution.
1336
1337         This change gets rid of those asserts and adds tests exercising
1338         the (pre-existing) codepaths for handling these out-of-order cases.
1339         Without this patch, these tests ASSERT in debug builds.
1340
1341         Tests: fast/mutation/added-out-of-order.html
1342                fast/mutation/removed-out-of-order.html
1343
1344         * dom/ChildListMutationScope.cpp:
1345         (WebCore::ChildListMutationAccumulator::childAdded):
1346         (WebCore::ChildListMutationAccumulator::willRemoveChild):
1347         * dom/ChildListMutationScope.h:
1348         (WebCore):
1349
1350 2012-09-21  Dan Bernstein  <mitz@apple.com>
1351
1352         REGRESSION (r129176): Incorrect line breaking when kerning occurs between a space and the following character
1353         https://bugs.webkit.org/show_bug.cgi?id=97377
1354
1355         Reviewed by Enrica Casucci.
1356
1357         Test: fast/text/kerning-with-TextLayout.html
1358
1359         When kerning is enabled, the last character in a word may have its advance shortened because
1360         of its trailing space. To account for that, words are measured along with the trailing space,
1361         then the width of a space is subtracted from the result. This doesn’t work when the trailing
1362         space itself has its advance shortened due to the character following it, which can happen
1363         when using the TextLayout optimization. However, when the optimization is used, the advance
1364         of the last character of the word is already adjusted for the trailing space, so there is no
1365         need to measure with that space and subtract its advance.
1366
1367         * rendering/RenderBlockLineLayout.cpp:
1368         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Changed to not use the trailingSpaceWidth
1369         mechanism when TextLayout is being used.
1370
1371 2012-09-21  Adam Klein  <adamk@chromium.org>
1372
1373         Simplify and optimize ChildListMutationScope
1374         https://bugs.webkit.org/show_bug.cgi?id=97352
1375
1376         Reviewed by Ryosuke Niwa.
1377
1378         ChildListMutationScope is one of the most complicated bits of
1379         MutationObserver implementation. This patch aims to simplify it for
1380         clarity and improve its performance (mostly by just doing less).
1381
1382         The big change is to remove the MutationAccumulatorRouter class,
1383         replacing it with lifetime-management logic in ChildListMutationAccumulator
1384         ChildListMutationScope is expected to call getOrCreate() in
1385         its constructor, and each scope holds a RefPtr to the accumulator.
1386         When the last scope holding such a RefPtr is destroyed,
1387         ChildListMutationAccumulator's destructor enqueues the accumulated record.
1388
1389         This greatly reduces the number of lines of code, and condenses
1390         two HashMaps into one. It also reduces hash lookups, which now
1391         occur only on scope creation and when the refcount for a given
1392         accumulator reaches 0 (previously, each childAdded and willRemoveChild
1393         call could result in two hash lookups each).
1394
1395         There are some minor changes as well: the ChildListMutationAccumulator::clear()
1396         method is gone, as it was doing more work than necessary;
1397         DEFINE_STATIC_LOCAL is now used instead of hand-rolled static-management
1398         code; ChildListMutationAccumulator::m_lastAdded is no longer a RefPtr, since it
1399         always points at a Node that's already being ref'd by the accumulator.
1400         Also various minor syntactic cleanups.
1401
1402         No new tests, no change in behavior.
1403
1404         * dom/ChildListMutationScope.cpp:
1405         (WebCore::accumulatorMap): Reduced two maps to one, and manage its lifetime with DEFINE_STATIC_LOCAL.
1406         (WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator): Remove unnecessary call to clear() (which itself has been removed).
1407         (WebCore::ChildListMutationAccumulator::~ChildListMutationAccumulator): Enqueue record if not empty at destruction, and have the accumulator
1408         remove itself from the map.
1409         (WebCore::ChildListMutationAccumulator::getOrCreate): Replaces half of MutationAccumulatorRouter's job.
1410         (WebCore::ChildListMutationAccumulator::childAdded): Minor RefPtr usage improvements.
1411         (WebCore::ChildListMutationAccumulator::isRemovedNodeInOrder): Simplify RefPtr syntax.
1412         (WebCore::ChildListMutationAccumulator::willRemoveChild): Minor RefPtr usage improvements.
1413         (WebCore::ChildListMutationAccumulator::enqueueMutationRecord): Replace call to clear() with clearing m_lastAdded,
1414         since it's the only bit not cleared by the MutationRecord creation call. Also remove
1415         isEmpty check and replace with asserts now that it's a private method.
1416         (WebCore::ChildListMutationAccumulator::isEmpty): Added more assertions about emptiness.
1417         * dom/ChildListMutationScope.h:
1418         (WebCore):
1419         (ChildListMutationAccumulator): Extract the inner class to make everything easier to read.
1420         (WebCore::ChildListMutationScope::ChildListMutationScope): Store m_accumulator rather than m_target.
1421         (WebCore::ChildListMutationScope::~ChildListMutationScope): ditto
1422         (WebCore::ChildListMutationScope::childAdded): ditto
1423         (WebCore::ChildListMutationScope::willRemoveChild): ditto
1424         (ChildListMutationScope):
1425         * html/HTMLElement.cpp: Remove unused ChildListMutationScope.h #include.
1426
1427 2012-09-21  Chris Rogers  <crogers@google.com>
1428
1429         BiquadFilterNode must take audio-rate parameter changes into account
1430         https://bugs.webkit.org/show_bug.cgi?id=97369
1431
1432         Reviewed by Kenneth Russell.
1433
1434         BiquadFilterNode is currently ignoring any timeline or audio-rate changes to its parameters.
1435         We now check if any of its parameters have timeline or audio-rate changes and, if so, take
1436         them into account.  Otherwise, we use ordinary parameter smoothing/de-zippering which is
1437         the case when the parameters are adjusted, for example, from a knob or slider in the UI.
1438
1439         * Modules/webaudio/BiquadDSPKernel.cpp:
1440         (WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
1441         * Modules/webaudio/BiquadProcessor.cpp:
1442         (WebCore::BiquadProcessor::checkForDirtyCoefficients):
1443         * Modules/webaudio/BiquadProcessor.h:
1444         (WebCore::BiquadProcessor::hasSampleAccurateValues):
1445         (BiquadProcessor):
1446
1447 2012-09-21  Brandon Jones  <bajones@google.com>
1448
1449         Add support for OES_vertex_array_object in chromium
1450         https://bugs.webkit.org/show_bug.cgi?id=96578
1451
1452         Reviewed by Kenneth Russell.
1453
1454         Adding basic reference counting to WebGLBuffer objects to satisfy spec requirements
1455         for the OES_vertex_array_object extension. Added code to allow calls to the
1456         OES_vertex_array_object extension to interface properly with the chromium WebGL
1457         implementation.
1458
1459         Test: fast/canvas/webgl/oes-vertex-array-object.html
1460
1461         * html/canvas/WebGLRenderingContext.cpp:
1462         (WebCore):
1463         (WebCore::WebGLRenderingContext::deleteBuffer):
1464         (WebCore::WebGLRenderingContext::vertexAttribPointer):
1465         * html/canvas/WebGLVertexArrayObjectOES.cpp:
1466         (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
1467         (WebCore):
1468         * html/canvas/WebGLVertexArrayObjectOES.h:
1469         (WebGLVertexArrayObjectOES):
1470         (WebCore::WebGLVertexArrayObjectOES::getVertexAttribStateSize):
1471         * platform/chromium/support/Extensions3DChromium.cpp:
1472         (WebCore::Extensions3DChromium::createVertexArrayOES):
1473         (WebCore::Extensions3DChromium::deleteVertexArrayOES):
1474         (WebCore::Extensions3DChromium::isVertexArrayOES):
1475         (WebCore::Extensions3DChromium::bindVertexArrayOES):
1476
1477 2012-09-21  Kenichi Ishibashi  <bashi@chromium.org>
1478
1479         [Chromium] Use OpenTypeVerticalData on Linux
1480         https://bugs.webkit.org/show_bug.cgi?id=97277
1481
1482         Reviewed by Tony Chang.
1483
1484         Remove HarfBuzz dependency from GlyphPageTreeNodeSkia. Use OpenTypeVerticalData instead.
1485
1486         No new tests. Rebaselined existing tests.
1487
1488         * WebCore.gyp/WebCore.gyp: Added OpenTypeTypes.h and OpenTypeVerticalData.(cpp|h) for linux and android.
1489         * platform/graphics/FontCache.cpp:
1490         Inserted a space between > and > in typedef of FontVerticalDataCache so that making some compilers happy.
1491         (WebCore):
1492         * platform/graphics/SimpleFontData.h:
1493         (SimpleFontData): Moved declaration of m_verticalData to avoid compile warnings.
1494         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
1495         (WebCore):
1496         (WebCore::FontPlatformData::verticalData): Added.
1497         (WebCore::FontPlatformData::openTypeTable): Added.
1498         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
1499         (WebCore):
1500         (FontPlatformData):
1501         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Removed substituteWithVerticalGlyphs().
1502         (WebCore::GlyphPage::fill):
1503
1504 2012-09-21  Jeremy Apthorp  <jeremya@chromium.org>
1505
1506         Crash in WebCore::Document::fullScreenChangeDelayTimerFired
1507         https://bugs.webkit.org/show_bug.cgi?id=97367
1508
1509         Reviewed by Abhishek Arya.
1510
1511         The document could be destroyed during the processing of the
1512         fullscreenchange event, if the document was destroyed as a result of
1513         one of the dispatchEvent calls.
1514
1515         This bug isn't reliably reproducible, so no new tests.
1516
1517         * dom/Document.cpp:
1518         (WebCore::Document::fullScreenChangeDelayTimerFired):
1519
1520 2012-09-21  Pratik Solanki  <psolanki@apple.com>
1521
1522         No need to pass order file for WebCoreTestSupport build
1523         https://bugs.webkit.org/show_bug.cgi?id=97363
1524
1525         Reviewed by David Kilzer.
1526
1527         No new tests because no functional change.
1528
1529         * Configurations/WebCoreTestSupport.xcconfig:
1530
1531 2012-09-21  Chris Rogers  <crogers@google.com>
1532
1533         Add Web Audio support for deprecated/legacy APIs
1534         https://bugs.webkit.org/show_bug.cgi?id=97050
1535
1536         Reviewed by Eric Carlson.
1537
1538         The Web Audio API specification has undergone much review and some small API changes
1539         have been made (mostly naming-related changes).  This patch adds an ENABLE_LEGACY_WEB_AUDIO
1540         build option to allow ports to support the old names.
1541
1542         Tests changed:
1543         audiobuffersource-playbackrate.html
1544         audiobuffersource.html
1545         note-grain-on-testing.js
1546         oscillator-testing.js
1547
1548         * Configurations/FeatureDefines.xcconfig:
1549         * GNUmakefile.features.am:
1550         * Modules/webaudio/AudioBufferSourceNode.cpp:
1551         (WebCore::AudioBufferSourceNode::startGrain):
1552         (WebCore):
1553         (WebCore::AudioBufferSourceNode::noteGrainOn):
1554         * Modules/webaudio/AudioBufferSourceNode.h:
1555         (AudioBufferSourceNode):
1556         * Modules/webaudio/AudioBufferSourceNode.idl:
1557         * Modules/webaudio/AudioScheduledSourceNode.cpp:
1558         (WebCore::AudioScheduledSourceNode::start):
1559         (WebCore::AudioScheduledSourceNode::stop):
1560         (WebCore):
1561         (WebCore::AudioScheduledSourceNode::noteOn):
1562         (WebCore::AudioScheduledSourceNode::noteOff):
1563         * Modules/webaudio/AudioScheduledSourceNode.h:
1564         * Modules/webaudio/Oscillator.idl:
1565         * page/FeatureObserver.h:
1566
1567 2012-09-21  Mark Pilgrim  <pilgrim@chromium.org>
1568
1569         [Chromium] remove getFontFamilyForCharacters from PlatformSupport
1570         https://bugs.webkit.org/show_bug.cgi?id=96282
1571
1572         Reviewed by Tony Chang.
1573
1574         Migrating away from PlatformSupport. getFontFamilyForCharacters is
1575         moved to FontCache.h and overridden by the two platforms that
1576         need it (Chromium Linux and Blackberry). New files for the overrides.
1577         Part of a larger refactoring series. See tracking bug 82948.
1578
1579         * PlatformBlackBerry.cmake:
1580         * WebCore.gypi:
1581         * platform/chromium/PlatformSupport.h:
1582         (PlatformSupport):
1583         * platform/graphics/FontCache.h:
1584         (SimpleFontFamily):
1585         (FontCache):
1586         * platform/graphics/blackberry/FontCacheBlackberry.cpp: Added.
1587         (WebCore):
1588         (WebCore::FontCache::getFontFamilyForCharacters):
1589         * platform/graphics/blackberry/skia/PlatformSupport.cpp:
1590         (WebCore):
1591         * platform/graphics/blackberry/skia/PlatformSupport.h:
1592         (PlatformSupport):
1593         * platform/graphics/chromium/FontCacheAndroid.cpp:
1594         (WebCore::FontCache::getFontDataForCharacters):
1595         * platform/graphics/chromium/FontCacheChromiumLinux.cpp: Added.
1596         (WebCore):
1597         (WebCore::FontCache::getFontFamilyForCharacters):
1598         * platform/graphics/skia/FontCacheSkia.cpp:
1599         (WebCore::FontCache::getFontDataForCharacters):
1600
1601 2012-09-21  Chris Fleizach  <cfleizach@apple.com>
1602
1603         AX: WebKit exposes incorrect bounds for embedded SVG in HTML
1604         https://bugs.webkit.org/show_bug.cgi?id=96168
1605
1606         Reviewed by Eric Seidel.
1607
1608         Override absoluteFocusRingQuads() for SVG objects because the default
1609         implementation relies on addFocusRingRects(). In addFocusRingRects(), SVG 
1610         objects adds local positions for its rects instead of absolute positions.
1611
1612         Test: accessibility/svg-bounds.html
1613
1614         * rendering/RenderObject.h:
1615         (RenderObject):
1616         * rendering/svg/RenderSVGModelObject.cpp:
1617         (WebCore):
1618         (WebCore::RenderSVGModelObject::absoluteFocusRingQuads):
1619         * rendering/svg/RenderSVGModelObject.h:
1620         (RenderSVGModelObject):
1621
1622 2012-09-21  Lianghui Chen  <liachen@rim.com>
1623
1624         [BlackBerry] Really fix bug 95488 that user can get the authentication challenge dialog while the other tab has focus.
1625         https://bugs.webkit.org/show_bug.cgi?id=97348
1626         Internal PR: 186597.
1627
1628         Internally reviewed by Yong Li, Joe Mason.
1629         Reviewed by Yong Li.
1630
1631         Add a singleton AuthenticationChallengeManager to manage authentication
1632         challenge dialog. It does following things:
1633         Record page creation/deletion, so it knows what page is present or not.
1634         Record page visibility change so it knows when to display a dialog or not.
1635         Accept authentication challenge, and decide whether to postpone the
1636             challenge dialog based on whether there is active authentication challenge
1637             dialog already and whether its page is visible or not.
1638         When a challenge result comes back, notify the result to all clients
1639             authenticating for the same protection space, and then start the next
1640             authentication challenge from the same page, if there is one.
1641         When a page becomes visible, start the first authentication challenge
1642             dialog that has been blocked before.
1643
1644         And to support this new AuthenticationChallengeManager, and making the
1645             challenge really asynchronous, NetworkJob has been updated to support
1646             the concept of "freeze", which means buffering all network loading status
1647             change but don't send them to NetworkJob clients.
1648         This is necessary when authentication challenge is asynchronous, as the
1649             previous network loading status will likely come before user make any
1650             decision.
1651
1652         No new tests for platform specific internal change.
1653
1654         * PlatformBlackBerry.cmake:
1655         * platform/blackberry/AuthenticationChallengeManager.cpp: Added.
1656         (WebCore):
1657         (ChallengeInfo):
1658         (WebCore::ChallengeInfo::ChallengeInfo):
1659         (AuthenticationChallengeManagerPrivate):
1660         (WebCore::AuthenticationChallengeManagerPrivate::AuthenticationChallengeManagerPrivate):
1661         (WebCore::AuthenticationChallengeManagerPrivate::resumeAuthenticationChallenge):
1662         (WebCore::AuthenticationChallengeManagerPrivate::startAuthenticationChallenge):
1663         (WebCore::AuthenticationChallengeManagerPrivate::pageExists):
1664         (WebCore::AuthenticationChallengeManager::AuthenticationChallengeManager):
1665         (WebCore::AuthenticationChallengeManager::pageCreated):
1666         (WebCore::AuthenticationChallengeManager::pageDeleted):
1667         (WebCore::AuthenticationChallengeManager::pageVisibilityChanged):
1668         (WebCore::AuthenticationChallengeManager::authenticationChallenge):
1669         (WebCore::AuthenticationChallengeManager::cancelAuthenticationChallenge):
1670         (WebCore::AuthenticationChallengeManager::notifyChallengeResult):
1671         (WebCore::AuthenticationChallengeManager::instance):
1672         (WebCore::AuthenticationChallengeManager::init):
1673         * platform/blackberry/AuthenticationChallengeManager.h:
1674         (WebCore):
1675         (AuthenticationChallengeManager):
1676         * platform/blackberry/PageClientBlackBerry.h:
1677         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1678         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1679         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
1680         (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
1681         (WebCore::MediaPlayerPrivate::notifyChallengeResult):
1682         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1683         (MediaPlayerPrivate):
1684         * platform/network/blackberry/NetworkJob.cpp:
1685         (WebCore::NetworkJob::NetworkJob):
1686         (WebCore::NetworkJob::~NetworkJob):
1687         (WebCore):
1688         (WebCore::NetworkJob::handleNotifyStatusReceived):
1689         (WebCore::NetworkJob::handleNotifyClose):
1690         (WebCore::NetworkJob::sendRequestWithCredentials):
1691         (WebCore::NetworkJob::notifyChallengeResult):
1692         * platform/network/blackberry/NetworkJob.h:
1693         (NetworkJob):
1694
1695 2012-09-21  Simon Hausmann  <simon.hausmann@digia.com>
1696
1697         Unreviewed, rolling out r129248.
1698         http://trac.webkit.org/changeset/129248
1699         https://bugs.webkit.org/show_bug.cgi?id=96000
1700
1701         Broke win build
1702
1703         * Target.pri:
1704         * WebCore.vcproj/WebCore.vcproj:
1705         * rendering/RenderingAllInOne.cpp:
1706
1707 2012-09-21  Simon Hausmann  <simon.hausmann@nokia.com>
1708
1709         Make RenderingAllInOne.cpp usable for ports other than Apple/Win
1710         https://bugs.webkit.org/show_bug.cgi?id=96000
1711
1712         Reviewed by Ryosuke Niwa.
1713
1714         RenderingAllInOne.cpp unconditionally includes RenderThemeWin. This patch separates
1715         it out from the file.
1716
1717         * Target.pri: Add RenderingAllInOne.cpp to the list of supported all-in-one files.
1718         * WebCore.vcproj/WebCore.vcproj: Compile RenderThemeWin.cpp separately.
1719         * rendering/RenderingAllInOne.cpp: Don't include RenderThemeWin.cpp here.
1720
1721 2012-09-21  Joanmarie Diggs  <jdiggs@igalia.com>
1722
1723         REGRESSION (r127882): accessibility/spinbutton-value.html failing on GTK
1724         https://bugs.webkit.org/show_bug.cgi?id=96196
1725
1726         Reviewed by Martin Robinson.
1727
1728         The "regression" is that a new test was added but the support was missing
1729         in the Gtk port for spin buttons.
1730
1731         No new tests. Instead the new test which had been skipped was unskipped
1732         as part of this fix.
1733
1734         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1735         (atkRole): Map SpinButtonRole to ATK_ROLE_SPIN_BUTTON
1736         (getInterfaceMaskFromObject): Add SpinButtonRole to the roles implementing
1737         the AtkValue interface.
1738
1739 2012-09-21  Joanmarie Diggs  <jdiggs@igalia.com>
1740
1741         [GTK] [Stable] Infinite recursion in WebCore::AXObjectCache::getOrCreate
1742         https://bugs.webkit.org/show_bug.cgi?id=96932
1743
1744         Reviewed by Martin Robinson.
1745
1746         Make the decision based on RenderObjects rather than AccessibilityObjects
1747         to avoid the infinite recursion which occurs when remapAriaRoleDueToParent
1748         gets called.
1749
1750         Test: platform/gtk/accessibility/remapped-aria-crash.html
1751
1752         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1753         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
1754
1755 2012-09-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1756
1757         [BlackBerry] HTML5 media does not handle SSL certificate failures
1758         https://bugs.webkit.org/show_bug.cgi?id=93324
1759
1760         Reviewed by Eric Carlson.
1761
1762         RIM PR: 116205
1763         Passed FrameLoaderClientBlackBerry's playerId to MMRPlayer::load()
1764         because MMRPlayer::load() added playerId as a new parameter, which
1765         is required to initiate a MediaSSLHandlerStream to deal with
1766         certificate failure when loading a "https" media url.
1767
1768         Internally reviewed by Joe Mason <jmason@rim.com>.
1769
1770         No new tests since there's no functional change.
1771
1772         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1773         (WebCore::MediaPlayerPrivate::load):
1774
1775 2012-09-21  Evan Wallace  <evan.exe@gmail.com>
1776
1777         [WebSocket] Receiving a large message is really slow
1778         https://bugs.webkit.org/show_bug.cgi?id=97237
1779
1780         Reviewed by Alexey Proskuryakov.
1781
1782         WebSocketChannel always reallocates its internal buffer when it receives
1783         and appends new data which causes dramatic slowdowns for messages over
1784         2 MB in size. This patch changes the internal buffer of WebSocketChannel
1785         from a raw char array to a Vector<char> and uses its amortized append()
1786         method. This brings the time to receive a 5 MB message from 5.2 seconds
1787         to 0.25 seconds.
1788
1789         This patch is only for optimization. No new tests are needed.
1790
1791         * Modules/websockets/WebSocketChannel.cpp:
1792         (WebCore::WebSocketChannel::WebSocketChannel):
1793         (WebCore::WebSocketChannel::~WebSocketChannel):
1794         (WebCore::WebSocketChannel::fail):
1795         (WebCore::WebSocketChannel::resume):
1796         (WebCore::WebSocketChannel::didReceiveSocketStreamData):
1797         (WebCore::WebSocketChannel::appendToBuffer):
1798         (WebCore::WebSocketChannel::skipBuffer):
1799         (WebCore::WebSocketChannel::processBuffer):
1800         (WebCore::WebSocketChannel::resumeTimerFired):
1801         (WebCore::WebSocketChannel::processFrame):
1802         * Modules/websockets/WebSocketChannel.h:
1803
1804 2012-09-21  Andrey Adaikin  <aandrey@chromium.org>
1805
1806         Fix build with ENABLE_WEBGL=false
1807         https://bugs.webkit.org/show_bug.cgi?id=97309
1808
1809         Reviewed by Eric Seidel.
1810
1811         WebKit no longer builds when WEBGL is not enabled.
1812
1813         * rendering/FilterEffectRenderer.h:
1814         (FilterEffectRenderer):
1815
1816 2012-09-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1817
1818         [BlackBerry] Media player won't resize for the following source when first source fail to load
1819         https://bugs.webkit.org/show_bug.cgi?id=97342
1820
1821         Reviewed by Yong Li.
1822
1823         As platformPlayer will notify MediaPlayerPrivate for size change
1824         when loading metadata failed (in this case hasVideo() is false),
1825         we should prevent MediaPlayerPrivate to set width and height
1826         attribute of media element, otherwise we won't get the correct
1827         dimension for the following media sources.
1828
1829         Internally reviewed by Max Feil.
1830
1831         Test case: media/video-size.html
1832
1833         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1834         (WebCore::MediaPlayerPrivate::resizeSourceDimensions):
1835
1836 2012-09-21  Dan Bernstein  <mitz@apple.com>
1837
1838         REGRESSION (r126763): Incorrect line breaking when both kerning and word spacing are enabled
1839         https://bugs.webkit.org/show_bug.cgi?id=97280
1840
1841         Reviewed by Adele Peterson.
1842
1843         Font::width() never applies word spacing to the first character in the TextRun. The
1844         TextLayout optimization tried to achieve this behavior by not applying word spacing to
1845         any character, which led to this bug.
1846
1847         Test: fast/text/word-space-with-kerning-2.html
1848
1849         * platform/graphics/mac/ComplexTextController.cpp:
1850         (WebCore::TextLayout::TextLayout): Changed to use the given font rather than a version
1851         without word spacing.
1852         (WebCore::TextLayout::width): Added a check if the run starts with a space at a non-zero
1853         offset. If that is the case, then the ComplexTextController has added word spacing to that
1854         space, so subtract it here in order to maintain the behavior described above.
1855
1856 2012-09-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1857
1858         Unreviewed, rolling out r129219.
1859         http://trac.webkit.org/changeset/129219
1860         https://bugs.webkit.org/show_bug.cgi?id=97338
1861
1862         Presumably broke Apple Mac compilation (Requested by yurys_ on
1863         #webkit).
1864
1865         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1866         (WebCore::JSHTMLCanvasElement::getContext):
1867         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1868         (WebCore::V8HTMLCanvasElement::getContextCallback):
1869         * inspector/InjectedScriptCanvasModule.cpp:
1870         (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
1871         (WebCore):
1872         * inspector/InjectedScriptCanvasModule.h:
1873         (InjectedScriptCanvasModule):
1874         * inspector/InspectorCanvasAgent.cpp:
1875         * inspector/InspectorCanvasAgent.h:
1876         * inspector/InspectorCanvasInstrumentation.h:
1877         * inspector/InspectorInstrumentation.h:
1878         (InspectorInstrumentation):
1879
1880 2012-09-21  Andrey Adaikin  <aandrey@chromium.org>
1881
1882         Web Inspector: [Canvas] support 2D canvas instrumentation from the inspector C++ code
1883         https://bugs.webkit.org/show_bug.cgi?id=97203
1884
1885         Reviewed by Yury Semikhatsky.
1886
1887         Implements wrapping a 2D canvas context through the injected canvas module script facility.
1888
1889         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1890         (WebCore::JSHTMLCanvasElement::getContext):
1891         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1892         (WebCore::V8HTMLCanvasElement::getContextCallback):
1893         * inspector/InjectedScriptCanvasModule.cpp:
1894         (WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
1895         (WebCore):
1896         (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
1897         (WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
1898         * inspector/InjectedScriptCanvasModule.h:
1899         (InjectedScriptCanvasModule):
1900         * inspector/InspectorCanvasAgent.cpp:
1901         (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
1902         (WebCore):
1903         * inspector/InspectorCanvasAgent.h:
1904         (InspectorCanvasAgent):
1905         * inspector/InspectorCanvasInstrumentation.h:
1906         (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
1907         (WebCore):
1908         * inspector/InspectorInstrumentation.h:
1909         (InspectorInstrumentation):
1910
1911 2012-09-20  Andrey Kosyakov  <caseq@chromium.org>
1912
1913         Web Inspector: [refactoring] simplify interface to FileOutputStream
1914         https://bugs.webkit.org/show_bug.cgi?id=97226
1915
1916         Reviewed by Yury Semikhatsky.
1917
1918         - change OutputStream interface to match that of stream;
1919         - fix OutputStream implementations (FileOutputStream and those in heap profiler);
1920         - fix usages in Timeline and HeapProfiler.
1921
1922         * inspector/front-end/FileUtils.js:
1923         (WebInspector.OutputStream.prototype.write):
1924         (WebInspector.OutputStream.prototype.close):
1925         (WebInspector.ChunkedFileReader.prototype.start):
1926         (WebInspector.ChunkedFileReader.prototype._onChunkLoaded):
1927         (WebInspector.ChunkedXHRReader.prototype.start):
1928         (WebInspector.ChunkedXHRReader.prototype._onProgress):
1929         (WebInspector.ChunkedXHRReader.prototype._onLoad):
1930         (WebInspector.FileOutputStream):
1931         (WebInspector.FileOutputStream.prototype.open.callbackWrapper):
1932         (WebInspector.FileOutputStream.prototype.open):
1933         (WebInspector.FileOutputStream.prototype.write):
1934         (WebInspector.FileOutputStream.prototype.close):
1935         (WebInspector.FileOutputStream.prototype._onAppendDone):
1936         * inspector/front-end/HeapSnapshotLoader.js:
1937         (WebInspector.HeapSnapshotLoader.prototype.close):
1938         (WebInspector.HeapSnapshotLoader.prototype.write):
1939         * inspector/front-end/HeapSnapshotProxy.js:
1940         (WebInspector.HeapSnapshotLoaderProxy.prototype.startTransfer):
1941         (WebInspector.HeapSnapshotLoaderProxy.prototype.write):
1942         (WebInspector.HeapSnapshotLoaderProxy.prototype.close):
1943         * inspector/front-end/HeapSnapshotView.js:
1944         (WebInspector.HeapProfileHeader):
1945         (WebInspector.HeapProfileHeader.prototype.load):
1946         (WebInspector.HeapProfileHeader.prototype._setupWorker):
1947         (WebInspector.HeapProfileHeader.prototype.dispose):
1948         (WebInspector.HeapProfileHeader.prototype.transferChunk.callback):
1949         (WebInspector.HeapProfileHeader.prototype.transferChunk):
1950         (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
1951         (WebInspector.HeapProfileHeader.prototype.saveToFile.onOpen):
1952         (WebInspector.HeapProfileHeader.prototype.saveToFile):
1953         * inspector/front-end/TimelineModel.js:
1954         (WebInspector.TimelineModel.prototype._createFileWriter):
1955         (WebInspector.TimelineModel.prototype.saveToFile.callback):
1956         (WebInspector.TimelineModel.prototype.saveToFile):
1957         (WebInspector.TimelineModelLoader):
1958         (WebInspector.TimelineModelLoader.prototype.write):
1959         (WebInspector.TimelineModelLoader.prototype.close):
1960         (WebInspector.TimelineSaver):
1961         (WebInspector.TimelineSaver.prototype.save):
1962         (WebInspector.TimelineSaver.prototype._writeNextChunk):
1963
1964 2012-09-21  Alexandru Chiculita  <achicu@adobe.com>
1965
1966         -webkit-clip-path is applied on elements that are not descendant of the container
1967         https://bugs.webkit.org/show_bug.cgi?id=97217
1968
1969         Reviewed by Dirk Schulze.
1970
1971         The clip-path was set on the GraphicsContext, but was never restored, thus making all the layers
1972         rendered in the same "group" of save/restore state use the same clip-path.
1973
1974         Test: css3/masking/clip-path-restore.html
1975
1976         * css/StyleResolver.cpp:
1977         (WebCore::StyleResolver::collectMatchingRulesForList):
1978         clip-path property should create a stacking-context, otherwise the RenderLayers will not be nested,
1979         meaning that the clip-path of the parent is not going to apply correctly.
1980
1981         * rendering/RenderLayer.cpp:
1982         (WebCore::RenderLayer::paintLayerContents):
1983
1984 2012-09-21  Kent Tamura  <tkent@chromium.org>
1985
1986         Remove unused functions of LocalizedDate.h
1987         https://bugs.webkit.org/show_bug.cgi?id=97311
1988
1989         Reviewed by Kentaro Hara.
1990
1991         WebCore::localizedTimeFormatText, WebCore::localizedShortTimeFormatText,
1992         and WebCore::timeAMPMLabels are not used any more because we switched to
1993         the corresponding functions of Localizer.
1994
1995         No new tests because of no behavior changes.
1996
1997         * platform/text/Localizer.h:
1998         (Localizer): Moved comments from LocalizedDate.h.
1999         * platform/text/LocalizedDate.h:
2000         (WebCore): Removed localizedTimeFormatText,
2001         localizedShortTimeFormatText, and timeAMPMLabels.
2002         * platform/text/LocalizedDateICU.cpp:
2003         (WebCore): ditto.
2004         * platform/text/LocalizedDateWin.cpp:
2005         (WebCore): ditto.
2006         * platform/text/mac/LocalizedDateMac.cpp:
2007         (WebCore): ditto.
2008
2009 2012-09-21  Keishi Hattori  <keishi@webkit.org>
2010
2011         Add datalist suggestions into DateTimeChooserParameters
2012         https://bugs.webkit.org/show_bug.cgi?id=97292
2013
2014         Reviewed by Kent Tamura.
2015
2016         We read datalist suggestions, add them to DateTimeChooserParameters,
2017         and pass them to the page popup.
2018
2019         No new tests. No behavior change yet.
2020
2021         * html/shadow/CalendarPickerElement.cpp:
2022         (WebCore::CalendarPickerElement::openPopup): Read datalist suggestions and add them to DateTimeChooserParameters
2023         * platform/DateTimeChooser.h:
2024         (DateTimeChooserParameters): Added localizedSuggestionValues so we can show localized values inside the page popup.
2025
2026 2012-09-21  Yoshifumi Inoue  <yosin@chromium.org>
2027
2028         [Forms] DateTimeEditElement::layout() should take date time format as a parameter
2029         https://bugs.webkit.org/show_bug.cgi?id=97300
2030
2031         Reviewed by Kent Tamura.
2032
2033         This patch introduces DateTimeEditElement::LayoutParameters struct for
2034         passing four parameters to DateTimeEditElement::layout() for passing
2035         date time format from client of DateTimeEditElement instead of
2036         DateTimeEditElement::layout() takes time or short time format.
2037
2038         This patch is a part of preparation of introducing multiple fields
2039         date/datetime/month/week input UI.
2040
2041         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
2042         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
2043
2044         No new tests. This patch doesn't change behavior.
2045
2046         * html/TimeInputType.cpp:
2047         (WebCore::TimeInputType::updateInnerTextValue): Changed to use LayoutParmeters.
2048         * html/shadow/DateTimeEditElement.cpp:  Removed unused include files, LocalizedDate.h and LocalizedNumber.h.
2049         (DateTimeEditBuilder):
2050         (WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Changed parameters to LayoutParmeters.
2051         (WebCore::DateTimeEditElement::LayoutParameters::shouldHaveSecondField): Moved from DateTimeEditBuilder::needSecondField().
2052         (WebCore::DateTimeEditElement::layout): Changed to take LayoutParameters.
2053         (WebCore::DateTimeEditElement::setValueAsDate): ditto
2054         (WebCore::DateTimeEditElement::setEmptyValue): ditto
2055         * html/shadow/DateTimeEditElement.h: Removed unused classe declarations DateComponents and DateTimeEditLayouter.
2056         (LayoutParameters):  Added to bundle parameters for layout().
2057         (WebCore::DateTimeEditElement::LayoutParameters::LayoutParameters): Added.
2058
2059 2012-09-20  Pavel Feldman  <pfeldman@chromium.org>
2060
2061         Web Inspector: render grid scale to the right / at bottom in case box is close to 0 on that axis.
2062         https://bugs.webkit.org/show_bug.cgi?id=97219
2063
2064         Reviewed by Vsevolod Vlasov.
2065
2066         Otherwise, it is hard to inspect objects close to (0, 0)
2067
2068         * inspector/InspectorOverlayPage.html:
2069
2070 2012-09-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2071
2072         Unreviewed, rolling out r129086.
2073         http://trac.webkit.org/changeset/129086
2074         https://bugs.webkit.org/show_bug.cgi?id=97312
2075
2076         Broke input rendering (Requested by shinyak on #webkit).
2077
2078         * html/BaseButtonInputType.cpp:
2079         (WebCore):
2080         * html/BaseButtonInputType.h:
2081         (WebCore::BaseButtonInputType::BaseButtonInputType):
2082         (BaseButtonInputType):
2083         * html/FileInputType.cpp:
2084         (WebCore::UploadButtonElement::create):
2085         (WebCore::UploadButtonElement::createForMultiple):
2086         * html/HTMLInputElement.cpp:
2087         (WebCore::HTMLInputElement::parseAttribute):
2088         * html/InputType.cpp:
2089         * html/InputType.h:
2090         (InputType):
2091         * rendering/RenderButton.cpp:
2092         (WebCore::RenderButton::RenderButton):
2093         (WebCore::RenderButton::styleDidChange):
2094         (WebCore::RenderButton::updateFromElement):
2095         (WebCore):
2096         (WebCore::RenderButton::setText):
2097         (WebCore::RenderButton::text):
2098         * rendering/RenderButton.h:
2099         (RenderButton):
2100
2101 2012-09-21  Kihong Kwon  <kihong.kwon@samsung.com>
2102
2103         Remove useless class prototypes from Vibration.h
2104         https://bugs.webkit.org/show_bug.cgi?id=97304
2105
2106         Reviewed by Kentaro Hara.
2107
2108         Remove two useless class prototype statements in the Vibration.h
2109
2110         * Modules/vibration/Vibration.h:
2111
2112 2012-09-21  Keishi Hattori  <keishi@webkit.org>
2113
2114         Prepare CalendarPicker so we can add another picker, SuggetionPicker
2115         https://bugs.webkit.org/show_bug.cgi?id=97193
2116
2117         Reviewed by Kent Tamura.
2118
2119         Preparation so we can add another picker to CalendarPicker and switch
2120         between them.
2121
2122         No new tests. No behavior change.
2123
2124         * Resources/pagepopups/calendarPicker.css:
2125         (.calendar-picker): Added so we can apply these styles just to calendar picker.
2126         * Resources/pagepopups/calendarPicker.js:
2127         (CalendarPicker.validateConfig): Renamed so each picker can validate the config object.
2128         (initialize):
2129         (closePicker): Call Picker.cleanup().
2130         (openCalendarPicker):
2131         (CalendarPicker):
2132         (CalendarPicker.prototype.cleanup): Cleanup event listener on document.body.
2133         * Resources/pagepopups/pickerCommon.js:
2134         (Picker.prototype.cleanup):
2135
2136 2012-09-20  John Mellor  <johnme@chromium.org>
2137
2138         Text Autosizing: Cluster text at flow roots, for consistency and to avoid autosizing headers/footers.
2139         https://bugs.webkit.org/show_bug.cgi?id=97025
2140
2141         Reviewed by Julien Chaffraix.
2142
2143         This patch has 3 main changes:
2144
2145         1. All text within a "cluster" (roughly equivalent to a CSS flow root /
2146            block formatting context) must have a uniform textAutosizingMultiplier,
2147            except for subtrees which are themselves clusters. This improves the
2148            consistency of the final output, since sibling blocks are now more
2149            likely to have the same multiplier (hence grow in proportion).
2150
2151         2. Clusters must contain a minimum amount of text in order to be
2152            autosized (4 lines of text, assuming each char is 1em wide, so about
2153            2 lines of text in practice). This is to reduce the likelihood of
2154            autosizing things like headers and footers, which can be quite
2155            visually distracting. The rationale is that if a cluster contains
2156            very few lines of text then it's ok to have to zoom in and pan from
2157            side to side to read each line, since if there are very few lines of
2158            text you'll only need to pan across once or twice.
2159
2160         3. To avoid adding a 3rd tree traversal, processSubtree/processBox were
2161            refactored such that all of Text Autosizing now happens as a single
2162            tree traversal (hence halving the number of tree traversals done).
2163
2164         Tests: fast/text-autosizing/cluster-narrow-in-wide.html
2165                fast/text-autosizing/cluster-wide-in-narrow.html
2166                fast/text-autosizing/clusters-insufficient-text.html
2167                fast/text-autosizing/clusters-insufficient-width.html
2168                fast/text-autosizing/clusters-sufficient-text-except-in-root.html
2169                fast/text-autosizing/clusters-sufficient-width.html
2170
2171         * rendering/TextAutosizer.cpp:
2172         (TextAutosizingWindowInfo):
2173
2174             Added this struct to bundle together the various sizes that
2175             processSubtree needs to pass to every recursive call to
2176             processCluster and processContainer.
2177
2178         (WebCore::TextAutosizer::processSubtree):
2179
2180             - Bundle windowSize and minLayoutSize together as a single struct,
2181               TextAutosizingWindowInfo, rather than passing them separately.
2182             - Walk up the tree to find the current cluster and container, rather
2183               than (incorrectly) assuming that the layoutRoot is always a
2184               container.
2185             - Call processCluster instead of traversing the tree.
2186
2187         (WebCore::TextAutosizer::processCluster):
2188
2189             Calculates the multiplier based on the width of the cluster (moved
2190             the calculation here from processBox, since now the multiplier is
2191             fixed per cluster), and delegates to processContainer for the actual
2192             tree traversal (since clusters are also containers).
2193
2194         (WebCore::contentHeightIsConstrained):
2195
2196             Changed parameter to RenderBlock.
2197
2198         (WebCore::TextAutosizer::processContainer):
2199
2200             This now takes care of the whole tree traversal, recursively calling
2201             processCluster/processContainer when it encounters such an object,
2202             and setMultiplier on RenderText objects (as processBox used to).
2203             Also added a check that the RenderText's multiplier is not already
2204             equal to the target multiplier (to save needlessly setting it).
2205
2206         (WebCore::TextAutosizer::isContainer):
2207
2208             - Changed to be a positive (is) instead of negative (isNot) check.
2209             - Require objects to be RenderBlocks so it's easier to find them
2210               using containingBlock, and there don't seem to be many interesting
2211               RenderBoxes that aren't RenderBlocks.
2212
2213         (WebCore::TextAutosizer::isAutosizingCluster):
2214
2215             A container that is also a flow root / block formatting context
2216             (approximately), hence demarcates an independent region of the page,
2217             within which we want consistent autosizing.
2218
2219         (WebCore::TextAutosizer::clusterShouldBeAutosized):
2220
2221             Uses measureDescendantTextWidth and to check whether the cluster
2222             contains enough text to be worth autosizing.
2223
2224         (WebCore::TextAutosizer::measureDescendantTextWidth):
2225
2226             Recursively traverse the cluster, skipping constrained height
2227             containers as processContainer does, to measure how much autosizable
2228             text it contains. Early out as soon as the minimum text width is
2229             reached.
2230
2231         (WebCore::TextAutosizer::nextInPreOrderSkippingDescendantsOfContainers):
2232
2233             Replaces nextInPreOrderMatchingFilter. The filter is now fixed to
2234             isContainer (we no longer need an isAutosizingCluster filter, since
2235             I consolidated the tree traversal), and filtered objects are
2236             actually returned (so they can in turn be recursively traversed),
2237             it's just their descendants that get skipped.
2238
2239         * rendering/TextAutosizer.h:
2240         (TextAutosizer):
2241
2242             - Deleted RenderObjectFilterFunctor, since the filter of
2243               nextInPreOrderSkippingDescendantsOfContainers is now fixed.
2244
2245 2012-09-20  Yoshifumi Inoue  <yosin@chromium.org>
2246
2247         [Platform] There are memory leak in LocaleICU
2248         https://bugs.webkit.org/show_bug.cgi?id=97289
2249
2250         Reviewed by Kent Tamura.
2251
2252         This patch adds udt_close() calls for medium time format and short
2253         time format data used in LocaleICU class to avoid memory leak.
2254
2255         This memory leak is found by external tool Valgrind and reported in
2256         Chromium bug repositry(http://crbug.com/151006) with stack trace of
2257         call path of leaked memory.
2258
2259         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
2260         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
2261
2262         No new tests. External tool such as Valgrind will check this memory leak.
2263
2264         * platform/text/LocaleICU.cpp:
2265         (WebCore::LocaleICU::~LocaleICU): Added to call udt_close() for m_mediumTimeFormat
2266         and m_shortTimeFormat which have UDateFormat objects.
2267
2268 2012-09-20  Kenichi Ishibashi  <bashi@chromium.org>
2269
2270         Chromium mac cannot display AppleColorEmoji
2271         https://bugs.webkit.org/show_bug.cgi?id=97286
2272
2273         Reviewed by Kent Tamura.
2274
2275         Disable AppleColorEmoji for now. We will re-enable it after Skia supports CTFontDrawGlyphs().
2276
2277         No new tests. Fallback fonts should be used for emoji codepoints.
2278
2279         * platform/graphics/mac/FontCacheMac.mm:
2280         (WebCore::FontCache::getFontDataForCharacters):
2281
2282 2012-09-20  Luke Macpherson   <macpherson@chromium.org>
2283
2284         Fix use-after free when using a variable to specify a -webkit-filter.
2285         https://bugs.webkit.org/show_bug.cgi?id=97153
2286
2287         Reviewed by Abhishek Arya.
2288
2289         Make StyleResolver's m_pendingSVGDocuments a hashmap of RefPtr instead of raw pointers such that the document values cannot be freed prematurely.
2290         Present assumption is that storing raw pointers is ok because CSSValues will live as long as the StyleResolver instance, however that it no longer
2291         true when variables are used, so we must ensure we increment the reference counter to ensure the CSSValues are not freed prematurely.
2292
2293         Test: fast/css/variables/var-filter.html
2294
2295         * css/StyleResolver.cpp:
2296         (WebCore::StyleResolver::collectMatchingRulesForList):
2297         * css/StyleResolver.h:
2298         (StyleResolver):
2299
2300 2012-09-20  Levi Weintraub  <leviw@chromium.org>
2301
2302         Prevent reading stale data from InlineTextBoxes
2303         https://bugs.webkit.org/show_bug.cgi?id=94750
2304
2305         Reviewed by Abhishek Arya.
2306
2307         Text from dirty InlineTextBoxes should never be read or used. This change
2308         enforces this design goal by forcefully zero-ing out the start and length
2309         of InlineTextBoxes when they're being marked dirty. Ideally, we'd also
2310         add asserts to the accessors for this data, but there are still several
2311         places in editing that cause this. https://bugs.webkit.org/show_bug.cgi?id=97264
2312         tracks these cases.
2313
2314         This change involves making markDirty virtual. Running the line-layout
2315         performance test as well as profiling resizing the html5 spec showed
2316         negligable impact with this change.
2317
2318         No new tests as this doesn't change any proper behavior.
2319
2320         * dom/Position.cpp:
2321         (WebCore::Position::downstream): Adding a FIXME.
2322         * rendering/InlineBox.h:
2323         (WebCore::InlineBox::markDirty): Marking virtual to allow InlineTextBox to
2324         overload and zero out its start and length.
2325         * rendering/InlineTextBox.cpp:
2326         (WebCore::InlineTextBox::markDirty): Zeroing out the start and length when
2327         we mark the box dirty.
2328         * rendering/InlineTextBox.h:
2329         * rendering/RenderText.cpp:
2330         (WebCore::RenderText::setTextWithOffset): Adding a FIXME.
2331
2332 2012-09-20  Adam Barth  <abarth@webkit.org>
2333
2334         Measure how often web pages use Worker and SharedWorker
2335         https://bugs.webkit.org/show_bug.cgi?id=97273
2336
2337         Reviewed by Ojan Vafai.
2338
2339         We're not considering removing these features, but it will give us a
2340         baseline idea of how often they're used.
2341
2342         * page/FeatureObserver.h:
2343         * workers/SharedWorker.cpp:
2344         (WebCore::SharedWorker::create):
2345         * workers/Worker.cpp:
2346         (WebCore::Worker::create):
2347
2348 2012-09-20  Tony Chang  <tony@chromium.org>
2349
2350         [chromium] Enable more clang warnings
2351         https://bugs.webkit.org/show_bug.cgi?id=97257
2352
2353         Reviewed by James Robinson.
2354
2355         Add -Wunused-parameter to WebCore targets. Apple's Mac compile already
2356         warns on this and it's a common source of error for Chromium patches.
2357
2358         No new tests, should compile cleanly.
2359
2360         * WebCore.gyp/WebCore.gyp:
2361
2362 2012-09-20  Dan Bernstein  <mitz@apple.com>
2363
2364         Kerning never occurs between a space and the following glyph
2365         https://bugs.webkit.org/show_bug.cgi?id=97269
2366
2367         Reviewed by Tim Horton.
2368
2369         Covered by several existing tests.
2370
2371         * platform/graphics/mac/ComplexTextController.cpp:
2372         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Changed to not reset the advance
2373         of a space, and added a comment about how this also needs to be fixed for other characters
2374         that are treated as spaces.
2375
2376 2012-09-20  Kenichi Ishibashi  <bashi@chromium.org>
2377
2378         [Chromium] Improve glyph selection of HarfBuzzShaper
2379         https://bugs.webkit.org/show_bug.cgi?id=97164
2380
2381         Reviewed by Tony Chang.
2382
2383         Take into account clusters for selection.
2384
2385         Test: fast/text/international/hebrew-selection.html
2386
2387         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
2388         (WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult): Removed m_logClusters.
2389         m_logCluster is no longer used.
2390         (WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
2391         - If targetX is in the left side of the first cluster, return the leftmost character index.
2392         - If targetX is in the right side of the last cluster, return the rightmost character index.
2393         - If targetX is between the right side of the cluster N and the left side of the cluster N+1, then:
2394           - return N+1 for LTR.
2395           - return N for RTL.
2396         (WebCore::HarfBuzzShaper::HarfBuzzRun::xPositionForOffset):
2397         Find the cluster of index in question, then:
2398         - return the left side boundary of the cluster for LTR.
2399         - return the right side boundary of the cluster for RTL.
2400         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h:
2401         (HarfBuzzRun):
2402
2403 2012-09-20  Tony Chang  <tony@chromium.org>
2404
2405         Replace RenderListBox::updateLogicalHeight with RenderListBox::computeLogicalHeight
2406         https://bugs.webkit.org/show_bug.cgi?id=97263
2407
2408         Reviewed by Ojan Vafai.
2409
2410         This is part of making computeLogicalHeight virtual so with any RenderBox pointer, one
2411         can compute the logical height without mutating the RenderBox.
2412
2413         No new tests, this is a refactor and existing list box tests should pass.
2414
2415         * rendering/RenderBox.h:
2416         (RenderBox):
2417         * rendering/RenderListBox.cpp:
2418         (WebCore::RenderListBox::layout): Move layout related logic here.
2419         (WebCore::RenderListBox::computeLogicalHeight): Use const version and remove layout related code.
2420         * rendering/RenderListBox.h:
2421         (RenderListBox): Override computeLogicalHeight.
2422
2423 2012-09-20  Mike West  <mkwst@chromium.org>
2424
2425         CSP reports should send an empty "blocked-uri" rather than nothing.
2426         https://bugs.webkit.org/show_bug.cgi?id=97256
2427
2428         Reviewed by Adam Barth.
2429
2430         In cases where a Content Security Policy violation report is generated
2431         without blocking a resource at a particular URI (inline scripts, for
2432         example), we currently leave the "blocked-uri" attribute out of the
2433         report entirely. For the same reason that we included the "referrer"
2434         attribute in webkit.org/b/97233, we should include an explicitly empty
2435         "blocked-uri" in these cases.
2436
2437         This new behavior is covered by updates to existing test expectations
2438         around the reporting functionality.
2439
2440         * page/ContentSecurityPolicy.cpp:
2441         (WebCore::ContentSecurityPolicy::reportViolation):
2442             If the 'blocked-uri' is invalid, add a "blocked-uri" attribute that
2443             is explicitly empty.
2444
2445 2012-09-20  Patrick Gansterer  <paroga@webkit.org>
2446
2447         Add String::numberToFixedPrecisionString()
2448         https://bugs.webkit.org/show_bug.cgi?id=96330
2449
2450         Reviewed by Benjamin Poulain.
2451
2452         * platform/text/TextStream.cpp:
2453         (WebCore::TextStream::operator<<): Use the new function instead of String::number() with flags.
2454
2455 2012-09-20  Adam Klein  <adamk@chromium.org>
2456
2457         Rename ContainerNode::parserAddChild "parserAppendChild" for consistency
2458         https://bugs.webkit.org/show_bug.cgi?id=97254
2459
2460         Reviewed by Adam Barth.
2461
2462         No functional change, all the below changes are simple renames.
2463
2464         * dom/ContainerNode.cpp:
2465         (WebCore::ContainerNode::takeAllChildrenFrom):
2466         (WebCore::ContainerNode::parserAppendChild):
2467         * dom/ContainerNode.h:
2468         (ContainerNode):
2469         * dom/DOMImplementation.cpp:
2470         (WebCore::DOMImplementation::createDocument):
2471         * editing/markup.cpp:
2472         (WebCore::createFragmentForTransformToFragment):
2473         * html/HTMLViewSourceDocument.cpp:
2474         (WebCore::HTMLViewSourceDocument::createContainingTable):
2475         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
2476         (WebCore::HTMLViewSourceDocument::addLine):
2477         (WebCore::HTMLViewSourceDocument::finishLine):
2478         (WebCore::HTMLViewSourceDocument::addText):
2479         (WebCore::HTMLViewSourceDocument::addBase):
2480         (WebCore::HTMLViewSourceDocument::addLink):
2481         * html/parser/HTMLConstructionSite.cpp:
2482         (WebCore::executeTask):
2483         * html/parser/HTMLTreeBuilder.cpp:
2484         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2485         * html/track/WebVTTParser.cpp:
2486         (WebCore::WebVTTParser::constructTreeFromToken):
2487         * xml/XMLErrors.cpp:
2488         (WebCore::createXHTMLParserErrorHeader):
2489         (WebCore::XMLErrors::insertErrorMessageBlock):
2490         * xml/parser/XMLDocumentParser.cpp:
2491         (WebCore::XMLDocumentParser::enterText):
2492         (WebCore::XMLDocumentParser::parseDocumentFragment):
2493         * xml/parser/XMLDocumentParserLibxml2.cpp:
2494         (WebCore::XMLDocumentParser::startElementNs):
2495         (WebCore::XMLDocumentParser::processingInstruction):
2496         (WebCore::XMLDocumentParser::cdataBlock):
2497         (WebCore::XMLDocumentParser::comment):
2498         (WebCore::XMLDocumentParser::internalSubset):
2499         * xml/parser/XMLDocumentParserQt.cpp:
2500         (WebCore::XMLDocumentParser::parseStartElement):
2501         (WebCore::XMLDocumentParser::parseProcessingInstruction):
2502         (WebCore::XMLDocumentParser::parseCdata):
2503         (WebCore::XMLDocumentParser::parseComment):
2504         (WebCore::XMLDocumentParser::parseDtd):
2505         * xml/parser/XMLTreeBuilder.cpp:
2506         (WebCore::XMLTreeBuilder::processDOCTYPE):
2507         (WebCore::XMLTreeBuilder::processStartTag):
2508         (WebCore::XMLTreeBuilder::add):
2509
2510 2012-09-20  James Robinson  <jamesr@chromium.org>
2511
2512         [chromium] Remove unused copy of chromium compositor implementation files
2513         https://bugs.webkit.org/show_bug.cgi?id=97255
2514
2515         Reviewed by Adam Barth.
2516
2517         Now that use_libcc_for_compositor is set to 1 these files aren't used anywhere.
2518
2519         * WebCore.gyp/WebCore.gyp:
2520         * WebCore.gypi:
2521         * platform/chromium/support/CCThreadImpl.cpp: Removed.
2522         * platform/chromium/support/CCThreadImpl.h: Removed.
2523         * platform/chromium/support/WebCompositorImpl.cpp: Removed.
2524         * platform/chromium/support/WebCompositorImpl.h: Removed.
2525         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Removed.
2526         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Removed.
2527         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp: Removed.
2528         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h: Removed.
2529         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
2530         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
2531         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
2532         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: Removed.
2533         * platform/graphics/chromium/CanvasLayerTextureUpdater.h: Removed.
2534         * platform/graphics/chromium/ContentLayerChromium.cpp: Removed.
2535         * platform/graphics/chromium/ContentLayerChromium.h: Removed.
2536         * platform/graphics/chromium/ContentLayerChromiumClient.h: Removed.
2537         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: Removed.
2538         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Removed.
2539         * platform/graphics/chromium/GeometryBinding.cpp: Removed.
2540         * platform/graphics/chromium/GeometryBinding.h: Removed.
2541         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2542         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp: Removed.
2543         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.h: Removed.
2544         * platform/graphics/chromium/IOSurfaceLayerChromium.cpp: Removed.
2545         * platform/graphics/chromium/IOSurfaceLayerChromium.h: Removed.
2546         * platform/graphics/chromium/ImageLayerChromium.cpp: Removed.
2547         * platform/graphics/chromium/ImageLayerChromium.h: Removed.
2548         * platform/graphics/chromium/LayerChromium.cpp: Removed.
2549         * platform/graphics/chromium/LayerChromium.h: Removed.
2550         * platform/graphics/chromium/LayerTextureSubImage.cpp: Removed.
2551         * platform/graphics/chromium/LayerTextureSubImage.h: Removed.
2552         * platform/graphics/chromium/LayerTextureUpdater.h: Removed.
2553         * platform/graphics/chromium/PlatformColor.h: Removed.
2554         * platform/graphics/chromium/ProgramBinding.cpp: Removed.
2555         * platform/graphics/chromium/ProgramBinding.h: Removed.
2556         * platform/graphics/chromium/RateLimiter.cpp: Removed.
2557         * platform/graphics/chromium/RateLimiter.h: Removed.
2558         * platform/graphics/chromium/RenderSurfaceChromium.cpp: Removed.
2559         * platform/graphics/chromium/RenderSurfaceChromium.h: Removed.
2560         * platform/graphics/chromium/ScrollbarLayerChromium.cpp: Removed.
2561         * platform/graphics/chromium/ScrollbarLayerChromium.h: Removed.
2562         * platform/graphics/chromium/ShaderChromium.cpp: Removed.
2563         * platform/graphics/chromium/ShaderChromium.h: Removed.
2564         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Removed.
2565         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Removed.
2566         * platform/graphics/chromium/SolidColorLayerChromium.cpp: Removed.
2567         * platform/graphics/chromium/SolidColorLayerChromium.h: Removed.
2568         * platform/graphics/chromium/TextureCopier.cpp: Removed.
2569         * platform/graphics/chromium/TextureCopier.h: Removed.
2570         * platform/graphics/chromium/TextureLayerChromium.cpp: Removed.
2571         * platform/graphics/chromium/TextureLayerChromium.h: Removed.
2572         * platform/graphics/chromium/TextureLayerChromiumClient.h: Removed.
2573         * platform/graphics/chromium/ThrottledTextureUploader.cpp: Removed.
2574         * platform/graphics/chromium/ThrottledTextureUploader.h: Removed.
2575         * platform/graphics/chromium/TiledLayerChromium.cpp: Removed.
2576         * platform/graphics/chromium/TiledLayerChromium.h: Removed.
2577         * platform/graphics/chromium/TreeSynchronizer.cpp: Removed.
2578         * platform/graphics/chromium/TreeSynchronizer.h: Removed.
2579         * platform/graphics/chromium/UnthrottledTextureUploader.h: Removed.
2580         * platform/graphics/chromium/VideoLayerChromium.cpp: Removed.
2581         * platform/graphics/chromium/VideoLayerChromium.h: Removed.
2582         * platform/graphics/chromium/cc/CCActiveAnimation.cpp: Removed.
2583         * platform/graphics/chromium/cc/CCActiveAnimation.h: Removed.
2584         * platform/graphics/chromium/cc/CCAnimationCurve.cpp: Removed.
2585         * platform/graphics/chromium/cc/CCAnimationCurve.h: Removed.
2586         * platform/graphics/chromium/cc/CCAnimationEvents.h: Removed.
2587         * platform/graphics/chromium/cc/CCAppendQuadsData.h: Removed.
2588         * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.cpp: Removed.
2589         * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.h: Removed.
2590         * platform/graphics/chromium/cc/CCCompletionEvent.h: Removed.
2591         * platform/graphics/chromium/cc/CCDamageTracker.cpp: Removed.
2592         * platform/graphics/chromium/cc/CCDamageTracker.h: Removed.
2593         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp: Removed.
2594         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h: Removed.
2595         * platform/graphics/chromium/cc/CCDebugRectHistory.cpp: Removed.
2596         * platform/graphics/chromium/cc/CCDebugRectHistory.h: Removed.
2597         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp: Removed.
2598         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h: Removed.
2599         * platform/graphics/chromium/cc/CCDirectRenderer.cpp: Removed.
2600         * platform/graphics/chromium/cc/CCDirectRenderer.h: Removed.
2601         * platform/graphics/chromium/cc/CCDrawQuad.cpp: Removed.
2602         * platform/graphics/chromium/cc/CCDrawQuad.h: Removed.
2603         * platform/graphics/chromium/cc/CCFontAtlas.cpp: Removed.
2604         * platform/graphics/chromium/cc/CCFontAtlas.h: Removed.
2605         * platform/graphics/chromium/cc/CCFrameRateController.cpp: Removed.
2606         * platform/graphics/chromium/cc/CCFrameRateController.h: Removed.
2607         * platform/graphics/chromium/cc/CCFrameRateCounter.cpp: Removed.
2608         * platform/graphics/chromium/cc/CCFrameRateCounter.h: Removed.
2609         * platform/graphics/chromium/cc/CCGraphicsContext.h: Removed.
2610         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp: Removed.
2611         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h: Removed.
2612         * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp: Removed.
2613         * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h: Removed.
2614         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp: Removed.
2615         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h: Removed.
2616         * platform/graphics/chromium/cc/CCInputHandler.h: Removed.
2617         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp: Removed.
2618         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h: Removed.
2619         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: Removed.
2620         * platform/graphics/chromium/cc/CCLayerAnimationController.h: Removed.
2621         * platform/graphics/chromium/cc/CCLayerImpl.cpp: Removed.
2622         * platform/graphics/chromium/cc/CCLayerImpl.h: Removed.
2623         * platform/graphics/chromium/cc/CCLayerIterator.cpp: Removed.
2624         * platform/graphics/chromium/cc/CCLayerIterator.h: Removed.
2625         * platform/graphics/chromium/cc/CCLayerQuad.cpp: Removed.
2626         * platform/graphics/chromium/cc/CCLayerQuad.h: Removed.
2627         * platform/graphics/chromium/cc/CCLayerSorter.cpp: Removed.
2628         * platform/graphics/chromium/cc/CCLayerSorter.h: Removed.
2629         * platform/graphics/chromium/cc/CCLayerTilingData.cpp: Removed.
2630         * platform/graphics/chromium/cc/CCLayerTilingData.h: Removed.
2631         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Removed.
2632         * platform/graphics/chromium/cc/CCLayerTreeHost.h: Removed.
2633         * platform/graphics/chromium/cc/CCLayerTreeHostClient.h: Removed.
2634         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: Removed.
2635         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h: Removed.
2636         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Removed.
2637         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Removed.
2638         * platform/graphics/chromium/cc/CCMathUtil.cpp: Removed.
2639         * platform/graphics/chromium/cc/CCMathUtil.h: Removed.
2640         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Removed.
2641         * platform/graphics/chromium/cc/CCOcclusionTracker.h: Removed.
2642         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: Removed.
2643         * platform/graphics/chromium/cc/CCOverdrawMetrics.h: Removed.
2644         * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp: Removed.
2645         * platform/graphics/chromium/cc/CCPageScaleAnimation.h: Removed.
2646         * platform/graphics/chromium/cc/CCPrioritizedTexture.cpp: Removed.
2647         * platform/graphics/chromium/cc/CCPrioritizedTexture.h: Removed.
2648         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp: Removed.
2649         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h: Removed.
2650         * platform/graphics/chromium/cc/CCPriorityCalculator.cpp: Removed.
2651         * platform/graphics/chromium/cc/CCPriorityCalculator.h: Removed.
2652         * platform/graphics/chromium/cc/CCProxy.cpp: Removed.
2653         * platform/graphics/chromium/cc/CCProxy.h: Removed.
2654         * platform/graphics/chromium/cc/CCQuadCuller.cpp: Removed.
2655         * platform/graphics/chromium/cc/CCQuadCuller.h: Removed.
2656         * platform/graphics/chromium/cc/CCQuadSink.h: Removed.
2657         * platform/graphics/chromium/cc/CCRenderPass.cpp: Removed.
2658         * platform/graphics/chromium/cc/CCRenderPass.h: Removed.
2659         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp: Removed.
2660         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h: Removed.
2661         * platform/graphics/chromium/cc/CCRenderPassSink.h: Removed.
2662         * platform/graphics/chromium/cc/CCRenderSurface.cpp: Removed.
2663         * platform/graphics/chromium/cc/CCRenderSurface.h: Removed.
2664         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: Removed.
2665         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h: Removed.
2666         * platform/graphics/chromium/cc/CCRenderer.h: Removed.
2667         * platform/graphics/chromium/cc/CCRendererGL.cpp: Removed.
2668         * platform/graphics/chromium/cc/CCRendererGL.h: Removed.
2669         * platform/graphics/chromium/cc/CCRenderingStats.h: Removed.
2670         * platform/graphics/chromium/cc/CCResourceProvider.cpp: Removed.
2671         * platform/graphics/chromium/cc/CCResourceProvider.h: Removed.
2672         * platform/graphics/chromium/cc/CCScheduler.cpp: Removed.
2673         * platform/graphics/chromium/cc/CCScheduler.h: Removed.
2674         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Removed.
2675         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Removed.
2676         * platform/graphics/chromium/cc/CCScopedTexture.cpp: Removed.
2677         * platform/graphics/chromium/cc/CCScopedTexture.h: Removed.
2678         * platform/graphics/chromium/cc/CCScopedThreadProxy.h: Removed.
2679         * platform/graphics/chromium/cc/CCScrollbarAnimationController.cpp: Removed.
2680         * platform/graphics/chromium/cc/CCScrollbarAnimationController.h: Removed.
2681         * platform/graphics/chromium/cc/CCScrollbarAnimationControllerLinearFade.cpp: Removed.
2682         * platform/graphics/chromium/cc/CCScrollbarAnimationControllerLinearFade.h: Removed.
2683         * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp: Removed.
2684         * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h: Removed.
2685         * platform/graphics/chromium/cc/CCScrollbarGeometryStub.cpp: Removed.
2686         * platform/graphics/chromium/cc/CCScrollbarGeometryStub.h: Removed.
2687         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp: Removed.
2688         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h: Removed.
2689         * platform/graphics/chromium/cc/CCSettings.cpp: Removed.
2690         * platform/graphics/chromium/cc/CCSettings.h: Removed.
2691         * platform/graphics/chromium/cc/CCSharedQuadState.cpp: Removed.
2692         * platform/graphics/chromium/cc/CCSharedQuadState.h: Removed.
2693         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: Removed.
2694         * platform/graphics/chromium/cc/CCSingleThreadProxy.h: Removed.
2695         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp: Removed.
2696         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.h: Removed.
2697         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp: Removed.
2698         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h: Removed.
2699         * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.cpp: Removed.
2700         * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.h: Removed.
2701         * platform/graphics/chromium/cc/CCTexture.cpp: Removed.
2702         * platform/graphics/chromium/cc/CCTexture.h: Removed.
2703         * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp: Removed.
2704         * platform/graphics/chromium/cc/CCTextureDrawQuad.h: Removed.
2705         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp: Removed.
2706         * platform/graphics/chromium/cc/CCTextureLayerImpl.h: Removed.
2707         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp: Removed.
2708         * platform/graphics/chromium/cc/CCTextureUpdateController.h: Removed.
2709         * platform/graphics/chromium/cc/CCTextureUpdateQueue.cpp: Removed.
2710         * platform/graphics/chromium/cc/CCTextureUpdateQueue.h: Removed.
2711         * platform/graphics/chromium/cc/CCThread.h: Removed.
2712         * platform/graphics/chromium/cc/CCThreadProxy.cpp: Removed.
2713         * platform/graphics/chromium/cc/CCThreadProxy.h: Removed.
2714         * platform/graphics/chromium/cc/CCThreadTask.h: Removed.
2715         * platform/graphics/chromium/cc/CCTileDrawQuad.cpp: Removed.
2716         * platform/graphics/chromium/cc/CCTileDrawQuad.h: Removed.
2717         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Removed.
2718         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Removed.
2719         * platform/graphics/chromium/cc/CCTimeSource.h: Removed.
2720         * platform/graphics/chromium/cc/CCTimer.cpp: Removed.
2721         * platform/graphics/chromium/cc/CCTimer.h: Removed.
2722         * platform/graphics/chromium/cc/CCTimingFunction.cpp: Removed.
2723         * platform/graphics/chromium/cc/CCTimingFunction.h: Removed.
2724         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: Removed.
2725         * platform/graphics/chromium/cc/CCVideoLayerImpl.h: Removed.
2726         * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.cpp: Removed.
2727         * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.h: Removed.
2728
2729 2012-09-20  Tony Chang  <tony@chromium.org>
2730
2731         Implement absolutely positioned flex items
2732         https://bugs.webkit.org/show_bug.cgi?id=93798
2733
2734         Reviewed by Ojan Vafai.
2735
2736         Previously, we treated absolutely positioned flex items as a 0x0 placeholder element.
2737         Now we position the 0x0 placeholder where the next item would go. This causes the
2738         following changes:
2739         - justify-content: space-{around,between} no longer change due to the existence of absolutely positioned flex items.
2740         - alignment doesn't change the placement of absolutely positioned flex items.
2741         - auto margins in the alignment direction don't do anything on absolutely positioned flex items.
2742
2743         Test: css3/flexbox/position-absolute-children.html
2744
2745         * rendering/RenderFlexibleBox.cpp:
2746         (WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Absolutely positioned flex items should not use this.
2747         (WebCore::RenderFlexibleBox::updateAutoMarginsInCrossAxis): Absolutely positioned flex items should not use this.
2748         (WebCore::initialJustifyContentOffset): If there are no flex items, space-around should center an absolutely positioned flex item.
2749         (WebCore::RenderFlexibleBox::numberOfInFlowPositionedChildren): Helper method for helping to compute space-between and space-around.
2750         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Fix spacing when space-between or space-around.
2751         (WebCore::RenderFlexibleBox::layoutColumnReverse): Fix spacing when space-between or space-around.
2752         (WebCore::RenderFlexibleBox::alignChildren): Treat absolutely positioned children like flex-start.
2753         * rendering/RenderFlexibleBox.h: numberOfInFlowPositionedChildren method.
2754
2755 2012-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2756
2757         Unreviewed, rolling out r129144.
2758         http://trac.webkit.org/changeset/129144
2759         https://bugs.webkit.org/show_bug.cgi?id=97244
2760
2761         causing lots of assertions in tests (Requested by smfr on
2762         #webkit).
2763
2764         * rendering/InlineBox.h:
2765         (WebCore::InlineBox::markDirty):
2766         * rendering/InlineTextBox.cpp:
2767         * rendering/InlineTextBox.h:
2768         (WebCore::InlineTextBox::start):
2769         (WebCore::InlineTextBox::end):
2770         (WebCore::InlineTextBox::len):
2771         (WebCore::InlineTextBox::offsetRun):
2772
2773 2012-09-20  Mike West  <mkwst@chromium.org>
2774
2775         CSP reports should send an empty 'referrer' rather than nothing.
2776         https://bugs.webkit.org/show_bug.cgi?id=97233
2777
2778         Reviewed by Adam Barth.
2779
2780         Currently, if a protected resource doesn't have a referrer, then any
2781         Content Security Policy violations send a report that doesn't contain
2782         a referrer attribute. It's arguably friendlier to developers to include
2783         an explicitly empty attribute.
2784
2785         This new behavior is covered by updates to existing test expectations
2786         around the reporting functionality.
2787
2788         * page/ContentSecurityPolicy.cpp:
2789         (WebCore::ContentSecurityPolicy::reportViolation):
2790             Drop the 'if', and always write out a referrer.
2791
2792 2012-09-20  David Barton  <dbarton@mathscribe.com>
2793
2794         [MathML] Increase visual space around fraction parts, italic variables, and operators
2795         https://bugs.webkit.org/show_bug.cgi?id=97228
2796
2797         Reviewed by Eric Seidel.
2798
2799         This makes MathML more readable, and more in agreement with Firefox and TeX.
2800
2801         Tested by existing tests.
2802
2803         * css/mathml.css:
2804         (mfrac > :first-child):
2805         (mfrac > :last-child):
2806         (mfrac):
2807         (mi):
2808         (msub > mi:first-child, msubsup > mi:first-child):
2809             - Subscripts don't need to move right after an italic <mi>.
2810         (msubsup > mi:first-child + * + *):
2811             - Superscripts do need to move right after an italic <mi>.
2812         (math > mo, mrow > mo, msqrt > mo, mtd > mo):
2813             - These are ok values for now. It will be better to use different values for different operators, as the FIXME says.
2814         (math > mo:last-child, mrow > mo:last-child, msqrt > mo:last-child, mtd > mo:last-child):
2815             - Prefix and postfix operators, including fences, generally get less spacing than infix operators.
2816         
2817         * rendering/mathml/RenderMathMLFenced.cpp:
2818         (WebCore::RenderMathMLFenced::createMathMLOperator):
2819             - Usually the separator is a comma or semicolon, so we only put space after it for now.
2820         (WebCore::RenderMathMLFenced::makeFences):
2821         (WebCore::RenderMathMLFenced::addChild):
2822         (WebCore::RenderMathMLFenced::styleDidChange):
2823         * rendering/mathml/RenderMathMLFenced.h:
2824         (RenderMathMLFenced):
2825         
2826         * rendering/mathml/RenderMathMLFraction.cpp:
2827         (WebCore):
2828         (WebCore::RenderMathMLFraction::updateFromElement):
2829             - gDenominatorPad is now handled by mathml.css.
2830         
2831         * rendering/mathml/RenderMathMLSubSup.cpp:
2832         (WebCore):
2833         (WebCore::RenderMathMLSubSup::fixScriptsStyle):
2834             - gSubsupScriptMargin is now handled by mathml.css.
2835
2836 2012-09-20  Tommy Widenflycht  <tommyw@google.com>
2837
2838         MediaStream API: Extend UserMediaRequest with a ownerDocument method
2839         https://bugs.webkit.org/show_bug.cgi?id=97095
2840
2841         Reviewed by Adam Barth.
2842
2843         Chromium need to know exactly which frame called getUserMedia so that it can
2844         clean away the stream when the frame goes away.
2845         Since that information is available in webkit add an accessor method.
2846
2847         Chromium mock class extended to test the added method.
2848
2849         * Modules/mediastream/UserMediaRequest.cpp:
2850         (WebCore::UserMediaRequest::ownerDocument):
2851         (WebCore):
2852         * Modules/mediastream/UserMediaRequest.h:
2853         (WebCore):
2854         (UserMediaRequest):
2855
2856 2012-09-20  Levi Weintraub  <leviw@chromium.org>
2857
2858         Prevent reading stale data from InlineTextBoxes
2859         https://bugs.webkit.org/show_bug.cgi?id=94750
2860
2861         Reviewed by Eric Seidel.
2862
2863         Text from dirty InlineTextBoxes should never be read or used. This change enforces this
2864         design goal by forcefully zero-ing out the start and length of InlineTextBoxes when 
2865         they're being marked dirty. It also adds asserts to accessors for those members.
2866
2867         This change involves making markDirty virtual. Running the line-layout performance test
2868         as well as profiling resizing the html5 spec showed negligable impact with this change.
2869
2870         No new tests as this doesn't change any proper behavior.
2871
2872         * rendering/InlineBox.h:
2873         (WebCore::InlineBox::markDirty): Making virtual to allow InlineTextBox to overload and
2874         zero out its start and length.
2875         * rendering/InlineTextBox.cpp:
2876         (WebCore::InlineTextBox::markDirty): Zeroing out start and length when we mark the box dirty.
2877         * rendering/InlineTextBox.h:
2878         (WebCore::InlineTextBox::start): Adding an assert when we hit this case.
2879         (WebCore::InlineTextBox::end): Ditto.
2880         (WebCore::InlineTextBox::len): Ditto.
2881         (WebCore::InlineTextBox::offsetRun): Ditto.
2882
2883 2012-09-20  Mike West  <mkwst@chromium.org>
2884
2885         Support paths in Content Security Policy directives.
2886         https://bugs.webkit.org/show_bug.cgi?id=89750
2887
2888         Reviewed by Adam Barth.
2889
2890         In CSP 1.0, paths are simply ignored: 'script-src
2891         http://example.com/path/to/a/file' would allow script to be loaded from
2892         http://example.com/path/to/a/file/javascript.js, but also from
2893         http://example.com/javascript.js.
2894
2895         This patch is an experimental implementation of more granular path
2896         support in CSP source lists as proposed in the current editor's draft of
2897         CSP 1.1. Paths are treated as specifying directories in which resources
2898         can be found, and are implicitly terminated with a '/': in other words,
2899         'script-src http://a.com/path' is the same as
2900         'script-src http://a.com/path/'. Moreover, paths cannot contain either
2901         '?' or '#' characters.
2902
2903         This is implemented outside the CSP_NEXT flag. All ports will be
2904         effected.
2905
2906         Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#matching
2907
2908         Tests: http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01.html
2909                http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html
2910
2911         * page/ContentSecurityPolicy.cpp:
2912         (WebCore::CSPSource::CSPSource):
2913             Store a path along with each CSP source.
2914         (WebCore::CSPSource::matches):
2915             Check the path when comparing a URL to the source.
2916         (WebCore::CSPSource::pathMatches):
2917             Compare the URL-decoded version of the resource to validate against
2918             the source's stored path. If the resource's path begins with the
2919             stored path, then it matches! If not, it doesn't.
2920         (CSPSource):
2921             Store a path along with each CSP source.
2922         (WebCore::CSPSourceList::parse):
2923             Pass a 'path' in when creating CSPSource objects.
2924         (WebCore::CSPSourceList::parsePath):
2925             Actually parse the path, flagging errors if '?' or '#' are present,
2926             URL-decoding the result, and ensuring that a terminal '/' is
2927             added if necessary.
2928         (WebCore::CSPSourceList::addSourceSelf):
2929             Ensure that 'self' sources have an empty path.
2930         * page/ContentSecurityPolicy.h:
2931             Dropping the "ignored path component" console warning.
2932
2933 2012-09-20  Joanmarie Diggs  <jdiggs@igalia.com>
2934
2935         [GTK] ControlsPanel string is not localized in LocalizedStringsGtk
2936         https://bugs.webkit.org/show_bug.cgi?id=96502
2937
2938         Reviewed by Chris Fleizach.
2939
2940         Adds the ControlsPanel string to the strings localized in LocalizedStringsGtk.
2941
2942         Test: platform/gtk/accessibility/media-controls-panel-title.html
2943
2944         * platform/gtk/LocalizedStringsGtk.cpp:
2945         (WebCore::localizedMediaControlElementString):
2946
2947 2012-09-20  Julien Chaffraix  <jchaffraix@webkit.org>
2948
2949         Remove isStartColumn in the border collapsing code
2950         https://bugs.webkit.org/show_bug.cgi?id=97024
2951
2952         Reviewed by Abhishek Arya.
2953
2954         isStartColumn is embedding the same information as prevCell. As we need to compute it
2955         in most of the cases, we may as well just reuse them.
2956
2957         While touching this code, I cleaned up the code by removing some unneeded checks and renaming
2958         some variables in preparation for bug 79272.
2959
2960         Refactoring covered by existing collapsing borders tests.
2961
2962         * rendering/RenderTableCell.cpp:
2963         (WebCore::RenderTableCell::computeCollapsedStartBorder):
2964         Removed |isStartColumn|.
2965
2966         (WebCore::RenderTableCell::computeCollapsedEndBorder):
2967         Added a comment about why |isEndColumn| is needed. Also cleaned up this code to be
2968         consistent with computeCollapsedStartBorder.
2969
2970 2012-09-20  Andrey Adaikin  <aandrey@chromium.org>
2971
2972         Web Inspector: setPropertyValue does not work for non-finite numbers
2973         https://bugs.webkit.org/show_bug.cgi?id=97016
2974
2975         Reviewed by Vsevolod Vlasov.
2976
2977         Fix: setting a property to NaN, Infinity or -Infinity numbers did not work.
2978
2979         * inspector/front-end/RemoteObject.js:
2980         (WebInspector.RemoteObject.prototype.setPropertyValue):
2981
2982 2012-09-20  Otto Derek Cheung  <otcheung@rim.com>
2983
2984         Web Inspector: Cookie info in Network Resources Cookies tab are incorrect
2985         https://bugs.webkit.org/show_bug.cgi?id=95491
2986
2987         Reviewed by Vsevolod Vlasov.
2988
2989         Web Inspector: Cookie info in Network Resources Cookies tab are incorrect
2990         https://bugs.webkit.org/show_bug.cgi?id=95491
2991
2992         Fixing a typo that causes cookies to appear as a "Session"
2993         cookie in the Networking panel because it can never find a properly named
2994         "expired" header.
2995
2996         This bug exposes another bug where the cookie GMT strings are inproperly
2997         parsed, causing an "invalid date" error to show up in the cookies tab in 
2998         the Networking panel.
2999
3000         Also changed test expectations in LayoutTests/inspector/cookie-parser-expected.txt
3001
3002         * inspector/front-end/CookieParser.js:
3003         (WebInspector.Cookie.prototype.get session):
3004
3005 2012-09-20  Alexander Pavlov  <apavlov@chromium.org>
3006
3007         Web Inspector: [Elements] Word wrap disablement in the DOM tree broken
3008         https://bugs.webkit.org/show_bug.cgi?id=97185
3009
3010         Reviewed by Pavel Feldman.
3011
3012         Restored the effective "white-space: nowrap" for the tree elements.
3013
3014         * inspector/front-end/inspector.css:
3015         (.nowrap):
3016
3017 2012-09-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3018
3019         [TouchAdjustment] Simplify and improve hybrid distance function.
3020         https://bugs.webkit.org/show_bug.cgi?id=96519
3021
3022         Reviewed by Antonio Gomes.
3023
3024         The current distance function is a combination of two functions. One measuring the distance from
3025         the hot-spot in the touch-area to the centerline of the target, and one measuring how much of the
3026         target is covered.
3027
3028         The distance to the center-line was used instead of just the distance to the target, to make it
3029         easier to hit small targets near big targets. The very same feature is however also the reason
3030         measuring how much the target is covered is added. Using the distance to center-line is therefore
3031         redundant now, and can be replaced with the simpler 'distance the hot-spot needs to be adjusted'.
3032
3033         Tested by existing touchadjustment tests.
3034
3035         * page/TouchAdjustment.cpp:
3036         (TouchAdjustment):
3037         (WebCore::TouchAdjustment::hybridDistanceFunction):
3038         * platform/graphics/IntRect.cpp:
3039         * platform/graphics/IntRect.h:
3040         (IntRect):
3041
3042 2012-09-20  Yoshifumi Inoue  <yosin@chromium.org>
3043
3044         [Forms] HTMLSelectElement should call formStateDidChange on both menulist and lisbox mode
3045         https://bugs.webkit.org/show_bug.cgi?id=97177
3046
3047         Reviewed by Kent Tamura.
3048
3049         This patch makes listbox mode select element to call formStateDidChange()
3050         when selected options are changed.
3051
3052         For this change, this patch moves notifyFormStateChanged() to
3053         HTMLFormControlElementWithState class from HTMLTextFormControlElement
3054         for sharing code HTMLSelectElement class and HTMLInputElement/HTMLTextAreaElement
3055         derived from HTMLTextFormControlElement.
3056
3057         No new tests. We can't test this change in WebKit test tools. Test script
3058         will be implemented in Chromium side.
3059
3060         * html/HTMLFormControlElementWithState.cpp:
3061         (WebCore::HTMLFormControlElementWithState::notifyFormStateChanged):
3062         (WebCore):
3063         * html/HTMLFormControlElementWithState.h: Moved a declaration of notifyFormStateChanged() from HTMLTextFormControlElement.
3064         (HTMLFormControlElementWithState): Moved an implemented of notifyFormStateChanged() from HTMLTextFormControlElement.
3065         * html/HTMLSelectElement.cpp:
3066         (WebCore::HTMLSelectElement::selectOption): Changed to call notifyFormStateChanged() instead of formStateDidChange().
3067         (WebCore::HTMLSelectElement::updateListBoxSelection): Changed to call notifyFormStateChanged().
3068         * html/HTMLTextFormControlElement.cpp: Moved an implemented of notifyFormStateChanged() to HTMLFormControlElementWithState class.
3069         * html/HTMLTextFormControlElement.h: Moved a declaration of notifyFormStateChanged() to HTMLFormControlElementWithState class.
3070
3071 2012-09-20  Keishi Hattori  <keishi@webkit.org>
3072
3073         REGRESSION(r127727): Can't navigate between months with arrow keys in calendar picker
3074         https://bugs.webkit.org/show_bug.cgi?id=97166
3075
3076         Reviewed by Kent Tamura.
3077
3078         Fixing bug in r127727 so arrow keys work properly.
3079
3080         Test: fast/forms/date/calendar-picker-key-operations.html
3081
3082         * Resources/pagepopups/calendarPicker.js:
3083         (DaysTable.prototype._maybeSetPreviousMonth):
3084         (DaysTable.prototype._maybeSetNextMonth):
3085
3086 2012-09-18  Alexander Pavlov  <apavlov@chromium.org>
3087
3088         Web Inspector: Use and process the actual ScriptId in the protocol EventListener object
3089         https://bugs.webkit.org/show_bug.cgi?id=93271
3090
3091         Reviewed by Yury Semikhatsky.
3092
3093         - Use the actual script identifier in the "location" object's "scriptId" field
3094           for the DOM.EventListener protocol type, but send the script URL in the new "sourceName" field.
3095         - Use 0-based lines in the "location" object's "lineNumber" field for linkifyRawLocation() to work correctly.
3096         - Fixed formatting of links to listener locations to contain "(program)" rather than empty string.
3097
3098         * bindings/js/ScriptEventListener.cpp:
3099         (WebCore::eventListenerHandlerLocation):
3100         * bindings/js/ScriptEventListener.h:
3101         (WebCore):
3102         * bindings/v8/ScriptEventListener.cpp:
3103         (WebCore::eventListenerHandlerLocation):
3104         * bindings/v8/ScriptEventListener.h:
3105         (WebCore):
3106         * inspector/Inspector.json:
3107         * inspector/InspectorDOMAgent.cpp:
3108         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
3109         * inspector/front-end/BreakpointsSidebarPane.js:
3110         * inspector/front-end/EventListenersSidebarPane.js:
3111         * inspector/front-end/Linkifier.js:
3112         (WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor):
3113         * inspector/front-end/ResourceUtils.js:
3114         (WebInspector.formatLinkText): Use "(program)" if URL is empty.
3115
3116 2012-09-19  Dan Bernstein  <mitz@apple.com>
3117
3118         WebCore part of adding a setting and API for disabling screen font substitution
3119         https://bugs.webkit.org/show_bug.cgi?id=97168
3120
3121         Reviewed by Tim Horton.
3122
3123         * WebCore.exp.in: Added an entry for Settings::setScreenFontSubstitutionEnabled.
3124         * css/StyleResolver.cpp:
3125         (WebCore::StyleResolver::collectMatchingRulesForList): Changed to use printer fonts if
3126         screen font substitution is not enabled.
3127         * page/Settings.cpp:
3128         (WebCore::Settings::Settings): Added initializer for new m_screenFontSubstitutionEnabled
3129         member variable. The initial value is true, matching existing behavior.
3130         (WebCore::Settings::setScreenFontSubstitutionEnabled): Added this setter, which updated the
3131         member variable and forces a style recalc in all pages using this Settings.
3132         * page/Settings.h:
3133         (Settings): Added m_screenFontSubstitutionEnabled boolean member variable.
3134         (WebCore::Settings::screenFontSubstitutionEnabled): Added this getter.
3135
3136 2012-09-19  Yoshifumi Inoue  <yosin@chromium.org>
3137
3138         [Forms] multiple fields time input UI should call notifyFormStateChanged() when value of field is changed
3139         https://bugs.webkit.org/show_bug.cgi?id=97169
3140
3141         Reviewed by Kent Tamura.
3142
3143         This patch makes multiple fields time input UI calls notifyFormStateChanged()
3144         when field value is changed as other input types do.
3145
3146         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
3147         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
3148
3149         No new tests. We can't test this change in WebKit test tools. Test script
3150         will be implemented in Chromium side.
3151
3152         * html/TimeInputType.cpp:
3153         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged):
3154
3155 2012-09-19  Keishi Hattori  <keishi@webkit.org>
3156
3157         REGRESSION(r127727): Calendar picker focus ring should be hidden until key event
3158         https://bugs.webkit.org/show_bug.cgi?id=97165
3159
3160         Reviewed by Kent Tamura.
3161
3162         The regression was caused because NoFocusRing class was being removed
3163         from then main element inside resetMain().
3164
3165         No new tests. Covered by calendar-picker-appearance.html.
3166
3167         * Resources/pagepopups/calendarPicker.js:
3168         (initialize):
3169         (CalendarPicker):
3170         (CalendarPicker.prototype._layout):
3171         (DaysTable.prototype._handleKey):
3172         (CalendarPicker.prototype._handleBodyKeyDown):
3173         (CalendarPicker.prototype.maybeUpdateFocusStyle): Make this a method of CalendarPicker because we don't use it for other pickers.
3174
3175 2012-09-19  David Grogan  <dgrogan@chromium.org>
3176
3177         IndexedDB: Print console warning about setVersion
3178         https://bugs.webkit.org/show_bug.cgi?id=96575
3179
3180         Reviewed by Tony Chang.
3181
3182         setVersion has been out of the spec for almost a year but there are
3183         still a lot of users.
3184
3185         We show the warning once per database object as an approximation for
3186         once per page.
3187
3188         No new tests, but 150-something rebaselines.
3189
3190         * Modules/indexeddb/IDBDatabase.cpp:
3191         (WebCore::IDBDatabase::IDBDatabase):
3192         (WebCore::IDBDatabase::setVersion):
3193         * Modules/indexeddb/IDBDatabase.h:
3194         (IDBDatabase):
3195
3196 2012-09-19  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
3197
3198         [BlackBerry] Basic authentication challenge credentials for stored credentials again after restarting browser
3199         https://bugs.webkit.org/show_bug.cgi?id=96362
3200
3201         Reviewed by Rob Buis.
3202
3203         This patch enable reading credentials from the persistent credential storage
3204         when it is not private browsing mode and there is not a credential in the RAM
3205         for the requested resource.
3206
3207         Since we don't load persistent stored credentials into RAM at the starting time,
3208         even we have saved the credentials at the last browsing, after restarting the browser,
3209         it will still challenge for credentials for the requesting resources.
3210
3211         No new tests, it uses the original authentication tests. There is no way to
3212         clear all credentials or restarting browsers to test this feature.
3213
3214         * platform/network/blackberry/CredentialBackingStore.cpp:
3215         (WebCore::CredentialBackingStore::getProtectionSpace):
3216         (WebCore):
3217         * platform/network/blackberry/CredentialBackingStore.h:
3218         (CredentialBackingStore):
3219         * platform/network/blackberry/NetworkManager.cpp:
3220         (WebCore::NetworkManager::startJob):
3221
3222 2012-09-19  Shinya Kawanaka  <shinyak@chromium.org>
3223
3224         [Refactoring] ButtonInputType of <input> element should have innerElement to make <input> AuthorShadowDOM-ready
3225         https://bugs.webkit.org/show_bug.cgi?id=95939
3226
3227         Reviewed by Dimitri Glazkov.
3228
3229         We had 2 ways to show text in RenderButton. One is to use RenderButton::setText() and the other is to add renderer
3230         as a child of RenderButton. <input type="button"> used the former one, and <button> used the latter one.
3231         The former makes RenderButton a bit messy, and also prevents from making <input> AuthorShadowDOM ready.
3232
3233         So we remove RenderButton::setText() and refactor <input type="button"> to use a Shadow DOM to show text.
3234
3235         Since the text in <input type="button"> should create RenderTextFragment, we introduce TextForButtonInputType
3236         class. RenderText will allow us to select the inner text of <input>, but it should not.
3237
3238         No new tests, existing tests should cover the change.
3239
3240         * html/BaseButtonInputType.cpp:
3241         (TextForButtonInputType): Special Text node which creates RenderTextFragment.
3242         (WebCore):
3243         (WebCore::TextForButtonInputType::create):
3244         (WebCore::TextForButtonInputType::TextForButtonInputType):
3245         (WebCore::TextForButtonInputType::createRenderer):
3246         (WebCore::BaseButtonInputType::BaseButtonInputType):
3247         (WebCore::BaseButtonInputType::createShadowSubtree):
3248         (WebCore::BaseButtonInputType::destroyShadowSubtree):
3249         (WebCore::BaseButtonInputType::valueAttributeChanged): When a button value is changed, we reflect the value to
3250         the text node in ShadowDOM.
3251         * html/BaseButtonInputType.h:
3252         (BaseButtonInputType):
3253         * html/FileInputType.cpp:
3254         (WebCore::UploadButtonElement::create): Creates Shadow DOM subtree.
3255         (WebCore::UploadButtonElement::createForMultiple): Creates Shadow DOM subtree.
3256         * html/HTMLInputElement.cpp:
3257         (WebCore::HTMLInputElement::parseAttribute):
3258         * html/InputType.cpp:
3259         (WebCore::InputType::valueAttributeChanged):
3260         (WebCore):
3261         * html/InputType.h:
3262         (InputType):
3263         * rendering/RenderButton.cpp:
3264         (WebCore::RenderButton::RenderButton):
3265         (WebCore::RenderButton::styleDidChange): Removed unnecessary text related code.
3266         * rendering/RenderButton.h:
3267         (RenderButton):
3268
3269 2012-09-19  Jason Liu  <jason.liu@torchmobile.com.cn>
3270
3271         [BlackBerry] Get infinite amount of requests after attempting re-authentication basic.
3272         https://bugs.webkit.org/show_bug.cgi?id=96994
3273
3274         Reviewed by Rob Buis.
3275
3276         We should remove the wrong credentials before calling sendRequestWithCredentials again.
3277         #PR 200226
3278         Reviewed internally by Jonathan Dong.
3279
3280         No new tests. It is covered by ManualTests/blackberry/http-auth-challenge.html.
3281
3282
3283         * platform/network/blackberry/NetworkJob.cpp:
3284         (WebCore::NetworkJob::notifyAuthReceived):
3285
3286 2012-09-19  Adam Barth  <abarth@webkit.org>
3287
3288         Remove Blob.webkitSlice
3289         https://bugs.webkit.org/show_bug.cgi?id=96715
3290
3291         Reviewed by Darin Fisher.
3292
3293         Based on these usage metrics, it appears that it is safe to remove
3294         Blob.webkitSlice. Folks that were previously calling webkitSlice should
3295         just call slice instead. They do the same thing.
3296
3297         Ratio of Blob.webkitSlice calls to Blob.slice: 14.87%
3298         Ratio of Blob.webkitSlice calls to Document creation: 0.0053%
3299
3300         * fileapi/Blob.cpp:
3301         (WebCore::Blob::slice):
3302         * fileapi/Blob.h:
3303         (Blob):
3304         * fileapi/Blob.idl:
3305         * fileapi/File.h:
3306         (File):
3307         * inspector/front-end/FileUtils.js:
3308         (WebInspector.ChunkedFileReader.prototype._loadChunk):
3309
3310 2012-09-19  Julien Chaffraix  <jchaffraix@webkit.org>
3311
3312         The collapsing border code needs direction-aware border getters
3313         https://bugs.webkit.org/show_bug.cgi?id=96710
3314
3315         Reviewed by Ojan Vafai.
3316
3317         This refactoring is needed to extend our collapsing border support for mixed directionality
3318         at the table cell level (we currently wrongly ignore any direction below the row-group). For
3319         now, the new helpers are dumb and return exactly the old result but they will be made
3320         direction-aware in a follow-up change.
3321
3322         Refactoring covered by existing tests.
3323
3324         * rendering/RenderBox.h:
3325         (WebCore::RenderBox::hasSameDirectionAs):
3326         Added this helper function. For now, it's only used to compare against
3327         the table direction but we will reuse it to compare the current cell
3328         direction against the other table parts.
3329
3330         * rendering/RenderTableCell.h:
3331         (WebCore::RenderTableCell::computeCollapsedStartBorder):
3332         (WebCore::RenderTableCell::computeCollapsedEndBorder):
3333         Transitioned those 2 functions to using the new direction-aware functions.
3334
3335         * rendering/RenderTable.cpp:
3336         (WebCore::RenderTable::tableStartBorderAdjoiningCell):
3337         (WebCore::RenderTable::tableEndBorderAdjoiningCell):
3338         * rendering/RenderTableSection.cpp:
3339         (WebCore::RenderTableSection::firstRowCellAdjoiningTableStart):
3340         (WebCore::RenderTableSection::firstRowCellAdjoiningTableEnd):
3341         * rendering/RenderTableCell.h:
3342         (WebCore::RenderTableCell::borderAdjoiningTableStart):
3343         (WebCore::RenderTableCell::borderAdjoiningTableEnd):
3344         * rendering/RenderTableSection.h:
3345         (WebCore::RenderTableSection::borderAdjoiningTableStart):
3346         (WebCore::RenderTableSection::borderAdjoiningTableEnd):
3347         Updated those call sites to use RenderBox::hasSameDirectionAs.
3348
3349         * rendering/RenderTableCell.h:
3350         (WebCore::RenderTableCell::borderAdjoiningNextCell):
3351         (WebCore::RenderTableCell::borderAdjoiningPreviousCell):
3352         * rendering/RenderTableCol.cpp:
3353         (WebCore::RenderTableCol::borderAdjoiningCellStartBorder):
3354         (WebCore::RenderTableCol::borderAdjoiningCellEndBorder):
3355         (WebCore::RenderTableCol::borderAdjoiningCellBefore):
3356         (WebCore::RenderTableCol::borderAdjoiningCellAfter):
3357         * rendering/RenderTableCol.h:
3358         * rendering/RenderTableRow.cpp:
3359         (WebCore::RenderTableRow::borderAdjoiningStartCell):
3360         (WebCore::RenderTableRow::borderAdjoiningEndCell):
3361         * rendering/RenderTableRow.h:
3362         (WebCore::RenderTableRow::borderAdjoiningTableStart):
3363         (WebCore::RenderTableRow::borderAdjoiningTableEnd):
3364         * rendering/RenderTableSection.cpp:
3365         (WebCore::RenderTableSection::borderAdjoiningStartCell):
3366         (WebCore::RenderTableSection::borderAdjoiningEndCell):
3367         New direction-aware functions. Added some ASSERT to ensure
3368         we don't call them with the wrong parameters.
3369
3370 2012-09-19  Kentaro Hara  <haraken@chromium.org>
3371
3372         [V8] ScriptController::compileAndRunScript() can crash
3373         https://bugs.webkit.org/show_bug.cgi?id=96567
3374
3375         Reviewed by Adam Barth.
3376
3377         See chromium bug: http://code.google.com/p/chromium/issues/detail?id=146776
3378
3379         The root cause is that v8::PreCompile() can return 0 when the stack of
3380         V8's parser overflows (c.f. http://code.google.com/codesearch#OAMlx_jo-ck/src/v8/src/parser.cc&exact_package=chromium&q=kPreParseStackOverflow&type=cs&l=6021).
3381
3382         This patch adds the 0 check to the caller side. Given that precompileScript()
3383         is just trying to speculatively precompile a script, it's OK to give up
3384         precompiling for such edge cases.
3385
3386         Manually tested with the html generated by the following shell script:
3387
3388           echo '<script language="JavaScript" type="text/javascript" src="asan-crash.js"></script>' > asan-crash.html
3389           echo 'if(wURLF.search("")>=0) {}' > asan-crash.js
3390           for i in `seq 14830`
3391           do
3392             echo 'else if(wURLF.search("")>=0) {}' >> asan-crash.js
3393           done
3394
3395         I didn't add the test because '14380' depends on an environment
3396         and because we don't want to add a huge html test.
3397
3398         * bindings/v8/ScriptSourceCode.cpp:
3399         (WebCore::ScriptSourceCode::precompileScript):
3400
3401 2012-09-19  Joshua Bell  <jsbell@chromium.org>
3402
3403         IndexedDB: Pending call cleanup
3404         https://bugs.webkit.org/show_bug.cgi?id=96952
3405
3406         Reviewed by Tony Chang.
3407
3408         Replace RefPtr usage with OwnPtr for PendingXXXCalls (since they're never referenced twice)
3409         and replace queue of "second half open" calls with a single item.
3410
3411         No new tests - no functional changes.
3412
3413         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3414         (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create):
3415         (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::create):
3416         (WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::create):
3417         (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create):
3418         (WebCore::IDBDatabaseBackendImpl::setVersion):
3419         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
3420         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
3421         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
3422         (WebCore::IDBDatabaseBackendImpl::close):
3423         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
3424         (IDBDatabaseBackendImpl):
3425
3426 2012-09-19  Kenichi Ishibashi  <bashi@chromium.org>
3427
3428         [Chromium] Improve glyph positioning of HarfBuzzShaper
3429         https://bugs.webkit.org/show_bug.cgi?id=97093
3430
3431         Reviewed by Tony Chang.
3432
3433         For proper positioning, HarfBuzzShaper requires the positions(offsets and advance)
3434         of the previous glyph. This mean we need to shape all HarfBuzzRuns before glyph positioning.
3435         Collect and shape HarfBuzzRuns, then set positions of glyphs.
3436
3437         No new tests. Tests that uses spacing for complex text (e.g. fast/text/atsui-negative-spacing-features.html)
3438         should close in the expectations. (not the identical, maybe there are subtle differences between
3439         harfbuzz old and harfbuzz ng)
3440
3441         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
3442         (WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult): Allocate m_offsets.
3443         (WebCore::HarfBuzzShaper::HarfBuzzRun::setGlyphAndPositions): Renamed and set offset too.
3444         (WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
3445         (WebCore::HarfBuzzShaper::shape): Call fillGlyphBuffer() if we need to fill glyphBuffer.
3446         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Removed glyph positioning code.
3447         (WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun): Ditto.
3448         (WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun): Added.
3449         (WebCore):
3450         (WebCore::HarfBuzzShaper::fillGlyphBuffer): Added.
3451         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h:
3452         (HarfBuzzRun):
3453         (WebCore::HarfBuzzShaper::HarfBuzzRun::offsets): Added.
3454         (WebCore::HarfBuzzShaper::HarfBuzzRun::glyphToCharacterIndexes): Added.
3455         (HarfBuzzShaper):
3456
3457 2012-09-19  James Simonsen  <simonjam@chromium.org>
3458
3459         [Chromium] Disable resource load scheduling
3460         https://bugs.webkit.org/show_bug.cgi?id=97131
3461
3462         Reviewed by Nate Chapin.
3463
3464         We'll use Chrome's network stack for scheduling instead.
3465
3466         No new tests.
3467
3468         * loader/ResourceLoadScheduler.cpp:
3469         * loader/cache/CachedResourceLoader.cpp:
3470         (WebCore::CachedResourceLoader::preload):
3471
3472 2012-09-19  Dan Bernstein  <mitz@apple.com>
3473
3474         When kerning is enabled, word spacing is doubly accounted for in RenderText::computePreferredLogicalWidths
3475         https://bugs.webkit.org/show_bug.cgi?id=97146
3476
3477         Reviewed by Anders Carlsson.
3478
3479         Test: fast/text/word-space-with-kerning.html
3480
3481         * rendering/RenderText.cpp:
3482         (WebCore::RenderText::computePreferredLogicalWidths): When kerning is enabled, words are
3483         measured with their trailing space, if there is one, then the width of a space is subtracted.
3484         Changed that width, stored in the local variable wordTrailingSpaceWidth, to include the
3485         word spacing, since it is included in the result of widthFromCache().
3486
3487 2012-09-19  Joshua Bell  <jsbell@chromium.org>
3488
3489         IndexedDB: Remove "current transaction" concept from backing store
3490         https://bugs.webkit.org/show_bug.cgi?id=96663
3491
3492         Reviewed by Tony Chang.
3493
3494         IndexedDB should allow multiple transactions to run in parallel within and
3495         across databases within an origin. As an initial step to enabling this, the
3496         backing store should not hold a "current transaction" - instead, operations
3497         should be done relative to a transaction managed by the database.
3498
3499         No new tests - no functional changes.
3500
3501         * Modules/indexeddb/IDBBackingStore.h:
3502         (IDBBackingStore):
3503         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3504         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
3505         (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
3506         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
3507         (WebCore::IDBDatabaseBackendImpl::setIntVersionInternal):
3508         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
3509         (IDBDatabaseBackendImpl):
3510         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
3511         (WebCore::IDBIndexBackendImpl::openCursorInternal):
3512         (WebCore::IDBIndexBackendImpl::countInternal):
3513         (WebCore::IDBIndexBackendImpl::count):
3514         (WebCore::IDBIndexBackendImpl::getInternal):
3515         (WebCore::IDBIndexBackendImpl::getKeyInternal):
3516         (WebCore::IDBIndexBackendImpl::get):
3517         (WebCore::IDBIndexBackendImpl::getKey):
3518         * Modules/indexeddb/IDBIndexBackendImpl.h:
3519         (IDBIndexBackendImpl):
3520         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
3521         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
3522         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseMetaData):
3523         (WebCore::IDBLevelDBBackingStore::createObjectStore):
3524         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
3525         (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
3526         (WebCore):
3527         (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
3528         (WebCore::IDBLevelDBBackingStore::clearObjectStore):
3529         (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
3530         (WebCore::IDBLevelDBBackingStore::getKeyGeneratorCurrentNumber):
3531         (WebCore::IDBLevelDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
3532         (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
3533         (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
3534         (WebCore::IDBLevelDBBackingStore::createIndex):
3535         (WebCore::IDBLevelDBBackingStore::deleteIndex):
3536         (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
3537         (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
3538         (WebCore::IDBLevelDBBackingStore::findKeyInIndex):
3539         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
3540         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
3541         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
3542         (WebCore::IDBLevelDBBackingStore::openObjectStoreKeyCursor):
3543         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
3544         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
3545         (WebCore::IDBLevelDBBackingStore::Transaction::Transaction):
3546         (WebCore::IDBLevelDBBackingStore::Transaction::begin):
3547         (WebCore::IDBLevelDBBackingStore::Transaction::commit):
3548         (WebCore::IDBLevelDBBackingStore::Transaction::rollback):
3549         * Modules/indexeddb/IDBLevelDBBackingStore.h:
3550         (IDBLevelDBBackingStore):
3551         (WebCore::IDBLevelDBBackingStore::Transaction::levelDBTransaction):
3552         (Transaction):
3553         (WebCore::IDBLevelDBBackingStore::Transaction::levelDBTransactionFrom):
3554         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3555         (WebCore::IDBObjectStoreBackendImpl::get):
3556         (WebCore::IDBObjectStoreBackendImpl::getInternal):
3557         (WebCore):
3558         (WebCore::makeIndexWriters):
3559         (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
3560         (WebCore::IDBObjectStoreBackendImpl::putInternal):
3561         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
3562         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
3563         (WebCore::IDBObjectStoreBackendImpl::clear):
3564         (WebCore::IDBObjectStoreBackendImpl::clearInternal):
3565         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
3566         (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
3567         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
3568         (WebCore::IDBObjectStoreBackendImpl::count):
3569         (WebCore::IDBObjectStoreBackendImpl::countInternal):
3570         (WebCore::IDBObjectStoreBackendImpl::generateKey):
3571         (WebCore::IDBObjectStoreBackendImpl::updateKeyGenerator):
3572         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
3573         (IDBObjectStoreBackendImpl):
3574
3575 2012-09-19  Terry Anderson  <tdanderson@chromium.org>
3576
3577         [chromium] Store the contents scale factor in PlatformContextSkia on initialization
3578         https://bugs.webkit.org/show_bug.cgi?id=96137
3579
3580         Reviewed by Stephen White.
3581
3582         When the compositor creates a PlatformContextSkia, the scale on |canvas| will 
3583         be equal to the content scale factor (which, without pinch-to-zoom, will be
3584         the same as the device scale factor). Set this value as a member on PlatformContextSkia, 
3585         which will be used to correctly render glyphs when hinting is used and the device
3586         scale factor is not 1.
3587
3588         Tests: added two new unit tests.
3589
3590         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
3591         (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
3592         * platform/graphics/skia/PlatformContextSkia.cpp:
3593         (WebCore::PlatformContextSkia::PlatformContextSkia):
3594         (WebCore::PlatformContextSkia::setupPaintCommon):
3595         * platform/graphics/skia/PlatformContextSkia.h:
3596         (PlatformContextSkia):
3597         (WebCore::PlatformContextSkia::setHintingScaleFactor):
3598         (WebCore::PlatformContextSkia::hintingScaleFactor):
3599
3600 2012-09-19  Kenichi Ishibashi  <bashi@chromium.org>
3601
3602         [Chromium] HarfBuzzShaper should take into account combining characters
3603         https://bugs.webkit.org/show_bug.cgi?id=97069
3604
3605         Reviewed by Tony Chang.
3606
3607         When dividing a text run into HarfBuzzRuns, try to find suitable SimpleFontData for
3608         combining character sequence if there are one or more mark characters are followed.
3609         If there is no combined glyphs in the font, use fallback font for mark characters.
3610
3611         No new tests.
3612         In platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html,
3613         U+0947 (devanagari vowel sign e) should be displayed.
3614         In fast/text/wide-zero-width-space.html, &eacute; and e&#0301; should look identical.
3615
3616         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
3617         (WebCore):
3618         (WebCore::fontDataForCombiningCharacterSequence): Added.
3619         (WebCore::HarfBuzzShaper::collectHarfBuzzRuns): See above description.
3620
3621 2012-09-19  Tony Chang  <tony@chromium.org>
3622
3623         Remove RenderIFrame::updateLogicalHeight and RenderIFrame::updateLogicalWidth
3624         https://bugs.webkit.org/show_bug.cgi?id=97049
3625
3626         Reviewed by Ojan Vafai.
3627
3628         This is an incremental step in making updateLogicalHeight non-virtual so it's
3629         possible to call computeLogicalHeight on any RenderBox and get the right
3630         version of the function.
3631
3632         The code in RenderIFrame::layout was calling flattenFrame(), which would
3633         query it's bounding box size.  Since we hadn't done a layout yet, the size
3634         is unknown.  The fix is to only call flattenFrame() after calling
3635         updateLogicalWidth and updateLogicalHeight. We can then fixup the size of
3636         the iframe.
3637
3638         No new tests, existing tests in fast/frames/flattening should continue to pass.
3639
3640         * rendering/RenderIFrame.cpp:
3641         (WebCore::RenderIFrame::layout):
3642         * rendering/RenderIFrame.h:
3643         (RenderIFrame):
3644
3645 2012-09-19  Joshua Bell  <jsbell@chromium.org>
3646
3647         IndexedDB: Free up resources used by completed cursors earlier
3648         https://bugs.webkit.org/show_bug.cgi?id=97023
3649
3650         Reviewed by Tony Chang.
3651
3652         Prior to this patch, IDBCursor objects are kept around by their parent
3653         IDBTransaction until the transaction finishes. It's possible to release
3654         references to them earlier, when the cursor has been "run to the end",
3655         as no further events will fire and all calls to continue() etc should fail.
3656
3657         This change tells the cursor it's done when "null" finally comes through in
3658         the IDBRequest, and the cursor then lets transaction know it can be
3659         forgotten.
3660
3661         The added test doesn't distinguish the new behavior, but does exercise
3662         "finished" cursors and apparently we didn't have tests for these before.
3663
3664         Test: storage/indexeddb/cursor-finished.html
3665
3666         * Modules/indexeddb/IDBCursor.cpp:
3667         (WebCore::IDBCursor::close): Make idempotent; notify transaction.
3668         * Modules/indexeddb/IDBRequest.cpp:
3669         (WebCore::IDBRequest::onSuccess): Tell cursor it's finished before releasing.
3670         * Modules/indexeddb/IDBTransaction.cpp:
3671         (WebCore::IDBTransaction::OpenCursorNotifier::~OpenCursorNotifier):
3672         (WebCore):
3673         (WebCore::IDBTransaction::OpenCursorNotifier::cursorFinished): New method for explicit notification.
3674         * Modules/indexeddb/IDBTransaction.h:
3675         (OpenCursorNotifier):
3676
3677 2012-09-19  David Grogan  <dgrogan@chromium.org>
3678
3679         IndexedDB: fire upgradeneeded even without an explicit integer version
3680         https://bugs.webkit.org/show_bug.cgi?id=96444
3681
3682         Reviewed by Tony Chang.
3683
3684         Also of note:
3685         - New databases now get a default version of 1 instead of
3686         the empty string when they are opened.
3687         - We now allow databases with an integer version to revert to a string
3688         version by calling setVersion.
3689
3690         Implementation detail: we store both an integer version and string
3691         version for a particular database. If both are set we give preference
3692         to the integer version and assume the db is on the integer track.
3693
3694         Test: storage/indexeddb/intversion-two-opens-no-versions.html
3695
3696         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3697         (WebCore):
3698         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
3699         (WebCore::IDBDatabaseBackendImpl::setVersion):
3700         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
3701         Now that this can be called even after an int version is set we have
3702         to make it revoke the int version.
3703
3704         (WebCore::IDBDatabaseBackendImpl::openConnection):
3705         Nested ifs were getting deep, so refactor to return early instead.
3706
3707         (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
3708         (WebCore::IDBDatabaseBackendImpl::resetVersion):
3709         Now that an int version could have been set before setVersion was
3710         called we have to reset the int version on abort.
3711
3712         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
3713         (IDBDatabaseBackendImpl):
3714         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
3715         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
3716         * Modules/indexeddb/IDBOpenDBRequest.cpp:
3717         0 is now a valid integer version to store to leveldb if an idb
3718         database is reverting to a string version.
3719
3720         (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
3721         If the open request did not specify an integer version but
3722         upgradeneeded is called, it means the database was given the default
3723         version of 1.
3724
3725 2012-09-19  Dominic Mazzoni  <dmazzoni@google.com>
3726
3727         AX: A few control types are returning the wrong answer for isReadOnly
3728         https://bugs.webkit.org/show_bug.cgi?id=96735
3729
3730         Reviewed by Chris Fleizach.
3731
3732         All input types should be read-only except ones that
3733         are text fields. The previous logic was marking things like
3734         checkboxes as not read-only.
3735
3736         Tests: platform/chromium/accessibility/readonly.html
3737                platform/mac/accessibility/form-control-value-settable.html
3738
3739         * accessibility/AccessibilityNodeObject.cpp:
3740         (WebCore::AccessibilityNodeObject::isReadOnly):
3741
3742 2012-09-19  Mark Pilgrim  <pilgrim@chromium.org>
3743
3744         [Chromium] Remove unused PlatformSupport reference in V8GCController
3745         https://bugs.webkit.org/show_bug.cgi?id=97118
3746
3747         Reviewed by Ryosuke Niwa.
3748
3749         Part of a refactoring series. See tracking bug 82948.
3750         
3751         * bindings/v8/V8GCController.cpp:
3752
3753 2012-09-19  Mark Pilgrim  <pilgrim@chromium.org>
3754
3755         [Chromium] Remove unused PlatformSupport reference in V8DOMWindowShell
3756         https://bugs.webkit.org/show_bug.cgi?id=97117
3757
3758         Reviewed by Ryosuke Niwa.
3759
3760         Part of a refactoring series. See tracking bug 82948.
3761
3762         * bindings/v8/V8DOMWindowShell.cpp:
3763
3764 2012-09-19  Kentaro Hara  <haraken@chromium.org>
3765
3766         [V8] Remove WorkerContextExecutionProxy::runScript()
3767         https://bugs.webkit.org/show_bug.cgi?id=97060
3768
3769         Reviewed by Adam Barth.
3770
3771         To kill WorkerContextExecutionProxy, this patch removes
3772         WorkerContextExecutionProxy::runScript() by replacing it
3773         with ScriptRunner::runCompiledScript().
3774
3775         For the replacement, this patch moves TryCatch logic in
3776         runCompiledScript() to the caller side. The reason why
3777         we have to avoid nesting TryCatches is a V8 bug:
3778         http://code.google.com/p/v8/issues/detail?id=2166
3779
3780         No tests. No change in behavior.
3781
3782         * bindings/v8/ScriptController.cpp:
3783         (WebCore::ScriptController::compileAndRunScript):
3784         * bindings/v8/ScriptRunner.cpp:
3785         (WebCore::ScriptRunner::runCompiledScript):
3786         * bindings/v8/WorkerContextExecutionProxy.cpp:
3787         (WebCore::WorkerContextExecutionProxy::evaluate):
3788         * bindings/v8/WorkerContextExecutionProxy.h:
3789         (WorkerContextExecutionProxy):
3790
3791 2012-09-19  Rob Buis  <rbuis@rim.com>
3792
3793         [BlackBerry] Fix vertical positioning problem for 'X' in search field
3794         https://bugs.webkit.org/show_bug.cgi?id=97126
3795
3796         Reviewed by Antonio Gomes.
3797
3798         We have the same problem as described in bug 30245, so integrate that code.
3799
3800         * platform/blackberry/RenderThemeBlackBerry.cpp:
3801         (WebCore::RenderThemeBlackBerry::convertToPaintingRect):
3802         (WebCore):
3803         (WebCore::RenderThemeBlackBerry::paintSearchFieldCancelButton):
3804
3805 2012-09-19  Rob Buis  <rbuis@rim.com>
3806
3807         [BlackBerry] Remove custom painting code for searchCancel
3808         https://bugs.webkit.org/show_bug.cgi?id=97119
3809
3810         Reviewed by Antonio Gomes.
3811
3812         Remove the dynamic painting code for searchCancel, we use a png file now.
3813
3814         * platform/graphics/blackberry/ImageBlackBerry.cpp:
3815         (WebCore::Image::loadPlatformResource):
3816
3817 2012-09-19  Mark Pilgrim  <pilgrim@chromium.org>
3818
3819         [Chromium] Move notifyJSOutOfMemory out of PlatformSupport
3820         https://bugs.webkit.org/show_bug.cgi?id=97116
3821
3822         Reviewed by Adam Barth.
3823
3824         Part of a refactoring series. See tracking bug 82948.
3825
3826         * bindings/v8/V8Binding.cpp:
3827         (WebCore::handleOutOfMemory):
3828         * loader/FrameLoaderClient.h:
3829         (WebCore::FrameLoaderClient::didExhaustMemoryAvailableForScript):
3830         (FrameLoaderClient):
3831         * platform/chromium/PlatformSupport.h:
3832         (PlatformSupport):
3833
3834 2012-09-18  Dirk Schulze  <krit@webkit.org>
3835
3836         Implement 'mask-type' for <mask>
3837         https://bugs.webkit.org/show_bug.cgi?id=97011
3838
3839         Reviewed by Andreas Kling.
3840
3841         The CSS Masking specification defines the presentation attribute 'mask-type' to
3842         switch between luminance and alpha masking. 'mask-type' just affects the SVG
3843         mask element. The luminance masking is the current behavior of of SVG masking.
3844         Alpha masking is simular to '-webkit-mask-image'.
3845
3846         This patch implements this property and make it possible to switch between both
3847         masking modes. Since the default value is 'luminance', this does not break
3848         exisiting content which is tested with exisiting tests.
3849
3850         http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html#the-mask-type
3851
3852         Tests: svg/css/mask-type.html
3853                svg/masking/mask-type-alpha-expected.svg
3854                svg/masking/mask-type-alpha.svg
3855                svg/masking/mask-type-luminance-expected.svg
3856                svg/masking/mask-type-luminance.svg
3857                svg/masking/mask-type-not-set-expected.svg
3858                svg/masking/mask-type-not-set.svg
3859
3860         * css/CSSComputedStyleDeclaration.cpp: Add mask-type property.
3861         (WebCore):
3862         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3863         * css/CSSPrimitiveValueMappings.h:
3864         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3865         (WebCore):
3866         (WebCore::CSSPrimitiveValue::operator EMaskType):
3867         * css/CSSProperty.cpp:
3868         (WebCore::CSSProperty::isInheritedProperty):
3869         * css/SVGCSSComputedStyleDeclaration.cpp:
3870         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
3871         * css/SVGCSSParser.cpp:
3872         (WebCore::CSSParser::parseSVGValue):
3873         * css/SVGCSSPropertyNames.in: Add mask-type.
3874         * css/SVGCSSStyleSelector.cpp:
3875         (WebCore::StyleResolver::applySVGProperty):
3876         * css/SVGCSSValueKeywords.in:
3877         * rendering/style/SVGRenderStyle.cpp:
3878         (WebCore::SVGRenderStyle::diff):
3879         * rendering/style/SVGRenderStyle.h:
3880         (WebCore::SVGRenderStyle::initialMaskType):
3881         (WebCore::SVGRenderStyle::setMaskType):
3882         (SVGRenderStyle):
3883         (WebCore::SVGRenderStyle::maskType):
3884         (WebCore::SVGRenderStyle::setBitDefaults):
3885         * rendering/style/SVGRenderStyleDefs.h:
3886         * rendering/svg/RenderSVGResourceMasker.cpp:
3887
3888             Switch between the two masking modes according to the
3889             computed value of mask-type.
3890
3891         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
3892         * svg/SVGStyledElement.cpp:
3893         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
3894         (WebCore::cssPropertyToTypeMap):
3895         * svg/svgattrs.in: Add the new attribute to the attribute list.
3896
3897 2012-09-19  Mark Pilgrim  <pilgrim@chromium.org>
3898
3899         [Chromium] Remove unused popupsAllowed function from PlatformSupport
3900         https://bugs.webkit.org/show_bug.cgi?id=96521
3901
3902         Reviewed by Eric Seidel.
3903
3904         Part of a refactoring series. See tracking bug 82948.
3905
3906         * bindings/v8/NPV8Object.cpp:
3907         (WebCore::v8ObjectToNPObject):
3908         (_NPN_Evaluate):
3909         (_NPN_GetProperty):
3910         * platform/chromium/PlatformSupport.h:
3911         (PlatformSupport):
3912
3913 2012-09-19  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
3914
3915         [BlackBerry] Add function playerId() in class PageClientBlackBerry
3916         https://bugs.webkit.org/show_bug.cgi?id=97099
3917
3918         Reviewed by Yong Li.
3919
3920         Added function playerID() in class PageClientBlackBerry.
3921
3922         Internally reviewed by Charles Wei.
3923
3924         No new tests since there's no functional change.
3925
3926         * platform/blackberry/PageClientBlackBerry.h:
3927
3928 2012-09-19  Raul Hudea  <rhudea@adobe.com>
3929
3930         [CSSRegions][CSSOM] Make sure all Regions APIs are not visible if CSS_REGIONS is not defined
3931         https://bugs.webkit.org/show_bug.cgi?id=96300
3932
3933         Reviewed by Yury Semikhatsky.
3934
3935         All CSS Regions APIs should be exposed only if CSS_REGIONS is enabled
3936
3937         No new tests because of no behavior changes.
3938
3939         * css/StyleRule.cpp:
3940         (WebCore::StyleRuleBase::reportMemoryUsage): Fix compile without CSS_REGIONS enabled and added an ASSERT_NOT_REACHED as in other functions
3941         * dom/Element.cpp: Compile webkitRegionOverset only if CSS_REGIONS is enabled
3942         (WebCore):
3943         * dom/Element.h:
3944         * dom/Element.idl: Expose webkitRegionOverset only if CSS_REGIONS is enabled
3945
3946 2012-09-19  Patrick Gansterer  <paroga@webkit.org>
3947
3948         Remove all usages of M_PI from WebCore
3949         https://bugs.webkit.org/show_bug.cgi?id=93109
3950
3951         Reviewed by Dirk Schulze.
3952
3953         <wtf/MathExtras.h> implements many functions dealing with M_PI.
3954         Use them in WebCore instead of duplicating the functionality.
3955
3956         * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
3957         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
3958         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3959         (PlatformCALayer::setFilters):
3960         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3961         (WebCore::GraphicsContext::drawEllipse):
3962         (WebCore::GraphicsContext::strokeArc):
3963         * platform/graphics/wx/FontPlatformDataWxMac.mm:
3964         * platform/mac/WebWindowAnimation.mm:
3965         (-[WebWindowScaleAnimation currentValue]):
3966         * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp:
3967         (DegToRad):
3968         (RadToDeg):
3969
3970 2012-09-10  Vsevolod Vlasov  <vsevik@chromium.org>
3971
3972         Web Inspector: Network request headers text fallback has typo.
3973         https://bugs.webkit.org/show_bug.cgi?id=96280
3974
3975         Reviewed by Pavel Feldman.
3976
3977         * inspector/front-end/NetworkRequest.js:
3978         (WebInspector.NetworkRequest.prototype.get requestHeadersText):
3979         (WebInspector.NetworkRequest.prototype.get responseHeadersText):
3980
3981 2012-09-19  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
3982
3983         [BlackBerry] remove static_cast which will cause video crash
3984         https://bugs.webkit.org/show_bug.cgi?id=97070
3985
3986         Reviewed by Antonio Gomes.
3987
3988         Removed the static_cast to avoid layering violation which
3989         will cause a runtime crash.
3990         We won't create a real MediaPlayerPrivate object before we call
3991         MediaPlayer::load(), so if we use player()->implementation()
3992         before calling load() in some cases, it points to a
3993         NullMediaPlayerPrivate object. Here we should not use static_cast,
3994         instead we should use HTMLMediaElement::percentLoaded() to
3995         avoid layering violation as we don't have the buffering bug which
3996         the deleted comment refers to.
3997
3998         Internally reviewed by Max Feil.
3999
4000         Test case: media/video-size.html
4001
4002         * platform/blackberry/RenderThemeBlackBerry.cpp:
4003         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
4004
4005 2012-09-19  Rick Byers  <rbyers@chromium.org>
4006
4007         Do touch adjustment on GestureTapDown
4008         https://bugs.webkit.org/show_bug.cgi?id=96677
4009
4010         Reviewed by Antonio Gomes.
4011
4012         Do touch adjustment on GestureTapDown exactly as for GestureTap today.
4013
4014         Test: touchadjustment/touch-links-active.html
4015
4016         * page/EventHandler.cpp:
4017         (WebCore::EventHandler::handleGestureEvent):