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