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