Source/WebCore: Fix and test for missing return statement
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-08  Harald Alvestrand  <hta@google.com>
2
3         Fix and test for missing return statement
4
5         RTCPeerConnection.getStats() failed when remote stats were instantiated.
6         https://bugs.webkit.org/show_bug.cgi?id=109292
7
8         Reviewed by Adam Barth.
9
10         Tested by extending the existing mock's behaviour.
11
12         * Modules/mediastream/RTCStatsReport.cpp:
13         (WebCore::RTCStatsReport::addElement):
14
15 2013-02-08  Anton Vayvod  <avayvod@chromium.org>
16
17         [Text Autosizing] Split isAutosizingCluster into three independent checks
18         https://bugs.webkit.org/show_bug.cgi?id=109093
19
20         Refactoring to create more flexible version of isAutosizingCluster since there're more types
21         of autosizing cluster now: narrower than the parent cluster, wider than the parent cluster
22         and the one that doesn't depend on the parent cluster.
23
24         Reviewed by Kenneth Rohde Christiansen.
25
26         Refactoring, no test changes.
27
28         * rendering/TextAutosizer.cpp:
29
30         (WebCore::TextAutosizer::isNarrowDescendant):
31
32             Separate check for the container to be of the narrow-descendant type. Was a part of
33             isAutosizingCluster().
34
35         (WebCore::TextAutosizer::isWiderDescendant):
36
37             Separate check for the container to be of the wider-descendant type. Was a part of
38             isAutosizingCluster().
39
40         (WebCore::TextAutosizer::isIndependentDescendant):
41
42             Separate check for the container to be autosized separately from the ancestor cluster.
43             Checks for conditions independent of the aforementioned cluster.
44
45         (WebCore::TextAutosizer::isAutosizingCluster):
46
47             Handy method to check all separate conditions together.
48
49         (WebCore::TextAutosizer::processSubtree):
50         (WebCore::TextAutosizer::processCluster):
51         (WebCore::TextAutosizer::processContainer):
52         (WebCore::TextAutosizer::clusterShouldBeAutosized):
53         (WebCore::TextAutosizer::measureDescendantTextWidth):
54         (WebCore::TextAutosizer::findFirstTextLeafNotInCluster):
55
56             The methods above were updated to use new functions/arguments.
57
58         * rendering/TextAutosizer.h:
59
60             Updated/added method definitions.
61
62 2013-02-08  Vsevolod Vlasov  <vsevik@chromium.org>
63
64         Web Inspector: Extension sever should use Workspace.projectForType() instead of Workspace.project()
65         https://bugs.webkit.org/show_bug.cgi?id=109301
66
67         Reviewed by Alexander Pavlov.
68
69         * inspector/front-end/ExtensionServer.js:
70         (WebInspector.ExtensionServer.prototype._onGetPageResources):
71
72 2013-02-04  Yury Semikhatsky  <yurys@chromium.org>
73
74         Web Inspector: simplify Memory.getDOMNodeCount implementation
75         https://bugs.webkit.org/show_bug.cgi?id=108821
76
77         Reviewed by Alexander Pavlov.
78
79         Removed Memory.getDOMNodeCount command from the protocol. Memory.getDOMCounters
80         should be used instead.
81
82         * inspector/Inspector.json:
83         * inspector/InspectorMemoryAgent.cpp:
84         * inspector/InspectorMemoryAgent.h:
85         (InspectorMemoryAgent):
86
87 2013-02-08  Yury Semikhatsky  <yurys@chromium.org>
88
89         Web Inspector: refactor MemoryStatistics.js
90         https://bugs.webkit.org/show_bug.cgi?id=109299
91
92         Reviewed by Vsevolod Vlasov.
93
94         Extracted functionality specific to DOM counter graphs drawing into
95         separate methods on MemoryStatistics class.
96         Introduced CounterUIBase base class for DOMCounterUI that contains
97         functionality which can be shared with native memory graph.
98
99         * inspector/front-end/MemoryStatistics.js:
100         (WebInspector.MemoryStatistics):
101         (WebInspector.CounterUIBase):
102         (WebInspector.CounterUIBase.prototype.updateCurrentValue):
103         (WebInspector.CounterUIBase.prototype.clearCurrentValueAndMarker):
104         (WebInspector.CounterUIBase.prototype.get visible):
105         (WebInspector.DOMCounterUI):
106         (WebInspector.DOMCounterUI.prototype.discardImageUnderMarker):
107         (WebInspector.MemoryStatistics.prototype._onMouseOut):
108         (WebInspector.MemoryStatistics.prototype._clearCurrentValueAndMarker):
109         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
110         (WebInspector.MemoryStatistics.prototype._updateCurrentValue):
111         (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
112         (WebInspector.MemoryStatistics.prototype._restoreImageUnderMarker):
113         (WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
114         (WebInspector.MemoryStatistics.prototype._drawMarker):
115         (WebInspector.MemoryStatistics.prototype._clear):
116         (WebInspector.MemoryStatistics.prototype._discardImageUnderMarker):
117
118 2013-02-08  Mike West  <mkwst@chromium.org>
119
120         Add a new IGNORE_EXCEPTION helper to ignore ExceptionCodes when they are expected but uninteresting
121         https://bugs.webkit.org/show_bug.cgi?id=108771
122
123         Reviewed by Eric Seidel.
124
125         In cases where the ExceptionCode passed into a function is completely
126         ignored, this patch replaces it with a new IGNORE_EXCEPTION macro. This
127         makes our expectations about possible exceptions (or lack thereof)
128         explicit, rather than relying on implicit assumptions about whether a
129         variable is intentionally uninitialized or not. It also removes
130         knowledge about the internals of ExceptionCodes (that they're currently
131         ints, for instance) from code that shouldn't care, which will help with
132         future refactorings.
133
134         The implementation is entirely based upon ASSERT_NO_EXCEPTION, and
135         shouldn't have any visible effect on the web. As long as all the
136         current tests pass, we're good.
137
138         * Modules/indexeddb/IDBRequest.cpp:
139         (WebCore::IDBRequest::dispatchEvent):
140         (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
141         * Modules/indexeddb/IDBTransaction.cpp:
142         (WebCore::IDBTransaction::stop):
143         * Modules/websockets/WebSocketChannel.cpp:
144         (WebCore::WebSocketChannel::processBuffer):
145         * dom/Document.cpp:
146         (WebCore::Document::processHttpEquiv):
147         * dom/ExceptionCodePlaceholder.h:
148         (WebCore):
149         * dom/Node.cpp:
150         (WebCore::Node::normalize):
151         * dom/Text.cpp:
152         (WebCore::Text::replaceWholeText):
153         * editing/AlternativeTextController.cpp:
154         (WebCore::AlternativeTextController::insertDictatedText):
155         * editing/AppendNodeCommand.cpp:
156         (WebCore::AppendNodeCommand::doApply):
157         (WebCore::AppendNodeCommand::doUnapply):
158         * editing/CompositeEditCommand.cpp:
159         (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt):
160         * editing/DeleteFromTextNodeCommand.cpp:
161         (WebCore::DeleteFromTextNodeCommand::doUnapply):
162         * editing/Editor.cpp:
163         (WebCore::dispatchEditableContentChangedEvents):
164         (WebCore::Editor::applyEditingStyleToElement):
165         * editing/EditorCommand.cpp:
166         (WebCore::executeFormatBlock):
167         * editing/FormatBlockCommand.cpp:
168         (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
169         * editing/InsertIntoTextNodeCommand.cpp:
170         (WebCore::InsertIntoTextNodeCommand::doApply):
171         (WebCore::InsertIntoTextNodeCommand::doUnapply):
172         * editing/InsertListCommand.cpp:
173         (WebCore::InsertListCommand::doApplyForSingleParagraph):
174         * editing/InsertNodeBeforeCommand.cpp:
175         (WebCore::InsertNodeBeforeCommand::doApply):
176         (WebCore::InsertNodeBeforeCommand::doUnapply):
177         * editing/RemoveCSSPropertyCommand.cpp:
178         (WebCore::RemoveCSSPropertyCommand::doApply):
179         (WebCore::RemoveCSSPropertyCommand::doUnapply):
180         * editing/RemoveNodeCommand.cpp:
181         (WebCore::RemoveNodeCommand::doApply):
182         (WebCore::RemoveNodeCommand::doUnapply):
183         * editing/ReplaceSelectionCommand.cpp:
184         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
185         * editing/TextIterator.cpp:
186         (WebCore::TextIterator::getLocationAndLengthFromRange):
187         * editing/WrapContentsInDummySpanCommand.cpp:
188         (WebCore::WrapContentsInDummySpanCommand::executeApply):
189         (WebCore::WrapContentsInDummySpanCommand::doUnapply):
190         * editing/htmlediting.cpp:
191         (WebCore::comparePositions):
192         * editing/markup.cpp:
193         (WebCore::highestAncestorToWrapMarkup):
194         * html/FTPDirectoryDocument.cpp:
195         (WebCore::FTPDirectoryDocumentParser::appendEntry):
196         (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
197         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
198         (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
199         * html/HTMLMediaElement.cpp:
200         (WebCore::HTMLMediaElement::rewind):
201         (WebCore::HTMLMediaElement::returnToRealtime):
202         (WebCore::HTMLMediaElement::playInternal):
203         (WebCore::HTMLMediaElement::percentLoaded):
204         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
205         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
206         (WebCore::HTMLMediaElement::applyMediaFragmentURI):
207         * html/HTMLOutputElement.cpp:
208         (WebCore::HTMLOutputElement::setTextContentInternal):
209         * html/HTMLSelectElement.cpp:
210         (WebCore::HTMLSelectElement::remove):
211         * html/HTMLTableElement.cpp:
212         (WebCore::HTMLTableElement::createTHead):
213         (WebCore::HTMLTableElement::deleteTHead):
214         (WebCore::HTMLTableElement::createTFoot):
215         (WebCore::HTMLTableElement::deleteTFoot):
216         (WebCore::HTMLTableElement::createCaption):
217         (WebCore::HTMLTableElement::deleteCaption):
218         * html/HTMLTextAreaElement.cpp:
219         (WebCore::HTMLTextAreaElement::setDefaultValue):
220         * html/ImageDocument.cpp:
221         (WebCore::ImageDocument::createDocumentStructure):
222         * html/InputType.cpp:
223         (WebCore::InputType::stepUpFromRenderer):
224         * html/MediaController.cpp:
225         (MediaController::bringElementUpToSpeed):
226         (MediaController::asyncEventTimerFired):
227         * html/MediaDocument.cpp:
228         (WebCore::MediaDocumentParser::createDocumentStructure):
229         (WebCore::MediaDocument::replaceMediaElementTimerFired):
230         * html/PluginDocument.cpp:
231         (WebCore::PluginDocumentParser::createDocumentStructure):
232         * html/RangeInputType.cpp:
233         (WebCore::RangeInputType::handleKeydownEvent):
234         * html/TimeRanges.cpp:
235         (TimeRanges::contain):
236         (TimeRanges::nearest):
237         * html/canvas/CanvasRenderingContext2D.cpp:
238         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
239         * html/shadow/MediaControlElementTypes.cpp:
240         (WebCore::MediaControlSeekButtonElement::seekTimerFired):
241         * html/shadow/MediaControlElements.cpp:
242         (WebCore::MediaControlPanelElement::setPosition):
243         (WebCore::MediaControlPanelElement::resetPosition):
244         (WebCore::MediaControlStatusDisplayElement::update):
245         (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
246         (WebCore::MediaControlTimelineElement::defaultEventHandler):
247         * html/shadow/MediaControls.cpp:
248         (WebCore::MediaControls::updateCurrentTimeDisplay):
249         (WebCore::MediaControls::createTextTrackDisplay):
250         * html/shadow/MediaControlsApple.cpp:
251         (WebCore::MediaControlsApple::updateCurrentTimeDisplay):
252         * html/shadow/MediaControlsBlackBerry.cpp:
253         (WebCore::MediaControlEmbeddedPanelElement::setPosition):
254         (WebCore::MediaControlEmbeddedPanelElement::resetPosition):
255         (WebCore::MediaControlFullscreenTimelineElement::defaultEventHandler):
256         (WebCore::MediaControlsBlackBerry::updateCurrentTimeDisplay):
257         * html/shadow/MediaControlsChromium.cpp:
258         (WebCore::MediaControlsChromium::updateCurrentTimeDisplay):
259         * html/track/InbandTextTrack.cpp:
260         (WebCore::InbandTextTrack::addGenericCue):
261         * inspector/InspectorCSSAgent.cpp:
262         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
263         * inspector/InspectorHistory.cpp:
264         (WebCore::InspectorHistory::markUndoableState):
265         * inspector/InspectorResourceAgent.cpp:
266         (WebCore::InspectorResourceAgent::replayXHR):
267         * page/ContextMenuController.cpp:
268         (WebCore::ContextMenuController::contextMenuItemSelected):
269         * page/DOMWindow.cpp:
270         (WebCore::didAddStorageEventListener):
271         * page/DragController.cpp:
272         (WebCore::documentFragmentFromDragData):
273         * page/EventHandler.cpp:
274         (WebCore::EventHandler::dispatchDragEvent):
275         (WebCore::EventHandler::keyEvent):
276         (WebCore::EventHandler::handleTextInputEvent):
277         * page/Page.cpp:
278         (WebCore::Page::findStringMatchingRanges):
279         * platform/efl/RenderThemeEfl.cpp:
280         (WebCore::RenderThemeEfl::paintMediaSliderTrack):
281         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
282         (WebCore::MediaPlayerPrivate::percentLoaded):
283         * platform/gtk/RenderThemeGtk.cpp:
284         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
285         * platform/mac/PasteboardMac.mm:
286         (WebCore::Pasteboard::getDataSelection):
287         (WebCore::documentFragmentWithImageResource):
288         (WebCore::Pasteboard::documentFragment):
289         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
290         (-[WebVideoFullscreenHUDWindowController setCurrentTime:]):
291         (-[WebVideoFullscreenHUDWindowController setVolume:]):
292         * platform/qt/RenderThemeQt.cpp:
293         (WebCore::RenderThemeQt::paintMediaSliderTrack):
294         * rendering/RenderNamedFlowThread.cpp:
295         (WebCore::RenderNamedFlowThread::getRanges):
296         * rendering/RenderThemeMac.mm:
297         (WebCore::RenderThemeMac::paintMediaSliderTrack):
298         * svg/SVGTRefElement.cpp:
299         (WebCore::SVGTRefElement::detachTarget):
300         * xml/XMLTreeViewer.cpp:
301         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
302         * xml/parser/XMLDocumentParserLibxml2.cpp:
303         (WebCore::XMLDocumentParser::endElementNs):
304         * xml/parser/XMLDocumentParserQt.cpp:
305         (WebCore::XMLDocumentParser::parseEndElement):
306
307 2013-02-08  Vsevolod Vlasov  <vsevik@chromium.org>
308
309         Web Inspector: Introduce workspace provider/project type, encapsulate uri creation in SimpleWorkspaceProvider.
310         https://bugs.webkit.org/show_bug.cgi?id=109282
311
312         Reviewed by Alexander Pavlov.
313
314         SimpleWorkspaceProvider now fully takes care of creating uri based on project/workspace provider type.
315         This is the first step on the way to project-per-domain mode for non file system project types.
316         Workspace is now partly aware of the possibility that several projects with the same type exist.
317         Drive-by: ScriptsPanel now uses FileMapping to show anchor location properly.
318
319         * inspector/front-end/DefaultScriptMapping.js:
320         (WebInspector.DefaultScriptMapping):
321         (WebInspector.DefaultScriptMapping.prototype.addScript):
322         * inspector/front-end/ExtensionServer.js:
323         (WebInspector.ExtensionServer.prototype._onGetPageResources):
324         * inspector/front-end/FileMapping.js:
325         (WebInspector.FileMapping.prototype.uriForURL):
326         * inspector/front-end/FileSystemWorkspaceProvider.js:
327         (WebInspector.FileSystemWorkspaceProvider.prototype.type):
328         * inspector/front-end/JavaScriptSourceFrame.js:
329         (WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
330         * inspector/front-end/LiveEditSupport.js:
331         (WebInspector.LiveEditSupport):
332         (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
333         * inspector/front-end/ScriptSnippetModel.js:
334         (WebInspector.ScriptSnippetModel):
335         (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
336         * inspector/front-end/ScriptsNavigator.js:
337         (WebInspector.ScriptsNavigator.prototype._navigatorViewForUISourceCode):
338         (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
339         (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
340         (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
341         * inspector/front-end/ScriptsPanel.js:
342         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
343         (WebInspector.ScriptsPanel.prototype._projectWillReset):
344         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
345         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
346         (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
347         * inspector/front-end/SimpleWorkspaceProvider.js:
348         (WebInspector.SimpleWorkspaceProvider):
349         (WebInspector.SimpleWorkspaceProvider.uriForURL):
350         (WebInspector.SimpleWorkspaceProvider.prototype.type):
351         (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
352         (WebInspector.SimpleWorkspaceProvider.prototype.addUniqueFileForURL):
353         (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
354         (WebInspector.SimpleWorkspaceProvider.prototype._uniqueURI):
355         * inspector/front-end/Workspace.js:
356         (WebInspector.WorkspaceProvider.prototype.type):
357         (WebInspector.Project.prototype.type):
358         (WebInspector.Project.prototype.isServiceProject):
359         (WebInspector.Workspace.prototype.uiSourceCodeForOriginURL):
360         (WebInspector.Workspace.prototype.uiSourceCodesForProjectType):
361         (WebInspector.Workspace.prototype.projectsForType):
362         * inspector/front-end/inspector.js:
363
364 2013-02-08  ChangSeok Oh  <shivamidow@gmail.com>
365
366         [GTK][AC] GraphicsLayerClutter doesn't need to recalculate its position after changing anchor position.
367         https://bugs.webkit.org/show_bug.cgi?id=109226
368
369         Reviewed by Gustavo Noronha Silva.
370
371         Clutter has a different coordinate system from mac port's, so we don't need to
372         recalulate GraphicsLayer position after changing its anchor position.
373
374         Covered by existing ac tests.
375
376         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
377         (WebCore::GraphicsLayerClutter::updateGeometry):
378
379 2013-02-08  Mike West  <mkwst@chromium.org>
380
381         Migrate ExceptionCode ASSERTs in IDB to ASSERT_NO_EXCEPTION.
382         https://bugs.webkit.org/show_bug.cgi?id=109266
383
384         Reviewed by Jochen Eisinger.
385
386         The pattern:
387
388             ExceptionCode ec = 0;
389             methodThatGeneratesException(ec);
390             ASSERT(!ec);
391
392         is more clearly and succinctly written as:
393
394             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
395
396         This patch replaces the occurances of the former in IDB code that never
397         touch 'ec' again with the latter. No change in behavior should result
398         from this refactoring.
399
400         * Modules/indexeddb/IDBCursor.cpp:
401         (WebCore::IDBCursor::advance):
402         (WebCore::IDBCursor::continueFunction):
403         (WebCore::IDBCursor::deleteFunction):
404             These methods checked the value of the ExceptionCode without first
405             initializing it to 0. Now the ExceptionCode is explicitly set to 0
406             before doing potentially exception-generating work.
407         (WebCore::IDBCursor::direction):
408         * Modules/indexeddb/IDBObjectStore.cpp:
409         (WebCore):
410         * Modules/indexeddb/IDBTransaction.cpp:
411         (WebCore::IDBTransaction::mode):
412             Replace the above pattern with ASSERT_NO_EXCEPTION.
413
414 2013-02-08  Mike West  <mkwst@chromium.org>
415
416         Migrate ExceptionCode ASSERTs in SVG to ASSERT_NO_EXCEPTION.
417         https://bugs.webkit.org/show_bug.cgi?id=109267
418
419         Reviewed by Jochen Eisinger.
420
421         The pattern:
422
423             ExceptionCode ec = 0;
424             methodThatGeneratesException(ec);
425             ASSERT(!ec);
426
427         is more clearly and succinctly written as:
428
429             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
430
431         This patch replaces the occurances of the former in SVG code that never
432         touch 'ec' again with the latter. No change in behavior should result
433         from this refactoring.
434
435         * svg/SVGLength.cpp:
436         (WebCore::SVGLength::SVGLength):
437         (WebCore::SVGLength::setValue):
438             This method checked the value of the ExceptionCode without first
439             initializing it to 0. Now it initializes before doing potentially
440             exception-generating work.
441         * rendering/style/SVGRenderStyle.h:
442         (WebCore::SVGRenderStyle::initialBaselineShiftValue):
443         (WebCore::SVGRenderStyle::initialKerning):
444         (WebCore::SVGRenderStyle::initialStrokeDashOffset):
445         (WebCore::SVGRenderStyle::initialStrokeWidth):
446         * svg/SVGAnimatedLength.cpp:
447         (WebCore::sharedSVGLength):
448         (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
449         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
450         * svg/SVGAnimatedLengthList.cpp:
451         (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
452         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
453         * svg/SVGTextContentElement.cpp:
454         (WebCore::SVGTextContentElement::textLengthAnimated):
455         * svg/animation/SVGSMILElement.cpp:
456         (WebCore::constructQualifiedName):
457             Replace the above pattern with ASSERT_NO_EXCEPTION.
458
459 2013-02-08  Vsevolod Vlasov  <vsevik@chromium.org>
460
461         Web Inspector: Replace workspace with project in UISourceCode constructor.
462         https://bugs.webkit.org/show_bug.cgi?id=109256
463
464         Reviewed by Alexander Pavlov.
465
466         Replaced workspace with project in UISourceCode constructor since every UISourceCode
467         operation is delegated to project anyway.
468
469         * inspector/front-end/UISourceCode.js:
470         (WebInspector.UISourceCode):
471         (WebInspector.UISourceCode.prototype.project):
472         (WebInspector.UISourceCode.prototype.requestContent):
473         (WebInspector.UISourceCode.prototype.requestOriginalContent):
474         (WebInspector.UISourceCode.prototype._commitContent):
475         (WebInspector.UISourceCode.prototype.searchInContent):
476         * inspector/front-end/Workspace.js:
477         (WebInspector.Project.prototype._fileAdded):
478         (WebInspector.Project.prototype.requestFileContent):
479         (WebInspector.Project.prototype.setFileContent):
480         (WebInspector.Project.prototype.searchInFileContent):
481
482 2013-02-08  Patrick Gansterer  <paroga@webkit.org>
483
484         Build fix for Windows after r141981.
485
486         * platform/network/win/ResourceHandleWin.cpp:
487         (WebCore::ResourceHandle::loadResourceSynchronously):
488
489 2013-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
490
491         Unreviewed, rolling out r141695 and r141697.
492         http://trac.webkit.org/changeset/141695
493         http://trac.webkit.org/changeset/141697
494         https://bugs.webkit.org/show_bug.cgi?id=109279
495
496         broke on-disk buffering for http(s) media (Requested by philn
497         on #webkit).
498
499         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
500         (WebCore::MediaPlayerPrivateGStreamer::load):
501         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
502         (MediaPlayerPrivateGStreamer):
503         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
504         (webKitWebSrcGetProtocols):
505         (webKitWebSrcSetUri):
506
507 2013-02-08  Dan Carney  <dcarney@google.com>
508
509         [v8] isolate parameter added to all v8::peristent calls
510         https://bugs.webkit.org/show_bug.cgi?id=109268
511
512         Reviewed by Kentaro Hara.
513
514         No new tests. No change in functionality.
515
516         * bindings/scripts/CodeGeneratorV8.pm:
517         (GenerateDomainSafeFunctionGetter):
518         (GenerateNamedConstructorCallback):
519         (GenerateImplementation):
520         * bindings/scripts/test/V8/V8Float64Array.cpp:
521         (WebCore::V8Float64Array::GetRawTemplate):
522         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
523         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
524         (WebCore::V8TestActiveDOMObject::GetRawTemplate):
525         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
526         (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
527         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
528         (WebCore::V8TestEventConstructor::GetRawTemplate):
529         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
530         (WebCore::V8TestEventTarget::GetRawTemplate):
531         * bindings/scripts/test/V8/V8TestException.cpp:
532         (WebCore::V8TestException::GetRawTemplate):
533         * bindings/scripts/test/V8/V8TestInterface.cpp:
534         (WebCore::V8TestInterface::GetRawTemplate):
535         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
536         (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
537         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
538         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
539         (WebCore::V8TestNamedConstructor::GetRawTemplate):
540         * bindings/scripts/test/V8/V8TestNode.cpp:
541         (WebCore::V8TestNode::GetRawTemplate):
542         * bindings/scripts/test/V8/V8TestObj.cpp:
543         (WebCore::V8TestObj::GetRawTemplate):
544         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
545         (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
546         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
547         (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
548         * bindings/v8/DOMWrapperMap.h:
549         (WebCore::DOMWrapperMap::clear):
550         * bindings/v8/DOMWrapperWorld.cpp:
551         (WebCore::isolatedWorldWeakCallback):
552         (WebCore::DOMWrapperWorld::makeContextWeak):
553         * bindings/v8/NPV8Object.cpp:
554         (WebCore::freeV8NPObject):
555         (WebCore::npCreateV8ScriptObject):
556         * bindings/v8/ScheduledAction.cpp:
557         (WebCore::ScheduledAction::ScheduledAction):
558         (WebCore::ScheduledAction::~ScheduledAction):
559         * bindings/v8/ScopedPersistent.h:
560         (WebCore::ScopedPersistent::ScopedPersistent):
561         (WebCore::ScopedPersistent::set):
562         (WebCore::ScopedPersistent::clear):
563         * bindings/v8/ScriptWrappable.h:
564         (WebCore::ScriptWrappable::setWrapper):
565         (WebCore::ScriptWrappable::disposeWrapper):
566         (WebCore::ScriptWrappable::weakCallback):
567         * bindings/v8/V8Binding.cpp:
568         (WebCore::createRawTemplate):
569         * bindings/v8/V8Binding.h:
570         (WebCore):
571         * bindings/v8/V8GCController.cpp:
572         (WebCore::gcTree):
573         (WebCore::V8GCController::gcPrologue):
574         (WebCore::V8GCController::minorGCPrologue):
575         * bindings/v8/V8GCController.h:
576         (V8GCController):
577         * bindings/v8/V8HiddenPropertyName.cpp:
578         (WebCore::V8HiddenPropertyName::createString):
579         * bindings/v8/V8LazyEventListener.cpp:
580         (WebCore::V8LazyEventListener::prepareListenerObject):
581         * bindings/v8/V8NPObject.cpp:
582         (WebCore::V8NPTemplateMap::dispose):
583         (WebCore::npObjectGetProperty):
584         (WebCore::createV8ObjectForNPObject):
585         * bindings/v8/V8PerContextData.cpp:
586         (WebCore::V8PerContextData::dispose):
587         (WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
588         (WebCore::V8PerContextData::constructorForTypeSlowCase):
589         * bindings/v8/V8ValueCache.cpp:
590         (WebCore::makeExternalString):
591         * bindings/v8/WrapperTypeInfo.h:
592         (WebCore::WrapperConfiguration::configureWrapper):
593         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
594         (WebCore::V8HTMLDocument::wrapInShadowObject):
595         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
596         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
597         * bindings/v8/custom/V8InjectedScriptManager.cpp:
598         (WebCore::WeakReferenceCallback):
599         (WebCore::createInjectedScriptHostV8Wrapper):
600         * bindings/v8/custom/V8LocationCustom.cpp:
601         (WebCore::V8Location::reloadAccessorGetter):
602         (WebCore::V8Location::replaceAccessorGetter):
603         (WebCore::V8Location::assignAccessorGetter):
604
605 2013-02-08  Kent Tamura  <tkent@chromium.org>
606
607         Adjust usage of ENABLE flags to enable whole content
608         https://bugs.webkit.org/show_bug.cgi?id=109270
609
610         Reviewed by Eric Seidel.
611
612         Our common usage of ENABLE flags to enable whole content of files is:
613
614         For .cpp files:
615           #include "config.h"
616           #if ENABLE(FOOBAR)
617           #include "FooBar.h"
618
619         For .h files:
620           #ifndef FooBar_h
621           #define FooBar_h
622           #if ENABLE(FOOBAR)
623
624         Fix files which have uncommon usage, and fix CodeGeneratorV8.pm so that
625         it generates the common pattern. Note that CodeGeneratorJS.pm already
626         generates code in this order.
627
628         * bindings/scripts/CodeGeneratorV8.pm:
629         (GenerateHeaderContentHeader):
630         (GenerateImplementationContentHeader):
631         * bindings/scripts/test/V8/V8TestCallback.cpp:
632         * bindings/scripts/test/V8/V8TestCallback.h:
633         * bindings/scripts/test/V8/V8TestInterface.cpp:
634         * bindings/scripts/test/V8/V8TestInterface.h:
635         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
636         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
637         * html/BaseMultipleFieldsDateAndTimeInputType.h:
638         * html/ColorInputType.cpp:
639         * html/ColorInputType.h:
640         * html/DateInputType.cpp:
641         * html/DateTimeInputType.cpp:
642         * html/DateTimeInputType.h:
643         * html/DateTimeLocalInputType.cpp:
644         * html/HTMLAudioElement.cpp:
645         * html/HTMLAudioElement.h:
646         * html/HTMLDataListElement.cpp:
647         * html/HTMLDialogElement.cpp:
648         * html/HTMLDialogElement.h:
649         * html/HTMLMediaElement.cpp:
650         * html/HTMLMediaElement.h:
651         * html/HTMLMeterElement.cpp:
652         * html/HTMLProgressElement.cpp:
653         * html/HTMLSourceElement.cpp:
654         * html/HTMLSourceElement.h:
655         * html/HTMLTrackElement.cpp:
656         * html/HTMLTrackElement.h:
657         * html/HTMLVideoElement.cpp:
658         * html/HTMLVideoElement.h:
659         * html/MonthInputType.cpp:
660         * html/TimeInputType.cpp:
661         * html/WeekInputType.cpp:
662         * html/shadow/DateTimeFieldElement.h:
663         * html/shadow/DetailsMarkerControl.cpp:
664         * html/shadow/MeterShadowElement.cpp:
665         * html/shadow/ProgressShadowElement.cpp:
666         * rendering/RenderDetailsMarker.cpp:
667         * rendering/RenderInputSpeech.cpp:
668         * rendering/RenderMeter.cpp:
669         * rendering/RenderProgress.cpp:
670
671 2013-02-08  Mike West  <mkwst@chromium.org>
672
673         Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
674         https://bugs.webkit.org/show_bug.cgi?id=109044
675
676         Reviewed by Darin Adler.
677
678         The pattern:
679
680             ExceptionCode ec = 0;
681             methodThatGeneratesException(ec);
682             ASSERT(!ec);
683
684         is more clearly and succinctly written as:
685
686             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
687
688         This patch replaces the occurances of the former that never touch 'ec'
689         again with the latter. It does the same for 'ASSERT(ec == 0);' (and, as
690         a drive-by, replaces 'ASSERT(ec == 0)' with 'ASSERT(!ec)' in places
691         where it does indeed matter that 'ec' get set properly.
692
693         No change in behavior should result from this refactoring.
694
695         * dom/ContainerNode.cpp:
696         (WebCore::ContainerNode::takeAllChildrenFrom):
697         * dom/Document.cpp:
698         (WebCore::Document::setTitle):
699         * dom/MessagePort.cpp:
700         (WebCore::MessagePort::dispatchMessages):
701         (WebCore::MessagePort::disentanglePorts):
702         * editing/DeleteButtonController.cpp:
703         (WebCore::enclosingDeletableElement):
704         (WebCore::DeleteButtonController::createDeletionUI):
705             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
706         (WebCore::DeleteButtonController::show):
707             Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
708         * editing/EditorCommand.cpp:
709         (WebCore::unionDOMRanges):
710         * editing/ReplaceNodeWithSpanCommand.cpp:
711         (WebCore::swapInNodePreservingAttributesAndChildren):
712         * editing/ReplaceSelectionCommand.cpp:
713         (WebCore::ReplacementFragment::ReplacementFragment):
714         (WebCore::ReplacementFragment::removeNode):
715         (WebCore::ReplacementFragment::insertNodeBefore):
716         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
717         (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
718         (WebCore::ReplaceSelectionCommand::insertAsListItems):
719         * editing/SplitTextNodeCommand.cpp:
720         (WebCore::SplitTextNodeCommand::doUnapply):
721         * editing/TextIterator.cpp:
722         (WebCore::CharacterIterator::range):
723         (WebCore::BackwardsCharacterIterator::range):
724         (WebCore::TextIterator::rangeFromLocationAndLength):
725         (WebCore::collapsedToBoundary):
726         * editing/htmlediting.cpp:
727         (WebCore::createTabSpanElement):
728         * editing/mac/EditorMac.mm:
729         (WebCore::Editor::fontForSelection):
730         (WebCore::Editor::fontAttributesForSelectionStart):
731         * editing/markup.cpp:
732         (WebCore::createMarkup):
733         (WebCore::trimFragment):
734         (WebCore::createFragmentFromMarkupWithContext):
735         (WebCore::fillContainerFromString):
736         (WebCore::createFragmentFromText):
737         (WebCore::createFragmentFromNodes):
738         * html/ColorInputType.cpp:
739         (WebCore::ColorInputType::createShadowSubtree):
740             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
741         * html/HTMLOptionsCollection.cpp:
742         (WebCore::HTMLOptionsCollection::add):
743             Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
744         * html/HTMLTextAreaElement.cpp:
745         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
746         * html/HTMLTextFormControlElement.cpp:
747         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
748         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
749         * html/TextFieldInputType.cpp:
750         (WebCore::TextFieldInputType::updatePlaceholderText):
751         * html/ValidationMessage.cpp:
752         (WebCore::ValidationMessage::buildBubbleTree):
753         * html/shadow/MediaControlElementTypes.cpp:
754         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
755         * inspector/InspectorPageAgent.cpp:
756         (WebCore::InspectorPageAgent::getCookies):
757         * inspector/InspectorStyleSheet.cpp:
758         (WebCore::InspectorStyleSheet::addRule):
759         * loader/appcache/ApplicationCacheHost.cpp:
760         (WebCore::ApplicationCacheHost::dispatchDOMEvent):
761         * page/DOMSelection.cpp:
762         (WebCore::DOMSelection::deleteFromDocument):
763         * page/DragController.cpp:
764         (WebCore::prepareClipboardForImageDrag):
765         * rendering/RenderTextControl.cpp:
766         (WebCore::RenderTextControl::visiblePositionForIndex):
767             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
768
769 2013-02-08  Alexei Filippov  <alph@chromium.org>
770
771         Web Inspector: disable profile type switching while profile in progress
772         https://bugs.webkit.org/show_bug.cgi?id=109178
773
774         Reviewed by Yury Semikhatsky.
775
776         Disables profile type selection controls when a profiling session
777         is in progress.
778
779         * inspector/front-end/HeapSnapshotView.js:
780         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
781         * inspector/front-end/ProfileLauncherView.js:
782         (WebInspector.ProfileLauncherView.prototype._updateControls):
783         * inspector/front-end/ProfilesPanel.js:
784         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
785
786 2013-02-08  Ilya Tikhonovsky  <loislo@chromium.org>
787
788         Web Inspector: Native Memory Instrumentation: adjust chunk transfer size for better speed.
789         https://bugs.webkit.org/show_bug.cgi?id=109263
790
791         Reviewed by Yury Semikhatsky.
792
793         The chunk size is changed from 100 to 10000.
794         addString counts only first 256 symbols of the string.o
795
796         * inspector/HeapGraphSerializer.cpp:
797         (WebCore::HeapGraphSerializer::pushUpdateIfNeeded):
798         (WebCore::HeapGraphSerializer::addString):
799         * inspector/front-end/NativeMemorySnapshotView.js:
800
801 2013-02-08  Kentaro Hara  <haraken@chromium.org>
802
803         Support a relatedTarget attribute on focus/blur events
804         https://bugs.webkit.org/show_bug.cgi?id=109176
805
806         Reviewed by Ojan Vafai.
807
808         In bug 76216, we supported a relatedTarget attribute on
809         focusin/focusout events. We should also support it on focus/blur events.
810
811         See http://lists.w3.org/Archives/Public/www-dom/2012OctDec/0061.html
812         for the www-dom discussion.
813
814         Test: fast/dom/shadow/shadow-boundary-events.html
815               fast/events/related-target-focusevent.html
816
817         * dom/EventDispatchMediator.cpp:
818         (WebCore::FocusEventDispatchMediator::create):
819         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
820         (WebCore::BlurEventDispatchMediator::create):
821         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
822         * dom/EventDispatchMediator.h:
823         (FocusEventDispatchMediator):
824         (BlurEventDispatchMediator):
825         * dom/Node.cpp:
826         (WebCore::Node::dispatchFocusInEvent):
827         (WebCore::Node::dispatchFocusOutEvent):
828         (WebCore::Node::dispatchFocusEvent):
829         (WebCore::Node::dispatchBlurEvent):
830
831 2013-02-07  Yury Semikhatsky  <yurys@chromium.org>
832
833         Web Inspector: reduce number of native memory instrumentation categories
834         https://bugs.webkit.org/show_bug.cgi?id=109146
835
836         Reviewed by Pavel Feldman.
837
838         Merged some of memory instrumentation categories.
839
840         * dom/WebCoreMemoryInstrumentation.cpp:
841         (WebCore):
842         * inspector/front-end/NativeMemorySnapshotView.js:
843         (WebInspector.MemoryBlockViewProperties._initialize):
844         * platform/PlatformMemoryInstrumentation.cpp:
845         (WebCore):
846
847 2013-02-07  Mike West  <mkwst@chromium.org>
848
849         <iframe seamless> should avoid vertical scrollbars during the initial layout passes.
850         https://bugs.webkit.org/show_bug.cgi?id=87707
851
852         Reviewed by Eric Seidel.
853
854         Seamless documents currently render incorrectly when their content fills
855         the width of the container into which they're placed. Because FrameView
856         assumes that the container's size is properly set before the first pass
857         of layout, vertical scrollbars are incorrectly forced onto seamless
858         content, because seamless sets the container's height to 0 before
859         handing it off to FrameView for layout. The scrollbars make the
860         available width for the seamless document ~15px smaller than it should
861         be, resulting in content getting bumped to the next line.
862
863         This patch special-cases FrameView::calculateScrollbarModesForLayout in
864         order to force scrollbars off for seamless documents with a full visible
865         height of 0px. Once the layout pass has grabbed the content height and
866         applied it to the visible height, scrollbars will again be applicable.
867
868         The change should be covered by rebaselines for the newly-passing
869         results in fast/frame/seamless-{float,inline}.html
870
871         * page/FrameView.cpp:
872         (WebCore::FrameView::calculateScrollbarModesForLayout):
873             If we're rendering a seamless document, and the full visible height
874             is 0, and the vertical scrollbar would otherwise be ScrollbarAuto,
875             then force ScrollbarAlwaysOff.
876
877 2013-02-07  Kent Tamura  <tkent@chromium.org>
878
879         document.activeElement should not return a non-focusable element
880         https://bugs.webkit.org/show_bug.cgi?id=86707
881
882         Reviewed by Hajime Morita.
883
884         This is based on a patch by Arpita Bahuguna.
885
886         Test: fast/dom/HTMLDocument/set-focus-on-valid-element.html
887
888         * dom/Document.cpp:
889         (WebCore::Document::setFocusedNode):
890         Added check for verifying that the node to be focused is
891         focusable. However, this check should be skipped for HTMLPlugInElement
892         because it has special behavior.
893
894 2013-02-07  Vladislav Kaznacheev  <kaznacheev@chromium.org>
895
896         Web Inspector: Fix front-end compilation warnings related to WebInspector.SidebarPane
897         https://bugs.webkit.org/show_bug.cgi?id=109259
898
899         Reviewed by Vsevolod Vlasov.
900
901         * inspector/front-end/DOMBreakpointsSidebarPane.js:
902         (WebInspector.DOMBreakpointsSidebarPane.Proxy):
903         * inspector/front-end/SidebarPane.js:
904
905 2013-02-07  Kentaro Hara  <haraken@chromium.org>
906
907         [V8] enum V8HiddenPropertyCreationType is not used
908         https://bugs.webkit.org/show_bug.cgi?id=109250
909
910         Reviewed by Adam Barth.
911
912         V8HiddenPropertyCreationType is always NewSymbol. We can remove the enum.
913
914         No tests. No change in behavior.
915
916         * bindings/v8/V8HiddenPropertyName.cpp:
917         (WebCore::hiddenReferenceName):
918         * bindings/v8/V8HiddenPropertyName.h:
919         (WebCore):
920
921 2013-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
922
923         Unreviewed, rolling out r142212.
924         http://trac.webkit.org/changeset/142212
925         https://bugs.webkit.org/show_bug.cgi?id=109255
926
927         Causes ASSERT(!m_installed) on launch (Requested by smfr on
928         #webkit).
929
930         * WebCore.exp.in:
931         * platform/MemoryPressureHandler.cpp:
932         (WebCore):
933         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
934         * platform/MemoryPressureHandler.h:
935         (MemoryPressureHandler):
936         * platform/mac/MemoryPressureHandlerMac.mm:
937         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
938
939 2013-02-07  Hanyee Kim  <choco@company100.net>
940
941         NamedFlowCollection should be a ContextDestructionObserver
942         https://bugs.webkit.org/show_bug.cgi?id=99239
943
944         Reviewed by Adam Barth
945
946         This patch removes the raw pointer of Document in NamedFlowCollection.
947         It could be replaced with ContextDestructionObserver.
948         ContextDestructionObserver has the pointer and clears the pointer
949         automatically when the document is destroyed. 
950
951         * dom/Document.cpp:
952         (WebCore::Document::~Document):
953         * dom/NamedFlowCollection.cpp:
954         (WebCore::NamedFlowCollection::NamedFlowCollection):
955         (WebCore::NamedFlowCollection::ensureFlowWithName):
956         (WebCore::NamedFlowCollection::discardNamedFlow):
957         (WebCore::NamedFlowCollection::document):
958         (WebCore):
959         * dom/NamedFlowCollection.h:
960         (NamedFlowCollection):
961
962 2013-02-07  Dean Jackson  <dino@apple.com>
963
964         Followup review suggestions from Alexey Proskuryakov on
965         https://bugs.webkit.org/show_bug.cgi?id=109215
966
967         Don't provide a charset on embedded SVG, especially
968         with incorrect syntax :)
969
970         * css/mediaControlsQuickTime.css:
971         (video::-webkit-media-controls-toggle-closed-captions-button):
972         (video::-webkit-media-controls-closed-captions-track-list li.selected):
973         (video::-webkit-media-controls-closed-captions-track-list li.selected:hover):
974
975 2013-02-07  Seulgi Kim  <seulgikim@company100.net>
976
977         [Gtk] RunLoop::run shuold run current thread's run loop.
978         https://bugs.webkit.org/show_bug.cgi?id=107887
979
980         Reviewed by Martin Robinson.
981
982         Currently, RunLoop in Gtk can use just main thread's event loop.
983         But the other ports are implemented to use RunLoop in sub threads.
984
985         This patch makes RunLoop constructor create new context, not use default
986         context.
987         But in the main thread still uses default context to use main event loop
988         since there is some codes using glib directly (e.g. in
989         LayerTreeHostGtk::scheduleLayerFlush).
990
991         No new tests. There is no case that uses RunLoop in off the main thread
992         yet.
993
994         * platform/gtk/RunLoopGtk.cpp:
995         (WebCore::RunLoop::RunLoop):
996         (WebCore::RunLoop::run):
997
998 2013-02-07  Kentaro Hara  <haraken@chromium.org>
999
1000         [V8] Move V8DOMWrapper::setNamedHiddenReference() to V8HiddenPropertyName.h
1001         https://bugs.webkit.org/show_bug.cgi?id=109186
1002
1003         Reviewed by Adam Barth.
1004
1005         V8HiddenPropertyName.h is a right place for setNamedHiddenReference().
1006
1007         No tests. No change in behavior.
1008
1009         * bindings/scripts/CodeGeneratorV8.pm:
1010         (GenerateNormalAttrGetter):
1011         * bindings/scripts/test/V8/V8TestObj.cpp:
1012         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
1013         * bindings/v8/V8DOMWrapper.cpp:
1014         * bindings/v8/V8DOMWrapper.h:
1015         (V8DOMWrapper):
1016         * bindings/v8/V8HiddenPropertyName.cpp:
1017         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
1018         (WebCore::V8HiddenPropertyName::setNamedHiddenReference):
1019         (WebCore):
1020         * bindings/v8/V8HiddenPropertyName.h:
1021         (V8HiddenPropertyName):
1022         (WebCore::V8HiddenPropertyName::V8HiddenPropertyName):
1023         * bindings/v8/custom/V8MessageChannelCustom.cpp:
1024         (WebCore::V8MessageChannel::constructorCallbackCustom):
1025         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1026         (WebCore::toV8Object):
1027
1028 2013-02-07  Elliott Sprehn  <esprehn@chromium.org>
1029
1030         getComputedStyle() doesn't report intermediate values during a transition of a pseudo element
1031         https://bugs.webkit.org/show_bug.cgi?id=106535
1032
1033         Reviewed by Ojan Vafai.
1034
1035         Element::computedStyle and CSSComputedStyleDeclaration::getPropertyCSSValue
1036         should use the PseudoElement and it's renderer if they exist so that
1037         querying the computed style while an animation is running returns
1038         the intermediate values.
1039
1040         No new tests, updated existing tests.
1041
1042         * css/CSSComputedStyleDeclaration.cpp:
1043         (WebCore::CSSComputedStyleDeclaration::styledNode): Added, returns either the PseudoElement or the Node.
1044         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to use styledNode.
1045         * css/CSSComputedStyleDeclaration.h:
1046         (CSSComputedStyleDeclaration):
1047         * dom/Element.cpp:
1048         (WebCore::Element::computedStyle): Check the PseudoElement, not just the cached pseudo style.
1049         * dom/ElementRareData.h:
1050         (WebCore::ElementRareData::pseudoElement): Remove ASSERT_NOT_REACHED so passing other pseudos returns 0.
1051
1052 2013-02-07  Mark Lam  <mark.lam@apple.com>
1053
1054         Add a comment about how the SQLTransaction state machine works.
1055         https://bugs.webkit.org/show_bug.cgi?id=109243.
1056
1057         Rubber stamped by Anders Carlsson.
1058
1059         No new tests.
1060
1061         * Modules/webdatabase/SQLTransactionBackend.cpp:
1062
1063 2013-02-06  Gavin Barraclough  <barraclough@apple.com>
1064
1065         PluginProcess should quit immediately if idle in response to low-memory notifications
1066         https://bugs.webkit.org/show_bug.cgi?id=109103
1067         <rdar://problem/12679827>
1068
1069         Reviewed by Darin Adler.
1070
1071         This patch allows a process to set a custom callback for low memory warnings
1072         (defaulting to the current behaviour, as implemented in releaseMemory).
1073
1074         MemoryPressureHandler::install is currently used for two purposes - it is
1075         called when first initializing a low memory handler for a process, and also
1076         used to reinstall the handler (on a delay) after the notification has occured.
1077         Since reinstallation doesn't change the callback, split these behaviours out -
1078         MemoryPressureHandler::initialize is added to initialization, and accepts a
1079         custom callback, install in made private.
1080
1081         * WebCore.exp.in:
1082             - Added export for releaseMemory.
1083         * platform/MemoryPressureHandler.cpp:
1084         (WebCore::MemoryPressureHandler::releaseMemory):
1085             - Added null implementation for non-Mac builds.
1086         * platform/MemoryPressureHandler.h:
1087         (WebCore::MemoryPressureHandler::initialize):
1088             - distinguish initialization from reinstallations, allow handler to be set.
1089         (MemoryPressureHandler):
1090             - Added m_lowMemoryHandler function pointer member variable.
1091         * platform/mac/MemoryPressureHandlerMac.mm:
1092         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
1093             - Call m_lowMemoryHandler instead of releaseMemory.
1094
1095 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1096
1097         [V8] #ifndef NDEBUG is redundant for assertContextHasCorrectPrototype()
1098         https://bugs.webkit.org/show_bug.cgi?id=109167
1099
1100         Reviewed by Andreas Kling.
1101
1102         Given that assertContextHasCorrectPrototype() is anyway empty in a release
1103         build, we don't need to surround it with #ifndef NDEBUG.
1104
1105         No tests. No change in behavior.
1106
1107         * bindings/v8/DOMWrapperWorld.cpp:
1108         (WebCore::DOMWrapperWorld::assertContextHasCorrectPrototype):
1109         * bindings/v8/DOMWrapperWorld.h:
1110         (DOMWrapperWorld):
1111         (WebCore::DOMWrapperWorld::isolated):
1112
1113 2013-02-07  Alexei Svitkine  <asvitkine@chromium.org>
1114
1115         Chromium: Hang parsing bidi control chars on Mac OS X 10.6
1116         https://bugs.webkit.org/show_bug.cgi?id=108877
1117
1118         This was broken a while ago by:
1119             https://bugs.webkit.org/show_bug.cgi?id=83045
1120
1121         On 10.6, CoreText will not produce any runs covering the
1122         Unicode BiDi RTL mark control char, which causes an infinite
1123         loop in ComplexTextController::indexOfCurrentRun() due to no
1124         run covering the character at offset 0.
1125
1126         This patch fixes that issue by finding the earliest run
1127         explicitly via the minimum stringBegin() index instead of
1128         relying on a run existing that covers offset 0.
1129
1130         Fixes hang on many BiDi wikipedia pages on Chromium/Mac10.6.
1131         Chromium bug: http://crbug.com/167844
1132
1133         New test in the same style as the harfbuzz-buffer-overrun.html
1134         test (in the same folder).
1135
1136         Reviewed by Eric Seidel.
1137
1138         Test: fast/text/international/rtl-mark.html
1139
1140         * platform/graphics/mac/ComplexTextController.cpp:
1141         (WebCore::ComplexTextController::indexOfCurrentRun):
1142
1143 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1144
1145         Implement FocusEvent constructor
1146         https://bugs.webkit.org/show_bug.cgi?id=109170
1147
1148         Reviewed by Adam Barth.
1149
1150         Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
1151
1152         FocusEvent constructor should be implemented under a DOM4_EVENTS_CONSTRUCTOR
1153         flag, which is enabled on Chromium and Safari.
1154
1155         Test: fast/events/constructors/focus-event-constructor.html
1156
1157         * dom/FocusEvent.cpp:
1158         (WebCore::FocusEventInit::FocusEventInit):
1159         (WebCore):
1160         (WebCore::FocusEvent::FocusEvent):
1161         * dom/FocusEvent.h:
1162         (FocusEventInit):
1163         (WebCore):
1164         (WebCore::FocusEvent::create):
1165         (FocusEvent):
1166         * dom/FocusEvent.idl:
1167         * page/DOMWindow.idl:
1168
1169 2013-02-07  Elliott Sprehn  <esprehn@chromium.org>
1170
1171         HTML parser should queue MutationRecords for its operations
1172         https://bugs.webkit.org/show_bug.cgi?id=89351
1173
1174         Reviewed by Eric Seidel.
1175
1176         Generate mutation records inside the parser. This is done by using a
1177         ChildListMutationScope in the ContainerNode::parser* methods and then
1178         adding delivery before each <script> element would be processed by
1179         the parser.
1180
1181         Test: fast/dom/MutationObserver/parser-mutations.html
1182
1183         * dom/ContainerNode.cpp:
1184         (WebCore::ContainerNode::takeAllChildrenFrom):
1185         (WebCore::ContainerNode::parserInsertBefore):
1186         (WebCore::ContainerNode::parserRemoveChild):
1187         (WebCore::ContainerNode::parserAppendChild):
1188         * html/parser/HTMLScriptRunner.cpp:
1189         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
1190         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
1191         (WebCore::HTMLScriptRunner::execute):
1192         (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
1193         (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
1194         (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
1195         (WebCore::HTMLScriptRunner::runScript):
1196
1197 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1198
1199         Fix FIXMEs in WindowFeatures.h
1200         https://bugs.webkit.org/show_bug.cgi?id=109151
1201
1202         Reviewed by Adam Barth.
1203
1204         1. // FIXME: We can delete this constructor once V8 showModalDialog is
1205            // changed to use DOMWindow.
1206
1207         This FIXME is not right. The WindowFeatures() constructor is used by
1208         other ports too (e.g. WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp).
1209         So we should remove the FIXME.
1210
1211         2. // FIXME: We can make these functions private non-member functions
1212            // once V8 showModalDialog is changed to use DOMWindow.
1213
1214         Given that V8 now uses DOMWindow in showModalDialog(), we can make the
1215         methods private.
1216
1217         No tests. No change in behavior.
1218
1219         * page/WindowFeatures.h:
1220         (WebCore):
1221         (WebCore::WindowFeatures::WindowFeatures):
1222         (WindowFeatures):
1223
1224 2013-02-07  Adam Barth  <abarth@webkit.org>
1225
1226         fast/parser/document-write-noscript.html fails for threaded HTML parser
1227         https://bugs.webkit.org/show_bug.cgi?id=109237
1228
1229         Reviewed by Eric Seidel.
1230
1231         If there are multiple calls to document.write in an external script, we
1232         need to wait for them all to complete before invalidating the
1233         speculative tokens. Instead of doing this when we unwind the
1234         document.write call stack, we do this when we're about to resume
1235         parsing after script execution.
1236
1237         Test: fast/parser/document-write-basic.html
1238
1239         * html/parser/HTMLDocumentParser.cpp:
1240         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1241         (WebCore::HTMLDocumentParser::insert):
1242         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
1243
1244 2013-02-07  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
1245
1246         Fix build when compiling with css3-text and css3-conditional-rules feature flags enabled.
1247         https://bugs.webkit.org/show_bug.cgi?id=109217
1248
1249         Reviewed by Benjamin Poulain.
1250
1251         * css/InspectorCSSOMWrappers.cpp:
1252         (WebCore::InspectorCSSOMWrappers::collect):
1253
1254 2013-02-07  Keishi Hattori  <keishi@webkit.org>
1255
1256         REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
1257         https://bugs.webkit.org/show_bug.cgi?id=109136
1258
1259         Reviewed by Kent Tamura.
1260
1261         Calendar picker was using the "Clear" button to calculate the window width.
1262         Since it doesn't exist when the input element has a required attribute,
1263         it was throwing an error. This patch fixes the width calculating logic.
1264
1265         Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
1266                platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
1267
1268         * Resources/pagepopups/calendarPicker.css:
1269         (.today-clear-area):
1270         * Resources/pagepopups/calendarPicker.js:
1271         (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
1272         the width. We don't want to use clear button because it doesn't exist
1273         when a value is required.
1274
1275 2013-02-07  Terry Anderson  <tdanderson@chromium.org>
1276
1277         Non-scrollable divs and non-scrollable iframes can scroll with touch
1278         https://bugs.webkit.org/show_bug.cgi?id=109087
1279
1280         Reviewed by Eric Seidel.
1281
1282         Tests: fast/events/touch/gesture/touch-gesture-noscroll-div.html
1283                fast/events/touch/gesture/touch-gesture-noscroll-iframe.html
1284
1285         When finding a candidate for a scrollable node in
1286         EventHandler::handleGestureScrollUpdate(), select the document node
1287         if it is reached before any scrollable element when walking up the DOM
1288         tree. Also ensure that calling RenderLayer::scrollBy() for a document
1289         node does not result in scrolling if the element is not scrollable.
1290
1291         * page/EventHandler.cpp:
1292         (WebCore::closestScrollableNodeCandidate):
1293         (WebCore::EventHandler::handleGestureScrollUpdate):
1294         * rendering/RenderLayer.cpp:
1295         (WebCore::RenderLayer::scrollBy):
1296
1297 2013-02-07  Mark Lam  <mark.lam@apple.com>
1298
1299         Introduce SQLTransactionBackend and SQLTransactionBackendSync [Part 2].
1300         https://bugs.webkit.org/show_bug.cgi?id=109109.
1301
1302         Reviewed by Anders Carlsson.
1303
1304         Adding back the new SQLTransaction and SQLTransactionSync files.
1305
1306         No new tests.
1307
1308         * Modules/webdatabase/SQLTransaction.cpp: Added.
1309         (WebCore::SQLTransaction::create):
1310         (WebCore::SQLTransaction::SQLTransaction):
1311         (WebCore::SQLTransaction::from):
1312         * Modules/webdatabase/SQLTransaction.h: Added.
1313         (SQLTransaction):
1314         * Modules/webdatabase/SQLTransactionSync.cpp: Added.
1315         (WebCore::SQLTransactionSync::create):
1316         (WebCore::SQLTransactionSync::SQLTransactionSync):
1317         (WebCore::SQLTransactionSync::from):
1318         * Modules/webdatabase/SQLTransactionSync.h: Added.
1319         (SQLTransactionSync):
1320
1321 2013-02-07  Mark Lam  <mark.lam@apple.com>
1322
1323         Introduce SQLTransactionBackend and SQLTransactionBackendSync.
1324         https://bugs.webkit.org/show_bug.cgi?id=109109.
1325
1326         Reviewed by Anders Carlsson.
1327
1328         - Renamed SQLTransaction and SQLTransactionSync to SQLTransactionBackend
1329           and SQLTransactionBackendSync respectively.
1330         - Added back SQLTransaction and SQLTransactionSync as new files, and have
1331           their classes extends their respective backends. This is a stop gap
1332           measure to keep things working until the front-end and back-end can be
1333           properly split.
1334           Note: these files will be committed in a subsequent commit to ensure
1335           that the patching goes smoothly.
1336         - Where needed, I made use of new SQLTransaction::from() and
1337           SQLTransactionSync::from() static methods that "get" the front-end
1338           transactions from the back-ends. This is also a stop gap measure to
1339           keep things working until the proper refactoring is complete.
1340         - Fixed up pre-existing style checker violations that are now detected
1341           on code that were touched during my renaming.
1342         - Added the back-end files to all the build files.
1343
1344         No new tests.
1345
1346         * CMakeLists.txt:
1347         * GNUmakefile.list.am:
1348         * Modules/webdatabase/Database.cpp:
1349         (WebCore::Database::scheduleTransactionStep):
1350         * Modules/webdatabase/Database.h:
1351         (Database):
1352         * Modules/webdatabase/DatabaseBackend.h:
1353         (DatabaseBackend):
1354         * Modules/webdatabase/DatabaseTask.cpp:
1355         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::DatabaseTransactionTask):
1356         * Modules/webdatabase/DatabaseTask.h:
1357         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::create):
1358         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::transaction):
1359         (DatabaseBackendAsync::DatabaseTransactionTask):
1360         * Modules/webdatabase/SQLTransaction.cpp: Removed.
1361         * Modules/webdatabase/SQLTransaction.h: Removed.
1362         * Modules/webdatabase/SQLTransactionBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.cpp.
1363         (WebCore::SQLTransactionBackend::SQLTransactionBackend):
1364         (WebCore::SQLTransactionBackend::~SQLTransactionBackend):
1365         (WebCore::SQLTransactionBackend::executeSQL):
1366         (WebCore::SQLTransactionBackend::enqueueStatement):
1367         (WebCore::SQLTransactionBackend::debugStepName):
1368         (WebCore::SQLTransactionBackend::checkAndHandleClosedOrInterruptedDatabase):
1369         (WebCore::SQLTransactionBackend::performNextStep):
1370         (WebCore::SQLTransactionBackend::performPendingCallback):
1371         (WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
1372         (WebCore::SQLTransactionBackend::acquireLock):
1373         (WebCore::SQLTransactionBackend::lockAcquired):
1374         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
1375         (WebCore::SQLTransactionBackend::deliverTransactionCallback):
1376         (WebCore::SQLTransactionBackend::scheduleToRunStatements):
1377         (WebCore::SQLTransactionBackend::runStatements):
1378         (WebCore::SQLTransactionBackend::getNextStatement):
1379         (WebCore::SQLTransactionBackend::runCurrentStatement):
1380         (WebCore::SQLTransactionBackend::handleCurrentStatementError):
1381         (WebCore::SQLTransactionBackend::deliverStatementCallback):
1382         (WebCore::SQLTransactionBackend::deliverQuotaIncreaseCallback):
1383         (WebCore::SQLTransactionBackend::postflightAndCommit):
1384         (WebCore::SQLTransactionBackend::deliverSuccessCallback):
1385         (WebCore::SQLTransactionBackend::cleanupAfterSuccessCallback):
1386         (WebCore::SQLTransactionBackend::handleTransactionError):
1387         (WebCore::SQLTransactionBackend::deliverTransactionErrorCallback):
1388         (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
1389         * Modules/webdatabase/SQLTransactionBackend.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.h.
1390         (SQLTransactionBackend):
1391         * Modules/webdatabase/SQLTransactionBackendSync.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp.
1392         (WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
1393         (WebCore::SQLTransactionBackendSync::~SQLTransactionBackendSync):
1394         (WebCore::SQLTransactionBackendSync::executeSQL):
1395         (WebCore::SQLTransactionBackendSync::begin):
1396         (WebCore::SQLTransactionBackendSync::execute):
1397         (WebCore::SQLTransactionBackendSync::commit):
1398         (WebCore::SQLTransactionBackendSync::rollback):
1399         * Modules/webdatabase/SQLTransactionBackendSync.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.h.
1400         (SQLTransactionBackendSync):
1401         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
1402         (WebCore::getDatabaseIdentifier):
1403         (WebCore::SQLTransactionCoordinator::processPendingTransactions):
1404         (WebCore::SQLTransactionCoordinator::acquireLock):
1405         (WebCore::SQLTransactionCoordinator::releaseLock):
1406         (WebCore::SQLTransactionCoordinator::shutdown):
1407         * Modules/webdatabase/SQLTransactionCoordinator.h:
1408         (SQLTransactionCoordinator):
1409         (WebCore::SQLTransactionCoordinator::SQLTransactionCoordinator):
1410         (CoordinationInfo):
1411         * Modules/webdatabase/SQLTransactionSync.cpp: Removed.
1412         * Modules/webdatabase/SQLTransactionSync.h: Removed.
1413         * Target.pri:
1414         * WebCore.gypi:
1415         * WebCore.vcproj/WebCore.vcproj:
1416         * WebCore.vcxproj/WebCore.vcxproj:
1417         * WebCore.vcxproj/WebCore.vcxproj.filters:
1418         * WebCore.xcodeproj/project.pbxproj:
1419
1420 2013-02-07  Dean Jackson  <dino@apple.com>
1421
1422         Use new speech bubble artwork for captions menu button
1423         https://bugs.webkit.org/show_bug.cgi?id=109215
1424
1425         Reviewed by Eric Carlson.
1426
1427         Rather than call into RenderTheme to display this button, embed artwork
1428         into the CSS. This means we can remove some uncalled methods in
1429         RenderTheme.
1430
1431         * css/mediaControlsQuickTime.css:
1432         (video::-webkit-media-controls-toggle-closed-captions-button): New background image using SVG.
1433         * rendering/RenderTheme.cpp:
1434         (WebCore::RenderTheme::paint): Don't call the specific painter for the CC button.
1435         * rendering/RenderTheme.h: Remove unused function.
1436         * rendering/RenderThemeMac.h: Ditto.
1437         * rendering/RenderThemeMac.mm: Ditto.
1438
1439 2013-02-07  Michelangelo De Simone  <michelangelo@webkit.org>
1440
1441         [CSS Shaders] Add the last blending step
1442         https://bugs.webkit.org/show_bug.cgi?id=104012
1443
1444         The resulting blended color in mix() is now weighted according to
1445         the original element's backdrop alpha value.
1446
1447         Reviewed by Dean Jackson.
1448
1449         Test: css3/filters/custom/custom-filter-blend-fractional-destination-alpha.html
1450
1451         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
1452         (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
1453
1454 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
1455
1456         Fix two exports of WebCore symbols on iOS
1457         https://bugs.webkit.org/show_bug.cgi?id=109238
1458
1459         Reviewed by David Kilzer.
1460
1461         * WebCore.exp.in: Export wkCTFontTransformGlyphs but not
1462         wkCGContextDrawsWithCorrectShadowOffsets on iOS.
1463
1464 2013-02-07  Hans Muller  <hmuller@adobe.com>
1465
1466         [CSS Exclusions] Ignore ExclusionPolygon edges above minLogicalIntervalTop
1467         https://bugs.webkit.org/show_bug.cgi?id=107566
1468
1469         Reviewed by David Hyatt.
1470
1471         Improve ExclusionPolygon::firstIncludedIntervalLogicalTop() performance by only
1472         creating offset edges for polygon edges that are below the horizontal minLogicalIntervalTop
1473         line. In other words, don't bother creating offset edges that can't define the polygon's
1474         first fit location.
1475
1476         Test: fast/exclusions/shape-inside/shape-inside-first-fit-004.html
1477
1478         * rendering/ExclusionPolygon.cpp:
1479         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Don't create offset edges for polygon edges above minLogicalIntervalTop.
1480
1481 2013-02-07  Jer Noble  <jer.noble@apple.com>
1482
1483         Improve logging of MediaPlayerPrivateAVFoundation Notifications.
1484         https://bugs.webkit.org/show_bug.cgi?id=109223
1485
1486         Reviewed by Eric Carlson.
1487
1488         Convert the existing Notification enum to an expandable macro. Then add a
1489         Logging-only function which stringifies the enums.
1490
1491         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1492         (WebCore):
1493         (WebCore::notificationName):
1494         (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
1495         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
1496         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1497
1498 2013-02-07  Martin Robinson  <mrobinson@igalia.com>
1499
1500         [GTK] Cleanup command-line defines
1501         https://bugs.webkit.org/show_bug.cgi?id=109213
1502
1503         Reviewed by Xan Lopez.
1504
1505         * GNUmakefile.am: Remove references to flags that are now handled
1506         via autotoolsconfig.h.
1507
1508 2013-02-07  Tom Sepez  <tsepez@chromium.org>
1509
1510         [V8] Binding Integrity crash in V8MediaStream::createWrapper
1511         https://bugs.webkit.org/show_bug.cgi?id=109211
1512
1513         Reviewed by Adam Barth.
1514
1515         Patch suppresses a chrome crasher.
1516
1517         * Modules/mediastream/MediaStream.idl:
1518
1519 2013-02-07  Eric Carlson  <eric.carlson@apple.com>
1520
1521         [Mac] decrease in-band caption advance notice interval
1522         https://bugs.webkit.org/show_bug.cgi?id=109190
1523
1524         Reviewed by Simon Fraser.
1525
1526         No new tests, no observable change in behavior.
1527
1528         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1529         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Request cues 2 seconds in advance.
1530
1531 2013-02-07  ChangSeok Oh  <shivamidow@gmail.com>
1532
1533         [GTK][AC] Clutter required version up to 1.12
1534         https://bugs.webkit.org/show_bug.cgi?id=109037
1535
1536         Reviewed by Martin Robinson.
1537
1538         Replace deprecated clutter apis with new ones.
1539
1540         No new tests, since this patch is minor refactoring.
1541
1542         * platform/graphics/clutter/GraphicsLayerActor.cpp:
1543         (graphicsLayerActorSetAnchorPoint):
1544         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1545         (WebCore::idleDestroy):
1546         (WebCore::GraphicsLayerClutter::updateSublayerList):
1547
1548 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
1549
1550         Move pauseAnimation/pauseTransition from TestRunner to Internals
1551         https://bugs.webkit.org/show_bug.cgi?id=109107
1552
1553         Reviewed by Anders Carlsson.
1554
1555         Tests: animations/animation-internals-api-multiple-keyframes.html
1556                animations/animation-internals-api.html
1557
1558         * testing/Internals.cpp:
1559         (WebCore::Internals::pauseAnimationAtTimeOnElement):
1560         (WebCore):
1561         (WebCore::Internals::pauseTransitionAtTimeOnElement):
1562         * testing/Internals.h:
1563         (Internals):
1564         * testing/Internals.idl:
1565
1566 2013-02-07  Gavin Peters  <gavinp@chromium.org>
1567
1568         Unreviewed, rolling out r142155.
1569         http://trac.webkit.org/changeset/142155
1570         https://bugs.webkit.org/show_bug.cgi?id=82888
1571
1572         cr/win build broke.
1573
1574         * bindings/js/JSClipboardCustom.cpp:
1575         (WebCore::JSClipboard::types):
1576         * bindings/v8/custom/V8ClipboardCustom.cpp:
1577         (WebCore::V8Clipboard::typesAccessorGetter):
1578         * dom/Clipboard.h:
1579         (Clipboard):
1580         * platform/blackberry/ClipboardBlackBerry.cpp:
1581         (WebCore::ClipboardBlackBerry::types):
1582         * platform/blackberry/ClipboardBlackBerry.h:
1583         (ClipboardBlackBerry):
1584         * platform/chromium/ChromiumDataObject.cpp:
1585         (WebCore::ChromiumDataObject::types):
1586         * platform/chromium/ChromiumDataObject.h:
1587         (ChromiumDataObject):
1588         * platform/chromium/ClipboardChromium.cpp:
1589         (WebCore::ClipboardChromium::types):
1590         * platform/chromium/ClipboardChromium.h:
1591         (ClipboardChromium):
1592         * platform/efl/ClipboardEfl.cpp:
1593         (WebCore::ClipboardEfl::types):
1594         * platform/efl/ClipboardEfl.h:
1595         (ClipboardEfl):
1596         * platform/gtk/ClipboardGtk.cpp:
1597         (WebCore::ClipboardGtk::types):
1598         * platform/gtk/ClipboardGtk.h:
1599         (ClipboardGtk):
1600         * platform/mac/ClipboardMac.h:
1601         (ClipboardMac):
1602         * platform/mac/ClipboardMac.mm:
1603         (WebCore::addHTMLClipboardTypesForCocoaType):
1604         (WebCore::ClipboardMac::types):
1605         * platform/qt/ClipboardQt.cpp:
1606         (WebCore::ClipboardQt::types):
1607         * platform/qt/ClipboardQt.h:
1608         (ClipboardQt):
1609         * platform/win/ClipboardWin.cpp:
1610         (WebCore::addMimeTypesForFormat):
1611         (WebCore::ClipboardWin::types):
1612         * platform/win/ClipboardWin.h:
1613         (ClipboardWin):
1614
1615 2013-02-07  Rik Cabanier  <cabanier@adobe.com>
1616
1617         Add support for parsing of -webkit-background-blend-mode
1618         https://bugs.webkit.org/show_bug.cgi?id=108547
1619
1620         Reviewed by David Hyatt.
1621
1622         Added parsing and general CSS handling of -webkit-background-blend-mode per 
1623         https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#background-blend-mode
1624
1625         Tests: css3/compositing/background-blend-mode-property-parsing.html
1626                css3/compositing/background-blend-mode-property.html
1627
1628         * css/CSSComputedStyleDeclaration.cpp: Built value for getComputedStyle.
1629         (WebCore):
1630         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1631         * css/CSSParser.cpp: Parsed and stored value of -webkit-background-blend-mode.
1632         (WebCore::CSSParser::parseValue):
1633         (WebCore::CSSParser::parseFillProperty):
1634         * css/CSSProperty.cpp: Listed -webkit-background-blend-mode as a non-inherited property.
1635         (WebCore::CSSProperty::isInheritedProperty):
1636         * css/CSSPropertyNames.in: Added -webkit-background-blend-mode as a CSS property.
1637         * css/CSSToStyleMap.cpp: Mapped background blend mode from CSS value to enum.
1638         (WebCore::CSSToStyleMap::mapFillBlendMode):
1639         (WebCore):
1640         * css/CSSToStyleMap.h: Added function declaration 'mapFillBlendMode'.
1641         (CSSToStyleMap):
1642         * css/StyleBuilder.cpp: Set up propery handler for -webkit-background-blend-mode.
1643         (WebCore::StyleBuilder::StyleBuilder):
1644         * rendering/style/FillLayer.cpp: Added code to store and retrieve the blend mode from a layer.
1645         (WebCore::FillLayer::FillLayer):
1646         (WebCore::FillLayer::operator=):
1647         (WebCore::FillLayer::operator==):
1648         (WebCore::FillLayer::fillUnsetProperties):
1649         * rendering/style/FillLayer.h: Added function definitions to manage blend mode in a layer.
1650         (WebCore::FillLayer::blendMode):
1651         (WebCore::FillLayer::isBlendModeSet):
1652         (WebCore::FillLayer::setBlendMode):
1653         (WebCore::FillLayer::clearBlendMode):
1654         (WebCore::FillLayer::initialFillBlendMode):
1655         (FillLayer):
1656
1657 2013-02-07  Gavin Peters  <gavinp@chromium.org>
1658
1659         Unreviewed, rolling out r142142.
1660         http://trac.webkit.org/changeset/142142
1661         https://bugs.webkit.org/show_bug.cgi?id=109154
1662
1663         Mac expectations were not right. See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
1664
1665
1666         * inspector/front-end/DefaultTextEditor.js:
1667         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
1668
1669 2013-02-07  Gavin Peters  <gavinp@chromium.org>
1670
1671         Unreviewed, rolling out r142081.
1672         http://trac.webkit.org/changeset/142081
1673         https://bugs.webkit.org/show_bug.cgi?id=109146
1674
1675         The patch caused a crash in inspector-protocol/nmi-webaudio*.html .
1676
1677         See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
1678
1679         * dom/WebCoreMemoryInstrumentation.cpp:
1680         (WebCore):
1681         * inspector/front-end/NativeMemorySnapshotView.js:
1682         (WebInspector.MemoryBlockViewProperties._initialize):
1683         * platform/PlatformMemoryInstrumentation.cpp:
1684         (WebCore):
1685
1686 2013-02-07  Bear Travis  <betravis@adobe.com>
1687
1688         [CSS Exclusions] shape-inside does not properly handle padding or border
1689         https://bugs.webkit.org/show_bug.cgi?id=102715
1690
1691         Reviewed by David Hyatt.
1692
1693         This patch positions the exclusion shape based on the value of the css box sizing
1694         property. Geometry calculations happen in the shape coordinate space. For layout,
1695         these coordinates are translated to the border-box coordinate system by adding
1696         the appropriate offsets.
1697
1698         Test: fast/exclusions/shape-inside/shape-inside-box-sizing.html
1699
1700         * rendering/ExclusionShapeInfo.cpp:
1701         (WebCore::::computedShape): Pass m_shapeLogicalWidth to the exclusion shape
1702         geometry code.
1703         * rendering/ExclusionShapeInfo.h:
1704         (WebCore::ExclusionShapeInfo::setShapeSize): Adjust block layout dimensions to
1705         shape dimensions when checking to see if the shape geometry must be recalculated.
1706         (WebCore::ExclusionShapeInfo::shapeLogicalTop): Account for layout offsets.
1707         (WebCore::ExclusionShapeInfo::shapeLogicalBottom): Ditto.
1708         (WebCore::ExclusionShapeInfo::shapeLogicalLeft): Ditto.
1709         (WebCore::ExclusionShapeInfo::shapeLogicalRight): Ditto.
1710         (WebCore::ExclusionShapeInfo::logicalTopOffset): Return the offset from the logical
1711         top of the border box to the logical top of the shape.
1712         (WebCore::ExclusionShapeInfo::logicalLeftOffset): Return the offset from the logical
1713         left of the border box to the logical left of the shape.
1714         (ExclusionShapeInfo):
1715         * rendering/ExclusionShapeInsideInfo.cpp:
1716         (WebCore::ExclusionShapeInsideInfo::computeSegmentsForLine): Adjust line top to
1717         be in shape coordinates.
1718         (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop): Ditto.
1719         * rendering/ExclusionShapeInsideInfo.h:
1720         (WebCore::ExclusionShapeInsideInfo::lineOverlapsShapeBounds): Use consistent
1721         coordinate system (border box) to test for whether a line overlaps a shape.
1722         (WebCore::ExclusionShapeInsideInfo::logicalLineTop): Include the logical offset
1723         from the border box.
1724         (WebCore::ExclusionShapeInsideInfo::logicalLineBottom): Ditto.
1725
1726 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
1727
1728         Upstream iOS isWebThread() and isUIThread()
1729         https://bugs.webkit.org/show_bug.cgi?id=109130
1730
1731         Reviewed by Sam Weinig.
1732
1733         * bindings/objc/WebScriptObject.mm:
1734         (+[WebScriptObject initialize]):
1735         * platform/mac/SharedBufferMac.mm:
1736         (+[WebCoreSharedBufferData initialize]):
1737         #ifdef out the legacy initialization as it is not correct when
1738         using a WebThread.
1739
1740 2013-02-07  Vivek Galatage  <vivek.vg@samsung.com>
1741
1742         Web Inspector: CPU pegged when inspecting LocalStorage that mutates.
1743         https://bugs.webkit.org/show_bug.cgi?id=107937
1744
1745         Reviewed by Yury Semikhatsky.
1746
1747         The DOM storage agent will fire an event to the frontend based on the action
1748         performed on the storage. Based on this action, the front-end will just add/update/remove
1749         the entry in the view. This enhances the front-end responsiveness as the round trip
1750         for fetching the storage entries has been eliminated.
1751
1752         Existing test: LayoutTests/inspector/storage-panel-dom-storage-update.html should verify the change
1753
1754         * inspector/Inspector.json:
1755         * inspector/InspectorDOMStorageAgent.cpp:
1756         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
1757         * inspector/front-end/DOMStorage.js:
1758         (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
1759         (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
1760         (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
1761         (WebInspector.DOMStorageModel.prototype._domStorageItemUpdated):
1762         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemsCleared):
1763         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemRemoved):
1764         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemAdded):
1765         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemUpdated):
1766         * inspector/front-end/DOMStorageItemsView.js:
1767         (WebInspector.DOMStorageItemsView):
1768         (WebInspector.DOMStorageItemsView.prototype.wasShown):
1769         (WebInspector.DOMStorageItemsView.prototype._domStorageItemsCleared):
1770         (WebInspector.DOMStorageItemsView.prototype._domStorageItemRemoved):
1771         (WebInspector.DOMStorageItemsView.prototype._domStorageItemAdded):
1772         (WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):
1773         (WebInspector.DOMStorageItemsView.prototype._update):
1774         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
1775         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
1776         (WebInspector.DOMStorageItemsView.prototype._editingCallback):
1777         (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
1778         * inspector/front-end/ResourcesPanel.js:
1779         (WebInspector.ResourcesPanel):
1780         (WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
1781         (WebInspector.ResourcesPanel.prototype._showDOMStorage):
1782
1783 2013-02-07  Dan Carney  <dcarney@google.com>
1784
1785         [v8] move persistent::new and ::dispose into same class
1786         https://bugs.webkit.org/show_bug.cgi?id=109065
1787
1788         Reviewed by Adam Barth.
1789
1790         No new tests. No change in functionality.
1791
1792         * bindings/scripts/CodeGeneratorV8.pm:
1793         (GenerateSingleConstructorCallback):
1794         (GenerateEventConstructorCallback):
1795         (GenerateNamedConstructorCallback):
1796         (GenerateToV8Converters):
1797         * bindings/scripts/test/V8/V8Float64Array.cpp:
1798         (WebCore::V8Float64Array::createWrapper):
1799         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1800         (WebCore::V8TestActiveDOMObject::createWrapper):
1801         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1802         (WebCore::V8TestCustomNamedGetter::createWrapper):
1803         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1804         (WebCore::V8TestEventConstructor::constructorCallback):
1805         (WebCore::V8TestEventConstructor::createWrapper):
1806         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1807         (WebCore::V8TestEventTarget::createWrapper):
1808         * bindings/scripts/test/V8/V8TestException.cpp:
1809         (WebCore::V8TestException::createWrapper):
1810         * bindings/scripts/test/V8/V8TestInterface.cpp:
1811         (WebCore::V8TestInterface::constructorCallback):
1812         (WebCore::V8TestInterface::createWrapper):
1813         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1814         (WebCore::V8TestMediaQueryListListener::createWrapper):
1815         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1816         (WebCore::V8TestNamedConstructorConstructorCallback):
1817         (WebCore::V8TestNamedConstructor::createWrapper):
1818         * bindings/scripts/test/V8/V8TestNode.cpp:
1819         (WebCore::V8TestNode::constructorCallback):
1820         (WebCore::V8TestNode::createWrapper):
1821         * bindings/scripts/test/V8/V8TestObj.cpp:
1822         (WebCore::V8TestObj::constructorCallback):
1823         (WebCore::V8TestObj::createWrapper):
1824         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1825         (WebCore::V8TestOverloadedConstructors::constructor1Callback):
1826         (WebCore::V8TestOverloadedConstructors::constructor2Callback):
1827         (WebCore::V8TestOverloadedConstructors::constructor3Callback):
1828         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
1829         (WebCore::V8TestOverloadedConstructors::createWrapper):
1830         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1831         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1832         (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
1833         * bindings/v8/DOMDataStore.cpp:
1834         * bindings/v8/DOMDataStore.h:
1835         (WebCore::DOMDataStore::setWrapper):
1836         (DOMDataStore):
1837         (WebCore::DOMDataStore::set):
1838         (WebCore::DOMDataStore::setWrapperInObject):
1839         * bindings/v8/DOMWrapperMap.h:
1840         (WebCore::DOMWrapperMap::get):
1841         (WebCore::DOMWrapperMap::set):
1842         (WebCore::DOMWrapperMap::removeAndDispose):
1843         (WebCore::DOMWrapperMap::defaultWeakCallback):
1844         * bindings/v8/ScriptWrappable.h:
1845         (WebCore::ScriptWrappable::wrapper):
1846         (WebCore::ScriptWrappable::setWrapper):
1847         (WebCore::ScriptWrappable::reportMemoryUsage):
1848         (ScriptWrappable):
1849         (WebCore::ScriptWrappable::disposeWrapper):
1850         (WebCore::ScriptWrappable::weakCallback):
1851         * bindings/v8/V8DOMWindowShell.cpp:
1852         (WebCore::V8DOMWindowShell::installDOMWindow):
1853         * bindings/v8/V8DOMWrapper.h:
1854         (V8DOMWrapper):
1855         (WebCore::V8DOMWrapper::associateObjectWithWrapper):
1856         * bindings/v8/V8NPObject.cpp:
1857         (WebCore::weakNPObjectCallback):
1858         (WebCore::createV8ObjectForNPObject):
1859         (WebCore::forgetV8ObjectForNPObject):
1860         * bindings/v8/WorkerScriptController.cpp:
1861         (WebCore::WorkerScriptController::initializeContextIfNeeded):
1862         * bindings/v8/WrapperTypeInfo.h:
1863         (WebCore):
1864         (WrapperConfiguration):
1865         (WebCore::WrapperConfiguration::configureWrapper):
1866         (WebCore::buildWrapperConfiguration):
1867         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1868         (WebCore::V8ArrayBuffer::constructorCallbackCustom):
1869         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1870         (WebCore::wrapArrayBufferView):
1871         (WebCore::constructWebGLArray):
1872         * bindings/v8/custom/V8AudioContextCustom.cpp:
1873         (WebCore::V8AudioContext::constructorCallbackCustom):
1874         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1875         (WebCore::V8DOMFormData::constructorCallbackCustom):
1876         * bindings/v8/custom/V8DataViewCustom.cpp:
1877         (WebCore::V8DataView::constructorCallbackCustom):
1878         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1879         (WebCore::v8HTMLImageElementConstructorCallback):
1880         * bindings/v8/custom/V8IntentCustom.cpp:
1881         (WebCore::V8Intent::constructorCallbackCustom):
1882         * bindings/v8/custom/V8MessageChannelCustom.cpp:
1883         (WebCore::V8MessageChannel::constructorCallbackCustom):
1884         * bindings/v8/custom/V8MutationObserverCustom.cpp:
1885         (WebCore::V8MutationObserver::constructorCallbackCustom):
1886         * bindings/v8/custom/V8WebKitPointCustom.cpp:
1887         (WebCore::V8WebKitPoint::constructorCallbackCustom):
1888         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1889         (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
1890
1891 2013-02-07  Zan Dobersek  <zdobersek@igalia.com>
1892
1893         [Autotools] Remove uses of Automake FARSTREAM_(CFLAGS|LIBS) variables, USE_FARSTREAM conditional
1894         https://bugs.webkit.org/show_bug.cgi?id=109198
1895
1896         Reviewed by Martin Robinson.
1897
1898         * GNUmakefile.am: Remove FARSTREAM_CFLAGS variable, it's not set to anything.
1899
1900 2013-02-07   Vineet Chaudhary  <rgf748@motorola.com>
1901
1902         Consider replacing return type of Clipboard::types() from ListHashSet<String> to Vector<String>
1903         https://bugs.webkit.org/show_bug.cgi?id=82888
1904
1905         Reviewed by Kentaro Hara.
1906
1907         As part of removing custom bindings of types Array Clipboard::types() needs to return
1908         Vector<String> than ListHashSet<String>
1909
1910         No new tests. Existing test should pass with this change as no behavoural changes.
1911
1912         * bindings/js/JSClipboardCustom.cpp: Replace data type from ListHashSet<> to Vector<>.
1913         (WebCore::JSClipboard::types):
1914         * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
1915         (WebCore::V8Clipboard::typesAccessorGetter): Ditto.
1916         * dom/Clipboard.h: Ditto.
1917         * platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
1918         (WebCore::ClipboardBlackBerry::types):
1919         * platform/blackberry/ClipboardBlackBerry.h: Ditto.
1920         * platform/chromium/ChromiumDataObject.cpp: Ditto.
1921         (WebCore::ChromiumDataObject::types):
1922         * platform/chromium/ChromiumDataObject.h: Ditto.
1923         * platform/chromium/ClipboardChromium.cpp: Ditto.
1924         (WebCore::ClipboardChromium::types):
1925         * platform/chromium/ClipboardChromium.h: Ditto.
1926         * platform/efl/ClipboardEfl.cpp: Ditto.
1927         (WebCore::ClipboardEfl::types):
1928         * platform/efl/ClipboardEfl.h: Ditto.
1929         * platform/gtk/ClipboardGtk.cpp: Ditto.
1930         (WebCore::ClipboardGtk::types):
1931         * platform/gtk/ClipboardGtk.h: Ditto.
1932         * platform/mac/ClipboardMac.h: Ditto.
1933         * platform/mac/ClipboardMac.mm: Ditto.
1934         (WebCore::addHTMLClipboardTypesForCocoaType):
1935         (WebCore::ClipboardMac::types):
1936         * platform/qt/ClipboardQt.cpp: Ditto.
1937         (WebCore::ClipboardQt::types):
1938         * platform/qt/ClipboardQt.h: Ditto.
1939         * platform/win/ClipboardWin.cpp: Ditto.
1940         (WebCore::addMimeTypesForFormat):
1941         (WebCore::ClipboardWin::types):
1942         * platform/win/ClipboardWin.h: Ditto.
1943
1944 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1945
1946         [V8] StringCache::m_stringCache should be HashMap<StringImpl*, Persistent<String>>
1947         https://bugs.webkit.org/show_bug.cgi?id=109123
1948
1949         Reviewed by Adam Barth.
1950
1951         Currently StringCache::m_stringCache is implemented as
1952         HashMap<StringImpl*, v8::String*>. Given that v8::String*
1953         can change when a GC is triggered, it is dangerous to store a raw pointer.
1954         We should use HashMap<StringImpl*, v8::Persistent<v8::String>> instead.
1955
1956         This is a possible fix for an IndexedDB crash (https://bugs.webkit.org/show_bug.cgi?id=105363),
1957         although I'm not sure if this patch fixes the crash. (I couldn't reproduce the crash.)
1958
1959         No tests. This change highly depends on GC behavior and thus it is
1960         difficult to make a reliable test case.
1961
1962         * bindings/v8/V8ValueCache.cpp:
1963         (WebCore::makeExternalString):
1964         * bindings/v8/V8ValueCache.h:
1965         (StringCache):
1966
1967 2013-01-27  Robert Hogan  <robert@webkit.org>
1968
1969         CSS 2.1 failure: floats-149 fails
1970         https://bugs.webkit.org/show_bug.cgi?id=95772
1971
1972         Reviewed by David Hyatt.
1973
1974         Treat inlines that contain nothing but empty inlines as empty too so that they get a linebox.
1975
1976         Tests: fast/inline/inline-with-empty-inline-children.html
1977                css2.1/20110323/floats-149.htm
1978
1979         * rendering/InlineIterator.h:
1980         (WebCore::isEmptyInline):
1981         * rendering/RenderBlockLineLayout.cpp:
1982         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Now that empty inlines get a linebox any out-of-flow
1983         objects inside an empty inline (on a line that is otherwise empty) won't get positioned while skipping 
1984         through leading whitespace. 
1985
1986 2013-02-07  peavo@outlook.com  <peavo@outlook.com>
1987
1988         [WinCairo] Compile fix after r141981
1989         https://bugs.webkit.org/show_bug.cgi?id=109184
1990
1991         Reviewed by Brent Fulgham.
1992
1993         * platform/network/curl/ResourceHandleCurl.cpp:
1994         (WebCore::ResourceHandle::loadResourceSynchronously):
1995
1996 2013-02-07  Otto Derek Cheung  <otcheung@rim.com>
1997
1998         [BlackBerry] Cookie database isn't loaded into memory in some rare cases
1999         https://bugs.webkit.org/show_bug.cgi?id=109202
2000         PR 286189
2001
2002         Reviewed by Yong Li.
2003         Internally Reviewed by Konrad Piascik.
2004
2005         If a get/setCookie call is made before the database is loaded, or if there's some
2006         kind of error that causes the loading of the database to fail in the constructor
2007         of CookieManager, the browser will get into a state where it seems like cookie is
2008         permanenty disabled.
2009
2010         Instead of logging the errors and redispatching the setCookie, we should do a force sync
2011         to load the cookie database before continuing.
2012
2013         Since the bug is so difficult to reproduce (I never did so myself), I did the follow test
2014         to make sure the code path is correct:
2015         1) Make sure original implementation is retained - open and loading done in the constructor
2016         2) Removed opening and loading in constructor, the new calls in get/setcookies loaded the db just fine (although with
2017         an initial lag because we are blocking WKT while performing SQLite options).
2018         3) Removed loading in constructor, the new calls loaded the db just fine.
2019
2020         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
2021         (WebCore::CookieDatabaseBackingStore::openAndLoadDatabaseSynchronously):
2022         (WebCore):
2023         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
2024         (CookieDatabaseBackingStore):
2025         * platform/blackberry/CookieManager.cpp:
2026         (WebCore::CookieManager::setCookies):
2027         (WebCore::CookieManager::getCookie):
2028         (WebCore::CookieManager::generateHtmlFragmentForCookies):
2029         (WebCore::CookieManager::getRawCookies):
2030
2031 2013-02-07  Max Vujovic  <mvujovic@adobe.com>
2032
2033         [CSS Shaders] Add WebKitCSSFilterRule to DOMWindow.idl
2034         https://bugs.webkit.org/show_bug.cgi?id=109082
2035
2036         Reviewed by Dean Jackson.
2037
2038         Add an entry for WebKitCSSFilterRuleConstructor in DOMWindow.idl.
2039
2040         Tests: css3/filters/custom-with-at-rule-syntax/parsing-at-rule-invalid.html
2041                css3/filters/custom-with-at-rule-syntax/parsing-at-rule-valid.html
2042
2043         * page/DOMWindow.idl:
2044
2045 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
2046
2047         Web Inspector: Remove unused workspace field from NetworkUISourceCodeProvider
2048         https://bugs.webkit.org/show_bug.cgi?id=109201
2049
2050         Reviewed by Pavel Feldman.
2051
2052         * inspector/front-end/NetworkUISourceCodeProvider.js:
2053         (WebInspector.NetworkUISourceCodeProvider):
2054         * inspector/front-end/inspector.js:
2055
2056 2013-02-07  Jessie Berlin  <jberlin@apple.com>
2057
2058         REGRESSION(r142003): Duplicate "Unknown" strings in LocalizedStrings.cpp not distinguished
2059         by key
2060         https://bugs.webkit.org/show_bug.cgi?id=109196
2061
2062         Reviewed by Eric Carlson.
2063
2064         * English.lproj/Localizable.strings:
2065         Updated for the changes.
2066         * platform/LocalizedStrings.cpp:
2067         (WebCore::unknownFileSizeText):
2068         Add a key.
2069         (WebCore::textTrackNoLabelText):
2070         Ditto.
2071
2072 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
2073
2074         Web Inspector: linkifyResourceAsNode produced anchor should not prefer resources to scripts panel.
2075         https://bugs.webkit.org/show_bug.cgi?id=109197
2076
2077         Reviewed by Pavel Feldman.
2078
2079         Javascript syntax errors in console are now linkified so that they show sources panel by default.
2080
2081         * inspector/front-end/ResourceUtils.js:
2082         (WebInspector.linkifyResourceAsNode):
2083
2084 2013-02-07  Eberhard Graether  <egraether@google.com>
2085
2086         Web Inspector: Add settings checkbox for composited layer borders
2087         https://bugs.webkit.org/show_bug.cgi?id=109096
2088
2089         Reviewed by Pavel Feldman.
2090
2091         This change adds a checkbox to show composited layer borders to the WebInspector's
2092         rendering settings and plumbs the setting to Chromium's WebLayerTreeView. The setting
2093         is visible if InspectorClient::canShowDebugBorders() returns true.
2094
2095         No new tests.
2096
2097         * English.lproj/localizedStrings.js:
2098         * inspector/Inspector.json:
2099         * inspector/InspectorClient.h:
2100         (WebCore::InspectorClient::canShowDebugBorders):
2101         (WebCore::InspectorClient::setShowDebugBorders):
2102         (InspectorClient):
2103         * inspector/InspectorPageAgent.cpp:
2104         (PageAgentState):
2105         (WebCore::InspectorPageAgent::restore):
2106         (WebCore::InspectorPageAgent::disable):
2107         (WebCore::InspectorPageAgent::canShowDebugBorders):
2108         (WebCore):
2109         (WebCore::InspectorPageAgent::setShowDebugBorders):
2110         * inspector/InspectorPageAgent.h:
2111         * inspector/front-end/Settings.js:
2112         * inspector/front-end/SettingsScreen.js:
2113         (WebInspector.GenericSettingsTab):
2114         (WebInspector.GenericSettingsTab.prototype.get _showDebugBordersChanged):
2115         * inspector/front-end/inspector.js:
2116         (WebInspector.doLoadedDone):
2117
2118 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2119
2120         Unreviewed, rolling out r142141.
2121         http://trac.webkit.org/changeset/142141
2122         https://bugs.webkit.org/show_bug.cgi?id=108990
2123
2124         Reland r142112, will update Chromium expectations and create a
2125         Chromium bug instead for the crash.
2126
2127         * CMakeLists.txt:
2128         * Target.pri:
2129         * WebCore.pri:
2130         * page/scrolling/ScrollingCoordinator.cpp:
2131         (WebCore::ScrollingCoordinator::create):
2132         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
2133         (WebCore):
2134         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
2135         (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
2136         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
2137         (WebCore):
2138         (ScrollingCoordinatorCoordinatedGraphics):
2139         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2140         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
2141         (WebCore):
2142         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
2143         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2144         (CoordinatedGraphicsLayerClient):
2145         (CoordinatedGraphicsLayer):
2146
2147 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
2148
2149         Web Inspector: home button behaviour is wrong in DTE
2150         https://bugs.webkit.org/show_bug.cgi?id=109154
2151
2152         Reviewed by Vsevolod Vlasov.
2153
2154         Handle home key shortcut explicitly in TextEditorMainPanel.
2155
2156         New test: inspector/editor/text-editor-home-button.html
2157
2158         * inspector/front-end/DefaultTextEditor.js:
2159         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
2160         (WebInspector.TextEditorMainPanel.prototype._handleHomeKey):
2161
2162 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2163
2164         Unreviewed, rolling out r142112.
2165         http://trac.webkit.org/changeset/142112
2166         https://bugs.webkit.org/show_bug.cgi?id=108990
2167
2168         The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
2169
2170         See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
2171
2172         * CMakeLists.txt:
2173         * Target.pri:
2174         * WebCore.pri:
2175         * page/scrolling/ScrollingCoordinator.cpp:
2176         (WebCore::ScrollingCoordinator::create):
2177         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Removed.
2178         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Removed.
2179         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2180         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
2181         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2182         (CoordinatedGraphicsLayerClient):
2183         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
2184
2185 2013-02-07  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2186
2187         Scrollbars misplaced with accelerated compositing for overflow scroll
2188         https://bugs.webkit.org/show_bug.cgi?id=108625
2189
2190         Reviewed by Simon Fraser.
2191
2192         Scrollbars require their own layer if overflow scroll is composited,
2193         otherwise the scrollbars would be rendered on the content layer and
2194         not fixed to the viewport.
2195
2196         * rendering/RenderLayerBacking.cpp:
2197         (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
2198         (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
2199         (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
2200
2201 2013-02-07  Mike West  <mkwst@chromium.org>
2202
2203         Don't ASSERT things about uninitialized variables.
2204         https://bugs.webkit.org/show_bug.cgi?id=109187
2205
2206         Reviewed by Jochen Eisinger.
2207
2208         Rather than ASSERTing that an uninitialized ExceptionCode is non-zero
2209         after some method executes, we should use the ASSERT_NO_EXCEPTION macro.
2210
2211         * editing/markup.cpp:
2212         (WebCore::removeElementPreservingChildren):
2213
2214 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
2215
2216         Web Inspector: [Regression] breakpoint condition not editable
2217         https://bugs.webkit.org/show_bug.cgi?id=109183
2218
2219         Reviewed by Vsevolod Vlasov.
2220
2221         Improve TextEditorMainPanel.selection() method to return null if the
2222         selection is set inside of decoration element.
2223
2224         No new tests.
2225
2226         * inspector/front-end/DOMExtension.js:
2227         (Node.prototype.enclosingNodeOrSelfWithClass): Improve to add iteration boundary.
2228         * inspector/front-end/DefaultTextEditor.js:
2229         (WebInspector.TextEditorMainPanel.prototype.selection):
2230
2231 2013-02-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2232
2233         [WK2][EFL][QT]REGRESSION(r142045): Scrolling is broken
2234         https://bugs.webkit.org/show_bug.cgi?id=109185
2235
2236         Reviewed by Kenneth Rohde Christiansen.
2237
2238         This patch is disabling paints clipping logic added at r142045 for the case 
2239         when the view should render the entire contents (case of using tiled backing store).
2240
2241         No new tests, covered by plenty of existing manual tests that allow scrolling
2242         (for example fixed-position.html).
2243
2244         * platform/ScrollView.cpp:
2245         (WebCore::ScrollView::paint):
2246
2247 2013-02-07  Vladislav Kaznacheev  <kaznacheev@chromium.org>
2248
2249         Web Inspector: Show elements and sources sidebar panes in a tabbed pane when they are below the main pane
2250         https://bugs.webkit.org/show_bug.cgi?id=107552
2251
2252         Reviewed by Pavel Feldman.
2253
2254         Removed the aspect ratio detection logic and implemented explicit user action "Split Horizontally" available
2255         in Elements and Sources panels. When split horizontally the sidebar panes are organized into a tabbed pane.
2256         This user action is behind an experimental flag.
2257
2258         No new tests.
2259
2260         * inspector/front-end/ContextMenu.js:
2261         (WebInspector.ContextMenu.prototype.show):
2262         * inspector/front-end/DOMBreakpointsSidebarPane.js:
2263         (WebInspector.DOMBreakpointsSidebarPane.prototype.createProxy):
2264         (WebInspector.DOMBreakpointsSidebarPane.prototype.onContentReady):
2265         (WebInspector.DOMBreakpointsSidebarPane.Proxy):
2266         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.expanded):
2267         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.expand):
2268         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.collapse):
2269         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.onContentReady):
2270         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.wasShown):
2271         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype._reattachBody):
2272         * inspector/front-end/ElementsPanel.js:
2273         (WebInspector.ElementsPanel):
2274         (WebInspector.ElementsPanel.prototype._populateContextMenu):
2275         * inspector/front-end/ScriptsPanel.js:
2276         (WebInspector.ScriptsPanel.prototype._clearInterface):
2277         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
2278         (WebInspector.ScriptsPanel.prototype._contextMenuEventFired):
2279         * inspector/front-end/Settings.js:
2280         (WebInspector.ExperimentsSettings):
2281         * inspector/front-end/SidebarPane.js:
2282         (WebInspector.SidebarPane):
2283         (WebInspector.SidebarPane.prototype.prepareContent):
2284         (WebInspector.SidebarPane.prototype.expanded):
2285         (WebInspector.SidebarPane.prototype.expand):
2286         (WebInspector.SidebarPane.prototype.collapse):
2287         (WebInspector.SidebarPane.prototype.onContentReady):
2288         (WebInspector.SidebarPane.prototype._setExpandCallback):
2289         (WebInspector.SidebarPaneStack.prototype.addPane):
2290         (WebInspector.SidebarPaneStack.prototype.activePaneId):
2291         (WebInspector.SidebarPaneStack.prototype.setActivePaneId):
2292         (WebInspector.SidebarPaneStack.prototype._setExpanded):
2293         (WebInspector.SidebarPaneStack.prototype._onPaneExpanded):
2294         (WebInspector.SidebarPaneStack.prototype._collapsePane):
2295         (WebInspector.SidebarTabbedPane):
2296         (WebInspector.SidebarTabbedPane.prototype.addPane):
2297         (WebInspector.SidebarTabbedPane.prototype.activePaneId):
2298         (WebInspector.SidebarTabbedPane.prototype.setActivePaneId):
2299         (WebInspector.SidebarPaneGroup):
2300         (WebInspector.SidebarPaneGroup.prototype.setStacked):
2301         (WebInspector.SidebarPaneGroup.prototype.addPane):
2302         (WebInspector.SidebarPaneGroup.prototype.attachToPanel):
2303         (WebInspector.SidebarPaneGroup.prototype.populateContextMenu.toggleSplitDirection):
2304         (WebInspector.SidebarPaneGroup.prototype.get _contextMenuEventFired):
2305         (WebInspector.SidebarPaneGroup.prototype._onSplitDirectionSettingChanged):
2306         * inspector/front-end/SidebarView.js:
2307         (WebInspector.SidebarView):
2308         (WebInspector.SidebarView.prototype._updateSidebarElementStyle):
2309         (WebInspector.SidebarView.prototype.setVertical):
2310         (WebInspector.SidebarView.prototype.onResize):
2311         * inspector/front-end/StylesSidebarPane.js:
2312         (WebInspector.ComputedStyleSidebarPane.prototype.wasShown):
2313         (WebInspector.ComputedStyleSidebarPane.prototype.prepareContent):
2314         * inspector/front-end/inspector.css:
2315         (.sidebar-pane .section .properties, .event-bar .event-properties):
2316         (.pane-title):
2317         (.sidebar-pane-toolbar):
2318         (.sidebar-pane-toolbar > *):
2319         (.sidebar-pane-toolbar > select):
2320         (.sidebar-pane-toolbar > select:hover):
2321         (.sidebar-pane-toolbar > select:active):
2322         (.sidebar-pane-toolbar > select.select-settings):
2323         (.sidebar-pane-toolbar > select.select-filter):
2324         (.sidebar-pane-toolbar > select > option, .sidebar-pane-toolbar > select > hr):
2325         (.sidebar-pane-toolbar > .pane-title-button):
2326         (.sidebar-pane-toolbar > .pane-title-button:hover):
2327         (.sidebar-pane-toolbar > .pane-title-button:active, .sidebar-pane-toolbar > .pane-title-button.toggled):
2328         (.sidebar-pane-toolbar > .pane-title-button.add):
2329         (.sidebar-pane-toolbar > .pane-title-button.element-state):
2330         (.sidebar-pane-toolbar > .pane-title-button.refresh):
2331         (.sidebar-pane):
2332         (.sidebar-pane > .body):
2333         (.sidebar-pane > .body .info):
2334         (.sidebar-pane > .body .placard + .info):
2335         (.sidebar-pane.visible > .body):
2336         (.sidebar-pane > .body .breakpoint-condition):
2337         (.sidebar-pane.visible:nth-last-of-type(1)):
2338         (.sidebar-pane-subtitle):
2339         (.sidebar-pane-subtitle input, .section .header input[type=checkbox]):
2340         (.sidebar-pane .breakpoint-hit):
2341
2342 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2343
2344         Unreviewed, rolling out r142111.
2345         http://trac.webkit.org/changeset/142111
2346         https://bugs.webkit.org/show_bug.cgi?id=108055
2347
2348         win7 bot didn't display Arabic, see http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=platform%2Fchromium%2Ffast%2Fforms%2Fcalendar-picker%2Fcalendar-picker-appearance-required-ar.html
2349
2350         * Resources/pagepopups/calendarPicker.css:
2351         (.today-clear-area .today-button):
2352         * Resources/pagepopups/calendarPicker.js:
2353         (CalendarPicker.prototype.fixWindowSize):
2354
2355 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
2356
2357         Web Inspector: [Regression] Map.size() returns negative values.
2358         https://bugs.webkit.org/show_bug.cgi?id=109174
2359
2360         Reviewed by Yury Semikhatsky.
2361
2362         * inspector/front-end/utilities.js:
2363
2364 2013-02-07  Pavel Feldman  <pfeldman@chromium.org>
2365
2366         Web Inspector: break details are only rendered upon first debugger pause.
2367         https://bugs.webkit.org/show_bug.cgi?id=109193
2368
2369         Reviewed by Vsevolod Vlasov.
2370
2371         * inspector/front-end/CallStackSidebarPane.js:
2372         (WebInspector.CallStackSidebarPane.prototype.update):
2373
2374 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2375
2376         Unreviewed, rolling out r142118.
2377         http://trac.webkit.org/changeset/142118
2378         https://bugs.webkit.org/show_bug.cgi?id=109044
2379
2380         Broke SVG! Oh noes!
2381
2382         * Modules/indexeddb/IDBCursor.cpp:
2383         (WebCore::IDBCursor::direction):
2384         * Modules/indexeddb/IDBObjectStore.cpp:
2385         (WebCore):
2386         * Modules/indexeddb/IDBTransaction.cpp:
2387         (WebCore::IDBTransaction::mode):
2388         * dom/ContainerNode.cpp:
2389         (WebCore::ContainerNode::takeAllChildrenFrom):
2390         * dom/Document.cpp:
2391         (WebCore::Document::setTitle):
2392         * dom/MessagePort.cpp:
2393         (WebCore::MessagePort::dispatchMessages):
2394         (WebCore::MessagePort::disentanglePorts):
2395         * editing/DeleteButtonController.cpp:
2396         (WebCore::enclosingDeletableElement):
2397         (WebCore::DeleteButtonController::createDeletionUI):
2398         (WebCore::DeleteButtonController::show):
2399         * editing/EditorCommand.cpp:
2400         (WebCore::unionDOMRanges):
2401         * editing/ReplaceNodeWithSpanCommand.cpp:
2402         (WebCore::swapInNodePreservingAttributesAndChildren):
2403         * editing/ReplaceSelectionCommand.cpp:
2404         (WebCore::ReplacementFragment::ReplacementFragment):
2405         (WebCore::ReplacementFragment::removeNode):
2406         (WebCore::ReplacementFragment::insertNodeBefore):
2407         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
2408         (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
2409         (WebCore::ReplaceSelectionCommand::insertAsListItems):
2410         * editing/SplitTextNodeCommand.cpp:
2411         (WebCore::SplitTextNodeCommand::doUnapply):
2412         * editing/TextIterator.cpp:
2413         (WebCore::CharacterIterator::range):
2414         (WebCore::BackwardsCharacterIterator::range):
2415         (WebCore::TextIterator::rangeFromLocationAndLength):
2416         (WebCore::collapsedToBoundary):
2417         * editing/htmlediting.cpp:
2418         (WebCore::createTabSpanElement):
2419         * editing/mac/EditorMac.mm:
2420         (WebCore::Editor::fontForSelection):
2421         (WebCore::Editor::fontAttributesForSelectionStart):
2422         * editing/markup.cpp:
2423         (WebCore::createMarkup):
2424         (WebCore::trimFragment):
2425         (WebCore::createFragmentFromMarkupWithContext):
2426         (WebCore::fillContainerFromString):
2427         (WebCore::createFragmentFromText):
2428         (WebCore::createFragmentFromNodes):
2429         * html/ColorInputType.cpp:
2430         (WebCore::ColorInputType::createShadowSubtree):
2431         * html/HTMLOptionsCollection.cpp:
2432         (WebCore::HTMLOptionsCollection::add):
2433         * html/HTMLTextAreaElement.cpp:
2434         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
2435         * html/HTMLTextFormControlElement.cpp:
2436         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
2437         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
2438         * html/TextFieldInputType.cpp:
2439         (WebCore::TextFieldInputType::updatePlaceholderText):
2440         * html/ValidationMessage.cpp:
2441         (WebCore::ValidationMessage::buildBubbleTree):
2442         * html/shadow/MediaControlElementTypes.cpp:
2443         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
2444         * inspector/InspectorPageAgent.cpp:
2445         (WebCore::InspectorPageAgent::getCookies):
2446         * inspector/InspectorStyleSheet.cpp:
2447         (WebCore::InspectorStyleSheet::addRule):
2448         * loader/appcache/ApplicationCacheHost.cpp:
2449         (WebCore::ApplicationCacheHost::dispatchDOMEvent):
2450         * page/DOMSelection.cpp:
2451         (WebCore::DOMSelection::deleteFromDocument):
2452         * page/DragController.cpp:
2453         (WebCore::prepareClipboardForImageDrag):
2454         * rendering/RenderTextControl.cpp:
2455         (WebCore::RenderTextControl::visiblePositionForIndex):
2456         * rendering/style/SVGRenderStyle.h:
2457         (WebCore::SVGRenderStyle::initialBaselineShiftValue):
2458         (WebCore::SVGRenderStyle::initialKerning):
2459         (WebCore::SVGRenderStyle::initialStrokeDashOffset):
2460         (WebCore::SVGRenderStyle::initialStrokeWidth):
2461         * svg/SVGAnimatedLength.cpp:
2462         (WebCore::sharedSVGLength):
2463         (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
2464         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
2465         * svg/SVGAnimatedLengthList.cpp:
2466         (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
2467         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
2468         * svg/SVGLength.cpp:
2469         (WebCore::SVGLength::SVGLength):
2470         * svg/SVGTextContentElement.cpp:
2471         (WebCore::SVGTextContentElement::textLengthAnimated):
2472         * svg/animation/SVGSMILElement.cpp:
2473         (WebCore::constructQualifiedName):
2474
2475 2013-02-07  Kentaro Hara  <haraken@chromium.org>
2476
2477         Remove #if USE(V8) from IDBRequest.h
2478         https://bugs.webkit.org/show_bug.cgi?id=109163
2479
2480         Reviewed by Andreas Kling.
2481
2482         The header included inside the #if USE(V8) macro is not used.
2483         We can simply remove it.
2484
2485         No tests. No change in behavior.
2486
2487         * Modules/indexeddb/IDBRequest.h:
2488
2489 2013-02-07  Stephen Chenney  <schenney@chromium.org>
2490
2491         GraphicsContext::drawImageBuffer is inefficient
2492         https://bugs.webkit.org/show_bug.cgi?id=104367
2493
2494         Reviewed by Dirk Schulze.
2495
2496         This patch converts all of the drawImage and drawImageBuffer
2497         convenience methods (those that take parameters of various types) to
2498         invoke the implementing method (that takes FloatRect src and dest)
2499         directly, rather than through the next-most-convenient method as was
2500         done previously. This will knock some layers off the stack compared
2501         to the existing code, and may remove one or two constructor invocations.
2502         This may be slightly more efficient, and also makes debugging simpler.
2503
2504         Also removes the unused drawImage method that takes and IntRect source
2505         area and IntRect destination. It is not invoked anywhere in a standard
2506         WebKit checkout.
2507
2508         No new tests. No change in functionality, just refactoring.
2509
2510         * platform/graphics/GraphicsContext.cpp:
2511         (WebCore::GraphicsContext::drawImage): Modify all the convenience versions to call
2512         the implementing version directly.
2513         (WebCore::GraphicsContext::drawImageBuffer): Modify all the convenience versions
2514         to call the implementing version directly.
2515         * platform/graphics/GraphicsContext.h:
2516         (GraphicsContext): Remove IntRect, IntRect version of drawImage.
2517
2518 2013-02-07  Kent Tamura  <tkent@chromium.org>
2519
2520         Conversion from localized numbers to HTML numbers should accept not only localized numbers but also HTML numbers
2521         https://bugs.webkit.org/show_bug.cgi?id=109160
2522
2523         Reviewed by Kentaro Hara.
2524
2525         For example, A French user needs to specify a number to a number input
2526         field. He might use a local decimal point, like 3,141592, or he might
2527         use the standard decimal point like 3.141592. We had better accept both
2528         of them.
2529
2530         We accepted both last year, but we changed the behavior so that we
2531         accept only localized numbers because we had some cases where an input
2532         string can be recognized as both of a localized number and the standard
2533         number. e.g. 3.141 is 3141 in French locale and 3.141 in the
2534         standard. Now we introduce a simple rule that we don't accept group
2535         separator at all. So users won't confuse even if we accept both of
2536         decimal points.
2537
2538         Test: fast/forms/number/number-l10n-input.html
2539
2540         * platform/text/PlatformLocale.cpp:
2541         (WebCore::Locale::convertFromLocalizedNumber):
2542         If the specified string contains invalid characters including group
2543         separators, just return the specified string.
2544
2545 2013-02-07  Xiaobo Wang  <xbwang@torchmobile.com.cn>
2546
2547         [BlackBerry] CHHW - Characters that are using 32 bits encoding get trunked to 16bits
2548         https://bugs.webkit.org/show_bug.cgi?id=109126
2549         PR 292540
2550
2551         Reviewed by Yong Li.
2552
2553         Change char code to 4 bytes.
2554         Need to convert UTF32 key char to UTF16 before constructing a WTF::String.
2555
2556         * platform/PlatformKeyboardEvent.h:
2557         (WebCore::PlatformKeyboardEvent::unmodifiedCharacter):
2558         (PlatformKeyboardEvent):
2559         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
2560         (WebCore::keyIdentifierForBlackBerryCharacter):
2561         (WebCore::windowsKeyCodeForBlackBerryCharacter):
2562         (WebCore::adjustCharacterFromOS):
2563         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2564
2565 2013-02-07  Mike West  <mkwst@chromium.org>
2566
2567         Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
2568         https://bugs.webkit.org/show_bug.cgi?id=109044
2569
2570         Reviewed by Darin Adler.
2571
2572         The pattern:
2573
2574             ExceptionCode ec = 0;
2575             methodThatGeneratesException(ec);
2576             ASSERT(!ec);
2577
2578         is more clearly and succinctly written as:
2579
2580             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
2581
2582         This patch replaces the occurances of the former that never touch 'ec'
2583         again with the latter. It does the same for 'ASSERT(ec == 0);' (and, as
2584         a drive-by, replaces 'ASSERT(ec == 0)' with 'ASSERT(!ec)' in places
2585         where it does indeed matter that 'ec' get set properly.
2586
2587         No change in behavior should result from this refactoring.
2588
2589         * Modules/indexeddb/IDBCursor.cpp:
2590         (WebCore::IDBCursor::direction):
2591         * Modules/indexeddb/IDBObjectStore.cpp:
2592         (WebCore):
2593         * Modules/indexeddb/IDBTransaction.cpp:
2594         (WebCore::IDBTransaction::mode):
2595         * dom/ContainerNode.cpp:
2596         (WebCore::ContainerNode::takeAllChildrenFrom):
2597         * dom/Document.cpp:
2598         (WebCore::Document::setTitle):
2599         * dom/MessagePort.cpp:
2600         (WebCore::MessagePort::dispatchMessages):
2601         (WebCore::MessagePort::disentanglePorts):
2602         * editing/DeleteButtonController.cpp:
2603         (WebCore::enclosingDeletableElement):
2604         (WebCore::DeleteButtonController::createDeletionUI):
2605             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
2606         (WebCore::DeleteButtonController::show):
2607             Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
2608         * editing/EditorCommand.cpp:
2609         (WebCore::unionDOMRanges):
2610         * editing/ReplaceNodeWithSpanCommand.cpp:
2611         (WebCore::swapInNodePreservingAttributesAndChildren):
2612         * editing/ReplaceSelectionCommand.cpp:
2613         (WebCore::ReplacementFragment::ReplacementFragment):
2614         (WebCore::ReplacementFragment::removeNode):
2615         (WebCore::ReplacementFragment::insertNodeBefore):
2616         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
2617         (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
2618         (WebCore::ReplaceSelectionCommand::insertAsListItems):
2619         * editing/SplitTextNodeCommand.cpp:
2620         (WebCore::SplitTextNodeCommand::doUnapply):
2621         * editing/TextIterator.cpp:
2622         (WebCore::CharacterIterator::range):
2623         (WebCore::BackwardsCharacterIterator::range):
2624         (WebCore::TextIterator::rangeFromLocationAndLength):
2625         (WebCore::collapsedToBoundary):
2626         * editing/htmlediting.cpp:
2627         (WebCore::createTabSpanElement):
2628         * editing/mac/EditorMac.mm:
2629         (WebCore::Editor::fontForSelection):
2630         (WebCore::Editor::fontAttributesForSelectionStart):
2631         * editing/markup.cpp:
2632         (WebCore::createMarkup):
2633         (WebCore::trimFragment):
2634         (WebCore::createFragmentFromMarkupWithContext):
2635         (WebCore::fillContainerFromString):
2636         (WebCore::createFragmentFromText):
2637         (WebCore::createFragmentFromNodes):
2638         * html/ColorInputType.cpp:
2639         (WebCore::ColorInputType::createShadowSubtree):
2640             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
2641         * html/HTMLOptionsCollection.cpp:
2642         (WebCore::HTMLOptionsCollection::add):
2643             Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
2644         * html/HTMLTextAreaElement.cpp:
2645         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
2646         * html/HTMLTextFormControlElement.cpp:
2647         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
2648         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
2649         * html/TextFieldInputType.cpp:
2650         (WebCore::TextFieldInputType::updatePlaceholderText):
2651         * html/ValidationMessage.cpp:
2652         (WebCore::ValidationMessage::buildBubbleTree):
2653         * html/shadow/MediaControlElementTypes.cpp:
2654         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
2655         * inspector/InspectorPageAgent.cpp:
2656         (WebCore::InspectorPageAgent::getCookies):
2657         * inspector/InspectorStyleSheet.cpp:
2658         (WebCore::InspectorStyleSheet::addRule):
2659         * loader/appcache/ApplicationCacheHost.cpp:
2660         (WebCore::ApplicationCacheHost::dispatchDOMEvent):
2661         * page/DOMSelection.cpp:
2662         (WebCore::DOMSelection::deleteFromDocument):
2663         * page/DragController.cpp:
2664         (WebCore::prepareClipboardForImageDrag):
2665         * rendering/RenderTextControl.cpp:
2666         (WebCore::RenderTextControl::visiblePositionForIndex):
2667         * rendering/style/SVGRenderStyle.h:
2668         (WebCore::SVGRenderStyle::initialBaselineShiftValue):
2669         (WebCore::SVGRenderStyle::initialKerning):
2670         (WebCore::SVGRenderStyle::initialStrokeDashOffset):
2671         (WebCore::SVGRenderStyle::initialStrokeWidth):
2672         * svg/SVGAnimatedLength.cpp:
2673         (WebCore::sharedSVGLength):
2674         (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
2675         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
2676         * svg/SVGAnimatedLengthList.cpp:
2677         (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
2678         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
2679         * svg/SVGLength.cpp:
2680         (WebCore::SVGLength::SVGLength):
2681         * svg/SVGTextContentElement.cpp:
2682         (WebCore::SVGTextContentElement::textLengthAnimated):
2683         * svg/animation/SVGSMILElement.cpp:
2684         (WebCore::constructQualifiedName):
2685             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
2686
2687 2013-02-07  Mary Wu  <mary.wu@torchmobile.com.cn>
2688
2689         [BlackBerry] Export mimeType in NetworkJob
2690         https://bugs.webkit.org/show_bug.cgi?id=109002
2691
2692         Reviewed by Yong Li.
2693
2694         NetworkJob will analysize resource mimetype and set it to resourceResponse,
2695         we will pass it on to be used by other Streams like download stream.
2696
2697         RIM bug# 284408, internally reviewed by Liam Quinn.
2698
2699         * platform/network/blackberry/NetworkJob.cpp:
2700         (WebCore::NetworkJob::mimeType):
2701         (WebCore):
2702         * platform/network/blackberry/NetworkJob.h:
2703         (NetworkJob):
2704
2705 2013-02-07  Peter Rybin  <prybin@chromium.org>
2706
2707         Web Inspector: support JavaScript variable mutation in protocol and V8 bindings
2708         https://bugs.webkit.org/show_bug.cgi?id=107829
2709
2710         A new command is added to protocol description and the call is passed through
2711         debugger agent through injected script and debugger script down to V8 mirror
2712         API. JSC bindings got a thorw exception stub.
2713
2714         Only declarative JavaScript scopes are supported (local, closure, catch). Other
2715         scopes (global, with) are not supported by V8 and not supported by protocol, because
2716         manual approach (direct property assigment) is available for them in form of evaluate
2717         commands and is more desirable because of a complex nature of operation (it can throw
2718         exception in several cases such as exception in setter function).
2719
2720         Reviewed by Pavel Feldman.
2721
2722         Test: inspector-protocol/debugger-setVariableValue.html
2723
2724         * bindings/js/JSInjectedScriptHostCustom.cpp:
2725         (WebCore::JSInjectedScriptHost::setFunctionVariableValue):
2726         (WebCore):
2727         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2728         (WebCore::JSJavaScriptCallFrame::setVariableValue):
2729         (WebCore):
2730         * bindings/v8/DebuggerScript.js:
2731         (.):
2732         * bindings/v8/JavaScriptCallFrame.cpp:
2733         (WebCore::JavaScriptCallFrame::setVariableValue):
2734         (WebCore):
2735         * bindings/v8/JavaScriptCallFrame.h:
2736         (JavaScriptCallFrame):
2737         * bindings/v8/ScriptDebugServer.cpp:
2738         (WebCore::ScriptDebugServer::setFunctionVariableValue):
2739         (WebCore):
2740         * bindings/v8/ScriptDebugServer.h:
2741         (ScriptDebugServer):
2742         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2743         (WebCore::V8InjectedScriptHost::setFunctionVariableValueCallback):
2744         (WebCore):
2745         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
2746         (WebCore::V8JavaScriptCallFrame::setVariableValueCallback):
2747         (WebCore):
2748         * inspector/InjectedScript.cpp:
2749         (WebCore::InjectedScript::setVariableValue):
2750         (WebCore):
2751         * inspector/InjectedScript.h:
2752         (InjectedScript):
2753         * inspector/InjectedScriptHost.idl:
2754         * inspector/InjectedScriptSource.js:
2755         (.):
2756         * inspector/Inspector.json:
2757         * inspector/InspectorDebuggerAgent.cpp:
2758         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
2759         (WebCore::InspectorDebuggerAgent::setVariableValue):
2760         (WebCore):
2761         * inspector/InspectorDebuggerAgent.h:
2762         (InspectorDebuggerAgent):
2763         * inspector/JavaScriptCallFrame.idl:
2764
2765 2013-02-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2766
2767         [CoordinatedGraphics] Use ScrollingCoordinator to track fixed layers
2768         https://bugs.webkit.org/show_bug.cgi?id=108990
2769
2770         Reviewed by Noam Rosenthal.
2771
2772         WebCore keeps ScrollingCoordinator up-to-date about whether layers are fixed or not, so we
2773         don't need to traverse the tree every frame to get this information.
2774
2775         The function ScrollingCoordinator::setLayerIsFixedToContainerLayer() is called when
2776         RenderLayerBacking is updating its graphics layers.
2777
2778         The new code also works in new situations where the previous was broken: if a layer changed
2779         from being fixed to not fixed (but still kept as a layer for other reasons), the layer will
2780         be correctly updated. Previous implementation only had logic to mark layers as fixed, but
2781         not the other way round. A manual test was added to illustrate the solved problem.
2782
2783         Testing was done with the existing manual tests that make use of "position:fixed". Automatic
2784         tests are mostly not affected by this because usage of this information affects only the
2785         UseFixedLayout mode, not used by default in WebKitTestRunner. Work to improve this situation
2786         will be tracked in bug https://bugs.webkit.org/show_bug.cgi?id=109175.
2787
2788         * CMakeLists.txt:
2789         * Target.pri:
2790         * WebCore.pri:
2791         * page/scrolling/ScrollingCoordinator.cpp:
2792         (WebCore::ScrollingCoordinator::create): create specific version of ScrollingCoordinator.
2793         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
2794         (WebCore):
2795         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
2796         (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
2797         update layer information using existing hook in ScrollingCoordinator.
2798         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
2799         (WebCore):
2800         (ScrollingCoordinatorCoordinatedGraphics):
2801         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2802         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport): now that setting viewport is not
2803         embedded in the synchronization work, we need to mark the layer so it is updated in the
2804         next frame.
2805         (WebCore):
2806         (WebCore::CoordinatedGraphicsLayer::flushCompositingState): remove call to syncFixedLayers().
2807         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2808         (CoordinatedGraphicsLayerClient): remove now unused syncFixedLayers() from client.
2809         (CoordinatedGraphicsLayer):
2810
2811 2013-02-07  Keishi Hattori  <keishi@webkit.org>
2812
2813         REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
2814         https://bugs.webkit.org/show_bug.cgi?id=109136
2815
2816         Reviewed by Kent Tamura.
2817
2818         Calendar picker was using the "Clear" button to calculate the window width.
2819         Since it doesn't exist when the input element has a required attribute,
2820         it was throwing an error. This patch fixes the width calculating logic.
2821
2822         Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
2823                platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
2824
2825         * Resources/pagepopups/calendarPicker.css:
2826         (.today-clear-area):
2827         * Resources/pagepopups/calendarPicker.js:
2828         (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
2829         the width. We don't want to use clear button because it doesn't exist
2830         when a value is required.
2831
2832 2013-02-07  Gustavo Noronha Silva  <gns@gnome.org>
2833
2834         Unreviewed build fix. libWebCore.la needs to be relinked when
2835         symbols.filter changes.
2836
2837         * GNUmakefile.am: add symbols.filter as a dependency for the
2838         libWebCore.la library.
2839
2840 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
2841
2842         Web Inspector: Closure compilation fixes
2843         https://bugs.webkit.org/show_bug.cgi?id=109131
2844
2845         Reviewed by Yury Semikhatsky.
2846
2847         * inspector/front-end/ElementsPanel.js:
2848         (WebInspector.ElementsPanel):
2849         * inspector/front-end/FileSystemMapping.js:
2850         (WebInspector.FileSystemMappingImpl.prototype.uriPrefixForPathPrefix):
2851         * inspector/front-end/IsolatedFileSystemModel.js:
2852         (WebInspector.IsolatedFileSystemModel.prototype._fileSystemRemoved):
2853         * inspector/front-end/SidebarPane.js:
2854
2855 2013-02-07  Kentaro Hara  <haraken@chromium.org>
2856
2857         Unreviewed, rolling out r142077.
2858         http://trac.webkit.org/changeset/142077
2859         https://bugs.webkit.org/show_bug.cgi?id=108579
2860
2861         fast/filesystem/workers/file-writer-empty-blob.html is broken
2862
2863         * bindings/v8/DOMDataStore.h:
2864         (WebCore::DOMDataStore::setWrapperInObject):
2865         * bindings/v8/DOMWrapperWorld.h:
2866         (DOMWrapperWorld):
2867         (WebCore::DOMWrapperWorld::isolated):
2868         * bindings/v8/V8Binding.h:
2869         (WebCore):
2870         (WebCore::worldForEnteredContextIfIsolated):
2871         * bindings/v8/V8DOMWindowShell.cpp:
2872         (WebCore::V8DOMWindowShell::initializeIfNeeded):
2873         * bindings/v8/V8GCController.cpp:
2874         (WebCore::WrapperVisitor::WrapperVisitor):
2875         (WebCore):
2876         (WebCore::gcTree):
2877         (WebCore::V8GCController::didCreateWrapperForNode):
2878         (WebCore::V8GCController::gcPrologue):
2879         (WebCore::V8GCController::minorGCPrologue):
2880         (WebCore::V8GCController::majorGCPrologue):
2881         * bindings/v8/V8GCController.h:
2882         (V8GCController):
2883
2884 2013-02-07  Tony Gentilcore  <tonyg@chromium.org>
2885
2886         Call XSSAuditor.filterToken() from threaded HTML parser
2887         https://bugs.webkit.org/show_bug.cgi?id=107603
2888
2889         Reviewed by Adam Barth.
2890
2891         With this patch we now pass 180 of 182 tests in http/tests/security/xssAuditor.
2892
2893         We do this by creating aan XSSAuditor on the main thread and passing ownership of them to the BackgroundHTMLParser upon its creation.
2894
2895         Then the background thread calls filterToken() and stores the resulting XSSInfo (if any) on the CompactHTMLToken for the main thread to handle.
2896
2897         This involved trimming the XSSAuditor to only depend on the TextEncoding instead of the whole TextResourceDecoder.
2898
2899         No new tests because covered by existing tests.
2900
2901         * html/parser/BackgroundHTMLParser.cpp:
2902         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
2903         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2904         (WebCore::BackgroundHTMLParser::createPartial):
2905         * html/parser/BackgroundHTMLParser.h:
2906         (WebCore):
2907         (WebCore::BackgroundHTMLParser::create):
2908         (BackgroundHTMLParser):
2909         * html/parser/HTMLDocumentParser.cpp:
2910         (WebCore::HTMLDocumentParser::pumpTokenizer):
2911         (WebCore::HTMLDocumentParser::startBackgroundParser):
2912         * html/parser/HTMLSourceTracker.cpp:
2913         (WebCore::HTMLSourceTracker::start):
2914         (WebCore::HTMLSourceTracker::end):
2915         * html/parser/HTMLSourceTracker.h: Change the HTMLInputStream args to SegmentedString because the background thread only has a BackgroundHTMLInputStream.
2916         (HTMLSourceTracker):
2917         * html/parser/HTMLViewSourceParser.cpp:
2918         (WebCore::HTMLViewSourceParser::pumpTokenizer):
2919         * html/parser/XSSAuditor.cpp:
2920         (WebCore::fullyDecodeString):
2921         (WebCore::XSSAuditor::XSSAuditor):
2922         (WebCore::XSSAuditor::init): Copies necessary to make isSafeToSendToAnotherThread() happy.
2923         (WebCore::XSSAuditor::decodedSnippetForName):
2924         (WebCore::XSSAuditor::decodedSnippetForAttribute):
2925         (WebCore::XSSAuditor::decodedSnippetForJavaScript):
2926         (WebCore::XSSAuditor::isSafeToSendToAnotherThread): Check that all String and KURL members are safe to send to another thread.
2927         (WebCore):
2928         * html/parser/XSSAuditor.h:
2929         (WebCore):
2930         (WebCore::FilterTokenRequest::FilterTokenRequest):
2931         (FilterTokenRequest):
2932         (XSSAuditor):
2933
2934 2013-02-07  ChangSeok Oh  <shivamidow@gmail.com>
2935
2936         [GTK][AC] Implement opacity animation with clutter ac backend
2937         https://bugs.webkit.org/show_bug.cgi?id=108961
2938
2939         Reviewed by Gustavo Noronha Silva.
2940
2941         Implement opacity animation with clutter ac backend.
2942         Almost all implementations of GraphicsLayerClutter are based on mac port's one.
2943         PlatformClutterAnimation interfaces are also similar with mac port, but they are implemented
2944         with native clutter APIs.
2945         This patch includes only opacity animation related changes, so many APIs might be empty.
2946         Remained animations like rotation and translate will be dealt in another patches.
2947
2948         Covered by existing animation tests.
2949
2950         * GNUmakefile.list.am:
2951         * platform/graphics/clutter/GraphicsLayerActor.cpp:
2952         (graphicsLayerActorGetAnimationForKey):
2953         * platform/graphics/clutter/GraphicsLayerActor.h:
2954         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2955         (WebCore):
2956         (WebCore::propertyIdToString):
2957         (WebCore::animationIdentifier):
2958         (WebCore::animationHasStepsTimingFunction):
2959         (WebCore::GraphicsLayerClutter::setOpacity):
2960         (WebCore::GraphicsLayerClutter::updateAnimations):
2961         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
2962         (WebCore::GraphicsLayerClutter::setupAnimation):
2963         (WebCore::GraphicsLayerClutter::timingFunctionForAnimationValue):
2964         (WebCore::GraphicsLayerClutter::createBasicAnimation):
2965         (WebCore::GraphicsLayerClutter::createKeyframeAnimation):
2966         (WebCore::GraphicsLayerClutter::setTransformAnimationKeyframes):
2967         (WebCore::GraphicsLayerClutter::setTransformAnimationEndpoints):
2968         (WebCore::GraphicsLayerClutter::createTransformAnimationsFromKeyframes):
2969         (WebCore::GraphicsLayerClutter::createAnimationFromKeyframes):
2970         (WebCore::GraphicsLayerClutter::addAnimation):
2971         (WebCore::GraphicsLayerClutter::removeClutterAnimationFromLayer):
2972         (WebCore::GraphicsLayerClutter::pauseClutterAnimationOnLayer):
2973         (WebCore::GraphicsLayerClutter::setAnimationOnLayer):
2974         (WebCore::GraphicsLayerClutter::setAnimationEndpoints):
2975         (WebCore::GraphicsLayerClutter::setAnimationKeyframes):
2976         (WebCore::GraphicsLayerClutter::animatedLayer):
2977         * platform/graphics/clutter/GraphicsLayerClutter.h:
2978         (GraphicsLayerClutter):
2979         (WebCore::GraphicsLayerClutter::LayerPropertyAnimation::LayerPropertyAnimation):
2980         (LayerPropertyAnimation):
2981         (WebCore::GraphicsLayerClutter::AnimationProcessingAction::AnimationProcessingAction):
2982         (AnimationProcessingAction):
2983         * platform/graphics/clutter/PlatformClutterAnimation.cpp: Added.
2984         (WebCore):
2985         (WebCore::timelineStartedCallback):
2986         (WebCore::toClutterAnimationMode):
2987         (WebCore::PlatformClutterAnimation::stringToAnimatedPropertyType):
2988         (WebCore::PlatformClutterAnimation::create):
2989         (WebCore::PlatformClutterAnimation::PlatformClutterAnimation):
2990         (WebCore::PlatformClutterAnimation::~PlatformClutterAnimation):
2991         (WebCore::PlatformClutterAnimation::supportsValueFunction):
2992         (WebCore::PlatformClutterAnimation::beginTime):
2993         (WebCore::PlatformClutterAnimation::setBeginTime):
2994         (WebCore::PlatformClutterAnimation::duration):
2995         (WebCore::PlatformClutterAnimation::setDuration):
2996         (WebCore::PlatformClutterAnimation::speed):
2997         (WebCore::PlatformClutterAnimation::setSpeed):
2998         (WebCore::PlatformClutterAnimation::timeOffset):
2999         (WebCore::PlatformClutterAnimation::setTimeOffset):
3000         (WebCore::PlatformClutterAnimation::repeatCount):
3001         (WebCore::PlatformClutterAnimation::setRepeatCount):
3002         (WebCore::PlatformClutterAnimation::autoreverses):
3003         (WebCore::PlatformClutterAnimation::setAutoreverses):
3004         (WebCore::PlatformClutterAnimation::fillMode):
3005         (WebCore::PlatformClutterAnimation::setFillMode):
3006         (WebCore::PlatformClutterAnimation::setTimingFunction):
3007         (WebCore::PlatformClutterAnimation::copyTimingFunctionFrom):
3008         (WebCore::PlatformClutterAnimation::isRemovedOnCompletion):
3009         (WebCore::PlatformClutterAnimation::setRemovedOnCompletion):
3010         (WebCore::PlatformClutterAnimation::isAdditive):
3011         (WebCore::PlatformClutterAnimation::setAdditive):
3012         (WebCore::PlatformClutterAnimation::valueFunction):
3013         (WebCore::PlatformClutterAnimation::setValueFunction):
3014         (WebCore::PlatformClutterAnimation::setFromValue):
3015         (WebCore::PlatformClutterAnimation::copyFromValueFrom):
3016         (WebCore::PlatformClutterAnimation::setToValue):
3017         (WebCore::PlatformClutterAnimation::copyToValueFrom):
3018         (WebCore::PlatformClutterAnimation::setValues):
3019         (WebCore::PlatformClutterAnimation::copyValuesFrom):
3020         (WebCore::PlatformClutterAnimation::setKeyTimes):
3021         (WebCore::PlatformClutterAnimation::copyKeyTimesFrom):
3022         (WebCore::PlatformClutterAnimation::setTimingFunctions):
3023         (WebCore::PlatformClutterAnimation::copyTimingFunctionsFrom):
3024         (WebCore::PlatformClutterAnimation::animationDidStart):
3025         (WebCore::PlatformClutterAnimation::timeline):
3026         (WebCore::PlatformClutterAnimation::addOpacityTransition):
3027         (WebCore::PlatformClutterAnimation::addAnimationForKey):
3028         (WebCore::PlatformClutterAnimation::removeAnimationForKey):
3029         * platform/graphics/clutter/PlatformClutterAnimation.h: Added.
3030         (WebCore):
3031         (PlatformClutterAnimation):
3032         (WebCore::PlatformClutterAnimation::animationType):
3033
3034 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
3035
3036         Web Inspector: highlight matching braces in DTE.
3037         https://bugs.webkit.org/show_bug.cgi?id=108697
3038
3039         Reviewed by Pavel Feldman.
3040
3041         Implement BraceMatcher class which for given position in textModel
3042         will respond with enclosing brace pair for that position.
3043         Make use of this class in DefaultTextEditor by handling
3044         selectionChange event. Make use of this class in "_closingBlockOffset"
3045         method of TextEditorMainPanel as this method implements similar
3046         functionality.
3047
3048         New test: inspector/editor/brace-matcher.html
3049
3050         * inspector/front-end/DefaultTextEditor.js:
3051         (WebInspector.TextEditorMainPanel):
3052         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
3053         (WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
3054         (WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):
3055         (WebInspector.TextEditorMainPanel.BraceHighlightController):
3056         (WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.handleSelectionChange):
3057         * inspector/front-end/TextEditorHighlighter.js:
3058         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
3059         * inspector/front-end/TextEditorModel.js:
3060         (WebInspector.TextEditorModel.endsWithBracketRegex):
3061         (WebInspector.TextEditorModel.endsWithBracketRegex.):
3062         * inspector/front-end/textEditor.css:
3063         (.text-editor-brace-match):
3064
3065 2013-02-05  Eunmi Lee  <eunmi15.lee@samsung.com> and Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
3066
3067         [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
3068         https://bugs.webkit.org/show_bug.cgi?id=97173
3069
3070         Reviewed by Kenneth Rohde Christiansen, signed-off by Benjamin Poulain.
3071
3072         Remove codes to initialize and shutdown the EFL libraries from
3073         RunLoopEfl.cpp. Initialization and shutdown will be done in the
3074         ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web
3075         process.
3076
3077         No new tests. This patch doesn't change behavior.
3078
3079         * platform/efl/RunLoopEfl.cpp:
3080         (WebCore::RunLoop::RunLoop):
3081         (WebCore::RunLoop::~RunLoop):
3082
3083 2013-02-07  Ilya Tikhonovsky  <loislo@chromium.org>
3084
3085         Unreviewed fix for inspector tests in debug.
3086         m_frontend should be initialized in constructor.
3087
3088         * inspector/InspectorMemoryAgent.cpp:
3089         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
3090
3091 2013-02-07  Yury Semikhatsky  <yurys@chromium.org>
3092
3093         Web Inspector: reduce number of native memory instrumentation categories
3094         https://bugs.webkit.org/show_bug.cgi?id=109146
3095
3096         Reviewed by Pavel Feldman.
3097
3098         Merged some of memory instrumentation categories.
3099
3100         * dom/WebCoreMemoryInstrumentation.cpp:
3101         (WebCore):
3102         * inspector/front-end/NativeMemorySnapshotView.js:
3103         (WebInspector.MemoryBlockViewProperties._initialize):
3104         * platform/PlatformMemoryInstrumentation.cpp:
3105         (WebCore):
3106
3107 2013-02-04  Kentaro Hara  <haraken@chromium.org>
3108
3109         [V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
3110         https://bugs.webkit.org/show_bug.cgi?id=108579
3111
3112         Reviewed by Adam Barth.
3113
3114         Currently V8GCController::m_edenNodes stores a list of nodes whose
3115         wrappers have been created since the latest GC. The reason why we
3116         needed m_edenNodes is that there was no way to know a list of wrappers
3117         in the new space of V8. By using m_edenNodes, we had been approximating
3118         'wrappers in the new space' by 'wrappers that have been created since
3119         the latest GC'.
3120
3121         Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
3122         can know a list of wrappers in the new space. By using the API, we can
3123         remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
3124         need to keep m_edenNodes and that (2) it enables more precise minor
3125         DOM GC (Remember that m_edenNodes was just an approximation).
3126
3127         Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
3128         The benchmark runs 300 iterations, each of which creates 100000 elements.
3129         The benchmark measures average, min, median, max and stdev of execution times
3130         of the 300 iterations. This will tell us the worst-case overhead of this change.
3131
3132         Before:
3133           mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
3134
3135         After:
3136           mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
3137
3138         As shown above, I couldn't observe any performance regression.
3139
3140         No tests. No change in behavior.
3141
3142         * bindings/v8/DOMDataStore.h:
3143         (WebCore::DOMDataStore::setWrapperInObject):
3144         * bindings/v8/DOMWrapperWorld.h:
3145         (DOMWrapperWorld):
3146         (WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):
3147         * bindings/v8/V8Binding.h:
3148         (WebCore):
3149         (WebCore::worldForEnteredContextIfIsolated):
3150         (WebCore::worldForEnteredContextWithoutContextCheck):
3151         * bindings/v8/V8DOMWindowShell.cpp:
3152         (WebCore::V8DOMWindowShell::initializeIfNeeded):
3153         * bindings/v8/V8GCController.cpp:
3154         (WebCore::gcTree):
3155         (WebCore):
3156         (MinorGCWrapperVisitor):
3157         (WebCore::MinorGCWrapperVisitor::MinorGCWrapperVisitor):
3158         (WebCore::MinorGCWrapperVisitor::notifyFinished):
3159         (WebCore::MajorGCWrapperVisitor::MajorGCWrapperVisitor):
3160         (WebCore::V8GCController::gcPrologue):
3161         (WebCore::V8GCController::minorGCPrologue):
3162         (WebCore::V8GCController::majorGCPrologue):
3163         * bindings/v8/V8GCController.h:
3164         (V8GCController):
3165
3166 2013-02-06  Kent Tamura  <tkent@chromium.org>
3167
3168         REGRESSION(r141195): INPUT_MULTIPLE_FIELDS_UI: Space in a placeholder string is removed
3169         https://bugs.webkit.org/show_bug.cgi?id=109132
3170
3171         Reviewed by Hajime Morita.
3172
3173         <input  type=date> should be shown in Japanese UI as:
3174         [ 年 /月/日]
3175         But it is shown wrongly since r141195:
3176         [年 /月/日]
3177
3178         We should use white-space:pre.
3179
3180         No new tests. This change is not testable in WebKit because this
3181         requires a Japanese-localized UI string of Chromium.
3182
3183         * css/html.css:
3184         (input::-webkit-datetime-edit-fields-wrapper):
3185         Use white-space:pre instead of nowrap.
3186
3187 2013-02-06  Kentaro Hara  <haraken@chromium.org>
3188
3189         Remove DOMWindow::parseModalDialogFeatures()
3190         https://bugs.webkit.org/show_bug.cgi?id=109139
3191
3192         Reviewed by Kent Tamura.
3193
3194         No one uses the method. FIXME is saying:
3195
3196           // FIXME: We can remove this function once V8 showModalDialog is changed to use DOMWindow.
3197
3198         Given that V8's showModalDialog() is now using DOMWindow, we can remove it.
3199
3200         No tests. No change in behavior.
3201
3202         * page/DOMWindow.cpp:
3203         * page/DOMWindow.h:
3204         (DOMWindow):
3205
3206 2013-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
3207
3208         Web Inspector: Native Memory Instrumentation: reduce native heap snapshot runtime memory footprint
3209         https://bugs.webkit.org/show_bug.cgi?id=108824
3210
3211         Reviewed by Yury Semikhatsky.
3212
3213         New event was added into Memory domain addNativeSnapshotChunk.
3214         The content of HeapGraphSerializer is completely rewritten according to new API.
3215         Now it collects strings, nodes, edges and id2id map and pushes when the collected items count exceed a limit.
3216         On the frontend side I added new method for the new event and fixed the postprocessing step.
3217         MemoryInstrumentation was slightly changed. Now it reports base to real address map only after reporting the node with real address.
3218
3219         * inspector/HeapGraphSerializer.cpp:
3220         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
3221         (WebCore::HeapGraphSerializer::pushUpdateIfNeed):
3222         (WebCore):
3223         (WebCore::HeapGraphSerializer::pushUpdate):
3224         (WebCore::HeapGraphSerializer::reportNode):
3225         (WebCore::HeapGraphSerializer::reportNodeImpl):
3226         (WebCore::HeapGraphSerializer::reportEdge):
3227         (WebCore::HeapGraphSerializer::reportEdgeImpl):
3228         (WebCore::HeapGraphSerializer::reportLeaf):
3229         (WebCore::HeapGraphSerializer::reportBaseAddress):
3230         (WebCore::HeapGraphSerializer::finish):
3231         (WebCore::HeapGraphSerializer::reportMemoryUsage):
3232         (WebCore::HeapGraphSerializer::addString):
3233         (WebCore::HeapGraphSerializer::toNodeId):
3234         (WebCore::HeapGraphSerializer::addRootNode):
3235         * inspector/HeapGraphSerializer.h:
3236         (HeapGraphSerializer):
3237         * inspector/Inspector.json:
3238         * inspector/InspectorController.cpp:
3239         (WebCore::InspectorController::processMemoryDistribution):
3240         * inspector/InspectorMemoryAgent.cpp:
3241         (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionMap):
3242         (WebCore):
3243         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
3244         (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):
3245         (WebCore::InspectorMemoryAgent::setFrontend):
3246         (WebCore::InspectorMemoryAgent::clearFrontend):
3247         * inspector/InspectorMemoryAgent.h:
3248         (InspectorMemoryAgent):
3249         * inspector/front-end/NativeHeapSnapshot.js:
3250         (WebInspector.NativeHeapSnapshot):
3251         (WebInspector.NativeHeapSnapshotNode.prototype.classIndex):
3252         (WebInspector.NativeHeapSnapshotNode.prototype.id):
3253         (WebInspector.NativeHeapSnapshotNode.prototype.name):
3254         (WebInspector.NativeHeapSnapshotNode.prototype.serialize):
3255         * inspector/front-end/NativeMemorySnapshotView.js:
3256         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
3257         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
3258         (WebInspector.NativeSnapshotProfileHeader):
3259         (WebInspector.NativeSnapshotProfileHeader.prototype.startSnapshotTransfer):
3260         (WebInspector.NativeSnapshotProfileHeader.prototype.addNativeSnapshotChunk):
3261         (WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
3262         (WebInspector.NativeMemoryProfileType.prototype.buttonClicked):
3263         (WebInspector.NativeMemoryBarChart.prototype._updateStats):
3264         * inspector/front-end/ProfilesPanel.js:
3265         (WebInspector.ProfilesPanel):
3266         (WebInspector.MemoryDispatcher):
3267         (WebInspector.MemoryDispatcher.prototype.addNativeSnapshotChunk):
3268
3269 2013-02-03  Kentaro Hara  <haraken@chromium.org>
3270
3271         WebKit's focus events are UIEvents (instead of FocusEvent) and thus don't expose .relatedTarget
3272         https://bugs.webkit.org/show_bug.cgi?id=76216
3273
3274         Reviewed by Eric Seidel.
3275
3276         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-FocusEvent
3277
3278         This patch creates a new FocusEvent class with a relatedTarget attribute.
3279         Now when focusin or focusout events are dispatched, a FocusEvent is created with
3280         the relatedTarget attribute set accordingly.
3281
3282         Test: fast/events/related-target-focusevent.html
3283
3284         * CMakeLists.txt:
3285         * DerivedSources.cpp:
3286         * DerivedSources.make:
3287         * DerivedSources.pri:
3288         * GNUmakefile.list.am:
3289         * Target.pri:
3290         * WebCore.gypi:
3291         * WebCore.xcodeproj/project.pbxproj:
3292         * dom/DOMAllInOne.cpp:
3293         * dom/Event.cpp:
3294         (WebCore::Event::isFocusEvent):
3295         (WebCore):
3296         * dom/Event.h:
3297         (Event):
3298         * dom/EventContext.cpp:
3299         (WebCore::EventContext::handleLocalEvents):
3300         * dom/EventNames.in:
3301         * dom/FocusEvent.h: Added.
3302         (WebCore):
3303         (FocusEvent):
3304         (WebCore::FocusEvent::create):
3305         (WebCore::FocusEvent::relatedTarget):
3306         (WebCore::FocusEvent::setRelatedTarget):
3307         (WebCore::toFocusEvent):
3308         * dom/FocusEvent.idl: Added.
3309         * dom/Node.cpp:
3310         (WebCore::Node::dispatchFocusInEvent):
3311         (WebCore::Node::dispatchFocusOutEvent):
3312
3313 2013-02-06  Kent Tamura  <tkent@chromium.org>
3314
3315         Fix style of RenderTheme.cpp and RenderThemeChromiumWin.h
3316         https://bugs.webkit.org/show_bug.cgi?id=109137
3317
3318         Reviewed by Kentaro Hara.
3319
3320         No new tests. Just style fix.
3321
3322         * rendering/RenderTheme.cpp:
3323         (WebCore::RenderTheme::adjustStyle):
3324         (WebCore::RenderTheme::paint):
3325         (WebCore::RenderTheme::paintBorderOnly):
3326         (WebCore::RenderTheme::paintDecorations):
3327         (WebCore::RenderTheme::isControlStyled):
3328         (WebCore::RenderTheme::adjustButtonStyle):
3329         (WebCore::RenderTheme::systemColor):
3330         * rendering/RenderThemeChromiumWin.h:
3331         (WebCore::ThemeData::ThemeData):
3332         (ThemeData):
3333         (RenderThemeChromiumWin):
3334         (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
3335         (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
3336
3337 2013-02-06  Kent Tamura  <tkent@chromium.org>
3338
3339         Fix style of Chrome.h and Page.h
3340         https://bugs.webkit.org/show_bug.cgi?id=109138
3341
3342         Reviewed by Ryosuke Niwa.
3343
3344         No new tests. Just style fixes.
3345
3346         * page/Chrome.h:
3347         (WebCore):
3348         (Chrome):
3349         (WebCore::Chrome::client):
3350         * page/Page.h:
3351         (JSC):
3352         (WebCore):
3353         (WebCore::ArenaSize::ArenaSize):
3354         (ArenaSize):
3355         (Page):
3356         (PageClients):
3357         (WebCore::Page::theme):
3358         (WebCore::Page::canStartMedia):
3359         (WebCore::Page::editorClient):
3360         (WebCore::Page::plugInClient):
3361         (WebCore::Page::mainFrame):
3362         (WebCore::Page::groupPtr):
3363         (WebCore::Page::incrementSubframeCount):
3364         (WebCore::Page::decrementSubframeCount):
3365         (WebCore::Page::subframeCount):
3366         (WebCore::Page::chrome):
3367         (WebCore::Page::dragCaretController):
3368         (WebCore::Page::dragController):
3369         (WebCore::Page::focusController):
3370         (WebCore::Page::contextMenuController):
3371         (WebCore::Page::inspectorController):
3372         (WebCore::Page::pointerLockController):
3373         (WebCore::Page::validationMessageClient):
3374         (WebCore::Page::settings):
3375         (WebCore::Page::progress):
3376         (WebCore::Page::backForward):
3377         (WebCore::Page::featureObserver):
3378         (WebCore::Page::viewMode):
3379         (WebCore::Page::setTabKeyCyclesThroughElements):
3380         (WebCore::Page::tabKeyCyclesThroughElements):
3381         (WebCore::Page::scheduledRunLoopPairs):
3382         (WebCore::Page::defersLoading):
3383         (WebCore::Page::mediaVolume):
3384         (WebCore::Page::pageScaleFactor):
3385         (WebCore::Page::deviceScaleFactor):
3386         (WebCore::Page::shouldSuppressScrollbarAnimations):
3387         (WebCore::Page::pagination):
3388         (WebCore::Page::isOnscreen):
3389         (WebCore::Page::scriptedAnimationsSuspended):
3390         (WebCore::Page::debugger):
3391         (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
3392         (WebCore::Page::customHTMLTokenizerTimeDelay):
3393         (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
3394         (WebCore::Page::customHTMLTokenizerChunkSize):
3395         (WebCore::Page::areMemoryCacheClientCallsEnabled):
3396         (WebCore::Page::setEditable):
3397         (WebCore::Page::isEditable):
3398         (WebCore::Page::displayID):
3399         (WebCore::Page::layoutMilestones):
3400         (WebCore::Page::setIsPainting):
3401         (WebCore::Page::isPainting):
3402         (WebCore::Page::alternativeTextClient):
3403         (WebCore::Page::checkSubframeCountConsistency):
3404         (WebCore::Page::group):
3405
3406 2013-02-06  Mike West  <mkwst@chromium.org>
3407
3408         Entity-header extension headers honored on 304 responses.
3409         https://bugs.webkit.org/show_bug.cgi?id=72414
3410
3411         Reviewed by Alexey Proskuryakov.
3412
3413         This patch ports Chromium's network stack logic governing header
3414         updates after resource revalidation. Generally, headers sent with 304
3415         responses ought to update the original cached resource's headers.
3416         Certain headers should never be sent with 304 responses, and we should
3417         ignore them if a misconfigured server sends them anyway.
3418
3419         Currently, WebCore ignores all headers prefixed with 'content-'. This
3420         patch adds 'x-content-' and 'x-webkit-' to the list, as well as specific
3421         headers like 'upgrade', 'trailer', and others that the Chromium network
3422         stack currently ignores.
3423
3424         The tests verify that those headers with visible effect are correctly
3425         handled: 'x-frame-options', 'content-security-policy', and
3426         'x-xss-protection'.
3427
3428         Tests: http/tests/security/XFrameOptions/x-frame-options-cached.html
3429                http/tests/security/contentSecurityPolicy/cached-frame-csp.html
3430                http/tests/security/xssAuditor/cached-frame.html
3431
3432         * loader/cache/CachedResource.cpp:
3433         (WebCore):
3434         (WebCore::CachedResource::updateResponseAfterRevalidation):
3435             This patch adds two arrays containing the specific headers to
3436             ignore and the prefixes to ignore. These lists are processed in
3437             shouldUpdateHeaderAfterRevalidation.
3438             CachedResource::updateResponseAfterRevalidation relies on this new
3439             method when processing revalidated resources.
3440
3441         * loader/cache/CachedResource.cpp:
3442         (WebCore):
3443         (WebCore::shouldUpdateHeaderAfterRevalidation):
3444         (WebCore::CachedResource::updateResponseAfterRevalidation):
3445
3446 2013-02-06  Tom Sepez  <tsepez@chromium.org>
3447
3448         document.referrer leakage with XSS Auditor page block
3449         https://bugs.webkit.org/show_bug.cgi?id=109089
3450
3451         Reviewed by Adam Barth.
3452
3453         Pass "about:blank" as referrer instead of "" so that the actual page
3454         is not leaked when empty referrers are replaced later on in the
3455         request.
3456         
3457         * html/parser/XSSAuditorDelegate.cpp:
3458         (WebCore::XSSAuditorDelegate::didBlockScript):
3459
3460 2013-02-06  Kentaro Hara  <haraken@chromium.org>
3461
3462         [V8] Make an Isolate parameter mandatory in GetTemplate() and GetRawTemplate()
3463         https://bugs.webkit.org/show_bug.cgi?id=109026
3464
3465   &nbs