Don't leak Documents when using MutationObserver from extensions
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-01  Elliott Sprehn  <esprehn@gmail.com>
2
3         Don't leak Documents when using MutationObserver from extensions
4         https://bugs.webkit.org/show_bug.cgi?id=111234
5
6         Reviewed by Adam Barth.
7
8         MutationObserverCallback holds a WorldContextHandle which secretly isn't
9         a handle to anything when it's for the main world. When it's for a non-main
10         world though, like those used in extensions, it becomes a strong reference
11         to the v8::Context which results in leaks by creating cycles:
12
13         MutationObserver -> Callback -> World -> Document -> Node -> MutationObserver.
14
15         Instead we should keep a RefPtr to a DOMWrapperWorld in the callback and then
16         get the v8::Context from that inside handleEvent.
17
18         Tests: ManualTests/leak-observer-nonmain-world.html
19
20         * bindings/v8/V8Binding.cpp:
21         (WebCore::toV8Context): Added overload that takes a DOMWrapperWorld.
22         * bindings/v8/V8Binding.h:
23         * bindings/v8/V8MutationCallback.cpp:
24         (WebCore::V8MutationCallback::V8MutationCallback):
25         (WebCore::V8MutationCallback::handleEvent):
26         * bindings/v8/V8MutationCallback.h:
27         (V8MutationCallback):
28
29 2013-03-01  Bear Travis  <betravis@adobe.com>
30
31         [css exclusions] Move ExclusionShapeInsideInfo into RenderBlockRareData
32         https://bugs.webkit.org/show_bug.cgi?id=110995
33
34         Reviewed by Julien Chaffraix.
35
36         This patch moves ExclusionShapeInsideInfo into the RenderBlockRareData struct,
37         which enables us to move away from the global ExclusionShapeInsideInfo map.
38         Some additional refactoring was done to remove ExclusionShapeInsideInfo's
39         dependency on InlineIterator, which depended on RenderBlock. This work required
40         adding a new LineSegmentIterator struct.
41
42         Refactoring, no new tests.
43
44         * rendering/ExclusionShapeInsideInfo.cpp:
45         (WebCore):
46         (WebCore::LineSegmentRange::LineSegmentRange): Moving the InlineIterator
47         constructor to the .cpp file, as InlineIterator is now forward declared in
48         the .h file.
49         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Moving isEnabledFor to
50         the .cpp file, as RenderBlock is now forward declared in the .h file.
51         * rendering/ExclusionShapeInsideInfo.h:
52         (WebCore):
53         (LineSegmentIterator): A simple struct for containing segment positions for
54         layout.
55         (WebCore::LineSegmentIterator::LineSegmentIterator): Constructor.
56         (LineSegmentRange): Transitioning to store LineSegmentIterator.
57         (WebCore::LineSegmentRange::LineSegmentRange): Ditto.
58         (ExclusionShapeInsideInfo):
59         * rendering/RenderBlock.cpp:
60         (WebCore::RenderBlock::willBeDestroyed): Destroying a block will now destroy
61         its ExclusionShapeInsideInfo, so there is no need to remove it from the map.
62         (WebCore):
63         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Use
64         the RenderBlockRareData struct rather than the global map.
65         * rendering/RenderBlock.h:
66         (WebCore):
67         (WebCore::RenderBlock::ensureExclusionShapeInsideInfo): Ensure an info struct
68         is present if the shape-inside style is set.
69         (WebCore::RenderBlock::exclusionShapeInsideInfo): Look up the info struct for
70         the current block.
71         (WebCore::RenderBlock::setExclusionShapeInsideInfo): Update the info struct
72         for the current block.
73         (RenderBlockRareData): Add the ExclusionShapeInsideInfo member.
74         * rendering/RenderBlockLineLayout.cpp:
75         (WebCore::constructBidiRunsForLine): Construct the appropriate offsets during
76         layout based on the stored LineSegmentIterators.
77
78 2013-03-01  Terry Anderson  <tdanderson@chromium.org>
79
80         EventHandler::handleGestureScrollUpdate() should invoke the user-generated scroll routines 
81         so its behavior matches other user-initiated scrolls
82         https://bugs.webkit.org/show_bug.cgi?id=109769
83
84         Reviewed by James Robinson.
85
86         To ensure that the scrolling behavior of GestureScrollUpdate events are consistent with
87         the scrolling behavior of mousewheel events, use the existing user-generated scroll logic
88         instead of calling into RenderLayer::scrollByRecursively(). This patch fixes the bug
89         reported in https://bugs.webkit.org/show_bug.cgi?id=109316, where the example page can
90         be scrolled using touch but cannot be scrolled using mousewheels.
91
92         Note that this patch does not use any of the mousewheel event-handling code.
93
94         Tests: fast/events/touch/gesture/touch-gesture-noscroll-body-propagated.html
95                fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden.html
96                fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden.html
97                fast/events/touch/gesture/touch-gesture-noscroll-body.html
98
99         * page/EventHandler.cpp:
100         (WebCore::EventHandler::clear):
101         (WebCore::EventHandler::handleGestureEvent):
102         (WebCore::EventHandler::handleGestureScrollBegin):
103         (WebCore::EventHandler::handleGestureScrollUpdate):
104         (WebCore::EventHandler::sendScrollEventToView):
105             By calling this function at the start of handleGestureScrollUpdate() in the case
106             where |m_scrollGestureHandlingNode| is null, we ensure that the scroll updates
107             can still scroll the page itself, if possible.
108         (WebCore):
109         (WebCore::EventHandler::clearGestureScrollNodes):
110         * page/EventHandler.h:
111         (EventHandler):
112         * platform/PlatformWheelEvent.h:
113         (WebCore::PlatformWheelEvent::setHasPreciseScrollingDeltas):
114
115 2013-03-01  Alec Flett  <alecflett@chromium.org>
116
117         IndexedDB: Avoid ScriptValue copies in IDBAny
118         https://bugs.webkit.org/show_bug.cgi?id=111002
119
120         Reviewed by Adam Barth.
121
122         This avoids some v8 handle thrashing in the long term,
123         and protects us against some crashes in the short term.
124
125         The crashes will be fixed in 
126         https://bugs.webkit.org/show_bug.cgi?id=110206.
127
128         * Modules/indexeddb/IDBAny.cpp:
129         (WebCore::IDBAny::createNull):
130         (WebCore::IDBAny::createString):
131         (WebCore::IDBAny::IDBAny):
132         (WebCore::IDBAny::scriptValue):
133         * Modules/indexeddb/IDBAny.h:
134         (WebCore::IDBAny::create):
135         (IDBAny):
136         (WebCore::IDBAny::keyPath):
137         * bindings/v8/custom/V8IDBAnyCustom.cpp:
138         (WebCore::toV8):
139         (WebCore):
140
141 2013-03-01  Victor Carbune  <vcarbune@chromium.org>
142
143         Support padding, margin and border for internal UA cue styling
144         https://bugs.webkit.org/show_bug.cgi?id=110703
145
146         Reviewed by Eric Carlson.
147
148         For some particular user agent styling this allows the possibility
149         of making the window around the cue text bigger to match some user
150         styles (see CaptionUserPreferencesMac::captionsStyleSheetOverride).
151
152         These properties *cannot* be set through by using the ::cue
153         pseudo-element and, as specified, are used only internally.
154
155         Note: This patch is identical to the previously commited one,
156         as it was rolled back without related tests failing.
157
158         Test: media/track/track-cue-rendering-with-padding.html
159
160         * css/mediaControls.css:
161         (video::-webkit-media-text-track-display): Set the CSS box model
162         to include in the specified width or height the values of
163         padding / margin / border by using -webkit-box-sizing and avoid
164         overflow over 100% width because of having these properties set.
165         * rendering/RenderTextTrackCue.cpp:
166         (WebCore::RenderTextTrackCue::isOutside): To not interfere with
167         the regular WebVTT positioning algorithm, the check is done for
168         the absolute content box.
169         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Added
170         an extra adjustment step to accomodate vertical padding (and not
171         overflow the cue container)
172
173 2013-03-01  Andy Estes  <aestes@apple.com>
174
175         REGRESSION (r125809): CFStrings created via StringImpl::createCFString()  might reference freed memory when Objective-C garbage collection is enabled
176         https://bugs.webkit.org/show_bug.cgi?id=111219
177
178         Reviewed by Benjamin Poulain.
179
180         StringImpl::createCFString() uses CFStringCreateWithBytesNoCopy() in
181         order to create CFString without making an unnecessary copy. In order
182         to ensure that the the StringImpl's backing buffer isn't deallocated
183         while the CFString is still alive, we use a custom CFAllocator to
184         ref/deref the StringImpl at the appropriate times.
185
186         However, custom allocators aren't supported when Objective-C garbage
187         collection is enabled, so in this case we use the default CF allocator.
188         Since we can't guarantee the lifetime of the StringImpl in this case,
189         we should just fall back to copying the string, as we did prior to r125809.
190
191         * platform/text/cf/StringImplCF.cpp:
192         (garbageCollectionEnabled): Moved the check for whether garbage
193         collection is enabled from StringWrapperCFAllocator::create() to here.
194         (WTF::StringWrapperCFAllocator::create): Call garbageCollectionEnabled().
195         (WTF::StringImpl::createCFString): If garbage collection is enabled,
196         call the variants of CFStringCreate that copy the string.
197
198 2013-03-01  Roger Fong  <roger_fong@apple.com>
199
200         Unreviewed AppleWin build fix.
201
202         * platform/network/cf/ResourceHandleCFNet.cpp:
203         (WebCore::ResourceHandle::createCFURLConnection):
204
205 2013-03-01  Martin Robinson  <mrobinson@igalia.com>
206
207         [GTK] Allow sharing the WebCore include list with the Chromium build
208         https://bugs.webkit.org/show_bug.cgi?id=110241
209
210         Reviewed by Dirk Pranke.
211
212         * WebCore.gyp/WebCoreGTK.gyp: Added. A skeleton gyp file for WebCoreGTK+.
213         * WebCore.gypi: Added shared include directories.
214
215 2013-03-01  Alexey Proskuryakov  <ap@apple.com>
216
217         Make in-memory blobs work in NetworkProcess
218         https://bugs.webkit.org/show_bug.cgi?id=111132
219
220         Reviewed by Sam Weinig.
221
222         * WebCore.exp.in:
223         * WebCore.xcodeproj/project.pbxproj:
224         Exported functions now needed by WebKit2, and made some headers Private instead
225         of Project.
226
227 2013-03-01  Eric Seidel  <eric@webkit.org>
228
229         Threaded HTML Parser has an extra copy of every byte from the network
230         https://bugs.webkit.org/show_bug.cgi?id=111135
231
232         Reviewed by Adam Barth.
233
234         Every LayoutTest executes this code in threaded parsing mode.
235
236         * dom/DecodedDataDocumentParser.cpp:
237         (WebCore::DecodedDataDocumentParser::appendBytes):
238          - Pass ownership of the decoded string to the parser.
239         (WebCore::DecodedDataDocumentParser::flush):
240          - Same.
241         * dom/DecodedDataDocumentParser.h:
242         (DecodedDataDocumentParser):
243         * dom/Document.cpp:
244         (WebCore::Document::setContent):
245         * dom/DocumentParser.h:
246         (DocumentParser):
247         * dom/RawDataDocumentParser.h:
248         (WebCore::RawDataDocumentParser::append):
249         * html/FTPDirectoryDocument.cpp:
250         (FTPDirectoryDocumentParser):
251         (WebCore::FTPDirectoryDocumentParser::append):
252         * html/parser/HTMLDocumentParser.cpp:
253         (WebCore::HTMLDocumentParser::append):
254         * html/parser/HTMLDocumentParser.h:
255         (HTMLDocumentParser):
256         * html/parser/HTMLViewSourceParser.cpp:
257         (WebCore::HTMLViewSourceParser::append):
258         * html/parser/HTMLViewSourceParser.h:
259         (HTMLViewSourceParser):
260         * html/parser/TextDocumentParser.cpp:
261         (WebCore::TextDocumentParser::append):
262         * html/parser/TextDocumentParser.h:
263         (TextDocumentParser):
264         * loader/DocumentWriter.cpp:
265         (WebCore::DocumentWriter::replaceDocument):
266         * xml/parser/XMLDocumentParser.cpp:
267         (WebCore::XMLDocumentParser::append):
268         * xml/parser/XMLDocumentParser.h:
269         (XMLDocumentParser):
270         * xml/parser/XMLDocumentParserLibxml2.cpp:
271         (WebCore::XMLDocumentParser::resumeParsing):
272
273 2013-03-01  David Hyatt  <hyatt@apple.com>
274
275         [New Multicolumn] Change inRenderFlowThread to follow containing block chain
276         https://bugs.webkit.org/show_bug.cgi?id=111206
277
278         Reviewed by Simon Fraser.
279
280         This patch removes inRenderFlowThread and changes enclosingRenderFlowThread()
281         to flowThreadContainingBlock(). flowThreadContainingBlock() now follows
282         the containing block chain instead of the parent chain when outside of layout.
283         (It already did the right thing when called during layout.)
284         
285         By removing inRenderFlowThread (which was following the parent chain), all
286         code that is checking for flow thread containment now correctly uses the
287         containing block chain. This allows for content to escape in-flow flow threads
288         and do the right thing without asserting.
289         
290         Test: fast/multicol/positioned-outside-of-columns.html
291
292         * dom/WebKitNamedFlow.cpp:
293         (WebCore::inFlowThread):
294         (WebCore::WebKitNamedFlow::getRegionsByContent):
295         * rendering/RenderBlock.cpp:
296         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
297         (WebCore::RenderBlock::collapseAnonymousBoxChild):
298         (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize):
299         (WebCore::RenderBlock::computeRegionRangeForBlock):
300         (WebCore::RenderBlock::layoutBlock):
301         (WebCore::RenderBlock::computeOverflow):
302         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
303         (WebCore::RenderBlock::computeLogicalLocationForFloat):
304         (WebCore::RenderBlock::logicalLeftOffsetForContent):
305         (WebCore::RenderBlock::logicalRightOffsetForContent):
306         (WebCore::RenderBlock::hasNextPage):
307         (WebCore::RenderBlock::applyBeforeBreak):
308         (WebCore::RenderBlock::applyAfterBreak):
309         (WebCore::RenderBlock::pageLogicalTopForOffset):
310         (WebCore::RenderBlock::pageLogicalHeightForOffset):
311         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
312         (WebCore::RenderBlock::adjustForUnsplittableChild):
313         (WebCore::RenderBlock::adjustLinePositionForPagination):
314         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
315         (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
316         (WebCore::RenderBlock::regionAtBlockOffset):
317         (WebCore::RenderBlock::setStaticInlinePositionForChild):
318         (WebCore::RenderBlock::logicalWidthChangedInRegions):
319         (WebCore::RenderBlock::clampToStartAndEndRegions):
320         * rendering/RenderBlock.h:
321         (RenderBlock):
322         * rendering/RenderBlockLineLayout.cpp:
323         (WebCore::layoutExclusionShapeInsideInfo):
324         (WebCore::LineLayoutState::LineLayoutState):
325         (WebCore::LineLayoutState::flowThread):
326         (WebCore::LineLayoutState::setFlowThread):
327         (LineLayoutState):
328         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
329         (WebCore::RenderBlock::linkToEndLineIfNeeded):
330         (WebCore::RenderBlock::layoutInlineChildren):
331         (WebCore::RenderBlock::determineStartPosition):
332         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
333         * rendering/RenderBox.cpp:
334         (WebCore::RenderBox::clearRenderBoxRegionInfo):
335         (WebCore::RenderBox::renderBoxRegionInfo):
336         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
337         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
338         (WebCore::RenderBox::computePositionedLogicalWidth):
339         (WebCore::RenderBox::computePositionedLogicalHeight):
340         * rendering/RenderDeprecatedFlexibleBox.cpp:
341         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
342         * rendering/RenderFlexibleBox.cpp:
343         (WebCore::RenderFlexibleBox::layoutBlock):
344         * rendering/RenderFlowThread.cpp:
345         (WebCore::RenderFlowThread::objectInFlowRegion):
346         * rendering/RenderGrid.cpp:
347         (WebCore::RenderGrid::layoutBlock):
348         * rendering/RenderInline.cpp:
349         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
350         * rendering/RenderLayer.cpp:
351         (WebCore::accumulateOffsetTowardsAncestor):
352         * rendering/RenderLayerCompositor.cpp:
353         (WebCore::RenderLayerCompositor::canBeComposited):
354         * rendering/RenderMedia.cpp:
355         (WebCore::RenderMedia::layout):
356         * rendering/RenderObject.cpp:
357         (WebCore::RenderObject::locateFlowThreadContainingBlock):
358         (WebCore::RenderObject::containerForRepaint):
359         (WebCore::RenderObject::willBeRemovedFromTree):
360         (WebCore::RenderObject::removeFromRenderFlowThread):
361         (WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
362         * rendering/RenderObject.h:
363         (RenderObject):
364         (WebCore::RenderObject::flowThreadContainingBlock):
365         * rendering/RenderRegion.cpp:
366         (WebCore::RenderRegion::setObjectStyleInRegion):
367         * rendering/RenderView.cpp:
368         (WebCore::RenderView::addChild):
369         (WebCore::RenderView::initializeLayoutState):
370         (WebCore::RenderView::setSelection):
371         * rendering/RenderView.h:
372         (WebCore::RenderView::pushLayoutState):
373         * rendering/RootInlineBox.cpp:
374         (WebCore::RootInlineBox::containingRegion):
375         (WebCore::RootInlineBox::setContainingRegion):
376
377 2013-02-28  Sam Weinig  <sam@webkit.org>
378
379         Add SPI for marking a WebView as doing things on behalf of another process
380         https://bugs.webkit.org/show_bug.cgi?id=111125
381
382         Reviewed by Alexey Proskuryakov.
383
384         * platform/network/NetworkingContext.h:
385         (NetworkingContext):
386         * platform/network/cf/ResourceHandleCFNet.cpp:
387         (WebCore::ResourceHandle::createCFURLConnection):
388         * platform/network/mac/ResourceHandleMac.mm:
389         (WebCore::ResourceHandle::createNSURLConnection):
390         Set the sourceApplicationAuditData on the URL connection if available.
391
392 2013-03-01  Brent Fulgham  <bfulgham@webkit.org>
393
394         [Windows] Unreviewed VS2010 build fix.
395
396         * WebCore.vcxproj/WebCore.vcxproj: Add missing TimelineTraceEventProcessor
397           files to the project.
398         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
399
400 2013-03-01  Bear Travis  <betravis@adobe.com>
401
402         [css exclusions] setting shape-inside on a parent does not relayout child blocks' inline content
403         https://bugs.webkit.org/show_bug.cgi?id=108128
404
405         Reviewed by David Hyatt.
406
407         Ensure that blocks lay out when their parent's shape-inside changes.
408         ExclusionShapeInsideInfo now stores an additional flag indicating whether
409         the shape has changed and its block's children require layout. Each block
410         can look up the flag via LayoutState to determine whether it needs to lay
411         out its children.
412
413         Test: fast/exclusions/shape-inside/shape-inside-dynamic-nested.html
414
415         * rendering/ExclusionShapeInfo.h:
416         (WebCore::ExclusionShapeInfo::shapeSizeDirty): Add a method to determine
417         if the shape has changed.
418         (ExclusionShapeInfo):
419         * rendering/ExclusionShapeInsideInfo.h:
420         (WebCore::ExclusionShapeInsideInfo::setNeedsLayout): Set the flag indicating
421         layout is necessary.
422         (WebCore::ExclusionShapeInsideInfo::needsLayout): Retrieve the layout flag.
423         (ExclusionShapeInsideInfo):
424         (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Initialize
425         the layout flag.
426         * rendering/RenderBlock.cpp:
427         (WebCore::exclusionInfoRequiresRelayout): Return true if the shape info should
428         cause a relayout. Also update the needsLayout flag on the ExclusionShapeInsideInfo.
429         (WebCore):
430         (WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize): Return a boolean
431         indicating whether regions or exclusions updates should cause a relayout.
432         (WebCore::RenderBlock::layoutBlock): Relayout children if the shape inside has
433         changed.
434         * rendering/RenderBlock.h:
435         (RenderBlock):
436         * rendering/RenderBlockLineLayout.cpp:
437         (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Changing to be a
438         class method.
439         (WebCore::LineWidth::LineWidth): Changing to use class method.
440         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
441         (WebCore::constructBidiRunsForLine): Ditto.
442         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.
443         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto.
444
445 2013-03-01  Uday Kiran  <udaykiran@motorola.com>
446
447         getComputedStyle not implemented for -webkit-column-rule shorthand
448         https://bugs.webkit.org/show_bug.cgi?id=111203
449
450         Reviewed by Alexis Menard.
451
452         Implement getComputedStyle for -webkit-column-rule property.
453
454         Test: fast/css/getComputedStyle/getComputedStyle-column-rule.html
455
456         * css/CSSComputedStyleDeclaration.cpp:
457         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
458
459 2013-02-28  David Hyatt  <hyatt@apple.com>
460
461         REGRESSION(r144318) 1-7% perf. regression on SVG/SvgHitTesting
462         https://bugs.webkit.org/show_bug.cgi?id=111117
463
464         Make sure the allocated vector has a capacity of 1, since that is
465         far and away the most common case.
466
467         Reviewed by Andreas Kling.
468
469         * rendering/RenderFlowThread.h:
470         (WebCore):
471         * rendering/RenderLayer.h:
472         (WebCore):
473         * rendering/RenderMultiColumnSet.cpp:
474         (WebCore::RenderMultiColumnSet::collectLayerFragments):
475         * rendering/RenderMultiColumnSet.h:
476         * rendering/RenderRegion.h:
477         (WebCore):
478         (WebCore::RenderRegion::collectLayerFragments):
479
480 2013-03-01  Enrica Casucci  <enrica@apple.com>
481
482         Crash at WebCore::SharedBuffer::hasPlatformData writing an image to the pasteboard.
483         https://bugs.webkit.org/show_bug.cgi?id=111211.
484         <rdar://problem/8772758>
485
486         Reviewed by Ryosuke Niwa.
487
488         This is a speculative fix since we don't have a solid repro case.
489         Adding null check every time we build a SharedBuffer from an NSData
490         we have obtained manipulating data from the pasteboard.
491
492         * platform/mac/PasteboardMac.mm:
493         (WebCore::writeFileWrapperAsRTFDAttachment):
494         (WebCore::Pasteboard::writeImage):
495
496 2013-03-01  Enrica Casucci  <enrica@apple.com>
497
498         Crash at WebCore::SharedBuffer::hasPlatformData during paste.
499         https://bugs.webkit.org/show_bug.cgi?id=111207.
500         <rdar://problem/13024528>
501
502         Reviewed by Ryosuke Niwa.
503
504         This is a speculative fix since we don't have a solid repro case.
505         Adding null check every time we get a SharedBuffer from the pasteboard.
506
507         * platform/mac/PasteboardMac.mm:
508         (WebCore::Pasteboard::plainText):
509         (WebCore::documentFragmentWithRTF):
510
511 2013-03-01  Alexey Proskuryakov  <ap@apple.com>
512
513         Build fix for builds with BLOB disabled. This fixes it for me on Mac at least.
514
515         * platform/network/BlobRegistryImpl.cpp:
516
517 2013-03-01  peavo@outlook.com  <peavo@outlook.com>
518
519         [Curl] Session cookies should not be persistent.
520         https://bugs.webkit.org/show_bug.cgi?id=111060
521
522         Reviewed by Brent Fulgham.
523
524         Curl saves both persistent cookies, and session cookies to the cookie file.
525         The session cookies should be deleted before starting a new session.
526
527         * platform/network/curl/ResourceHandleManager.cpp:
528         (WebCore::ResourceHandleManager::ResourceHandleManager): Call method to initialize cookie session.
529         (WebCore::ResourceHandleManager::initCookieSession): Added method to initialize cookie session.
530         * platform/network/curl/ResourceHandleManager.h: Added method to initialize cookie session.
531
532 2013-03-01  Vsevolod Vlasov  <vsevik@chromium.org>
533
534         Web Inspector: Navigator should show tree element for each folder in the source path.
535         https://bugs.webkit.org/show_bug.cgi?id=108943
536
537         Reviewed by Pavel Feldman.
538
539         NavigatorView now renders tree element for each folder in uiSourceCode uri.
540         Merging several folders into one tree elememnt when folder has only one folder as a child is supported.
541         ScriptsNavigator has horizontal scroll now.
542         Projects are shown in ScriptsNavigator by their displayName. This allows us to show several root file system folders
543         with the same name in the navigator (e.g. 'Source/WebCore/inspector' and 'LayoutTests/inspector').
544
545         Test: inspector/debugger/navigator-view.html: Renamed from scripts-file-selector.html
546
547         * English.lproj/localizedStrings.js:
548         * inspector/front-end/NavigatorView.js:
549         (WebInspector.NavigatorView):
550         (WebInspector.NavigatorView.iconClassForType):
551         (WebInspector.NavigatorView.prototype.addUISourceCode):
552         (WebInspector.NavigatorView.prototype._getProjectNode):
553         (WebInspector.NavigatorView.prototype._createProjectNode):
554         (WebInspector.NavigatorView.prototype._getOrCreateProjectNode):
555         (WebInspector.NavigatorView.prototype._getFolderNode):
556         (WebInspector.NavigatorView.prototype._createFolderNode):
557         (WebInspector.NavigatorView.prototype._getOrCreateFolderNode):
558         (WebInspector.NavigatorView.prototype._getUISourceCodeParentNode):
559         (WebInspector.NavigatorView.prototype._getOrCreateUISourceCodeParentNode):
560         (WebInspector.NavigatorView.prototype.revealUISourceCode):
561         (WebInspector.NavigatorView.prototype.removeUISourceCode):
562         (WebInspector.NavigatorView.prototype.rename):
563         (WebInspector.NavigatorView.prototype.reset):
564         (.typeWeight):
565         (WebInspector.NavigatorTreeOutline._treeElementsCompare):
566         (WebInspector.BaseNavigatorTreeElement):
567         (WebInspector.BaseNavigatorTreeElement.prototype.type):
568         (WebInspector.NavigatorFolderTreeElement):
569         (WebInspector.NavigatorFolderTreeElement.prototype.onpopulate):
570         (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
571         (WebInspector.NavigatorSourceTreeElement):
572         (WebInspector.NavigatorTreeNode):
573         (WebInspector.NavigatorTreeNode.prototype.treeElement):
574         (WebInspector.NavigatorTreeNode.prototype.dispose):
575         (WebInspector.NavigatorTreeNode.prototype.isRoot):
576         (WebInspector.NavigatorTreeNode.prototype.hasChildren):
577         (WebInspector.NavigatorTreeNode.prototype.populate):
578         (WebInspector.NavigatorTreeNode.prototype.wasPopulated):
579         (WebInspector.NavigatorTreeNode.prototype.didAddChild):
580         (WebInspector.NavigatorTreeNode.prototype.willRemoveChild):
581         (WebInspector.NavigatorTreeNode.prototype.isPopulated):
582         (WebInspector.NavigatorTreeNode.prototype.isEmpty):
583         (WebInspector.NavigatorTreeNode.prototype.child):
584         (WebInspector.NavigatorTreeNode.prototype.children):
585         (WebInspector.NavigatorTreeNode.prototype.appendChild):
586         (WebInspector.NavigatorTreeNode.prototype.removeChild):
587         (WebInspector.NavigatorTreeNode.prototype.reset):
588         (WebInspector.NavigatorRootTreeNode):
589         (WebInspector.NavigatorRootTreeNode.prototype.isRoot):
590         (WebInspector.NavigatorRootTreeNode.prototype.treeElement):
591         (WebInspector.NavigatorRootTreeNode.prototype.wasPopulated):
592         (WebInspector.NavigatorRootTreeNode.prototype.didAddChild):
593         (WebInspector.NavigatorRootTreeNode.prototype.willRemoveChild):
594         (WebInspector.NavigatorUISourceCodeTreeNode):
595         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.treeElement):
596         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.updateTitle):
597         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.hasChildren):
598         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.dispose):
599         (WebInspector.NavigatorUISourceCodeTreeNode.prototype._titleChanged):
600         (WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyChanged):
601         (WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyCommitted):
602         (WebInspector.NavigatorUISourceCodeTreeNode.prototype._formattedChanged):
603         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.reveal):
604         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.commitHandler):
605         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.cancelHandler):
606         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.afterEditing):
607         (WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename):
608         (WebInspector.NavigatorFolderTreeNode):
609         (WebInspector.NavigatorFolderTreeNode.prototype.treeElement):
610         (WebInspector.NavigatorFolderTreeNode.prototype._createTreeElement):
611         (WebInspector.NavigatorFolderTreeNode.prototype.wasPopulated):
612         (WebInspector.NavigatorFolderTreeNode.prototype._addChildrenRecursive):
613         (WebInspector.NavigatorFolderTreeNode.prototype._shouldMerge):
614         (WebInspector.NavigatorFolderTreeNode.prototype.didAddChild):
615         (WebInspector.NavigatorFolderTreeNode.prototype.willRemoveChild):
616         * inspector/front-end/ScriptsNavigator.js:
617         * inspector/front-end/SimpleWorkspaceProvider.js:
618         (WebInspector.SimpleProjectDelegate.prototype.displayName):
619         * inspector/front-end/navigatorView.css:
620         (.navigator > ol):
621         (.navigator .base-navigator-tree-element-title):
622         (.navigator-tabbed-pane .navigator-container):
623
624 2013-03-01  Arvid Nilsson  <anilsson@rim.com>
625
626         [BlackBerry] Upstream BlackBerry::Platform::Graphics::GraphicsContext integration related changes in platform/graphics/blackberry
627         https://bugs.webkit.org/show_bug.cgi?id=111072
628
629         Reviewed by Rob Buis.
630
631         BlackBerry PR 293208
632
633         This patch contains contributions from many members of the BlackBerry
634         WebKit team:
635
636         Rob Buis
637         Robin Cao
638         Michael Carmody
639         Max Feil
640         Eli Fidler
641         Antonio Gomes
642         Jacky Jiang
643         Mike Lattanzio
644         Yong Li
645         Andrew Lo
646         Maxim Mogilnitsky
647         Joshua Netterfield
648         Arvid Nilsson
649         Jakob Petsovits
650         Konrad Piascik
651         Jeff Rogers
652         Artem Simonov
653         Filip Spacek
654         George Staikos
655         Cosmin Truta
656
657         Covered by existing tests.
658
659         * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
660         (WebCore::CanvasLayerWebKitThread::deleteTextures):
661         (CanvasLayerCompositingThreadClient):
662         (WebCore::CanvasLayerCompositingThreadClient::layerCompositingThreadDestroyed):
663         (WebCore::CanvasLayerCompositingThreadClient::layerVisibilityChanged):
664         (WebCore::CanvasLayerCompositingThreadClient::uploadTexturesIfNeeded):
665         (WebCore::CanvasLayerCompositingThreadClient::clearBuffer):
666         (WebCore):
667         (WebCore::CanvasLayerCompositingThreadClient::CanvasLayerCompositingThreadClient):
668         (WebCore::CanvasLayerCompositingThreadClient::drawTextures):
669         (WebCore::CanvasLayerCompositingThreadClient::deleteTextures):
670         (WebCore::CanvasLayerCompositingThreadClient::commitPendingTextureUploads):
671         (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
672         (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
673         (WebCore::CanvasLayerWebKitThread::clearBuffer):
674         * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
675         (WebCore):
676         (WebCore::CanvasLayerWebKitThread::create):
677         (CanvasLayerWebKitThread):
678         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
679         (WebCore::DisplayRefreshMonitor::displayLinkFired):
680         * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
681         (WebCore::DrawingBuffer::DrawingBuffer):
682         (WebCore):
683         (WebCore::DrawingBuffer::publishToPlatformLayer):
684         (WebCore::DrawingBuffer::platformLayer):
685         * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:
686         (WebCore::EGLImageLayerCompositingThreadClient::~EGLImageLayerCompositingThreadClient):
687         (WebCore::EGLImageLayerCompositingThreadClient::uploadTexturesIfNeeded):
688         (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
689         (WebCore::EGLImageLayerCompositingThreadClient::deleteTextures):
690         (WebCore::EGLImageLayerCompositingThreadClient::bindContentsTexture):
691         (WebCore::EGLImageLayerCompositingThreadClient::setTextureAccessor):
692         * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.h:
693         (Graphics):
694         (EGLImageLayerCompositingThreadClient):
695         (WebCore::EGLImageLayerCompositingThreadClient::EGLImageLayerCompositingThreadClient):
696         * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
697         (WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
698         (WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
699         (WebCore::EGLImageLayerWebKitThread::updateFrontBuffer):
700         (WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
701         (WebCore::EGLImageLayerWebKitThread::commitPendingTextureUploads):
702         (WebCore::EGLImageLayerWebKitThread::createTextureIfNeeded):
703         (WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
704         * platform/graphics/blackberry/EGLImageLayerWebKitThread.h:
705         (Graphics):
706         (EGLImageLayerWebKitThread):
707         * platform/graphics/blackberry/FloatRectBlackBerry.cpp:
708         (WebCore::FloatRect::normalized):
709         (WebCore):
710         * platform/graphics/blackberry/FontCacheBlackberry.cpp: Removed.
711         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
712         (WebCore::GraphicsContext3D::GraphicsContext3D):
713         (WebCore::GraphicsContext3D::paintToCanvas):
714         (WebCore::GraphicsContext3D::getImageData):
715         (WebCore):
716         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
717         (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
718         (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
719         (WebCore::GraphicsLayerBlackBerry::clearBackgroundColor):
720         (WebCore):
721         (WebCore::GraphicsLayerBlackBerry::setContentsNeedsDisplay):
722         (WebCore::GraphicsLayerBlackBerry::setNeedsDisplay):
723         (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
724         (WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
725         (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
726         * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
727         (GraphicsLayerBlackBerry):
728         (WebCore::GraphicsLayerBlackBerry::notifySyncRequired):
729         * platform/graphics/blackberry/ImageBlackBerry.cpp:
730         (WebCore::ImageFrame::asNewNativeImage):
731         (WebCore):
732         (WebCore::FrameData::clear):
733         (WebCore::BitmapImage::BitmapImage):
734         (WebCore::BitmapImage::checkForSolidColor):
735         (WebCore::BitmapImage::invalidatePlatformData):
736         (WebCore::BitmapImage::draw):
737         (WebCore::Image::drawPattern):
738         * platform/graphics/blackberry/InstrumentedPlatformCanvas.h: Removed.
739         * platform/graphics/blackberry/LayerCompositingThread.cpp:
740         (WebCore::LayerCompositingThread::drawTextures):
741         (WebCore::LayerCompositingThread::drawSurface):
742         (WebCore::LayerCompositingThread::contentsTexture):
743         (WebCore::LayerCompositingThread::commitPendingTextureUploads):
744         (WebCore):
745         * platform/graphics/blackberry/LayerCompositingThread.h:
746         (Graphics):
747         (LayerCompositingThread):
748         * platform/graphics/blackberry/LayerCompositingThreadClient.h:
749         (Graphics):
750         (WebCore):
751         (LayerCompositingThreadClient):
752         (WebCore::LayerCompositingThreadClient::contentsTexture):
753         (WebCore::LayerCompositingThreadClient::commitPendingTextureUploads):
754         * platform/graphics/blackberry/LayerData.h:
755         (WebCore::LayerData::LayerData):
756         (WebCore::LayerData::contentsResolutionIndependent):
757         (LayerData):
758         (WebCore::LayerData::layerProgram):
759         (WebCore::LayerData::isContainerForFixedPositionLayers):
760         (WebCore::LayerData::isFixedToTop):
761         (WebCore::LayerData::isFixedToLeft):
762         (WebCore::LayerData::frameVisibleRect):
763         (WebCore::LayerData::frameContentsSize):
764         (WebCore::LayerData::contentsScale):
765         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
766         (WebCore::LayerFilterRendererAction::LayerFilterRendererAction):
767         (WebCore::LayerFilterRenderer::initializeSharedGLObjects):
768         (WebCore::LayerFilterRenderer::ping):
769         (WebCore::LayerFilterRenderer::pong):
770         (WebCore::LayerFilterRenderer::pushSnapshot):
771         (WebCore::LayerFilterRenderer::popSnapshot):
772         (WebCore::LayerFilterRenderer::applyActions):
773         * platform/graphics/blackberry/LayerRenderer.cpp:
774         (WebCore):
775         (WebCore::LayerRenderer::LayerRenderer):
776         (WebCore::LayerRenderer::~LayerRenderer):
777         (WebCore::LayerRenderer::setViewport):
778         (WebCore::LayerRenderer::compositeLayers):
779         (WebCore::LayerRenderer::compositeBuffer):
780         (WebCore::LayerRenderer::drawColor):
781         (WebCore::LayerRenderer::useSurface):
782         (WebCore::LayerRenderer::drawLayersOnSurfaces):
783         (WebCore::glRound):
784         (WebCore::LayerRenderer::toOpenGLWindowCoordinates):
785         (WebCore::LayerRenderer::drawDebugBorder):
786         (WebCore::LayerRenderer::drawHolePunchRect):
787         (WebCore::LayerRenderer::updateLayersRecursive):
788         (WebCore::LayerRenderer::compositeLayersRecursive):
789         (WebCore::LayerRenderer::createProgram):
790         (WebCore::LayerRenderer::useProgram):
791         (WebCore::LayerRenderer::useLayerProgram):
792         * platform/graphics/blackberry/LayerRenderer.h:
793         (LayerRenderer):
794         * platform/graphics/blackberry/LayerRendererSurface.cpp:
795         (WebCore::LayerRendererSurface::ensureTexture):
796         * platform/graphics/blackberry/LayerTile.cpp:
797         (WebCore::LayerTile::LayerTile):
798         (WebCore::LayerTile::setContents):
799         (WebCore::LayerTile::updateContents):
800         * platform/graphics/blackberry/LayerTile.h:
801         (LayerTile):
802         (WebCore::LayerTile::renderState):
803         (WebCore::LayerTile::needsRender):
804         (WebCore::LayerTile::setNeedsRender):
805         (WebCore::LayerTile::setRenderPending):
806         (WebCore::LayerTile::setRenderDone):
807         * platform/graphics/blackberry/LayerTileIndex.h:
808         * platform/graphics/blackberry/LayerTiler.cpp:
809         (WebCore):
810         (WebCore::defaultTileSize):
811         (WebCore::LayerTiler::LayerTiler):
812         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
813         (WebCore::LayerTiler::createBuffer):
814         (WebCore::LayerTiler::willCommit):
815         (WebCore::LayerTiler::commitPendingTextureUploads):
816         (WebCore::LayerTiler::layerVisibilityChanged):
817         (WebCore::LayerTiler::uploadTexturesIfNeeded):
818         (WebCore::LayerTiler::processTextureJob):
819         (WebCore::LayerTiler::addTileJob):
820         (WebCore::LayerTiler::performTileJob):
821         (WebCore::LayerTiler::drawTile):
822         (WebCore::LayerTiler::drawTextures):
823         (WebCore::LayerTiler::pruneTextures):
824         (WebCore::LayerTiler::updateTileSize):
825         (WebCore::LayerTiler::setNeedsBacking):
826         (WebCore::LayerTiler::contentsTexture):
827         * platform/graphics/blackberry/LayerTiler.h:
828         (WebCore::LayerTiler::tileSize):
829         (LayerTiler):
830         (WebCore::LayerTiler::TextureJob::TextureJob):
831         (WebCore::LayerTiler::TextureJob::setContents):
832         (WebCore::LayerTiler::TextureJob::updateContents):
833         (TextureJob):
834         (WebCore::LayerTiler::needsRender):
835         (WebCore::LayerTiler::removeUpdateContentsJobs):
836         * platform/graphics/blackberry/LayerWebKitThread.cpp:
837         (WebCore::LayerWebKitThread::LayerWebKitThread):
838         (WebCore::LayerWebKitThread::~LayerWebKitThread):
839         (WebCore::LayerWebKitThread::paintContents):
840         (WebCore::LayerWebKitThread::commitPendingTextureUploads):
841         (WebCore::LayerWebKitThread::setContents):
842         (WebCore::LayerWebKitThread::setNeedsCommit):
843         (WebCore::LayerWebKitThread::notifyAnimationsStarted):
844         (WebCore::LayerWebKitThread::commitOnWebKitThread):
845         (WebCore::LayerWebKitThread::startAnimations):
846         (WebCore::LayerWebKitThread::updateTextureContents):
847         (WebCore::LayerWebKitThread::commitOnCompositingThread):
848         (WebCore::LayerWebKitThread::addSublayer):
849         (WebCore):
850         (WebCore::LayerWebKitThread::addOverlay):
851         (WebCore::LayerWebKitThread::insert):
852         (WebCore::LayerWebKitThread::removeFromSuperlayer):
853         (WebCore::LayerWebKitThread::removeSublayerOrOverlay):
854         (WebCore::LayerWebKitThread::remove):
855         (WebCore::LayerWebKitThread::replaceSublayer):
856         (WebCore::LayerWebKitThread::filtersCanBeComposited):
857         (WebCore::LayerWebKitThread::removeAll):
858         (WebCore::LayerWebKitThread::setSublayers):
859         (WebCore::LayerWebKitThread::updateLayerHierarchy):
860         (WebCore::LayerWebKitThread::setIsMask):
861         (WebCore::LayerWebKitThread::releaseLayerResources):
862         * platform/graphics/blackberry/LayerWebKitThread.h:
863         (WebCore::LayerWebKitThread::insertSublayer):
864         (LayerWebKitThread):
865         (WebCore::LayerWebKitThread::isMask):
866         (WebCore::LayerWebKitThread::removeAllSublayers):
867         (WebCore::LayerWebKitThread::setFixedPosition):
868         (WebCore::LayerWebKitThread::setIsContainerForFixedPositionLayers):
869         (WebCore::LayerWebKitThread::setFixedToTop):
870         (WebCore::LayerWebKitThread::setFixedToLeft):
871         (WebCore::LayerWebKitThread::setFrameVisibleRect):
872         (WebCore::LayerWebKitThread::setFrameContentsSize):
873         (WebCore::LayerWebKitThread::setLayerProgram):
874         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
875         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
876         (WebCore::MediaPlayerPrivate::play):
877         (WebCore::MediaPlayerPrivate::supportsFullscreen):
878         (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
879         (WebCore::MediaPlayerPrivate::prepareForRendering):
880         (WebCore):
881         (WebCore::MediaPlayerPrivate::resizeSourceDimensions):
882         (WebCore::MediaPlayerPrivate::percentLoaded):
883         (WebCore::MediaPlayerPrivate::updateStates):
884         (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
885         (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
886         (WebCore::MediaPlayerPrivate::notifyChallengeResult):
887         (WebCore::MediaPlayerPrivate::isProcessingUserGesture):
888         (WebCore::loadBufferingImageData):
889         (WebCore::MediaPlayerPrivate::setBuffering):
890         (WebCore::MediaPlayerPrivate::drawBufferingAnimation):
891         (WebCore::MediaPlayerPrivate::onConditionallyEnterFullscreen):
892         (WebCore::MediaPlayerPrivate::onExitFullscreen):
893         (WebCore::MediaPlayerPrivate::onCreateHolePunchRect):
894         (WebCore::MediaPlayerPrivate::onDestroyHolePunchRect):
895         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
896         (BlackBerry):
897         (Platform):
898         (Graphics):
899         (MediaPlayerPrivate):
900         * platform/graphics/blackberry/PluginLayerWebKitThread.cpp:
901         (WebCore::PluginLayerWebKitThread::setPluginView):
902         * platform/graphics/blackberry/Texture.cpp:
903         (WebCore::Texture::Texture):
904         (WebCore::Texture::updateContents):
905         (WebCore::Texture::setContentsToColor):
906         (WebCore::Texture::protect):
907         * platform/graphics/blackberry/Texture.h:
908         (Texture):
909         (WebCore::Texture::textureId):
910         (WebCore::Texture::isDirty):
911         (WebCore::Texture::hasTexture):
912         (WebCore::Texture::sizeInBytes):
913         (WebCore::Texture::setTextureId):
914         (WebCore::Texture::setSize):
915         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
916         (WebCore::TextureCacheCompositingThread::allocateTextureId):
917         (WebCore::freeTextureId):
918         (WebCore::TextureCacheCompositingThread::collectGarbage):
919         (WebCore::TextureCacheCompositingThread::textureSizeInBytesChanged):
920         (WebCore):
921         (WebCore::TextureCacheCompositingThread::textureDestroyed):
922         (WebCore::TextureCacheCompositingThread::install):
923         (WebCore::TextureCacheCompositingThread::resizeTexture):
924         (WebCore::TextureCacheCompositingThread::evict):
925         (WebCore::TextureCacheCompositingThread::prune):
926         (WebCore::TextureCacheCompositingThread::clear):
927         (WebCore::TextureCacheCompositingThread::textureForTiledContents):
928         (WebCore::TextureCacheCompositingThread::updateContents):
929         * platform/graphics/blackberry/TextureCacheCompositingThread.h:
930         (TextureCacheCompositingThread):
931         (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
932         (ZombieTexture):
933         * platform/graphics/blackberry/skia/ImageBufferDataSkia.h: Removed.
934         * platform/graphics/blackberry/skia/PlatformSupport.cpp: Removed.
935         * platform/graphics/blackberry/skia/PlatformSupport.h: Removed.
936
937 2013-03-01  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
938
939         [Qt] Fix the Mac build with the current qtbase/dev branch
940         https://bugs.webkit.org/show_bug.cgi?id=111190
941
942         Reviewed by Allan Sandfeld Jensen.
943
944         QMAKE_MACOSX_DEPLOYMENT_TARGET now influences
945         __MAC_OS_X_VERSION_MIN_REQUIRED through -mmacosx-version-min after
946         changes in qtbase to support iOS.
947
948         Having only WebCore defining it to 10.5 would create a mismatch of
949         ENABLE_THREADING_LIBDISPATCH with WTF to cause undefined symbols
950         while linking both together at the end.
951
952         Fix it by removing the statement which isn't needed anymore.
953         qtbase/mkspecs/common/mac-minimum-version.conf already defines
954         10.6 as the minimum Mac version.
955
956         * Target.pri:
957
958 2013-03-01  Vsevolod Vlasov  <vsevik@chromium.org>
959
960         Web Inspector: [Regression] Snippets renaming is broken.
961         https://bugs.webkit.org/show_bug.cgi?id=111181
962
963         Reviewed by Alexander Pavlov.
964
965         * inspector/front-end/NavigatorView.js:
966         * inspector/front-end/ScriptSnippetModel.js:
967         * inspector/front-end/ScriptsPanel.js:
968         (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
969         * inspector/front-end/UISourceCode.js:
970         (WebInspector.UISourceCode.prototype.rename):
971
972 2013-03-01  David Hyatt  <hyatt@apple.com>
973
974         Fix a misspelled word in RenderObject.h. staticly -> statically.
975
976         Reviewed by Dean Jackson.
977
978         * rendering/RenderObject.h:
979         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
980         (WebCore::RenderObject::RenderObjectBitfields::isPositioned):
981
982 2013-03-01  David Hyatt  <hyatt@apple.com>
983
984         [New Multicolumn] Change flow thread containment to be a state.
985         https://bugs.webkit.org/show_bug.cgi?id=111110
986
987         Change m_inRenderFlowThread from a single bit to an actual state. This
988         will let us track whether we're inside a multicolumn (in-flow) flow thread
989         or a named (out-of-flow) flow thread. In the former case, we're going to have
990         to do more work to maintain this state, but for now I've kept all the logic
991         the same just for the initial landing.
992
993         Reviewed by Andreas Kling.
994
995         * dom/NodeRenderingContext.cpp:
996         (WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
997         (WebCore::NodeRenderingContext::createRendererForTextIfNeeded):
998         * rendering/RenderBlock.cpp:
999         (WebCore::RenderBlock::clone):
1000         * rendering/RenderFlowThread.cpp:
1001         (WebCore::RenderFlowThread::RenderFlowThread):
1002         * rendering/RenderInline.cpp:
1003         (WebCore::RenderInline::clone):
1004         * rendering/RenderMultiColumnFlowThread.cpp:
1005         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
1006         * rendering/RenderObject.cpp:
1007         (WebCore::RenderObject::setFlowThreadStateIncludingDescendants):
1008         (WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
1009         * rendering/RenderObject.h:
1010         (WebCore::RenderObject::setParent):
1011         (RenderObject):
1012         (WebCore::RenderObject::inRenderFlowThread):
1013         (WebCore::RenderObject::flowThreadState):
1014         (WebCore::RenderObject::setFlowThreadState):
1015         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
1016         (RenderObjectBitfields):
1017         (WebCore::RenderObject::RenderObjectBitfields::flowThreadState):
1018         (WebCore::RenderObject::RenderObjectBitfields::setFlowThreadState):
1019         * rendering/RenderView.cpp:
1020         (WebCore::RenderView::addChild):
1021         
1022 2013-03-01  Jessie Berlin  <jberlin@apple.com>
1023
1024         Build fix.
1025
1026         Roll out r144431 because it was a build fix for r144422, which was rolled out in r144446.
1027
1028         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
1029
1030 2013-03-01  David Kilzer  <ddkilzer@apple.com>
1031
1032         BUILD FIX (r144358): Add UNUSED_PARAM() macros to WebCore::Extensions3DOpenGL::drawBuffersEXT()
1033         <http://webkit.org/b/109331>
1034
1035         Fixes the following build failures:
1036
1037             Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:218:51: error: unused parameter 'n' [-Werror,-Wunused-parameter]
1038             void Extensions3DOpenGL::drawBuffersEXT(GC3Dsizei n, const GC3Denum* bufs)
1039                                                               ^
1040             Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:218:70: error: unused parameter 'bufs' [-Werror,-Wunused-parameter]
1041             void Extensions3DOpenGL::drawBuffersEXT(GC3Dsizei n, const GC3Denum* bufs)
1042                                                                                  ^
1043             2 errors generated.
1044
1045         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1046         (WebCore::Extensions3DOpenGL::drawBuffersEXT): Add UNUSED_PARAM()
1047         macros.
1048
1049 2013-03-01  Dan Carney  <dcarney@google.com>
1050
1051         [v8] ScriptValue has dangerous copy semantics
1052         https://bugs.webkit.org/show_bug.cgi?id=110206
1053
1054         Reviewed by Kentaro Hara.
1055
1056         Update ScriptValue to used a SharedPersistent,
1057         making it impossible to return dead references.
1058
1059         No new tests. No change in functionality.
1060
1061         * bindings/v8/ScriptValue.cpp:
1062         (WebCore::ScriptValue::serialize):
1063         (WebCore::ScriptValue::getString):
1064         (WebCore::ScriptValue::toString):
1065         (WebCore::ScriptValue::toInspectorValue):
1066         * bindings/v8/ScriptValue.h:
1067         (WebCore::ScriptValue::ScriptValue):
1068         (WebCore::ScriptValue::operator=):
1069         (WebCore::ScriptValue::operator==):
1070         (WebCore::ScriptValue::isEqual):
1071         (WebCore::ScriptValue::isFunction):
1072         (WebCore::ScriptValue::isNull):
1073         (WebCore::ScriptValue::isUndefined):
1074         (WebCore::ScriptValue::isObject):
1075         (WebCore::ScriptValue::hasNoValue):
1076         (WebCore::ScriptValue::clear):
1077         (ScriptValue):
1078         (WebCore::ScriptValue::v8Value):
1079         (WebCore::ScriptValue::v8ValueRaw):
1080         * bindings/v8/SharedPersistent.h:
1081         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1082         (WebCore::InjectedScriptHost::scriptValueAsNode):
1083         * bindings/v8/custom/V8MessageEventCustom.cpp:
1084         (WebCore::V8MessageEvent::dataAttrGetterCustom):
1085
1086 2013-03-01  Julien Chaffraix  <jchaffraix@webkit.org>
1087
1088         Add FeatureObserver for marquee and reflection
1089         https://bugs.webkit.org/show_bug.cgi?id=111118
1090
1091         Reviewed by Simon Fraser.
1092
1093         Refactoring covered by existing tests.
1094
1095         * page/FeatureObserver.h:
1096         * rendering/RenderLayer.cpp:
1097         (WebCore::RenderLayer::styleChanged):
1098         Added some instrumentation for reflection and marquee as they are both prefixed and this would help
1099         to know their popularity on the web. Marquee was split between <marquee> (HTMLMarqueeElement) and 
1100         overflow: -webkit-marquee (CSSOverflowMarquee).
1101
1102 2013-03-01  Alexander Pavlov  <apavlov@chromium.org>
1103
1104         Web Inspector: Introduce opaque SecurityOrigin string identifiers in the frontend
1105         https://bugs.webkit.org/show_bug.cgi?id=111165
1106
1107         Reviewed by Vsevolod Vlasov.
1108
1109         A plain string security origin value has been replaced by WebInspector.SecurityOrigin all over the code,
1110         containing a URL (which holds a stringified security origin) and an identifier (which is now used
1111         as a key in place of the stringified security origin in various maps). To avoid the ResourceTreeModel
1112         code clutter, the security origin tracking code has been extracted into a separate type,
1113         WebInspector.SecurityOriginTracker, which works as a helper on the ResourceTreeModel.
1114
1115         No new tests, as it is a refactoring.
1116
1117         * inspector/front-end/DOMStorage.js:
1118         (WebInspector.DOMStorage.storageId):
1119         (WebInspector.DOMStorage.prototype.id):
1120         (WebInspector.DOMStorage.prototype.getItems):
1121         (WebInspector.DOMStorage.prototype.setItem):
1122         (WebInspector.DOMStorage.prototype.removeItem):
1123         (WebInspector.DOMStorageModel.prototype._securityOriginAdded):
1124         (WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
1125         (WebInspector.DOMStorageModel.prototype._storageKey):
1126         * inspector/front-end/ExtensionAuditCategory.js:
1127         * inspector/front-end/FileSystemModel.js:
1128         (WebInspector.FileSystemModel.prototype._reset):
1129         (WebInspector.FileSystemModel.prototype._securityOriginAdded):
1130         (WebInspector.FileSystemModel.prototype._securityOriginRemoved):
1131         (WebInspector.FileSystemModel.prototype._addOrigin):
1132         (WebInspector.FileSystemModel.prototype._removeOrigin):
1133         (WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
1134         (WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
1135         (WebInspector.FileSystemModel.prototype._removeFileSystem):
1136         (WebInspector.FileSystemModel.FileSystem.prototype.get name):
1137         * inspector/front-end/IndexedDBModel.js:
1138         (WebInspector.IndexedDBModel.prototype._reset):
1139         (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
1140         (WebInspector.IndexedDBModel.prototype._securityOriginAdded):
1141         (WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
1142         (WebInspector.IndexedDBModel.prototype._addOrigin):
1143         (WebInspector.IndexedDBModel.prototype._removeOrigin):
1144         (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
1145         (WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
1146         (WebInspector.IndexedDBModel.prototype._loadDatabase):
1147         (WebInspector.IndexedDBModel.prototype.):
1148         (WebInspector.IndexedDBModel.prototype._requestData):
1149         (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
1150         * inspector/front-end/IndexedDBViews.js:
1151         (WebInspector.IDBDatabaseView.prototype._refreshDatabase):
1152         * inspector/front-end/ResourceTreeModel.js:
1153         (WebInspector.ResourceTreeModel.prototype._addFrame):
1154         (WebInspector.ResourceTreeModel.prototype.securityOriginForId):
1155         (WebInspector.ResourceTreeModel.prototype.securityOrigins):
1156         (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached):
1157         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
1158         (WebInspector.ResourceTreeModel.prototype._frameDetached):
1159         (WebInspector.ResourceTreeModel.SecurityOriginTracker):
1160         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._addSecurityOrigin):
1161         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._removeSecurityOrigin):
1162         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._bindSecurityOrigin):
1163         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._unbindSecurityOrigin):
1164         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._detachMainFrame):
1165         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._securityOriginForId):
1166         (WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._securityOrigins):
1167         (WebInspector.ResourceTreeFrame.prototype._navigate):
1168         (WebInspector.SecurityOrigin.prototype.id):
1169         (WebInspector.SecurityOrigin.prototype.url):
1170         (WebInspector.SecurityOrigin.prototype.uiTitle):
1171         (WebInspector.SecurityOrigin.prototype.toProtocol):
1172         * inspector/front-end/ResourcesPanel.js:
1173         (WebInspector.IDBDatabaseTreeElement):
1174         (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
1175         (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
1176         (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
1177         (WebInspector.DOMStorageTreeElement):
1178         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
1179         (WebInspector.FileSystemTreeElement):
1180
1181 2013-03-01  Eugene Klyuchnikov  <eustas@chromium.org>
1182
1183         Web Inspector: [Timeline] Show "curtains" when mouse is over CPU bar.
1184         https://bugs.webkit.org/show_bug.cgi?id=108930
1185
1186         Reviewed by Pavel Feldman.
1187
1188         This feature will help developers to focus on events
1189         that caused CPU bar.
1190
1191         * inspector/front-end/Popover.js: Added "arrowDirection" parameter.
1192         * inspector/front-end/TimelineGrid.js:
1193         (WebInspector.TimelineGrid): Added "curtains".
1194         * inspector/front-end/TimelinePanel.js:
1195         (WebInspector.TimelinePanel.prototype._mouseMove): Show/hide "curtains"
1196         when mouse is over CPU bar.
1197         * inspector/front-end/timelinePanel.css: Added "curtains" style rules.
1198
1199 2013-03-01  Alexander Pavlov  <apavlov@chromium.org>
1200
1201         Web Inspector: [Styles] Implement navigation to UI locations of property names/values in the source code
1202         Relanding fixed r144449.
1203         https://bugs.webkit.org/show_bug.cgi?id=105285
1204
1205         Reviewed by Vsevolod Vlasov.
1206
1207         Users can now Ctrl/Cmd-click CSS property names/values whose UI locations are found in
1208         an external stylesheet/sass/other file. Inline stylesheets are not navigable,
1209         since their start position is not detectable inside the surrounding HTML as of yet.
1210
1211         No new tests, a UI change.
1212
1213         * inspector/front-end/CSSStyleModel.js:
1214         (WebInspector.CSSRule.prototype.isSourceNavigable): Whether the rule contains reliable source code information.
1215         (WebInspector.CSSProperty.prototype.uiLocation): Returns a UILocation for the property name of value.
1216         * inspector/front-end/StylesSidebarPane.js: Add navigation code.
1217         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
1218         (WebInspector.StylePropertiesSection):
1219
1220 2013-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1221
1222         Unreviewed, rolling out r144449.
1223         http://trac.webkit.org/changeset/144449
1224         https://bugs.webkit.org/show_bug.cgi?id=111175
1225
1226         Breaks style-related inspector tests (Requested by apavlov on
1227         #webkit).
1228
1229         * inspector/front-end/CSSStyleModel.js:
1230         (WebInspector.CSSRule.prototype.get isRegular):
1231         (WebInspector.CSSProperty.prototype.setDisabled):
1232         * inspector/front-end/StylesSidebarPane.js:
1233         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
1234         (WebInspector.StylePropertiesSection):
1235         (.event):
1236         (.isRevert):
1237
1238 2013-03-01  Alexander Pavlov  <apavlov@chromium.org>
1239
1240         Web Inspector: [Styles] Implement navigation to UI locations of property names/values in the source code
1241         https://bugs.webkit.org/show_bug.cgi?id=105285
1242
1243         Reviewed by Vsevolod Vlasov.
1244
1245         Users can now Ctrl/Cmd-click CSS property names/values whose UI locations are found in
1246         an external stylesheet/sass/other file. Inline stylesheets are not navigable,
1247         since their start position is not detectable inside the surrounding HTML as of yet.
1248
1249         No new tests, a UI change.
1250
1251         * inspector/front-end/CSSStyleModel.js:
1252         (WebInspector.CSSRule.prototype.isSourceNavigable): Whether the rule contains reliable source code information.
1253         (WebInspector.CSSProperty.prototype.uiLocation): Returns a UILocation for the property name of value.
1254         * inspector/front-end/StylesSidebarPane.js: Add navigation code.
1255         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
1256         (WebInspector.StylePropertiesSection):
1257
1258 2013-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1259
1260         Unreviewed, rolling out r144443.
1261         http://trac.webkit.org/changeset/144443
1262         https://bugs.webkit.org/show_bug.cgi?id=111169
1263
1264         Caused 2 tests to crash by segv on Chromium Mac10.6 (Requested
1265         by toyoshim on #webkit).
1266
1267         * css/mediaControls.css:
1268         (video::-webkit-media-text-track-display):
1269         * rendering/RenderTextTrackCue.cpp:
1270         (WebCore::RenderTextTrackCue::isOutside):
1271         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet):
1272
1273 2013-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1274
1275         Unreviewed, rolling out r144422 and r144424.
1276         http://trac.webkit.org/changeset/144422
1277         http://trac.webkit.org/changeset/144424
1278         https://bugs.webkit.org/show_bug.cgi?id=111167
1279
1280         Caused over 20 tests to fail assertion on Chromium Win port as
1281         ASSERTION FAILED: m_platformRequestUpdated (Requested by
1282         toyoshim on #webkit).
1283
1284         * CMakeLists.txt:
1285         * GNUmakefile.list.am:
1286         * Modules/mediastream/RTCPeerConnection.cpp:
1287         * Modules/notifications/Notification.cpp:
1288         * Target.pri:
1289         * WebCore.exp.in:
1290         * WebCore.gypi:
1291         * WebCore.vcproj/WebCore.vcproj:
1292         * WebCore.vcxproj/WebCore.vcxproj:
1293         * WebCore.vcxproj/WebCore.vcxproj.filters:
1294         * WebCore.xcodeproj/project.pbxproj:
1295         * bindings/ScriptControllerBase.cpp:
1296         * bindings/js/JSNodeCustom.cpp:
1297         * bindings/js/ScriptController.cpp:
1298         * bindings/js/ScriptSourceCode.h:
1299         * bindings/objc/DOM.mm:
1300         * bindings/v8/ScriptController.cpp:
1301         * bindings/v8/V8DOMWindowShell.cpp:
1302         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1303         * css/CSSCrossfadeValue.h:
1304         (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
1305         (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
1306         * css/CSSFontFaceSource.h:
1307         * css/CSSFontSelector.cpp:
1308         * css/WebKitCSSSVGDocumentValue.cpp:
1309         * css/WebKitCSSSVGDocumentValue.h:
1310         (WebCore):
1311         * dom/Clipboard.cpp:
1312         (WebCore::Clipboard::Clipboard):
1313         * dom/ContainerNode.cpp:
1314         * dom/DOMImplementation.cpp:
1315         * dom/PendingScript.h:
1316         * dom/ScriptElement.cpp:
1317         * dom/ScriptElement.h:
1318         * history/CachedFrame.cpp:
1319         * html/DOMURL.cpp:
1320         * html/HTMLAnchorElement.cpp:
1321         * html/HTMLAppletElement.cpp:
1322         * html/HTMLElement.cpp:
1323         * html/HTMLEmbedElement.cpp:
1324         * html/HTMLFrameSetElement.cpp:
1325         * html/HTMLHtmlElement.cpp:
1326         * html/HTMLImageElement.cpp:
1327         * html/HTMLObjectElement.cpp:
1328         * html/HTMLPlugInElement.cpp:
1329         * html/ImageDocument.cpp:
1330         * html/ImageInputType.cpp:
1331         * html/MediaDocument.cpp:
1332         * html/PluginDocument.cpp:
1333         * html/canvas/WebGLRenderingContext.cpp:
1334         (WebCore):
1335         * html/parser/HTMLConstructionSite.cpp:
1336         * html/parser/HTMLParserOptions.cpp:
1337         * html/parser/HTMLScriptRunner.h:
1338         * html/parser/XSSAuditor.cpp:
1339         * html/parser/XSSAuditorDelegate.cpp:
1340         * inspector/InspectorDebuggerAgent.cpp:
1341         * inspector/InspectorFileSystemAgent.cpp:
1342         * inspector/InspectorFrontendHost.cpp:
1343         * inspector/InspectorInstrumentation.h:
1344         (WebCore):
1345         * inspector/InspectorPageAgent.cpp:
1346         * inspector/NetworkResourcesData.cpp:
1347         * inspector/NetworkResourcesData.h:
1348         (WebCore):
1349         * loader/CookieJar.cpp:
1350         * loader/CrossOriginAccessControl.cpp:
1351         * loader/CrossOriginAccessControl.h:
1352         (WebCore):
1353         * loader/CrossOriginPreflightResultCache.h:
1354         * loader/DocumentThreadableLoader.h:
1355         * loader/FrameLoader.cpp:
1356         (WebCore::FrameLoader::FrameLoader):
1357         * loader/FrameLoader.h:
1358         (WebCore):
1359         (WebCore::FrameLoader::policyChecker):
1360         * loader/ImageLoader.cpp:
1361         * loader/ImageLoader.h:
1362         * loader/LinkLoader.h:
1363         * loader/MainResourceLoader.cpp:
1364         * loader/MainResourceLoader.h:
1365         * loader/MixedContentChecker.cpp:
1366         * loader/PingLoader.cpp:
1367         * loader/PolicyChecker.h:
1368         (WebCore):
1369         * loader/ProgressTracker.cpp:
1370         * loader/SubframeLoader.cpp:
1371         * loader/SubresourceLoader.cpp:
1372         * loader/TextTrackLoader.cpp:
1373         * loader/TextTrackLoader.h:
1374         * loader/ThreadableLoader.h:
1375         * loader/appcache/ApplicationCacheGroup.cpp:
1376         * loader/appcache/ApplicationCacheGroup.h:
1377         (WebCore):
1378         * loader/appcache/ApplicationCacheHost.cpp:
1379         * loader/archive/cf/LegacyWebArchive.cpp:
1380         * loader/cache/CachedFont.cpp:
1381         * loader/cache/CachedFont.h:
1382         (CachedFontClient):
1383         (WebCore::CachedFontClient::~CachedFontClient):
1384         (WebCore::CachedFontClient::expectedType):
1385         (WebCore::CachedFontClient::resourceClientType):
1386         (WebCore::CachedFontClient::fontLoaded):
1387         (WebCore):
1388         * loader/cache/CachedFontClient.h: Removed.
1389         * loader/cache/CachedImage.cpp:
1390         * loader/cache/CachedRawResource.cpp:
1391         * loader/cache/CachedRawResource.h:
1392         (WebCore):
1393         (CachedRawResourceClient):
1394         (WebCore::CachedRawResourceClient::~CachedRawResourceClient):
1395         (WebCore::CachedRawResourceClient::expectedType):
1396         (WebCore::CachedRawResourceClient::resourceClientType):
1397         (WebCore::CachedRawResourceClient::dataSent):
1398         (WebCore::CachedRawResourceClient::responseReceived):
1399         (WebCore::CachedRawResourceClient::dataReceived):
1400         (WebCore::CachedRawResourceClient::redirectReceived):
1401         (WebCore::CachedRawResourceClient::dataDownloaded):
1402         * loader/cache/CachedRawResourceClient.h: Removed.
1403         * loader/cache/CachedResource.cpp:
1404         * loader/cache/CachedResourceHandle.cpp:
1405         * loader/cache/CachedResourceHandle.h:
1406         (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
1407         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
1408         * loader/cache/CachedSVGDocument.h:
1409         (CachedSVGDocumentClient):
1410         (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
1411         (WebCore::CachedSVGDocumentClient::expectedType):
1412         (WebCore::CachedSVGDocumentClient::resourceClientType):
1413         (WebCore):
1414         * loader/cache/CachedSVGDocumentClient.h: Removed.
1415         * loader/cache/CachedSVGDocumentReference.cpp: Removed.
1416         * loader/cache/CachedSVGDocumentReference.h:
1417         (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
1418         (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
1419         * loader/cache/CachedStyleSheetClient.h:
1420         * loader/cache/MemoryCache.cpp:
1421         * loader/cache/MemoryCache.h:
1422         (WebCore):
1423         (MemoryCache):
1424         * loader/chromium/CachedRawResourceChromium.cpp:
1425         * loader/icon/IconController.cpp:
1426         * loader/icon/IconLoader.h:
1427         * loader/mac/ResourceLoaderMac.mm:
1428         * page/DOMWindowExtension.cpp:
1429         * page/DragController.cpp:
1430         * page/Frame.cpp:
1431         (WebCore::Frame::Frame):
1432         (WebCore::Frame::reportMemoryUsage):
1433         * page/Frame.h:
1434         (WebCore):
1435         (Frame):
1436         (WebCore::Frame::init):
1437         (WebCore::Frame::loader):
1438         * page/PerformanceNavigation.cpp:
1439         * page/PerformanceTiming.cpp:
1440         * page/PointerLockController.cpp:
1441         * page/Settings.cpp:
1442         * page/animation/CSSPropertyAnimation.cpp:
1443         * platform/chromium/PasteboardChromium.cpp:
1444         * platform/efl/ErrorsEfl.cpp:
1445         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1446         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1447         * platform/graphics/filters/FilterOperation.cpp:
1448         * platform/graphics/filters/FilterOperation.h:
1449         (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
1450         (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
1451         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1452         * platform/gtk/ErrorsGtk.cpp:
1453         * platform/gtk/PasteboardGtk.cpp:
1454         * platform/gtk/PasteboardHelper.h:
1455         * platform/mac/ClipboardMac.h:
1456         * platform/mac/ClipboardMac.mm:
1457         * platform/mac/HTMLConverter.mm:
1458         * platform/mac/PasteboardMac.mm:
1459         * platform/network/AuthenticationChallengeBase.cpp:
1460         * platform/network/cf/CookieJarCFNet.cpp:
1461         * platform/network/cf/ResourceRequestCFNet.cpp:
1462         * platform/network/mac/CookieStorageMac.mm:
1463         * platform/qt/PasteboardQt.cpp:
1464         * plugins/DOMMimeType.cpp:
1465         * plugins/PluginRequest.h: Removed.
1466         * plugins/PluginStream.h:
1467         (PluginStreamClient):
1468         (WebCore::PluginStreamClient::~PluginStreamClient):
1469         (WebCore::PluginStreamClient::streamDidFinishLoading):
1470         (WebCore):
1471         * plugins/PluginStreamClient.h: Removed.
1472         * plugins/PluginView.cpp:
1473         * plugins/PluginView.h:
1474         (WebCore):
1475         (PluginRequest):
1476         (WebCore::PluginRequest::PluginRequest):
1477         (WebCore::PluginRequest::frameLoadRequest):
1478         (WebCore::PluginRequest::notifyData):
1479         (WebCore::PluginRequest::sendNotification):
1480         (WebCore::PluginRequest::shouldAllowPopups):
1481         * rendering/HitTestResult.cpp:
1482         * rendering/InlineFlowBox.cpp:
1483         * rendering/RenderBox.cpp:
1484         * rendering/RenderEmbeddedObject.cpp:
1485         * rendering/RenderImage.cpp:
1486         * rendering/RenderImageResource.cpp:
1487         (WebCore::RenderImageResource::RenderImageResource):
1488         * rendering/RenderImageResource.h:
1489         (WebCore::RenderImageResource::image):
1490         (WebCore::RenderImageResource::errorOccurred):
1491         (WebCore::RenderImageResource::usesImageContainerSize):
1492         (WebCore::RenderImageResource::imageHasRelativeWidth):
1493         (WebCore::RenderImageResource::imageHasRelativeHeight):
1494         (WebCore::RenderImageResource::imageSize):
1495         * rendering/RenderImageResourceStyleImage.cpp:
1496         * rendering/RenderLayer.cpp:
1497         * rendering/RenderLayerBacking.cpp:
1498         * rendering/RenderLayerFilterInfo.h:
1499         * rendering/RenderListItem.cpp:
1500         * rendering/RenderListMarker.cpp:
1501         * rendering/RenderSnapshottedPlugIn.cpp:
1502         * rendering/RenderTableCol.cpp:
1503         * rendering/RenderTableRow.cpp:
1504         * rendering/RenderTableSection.cpp:
1505         * rendering/style/StyleCachedShader.h:
1506         * rendering/style/StyleCustomFilterProgram.cpp: Removed.
1507         * rendering/style/StyleCustomFilterProgram.h:
1508         (WebCore):
1509         (WebCore::StyleCustomFilterProgram::vertexShaderString):
1510         (StyleCustomFilterProgram):
1511         (WebCore::StyleCustomFilterProgram::fragmentShaderString):
1512         (WebCore::StyleCustomFilterProgram::isLoaded):
1513         (WebCore::StyleCustomFilterProgram::willHaveClients):
1514         (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
1515         (WebCore::StyleCustomFilterProgram::notifyFinished):
1516         * svg/SVGFEImageElement.h:
1517         * svg/SVGFontFaceUriElement.h:
1518         (SVGFontFaceUriElement):
1519         * svg/SVGImageLoader.cpp:
1520         * svg/SVGUseElement.cpp:
1521         * svg/SVGUseElement.h:
1522         * svg/graphics/SVGImageCache.cpp:
1523         * testing/MockPagePopupDriver.cpp:
1524         * xml/XSLStyleSheet.h:
1525         * xml/XSLTProcessorLibxslt.cpp:
1526         * xml/parser/XMLDocumentParser.cpp:
1527         * xml/parser/XMLDocumentParser.h:
1528         * xml/parser/XMLDocumentParserLibxml2.cpp:
1529
1530 2013-03-01  Alexei Filippov  <alph@chromium.org>
1531
1532         Web Inspector: fix closure compiler warnings in ProfilesPanel
1533         https://bugs.webkit.org/show_bug.cgi?id=111163
1534
1535         Reviewed by Vsevolod Vlasov.
1536
1537         * inspector/front-end/ProfileLauncherView.js:
1538         (WebInspector.ProfileLauncherView.prototype.addProfileType):
1539         * inspector/front-end/ProfilesPanel.js:
1540
1541 2013-03-01  Victor Carbune  <vcarbune@chromium.org>
1542
1543         Support padding, margin and border for internal UA cue styling
1544         https://bugs.webkit.org/show_bug.cgi?id=110703
1545
1546         Reviewed by Eric Carlson.
1547
1548         For some particular user agent styling this allows the possibility
1549         of making the window around the cue text bigger to match some user
1550         styles (see CaptionUserPreferencesMac::captionsStyleSheetOverride).
1551
1552         These properties *cannot* be set through by using the ::cue
1553         pseudo-element and, as specified, are used only internally.
1554
1555         Test: media/track/track-cue-rendering-with-padding.html
1556
1557         * css/mediaControls.css:
1558         (video::-webkit-media-text-track-display): Set the CSS box model
1559         to include in the specified width or height the values of
1560         padding / margin / border by using -webkit-box-sizing and avoid
1561         overflow over 100% width because of having these properties set.
1562         * rendering/RenderTextTrackCue.cpp:
1563         (WebCore::RenderTextTrackCue::isOutside): To not interfere with
1564         the regular WebVTT positioning algorithm, the check is done for
1565         the absolute content box.
1566         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Added
1567         an extra adjustment step to accomodate vertical padding (and not
1568         overflow the cue container)
1569
1570 2013-02-26  Eugene Klyuchnikov  <eustas@chromium.org>
1571
1572         Web Inspector: Save/load timeline should preserve DOMContentLoaded and Load event markers
1573         https://bugs.webkit.org/show_bug.cgi?id=110819
1574
1575         Reviewed by Pavel Feldman.
1576
1577         To create event divider TimelinePresentation model checks if record
1578         frame is main frame. With this patch check is moved to backend and
1579         result is saved in record to avoid incoherence.
1580
1581         * inspector/InspectorTimelineAgent.cpp:
1582         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
1583         Record "isMainFrame" flag.
1584         (WebCore::InspectorTimelineAgent::didMarkLoadEvent): Ditto.
1585         * inspector/TimelineRecordFactory.cpp:
1586         (WebCore::TimelineRecordFactory::createMarkData):
1587         Added data object constructor.
1588         * inspector/TimelineRecordFactory.h: Ditto.
1589         * inspector/front-end/TimelinePresentationModel.js:
1590         (WebInspector.TimelinePresentationModel.isEventDivider):
1591         Use saved flag value instead of comparing with "current" main frame.
1592
1593 2013-03-01  Eugene Klyuchnikov  <eustas@chromium.org>
1594
1595         Web Inspector: [DataGrid] Columns are misaligned after rows being refreshed.
1596         https://bugs.webkit.org/show_bug.cgi?id=111077
1597
1598         Reviewed by Pavel Feldman.
1599
1600         Analysis: DataGridNode.refresh removes all cells and then recreates them.
1601         The issue is that mandatory "corner" cell is not recreated.
1602
1603         * inspector/front-end/DataGrid.js:
1604         (WebInspector.DataGridNode.prototype.refresh):
1605         Added "corner" cell restoration code.
1606
1607 2013-02-28  Alexander Pavlov  <apavlov@chromium.org>
1608
1609         Web Inspector: Selector's raw start position in its line is considered to be 0 when computing UILocation
1610         https://bugs.webkit.org/show_bug.cgi?id=110732
1611
1612         Reviewed by Vsevolod Vlasov.
1613
1614         Test: inspector/styles/selector-line.html
1615
1616         * inspector/ContentSearchUtils.cpp:
1617         (WebCore::ContentSearchUtils::sizetExtractor): Utility for binary search.
1618         (WebCore::ContentSearchUtils::textPositionFromOffset): Converts absolute raw text offset into line:column.
1619         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines): Refactor.
1620         (WebCore::ContentSearchUtils::lineEndings): Factored out of getRegularExpressionMatchesByLines.
1621         (WebCore::ContentSearchUtils::buildObjectForSearchMatch): Drive-by: pass String by reference.
1622         * inspector/ContentSearchUtils.h:
1623         * inspector/Inspector.json: Use line:column for SourceRange boundaries rather than raw offsets.
1624         * inspector/InspectorStyleSheet.cpp:
1625         (ParsedStyleSheet::text): ASSERT(m_hasText).
1626         (WebCore::InspectorStyle::buildObjectForStyle): Supply the lineEndings argument.
1627         (WebCore::buildSourceRangeObject): Follow the protocol change.
1628         (WebCore::InspectorStyle::setPropertyText): Refactor.
1629         (WebCore::InspectorStyle::toggleProperty): Ditto.
1630         (WebCore::InspectorStyle::styleText): Ditto.
1631         (WebCore::InspectorStyle::populateAllProperties): Ditto.
1632         (WebCore::InspectorStyle::styleWithProperties): Convert relative property range offsets into absolute ones.
1633         (WebCore::InspectorStyle::extractSourceData): Factored out.
1634         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): Supply the lineEndings argument.
1635         (WebCore::InspectorStyleSheet::buildObjectForSelectorList): Ditto.
1636         (WebCore::InspectorStyleSheet::lineEndings): Compute line endings for ordinary stylesheets.
1637         (WebCore::InspectorStyleSheetForInlineStyle::lineEndings): Ditto for bogus inline style stylesheets.
1638         * inspector/InspectorStyleSheet.h:
1639         * inspector/front-end/AuditRules.js: Removed the byte counting for unused CSS.
1640         * inspector/front-end/CSSStyleModel.js:
1641         (WebInspector.CSSRule): Set selector rawLocation based on the selectorList range or sourceLine.
1642         (WebInspector.CSSRule.prototype._setRawLocation): Added.
1643         * inspector/front-end/SASSSourceMapping.js:
1644         (WebInspector.SASSSourceMapping.prototype._bindUISourceCode): Fix call order when binding scss sourcecodes.
1645
1646 2013-03-01  Benjamin Poulain  <benjamin@webkit.org>
1647
1648         Get rid of two silly static null Strings
1649         https://bugs.webkit.org/show_bug.cgi?id=111151
1650
1651         Reviewed by Eric Seidel.
1652
1653         We have a global null String through nullAtom, there is no need
1654         for local static null strings.
1655
1656         * page/Page.cpp:
1657         (WebCore::Page::groupName):
1658         * rendering/RenderListItem.cpp:
1659         (WebCore::RenderListItem::markerText):
1660
1661 2013-03-01  Mark Rowe  <mrowe@apple.com>
1662
1663         Build fix.
1664
1665         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Add a missing #include.
1666
1667 2013-03-01  Andrey Lushnikov  <lushnikov@chromium.org>
1668
1669         Web Inspector: fix code-mirror experiment to work in debug mode
1670         https://bugs.webkit.org/show_bug.cgi?id=111064
1671
1672         Reviewed by Pavel Feldman.
1673
1674         No new tests: no change in behaviour.
1675
1676         Improve importScript function to try load a script from the root
1677         directory iff its loading from the given path failed.
1678
1679         * inspector/front-end/utilities.js:
1680
1681 2013-03-01  Andrey Adaikin  <aandrey@chromium.org>
1682
1683         Web Inspector: [Canvas] capture a WebGL extension by it's name in lower case
1684         https://bugs.webkit.org/show_bug.cgi?id=110745
1685
1686         Reviewed by Pavel Feldman.
1687
1688         WebGL's getExtension accepts a name that is tested against an ASCII case-insensitive match.
1689         Just force lower case for extension names.
1690
1691         * inspector/InjectedScriptCanvasModuleSource.js:
1692         (.):
1693
1694 2013-03-01  Mike West  <mkwst@chromium.org>
1695
1696         XSSAuditor should use threadSafeMatch when relevant.
1697         https://bugs.webkit.org/show_bug.cgi?id=111099
1698
1699         Reviewed by Adam Barth.
1700
1701         Given the work on breaking parsing out into a background thread, we
1702         should compare QualifiedNames in a thread-safe manner. Rather than
1703         casting the result of QualifiedName::localName to a String, we can
1704         call out to threadSafeMatch to do the comparison.
1705
1706         This patch leaves one use of equalIgnoringNullity in
1707         XSSAuditor::findAttributeWithName. That usage seems safe, since we're
1708         creating a new string against which to compare.
1709
1710         * html/parser/XSSAuditor.cpp:
1711         (WebCore::hasName):
1712             Replace call to equalIgnoringNullity(Vector<UChar...>, String)
1713             with threadSafeMatch(String, QualifiedName).
1714
1715 2013-02-28  Keishi Hattori  <keishi@webkit.org>
1716
1717         Add calendar table view for the new calendar picker
1718         https://bugs.webkit.org/show_bug.cgi?id=110970
1719
1720         Reviewed by Kent Tamura.
1721
1722         The calendar table that will be used in the new calendar picker (Bug 109439).
1723
1724         No new tests. Code is not used yet.
1725
1726         * Resources/pagepopups/calendarPicker.js:
1727         (DayCell): Cell which represents one day in the calendar.
1728         (DayCell.recycleOrCreate):
1729         (DayCell.prototype._recycleBin):
1730         (DayCell.prototype.throwAway):
1731         (DayCell.prototype.setHighlighted): Sets the highlighted class on the element.
1732         (DayCell.prototype.setDisabled): Sets the disabled class on the element.
1733         (DayCell.prototype.setIsInCurrentMonth): Sets the current-month class on the element.
1734         (DayCell.prototype.setIsToday): Sets the today class on the element.
1735         (DayCell.prototype.reset): Resets the day cell to be reused.
1736         (WeekNumberCell): Cell used for the week number column.
1737         (WeekNumberCell.prototype._recycleBin):
1738         (WeekNumberCell.recycleOrCreate):
1739         (WeekNumberCell.prototype.reset):
1740         (WeekNumberCell.prototype.throwAway):
1741         (WeekNumberCell.prototype.setHighlighted): Sets the highlighted class on the element.
1742         (WeekNumberCell.prototype.setDisabled): Sets the disabled class on the element.
1743         (CalendarTableHeaderView): Header for the calendar table. Contains the column labels.
1744         (CalendarRowCell): Row containing day cells and maybe a week number cell.
1745         (CalendarRowCell.prototype._recycleBin):
1746         (CalendarRowCell.prototype.reset):
1747         (CalendarRowCell.prototype.throwAway):
1748         (CalendarTableView): A list view showing a grid of days.
1749         (CalendarTableView.prototype.rowAtScrollOffset): Returns the row number currently at the scroll offset.
1750         (CalendarTableView.prototype.scrollOffsetForRow): Returns the current scroll offset for the given row.
1751         (CalendarTableView.prototype.onClick): If the click is on a DayCell or WeekNumberCell, select the appropriate date range.
1752         (CalendarTableView.prototype.onMouseOver): If the click is on a DayCell or WeekNumberCell, highlight the appropriate date range.
1753         (CalendarTableView.prototype.onMouseOut):
1754         (CalendarTableView.prototype.prepareNewCell): Prepares a new row cell by recycling or creating a new one.
1755         (CalendarTableView.prototype.height): Returns the height of the view in pixels.
1756         (CalendarTableView.prototype.setHeight): Sets the height of the view in pixels.
1757         (CalendarTableView.prototype.scrollToMonth): Scrolls to reveal the given month.
1758         (CalendarTableView.prototype.dayAtColumnAndRow): Day at a given column and row. Column number doesn't count week number column.
1759         (CalendarTableView.prototype.columnAndRowForDay): Column and row for the given day.
1760         (CalendarTableView.prototype.updateCells): Update the position and appearance of the cell.s
1761         (CalendarTableView.prototype.prepareNewDayCell): Prepares a new day cell. The cell is registered to this._dayCells.
1762         (CalendarTableView.prototype.prepareNewWeekNumberCell): Prepares a new week number cell. The cell is registered to this._weekNumberCells.
1763         (CalendarTableView.prototype.throwAwayDayCell): The cell is unregistered from this._dayCells.
1764         (CalendarTableView.prototype.throwAwayWeekNumberCell): The cell is unregistered from this._weekNumberCells.
1765
1766 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
1767
1768         Reduce amount of rebuilding when touching networking headers
1769         https://bugs.webkit.org/show_bug.cgi?id=111035
1770
1771         Reviewed by Eric Seidel.
1772
1773         This uses a number of common unsurprising techniques. One interesting observation
1774         is that including CachedResource related headers is very expensive. We can usually
1775         get away with their Client counterparts, and with CachedResourceHandle.
1776
1777         * page/Frame.cpp:
1778         * page/Frame.h:
1779         Don't include FrameLoader, greatly reducing include graph for most non-loader files.
1780         This required making Frame::init() non-inline - I'm not sure why it ever was.
1781
1782         * loader/FrameLoader.cpp:
1783         * loader/FrameLoader.h:
1784         Even though FrameLoader is logically on loading side of WebCore, it's included in
1785         too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
1786         largest wins. As a future improvement, we should probably convert other members
1787         to OwnPtrs.
1788
1789         * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
1790         definition of a class it holds, but default construction does not.
1791
1792         * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
1793         not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
1794
1795         * loader/cache/CachedFont.h:
1796         * loader/cache/CachedFontClient.h: Added.
1797         * loader/cache/CachedRawResource.h:
1798         * loader/cache/CachedRawResourceClient.h: Added.
1799         * loader/cache/CachedSVGDocument.h:
1800         * loader/cache/CachedSVGDocumentClient.h: Added.
1801         These types were defining client types in the same headers, making it impossible
1802         to avoid including networking headers through CachedResource. Moved clients into
1803         separate files.
1804
1805         * plugins/PluginStream.h:
1806         * plugins/PluginStreamClient.h: Added.
1807         Similar situation here.
1808
1809         * loader/cache/CachedResourceHandle.cpp:
1810         * loader/cache/CachedResourceHandle.h:
1811         Moved functions that need to know about CachedResource to .cpp file. This is another
1812         huge win. Added a destructor, so that CachedResource woudn't be needed in all files
1813         that include CachedResourceHandle.
1814
1815         * loader/cache/CachedSVGDocumentReference.cpp: Added.
1816         * loader/cache/CachedSVGDocumentReference.h:
1817         Moved constructor and virtual function implementations to a .cpp file - they need
1818         not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
1819
1820         * platform/graphics/filters/FilterOperation.cpp:
1821         * platform/graphics/filters/FilterOperation.h:
1822         Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
1823         CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
1824         rendering code that it seems best to cut any ties with resources and loading.
1825         Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
1826         classes are generally harmful (due to code bloat).
1827
1828         * plugins/PluginRequest.h: Added.
1829         * plugins/PluginView.h:
1830         Moved PluginRequest into a separate file, it was out of place in a view hierarchy
1831         class file.
1832
1833         * rendering/RenderImageResource.cpp:
1834         * rendering/RenderImageResource.h:
1835         Moved definitions of virtual functions to a .cpp file. Thre is no win from having
1836         them inline, and now we don't need CachedImage.h in the header.
1837
1838         * rendering/style/StyleCustomFilterProgram.cpp: Added.
1839         * rendering/style/StyleCustomFilterProgram.h:
1840         Ditto.
1841
1842         * CMakeLists.txt:
1843         * GNUmakefile.list.am:
1844         * Modules/mediastream/RTCPeerConnection.cpp:
1845         * Modules/notifications/Notification.cpp:
1846         * Target.pri:
1847         * WebCore.exp.in:
1848         * WebCore.gypi:
1849         * WebCore.vcproj/WebCore.vcproj:
1850         * WebCore.vcxproj/WebCore.vcxproj:
1851         * WebCore.vcxproj/WebCore.vcxproj.filters:
1852         * WebCore.xcodeproj/project.pbxproj:
1853         * bindings/ScriptControllerBase.cpp:
1854         * bindings/js/JSNodeCustom.cpp:
1855         * bindings/js/ScriptController.cpp:
1856         * bindings/js/ScriptSourceCode.h:
1857         * bindings/objc/DOM.mm:
1858         * bindings/v8/ScriptController.cpp:
1859         * bindings/v8/V8DOMWindowShell.cpp:
1860         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1861         * css/CSSFontFaceSource.h:
1862         * css/CSSFontSelector.cpp:
1863         * css/WebKitCSSSVGDocumentValue.cpp:
1864         * css/WebKitCSSSVGDocumentValue.h:
1865         * dom/Clipboard.cpp:
1866         * dom/ContainerNode.cpp:
1867         * dom/DOMImplementation.cpp:
1868         * dom/PendingScript.h:
1869         * dom/ScriptElement.cpp:
1870         * dom/ScriptElement.h:
1871         * history/CachedFrame.cpp:
1872         * html/DOMURL.cpp:
1873         * html/HTMLAnchorElement.cpp:
1874         * html/HTMLAppletElement.cpp:
1875         * html/HTMLElement.cpp:
1876         * html/HTMLEmbedElement.cpp:
1877         * html/HTMLFrameSetElement.cpp:
1878         * html/HTMLHtmlElement.cpp:
1879         * html/HTMLImageElement.cpp:
1880         * html/HTMLObjectElement.cpp:
1881         * html/HTMLPlugInElement.cpp:
1882         * html/ImageDocument.cpp:
1883         * html/ImageInputType.cpp:
1884         * html/MediaDocument.cpp:
1885         * html/PluginDocument.cpp:
1886         * html/canvas/WebGLRenderingContext.cpp:
1887         * html/parser/HTMLConstructionSite.cpp:
1888         * html/parser/HTMLParserOptions.cpp:
1889         * html/parser/HTMLScriptRunner.h:
1890         * html/parser/XSSAuditor.cpp:
1891         * html/parser/XSSAuditorDelegate.cpp:
1892         * inspector/InspectorDebuggerAgent.cpp:
1893         * inspector/InspectorFileSystemAgent.cpp:
1894         * inspector/InspectorFrontendHost.cpp:
1895         * inspector/InspectorInstrumentation.h:
1896         * inspector/InspectorPageAgent.cpp:
1897         * inspector/NetworkResourcesData.cpp:
1898         * inspector/NetworkResourcesData.h:
1899         * loader/CookieJar.cpp:
1900         * loader/CrossOriginAccessControl.cpp:
1901         * loader/CrossOriginPreflightResultCache.h:
1902         * loader/DocumentThreadableLoader.h:
1903         * loader/ImageLoader.cpp:
1904         * loader/ImageLoader.h:
1905         * loader/LinkLoader.h:
1906         * loader/MainResourceLoader.cpp:
1907         * loader/MainResourceLoader.h:
1908         * loader/MixedContentChecker.cpp:
1909         * loader/PingLoader.cpp:
1910         * loader/PolicyChecker.h:
1911         * loader/ProgressTracker.cpp:
1912         * loader/SubframeLoader.cpp:
1913         * loader/SubresourceLoader.cpp:
1914         * loader/TextTrackLoader.cpp:
1915         * loader/TextTrackLoader.h:
1916         * loader/ThreadableLoader.h:
1917         * loader/appcache/ApplicationCacheGroup.cpp:
1918         * loader/appcache/ApplicationCacheGroup.h:
1919         * loader/appcache/ApplicationCacheHost.cpp:
1920         * loader/archive/cf/LegacyWebArchive.cpp:
1921         * loader/cache/CachedFont.cpp:
1922         * loader/cache/CachedImage.cpp:
1923         * loader/cache/CachedRawResource.cpp:
1924         * loader/cache/CachedResource.cpp:
1925         * loader/cache/CachedStyleSheetClient.h:
1926         * loader/cache/MemoryCache.cpp:
1927         * loader/cache/MemoryCache.h:
1928         * loader/chromium/CachedRawResourceChromium.cpp:
1929         * loader/icon/IconController.cpp:
1930         * loader/icon/IconLoader.h:
1931         * loader/mac/ResourceLoaderMac.mm:
1932         * page/DOMWindowExtension.cpp:
1933         * page/DragController.cpp:
1934         * page/PerformanceNavigation.cpp:
1935         * page/PerformanceTiming.cpp:
1936         * page/PointerLockController.cpp:
1937         * page/Settings.cpp:
1938         * page/animation/CSSPropertyAnimation.cpp:
1939         * platform/chromium/PasteboardChromium.cpp:
1940         * platform/efl/ErrorsEfl.cpp:
1941         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1942         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1943         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1944         * platform/gtk/ErrorsGtk.cpp:
1945         * platform/gtk/PasteboardGtk.cpp:
1946         * platform/gtk/PasteboardHelper.h:
1947         * platform/mac/ClipboardMac.h:
1948         * platform/mac/ClipboardMac.mm:
1949         * platform/mac/HTMLConverter.mm:
1950         * platform/mac/PasteboardMac.mm:
1951         * platform/network/AuthenticationChallengeBase.cpp:
1952         * platform/network/cf/CookieJarCFNet.cpp:
1953         * platform/network/cf/ResourceRequestCFNet.cpp:
1954         * platform/network/mac/CookieStorageMac.mm:
1955         * platform/qt/PasteboardQt.cpp:
1956         * plugins/DOMMimeType.cpp:
1957         * plugins/PluginView.cpp:
1958         * rendering/HitTestResult.cpp:
1959         * rendering/InlineFlowBox.cpp:
1960         * rendering/RenderBox.cpp:
1961         * rendering/RenderEmbeddedObject.cpp:
1962         * rendering/RenderImage.cpp:
1963         * rendering/RenderImageResourceStyleImage.cpp:
1964         * rendering/RenderLayer.cpp:
1965         * rendering/RenderLayerBacking.cpp:
1966         * rendering/RenderLayerFilterInfo.h:
1967         * rendering/RenderListItem.cpp:
1968         * rendering/RenderListMarker.cpp:
1969         * rendering/RenderSnapshottedPlugIn.cpp:
1970         * rendering/RenderTableCol.cpp:
1971         * rendering/RenderTableRow.cpp:
1972         * rendering/RenderTableSection.cpp:
1973         * rendering/style/StyleCachedShader.h:
1974         * svg/SVGFEImageElement.h:
1975         * svg/SVGFontFaceUriElement.h:
1976         * svg/SVGImageLoader.cpp:
1977         * svg/SVGUseElement.cpp:
1978         * svg/SVGUseElement.h:
1979         * svg/graphics/SVGImageCache.cpp:
1980         * testing/MockPagePopupDriver.cpp:
1981         * xml/XSLStyleSheet.h:
1982         * xml/XSLTProcessorLibxslt.cpp:
1983         * xml/parser/XMLDocumentParser.cpp:
1984         * xml/parser/XMLDocumentParser.h:
1985         * xml/parser/XMLDocumentParserLibxml2.cpp:
1986         Many self-evident changes - removing unnecessary header includes, adding smaller
1987         more local ones that are now necessary.
1988
1989 2013-02-28  Koji Hara  <kojih@chromium.org>
1990
1991         [V8] Added V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
1992         https://bugs.webkit.org/show_bug.cgi?id=110852
1993
1994         Reviewed by Kentaro Hara.
1995
1996         Add V8CustomIndexedGetter attribute that indicates the interface have custom implementation of a getter of indexed properties.
1997         (Also added to the wiki)
1998         https://trac.webkit.org/wiki/WebKitIDL#V8CustomIndexedGetter
1999         Add V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
2000         We want to clean up CodeGeneratorV8.pm.
2001         The problem is that all implementations of indexed properties and named properties are currently delegated to custom bindings.
2002         We want to auto-generate as much code as possible.
2003         As a starting point, this commit assures a interface has [V8CustomIndexedGetter] ==> there's custom implementation of indexed getter.
2004
2005         No test. Simple refactoring.
2006
2007         * bindings/scripts/IDLAttributes.txt: Add V8CustomIndexedGetter attribute.
2008         * dom/NamedNodeMap.idl: Add V8CustomIndexedGetter attribute.
2009         * html/HTMLAppletElement.idl: Add V8CustomIndexedGetter attribute.
2010         * html/HTMLEmbedElement.idl: Add V8CustomIndexedGetter attribute.
2011         * html/HTMLFormElement.idl: Add V8CustomIndexedGetter attribute.
2012         * html/HTMLObjectElement.idl: Add V8CustomIndexedGetter attribute.
2013         * html/HTMLOptionsCollection.idl: Add V8CustomIndexedGetter attribute.
2014         * html/HTMLSelectElement.idl: Add V8CustomIndexedGetter attribute.
2015         * page/DOMWindow.idl: Add V8CustomIndexedGetter attribute.
2016         * storage/Storage.idl: Add V8CustomIndexedGetter attribute.
2017
2018 2013-02-28  Xingnan Wang  <xingnan.wang@intel.com>
2019
2020         Heap-use-after-free in WebCore::AudioNodeInput::updateInternalBus
2021         https://bugs.webkit.org/show_bug.cgi?id=108542
2022
2023         Replace the wrong AudioNodeOutput::bus() usage out of safe peroid,
2024         which causes this issue.
2025
2026         Reviewed by Chris Rogers.
2027
2028         * Modules/webaudio/AudioNodeInput.cpp:
2029         (WebCore::AudioNodeInput::numberOfChannels):
2030         * Modules/webaudio/AudioNodeOutput.cpp:
2031         (WebCore::AudioNodeOutput::bus):
2032
2033 2013-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2034
2035         Unreviewed, rolling out r144370.
2036         http://trac.webkit.org/changeset/144370
2037         https://bugs.webkit.org/show_bug.cgi?id=111136
2038
2039         Caused 21 assertion failure at DocumentLoader.cpp(436)
2040         (Requested by toyoshim on #webkit).
2041
2042         * dom/Document.cpp:
2043         (WebCore::Document::decrementActiveParserCount):
2044         * loader/DocumentLoader.cpp:
2045         (WebCore::DocumentLoader::isLoading):
2046         (WebCore::DocumentLoader::checkLoadComplete):
2047
2048 2013-02-28  Li Yin  <li.yin@intel.com>
2049
2050         [chromium] Events can't be triggered on MediaStreamTrack
2051         https://bugs.webkit.org/show_bug.cgi?id=110930
2052
2053         Reviewed by Kentaro Hara.
2054
2055         Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack
2056         ended event handler should be triggered, when stop() is called.
2057
2058         No new tests because the test fast/mediastream/MediaStreamTrack.html
2059         had covered it already.
2060
2061         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
2062         (WebCore::MediaStreamCenterChromium::didStopLocalMediaStream):
2063
2064 2013-02-28  Ankur Taly  <ataly@google.com>
2065
2066         WebKit API for enabling DOM logging for certain worlds
2067         https://bugs.webkit.org/show_bug.cgi?id=110779
2068
2069         Reviewed by Adam Barth.
2070         
2071         Adds additional static methods to DOMWrapperWorld for managing the
2072         mapping between worldIDs and logger objects (where DOM logging messages
2073         are sent), and also defines a class (V8DOMActivityLogger) for logger
2074         objects.
2075
2076         * WebCore.gypi:
2077         * bindings/v8/DOMWrapperWorld.cpp:
2078         (WebCore):
2079         (WebCore::domActivityLoggers):
2080         (WebCore::DOMWrapperWorld::setDOMActivityLogger):
2081         (WebCore::DOMWrapperWorld::getDOMActivityLogger):
2082         * bindings/v8/DOMWrapperWorld.h:
2083         (DOMWrapperWorld):
2084         * bindings/v8/V8DOMActivityLogger.h: Added.
2085         (WebCore):
2086         (V8DOMActivityLogger):
2087         (WebCore::V8DOMActivityLogger::~V8DOMActivityLogger):
2088         (WebCore::V8DOMActivityLogger::log):
2089
2090 2013-02-28  Adam Barth  <abarth@webkit.org>
2091
2092         The threaded HTML parser shouldn't need to invalidate the speculation buffer on every document.write
2093         https://bugs.webkit.org/show_bug.cgi?id=111130
2094
2095         Reviewed by Eric Seidel.
2096
2097         Previously, the threaded HTML parser always invalidated its speculation
2098         buffer when it received a document.write.  That means we performed
2099         poorly on web sites that contained document.write calls early in the
2100         page.
2101
2102         This patch teaches the HTMLDocumentParser that we don't need to discard
2103         the speculation buffer in the common case of starting and ending in the
2104         DataState.
2105
2106         * html/parser/BackgroundHTMLParser.cpp:
2107         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
2108         * html/parser/HTMLDocumentParser.cpp:
2109         (WebCore::HTMLDocumentParser::checkForSpeculationFailure):
2110         (WebCore::HTMLDocumentParser::didFailSpeculation):
2111         * html/parser/HTMLDocumentParser.h:
2112         (WebCore):
2113         (ParsedChunk):
2114
2115 2013-02-28  Eberhard Graether  <egraether@google.com>
2116
2117         WebInspector: Switch hide element shortcut in ElementsPanel to use a selector
2118         https://bugs.webkit.org/show_bug.cgi?id=110641
2119
2120         Reviewed by Pavel Feldman.
2121
2122         This change switches the shortcut for adding visibility:hidden to an element's style
2123         to toggling a class name on the element and injecting a style rule into the element's
2124         document instead. This way it is possible to change the visibility of all child
2125         elements as well.
2126
2127         Test: inspector/elements/hide-shortcut.html
2128
2129         * inspector/front-end/CSSStyleModel.js:
2130         * inspector/front-end/ElementsTreeOutline.js:
2131         (WebInspector.ElementsTreeOutline.prototype._onkeydown):
2132         (WebInspector.ElementsTreeOutline.prototype.resolvedNode.toggleClassAndInjectStyleRule):
2133         (WebInspector.ElementsTreeOutline.prototype.):
2134         (WebInspector.ElementsTreeOutline.prototype._toggleHideShortcut):
2135
2136 2013-02-28  Ryuan Choi  <ryuan.choi@samsung.com>
2137
2138         [EFL] Build break with --no-web-audio and --no-video
2139         https://bugs.webkit.org/show_bug.cgi?id=111055
2140
2141         Unreviewed build fix.
2142
2143         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
2144
2145 2013-02-28  Xingnan Wang  <xingnan.wang@intel.com>
2146
2147         Implement the memory report on IPP FFTFrame on Web Audio
2148         https://bugs.webkit.org/show_bug.cgi?id=111039
2149
2150         Reviewed by Yury Semikhatsky.
2151
2152         Covered by existing test.
2153
2154         * platform/audio/FFTFrame.cpp:
2155         (WebCore::FFTFrame::reportMemoryUsage):
2156
2157 2013-02-28  Levi Weintraub  <leviw@chromium.org>
2158
2159         Stale FrameSelection in removed iframe causes crash
2160         https://bugs.webkit.org/show_bug.cgi?id=108696
2161
2162         Reviewed by Ryosuke Niwa.
2163
2164         Catching a specific issue where selectFrameElementInParentIfFullySelected in a nested
2165         iFrame that is removed can leave the outer frame's selection referencing stale nodes.
2166         Instead, in this case, we keep the frame alive long enough to check for this condition
2167         and clear our selection if we hit it.
2168
2169         Test: editing/selection/selection-in-iframe-removed-crash.html
2170
2171         * editing/FrameSelection.cpp:
2172         (WebCore::FrameSelection::setSelection):
2173
2174 2013-02-28  Conrad Shultz  <conrad_shultz@apple.com>
2175
2176         Need API to control page underlay color
2177         https://bugs.webkit.org/show_bug.cgi?id=110918
2178
2179         Reviewed by Simon Fraser.
2180
2181         * page/ChromeClient.h:
2182         (ChromeClient):
2183         Declare underlayColor().
2184
2185         * platform/ScrollbarTheme.h:
2186         (WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents):
2187         Have setUpOverhangAreasLayerContents() take a background color parameter.
2188
2189         * platform/mac/ScrollbarThemeMac.h:
2190         (ScrollbarThemeMac):
2191         Ditto.
2192
2193         * platform/mac/ScrollbarThemeMac.mm:
2194         Include ColorMac.h.
2195         (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
2196         Use the passed-in background color, if valid, for the overhang area layer.
2197
2198         * rendering/RenderLayerCompositor.cpp:
2199         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2200         Get the underlay color from the chrome client and pass it into setUpOverhangAreasLayerContents().
2201
2202 2013-02-28  Beth Dakin  <bdakin@apple.com>
2203
2204         RelevantRepaintedObjects heuristic should ensure there is some coverage in the 
2205         bottom half of the relevant view rect
2206         https://bugs.webkit.org/show_bug.cgi?id=111124
2207         -and corresponding-
2208         <rdar://problem/12257164>
2209
2210         Reviewed by Simon Fraser.
2211
2212         We need two Regions now -- one for the top and another for the bottom. Make sure 
2213         we have at least half of our desired coverage in both.
2214         * page/Page.cpp:
2215         (WebCore::Page::resetRelevantPaintedObjectCounter):
2216         (WebCore::Page::addRelevantRepaintedObject):
2217         (WebCore::Page::reportMemoryUsage):
2218         * page/Page.h:
2219
2220 2013-02-28  Chris Fleizach  <cfleizach@apple.com>
2221
2222         WebSpeech: support pitch change
2223         https://bugs.webkit.org/show_bug.cgi?id=107348
2224
2225         Reviewed by Beth Dakin.
2226
2227         Implement a policy for the Mac synthesizer to convert from the utterance's pitch rate
2228         to something sensible for the platform.
2229
2230         * platform/mac/PlatformSpeechSynthesizerMac.mm:
2231         (-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:WebCore::]):
2232         (-[WebSpeechSynthesisWrapper convertPitchToNSSpeechValue:]):
2233         (-[WebSpeechSynthesisWrapper updateBasePitchForSynthesizer]):
2234         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
2235
2236 2013-02-28   Vineet Chaudhary  <rgf748@motorola.com>
2237
2238         Unreviewed. Bindings test results update after r144376.
2239
2240         * bindings/scripts/test/JS/JSTestObj.cpp:
2241
2242 2013-02-28  Roger Fong  <roger_fong@apple.com>
2243
2244         Unreviewed. AppleWin VS2010 build fix.
2245
2246         * WebCore.vcxproj/WebCore.vcxproj:
2247         * WebCore.vcxproj/WebCore.vcxproj.filters:
2248
2249 2013-02-28  Roger Fong  <roger_fong@apple.com>
2250
2251         Unreviewed. AppleWin Build fix.
2252
2253         * WebCore.vcproj/WebCore.vcproj:
2254
2255 2013-02-28  Kentaro Hara  <haraken@chromium.org>
2256
2257         [V8] Remove the world->isMainWorld() check from minorGCPrologue()
2258         https://bugs.webkit.org/show_bug.cgi?id=111114
2259
2260         Reviewed by Adam Barth.
2261
2262         A couple of weeks ago, I introduced the following check to minorGCPrologue() in r142419.
2263
2264           void minorGCPrologue() {
2265             // A minor GC can handle the main world only.
2266             DOMWrapperWorld* world = worldForEnteredContextWithoutContextCheck();
2267             if (world && world->isMainWorld()) {
2268               MinorGCWrapperVisitor visitor(isolate);
2269               v8::V8::VisitHandlesForPartialDependence(isolate, &visitor);
2270               visitor.notifyFinished();
2271             }
2272           }
2273
2274         - The check makes no sense. A GC should not care about what world we are in.
2275         There is no concept of worlds in GC.
2276
2277         - worldForEnteredContextWithoutContextCheck() returns 0 for the main world.
2278         So if a GC runs in the main world, the minor DOM GC is skipped.
2279
2280         - worldForEnteredContextWithoutContextCheck() caused a Chromium crash
2281         (https://code.google.com/p/chromium/issues/detail?id=177587)
2282
2283         We should remove the check.
2284
2285         No tests. No change in behavior.
2286
2287         * bindings/v8/DOMWrapperWorld.h:
2288         (WebCore::DOMWrapperWorld::getWorld):
2289         * bindings/v8/V8Binding.h:
2290         * bindings/v8/V8GCController.cpp:
2291         (WebCore::V8GCController::minorGCPrologue):
2292
2293 2013-02-28  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
2294
2295         Create GraphicsContext3DState to aggregate state objects
2296         https://bugs.webkit.org/show_bug.cgi?id=110817
2297
2298         Reviewed by Kenneth Russell.
2299
2300         Aggregate context state-related objects on a GraphicsContext3DState
2301         struct, in a similar fashion as GraphicsContext does. This is useful to
2302         avoid duplicated values for platform-specific initialization lists.
2303
2304         No behavior changes, thus covered by existing tests.
2305
2306         * platform/graphics/GraphicsContext3D.h:
2307         (WebCore::GraphicsContext3D::GraphicsContext3DState::GraphicsContext3DState):
2308         (GraphicsContext3DState):
2309         (GraphicsContext3D):
2310         Moved m_boundFBO, m_activeTexture and m_boundTexture0 to GraphicsContext3DState.
2311
2312         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
2313         (WebCore::GraphicsContext3D::GraphicsContext3D):
2314         (WebCore::GraphicsContext3D::reshapeFBOs):
2315         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
2316         (WebCore::GraphicsContext3D::GraphicsContext3D):
2317         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
2318         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2319         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2320         (WebCore::GraphicsContext3D::GraphicsContext3D):
2321         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2322         (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
2323         * platform/graphics/mac/GraphicsContext3DMac.mm:
2324         (WebCore::GraphicsContext3D::GraphicsContext3D):
2325         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2326         (WebCore::GraphicsContext3D::reshapeFBOs):
2327         (WebCore::GraphicsContext3D::readPixels):
2328         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2329         (WebCore::GraphicsContext3D::prepareTexture):
2330         (WebCore::GraphicsContext3D::readRenderingResults):
2331         (WebCore::GraphicsContext3D::reshape):
2332         (WebCore::GraphicsContext3D::activeTexture):
2333         (WebCore::GraphicsContext3D::bindFramebuffer):
2334         (WebCore::GraphicsContext3D::bindTexture):
2335         (WebCore::GraphicsContext3D::copyTexImage2D):
2336         (WebCore::GraphicsContext3D::copyTexSubImage2D):
2337         (WebCore::GraphicsContext3D::deleteFramebuffer):
2338         (WebCore::GraphicsContext3D::deleteTexture):
2339         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2340         (WebCore::GraphicsContext3D::readPixels):
2341         (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
2342         (WebCore::GraphicsContext3D::reshapeFBOs):
2343         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2344         (WebCore::GraphicsContext3DPrivate::createOffscreenBuffers):
2345         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2346         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebuffer):
2347         (WebCore::GraphicsContext3D::GraphicsContext3D):
2348         Removed initialization list values not needed anymore and reassigned
2349         calls to m_boundFBO, m_boundTexture0 and m_activeTexture to m_state
2350         respectives.
2351         
2352 2013-02-28  David Hyatt  <hyatt@apple.com>
2353
2354         Unreviewed build fix. A merge error led to a duplication of a single line.
2355         Just removing the duplicate line.
2356
2357         * rendering/RenderLayer.cpp:
2358         (WebCore::RenderLayer::createLocalTransformState):
2359
2360 2013-02-28  Kaustubh Atrawalkar  <kaustubh@motorola.com>
2361
2362         Notification.requestPermission callback should be optional
2363         https://bugs.webkit.org/show_bug.cgi?id=108196
2364
2365         Reviewed by Kentaro Hara.
2366
2367         Spec says it should be optional.
2368         http://notifications.spec.whatwg.org/#notification
2369
2370         Test: fast/notifications/notifications-request-permission-optional.html
2371
2372         * GNUmakefile.list.am:
2373         * Modules/notifications/Notification.h:
2374         (Notification):
2375         * Modules/notifications/Notification.idl:
2376         * Modules/notifications/NotificationCenter.cpp:
2377         (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
2378         * Modules/notifications/NotificationCenter.h:
2379         (NotificationCenter):
2380         * Modules/notifications/NotificationCenter.idl:
2381         * Target.pri:
2382         * UseJSC.cmake:
2383         * UseV8.cmake:
2384         * WebCore.gypi:
2385         * WebCore.vcproj/WebCore.vcproj:
2386         * WebCore.vcxproj/WebCore.vcxproj:
2387         * WebCore.vcxproj/WebCore.vcxproj.filters:
2388         * WebCore.xcodeproj/project.pbxproj:
2389         * bindings/js/JSBindingsAllInOne.cpp:
2390         * bindings/js/JSDesktopNotificationsCustom.cpp: Removed.
2391         * bindings/js/JSNotificationCustom.cpp: Removed.
2392         * bindings/scripts/CodeGeneratorJS.pm:
2393         (GenerateParametersCheck):
2394         * bindings/v8/custom/V8NotificationCenterCustom.cpp: Removed.
2395         * bindings/v8/custom/V8NotificationCustom.cpp: Removed.
2396
2397 2013-02-28  Ben Wagner  <bungeman@chromium.org>
2398
2399         Underline should round to match other content.
2400         https://bugs.webkit.org/show_bug.cgi?id=111005
2401
2402         Reviewed by Stephen White.
2403
2404         Test: fast/text/decorations-with-text-combine.html
2405
2406         * platform/graphics/skia/GraphicsContextSkia.cpp:
2407         (WebCore::GraphicsContext::drawLineForText):
2408         Round (instead of floor) underlines to match other content.
2409
2410 2013-02-28  Eric Carlson  <eric.carlson@apple.com>
2411
2412         Refine Ryosuke's r144367 fix.
2413
2414         Rubber-stamped by Ryosuke Niwa.
2415
2416         * page/PageGroup.cpp:
2417         (WebCore::PageGroup::captionPreferences):
2418
2419 2013-02-28  Eric Seidel  <eric@webkit.org>
2420
2421         Threaded HTML parser hits ASSERTION FAILED: this == frameLoader()->activeDocumentLoader()
2422         https://bugs.webkit.org/show_bug.cgi?id=110937
2423
2424         Reviewed by Adam Barth.
2425
2426         Remove the #ifdef guards added to work around this ASSERT.
2427         This was fixed by https://bugs.webkit.org/show_bug.cgi?id=110951
2428         as now DocumentLoader::checkLoadComplete() will ignore the call
2429         if the DocumentLoader is not the active document loader for the Document.
2430
2431         * dom/Document.cpp:
2432         (WebCore::Document::decrementActiveParserCount):
2433         * loader/DocumentLoader.cpp:
2434         (WebCore::DocumentLoader::isLoading):
2435         (WebCore::DocumentLoader::checkLoadComplete):
2436
2437 2013-02-28  Ryosuke Niwa  <rniwa@webkit.org>
2438
2439         Revert an erroneous change in r144336.
2440
2441         Rubber-stamped by Eric Carlson.
2442
2443         * page/PageGroup.cpp:
2444         (WebCore::PageGroup::captionPreferences):
2445
2446 2013-02-28  David Hyatt  <hyatt@apple.com>
2447
2448         Unreviewed build fix for Windows. Make sure the new bits are unsigned and not bools.
2449
2450         * rendering/RenderBlock.h:
2451
2452 2013-02-28  Jochen Eisinger  <jochen@chromium.org>
2453
2454         Meta referrer isn't honored for window.open
2455         https://bugs.webkit.org/show_bug.cgi?id=111076
2456
2457         Reviewed by Adam Barth.
2458
2459         Test: http/tests/security/referrer-policy-window-open.html
2460
2461         * loader/FrameLoader.cpp:
2462         (WebCore::FrameLoader::urlSelected): loadFrameRequest() will set the correct referrer
2463         (WebCore::createWindow): This code is required for the inspector which doesn't set the referrer
2464         * page/DOMWindow.cpp:
2465         (WebCore::DOMWindow::createWindow):
2466
2467 2013-02-28  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
2468
2469         [texmap] Remove redundant defines on TextureMapperGL
2470         https://bugs.webkit.org/show_bug.cgi?id=111090
2471
2472         Reviewed by Antonio Gomes.
2473
2474         driverSupportsSubImage() already uses OpenGL ES defines to return
2475         correct support, thus no need for these additional defines.
2476
2477         No behavior changes, thus covered by existing tests.
2478
2479         * platform/graphics/texmap/TextureMapperGL.cpp:
2480         (WebCore::BitmapTextureGL::updateContentsNoSwizzle):
2481
2482 2013-02-26  Zhenyao Mo  <zmo@google.com>
2483
2484         EXT_draw_buffers needs implementation
2485         https://bugs.webkit.org/show_bug.cgi?id=109331
2486
2487         Reviewed by Kenneth Russell.
2488
2489         This patch adds support for EXT_draw_buffers for WebGL.
2490         mac OpenGL port is passing khronos WebGL conformance test with this patch. OpenGL ES port implementation isn't added in this patch.
2491         Also, it has the WebKit side support for chromium port, but pending command buffer implementation.
2492
2493         Besides the basic extension implementation, we also added drawBuffers() wrapper to work around a mac driver bug: i.e., do not enable a buffer if there is no attachment added.
2494
2495         * CMakeLists.txt:
2496         * DerivedSources.make:
2497         * DerivedSources.pri:
2498         * GNUmakefile.list.am:
2499         * Target.pri:
2500         * WebCore.gypi:
2501         * WebCore.xcodeproj/project.pbxproj:
2502         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2503         (WebCore::toJS):
2504         * bindings/v8/V8Binding.h:
2505         (WebCore):
2506         (WebCore::toInt32):
2507         (WebCore::toUInt32):
2508         (WebCore::toFloat):
2509         (WebCore::toInt64):
2510         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2511         (WebCore::toV8Object):
2512         * html/canvas/EXTDrawBuffers.cpp: Added.
2513         (WebCore):
2514         (WebCore::EXTDrawBuffers::EXTDrawBuffers):
2515         (WebCore::EXTDrawBuffers::~EXTDrawBuffers):
2516         (WebCore::EXTDrawBuffers::getName):
2517         (WebCore::EXTDrawBuffers::create):
2518         (WebCore::EXTDrawBuffers::supported):
2519         (WebCore::EXTDrawBuffers::drawBuffersEXT):
2520         * html/canvas/EXTDrawBuffers.h: Added.
2521         (WebCore):
2522         (EXTDrawBuffers):
2523         * html/canvas/EXTDrawBuffers.idl: Added.
2524         * html/canvas/WebGLExtension.h:
2525         * html/canvas/WebGLFramebuffer.cpp:
2526         (WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
2527         (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
2528         (WebCore::WebGLFramebuffer::drawBuffers):
2529         (WebCore):
2530         (WebCore::WebGLFramebuffer::drawBuffersIfNecessary):
2531         * html/canvas/WebGLFramebuffer.h:
2532         (WebGLFramebuffer):
2533         * html/canvas/WebGLRenderingContext.cpp:
2534         (WebCore):
2535         (WebCore::WebGLRenderingContext::initializeNewContext):
2536         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
2537         (WebCore::WebGLRenderingContext::getExtension):
2538         (WebCore::WebGLRenderingContext::getParameter):
2539         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2540         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
2541         (WebCore::WebGLRenderingContext::getMaxDrawBuffers):
2542         (WebCore::WebGLRenderingContext::getMaxColorAttachments):
2543         * html/canvas/WebGLRenderingContext.h:
2544         (WebCore):
2545         (WebGLRenderingContext):
2546         * platform/chromium/support/Extensions3DChromium.cpp:
2547         (WebCore::Extensions3DChromium::drawBuffersEXT):
2548         (WebCore):
2549         * platform/graphics/Extensions3D.h:
2550         (Extensions3D):
2551         * platform/graphics/GraphicsContext3D.cpp:
2552         (WebCore::GraphicsContext3D::getClearBitsByAttachmentType):
2553         * platform/graphics/chromium/Extensions3DChromium.h:
2554         (Extensions3DChromium):
2555         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2556         (WebCore::Extensions3DOpenGL::supportsExtension):
2557         (WebCore::Extensions3DOpenGL::drawBuffersEXT):
2558         (WebCore):
2559         * platform/graphics/opengl/Extensions3DOpenGL.h:
2560         (Extensions3DOpenGL):
2561         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2562         (WebCore::Extensions3DOpenGLCommon::ensureEnabled):
2563         * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
2564         (Extensions3DOpenGLCommon):
2565         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
2566         (WebCore::Extensions3DOpenGLES::drawBuffersEXT):
2567         (WebCore):
2568         (WebCore::Extensions3DOpenGLES::supportsExtension):
2569         * platform/graphics/opengl/Extensions3DOpenGLES.h:
2570         (Extensions3DOpenGLES):
2571
2572 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
2573
2574         Create BlobRegistry through a strategy
2575         https://bugs.webkit.org/show_bug.cgi?id=111100
2576
2577         Chromium build fix.
2578
2579         * platform/network/BlobRegistry.cpp: Use destructor for chromium too.
2580
2581 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
2582
2583         Create BlobRegistry through a strategy
2584         https://bugs.webkit.org/show_bug.cgi?id=111100
2585
2586         Reviewed by Sam Weinig.
2587
2588         * CMakeLists.txt:
2589         * GNUmakefile.list.am:
2590         * Target.pri:
2591         * WebCore.gypi:
2592         * WebCore.vcproj/WebCore.vcproj:
2593         * WebCore.vcxproj/WebCore.vcxproj:
2594         * WebCore.vcxproj/WebCore.vcxproj.filters:
2595         * WebCore.xcodeproj/project.pbxproj:
2596         Added BlobRegistry.cpp.
2597
2598         * WebCore.exp.in:
2599         * loader/LoaderStrategy.cpp:
2600         (WebCore::LoaderStrategy::createBlobRegistry):
2601         * loader/LoaderStrategy.h:
2602         Addxed a function to create BlobRegistry, with default implementation being
2603         in-process WebKit1 one.
2604
2605         * platform/network/BlobData.h: Added ENABLE(BLOB).
2606
2607         * platform/network/BlobRegistry.cpp: Added. Moved singleton to a separate file.
2608         * platform/network/BlobRegistry.h: Made destructor non-inline. Cleaned up includes.
2609
2610         * platform/network/BlobRegistryImpl.cpp:
2611         * platform/network/BlobRegistryImpl.h:
2612         Cleaned up includes, made functions that are only called through base class private.
2613         Added ENABLE(BLOB).
2614
2615         * platform/network/BlobStorageData.h: Added ENABLE(BLOB).
2616
2617         * platform/network/FormData.cpp:
2618         (WebCore::appendBlobResolved): Check blob registry type before upcasting. It's a
2619         public function, and we should not depend on high level understanding of process
2620         model to prove that the cast is safe.
2621
2622         * platform/network/ResourceHandle.cpp:
2623         * platform/network/cf/FormDataStreamCFNet.cpp:
2624         * platform/network/mac/ResourceHandleMac.mm:
2625         Cleaned up includes.
2626
2627 2013-02-28  Kent Tamura  <tkent@chromium.org>
2628
2629         REGRESSION: INPUT_MULTIPLE_FIELDS_UI: Changing CSS display property on input[type=date] unexpectedly makes another line for ::-webkit-calendar-picker-indicator
2630         https://bugs.webkit.org/show_bug.cgi?id=110974
2631
2632         Reviewed by Kentaro Hara.
2633
2634         Input elements with the multiple fields UI require flexible box
2635         layout.
2636         - If display:inline or display:inline-block is specified, we
2637           replace it with display:inline-flex.
2638         - If display:block is specified, we replace it with
2639           display:flex.
2640         - If other display value is specified, we use it as is, but it
2641           won't wrap inside an input element because we have
2642           display:inline-block for ::-webkit-calendar-pixker-indicaotor.
2643
2644         r144184 was incomplete. It avoided the wrapping issue, but it
2645         didn't make spin buttons and calendar arrows right-aligned.
2646
2647         Tests: Update fast/forms/date/date-apparance-basic.html
2648
2649         * css/html.css:
2650         (input::-webkit-calendar-picker-indicator):
2651         Add display:inline-block in orde to avoid line-wrapping.
2652         * html/HTMLInputElement.cpp:
2653         (WebCore::HTMLInputElement::customStyleForRenderer):
2654         Move the code to BaseMultipleFieldsDateAndTimeInputType::customStyleForRenderer.
2655         * html/InputType.cpp:
2656         (WebCore::InputType::customStyleForRenderer): Added.
2657         * html/InputType.h:
2658         (InputType): Add customStyleForRenderer, and remove
2659         shouldApplyLocaleDirection.
2660         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2661         (WebCore::BaseMultipleFieldsDateAndTimeInputType::customStyleForRenderer):
2662         Moved the code from HTMLInputElement::customStyleForRenderer, and
2663         add display property updatting code.
2664         * html/BaseMultipleFieldsDateAndTimeInputType.h:
2665         (BaseMultipleFieldsDateAndTimeInputType):
2666         Add customStyleForRenderer, and remove shouldApplyLocaleDirection.
2667
2668 2013-02-28  Anders Carlsson  <andersca@apple.com>
2669
2670         Implement more StorageAreaProxy member functions
2671         https://bugs.webkit.org/show_bug.cgi?id=111103
2672
2673         Reviewed by Sam Weinig.
2674
2675         Export two more StorageMap symbols required by WebKit2.
2676
2677         * WebCore.exp.in:
2678
2679 2013-02-28  Xianzhu Wang  <wangxianzhu@chromium.org>
2680
2681         Focus ring for a child layer is incorrectly offset by ancestor composited layer's position
2682         https://bugs.webkit.org/show_bug.cgi?id=110895
2683
2684         Reviewed by Simon Fraser.
2685
2686         Test: compositing/sub-layer-focus-ring.html
2687
2688         The problem occurs in RenderBlock::addFocusRingRects() where the absolute position of a sub-layer is used to calculate the focus ring rect of the layer.
2689         Should use the relative position to the current paintContainer instead.
2690
2691         To fix the issue:
2692         - RenderLayer passes LayerPaintingInfo.rootLayer to PaintInfo.paintContainer
2693         - Let RenderObject::paintFocusRing() and RenderObject::paintOutline() take PaintInfo instead of GraphicsContext* so that the paintContainer can be passed
2694         - RenderBlock::addFocusRingRects() uses localToContainerPoint(FloatPoint(), paintContainer) instead of localToAbsolute() to calculate the focus ring rect of a sublayer.
2695
2696         * rendering/PaintInfo.h:
2697         (WebCore):
2698         (WebCore::PaintInfo::PaintInfo): Add a field paintContainer (the RenderLayerModelObject which originates the current painting)
2699         (PaintInfo):
2700         * rendering/RenderBlock.cpp:
2701         (WebCore::RenderBlock::paintObject):
2702         (WebCore::RenderBlock::paintContinuationOutlines):
2703         (WebCore::RenderBlock::addFocusRingRects): Use the added paintContainer parameter to calculate the relative offset of the child layer.
2704         * rendering/RenderLayer.cpp:
2705         (WebCore::RenderLayer::paintBackgroundForFragments): Pass LayerPaintingInfo.rootLayer to PaintInfo.paintContainer.
2706         (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase): Ditto.
2707         (WebCore::RenderLayer::paintOutlineForFragments): Ditto.
2708         (WebCore::RenderLayer::paintMaskForFragments): Ditto.
2709         * rendering/RenderLayer.cpp:
2710         * rendering/RenderObject.cpp:
2711         (WebCore::RenderObject::paintFocusRing): Now takes PaintInfo instead of GraphicsContext*. Pass paintInfo.paintContainer to addFocusRingRects().
2712         (WebCore::RenderObject::paintOutline): Now takes PaintInfo instead of GraphicsContext*.
2713         (WebCore::RenderObject::absoluteFocusRingQuads):
2714         * rendering/RenderObject.h:
2715         (WebCore::RenderObject::addFocusRingRects): Add paintContainer parameter.
2716
2717 2013-02-28  David Hyatt  <hyatt@apple.com>
2718
2719         Remove the quirk margin bits from RenderObject and put them back in RenderBlock.
2720         https://bugs.webkit.org/show_bug.cgi?id=111089
2721
2722         Reviewed by Dan Bernstein.
2723
2724         This patch removes the marginBeforeQuirk and marginAfterQuirk bits from RenderObject
2725         and puts them into RenderBlock instead. I also did some renaming and clean-up after
2726         moving them, e.g., to hasMarginBeforeQuirk and hasMarginAfterQuirk.
2727         
2728         Even though it's pretty irrelevant, I also made the code writing-mode-correct so that
2729         the correct child margin quirk is propagated across differing writing mode
2730         boundaries.
2731
2732         * rendering/RenderBlock.cpp:
2733         (WebCore::RenderBlock::MarginInfo::MarginInfo):
2734         (WebCore::RenderBlock::RenderBlock):
2735         (WebCore::RenderBlock::layoutBlock):
2736         (WebCore::RenderBlock::collapseMargins):
2737         (WebCore::RenderBlock::marginBeforeEstimateForChild):
2738         (WebCore::RenderBlock::setCollapsedBottomMargin):
2739         (WebCore::RenderBlock::handleAfterSideOfBlock):
2740         (WebCore::RenderBlock::hasMarginBeforeQuirk):
2741         (WebCore):
2742         (WebCore::RenderBlock::hasMarginAfterQuirk):
2743         * rendering/RenderBlock.h:
2744         (WebCore::RenderBlock::setHasMarginBeforeQuirk):
2745         (WebCore::RenderBlock::setHasMarginAfterQuirk):
2746         (RenderBlock):
2747         (WebCore::RenderBlock::hasMarginBeforeQuirk):
2748         (WebCore::RenderBlock::hasMarginAfterQuirk):
2749         (MarginInfo):
2750         (WebCore::RenderBlock::MarginInfo::setHasMarginBeforeQuirk):
2751         (WebCore::RenderBlock::MarginInfo::setHasMarginAfterQuirk):
2752         (WebCore::RenderBlock::MarginInfo::hasMarginBeforeQuirk):
2753         (WebCore::RenderBlock::MarginInfo::hasMarginAfterQuirk):
2754         * rendering/RenderObject.h:
2755         (RenderObject):
2756         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
2757         (RenderObjectBitfields):
2758         * rendering/style/RenderStyle.h:
2759
2760 2013-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2761
2762         Unreviewed, rolling out r144126 and r144176.
2763         http://trac.webkit.org/changeset/144126
2764         http://trac.webkit.org/changeset/144176
2765         https://bugs.webkit.org/show_bug.cgi?id=111096
2766
2767         Caused fast/notifications/notifications-request-
2768         permission.html to crash (Requested by abarth on #webkit).
2769
2770         * GNUmakefile.list.am:
2771         * Modules/notifications/Notification.h:
2772         (Notification):
2773         * Modules/notifications/Notification.idl:
2774         * Target.pri:
2775         * UseJSC.cmake:
2776         * UseV8.cmake:
2777         * WebCore.gypi:
2778         * WebCore.vcproj/WebCore.vcproj:
2779         * WebCore.vcxproj/WebCore.vcxproj:
2780         * WebCore.vcxproj/WebCore.vcxproj.filters:
2781         * WebCore.xcodeproj/project.pbxproj:
2782         * bindings/js/JSNotificationCustom.cpp: Added.
2783         (WebCore):
2784         (WebCore::JSNotification::requestPermission):
2785         * bindings/scripts/CodeGeneratorJS.pm:
2786         (GenerateParametersCheck):
2787         * bindings/scripts/test/JS/JSTestObj.cpp:
2788         * bindings/v8/custom/V8NotificationCustom.cpp: Added.
2789         (WebCore):
2790         (WebCore::V8Notification::requestPermissionMethodCustom):
2791
2792 2013-02-28  Nate Chapin  <japhet@chromium.org>
2793
2794         Crash in CachedRawResource::responseReceived().
2795         https://bugs.webkit.org/show_bug.cgi?id=110482
2796
2797         Reviewed by Adam Barth.
2798
2799         Test: http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients.html
2800
2801         * loader/cache/CachedRawResource.cpp:
2802         (WebCore::CachedRawResource::responseReceived):
2803
2804 2013-02-28  Eric Carlson  <eric.carlson@apple.com>
2805
2806         [Mac] use HAVE() macro instead of version check
2807         https://bugs.webkit.org/show_bug.cgi?id=111087
2808
2809         Reviewed by Dean Jackson.
2810
2811         No new tests, covered by existing tests.
2812
2813         * page/CaptionUserPreferencesMac.h: Use HAVE(MEDIA_ACCESSIBILITY_FRAMEWORK).
2814         * page/CaptionUserPreferencesMac.mm: Ditto.
2815         (WebCore::CaptionUserPreferencesMac::CaptionUserPreferencesMac): Ditto.
2816         (WebCore::CaptionUserPreferencesMac::~CaptionUserPreferencesMac): Ditto.
2817
2818         * page/PageGroup.cpp:
2819         (WebCore::PageGroup::captionPreferences): Ditto.
2820
2821 2013-02-28  Chris Fleizach  <cfleizach@apple.com>
2822
2823         WebSpeech: support the boundary event
2824         https://bugs.webkit.org/show_bug.cgi?id=107350
2825
2826         Reviewed by Beth Dakin.
2827
2828         Generate boundary events for speech synthesis and have them fire the appropriate events.
2829         This implements for the Mac platform, as well as simulating these events in the mock
2830         synthesizer for testing purposes.
2831
2832         Test: platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html
2833
2834         * Modules/speech/SpeechSynthesis.cpp:
2835         (WebCore):
2836         (WebCore::SpeechSynthesis::boundaryEventOccurred):
2837         * Modules/speech/SpeechSynthesis.h:
2838         (SpeechSynthesis):
2839         * platform/PlatformSpeechSynthesizer.h:
2840         (WebCore):
2841         (PlatformSpeechSynthesizerClient):
2842         * platform/mac/PlatformSpeechSynthesizerMac.mm:
2843         (-[WebSpeechSynthesisWrapper speechSynthesizer:willSpeakWord:ofString:]):
2844         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
2845         (WebCore::PlatformSpeechSynthesizerMock::speak):
2846
2847 2013-02-28  David Grogan  <dgrogan@chromium.org>
2848
2849         IndexedDB: Histogram all exits from IDBBackingStore::open
2850         https://bugs.webkit.org/show_bug.cgi?id=110677
2851
2852         Reviewed by Tony Chang.
2853
2854         No tests because this only changes logging code.
2855
2856         * Modules/indexeddb/IDBBackingStore.cpp:
2857         (WebCore::IDBBackingStore::open):
2858
2859 2013-02-28  Aaron Colwell  <acolwell@chromium.org>
2860
2861         Factor SourceBuffer methods out of MediaSourcePrivate & WebMediaSource
2862         into SourceBufferPrivate & WebSourceBuffer respectively.
2863         https://bugs.webkit.org/show_bug.cgi?id=110798
2864
2865         Reviewed by Adam Barth, Jer Noble.
2866
2867         No new tests. No user visible behavior has changed.
2868
2869         * Modules/mediasource/MediaSource.cpp:
2870         (WebCore::MediaSource::addSourceBuffer):
2871         (WebCore::MediaSource::removeSourceBuffer):
2872         * Modules/mediasource/MediaSource.h:
2873         (MediaSource):
2874         * Modules/mediasource/SourceBuffer.cpp:
2875         (WebCore::SourceBuffer::create):
2876         (WebCore):
2877         (WebCore::SourceBuffer::SourceBuffer):
2878         (WebCore::SourceBuffer::buffered):
2879         (WebCore::SourceBuffer::setTimestampOffset):
2880         (WebCore::SourceBuffer::append):
2881         (WebCore::SourceBuffer::abort):
2882         (WebCore::SourceBuffer::removedFromMediaSource):
2883         (WebCore::SourceBuffer::isRemoved):
2884         (WebCore::SourceBuffer::isOpen):
2885         (WebCore::SourceBuffer::isEnded):
2886         * Modules/mediasource/SourceBuffer.h:
2887         (WebCore):
2888         (SourceBuffer):
2889         * Modules/mediasource/SourceBufferList.cpp:
2890         (WebCore::SourceBufferList::SourceBufferList):
2891         (WebCore::SourceBufferList::remove):
2892         (WebCore::SourceBufferList::clear):
2893         * Modules/mediasource/SourceBufferList.h:
2894         (SourceBufferList):
2895         * html/HTMLMediaElement.cpp:
2896         * platform/graphics/MediaSourcePrivate.h:
2897         (WebCore):
2898         (MediaSourcePrivate):
2899         * platform/graphics/SourceBufferPrivate.h:
2900         (WebCore):
2901         (SourceBufferPrivate): Contains methods extracted from MediaPlayerPrivate.
2902         (WebCore::SourceBufferPrivate::SourceBufferPrivate):
2903         (WebCore::SourceBufferPrivate::~SourceBufferPrivate):
2904
2905 2013-02-28  Joe Mason  <jmason@rim.com>
2906
2907         [BlackBerry] Handle Set-Cookie immediately even when loading is deferred
2908         https://bugs.webkit.org/show_bug.cgi?id=111083
2909
2910         Reviewed by Yong Li.
2911
2912         Internal PR: 298805
2913         Internally Reviewed By: Leo Yang
2914
2915         Handle Set-Cookie headers immediately, even if loading is being deferred, since any request
2916         created while loading is deferred should include all cookies received. (This especially
2917         affects Set-Cookie headers sent with a 401 response - often this causes an auth dialog to be
2918         opened, which defers loading, but the followup request using the credentials from the dialog
2919         needs to include the cookie.)
2920
2921         This is safe because handleSetCookieHeader only updates the cookiejar, it doesn't call back
2922         into the loader.
2923
2924         * platform/network/blackberry/NetworkJob.cpp:
2925         (WebCore::NetworkJob::notifyHeadersReceived):
2926         (WebCore::NetworkJob::handleNotifyHeaderReceived):
2927
2928 2013-02-28  David Grogan  <dgrogan@chromium.org>
2929
2930         IndexedDB: IO error when checking schema should destroy LevelDB directory
2931         https://bugs.webkit.org/show_bug.cgi?id=110675
2932
2933         Reviewed by Adam Barth.
2934
2935         Also some refactoring to remove IDBBackingStore's dependence on
2936         static LevelDBDatabase methods. This facilitated the unit test.
2937
2938         New unit test - IDBIOErrorTest.CleanUpTest
2939
2940         * Modules/indexeddb/IDBBackingStore.cpp:
2941         (DefaultLevelDBFactory):
2942         Wraps the previous behavior.
2943         (WebCore::IDBBackingStore::open):
2944         The default parameter provides the previous behavior, which is what
2945         non-tests want.
2946         * Modules/indexeddb/IDBBackingStore.h:
2947         * platform/leveldb/LevelDBDatabase.h:
2948
2949 2013-02-28  Kentaro Hara  <haraken@chromium.org>
2950
2951         Unreviewed, rolling out r144157.
2952         http://trac.webkit.org/changeset/144157
2953         https://bugs.webkit.org/show_bug.cgi?id=110794
2954
2955         It broke chromium windows build
2956
2957         * bindings/scripts/CodeGeneratorV8.pm:
2958         (GenerateNamedConstructor):
2959         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2960         (WebCore::V8TestNamedConstructorConstructorCallback):
2961         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2962         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2963         (WebCore::v8HTMLImageElementConstructorMethodCustom):
2964         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
2965
2966 2013-02-26  David Hyatt  <hyatt@apple.com>
2967
2968         [New Multicolumn] Rewrite the painting/stacking model to be spec compliant.
2969         https://bugs.webkit.org/show_bug.cgi?id=110624.
2970
2971         Reviewed by Simon Fraser.
2972
2973         This patch implements a new painting and hit testing model for columns that is
2974         spec-compliant with Section 3.5 of the multicolumn specification, which states:
2975         
2976         "All column boxes in a multi-column element are in the same stacking context and
2977         the drawing order of their contents is as specified in CSS 2.1. Column boxes do
2978         not establish new stacking contexts."
2979         
2980         What this statement means is that you cannot paint a layer and all its stacking
2981         context descendants in a strip in each column, since some of those descendants
2982         might actually "break out" of the pagination (like fixed positioned descendants)
2983         and overlap multiple columns. In addition clips may apply across pagination
2984         boundaries, and any overlap caused by opacity has to do the right thing and
2985         treat the paginated and unpaginated components together as a single unit.
2986         
2987         The solution to this problem is to introduce the concept of a LayerFragment. Now
2988         all layers when painting or hit testing compute a fragment list, and that list
2989         is then walked in order to do painting and hit testing of layers. In the simple
2990         unpaginated case, a layer has one LayerFragment, but in the case of columns the
2991         layer may be broken up into multiple fragments representing boxes in separate
2992         columns.
2993         
2994         Much of this patch consists of refactoring all of the painting and hit testing
2995         code to operate on these fragments.
2996
2997         Test: fast/multicol/mixed-positioning-stacking-order.html.
2998
2999         * rendering/RenderFlowThread.cpp:
3000         (WebCore::RenderFlowThread::collectLayerFragments):
3001         This method is called by the RenderLayer code to fetch the layer fragments from
3002         the regions of a flow thread. The flow thread just turns around and calls into
3003         each of its regions one by one to get the fragments from each region.
3004
3005         (WebCore::RenderFlowThread::fragmentsBoundingBox):
3006         A new function that collects LayerFragments and then determines the bounding
3007         box that encloses all of the fragments.
3008
3009         * rendering/RenderFlowThread.h:
3010         Declarations of the new methods for obtaining layer fragments and bounding
3011         box information for fragments.
3012
3013         * rendering/RenderLayer.cpp:
3014         (WebCore::RenderLayer::RenderLayer):
3015         (WebCore::RenderLayer::updateLayerPositions):
3016         (WebCore::RenderLayer::updatePagination):
3017         RenderLayers now track an enclosing pagination layer. If this is set, then the layer knows it
3018         needs to check with the enclosing pagination layer's flow thread renderer to
3019         obtain layer fragments.
3020         
3021         (WebCore::transparencyClipBox):
3022         Modified to obtain a fragments bounding box so that opacity can operate correctly on
3023         column boxes.
3024
3025         (WebCore::accumulateOffsetTowardsAncestor):
3026         This method has been patched to allow for fixed positioned objects to escape
3027         in-flow RenderFlowThreads. Our in-flow RenderFlowThreads behave differently from
3028         CSS Regions flow threads in that they aren't necesssarily acting as the containing
3029         block for all of their descendants. Content is allowed to "escape" from the flow
3030         thread.
3031
3032         (WebCore::RenderLayer::collectFragments):
3033         A new method that collects fragments from the flow thread and sets up the appropriate
3034         clips and translations on each fragment.
3035
3036         (WebCore::RenderLayer::paintLayer):
3037         (WebCore::RenderLayer::paintLayerContents):
3038         (WebCore::RenderLayer::paintList):
3039         (WebCore::RenderLayer::updatePaintingInfoForFragments):
3040         (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
3041         (WebCore::RenderLayer::paintBackgroundForFragments):
3042         (WebCore::RenderLayer::paintForegroundForFragments):
3043         (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
3044         (WebCore::RenderLayer::paintOutlineForFragments):
3045         (WebCore::RenderLayer::paintMaskForFragments):
3046         (WebCore::RenderLayer::paintOverflowControlsForFragments):
3047         Refactoring of painting to break all individual painting steps out into methods that walk over
3048         fragment boxes. This actually had the side effect of making the main painting function,
3049         paintLayerContents, much cleaner and easier to read. :)
3050         
3051         (WebCore::RenderLayer::hitTest):
3052         (WebCore::RenderLayer::createLocalTransformState):
3053         (WebCore::RenderLayer::hitTestLayer):
3054         (WebCore::RenderLayer::hitTestContentsForFragments):
3055         (WebCore::RenderLayer::hitTestResizerInFragments):
3056         (WebCore::RenderLayer::hitTestTransformedLayerInFragments):
3057         (WebCore::RenderLayer::hitTestContents):
3058         (WebCore::RenderLayer::hitTestList):
3059         Refactoring of hit testing to break all individual hit testing steps out into methods that walk over
3060         fragment boxes.
3061         
3062         (WebCore::RenderLayer::backgroundClipRect):
3063         Modified to avoid using the clip rects cache when crossing into different pagination contexts,
3064         e.g., from unpaginated to paginated.
3065         
3066         (WebCore::RenderLayer::intersectsDamageRect):
3067         (WebCore::RenderLayer::boundingBox):
3068         Modified boundingBox to work with fragments. A new flag is used to indicate whether or not
3069         the bounds of fragments or the original unsplit box are being computed.
3070         
3071         (WebCore::RenderLayer::collectLayers):
3072         Fix layer collection so that in-flow RenderFlowThreads can still be collected, since in-flow
3073         RenderFlowThreads do not establish stacking contexts.
3074
3075         * rendering/RenderLayer.h:
3076         (WebCore::ClipRect::moveBy):
3077         Added a moveBy method that just wrap the corresponding LayoutRect method.
3078
3079         (LayerFragment):
3080         (WebCore::LayerFragment::LayerFragment):
3081         (WebCore::LayerFragment::setRects):
3082         (WebCore::LayerFragment::moveBy):
3083         (WebCore::LayerFragment::intersect):
3084         (WebCore::RenderLayer::enclosingPaginationLayer):
3085         The new LayerFragment struct. Holds clips and translation information for each fragment box.
3086
3087         (WebCore::RenderLayer::isOutOfFlowRenderFlowThread):
3088         Helper method for determining if the renderer is an out-of-flow RenderFlowThread.
3089
3090         * rendering/RenderMultiColumnBlock.cpp:
3091         (WebCore::createMultiColumnFlowThreadStyle):
3092         Change the flow thread style to no longer establish a stacking context.
3093         
3094         (WebCore::RenderMultiColumnBlock::layoutBlock):
3095         Patched to move the flow thread to a position that allows it to be untranslated in the
3096         initial column.
3097
3098         (WebCore):
3099         * rendering/RenderMultiColumnBlock.h:
3100         (RenderMultiColumnBlock):
3101         layoutBlock is subclassed to tweak the flow thread's position.
3102
3103         * rendering/RenderMultiColumnFlowThread.h:
3104         (RenderMultiColumnFlowThread):
3105         The flow thread for multi-column blocks implements collectLayerFragments to hand back LayerFragment
3106         information based off its RenderMultiColumnSets.
3107
3108         * rendering/RenderMultiColumnSet.cpp:
3109         (WebCore::RenderMultiColumnSet::paintObject):
3110         Changed to no longer paint column contents, since the layer code is just doing that now.
3111
3112         (WebCore::RenderMultiColumnSet::collectLayerFragments):
3113         The method that figures out what columns are intersected by a layer and hands back
3114         initial fragment information.
3115
3116         * rendering/RenderMultiColumnSet.h:
3117         (RenderMultiColumnSet):
3118         Declaration of collectLayerFragments.
3119         
3120         * rendering/RenderObject.cpp:
3121         (WebCore::RenderObject::container):
3122         Patch container() to allow fixed positioned objects to escape in-flow RenderFlowThreads.
3123         
3124         * rendering/RenderObject.h:
3125         (WebCore::RenderObject::isInFlowRenderFlowThread):
3126         (WebCore::RenderObject::isOutOfFlowRenderFlowThread):
3127         Methods for distinguishing between in-flow and out-of-flow RenderFlowThreads.
3128
3129         (WebCore::RenderObject::canContainFixedPositionObjects):
3130         Patch canContainFixedPositionObjects() to allow fixed positioned objects to escape
3131         in-flow RenderFlowThreads.
3132         
3133         * rendering/RenderRegion.h:
3134         (WebCore::RenderRegion::collectLayerFragments):
3135         (RenderRegion):
3136         The virtual functions on Region for fragment collection.
3137
3138 2013-02-28  Vivek Galatage  <vivek.vg@samsung.com>
3139
3140         Web Inspector: Adding existing key in DOMStorageItemsView leaves it inconsistent state
3141         https://bugs.webkit.org/show_bug.cgi?id=111061
3142
3143         Reviewed by Alexander Pavlov.
3144
3145         The view must be checked for all the rows with the matching keys. Only the first one would be updated
3146         with the new value while the others must be removed from the grid. Also in case there are various key/value
3147         pairs, the changed node should be selected and revealed in the grid.
3148
3149         No new tests as UI related minor change.
3150
3151         * inspector/front-end/DOMStorageItemsView.js:
3152         (WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):
3153
3154 2013-02-28  Alberto Garcia  <agarcia@igalia.com>
3155
3156         [BlackBerry] User credentials is not correctly handled
3157         https://bugs.webkit.org/show_bug.cgi?id=110994
3158
3159         Reviewed by Yong Li.
3160
3161         WTF::String::utf8 no longer receives a bool, see r134173.
3162
3163         * platform/network/blackberry/CredentialBackingStore.cpp:
3164         (WebCore::CredentialBackingStore::encryptedString):
3165
3166 2013-02-28  Lianghui Chen  <liachen@rim.com>
3167
3168         [BlackBerry] User credentials are not correctly handled for non-browser usage
3169         https://bugs.webkit.org/show_bug.cgi?id=111032
3170
3171         Internal PR: 295181
3172         Internal reviewed by Joe Mason.
3173
3174         Reviewed by Yong Li.
3175
3176         Use encrypted password as binary data when calling SQLiteStatement::bindBlob(), in
3177         stead of using it as a normal WTF::String.
3178
3179         No new tests as this causes no expected behaviour change.
3180
3181         * platform/network/blackberry/CredentialBackingStore.cpp:
3182         (WebCore::CredentialBackingStore::addLogin):
3183         (WebCore::CredentialBackingStore::updateLogin):
3184
3185 2013-02-28  Andrey Lushnikov  <lushnikov@chromium.org>
3186
3187         Web Inspector: "loadScript" function to load scripts via xhr
3188         https://bugs.webkit.org/show_bug.cgi?id=110879
3189
3190         Reviewed by Pavel Feldman.
3191
3192         Create an alias for "importScript" function and use it in those cases
3193         which assume lazy script loading.
3194
3195         No new tests.
3196
3197         * inspector/front-end/Panel.js:
3198         (WebInspector.PanelDescriptor.prototype.panel):
3199         * inspector/front-end/SourceFrame.js:
3200         (WebInspector.SourceFrame):
3201         * inspector/front-end/utilities.js:
3202
3203 2013-02-28  Alexei Filippov  <alph@chromium.org>
3204
3205         Web Inspector: Move profiler tools into separate panels
3206         https://bugs.webkit.org/show_bug.cgi?id=109832
3207
3208         Reviewed by Yury Semikhatsky.
3209
3210         This is a first part of the fix that puts each profiler tool into a separate panel.
3211         The fix introduces separate panels for each profiler type.
3212         There are now six panel (including experimental):
3213           1. JS CPU profiler
3214           2. CSS Selector profiler
3215           3. JS Heap profiler
3216           4. Canvas profier
3217           5. Native memory snapshots
3218           6. Native memory distribution
3219         The new functionality is put behind experimental flag.
3220
3221         * inspector/front-end/ProfileLauncherView.js:
3222         (WebInspector.ProfileLauncherView):
3223         (WebInspector.ProfileLauncherView.prototype.addProfileType):
3224         * inspector/front-end/ProfilesPanel.js:
3225         (WebInspector.ProfileHeader.prototype.view):
3226         (WebInspector.ProfileHeader.prototype.createView):
3227         (WebInspector.ProfilesPanel):
3228         (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
3229         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
3230         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
3231         (WebInspector.ProfilesPanel.prototype._showProfile):
3232         (WebInspector.ProfilesPanel.prototype._searchableViews):
3233         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
3234         (WebInspector.ProfileGroupSidebarTreeElement):
3235         (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
3236         (WebInspector.CPUProfilerPanel):
3237         (WebInspector.CSSSelectorProfilerPanel):
3238         (WebInspector.HeapProfilerPanel):
3239         (WebInspector.CanvasProfilerPanel):
3240         (WebInspector.MemoryChartProfilerPanel):
3241         (WebInspector.NativeMemoryProfilerPanel):
3242         * inspector/front-end/Settings.js:
3243         (WebInspector.ExperimentsSettings):
3244         * inspector/front-end/inspector.css:
3245         (.toolbar-item.cpu-profiler .toolbar-icon):
3246         (.toolbar-item.css-profiler .toolbar-icon):
3247         (.toolbar-item.heap-profiler .toolbar-icon):
3248         (.toolbar-item.canvas-profiler .toolbar-icon):
3249         (.toolbar-item.memory-chart-profiler .toolbar-icon):
3250         (.toolbar-item.memory-snapshot-profiler .toolbar-icon):
3251         * inspector/front-end/inspector.js:
3252         (WebInspector._panelDescriptors):
3253
3254 2013-02-28  Keishi Hattori  <keishi@webkit.org>
3255
3256         Add calendar header for new calendar picker
3257         https://bugs.webkit.org/show_bug.cgi?id=110967
3258
3259         Reviewed by Kent Tamura.
3260
3261         The calendar header showing the current month and containing navigation
3262         buttons, which will be part of the new calendar picker (Bug 109439).
3263
3264         No new tests. Code is not yet used.
3265
3266         * Resources/pagepopups/calendarPicker.js:
3267         (MonthPopupButton): Button that opens the month popup.
3268         (MonthPopupButton.prototype._shouldUseShortMonth): Returns true if we should use the short month format in order to fit in the available width.
3269         (MonthPopupButton.prototype.setCurrentMonth): Sets the month to the button label.
3270         (MonthPopupButton.prototype.onClick): Dispatches buttonClick event which will tell the calendar picker to open the month popup.
3271         (CalendarNavigationButton): A square button that fires repeatedly while the mouse is pressed down.
3272         (CalendarNavigationButton.prototype.setDisabled):
3273         (CalendarNavigationButton.prototype.onClick):
3274         (CalendarNavigationButton.prototype.onMouseDown): Sets the timer to fire while the mouse is pressed down.
3275         (CalendarNavigationButton.prototype.onWindowMouseUp):
3276         (CalendarNavigationButton.prototype.onRepeatingClick):
3277         (CalendarHeaderView): View containing month popup button and the navigation buttons.
3278         (CalendarHeaderView.prototype.onCurrentMonthChanged): Sets the MonthPopupButton label and checks if the navigation buttons should be disabled.
3279         (CalendarHeaderView.prototype.onNavigationButtonClick):
3280         (CalendarHeaderView.prototype.setDisabled): Used to disable all the buttons while the month popup is open.
3281
3282 2013-02-28  Pavel Feldman  <pfeldman@chromium.org>
3283
3284         Web Inspector: class console-formatted-string renamed to console-formatted- ?
3285         https://bugs.webkit.org/show_bug.cgi?id=110881
3286
3287         Reviewed by Vsevolod Vlasov.
3288
3289         * inspector/front-end/ConsoleMessage.js:
3290         (WebInspector.ConsoleMessageImpl.prototype._renderPropertyPreview):
3291
3292 2013-02-28  Mike West  <mkwst@chromium.org>
3293
3294         XSSAuditor should strip formaction attributes from input and button elements.
3295         https://bugs.webkit.org/show_bug.cgi?id=110975
3296
3297         Reviewed by Daniel Bates.
3298
3299         The 'formaction' attribute of 'input' and 'button' elements is just as
3300         dangerous as the 'action' attribute of 'form' elements. This patch
3301         teaches the XSSAuditor how to avoid them.
3302
3303         Tests: http/tests/security/xssAuditor/formaction-on-button.html
3304                http/tests/security/xssAuditor/formaction-on-input.html
3305
3306         * html/parser/XSSAuditor.cpp:
3307         (WebCore::XSSAuditor::filterStartToken):
3308         (WebCore::XSSAuditor::filterInputToken): Added.
3309         (WebCore::XSSAuditor::filterButtonToken): Added.
3310         * html/parser/XSSAuditor.h:
3311             Create filters for 'input' and 'button' elements, which currently
3312             only have the effect of filtering the 'formaction' attribute.
3313
3314 2013-02-28  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3315
3316         REGRESSION(r144169): It broke clipping
3317         https://bugs.webkit.org/show_bug.cgi?id=111065
3318
3319         Reviewed by Noam Rosenthal.
3320
3321         The clipstack was not marked dirty when new clips were added
3322         leading to clipping never being applied.
3323
3324         * platform/graphics/texmap/TextureMapperGL.cpp:
3325         (WebCore::TextureMapperGL::ClipStack::push):
3326
3327 2013-02-28  Tamas Czene  <tczene@inf.u-szeged.hu>
3328
3329         OpenCL implementation of FEImage SVG Filter.
3330         https://bugs.webkit.org/show_bug.cgi?id=110752
3331
3332         Reviewed by Zoltan Herczeg.
3333
3334         The result of the image is uploaded to an OpenCL buffer.
3335
3336         * Target.pri:
3337         * platform/graphics/gpu/opencl/OpenCLFEImage.cpp: Added.
3338         (WebCore):
3339         (WebCore::FEImage::platformApplyOpenCL):
3340         * svg/graphics/filters/SVGFEImage.h:
3341         (FEImage):
3342
3343 2013-02-28  Mike West  <mkwst@chromium.org>
3344
3345         Web Inspector: Make it obvious where command line functions come from
3346         https://bugs.webkit.org/show_bug.cgi?id=62367
3347
3348         Reviewed by Pavel Feldman.
3349
3350         This patch adds a custom .toString() method on the various command-line
3351         API methods that are bound in the inspector. Rather than dumping the
3352         function text, we now model the response after that of native methods:
3353         "function __() { [Command Line API] }".
3354
3355         Test: inspector/console/console-native-function-to-string.html
3356
3357         * inspector/InjectedScriptSource.js:
3358             Added a function to the CommandLineAPI constructor that creates a
3359             custom toString() method for each command-line API method.
3360
3361 2013-02-28  David Kilzer  <ddkilzer@apple.com>
3362
3363         ResourceRequestCFNet.cpp won't compile after r144216
3364         <http://webkit.org/b/111034>
3365
3366         Reviewed by Alexey Proskuryakov.
3367
3368         * WebCore.exp.in: Move Mac-only symbol into !PLATFORM(IOS)
3369         section.  Update iOS-only symbol to add argument.
3370         * platform/network/cf/ResourceRequest.h: Remove unused method
3371         declaration.
3372         * platform/network/cf/ResourceRequestCFNet.cpp:
3373         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody): Fix typos.
3374         Add static_cast<CFStringRef>().
3375         (WebCore::ResourceRequest::doUpdateResourceHTTPBody): Fix another
3376         typo.
3377
3378 2013-02-28  Kent Tamura  <tkent@chromium.org>
3379
3380         Unreviewed, rolling out r144184.
3381         http://trac.webkit.org/changeset/144184
3382         https://bugs.webkit.org/show_bug.cgi?id=110974
3383
3384         The change didn't fix all of the problems.
3385
3386         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
3387         * html/BaseMultipleFieldsDateAndTimeInputType.h:
3388         (BaseMultipleFieldsDateAndTimeInputType):
3389
3390 2013-02-27  Eugene Klyuchnikov  <eustas@chromium.org>
3391
3392         Web Inspector: [Protocol] Genarate JS enum definitions.
3393         https://bugs.webkit.org/show_bug.cgi?id=110461
3394
3395         Reviewed by Pavel Feldman.
3396
3397         Generating corresponding type annotations
3398         would help to compiler to point errors.
3399
3400         * inspector/CodeGeneratorInspector.py: Generate "registerEnum" records.
3401         * inspector/InjectedScriptSource.js: Shadow compiler warning.
3402         * inspector/front-end/InspectorBackend.js:
3403         Added "registerEnum". Added "registerEnum" generation.
3404         * inspector/front-end/NetworkManager.js: Use enum instead of literal.
3405         * inspector/generate_protocol_externs.py: Generate enum typedefs.
3406
3407 2013-02-27  Kunihiko Sakamoto  <ksakamoto@chromium.org>
3408
3409         INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of hour field should respect min/max attributes
3410         https://bugs.webkit.org/show_bug.cgi?id=109555
3411
3412         Reviewed by Kent Tamura.
3413
3414         Make step-up/-down of the hour field respect the min/max attributes of the element.
3415         Note that it still accepts any keyboard inputs (the element
3416         becomes 'invalid' state when out-of-range values entered).
3417         Also, disable the hour field and/or the AMPM field when there is only single possible value.
3418
3419         Test: fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-readonly-subfield.html
3420               fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-stepup-stepdown-from-renderer.html
3421               fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html
3422               fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html
3423
3424         * html/TimeInputType.cpp:
3425         (WebCore::TimeInputType::setupLayoutParameters): Populates layoutParameters.{minimum,maximum}.
3426         * html/shadow/DateTimeEditElement.cpp:
3427         (DateTimeEditBuilder): Add data fields for min/max of day and hour fields.
3428         (WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Set newly added data members.
3429         (WebCore::DateTimeEditBuilder::visitField): Pass minimum/maximum value to the month field constructors.
3430         (WebCore::DateTimeEditBuilder::shouldAMPMFieldDisabled): Added.
3431         (WebCore::DateTimeEditBuilder::shouldDayOfMonthFieldDisabled):
3432         (WebCore::DateTimeEditBuilder::shouldHourFieldDisabled):
3433         Disables the hour field when min, max, and value have the same hour, except when the minute
3434         field is disabled (by step attribute), because we need to leave at least one field editable.
3435         * html/shadow/DateTimeFieldElements.cpp: