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