1 2013-02-08 ChangSeok Oh <shivamidow@gmail.com>
3 [GTK][AC] GraphicsLayerClutter doesn't need to recalculate its position after changing anchor position.
4 https://bugs.webkit.org/show_bug.cgi?id=109226
6 Reviewed by Gustavo Noronha Silva.
8 Clutter has a different coordinate system from mac port's, so we don't need to
9 recalulate GraphicsLayer position after changing its anchor position.
11 Covered by existing ac tests.
13 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
14 (WebCore::GraphicsLayerClutter::updateGeometry):
16 2013-02-08 Mike West <mkwst@chromium.org>
18 Migrate ExceptionCode ASSERTs in IDB to ASSERT_NO_EXCEPTION.
19 https://bugs.webkit.org/show_bug.cgi?id=109266
21 Reviewed by Jochen Eisinger.
26 methodThatGeneratesException(ec);
29 is more clearly and succinctly written as:
31 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
33 This patch replaces the occurances of the former in IDB code that never
34 touch 'ec' again with the latter. No change in behavior should result
35 from this refactoring.
37 * Modules/indexeddb/IDBCursor.cpp:
38 (WebCore::IDBCursor::advance):
39 (WebCore::IDBCursor::continueFunction):
40 (WebCore::IDBCursor::deleteFunction):
41 These methods checked the value of the ExceptionCode without first
42 initializing it to 0. Now the ExceptionCode is explicitly set to 0
43 before doing potentially exception-generating work.
44 (WebCore::IDBCursor::direction):
45 * Modules/indexeddb/IDBObjectStore.cpp:
47 * Modules/indexeddb/IDBTransaction.cpp:
48 (WebCore::IDBTransaction::mode):
49 Replace the above pattern with ASSERT_NO_EXCEPTION.
51 2013-02-08 Mike West <mkwst@chromium.org>
53 Migrate ExceptionCode ASSERTs in SVG to ASSERT_NO_EXCEPTION.
54 https://bugs.webkit.org/show_bug.cgi?id=109267
56 Reviewed by Jochen Eisinger.
61 methodThatGeneratesException(ec);
64 is more clearly and succinctly written as:
66 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
68 This patch replaces the occurances of the former in SVG code that never
69 touch 'ec' again with the latter. No change in behavior should result
70 from this refactoring.
73 (WebCore::SVGLength::SVGLength):
74 (WebCore::SVGLength::setValue):
75 This method checked the value of the ExceptionCode without first
76 initializing it to 0. Now it initializes before doing potentially
77 exception-generating work.
78 * rendering/style/SVGRenderStyle.h:
79 (WebCore::SVGRenderStyle::initialBaselineShiftValue):
80 (WebCore::SVGRenderStyle::initialKerning):
81 (WebCore::SVGRenderStyle::initialStrokeDashOffset):
82 (WebCore::SVGRenderStyle::initialStrokeWidth):
83 * svg/SVGAnimatedLength.cpp:
84 (WebCore::sharedSVGLength):
85 (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
86 (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
87 * svg/SVGAnimatedLengthList.cpp:
88 (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
89 (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
90 * svg/SVGTextContentElement.cpp:
91 (WebCore::SVGTextContentElement::textLengthAnimated):
92 * svg/animation/SVGSMILElement.cpp:
93 (WebCore::constructQualifiedName):
94 Replace the above pattern with ASSERT_NO_EXCEPTION.
96 2013-02-08 Vsevolod Vlasov <vsevik@chromium.org>
98 Web Inspector: Replace workspace with project in UISourceCode constructor.
99 https://bugs.webkit.org/show_bug.cgi?id=109256
101 Reviewed by Alexander Pavlov.
103 Replaced workspace with project in UISourceCode constructor since every UISourceCode
104 operation is delegated to project anyway.
106 * inspector/front-end/UISourceCode.js:
107 (WebInspector.UISourceCode):
108 (WebInspector.UISourceCode.prototype.project):
109 (WebInspector.UISourceCode.prototype.requestContent):
110 (WebInspector.UISourceCode.prototype.requestOriginalContent):
111 (WebInspector.UISourceCode.prototype._commitContent):
112 (WebInspector.UISourceCode.prototype.searchInContent):
113 * inspector/front-end/Workspace.js:
114 (WebInspector.Project.prototype._fileAdded):
115 (WebInspector.Project.prototype.requestFileContent):
116 (WebInspector.Project.prototype.setFileContent):
117 (WebInspector.Project.prototype.searchInFileContent):
119 2013-02-08 Patrick Gansterer <paroga@webkit.org>
121 Build fix for Windows after r141981.
123 * platform/network/win/ResourceHandleWin.cpp:
124 (WebCore::ResourceHandle::loadResourceSynchronously):
126 2013-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
128 Unreviewed, rolling out r141695 and r141697.
129 http://trac.webkit.org/changeset/141695
130 http://trac.webkit.org/changeset/141697
131 https://bugs.webkit.org/show_bug.cgi?id=109279
133 broke on-disk buffering for http(s) media (Requested by philn
136 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
137 (WebCore::MediaPlayerPrivateGStreamer::load):
138 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
139 (MediaPlayerPrivateGStreamer):
140 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
141 (webKitWebSrcGetProtocols):
142 (webKitWebSrcSetUri):
144 2013-02-08 Dan Carney <dcarney@google.com>
146 [v8] isolate parameter added to all v8::peristent calls
147 https://bugs.webkit.org/show_bug.cgi?id=109268
149 Reviewed by Kentaro Hara.
151 No new tests. No change in functionality.
153 * bindings/scripts/CodeGeneratorV8.pm:
154 (GenerateDomainSafeFunctionGetter):
155 (GenerateNamedConstructorCallback):
156 (GenerateImplementation):
157 * bindings/scripts/test/V8/V8Float64Array.cpp:
158 (WebCore::V8Float64Array::GetRawTemplate):
159 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
160 (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
161 (WebCore::V8TestActiveDOMObject::GetRawTemplate):
162 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
163 (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
164 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
165 (WebCore::V8TestEventConstructor::GetRawTemplate):
166 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
167 (WebCore::V8TestEventTarget::GetRawTemplate):
168 * bindings/scripts/test/V8/V8TestException.cpp:
169 (WebCore::V8TestException::GetRawTemplate):
170 * bindings/scripts/test/V8/V8TestInterface.cpp:
171 (WebCore::V8TestInterface::GetRawTemplate):
172 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
173 (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
174 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
175 (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
176 (WebCore::V8TestNamedConstructor::GetRawTemplate):
177 * bindings/scripts/test/V8/V8TestNode.cpp:
178 (WebCore::V8TestNode::GetRawTemplate):
179 * bindings/scripts/test/V8/V8TestObj.cpp:
180 (WebCore::V8TestObj::GetRawTemplate):
181 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
182 (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
183 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
184 (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
185 * bindings/v8/DOMWrapperMap.h:
186 (WebCore::DOMWrapperMap::clear):
187 * bindings/v8/DOMWrapperWorld.cpp:
188 (WebCore::isolatedWorldWeakCallback):
189 (WebCore::DOMWrapperWorld::makeContextWeak):
190 * bindings/v8/NPV8Object.cpp:
191 (WebCore::freeV8NPObject):
192 (WebCore::npCreateV8ScriptObject):
193 * bindings/v8/ScheduledAction.cpp:
194 (WebCore::ScheduledAction::ScheduledAction):
195 (WebCore::ScheduledAction::~ScheduledAction):
196 * bindings/v8/ScopedPersistent.h:
197 (WebCore::ScopedPersistent::ScopedPersistent):
198 (WebCore::ScopedPersistent::set):
199 (WebCore::ScopedPersistent::clear):
200 * bindings/v8/ScriptWrappable.h:
201 (WebCore::ScriptWrappable::setWrapper):
202 (WebCore::ScriptWrappable::disposeWrapper):
203 (WebCore::ScriptWrappable::weakCallback):
204 * bindings/v8/V8Binding.cpp:
205 (WebCore::createRawTemplate):
206 * bindings/v8/V8Binding.h:
208 * bindings/v8/V8GCController.cpp:
210 (WebCore::V8GCController::gcPrologue):
211 (WebCore::V8GCController::minorGCPrologue):
212 * bindings/v8/V8GCController.h:
214 * bindings/v8/V8HiddenPropertyName.cpp:
215 (WebCore::V8HiddenPropertyName::createString):
216 * bindings/v8/V8LazyEventListener.cpp:
217 (WebCore::V8LazyEventListener::prepareListenerObject):
218 * bindings/v8/V8NPObject.cpp:
219 (WebCore::V8NPTemplateMap::dispose):
220 (WebCore::npObjectGetProperty):
221 (WebCore::createV8ObjectForNPObject):
222 * bindings/v8/V8PerContextData.cpp:
223 (WebCore::V8PerContextData::dispose):
224 (WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
225 (WebCore::V8PerContextData::constructorForTypeSlowCase):
226 * bindings/v8/V8ValueCache.cpp:
227 (WebCore::makeExternalString):
228 * bindings/v8/WrapperTypeInfo.h:
229 (WebCore::WrapperConfiguration::configureWrapper):
230 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
231 (WebCore::V8HTMLDocument::wrapInShadowObject):
232 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
233 (WebCore::V8HTMLImageElementConstructor::GetTemplate):
234 * bindings/v8/custom/V8InjectedScriptManager.cpp:
235 (WebCore::WeakReferenceCallback):
236 (WebCore::createInjectedScriptHostV8Wrapper):
237 * bindings/v8/custom/V8LocationCustom.cpp:
238 (WebCore::V8Location::reloadAccessorGetter):
239 (WebCore::V8Location::replaceAccessorGetter):
240 (WebCore::V8Location::assignAccessorGetter):
242 2013-02-08 Kent Tamura <tkent@chromium.org>
244 Adjust usage of ENABLE flags to enable whole content
245 https://bugs.webkit.org/show_bug.cgi?id=109270
247 Reviewed by Eric Seidel.
249 Our common usage of ENABLE flags to enable whole content of files is:
261 Fix files which have uncommon usage, and fix CodeGeneratorV8.pm so that
262 it generates the common pattern. Note that CodeGeneratorJS.pm already
263 generates code in this order.
265 * bindings/scripts/CodeGeneratorV8.pm:
266 (GenerateHeaderContentHeader):
267 (GenerateImplementationContentHeader):
268 * bindings/scripts/test/V8/V8TestCallback.cpp:
269 * bindings/scripts/test/V8/V8TestCallback.h:
270 * bindings/scripts/test/V8/V8TestInterface.cpp:
271 * bindings/scripts/test/V8/V8TestInterface.h:
272 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
273 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
274 * html/BaseMultipleFieldsDateAndTimeInputType.h:
275 * html/ColorInputType.cpp:
276 * html/ColorInputType.h:
277 * html/DateInputType.cpp:
278 * html/DateTimeInputType.cpp:
279 * html/DateTimeInputType.h:
280 * html/DateTimeLocalInputType.cpp:
281 * html/HTMLAudioElement.cpp:
282 * html/HTMLAudioElement.h:
283 * html/HTMLDataListElement.cpp:
284 * html/HTMLDialogElement.cpp:
285 * html/HTMLDialogElement.h:
286 * html/HTMLMediaElement.cpp:
287 * html/HTMLMediaElement.h:
288 * html/HTMLMeterElement.cpp:
289 * html/HTMLProgressElement.cpp:
290 * html/HTMLSourceElement.cpp:
291 * html/HTMLSourceElement.h:
292 * html/HTMLTrackElement.cpp:
293 * html/HTMLTrackElement.h:
294 * html/HTMLVideoElement.cpp:
295 * html/HTMLVideoElement.h:
296 * html/MonthInputType.cpp:
297 * html/TimeInputType.cpp:
298 * html/WeekInputType.cpp:
299 * html/shadow/DateTimeFieldElement.h:
300 * html/shadow/DetailsMarkerControl.cpp:
301 * html/shadow/MeterShadowElement.cpp:
302 * html/shadow/ProgressShadowElement.cpp:
303 * rendering/RenderDetailsMarker.cpp:
304 * rendering/RenderInputSpeech.cpp:
305 * rendering/RenderMeter.cpp:
306 * rendering/RenderProgress.cpp:
308 2013-02-08 Mike West <mkwst@chromium.org>
310 Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
311 https://bugs.webkit.org/show_bug.cgi?id=109044
313 Reviewed by Darin Adler.
317 ExceptionCode ec = 0;
318 methodThatGeneratesException(ec);
321 is more clearly and succinctly written as:
323 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
325 This patch replaces the occurances of the former that never touch 'ec'
326 again with the latter. It does the same for 'ASSERT(ec == 0);' (and, as
327 a drive-by, replaces 'ASSERT(ec == 0)' with 'ASSERT(!ec)' in places
328 where it does indeed matter that 'ec' get set properly.
330 No change in behavior should result from this refactoring.
332 * dom/ContainerNode.cpp:
333 (WebCore::ContainerNode::takeAllChildrenFrom):
335 (WebCore::Document::setTitle):
336 * dom/MessagePort.cpp:
337 (WebCore::MessagePort::dispatchMessages):
338 (WebCore::MessagePort::disentanglePorts):
339 * editing/DeleteButtonController.cpp:
340 (WebCore::enclosingDeletableElement):
341 (WebCore::DeleteButtonController::createDeletionUI):
342 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
343 (WebCore::DeleteButtonController::show):
344 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
345 * editing/EditorCommand.cpp:
346 (WebCore::unionDOMRanges):
347 * editing/ReplaceNodeWithSpanCommand.cpp:
348 (WebCore::swapInNodePreservingAttributesAndChildren):
349 * editing/ReplaceSelectionCommand.cpp:
350 (WebCore::ReplacementFragment::ReplacementFragment):
351 (WebCore::ReplacementFragment::removeNode):
352 (WebCore::ReplacementFragment::insertNodeBefore):
353 (WebCore::ReplacementFragment::insertFragmentForTestRendering):
354 (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
355 (WebCore::ReplaceSelectionCommand::insertAsListItems):
356 * editing/SplitTextNodeCommand.cpp:
357 (WebCore::SplitTextNodeCommand::doUnapply):
358 * editing/TextIterator.cpp:
359 (WebCore::CharacterIterator::range):
360 (WebCore::BackwardsCharacterIterator::range):
361 (WebCore::TextIterator::rangeFromLocationAndLength):
362 (WebCore::collapsedToBoundary):
363 * editing/htmlediting.cpp:
364 (WebCore::createTabSpanElement):
365 * editing/mac/EditorMac.mm:
366 (WebCore::Editor::fontForSelection):
367 (WebCore::Editor::fontAttributesForSelectionStart):
368 * editing/markup.cpp:
369 (WebCore::createMarkup):
370 (WebCore::trimFragment):
371 (WebCore::createFragmentFromMarkupWithContext):
372 (WebCore::fillContainerFromString):
373 (WebCore::createFragmentFromText):
374 (WebCore::createFragmentFromNodes):
375 * html/ColorInputType.cpp:
376 (WebCore::ColorInputType::createShadowSubtree):
377 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
378 * html/HTMLOptionsCollection.cpp:
379 (WebCore::HTMLOptionsCollection::add):
380 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
381 * html/HTMLTextAreaElement.cpp:
382 (WebCore::HTMLTextAreaElement::updatePlaceholderText):
383 * html/HTMLTextFormControlElement.cpp:
384 (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
385 (WebCore::HTMLTextFormControlElement::setInnerTextValue):
386 * html/TextFieldInputType.cpp:
387 (WebCore::TextFieldInputType::updatePlaceholderText):
388 * html/ValidationMessage.cpp:
389 (WebCore::ValidationMessage::buildBubbleTree):
390 * html/shadow/MediaControlElementTypes.cpp:
391 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
392 * inspector/InspectorPageAgent.cpp:
393 (WebCore::InspectorPageAgent::getCookies):
394 * inspector/InspectorStyleSheet.cpp:
395 (WebCore::InspectorStyleSheet::addRule):
396 * loader/appcache/ApplicationCacheHost.cpp:
397 (WebCore::ApplicationCacheHost::dispatchDOMEvent):
398 * page/DOMSelection.cpp:
399 (WebCore::DOMSelection::deleteFromDocument):
400 * page/DragController.cpp:
401 (WebCore::prepareClipboardForImageDrag):
402 * rendering/RenderTextControl.cpp:
403 (WebCore::RenderTextControl::visiblePositionForIndex):
404 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
406 2013-02-08 Alexei Filippov <alph@chromium.org>
408 Web Inspector: disable profile type switching while profile in progress
409 https://bugs.webkit.org/show_bug.cgi?id=109178
411 Reviewed by Yury Semikhatsky.
413 Disables profile type selection controls when a profiling session
416 * inspector/front-end/HeapSnapshotView.js:
417 (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
418 * inspector/front-end/ProfileLauncherView.js:
419 (WebInspector.ProfileLauncherView.prototype._updateControls):
420 * inspector/front-end/ProfilesPanel.js:
421 (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
423 2013-02-08 Ilya Tikhonovsky <loislo@chromium.org>
425 Web Inspector: Native Memory Instrumentation: adjust chunk transfer size for better speed.
426 https://bugs.webkit.org/show_bug.cgi?id=109263
428 Reviewed by Yury Semikhatsky.
430 The chunk size is changed from 100 to 10000.
431 addString counts only first 256 symbols of the string.o
433 * inspector/HeapGraphSerializer.cpp:
434 (WebCore::HeapGraphSerializer::pushUpdateIfNeeded):
435 (WebCore::HeapGraphSerializer::addString):
436 * inspector/front-end/NativeMemorySnapshotView.js:
438 2013-02-08 Kentaro Hara <haraken@chromium.org>
440 Support a relatedTarget attribute on focus/blur events
441 https://bugs.webkit.org/show_bug.cgi?id=109176
443 Reviewed by Ojan Vafai.
445 In bug 76216, we supported a relatedTarget attribute on
446 focusin/focusout events. We should also support it on focus/blur events.
448 See http://lists.w3.org/Archives/Public/www-dom/2012OctDec/0061.html
449 for the www-dom discussion.
451 Test: fast/dom/shadow/shadow-boundary-events.html
452 fast/events/related-target-focusevent.html
454 * dom/EventDispatchMediator.cpp:
455 (WebCore::FocusEventDispatchMediator::create):
456 (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
457 (WebCore::BlurEventDispatchMediator::create):
458 (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
459 * dom/EventDispatchMediator.h:
460 (FocusEventDispatchMediator):
461 (BlurEventDispatchMediator):
463 (WebCore::Node::dispatchFocusInEvent):
464 (WebCore::Node::dispatchFocusOutEvent):
465 (WebCore::Node::dispatchFocusEvent):
466 (WebCore::Node::dispatchBlurEvent):
468 2013-02-07 Yury Semikhatsky <yurys@chromium.org>
470 Web Inspector: reduce number of native memory instrumentation categories
471 https://bugs.webkit.org/show_bug.cgi?id=109146
473 Reviewed by Pavel Feldman.
475 Merged some of memory instrumentation categories.
477 * dom/WebCoreMemoryInstrumentation.cpp:
479 * inspector/front-end/NativeMemorySnapshotView.js:
480 (WebInspector.MemoryBlockViewProperties._initialize):
481 * platform/PlatformMemoryInstrumentation.cpp:
484 2013-02-07 Mike West <mkwst@chromium.org>
486 <iframe seamless> should avoid vertical scrollbars during the initial layout passes.
487 https://bugs.webkit.org/show_bug.cgi?id=87707
489 Reviewed by Eric Seidel.
491 Seamless documents currently render incorrectly when their content fills
492 the width of the container into which they're placed. Because FrameView
493 assumes that the container's size is properly set before the first pass
494 of layout, vertical scrollbars are incorrectly forced onto seamless
495 content, because seamless sets the container's height to 0 before
496 handing it off to FrameView for layout. The scrollbars make the
497 available width for the seamless document ~15px smaller than it should
498 be, resulting in content getting bumped to the next line.
500 This patch special-cases FrameView::calculateScrollbarModesForLayout in
501 order to force scrollbars off for seamless documents with a full visible
502 height of 0px. Once the layout pass has grabbed the content height and
503 applied it to the visible height, scrollbars will again be applicable.
505 The change should be covered by rebaselines for the newly-passing
506 results in fast/frame/seamless-{float,inline}.html
508 * page/FrameView.cpp:
509 (WebCore::FrameView::calculateScrollbarModesForLayout):
510 If we're rendering a seamless document, and the full visible height
511 is 0, and the vertical scrollbar would otherwise be ScrollbarAuto,
512 then force ScrollbarAlwaysOff.
514 2013-02-07 Kent Tamura <tkent@chromium.org>
516 document.activeElement should not return a non-focusable element
517 https://bugs.webkit.org/show_bug.cgi?id=86707
519 Reviewed by Hajime Morita.
521 This is based on a patch by Arpita Bahuguna.
523 Test: fast/dom/HTMLDocument/set-focus-on-valid-element.html
526 (WebCore::Document::setFocusedNode):
527 Added check for verifying that the node to be focused is
528 focusable. However, this check should be skipped for HTMLPlugInElement
529 because it has special behavior.
531 2013-02-07 Vladislav Kaznacheev <kaznacheev@chromium.org>
533 Web Inspector: Fix front-end compilation warnings related to WebInspector.SidebarPane
534 https://bugs.webkit.org/show_bug.cgi?id=109259
536 Reviewed by Vsevolod Vlasov.
538 * inspector/front-end/DOMBreakpointsSidebarPane.js:
539 (WebInspector.DOMBreakpointsSidebarPane.Proxy):
540 * inspector/front-end/SidebarPane.js:
542 2013-02-07 Kentaro Hara <haraken@chromium.org>
544 [V8] enum V8HiddenPropertyCreationType is not used
545 https://bugs.webkit.org/show_bug.cgi?id=109250
547 Reviewed by Adam Barth.
549 V8HiddenPropertyCreationType is always NewSymbol. We can remove the enum.
551 No tests. No change in behavior.
553 * bindings/v8/V8HiddenPropertyName.cpp:
554 (WebCore::hiddenReferenceName):
555 * bindings/v8/V8HiddenPropertyName.h:
558 2013-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
560 Unreviewed, rolling out r142212.
561 http://trac.webkit.org/changeset/142212
562 https://bugs.webkit.org/show_bug.cgi?id=109255
564 Causes ASSERT(!m_installed) on launch (Requested by smfr on
568 * platform/MemoryPressureHandler.cpp:
570 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
571 * platform/MemoryPressureHandler.h:
572 (MemoryPressureHandler):
573 * platform/mac/MemoryPressureHandlerMac.mm:
574 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
576 2013-02-07 Hanyee Kim <choco@company100.net>
578 NamedFlowCollection should be a ContextDestructionObserver
579 https://bugs.webkit.org/show_bug.cgi?id=99239
581 Reviewed by Adam Barth
583 This patch removes the raw pointer of Document in NamedFlowCollection.
584 It could be replaced with ContextDestructionObserver.
585 ContextDestructionObserver has the pointer and clears the pointer
586 automatically when the document is destroyed.
589 (WebCore::Document::~Document):
590 * dom/NamedFlowCollection.cpp:
591 (WebCore::NamedFlowCollection::NamedFlowCollection):
592 (WebCore::NamedFlowCollection::ensureFlowWithName):
593 (WebCore::NamedFlowCollection::discardNamedFlow):
594 (WebCore::NamedFlowCollection::document):
596 * dom/NamedFlowCollection.h:
597 (NamedFlowCollection):
599 2013-02-07 Dean Jackson <dino@apple.com>
601 Followup review suggestions from Alexey Proskuryakov on
602 https://bugs.webkit.org/show_bug.cgi?id=109215
604 Don't provide a charset on embedded SVG, especially
605 with incorrect syntax :)
607 * css/mediaControlsQuickTime.css:
608 (video::-webkit-media-controls-toggle-closed-captions-button):
609 (video::-webkit-media-controls-closed-captions-track-list li.selected):
610 (video::-webkit-media-controls-closed-captions-track-list li.selected:hover):
612 2013-02-07 Seulgi Kim <seulgikim@company100.net>
614 [Gtk] RunLoop::run shuold run current thread's run loop.
615 https://bugs.webkit.org/show_bug.cgi?id=107887
617 Reviewed by Martin Robinson.
619 Currently, RunLoop in Gtk can use just main thread's event loop.
620 But the other ports are implemented to use RunLoop in sub threads.
622 This patch makes RunLoop constructor create new context, not use default
624 But in the main thread still uses default context to use main event loop
625 since there is some codes using glib directly (e.g. in
626 LayerTreeHostGtk::scheduleLayerFlush).
628 No new tests. There is no case that uses RunLoop in off the main thread
631 * platform/gtk/RunLoopGtk.cpp:
632 (WebCore::RunLoop::RunLoop):
633 (WebCore::RunLoop::run):
635 2013-02-07 Kentaro Hara <haraken@chromium.org>
637 [V8] Move V8DOMWrapper::setNamedHiddenReference() to V8HiddenPropertyName.h
638 https://bugs.webkit.org/show_bug.cgi?id=109186
640 Reviewed by Adam Barth.
642 V8HiddenPropertyName.h is a right place for setNamedHiddenReference().
644 No tests. No change in behavior.
646 * bindings/scripts/CodeGeneratorV8.pm:
647 (GenerateNormalAttrGetter):
648 * bindings/scripts/test/V8/V8TestObj.cpp:
649 (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
650 * bindings/v8/V8DOMWrapper.cpp:
651 * bindings/v8/V8DOMWrapper.h:
653 * bindings/v8/V8HiddenPropertyName.cpp:
654 (WebCore::V8HiddenPropertyName::hiddenReferenceName):
655 (WebCore::V8HiddenPropertyName::setNamedHiddenReference):
657 * bindings/v8/V8HiddenPropertyName.h:
658 (V8HiddenPropertyName):
659 (WebCore::V8HiddenPropertyName::V8HiddenPropertyName):
660 * bindings/v8/custom/V8MessageChannelCustom.cpp:
661 (WebCore::V8MessageChannel::constructorCallbackCustom):
662 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
663 (WebCore::toV8Object):
665 2013-02-07 Elliott Sprehn <esprehn@chromium.org>
667 getComputedStyle() doesn't report intermediate values during a transition of a pseudo element
668 https://bugs.webkit.org/show_bug.cgi?id=106535
670 Reviewed by Ojan Vafai.
672 Element::computedStyle and CSSComputedStyleDeclaration::getPropertyCSSValue
673 should use the PseudoElement and it's renderer if they exist so that
674 querying the computed style while an animation is running returns
675 the intermediate values.
677 No new tests, updated existing tests.
679 * css/CSSComputedStyleDeclaration.cpp:
680 (WebCore::CSSComputedStyleDeclaration::styledNode): Added, returns either the PseudoElement or the Node.
681 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to use styledNode.
682 * css/CSSComputedStyleDeclaration.h:
683 (CSSComputedStyleDeclaration):
685 (WebCore::Element::computedStyle): Check the PseudoElement, not just the cached pseudo style.
686 * dom/ElementRareData.h:
687 (WebCore::ElementRareData::pseudoElement): Remove ASSERT_NOT_REACHED so passing other pseudos returns 0.
689 2013-02-07 Mark Lam <mark.lam@apple.com>
691 Add a comment about how the SQLTransaction state machine works.
692 https://bugs.webkit.org/show_bug.cgi?id=109243.
694 Rubber stamped by Anders Carlsson.
698 * Modules/webdatabase/SQLTransactionBackend.cpp:
700 2013-02-06 Gavin Barraclough <barraclough@apple.com>
702 PluginProcess should quit immediately if idle in response to low-memory notifications
703 https://bugs.webkit.org/show_bug.cgi?id=109103
704 <rdar://problem/12679827>
706 Reviewed by Darin Adler.
708 This patch allows a process to set a custom callback for low memory warnings
709 (defaulting to the current behaviour, as implemented in releaseMemory).
711 MemoryPressureHandler::install is currently used for two purposes - it is
712 called when first initializing a low memory handler for a process, and also
713 used to reinstall the handler (on a delay) after the notification has occured.
714 Since reinstallation doesn't change the callback, split these behaviours out -
715 MemoryPressureHandler::initialize is added to initialization, and accepts a
716 custom callback, install in made private.
719 - Added export for releaseMemory.
720 * platform/MemoryPressureHandler.cpp:
721 (WebCore::MemoryPressureHandler::releaseMemory):
722 - Added null implementation for non-Mac builds.
723 * platform/MemoryPressureHandler.h:
724 (WebCore::MemoryPressureHandler::initialize):
725 - distinguish initialization from reinstallations, allow handler to be set.
726 (MemoryPressureHandler):
727 - Added m_lowMemoryHandler function pointer member variable.
728 * platform/mac/MemoryPressureHandlerMac.mm:
729 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
730 - Call m_lowMemoryHandler instead of releaseMemory.
732 2013-02-07 Kentaro Hara <haraken@chromium.org>
734 [V8] #ifndef NDEBUG is redundant for assertContextHasCorrectPrototype()
735 https://bugs.webkit.org/show_bug.cgi?id=109167
737 Reviewed by Andreas Kling.
739 Given that assertContextHasCorrectPrototype() is anyway empty in a release
740 build, we don't need to surround it with #ifndef NDEBUG.
742 No tests. No change in behavior.
744 * bindings/v8/DOMWrapperWorld.cpp:
745 (WebCore::DOMWrapperWorld::assertContextHasCorrectPrototype):
746 * bindings/v8/DOMWrapperWorld.h:
748 (WebCore::DOMWrapperWorld::isolated):
750 2013-02-07 Alexei Svitkine <asvitkine@chromium.org>
752 Chromium: Hang parsing bidi control chars on Mac OS X 10.6
753 https://bugs.webkit.org/show_bug.cgi?id=108877
755 This was broken a while ago by:
756 https://bugs.webkit.org/show_bug.cgi?id=83045
758 On 10.6, CoreText will not produce any runs covering the
759 Unicode BiDi RTL mark control char, which causes an infinite
760 loop in ComplexTextController::indexOfCurrentRun() due to no
761 run covering the character at offset 0.
763 This patch fixes that issue by finding the earliest run
764 explicitly via the minimum stringBegin() index instead of
765 relying on a run existing that covers offset 0.
767 Fixes hang on many BiDi wikipedia pages on Chromium/Mac10.6.
768 Chromium bug: http://crbug.com/167844
770 New test in the same style as the harfbuzz-buffer-overrun.html
771 test (in the same folder).
773 Reviewed by Eric Seidel.
775 Test: fast/text/international/rtl-mark.html
777 * platform/graphics/mac/ComplexTextController.cpp:
778 (WebCore::ComplexTextController::indexOfCurrentRun):
780 2013-02-07 Kentaro Hara <haraken@chromium.org>
782 Implement FocusEvent constructor
783 https://bugs.webkit.org/show_bug.cgi?id=109170
785 Reviewed by Adam Barth.
787 Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
789 FocusEvent constructor should be implemented under a DOM4_EVENTS_CONSTRUCTOR
790 flag, which is enabled on Chromium and Safari.
792 Test: fast/events/constructors/focus-event-constructor.html
794 * dom/FocusEvent.cpp:
795 (WebCore::FocusEventInit::FocusEventInit):
797 (WebCore::FocusEvent::FocusEvent):
801 (WebCore::FocusEvent::create):
803 * dom/FocusEvent.idl:
804 * page/DOMWindow.idl:
806 2013-02-07 Elliott Sprehn <esprehn@chromium.org>
808 HTML parser should queue MutationRecords for its operations
809 https://bugs.webkit.org/show_bug.cgi?id=89351
811 Reviewed by Eric Seidel.
813 Generate mutation records inside the parser. This is done by using a
814 ChildListMutationScope in the ContainerNode::parser* methods and then
815 adding delivery before each <script> element would be processed by
818 Test: fast/dom/MutationObserver/parser-mutations.html
820 * dom/ContainerNode.cpp:
821 (WebCore::ContainerNode::takeAllChildrenFrom):
822 (WebCore::ContainerNode::parserInsertBefore):
823 (WebCore::ContainerNode::parserRemoveChild):
824 (WebCore::ContainerNode::parserAppendChild):
825 * html/parser/HTMLScriptRunner.cpp:
826 (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
827 (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
828 (WebCore::HTMLScriptRunner::execute):
829 (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
830 (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
831 (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
832 (WebCore::HTMLScriptRunner::runScript):
834 2013-02-07 Kentaro Hara <haraken@chromium.org>
836 Fix FIXMEs in WindowFeatures.h
837 https://bugs.webkit.org/show_bug.cgi?id=109151
839 Reviewed by Adam Barth.
841 1. // FIXME: We can delete this constructor once V8 showModalDialog is
842 // changed to use DOMWindow.
844 This FIXME is not right. The WindowFeatures() constructor is used by
845 other ports too (e.g. WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp).
846 So we should remove the FIXME.
848 2. // FIXME: We can make these functions private non-member functions
849 // once V8 showModalDialog is changed to use DOMWindow.
851 Given that V8 now uses DOMWindow in showModalDialog(), we can make the
854 No tests. No change in behavior.
856 * page/WindowFeatures.h:
858 (WebCore::WindowFeatures::WindowFeatures):
861 2013-02-07 Adam Barth <abarth@webkit.org>
863 fast/parser/document-write-noscript.html fails for threaded HTML parser
864 https://bugs.webkit.org/show_bug.cgi?id=109237
866 Reviewed by Eric Seidel.
868 If there are multiple calls to document.write in an external script, we
869 need to wait for them all to complete before invalidating the
870 speculative tokens. Instead of doing this when we unwind the
871 document.write call stack, we do this when we're about to resume
872 parsing after script execution.
874 Test: fast/parser/document-write-basic.html
876 * html/parser/HTMLDocumentParser.cpp:
877 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
878 (WebCore::HTMLDocumentParser::insert):
879 (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
881 2013-02-07 Lamarque V. Souza <Lamarque.Souza@basyskom.com>
883 Fix build when compiling with css3-text and css3-conditional-rules feature flags enabled.
884 https://bugs.webkit.org/show_bug.cgi?id=109217
886 Reviewed by Benjamin Poulain.
888 * css/InspectorCSSOMWrappers.cpp:
889 (WebCore::InspectorCSSOMWrappers::collect):
891 2013-02-07 Keishi Hattori <keishi@webkit.org>
893 REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
894 https://bugs.webkit.org/show_bug.cgi?id=109136
896 Reviewed by Kent Tamura.
898 Calendar picker was using the "Clear" button to calculate the window width.
899 Since it doesn't exist when the input element has a required attribute,
900 it was throwing an error. This patch fixes the width calculating logic.
902 Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
903 platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
905 * Resources/pagepopups/calendarPicker.css:
907 * Resources/pagepopups/calendarPicker.js:
908 (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
909 the width. We don't want to use clear button because it doesn't exist
910 when a value is required.
912 2013-02-07 Terry Anderson <tdanderson@chromium.org>
914 Non-scrollable divs and non-scrollable iframes can scroll with touch
915 https://bugs.webkit.org/show_bug.cgi?id=109087
917 Reviewed by Eric Seidel.
919 Tests: fast/events/touch/gesture/touch-gesture-noscroll-div.html
920 fast/events/touch/gesture/touch-gesture-noscroll-iframe.html
922 When finding a candidate for a scrollable node in
923 EventHandler::handleGestureScrollUpdate(), select the document node
924 if it is reached before any scrollable element when walking up the DOM
925 tree. Also ensure that calling RenderLayer::scrollBy() for a document
926 node does not result in scrolling if the element is not scrollable.
928 * page/EventHandler.cpp:
929 (WebCore::closestScrollableNodeCandidate):
930 (WebCore::EventHandler::handleGestureScrollUpdate):
931 * rendering/RenderLayer.cpp:
932 (WebCore::RenderLayer::scrollBy):
934 2013-02-07 Mark Lam <mark.lam@apple.com>
936 Introduce SQLTransactionBackend and SQLTransactionBackendSync [Part 2].
937 https://bugs.webkit.org/show_bug.cgi?id=109109.
939 Reviewed by Anders Carlsson.
941 Adding back the new SQLTransaction and SQLTransactionSync files.
945 * Modules/webdatabase/SQLTransaction.cpp: Added.
946 (WebCore::SQLTransaction::create):
947 (WebCore::SQLTransaction::SQLTransaction):
948 (WebCore::SQLTransaction::from):
949 * Modules/webdatabase/SQLTransaction.h: Added.
951 * Modules/webdatabase/SQLTransactionSync.cpp: Added.
952 (WebCore::SQLTransactionSync::create):
953 (WebCore::SQLTransactionSync::SQLTransactionSync):
954 (WebCore::SQLTransactionSync::from):
955 * Modules/webdatabase/SQLTransactionSync.h: Added.
956 (SQLTransactionSync):
958 2013-02-07 Mark Lam <mark.lam@apple.com>
960 Introduce SQLTransactionBackend and SQLTransactionBackendSync.
961 https://bugs.webkit.org/show_bug.cgi?id=109109.
963 Reviewed by Anders Carlsson.
965 - Renamed SQLTransaction and SQLTransactionSync to SQLTransactionBackend
966 and SQLTransactionBackendSync respectively.
967 - Added back SQLTransaction and SQLTransactionSync as new files, and have
968 their classes extends their respective backends. This is a stop gap
969 measure to keep things working until the front-end and back-end can be
971 Note: these files will be committed in a subsequent commit to ensure
972 that the patching goes smoothly.
973 - Where needed, I made use of new SQLTransaction::from() and
974 SQLTransactionSync::from() static methods that "get" the front-end
975 transactions from the back-ends. This is also a stop gap measure to
976 keep things working until the proper refactoring is complete.
977 - Fixed up pre-existing style checker violations that are now detected
978 on code that were touched during my renaming.
979 - Added the back-end files to all the build files.
984 * GNUmakefile.list.am:
985 * Modules/webdatabase/Database.cpp:
986 (WebCore::Database::scheduleTransactionStep):
987 * Modules/webdatabase/Database.h:
989 * Modules/webdatabase/DatabaseBackend.h:
991 * Modules/webdatabase/DatabaseTask.cpp:
992 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::DatabaseTransactionTask):
993 * Modules/webdatabase/DatabaseTask.h:
994 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::create):
995 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::transaction):
996 (DatabaseBackendAsync::DatabaseTransactionTask):
997 * Modules/webdatabase/SQLTransaction.cpp: Removed.
998 * Modules/webdatabase/SQLTransaction.h: Removed.
999 * Modules/webdatabase/SQLTransactionBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.cpp.
1000 (WebCore::SQLTransactionBackend::SQLTransactionBackend):
1001 (WebCore::SQLTransactionBackend::~SQLTransactionBackend):
1002 (WebCore::SQLTransactionBackend::executeSQL):
1003 (WebCore::SQLTransactionBackend::enqueueStatement):
1004 (WebCore::SQLTransactionBackend::debugStepName):
1005 (WebCore::SQLTransactionBackend::checkAndHandleClosedOrInterruptedDatabase):
1006 (WebCore::SQLTransactionBackend::performNextStep):
1007 (WebCore::SQLTransactionBackend::performPendingCallback):
1008 (WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
1009 (WebCore::SQLTransactionBackend::acquireLock):
1010 (WebCore::SQLTransactionBackend::lockAcquired):
1011 (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
1012 (WebCore::SQLTransactionBackend::deliverTransactionCallback):
1013 (WebCore::SQLTransactionBackend::scheduleToRunStatements):
1014 (WebCore::SQLTransactionBackend::runStatements):
1015 (WebCore::SQLTransactionBackend::getNextStatement):
1016 (WebCore::SQLTransactionBackend::runCurrentStatement):
1017 (WebCore::SQLTransactionBackend::handleCurrentStatementError):
1018 (WebCore::SQLTransactionBackend::deliverStatementCallback):
1019 (WebCore::SQLTransactionBackend::deliverQuotaIncreaseCallback):
1020 (WebCore::SQLTransactionBackend::postflightAndCommit):
1021 (WebCore::SQLTransactionBackend::deliverSuccessCallback):
1022 (WebCore::SQLTransactionBackend::cleanupAfterSuccessCallback):
1023 (WebCore::SQLTransactionBackend::handleTransactionError):
1024 (WebCore::SQLTransactionBackend::deliverTransactionErrorCallback):
1025 (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
1026 * Modules/webdatabase/SQLTransactionBackend.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.h.
1027 (SQLTransactionBackend):
1028 * Modules/webdatabase/SQLTransactionBackendSync.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp.
1029 (WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
1030 (WebCore::SQLTransactionBackendSync::~SQLTransactionBackendSync):
1031 (WebCore::SQLTransactionBackendSync::executeSQL):
1032 (WebCore::SQLTransactionBackendSync::begin):
1033 (WebCore::SQLTransactionBackendSync::execute):
1034 (WebCore::SQLTransactionBackendSync::commit):
1035 (WebCore::SQLTransactionBackendSync::rollback):
1036 * Modules/webdatabase/SQLTransactionBackendSync.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.h.
1037 (SQLTransactionBackendSync):
1038 * Modules/webdatabase/SQLTransactionCoordinator.cpp:
1039 (WebCore::getDatabaseIdentifier):
1040 (WebCore::SQLTransactionCoordinator::processPendingTransactions):
1041 (WebCore::SQLTransactionCoordinator::acquireLock):
1042 (WebCore::SQLTransactionCoordinator::releaseLock):
1043 (WebCore::SQLTransactionCoordinator::shutdown):
1044 * Modules/webdatabase/SQLTransactionCoordinator.h:
1045 (SQLTransactionCoordinator):
1046 (WebCore::SQLTransactionCoordinator::SQLTransactionCoordinator):
1048 * Modules/webdatabase/SQLTransactionSync.cpp: Removed.
1049 * Modules/webdatabase/SQLTransactionSync.h: Removed.
1052 * WebCore.vcproj/WebCore.vcproj:
1053 * WebCore.vcxproj/WebCore.vcxproj:
1054 * WebCore.vcxproj/WebCore.vcxproj.filters:
1055 * WebCore.xcodeproj/project.pbxproj:
1057 2013-02-07 Dean Jackson <dino@apple.com>
1059 Use new speech bubble artwork for captions menu button
1060 https://bugs.webkit.org/show_bug.cgi?id=109215
1062 Reviewed by Eric Carlson.
1064 Rather than call into RenderTheme to display this button, embed artwork
1065 into the CSS. This means we can remove some uncalled methods in
1068 * css/mediaControlsQuickTime.css:
1069 (video::-webkit-media-controls-toggle-closed-captions-button): New background image using SVG.
1070 * rendering/RenderTheme.cpp:
1071 (WebCore::RenderTheme::paint): Don't call the specific painter for the CC button.
1072 * rendering/RenderTheme.h: Remove unused function.
1073 * rendering/RenderThemeMac.h: Ditto.
1074 * rendering/RenderThemeMac.mm: Ditto.
1076 2013-02-07 Michelangelo De Simone <michelangelo@webkit.org>
1078 [CSS Shaders] Add the last blending step
1079 https://bugs.webkit.org/show_bug.cgi?id=104012
1081 The resulting blended color in mix() is now weighted according to
1082 the original element's backdrop alpha value.
1084 Reviewed by Dean Jackson.
1086 Test: css3/filters/custom/custom-filter-blend-fractional-destination-alpha.html
1088 * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
1089 (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
1091 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
1093 Fix two exports of WebCore symbols on iOS
1094 https://bugs.webkit.org/show_bug.cgi?id=109238
1096 Reviewed by David Kilzer.
1098 * WebCore.exp.in: Export wkCTFontTransformGlyphs but not
1099 wkCGContextDrawsWithCorrectShadowOffsets on iOS.
1101 2013-02-07 Hans Muller <hmuller@adobe.com>
1103 [CSS Exclusions] Ignore ExclusionPolygon edges above minLogicalIntervalTop
1104 https://bugs.webkit.org/show_bug.cgi?id=107566
1106 Reviewed by David Hyatt.
1108 Improve ExclusionPolygon::firstIncludedIntervalLogicalTop() performance by only
1109 creating offset edges for polygon edges that are below the horizontal minLogicalIntervalTop
1110 line. In other words, don't bother creating offset edges that can't define the polygon's
1113 Test: fast/exclusions/shape-inside/shape-inside-first-fit-004.html
1115 * rendering/ExclusionPolygon.cpp:
1116 (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Don't create offset edges for polygon edges above minLogicalIntervalTop.
1118 2013-02-07 Jer Noble <jer.noble@apple.com>
1120 Improve logging of MediaPlayerPrivateAVFoundation Notifications.
1121 https://bugs.webkit.org/show_bug.cgi?id=109223
1123 Reviewed by Eric Carlson.
1125 Convert the existing Notification enum to an expandable macro. Then add a
1126 Logging-only function which stringifies the enums.
1128 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1130 (WebCore::notificationName):
1131 (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
1132 (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
1133 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1135 2013-02-07 Martin Robinson <mrobinson@igalia.com>
1137 [GTK] Cleanup command-line defines
1138 https://bugs.webkit.org/show_bug.cgi?id=109213
1140 Reviewed by Xan Lopez.
1142 * GNUmakefile.am: Remove references to flags that are now handled
1143 via autotoolsconfig.h.
1145 2013-02-07 Tom Sepez <tsepez@chromium.org>
1147 [V8] Binding Integrity crash in V8MediaStream::createWrapper
1148 https://bugs.webkit.org/show_bug.cgi?id=109211
1150 Reviewed by Adam Barth.
1152 Patch suppresses a chrome crasher.
1154 * Modules/mediastream/MediaStream.idl:
1156 2013-02-07 Eric Carlson <eric.carlson@apple.com>
1158 [Mac] decrease in-band caption advance notice interval
1159 https://bugs.webkit.org/show_bug.cgi?id=109190
1161 Reviewed by Simon Fraser.
1163 No new tests, no observable change in behavior.
1165 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1166 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Request cues 2 seconds in advance.
1168 2013-02-07 ChangSeok Oh <shivamidow@gmail.com>
1170 [GTK][AC] Clutter required version up to 1.12
1171 https://bugs.webkit.org/show_bug.cgi?id=109037
1173 Reviewed by Martin Robinson.
1175 Replace deprecated clutter apis with new ones.
1177 No new tests, since this patch is minor refactoring.
1179 * platform/graphics/clutter/GraphicsLayerActor.cpp:
1180 (graphicsLayerActorSetAnchorPoint):
1181 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1182 (WebCore::idleDestroy):
1183 (WebCore::GraphicsLayerClutter::updateSublayerList):
1185 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
1187 Move pauseAnimation/pauseTransition from TestRunner to Internals
1188 https://bugs.webkit.org/show_bug.cgi?id=109107
1190 Reviewed by Anders Carlsson.
1192 Tests: animations/animation-internals-api-multiple-keyframes.html
1193 animations/animation-internals-api.html
1195 * testing/Internals.cpp:
1196 (WebCore::Internals::pauseAnimationAtTimeOnElement):
1198 (WebCore::Internals::pauseTransitionAtTimeOnElement):
1199 * testing/Internals.h:
1201 * testing/Internals.idl:
1203 2013-02-07 Gavin Peters <gavinp@chromium.org>
1205 Unreviewed, rolling out r142155.
1206 http://trac.webkit.org/changeset/142155
1207 https://bugs.webkit.org/show_bug.cgi?id=82888
1211 * bindings/js/JSClipboardCustom.cpp:
1212 (WebCore::JSClipboard::types):
1213 * bindings/v8/custom/V8ClipboardCustom.cpp:
1214 (WebCore::V8Clipboard::typesAccessorGetter):
1217 * platform/blackberry/ClipboardBlackBerry.cpp:
1218 (WebCore::ClipboardBlackBerry::types):
1219 * platform/blackberry/ClipboardBlackBerry.h:
1220 (ClipboardBlackBerry):
1221 * platform/chromium/ChromiumDataObject.cpp:
1222 (WebCore::ChromiumDataObject::types):
1223 * platform/chromium/ChromiumDataObject.h:
1224 (ChromiumDataObject):
1225 * platform/chromium/ClipboardChromium.cpp:
1226 (WebCore::ClipboardChromium::types):
1227 * platform/chromium/ClipboardChromium.h:
1228 (ClipboardChromium):
1229 * platform/efl/ClipboardEfl.cpp:
1230 (WebCore::ClipboardEfl::types):
1231 * platform/efl/ClipboardEfl.h:
1233 * platform/gtk/ClipboardGtk.cpp:
1234 (WebCore::ClipboardGtk::types):
1235 * platform/gtk/ClipboardGtk.h:
1237 * platform/mac/ClipboardMac.h:
1239 * platform/mac/ClipboardMac.mm:
1240 (WebCore::addHTMLClipboardTypesForCocoaType):
1241 (WebCore::ClipboardMac::types):
1242 * platform/qt/ClipboardQt.cpp:
1243 (WebCore::ClipboardQt::types):
1244 * platform/qt/ClipboardQt.h:
1246 * platform/win/ClipboardWin.cpp:
1247 (WebCore::addMimeTypesForFormat):
1248 (WebCore::ClipboardWin::types):
1249 * platform/win/ClipboardWin.h:
1252 2013-02-07 Rik Cabanier <cabanier@adobe.com>
1254 Add support for parsing of -webkit-background-blend-mode
1255 https://bugs.webkit.org/show_bug.cgi?id=108547
1257 Reviewed by David Hyatt.
1259 Added parsing and general CSS handling of -webkit-background-blend-mode per
1260 https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#background-blend-mode
1262 Tests: css3/compositing/background-blend-mode-property-parsing.html
1263 css3/compositing/background-blend-mode-property.html
1265 * css/CSSComputedStyleDeclaration.cpp: Built value for getComputedStyle.
1267 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1268 * css/CSSParser.cpp: Parsed and stored value of -webkit-background-blend-mode.
1269 (WebCore::CSSParser::parseValue):
1270 (WebCore::CSSParser::parseFillProperty):
1271 * css/CSSProperty.cpp: Listed -webkit-background-blend-mode as a non-inherited property.
1272 (WebCore::CSSProperty::isInheritedProperty):
1273 * css/CSSPropertyNames.in: Added -webkit-background-blend-mode as a CSS property.
1274 * css/CSSToStyleMap.cpp: Mapped background blend mode from CSS value to enum.
1275 (WebCore::CSSToStyleMap::mapFillBlendMode):
1277 * css/CSSToStyleMap.h: Added function declaration 'mapFillBlendMode'.
1279 * css/StyleBuilder.cpp: Set up propery handler for -webkit-background-blend-mode.
1280 (WebCore::StyleBuilder::StyleBuilder):
1281 * rendering/style/FillLayer.cpp: Added code to store and retrieve the blend mode from a layer.
1282 (WebCore::FillLayer::FillLayer):
1283 (WebCore::FillLayer::operator=):
1284 (WebCore::FillLayer::operator==):
1285 (WebCore::FillLayer::fillUnsetProperties):
1286 * rendering/style/FillLayer.h: Added function definitions to manage blend mode in a layer.
1287 (WebCore::FillLayer::blendMode):
1288 (WebCore::FillLayer::isBlendModeSet):
1289 (WebCore::FillLayer::setBlendMode):
1290 (WebCore::FillLayer::clearBlendMode):
1291 (WebCore::FillLayer::initialFillBlendMode):
1294 2013-02-07 Gavin Peters <gavinp@chromium.org>
1296 Unreviewed, rolling out r142142.
1297 http://trac.webkit.org/changeset/142142
1298 https://bugs.webkit.org/show_bug.cgi?id=109154
1300 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 .
1303 * inspector/front-end/DefaultTextEditor.js:
1304 (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
1306 2013-02-07 Gavin Peters <gavinp@chromium.org>
1308 Unreviewed, rolling out r142081.
1309 http://trac.webkit.org/changeset/142081
1310 https://bugs.webkit.org/show_bug.cgi?id=109146
1312 The patch caused a crash in inspector-protocol/nmi-webaudio*.html .
1314 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 .
1316 * dom/WebCoreMemoryInstrumentation.cpp:
1318 * inspector/front-end/NativeMemorySnapshotView.js:
1319 (WebInspector.MemoryBlockViewProperties._initialize):
1320 * platform/PlatformMemoryInstrumentation.cpp:
1323 2013-02-07 Bear Travis <betravis@adobe.com>
1325 [CSS Exclusions] shape-inside does not properly handle padding or border
1326 https://bugs.webkit.org/show_bug.cgi?id=102715
1328 Reviewed by David Hyatt.
1330 This patch positions the exclusion shape based on the value of the css box sizing
1331 property. Geometry calculations happen in the shape coordinate space. For layout,
1332 these coordinates are translated to the border-box coordinate system by adding
1333 the appropriate offsets.
1335 Test: fast/exclusions/shape-inside/shape-inside-box-sizing.html
1337 * rendering/ExclusionShapeInfo.cpp:
1338 (WebCore::::computedShape): Pass m_shapeLogicalWidth to the exclusion shape
1340 * rendering/ExclusionShapeInfo.h:
1341 (WebCore::ExclusionShapeInfo::setShapeSize): Adjust block layout dimensions to
1342 shape dimensions when checking to see if the shape geometry must be recalculated.
1343 (WebCore::ExclusionShapeInfo::shapeLogicalTop): Account for layout offsets.
1344 (WebCore::ExclusionShapeInfo::shapeLogicalBottom): Ditto.
1345 (WebCore::ExclusionShapeInfo::shapeLogicalLeft): Ditto.
1346 (WebCore::ExclusionShapeInfo::shapeLogicalRight): Ditto.
1347 (WebCore::ExclusionShapeInfo::logicalTopOffset): Return the offset from the logical
1348 top of the border box to the logical top of the shape.
1349 (WebCore::ExclusionShapeInfo::logicalLeftOffset): Return the offset from the logical
1350 left of the border box to the logical left of the shape.
1351 (ExclusionShapeInfo):
1352 * rendering/ExclusionShapeInsideInfo.cpp:
1353 (WebCore::ExclusionShapeInsideInfo::computeSegmentsForLine): Adjust line top to
1354 be in shape coordinates.
1355 (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop): Ditto.
1356 * rendering/ExclusionShapeInsideInfo.h:
1357 (WebCore::ExclusionShapeInsideInfo::lineOverlapsShapeBounds): Use consistent
1358 coordinate system (border box) to test for whether a line overlaps a shape.
1359 (WebCore::ExclusionShapeInsideInfo::logicalLineTop): Include the logical offset
1360 from the border box.
1361 (WebCore::ExclusionShapeInsideInfo::logicalLineBottom): Ditto.
1363 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
1365 Upstream iOS isWebThread() and isUIThread()
1366 https://bugs.webkit.org/show_bug.cgi?id=109130
1368 Reviewed by Sam Weinig.
1370 * bindings/objc/WebScriptObject.mm:
1371 (+[WebScriptObject initialize]):
1372 * platform/mac/SharedBufferMac.mm:
1373 (+[WebCoreSharedBufferData initialize]):
1374 #ifdef out the legacy initialization as it is not correct when
1377 2013-02-07 Vivek Galatage <vivek.vg@samsung.com>
1379 Web Inspector: CPU pegged when inspecting LocalStorage that mutates.
1380 https://bugs.webkit.org/show_bug.cgi?id=107937
1382 Reviewed by Yury Semikhatsky.
1384 The DOM storage agent will fire an event to the frontend based on the action
1385 performed on the storage. Based on this action, the front-end will just add/update/remove
1386 the entry in the view. This enhances the front-end responsiveness as the round trip
1387 for fetching the storage entries has been eliminated.
1389 Existing test: LayoutTests/inspector/storage-panel-dom-storage-update.html should verify the change
1391 * inspector/Inspector.json:
1392 * inspector/InspectorDOMStorageAgent.cpp:
1393 (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
1394 * inspector/front-end/DOMStorage.js:
1395 (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
1396 (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
1397 (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
1398 (WebInspector.DOMStorageModel.prototype._domStorageItemUpdated):
1399 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemsCleared):
1400 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemRemoved):
1401 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemAdded):
1402 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemUpdated):
1403 * inspector/front-end/DOMStorageItemsView.js:
1404 (WebInspector.DOMStorageItemsView):
1405 (WebInspector.DOMStorageItemsView.prototype.wasShown):
1406 (WebInspector.DOMStorageItemsView.prototype._domStorageItemsCleared):
1407 (WebInspector.DOMStorageItemsView.prototype._domStorageItemRemoved):
1408 (WebInspector.DOMStorageItemsView.prototype._domStorageItemAdded):
1409 (WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):
1410 (WebInspector.DOMStorageItemsView.prototype._update):
1411 (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
1412 (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
1413 (WebInspector.DOMStorageItemsView.prototype._editingCallback):
1414 (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
1415 * inspector/front-end/ResourcesPanel.js:
1416 (WebInspector.ResourcesPanel):
1417 (WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
1418 (WebInspector.ResourcesPanel.prototype._showDOMStorage):
1420 2013-02-07 Dan Carney <dcarney@google.com>
1422 [v8] move persistent::new and ::dispose into same class
1423 https://bugs.webkit.org/show_bug.cgi?id=109065
1425 Reviewed by Adam Barth.
1427 No new tests. No change in functionality.
1429 * bindings/scripts/CodeGeneratorV8.pm:
1430 (GenerateSingleConstructorCallback):
1431 (GenerateEventConstructorCallback):
1432 (GenerateNamedConstructorCallback):
1433 (GenerateToV8Converters):
1434 * bindings/scripts/test/V8/V8Float64Array.cpp:
1435 (WebCore::V8Float64Array::createWrapper):
1436 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1437 (WebCore::V8TestActiveDOMObject::createWrapper):
1438 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1439 (WebCore::V8TestCustomNamedGetter::createWrapper):
1440 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1441 (WebCore::V8TestEventConstructor::constructorCallback):
1442 (WebCore::V8TestEventConstructor::createWrapper):
1443 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1444 (WebCore::V8TestEventTarget::createWrapper):
1445 * bindings/scripts/test/V8/V8TestException.cpp:
1446 (WebCore::V8TestException::createWrapper):
1447 * bindings/scripts/test/V8/V8TestInterface.cpp:
1448 (WebCore::V8TestInterface::constructorCallback):
1449 (WebCore::V8TestInterface::createWrapper):
1450 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1451 (WebCore::V8TestMediaQueryListListener::createWrapper):
1452 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1453 (WebCore::V8TestNamedConstructorConstructorCallback):
1454 (WebCore::V8TestNamedConstructor::createWrapper):
1455 * bindings/scripts/test/V8/V8TestNode.cpp:
1456 (WebCore::V8TestNode::constructorCallback):
1457 (WebCore::V8TestNode::createWrapper):
1458 * bindings/scripts/test/V8/V8TestObj.cpp:
1459 (WebCore::V8TestObj::constructorCallback):
1460 (WebCore::V8TestObj::createWrapper):
1461 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1462 (WebCore::V8TestOverloadedConstructors::constructor1Callback):
1463 (WebCore::V8TestOverloadedConstructors::constructor2Callback):
1464 (WebCore::V8TestOverloadedConstructors::constructor3Callback):
1465 (WebCore::V8TestOverloadedConstructors::constructor4Callback):
1466 (WebCore::V8TestOverloadedConstructors::createWrapper):
1467 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1468 (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1469 (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
1470 * bindings/v8/DOMDataStore.cpp:
1471 * bindings/v8/DOMDataStore.h:
1472 (WebCore::DOMDataStore::setWrapper):
1474 (WebCore::DOMDataStore::set):
1475 (WebCore::DOMDataStore::setWrapperInObject):
1476 * bindings/v8/DOMWrapperMap.h:
1477 (WebCore::DOMWrapperMap::get):
1478 (WebCore::DOMWrapperMap::set):
1479 (WebCore::DOMWrapperMap::removeAndDispose):
1480 (WebCore::DOMWrapperMap::defaultWeakCallback):
1481 * bindings/v8/ScriptWrappable.h:
1482 (WebCore::ScriptWrappable::wrapper):
1483 (WebCore::ScriptWrappable::setWrapper):
1484 (WebCore::ScriptWrappable::reportMemoryUsage):
1486 (WebCore::ScriptWrappable::disposeWrapper):
1487 (WebCore::ScriptWrappable::weakCallback):
1488 * bindings/v8/V8DOMWindowShell.cpp:
1489 (WebCore::V8DOMWindowShell::installDOMWindow):
1490 * bindings/v8/V8DOMWrapper.h:
1492 (WebCore::V8DOMWrapper::associateObjectWithWrapper):
1493 * bindings/v8/V8NPObject.cpp:
1494 (WebCore::weakNPObjectCallback):
1495 (WebCore::createV8ObjectForNPObject):
1496 (WebCore::forgetV8ObjectForNPObject):
1497 * bindings/v8/WorkerScriptController.cpp:
1498 (WebCore::WorkerScriptController::initializeContextIfNeeded):
1499 * bindings/v8/WrapperTypeInfo.h:
1501 (WrapperConfiguration):
1502 (WebCore::WrapperConfiguration::configureWrapper):
1503 (WebCore::buildWrapperConfiguration):
1504 * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1505 (WebCore::V8ArrayBuffer::constructorCallbackCustom):
1506 * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1507 (WebCore::wrapArrayBufferView):
1508 (WebCore::constructWebGLArray):
1509 * bindings/v8/custom/V8AudioContextCustom.cpp:
1510 (WebCore::V8AudioContext::constructorCallbackCustom):
1511 * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1512 (WebCore::V8DOMFormData::constructorCallbackCustom):
1513 * bindings/v8/custom/V8DataViewCustom.cpp:
1514 (WebCore::V8DataView::constructorCallbackCustom):
1515 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1516 (WebCore::v8HTMLImageElementConstructorCallback):
1517 * bindings/v8/custom/V8IntentCustom.cpp:
1518 (WebCore::V8Intent::constructorCallbackCustom):
1519 * bindings/v8/custom/V8MessageChannelCustom.cpp:
1520 (WebCore::V8MessageChannel::constructorCallbackCustom):
1521 * bindings/v8/custom/V8MutationObserverCustom.cpp:
1522 (WebCore::V8MutationObserver::constructorCallbackCustom):
1523 * bindings/v8/custom/V8WebKitPointCustom.cpp:
1524 (WebCore::V8WebKitPoint::constructorCallbackCustom):
1525 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1526 (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
1528 2013-02-07 Zan Dobersek <zdobersek@igalia.com>
1530 [Autotools] Remove uses of Automake FARSTREAM_(CFLAGS|LIBS) variables, USE_FARSTREAM conditional
1531 https://bugs.webkit.org/show_bug.cgi?id=109198
1533 Reviewed by Martin Robinson.
1535 * GNUmakefile.am: Remove FARSTREAM_CFLAGS variable, it's not set to anything.
1537 2013-02-07 Vineet Chaudhary <rgf748@motorola.com>
1539 Consider replacing return type of Clipboard::types() from ListHashSet<String> to Vector<String>
1540 https://bugs.webkit.org/show_bug.cgi?id=82888
1542 Reviewed by Kentaro Hara.
1544 As part of removing custom bindings of types Array Clipboard::types() needs to return
1545 Vector<String> than ListHashSet<String>
1547 No new tests. Existing test should pass with this change as no behavoural changes.
1549 * bindings/js/JSClipboardCustom.cpp: Replace data type from ListHashSet<> to Vector<>.
1550 (WebCore::JSClipboard::types):
1551 * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
1552 (WebCore::V8Clipboard::typesAccessorGetter): Ditto.
1553 * dom/Clipboard.h: Ditto.
1554 * platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
1555 (WebCore::ClipboardBlackBerry::types):
1556 * platform/blackberry/ClipboardBlackBerry.h: Ditto.
1557 * platform/chromium/ChromiumDataObject.cpp: Ditto.
1558 (WebCore::ChromiumDataObject::types):
1559 * platform/chromium/ChromiumDataObject.h: Ditto.
1560 * platform/chromium/ClipboardChromium.cpp: Ditto.
1561 (WebCore::ClipboardChromium::types):
1562 * platform/chromium/ClipboardChromium.h: Ditto.
1563 * platform/efl/ClipboardEfl.cpp: Ditto.
1564 (WebCore::ClipboardEfl::types):
1565 * platform/efl/ClipboardEfl.h: Ditto.
1566 * platform/gtk/ClipboardGtk.cpp: Ditto.
1567 (WebCore::ClipboardGtk::types):
1568 * platform/gtk/ClipboardGtk.h: Ditto.
1569 * platform/mac/ClipboardMac.h: Ditto.
1570 * platform/mac/ClipboardMac.mm: Ditto.
1571 (WebCore::addHTMLClipboardTypesForCocoaType):
1572 (WebCore::ClipboardMac::types):
1573 * platform/qt/ClipboardQt.cpp: Ditto.
1574 (WebCore::ClipboardQt::types):
1575 * platform/qt/ClipboardQt.h: Ditto.
1576 * platform/win/ClipboardWin.cpp: Ditto.
1577 (WebCore::addMimeTypesForFormat):
1578 (WebCore::ClipboardWin::types):
1579 * platform/win/ClipboardWin.h: Ditto.
1581 2013-02-07 Kentaro Hara <haraken@chromium.org>
1583 [V8] StringCache::m_stringCache should be HashMap<StringImpl*, Persistent<String>>
1584 https://bugs.webkit.org/show_bug.cgi?id=109123
1586 Reviewed by Adam Barth.
1588 Currently StringCache::m_stringCache is implemented as
1589 HashMap<StringImpl*, v8::String*>. Given that v8::String*
1590 can change when a GC is triggered, it is dangerous to store a raw pointer.
1591 We should use HashMap<StringImpl*, v8::Persistent<v8::String>> instead.
1593 This is a possible fix for an IndexedDB crash (https://bugs.webkit.org/show_bug.cgi?id=105363),
1594 although I'm not sure if this patch fixes the crash. (I couldn't reproduce the crash.)
1596 No tests. This change highly depends on GC behavior and thus it is
1597 difficult to make a reliable test case.
1599 * bindings/v8/V8ValueCache.cpp:
1600 (WebCore::makeExternalString):
1601 * bindings/v8/V8ValueCache.h:
1604 2013-01-27 Robert Hogan <robert@webkit.org>
1606 CSS 2.1 failure: floats-149 fails
1607 https://bugs.webkit.org/show_bug.cgi?id=95772
1609 Reviewed by David Hyatt.
1611 Treat inlines that contain nothing but empty inlines as empty too so that they get a linebox.
1613 Tests: fast/inline/inline-with-empty-inline-children.html
1614 css2.1/20110323/floats-149.htm
1616 * rendering/InlineIterator.h:
1617 (WebCore::isEmptyInline):
1618 * rendering/RenderBlockLineLayout.cpp:
1619 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Now that empty inlines get a linebox any out-of-flow
1620 objects inside an empty inline (on a line that is otherwise empty) won't get positioned while skipping
1621 through leading whitespace.
1623 2013-02-07 peavo@outlook.com <peavo@outlook.com>
1625 [WinCairo] Compile fix after r141981
1626 https://bugs.webkit.org/show_bug.cgi?id=109184
1628 Reviewed by Brent Fulgham.
1630 * platform/network/curl/ResourceHandleCurl.cpp:
1631 (WebCore::ResourceHandle::loadResourceSynchronously):
1633 2013-02-07 Otto Derek Cheung <otcheung@rim.com>
1635 [BlackBerry] Cookie database isn't loaded into memory in some rare cases
1636 https://bugs.webkit.org/show_bug.cgi?id=109202
1639 Reviewed by Yong Li.
1640 Internally Reviewed by Konrad Piascik.
1642 If a get/setCookie call is made before the database is loaded, or if there's some
1643 kind of error that causes the loading of the database to fail in the constructor
1644 of CookieManager, the browser will get into a state where it seems like cookie is
1645 permanenty disabled.
1647 Instead of logging the errors and redispatching the setCookie, we should do a force sync
1648 to load the cookie database before continuing.
1650 Since the bug is so difficult to reproduce (I never did so myself), I did the follow test
1651 to make sure the code path is correct:
1652 1) Make sure original implementation is retained - open and loading done in the constructor
1653 2) Removed opening and loading in constructor, the new calls in get/setcookies loaded the db just fine (although with
1654 an initial lag because we are blocking WKT while performing SQLite options).
1655 3) Removed loading in constructor, the new calls loaded the db just fine.
1657 * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
1658 (WebCore::CookieDatabaseBackingStore::openAndLoadDatabaseSynchronously):
1660 * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
1661 (CookieDatabaseBackingStore):
1662 * platform/blackberry/CookieManager.cpp:
1663 (WebCore::CookieManager::setCookies):
1664 (WebCore::CookieManager::getCookie):
1665 (WebCore::CookieManager::generateHtmlFragmentForCookies):
1666 (WebCore::CookieManager::getRawCookies):
1668 2013-02-07 Max Vujovic <mvujovic@adobe.com>
1670 [CSS Shaders] Add WebKitCSSFilterRule to DOMWindow.idl
1671 https://bugs.webkit.org/show_bug.cgi?id=109082
1673 Reviewed by Dean Jackson.
1675 Add an entry for WebKitCSSFilterRuleConstructor in DOMWindow.idl.
1677 Tests: css3/filters/custom-with-at-rule-syntax/parsing-at-rule-invalid.html
1678 css3/filters/custom-with-at-rule-syntax/parsing-at-rule-valid.html
1680 * page/DOMWindow.idl:
1682 2013-02-07 Vsevolod Vlasov <vsevik@chromium.org>
1684 Web Inspector: Remove unused workspace field from NetworkUISourceCodeProvider
1685 https://bugs.webkit.org/show_bug.cgi?id=109201
1687 Reviewed by Pavel Feldman.
1689 * inspector/front-end/NetworkUISourceCodeProvider.js:
1690 (WebInspector.NetworkUISourceCodeProvider):
1691 * inspector/front-end/inspector.js:
1693 2013-02-07 Jessie Berlin <jberlin@apple.com>
1695 REGRESSION(r142003): Duplicate "Unknown" strings in LocalizedStrings.cpp not distinguished
1697 https://bugs.webkit.org/show_bug.cgi?id=109196
1699 Reviewed by Eric Carlson.
1701 * English.lproj/Localizable.strings:
1702 Updated for the changes.
1703 * platform/LocalizedStrings.cpp:
1704 (WebCore::unknownFileSizeText):
1706 (WebCore::textTrackNoLabelText):
1709 2013-02-07 Vsevolod Vlasov <vsevik@chromium.org>
1711 Web Inspector: linkifyResourceAsNode produced anchor should not prefer resources to scripts panel.
1712 https://bugs.webkit.org/show_bug.cgi?id=109197
1714 Reviewed by Pavel Feldman.
1716 Javascript syntax errors in console are now linkified so that they show sources panel by default.
1718 * inspector/front-end/ResourceUtils.js:
1719 (WebInspector.linkifyResourceAsNode):
1721 2013-02-07 Eberhard Graether <egraether@google.com>
1723 Web Inspector: Add settings checkbox for composited layer borders
1724 https://bugs.webkit.org/show_bug.cgi?id=109096
1726 Reviewed by Pavel Feldman.
1728 This change adds a checkbox to show composited layer borders to the WebInspector's
1729 rendering settings and plumbs the setting to Chromium's WebLayerTreeView. The setting
1730 is visible if InspectorClient::canShowDebugBorders() returns true.
1734 * English.lproj/localizedStrings.js:
1735 * inspector/Inspector.json:
1736 * inspector/InspectorClient.h:
1737 (WebCore::InspectorClient::canShowDebugBorders):
1738 (WebCore::InspectorClient::setShowDebugBorders):
1740 * inspector/InspectorPageAgent.cpp:
1742 (WebCore::InspectorPageAgent::restore):
1743 (WebCore::InspectorPageAgent::disable):
1744 (WebCore::InspectorPageAgent::canShowDebugBorders):
1746 (WebCore::InspectorPageAgent::setShowDebugBorders):
1747 * inspector/InspectorPageAgent.h:
1748 * inspector/front-end/Settings.js:
1749 * inspector/front-end/SettingsScreen.js:
1750 (WebInspector.GenericSettingsTab):
1751 (WebInspector.GenericSettingsTab.prototype.get _showDebugBordersChanged):
1752 * inspector/front-end/inspector.js:
1753 (WebInspector.doLoadedDone):
1755 2013-02-07 Gavin Peters <gavinp@chromium.org>
1757 Unreviewed, rolling out r142141.
1758 http://trac.webkit.org/changeset/142141
1759 https://bugs.webkit.org/show_bug.cgi?id=108990
1761 Reland r142112, will update Chromium expectations and create a
1762 Chromium bug instead for the crash.
1767 * page/scrolling/ScrollingCoordinator.cpp:
1768 (WebCore::ScrollingCoordinator::create):
1769 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
1771 (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
1772 (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
1773 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
1775 (ScrollingCoordinatorCoordinatedGraphics):
1776 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1777 (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
1779 (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
1780 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1781 (CoordinatedGraphicsLayerClient):
1782 (CoordinatedGraphicsLayer):
1784 2013-02-07 Andrey Lushnikov <lushnikov@chromium.org>
1786 Web Inspector: home button behaviour is wrong in DTE
1787 https://bugs.webkit.org/show_bug.cgi?id=109154
1789 Reviewed by Vsevolod Vlasov.
1791 Handle home key shortcut explicitly in TextEditorMainPanel.
1793 New test: inspector/editor/text-editor-home-button.html
1795 * inspector/front-end/DefaultTextEditor.js:
1796 (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
1797 (WebInspector.TextEditorMainPanel.prototype._handleHomeKey):
1799 2013-02-07 Gavin Peters <gavinp@chromium.org>
1801 Unreviewed, rolling out r142112.
1802 http://trac.webkit.org/changeset/142112
1803 https://bugs.webkit.org/show_bug.cgi?id=108990
1805 The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
1807 See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
1812 * page/scrolling/ScrollingCoordinator.cpp:
1813 (WebCore::ScrollingCoordinator::create):
1814 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Removed.
1815 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Removed.
1816 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1817 (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
1818 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1819 (CoordinatedGraphicsLayerClient):
1820 (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
1822 2013-02-07 Allan Sandfeld Jensen <allan.jensen@digia.com>
1824 Scrollbars misplaced with accelerated compositing for overflow scroll
1825 https://bugs.webkit.org/show_bug.cgi?id=108625
1827 Reviewed by Simon Fraser.
1829 Scrollbars require their own layer if overflow scroll is composited,
1830 otherwise the scrollbars would be rendered on the content layer and
1831 not fixed to the viewport.
1833 * rendering/RenderLayerBacking.cpp:
1834 (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
1835 (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
1836 (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
1838 2013-02-07 Mike West <mkwst@chromium.org>
1840 Don't ASSERT things about uninitialized variables.
1841 https://bugs.webkit.org/show_bug.cgi?id=109187
1843 Reviewed by Jochen Eisinger.
1845 Rather than ASSERTing that an uninitialized ExceptionCode is non-zero
1846 after some method executes, we should use the ASSERT_NO_EXCEPTION macro.
1848 * editing/markup.cpp:
1849 (WebCore::removeElementPreservingChildren):
1851 2013-02-07 Andrey Lushnikov <lushnikov@chromium.org>
1853 Web Inspector: [Regression] breakpoint condition not editable
1854 https://bugs.webkit.org/show_bug.cgi?id=109183
1856 Reviewed by Vsevolod Vlasov.
1858 Improve TextEditorMainPanel.selection() method to return null if the
1859 selection is set inside of decoration element.
1863 * inspector/front-end/DOMExtension.js:
1864 (Node.prototype.enclosingNodeOrSelfWithClass): Improve to add iteration boundary.
1865 * inspector/front-end/DefaultTextEditor.js:
1866 (WebInspector.TextEditorMainPanel.prototype.selection):
1868 2013-02-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1870 [WK2][EFL][QT]REGRESSION(r142045): Scrolling is broken
1871 https://bugs.webkit.org/show_bug.cgi?id=109185
1873 Reviewed by Kenneth Rohde Christiansen.
1875 This patch is disabling paints clipping logic added at r142045 for the case
1876 when the view should render the entire contents (case of using tiled backing store).
1878 No new tests, covered by plenty of existing manual tests that allow scrolling
1879 (for example fixed-position.html).
1881 * platform/ScrollView.cpp:
1882 (WebCore::ScrollView::paint):
1884 2013-02-07 Vladislav Kaznacheev <kaznacheev@chromium.org>
1886 Web Inspector: Show elements and sources sidebar panes in a tabbed pane when they are below the main pane
1887 https://bugs.webkit.org/show_bug.cgi?id=107552
1889 Reviewed by Pavel Feldman.
1891 Removed the aspect ratio detection logic and implemented explicit user action "Split Horizontally" available
1892 in Elements and Sources panels. When split horizontally the sidebar panes are organized into a tabbed pane.
1893 This user action is behind an experimental flag.
1897 * inspector/front-end/ContextMenu.js:
1898 (WebInspector.ContextMenu.prototype.show):
1899 * inspector/front-end/DOMBreakpointsSidebarPane.js:
1900 (WebInspector.DOMBreakpointsSidebarPane.prototype.createProxy):
1901 (WebInspector.DOMBreakpointsSidebarPane.prototype.onContentReady):
1902 (WebInspector.DOMBreakpointsSidebarPane.Proxy):
1903 (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.expanded):
1904 (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.expand):
1905 (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.collapse):
1906 (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.onContentReady):
1907 (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.wasShown):
1908 (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype._reattachBody):
1909 * inspector/front-end/ElementsPanel.js:
1910 (WebInspector.ElementsPanel):
1911 (WebInspector.ElementsPanel.prototype._populateContextMenu):
1912 * inspector/front-end/ScriptsPanel.js:
1913 (WebInspector.ScriptsPanel.prototype._clearInterface):
1914 (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
1915 (WebInspector.ScriptsPanel.prototype._contextMenuEventFired):
1916 * inspector/front-end/Settings.js:
1917 (WebInspector.ExperimentsSettings):
1918 * inspector/front-end/SidebarPane.js:
1919 (WebInspector.SidebarPane):
1920 (WebInspector.SidebarPane.prototype.prepareContent):
1921 (WebInspector.SidebarPane.prototype.expanded):
1922 (WebInspector.SidebarPane.prototype.expand):
1923 (WebInspector.SidebarPane.prototype.collapse):
1924 (WebInspector.SidebarPane.prototype.onContentReady):
1925 (WebInspector.SidebarPane.prototype._setExpandCallback):
1926 (WebInspector.SidebarPaneStack.prototype.addPane):
1927 (WebInspector.SidebarPaneStack.prototype.activePaneId):
1928 (WebInspector.SidebarPaneStack.prototype.setActivePaneId):
1929 (WebInspector.SidebarPaneStack.prototype._setExpanded):
1930 (WebInspector.SidebarPaneStack.prototype._onPaneExpanded):
1931 (WebInspector.SidebarPaneStack.prototype._collapsePane):
1932 (WebInspector.SidebarTabbedPane):
1933 (WebInspector.SidebarTabbedPane.prototype.addPane):
1934 (WebInspector.SidebarTabbedPane.prototype.activePaneId):
1935 (WebInspector.SidebarTabbedPane.prototype.setActivePaneId):
1936 (WebInspector.SidebarPaneGroup):
1937 (WebInspector.SidebarPaneGroup.prototype.setStacked):
1938 (WebInspector.SidebarPaneGroup.prototype.addPane):
1939 (WebInspector.SidebarPaneGroup.prototype.attachToPanel):
1940 (WebInspector.SidebarPaneGroup.prototype.populateContextMenu.toggleSplitDirection):
1941 (WebInspector.SidebarPaneGroup.prototype.get _contextMenuEventFired):
1942 (WebInspector.SidebarPaneGroup.prototype._onSplitDirectionSettingChanged):
1943 * inspector/front-end/SidebarView.js:
1944 (WebInspector.SidebarView):
1945 (WebInspector.SidebarView.prototype._updateSidebarElementStyle):
1946 (WebInspector.SidebarView.prototype.setVertical):
1947 (WebInspector.SidebarView.prototype.onResize):
1948 * inspector/front-end/StylesSidebarPane.js:
1949 (WebInspector.ComputedStyleSidebarPane.prototype.wasShown):
1950 (WebInspector.ComputedStyleSidebarPane.prototype.prepareContent):
1951 * inspector/front-end/inspector.css:
1952 (.sidebar-pane .section .properties, .event-bar .event-properties):
1954 (.sidebar-pane-toolbar):
1955 (.sidebar-pane-toolbar > *):
1956 (.sidebar-pane-toolbar > select):
1957 (.sidebar-pane-toolbar > select:hover):
1958 (.sidebar-pane-toolbar > select:active):
1959 (.sidebar-pane-toolbar > select.select-settings):
1960 (.sidebar-pane-toolbar > select.select-filter):
1961 (.sidebar-pane-toolbar > select > option, .sidebar-pane-toolbar > select > hr):
1962 (.sidebar-pane-toolbar > .pane-title-button):
1963 (.sidebar-pane-toolbar > .pane-title-button:hover):
1964 (.sidebar-pane-toolbar > .pane-title-button:active, .sidebar-pane-toolbar > .pane-title-button.toggled):
1965 (.sidebar-pane-toolbar > .pane-title-button.add):
1966 (.sidebar-pane-toolbar > .pane-title-button.element-state):
1967 (.sidebar-pane-toolbar > .pane-title-button.refresh):
1969 (.sidebar-pane > .body):
1970 (.sidebar-pane > .body .info):
1971 (.sidebar-pane > .body .placard + .info):
1972 (.sidebar-pane.visible > .body):
1973 (.sidebar-pane > .body .breakpoint-condition):
1974 (.sidebar-pane.visible:nth-last-of-type(1)):
1975 (.sidebar-pane-subtitle):
1976 (.sidebar-pane-subtitle input, .section .header input[type=checkbox]):
1977 (.sidebar-pane .breakpoint-hit):
1979 2013-02-07 Gavin Peters <gavinp@chromium.org>
1981 Unreviewed, rolling out r142111.
1982 http://trac.webkit.org/changeset/142111
1983 https://bugs.webkit.org/show_bug.cgi?id=108055
1985 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
1987 * Resources/pagepopups/calendarPicker.css:
1988 (.today-clear-area .today-button):
1989 * Resources/pagepopups/calendarPicker.js:
1990 (CalendarPicker.prototype.fixWindowSize):
1992 2013-02-07 Vsevolod Vlasov <vsevik@chromium.org>
1994 Web Inspector: [Regression] Map.size() returns negative values.
1995 https://bugs.webkit.org/show_bug.cgi?id=109174
1997 Reviewed by Yury Semikhatsky.
1999 * inspector/front-end/utilities.js:
2001 2013-02-07 Pavel Feldman <pfeldman@chromium.org>
2003 Web Inspector: break details are only rendered upon first debugger pause.
2004 https://bugs.webkit.org/show_bug.cgi?id=109193
2006 Reviewed by Vsevolod Vlasov.
2008 * inspector/front-end/CallStackSidebarPane.js:
2009 (WebInspector.CallStackSidebarPane.prototype.update):
2011 2013-02-07 Gavin Peters <gavinp@chromium.org>
2013 Unreviewed, rolling out r142118.
2014 http://trac.webkit.org/changeset/142118
2015 https://bugs.webkit.org/show_bug.cgi?id=109044
2019 * Modules/indexeddb/IDBCursor.cpp:
2020 (WebCore::IDBCursor::direction):
2021 * Modules/indexeddb/IDBObjectStore.cpp:
2023 * Modules/indexeddb/IDBTransaction.cpp:
2024 (WebCore::IDBTransaction::mode):
2025 * dom/ContainerNode.cpp:
2026 (WebCore::ContainerNode::takeAllChildrenFrom):
2028 (WebCore::Document::setTitle):
2029 * dom/MessagePort.cpp:
2030 (WebCore::MessagePort::dispatchMessages):
2031 (WebCore::MessagePort::disentanglePorts):
2032 * editing/DeleteButtonController.cpp:
2033 (WebCore::enclosingDeletableElement):
2034 (WebCore::DeleteButtonController::createDeletionUI):
2035 (WebCore::DeleteButtonController::show):
2036 * editing/EditorCommand.cpp:
2037 (WebCore::unionDOMRanges):
2038 * editing/ReplaceNodeWithSpanCommand.cpp:
2039 (WebCore::swapInNodePreservingAttributesAndChildren):
2040 * editing/ReplaceSelectionCommand.cpp:
2041 (WebCore::ReplacementFragment::ReplacementFragment):
2042 (WebCore::ReplacementFragment::removeNode):
2043 (WebCore::ReplacementFragment::insertNodeBefore):
2044 (WebCore::ReplacementFragment::insertFragmentForTestRendering):
2045 (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
2046 (WebCore::ReplaceSelectionCommand::insertAsListItems):
2047 * editing/SplitTextNodeCommand.cpp:
2048 (WebCore::SplitTextNodeCommand::doUnapply):
2049 * editing/TextIterator.cpp:
2050 (WebCore::CharacterIterator::range):
2051 (WebCore::BackwardsCharacterIterator::range):
2052 (WebCore::TextIterator::rangeFromLocationAndLength):
2053 (WebCore::collapsedToBoundary):
2054 * editing/htmlediting.cpp:
2055 (WebCore::createTabSpanElement):
2056 * editing/mac/EditorMac.mm:
2057 (WebCore::Editor::fontForSelection):
2058 (WebCore::Editor::fontAttributesForSelectionStart):
2059 * editing/markup.cpp:
2060 (WebCore::createMarkup):
2061 (WebCore::trimFragment):
2062 (WebCore::createFragmentFromMarkupWithContext):
2063 (WebCore::fillContainerFromString):
2064 (WebCore::createFragmentFromText):
2065 (WebCore::createFragmentFromNodes):
2066 * html/ColorInputType.cpp:
2067 (WebCore::ColorInputType::createShadowSubtree):
2068 * html/HTMLOptionsCollection.cpp:
2069 (WebCore::HTMLOptionsCollection::add):
2070 * html/HTMLTextAreaElement.cpp:
2071 (WebCore::HTMLTextAreaElement::updatePlaceholderText):
2072 * html/HTMLTextFormControlElement.cpp:
2073 (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
2074 (WebCore::HTMLTextFormControlElement::setInnerTextValue):
2075 * html/TextFieldInputType.cpp:
2076 (WebCore::TextFieldInputType::updatePlaceholderText):
2077 * html/ValidationMessage.cpp:
2078 (WebCore::ValidationMessage::buildBubbleTree):
2079 * html/shadow/MediaControlElementTypes.cpp:
2080 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
2081 * inspector/InspectorPageAgent.cpp:
2082 (WebCore::InspectorPageAgent::getCookies):
2083 * inspector/InspectorStyleSheet.cpp:
2084 (WebCore::InspectorStyleSheet::addRule):
2085 * loader/appcache/ApplicationCacheHost.cpp:
2086 (WebCore::ApplicationCacheHost::dispatchDOMEvent):
2087 * page/DOMSelection.cpp:
2088 (WebCore::DOMSelection::deleteFromDocument):
2089 * page/DragController.cpp:
2090 (WebCore::prepareClipboardForImageDrag):
2091 * rendering/RenderTextControl.cpp:
2092 (WebCore::RenderTextControl::visiblePositionForIndex):
2093 * rendering/style/SVGRenderStyle.h:
2094 (WebCore::SVGRenderStyle::initialBaselineShiftValue):
2095 (WebCore::SVGRenderStyle::initialKerning):
2096 (WebCore::SVGRenderStyle::initialStrokeDashOffset):
2097 (WebCore::SVGRenderStyle::initialStrokeWidth):
2098 * svg/SVGAnimatedLength.cpp:
2099 (WebCore::sharedSVGLength):
2100 (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
2101 (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
2102 * svg/SVGAnimatedLengthList.cpp:
2103 (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
2104 (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
2105 * svg/SVGLength.cpp:
2106 (WebCore::SVGLength::SVGLength):
2107 * svg/SVGTextContentElement.cpp:
2108 (WebCore::SVGTextContentElement::textLengthAnimated):
2109 * svg/animation/SVGSMILElement.cpp:
2110 (WebCore::constructQualifiedName):
2112 2013-02-07 Kentaro Hara <haraken@chromium.org>
2114 Remove #if USE(V8) from IDBRequest.h
2115 https://bugs.webkit.org/show_bug.cgi?id=109163
2117 Reviewed by Andreas Kling.
2119 The header included inside the #if USE(V8) macro is not used.
2120 We can simply remove it.
2122 No tests. No change in behavior.
2124 * Modules/indexeddb/IDBRequest.h:
2126 2013-02-07 Stephen Chenney <schenney@chromium.org>
2128 GraphicsContext::drawImageBuffer is inefficient
2129 https://bugs.webkit.org/show_bug.cgi?id=104367
2131 Reviewed by Dirk Schulze.
2133 This patch converts all of the drawImage and drawImageBuffer
2134 convenience methods (those that take parameters of various types) to
2135 invoke the implementing method (that takes FloatRect src and dest)
2136 directly, rather than through the next-most-convenient method as was
2137 done previously. This will knock some layers off the stack compared
2138 to the existing code, and may remove one or two constructor invocations.
2139 This may be slightly more efficient, and also makes debugging simpler.
2141 Also removes the unused drawImage method that takes and IntRect source
2142 area and IntRect destination. It is not invoked anywhere in a standard
2145 No new tests. No change in functionality, just refactoring.
2147 * platform/graphics/GraphicsContext.cpp:
2148 (WebCore::GraphicsContext::drawImage): Modify all the convenience versions to call
2149 the implementing version directly.
2150 (WebCore::GraphicsContext::drawImageBuffer): Modify all the convenience versions
2151 to call the implementing version directly.
2152 * platform/graphics/GraphicsContext.h:
2153 (GraphicsContext): Remove IntRect, IntRect version of drawImage.
2155 2013-02-07 Kent Tamura <tkent@chromium.org>
2157 Conversion from localized numbers to HTML numbers should accept not only localized numbers but also HTML numbers
2158 https://bugs.webkit.org/show_bug.cgi?id=109160
2160 Reviewed by Kentaro Hara.
2162 For example, A French user needs to specify a number to a number input
2163 field. He might use a local decimal point, like 3,141592, or he might
2164 use the standard decimal point like 3.141592. We had better accept both
2167 We accepted both last year, but we changed the behavior so that we
2168 accept only localized numbers because we had some cases where an input
2169 string can be recognized as both of a localized number and the standard
2170 number. e.g. 3.141 is 3141 in French locale and 3.141 in the
2171 standard. Now we introduce a simple rule that we don't accept group
2172 separator at all. So users won't confuse even if we accept both of
2175 Test: fast/forms/number/number-l10n-input.html
2177 * platform/text/PlatformLocale.cpp:
2178 (WebCore::Locale::convertFromLocalizedNumber):
2179 If the specified string contains invalid characters including group
2180 separators, just return the specified string.
2182 2013-02-07 Xiaobo Wang <xbwang@torchmobile.com.cn>
2184 [BlackBerry] CHHW - Characters that are using 32 bits encoding get trunked to 16bits
2185 https://bugs.webkit.org/show_bug.cgi?id=109126
2188 Reviewed by Yong Li.
2190 Change char code to 4 bytes.
2191 Need to convert UTF32 key char to UTF16 before constructing a WTF::String.
2193 * platform/PlatformKeyboardEvent.h:
2194 (WebCore::PlatformKeyboardEvent::unmodifiedCharacter):
2195 (PlatformKeyboardEvent):
2196 * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
2197 (WebCore::keyIdentifierForBlackBerryCharacter):
2198 (WebCore::windowsKeyCodeForBlackBerryCharacter):
2199 (WebCore::adjustCharacterFromOS):
2200 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2202 2013-02-07 Mike West <mkwst@chromium.org>
2204 Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
2205 https://bugs.webkit.org/show_bug.cgi?id=109044
2207 Reviewed by Darin Adler.
2211 ExceptionCode ec = 0;
2212 methodThatGeneratesException(ec);
2215 is more clearly and succinctly written as:
2217 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
2219 This patch replaces the occurances of the former that never touch 'ec'
2220 again with the latter. It does the same for 'ASSERT(ec == 0);' (and, as
2221 a drive-by, replaces 'ASSERT(ec == 0)' with 'ASSERT(!ec)' in places
2222 where it does indeed matter that 'ec' get set properly.
2224 No change in behavior should result from this refactoring.
2226 * Modules/indexeddb/IDBCursor.cpp:
2227 (WebCore::IDBCursor::direction):
2228 * Modules/indexeddb/IDBObjectStore.cpp:
2230 * Modules/indexeddb/IDBTransaction.cpp:
2231 (WebCore::IDBTransaction::mode):
2232 * dom/ContainerNode.cpp:
2233 (WebCore::ContainerNode::takeAllChildrenFrom):
2235 (WebCore::Document::setTitle):
2236 * dom/MessagePort.cpp:
2237 (WebCore::MessagePort::dispatchMessages):
2238 (WebCore::MessagePort::disentanglePorts):
2239 * editing/DeleteButtonController.cpp:
2240 (WebCore::enclosingDeletableElement):
2241 (WebCore::DeleteButtonController::createDeletionUI):
2242 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
2243 (WebCore::DeleteButtonController::show):
2244 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
2245 * editing/EditorCommand.cpp:
2246 (WebCore::unionDOMRanges):
2247 * editing/ReplaceNodeWithSpanCommand.cpp:
2248 (WebCore::swapInNodePreservingAttributesAndChildren):
2249 * editing/ReplaceSelectionCommand.cpp:
2250 (WebCore::ReplacementFragment::ReplacementFragment):
2251 (WebCore::ReplacementFragment::removeNode):
2252 (WebCore::ReplacementFragment::insertNodeBefore):
2253 (WebCore::ReplacementFragment::insertFragmentForTestRendering):
2254 (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
2255 (WebCore::ReplaceSelectionCommand::insertAsListItems):
2256 * editing/SplitTextNodeCommand.cpp:
2257 (WebCore::SplitTextNodeCommand::doUnapply):
2258 * editing/TextIterator.cpp:
2259 (WebCore::CharacterIterator::range):
2260 (WebCore::BackwardsCharacterIterator::range):
2261 (WebCore::TextIterator::rangeFromLocationAndLength):
2262 (WebCore::collapsedToBoundary):
2263 * editing/htmlediting.cpp:
2264 (WebCore::createTabSpanElement):
2265 * editing/mac/EditorMac.mm:
2266 (WebCore::Editor::fontForSelection):
2267 (WebCore::Editor::fontAttributesForSelectionStart):
2268 * editing/markup.cpp:
2269 (WebCore::createMarkup):
2270 (WebCore::trimFragment):
2271 (WebCore::createFragmentFromMarkupWithContext):
2272 (WebCore::fillContainerFromString):
2273 (WebCore::createFragmentFromText):
2274 (WebCore::createFragmentFromNodes):
2275 * html/ColorInputType.cpp:
2276 (WebCore::ColorInputType::createShadowSubtree):
2277 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
2278 * html/HTMLOptionsCollection.cpp:
2279 (WebCore::HTMLOptionsCollection::add):
2280 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
2281 * html/HTMLTextAreaElement.cpp:
2282 (WebCore::HTMLTextAreaElement::updatePlaceholderText):
2283 * html/HTMLTextFormControlElement.cpp:
2284 (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
2285 (WebCore::HTMLTextFormControlElement::setInnerTextValue):
2286 * html/TextFieldInputType.cpp:
2287 (WebCore::TextFieldInputType::updatePlaceholderText):
2288 * html/ValidationMessage.cpp:
2289 (WebCore::ValidationMessage::buildBubbleTree):
2290 * html/shadow/MediaControlElementTypes.cpp:
2291 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
2292 * inspector/InspectorPageAgent.cpp:
2293 (WebCore::InspectorPageAgent::getCookies):
2294 * inspector/InspectorStyleSheet.cpp:
2295 (WebCore::InspectorStyleSheet::addRule):
2296 * loader/appcache/ApplicationCacheHost.cpp:
2297 (WebCore::ApplicationCacheHost::dispatchDOMEvent):
2298 * page/DOMSelection.cpp:
2299 (WebCore::DOMSelection::deleteFromDocument):
2300 * page/DragController.cpp:
2301 (WebCore::prepareClipboardForImageDrag):
2302 * rendering/RenderTextControl.cpp:
2303 (WebCore::RenderTextControl::visiblePositionForIndex):
2304 * rendering/style/SVGRenderStyle.h:
2305 (WebCore::SVGRenderStyle::initialBaselineShiftValue):
2306 (WebCore::SVGRenderStyle::initialKerning):
2307 (WebCore::SVGRenderStyle::initialStrokeDashOffset):
2308 (WebCore::SVGRenderStyle::initialStrokeWidth):
2309 * svg/SVGAnimatedLength.cpp:
2310 (WebCore::sharedSVGLength):
2311 (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
2312 (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
2313 * svg/SVGAnimatedLengthList.cpp:
2314 (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
2315 (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
2316 * svg/SVGLength.cpp:
2317 (WebCore::SVGLength::SVGLength):
2318 * svg/SVGTextContentElement.cpp:
2319 (WebCore::SVGTextContentElement::textLengthAnimated):
2320 * svg/animation/SVGSMILElement.cpp:
2321 (WebCore::constructQualifiedName):
2322 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
2324 2013-02-07 Mary Wu <mary.wu@torchmobile.com.cn>
2326 [BlackBerry] Export mimeType in NetworkJob
2327 https://bugs.webkit.org/show_bug.cgi?id=109002
2329 Reviewed by Yong Li.
2331 NetworkJob will analysize resource mimetype and set it to resourceResponse,
2332 we will pass it on to be used by other Streams like download stream.
2334 RIM bug# 284408, internally reviewed by Liam Quinn.
2336 * platform/network/blackberry/NetworkJob.cpp:
2337 (WebCore::NetworkJob::mimeType):
2339 * platform/network/blackberry/NetworkJob.h:
2342 2013-02-07 Peter Rybin <prybin@chromium.org>
2344 Web Inspector: support JavaScript variable mutation in protocol and V8 bindings
2345 https://bugs.webkit.org/show_bug.cgi?id=107829
2347 A new command is added to protocol description and the call is passed through
2348 debugger agent through injected script and debugger script down to V8 mirror
2349 API. JSC bindings got a thorw exception stub.
2351 Only declarative JavaScript scopes are supported (local, closure, catch). Other
2352 scopes (global, with) are not supported by V8 and not supported by protocol, because
2353 manual approach (direct property assigment) is available for them in form of evaluate
2354 commands and is more desirable because of a complex nature of operation (it can throw
2355 exception in several cases such as exception in setter function).
2357 Reviewed by Pavel Feldman.
2359 Test: inspector-protocol/debugger-setVariableValue.html
2361 * bindings/js/JSInjectedScriptHostCustom.cpp:
2362 (WebCore::JSInjectedScriptHost::setFunctionVariableValue):
2364 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2365 (WebCore::JSJavaScriptCallFrame::setVariableValue):
2367 * bindings/v8/DebuggerScript.js:
2369 * bindings/v8/JavaScriptCallFrame.cpp:
2370 (WebCore::JavaScriptCallFrame::setVariableValue):
2372 * bindings/v8/JavaScriptCallFrame.h:
2373 (JavaScriptCallFrame):
2374 * bindings/v8/ScriptDebugServer.cpp:
2375 (WebCore::ScriptDebugServer::setFunctionVariableValue):
2377 * bindings/v8/ScriptDebugServer.h:
2378 (ScriptDebugServer):
2379 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2380 (WebCore::V8InjectedScriptHost::setFunctionVariableValueCallback):
2382 * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
2383 (WebCore::V8JavaScriptCallFrame::setVariableValueCallback):
2385 * inspector/InjectedScript.cpp:
2386 (WebCore::InjectedScript::setVariableValue):
2388 * inspector/InjectedScript.h:
2390 * inspector/InjectedScriptHost.idl:
2391 * inspector/InjectedScriptSource.js:
2393 * inspector/Inspector.json:
2394 * inspector/InspectorDebuggerAgent.cpp:
2395 (WebCore::InspectorDebuggerAgent::getFunctionDetails):
2396 (WebCore::InspectorDebuggerAgent::setVariableValue):
2398 * inspector/InspectorDebuggerAgent.h:
2399 (InspectorDebuggerAgent):
2400 * inspector/JavaScriptCallFrame.idl:
2402 2013-02-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
2404 [CoordinatedGraphics] Use ScrollingCoordinator to track fixed layers
2405 https://bugs.webkit.org/show_bug.cgi?id=108990
2407 Reviewed by Noam Rosenthal.
2409 WebCore keeps ScrollingCoordinator up-to-date about whether layers are fixed or not, so we
2410 don't need to traverse the tree every frame to get this information.
2412 The function ScrollingCoordinator::setLayerIsFixedToContainerLayer() is called when
2413 RenderLayerBacking is updating its graphics layers.
2415 The new code also works in new situations where the previous was broken: if a layer changed
2416 from being fixed to not fixed (but still kept as a layer for other reasons), the layer will
2417 be correctly updated. Previous implementation only had logic to mark layers as fixed, but
2418 not the other way round. A manual test was added to illustrate the solved problem.
2420 Testing was done with the existing manual tests that make use of "position:fixed". Automatic
2421 tests are mostly not affected by this because usage of this information affects only the
2422 UseFixedLayout mode, not used by default in WebKitTestRunner. Work to improve this situation
2423 will be tracked in bug https://bugs.webkit.org/show_bug.cgi?id=109175.
2428 * page/scrolling/ScrollingCoordinator.cpp:
2429 (WebCore::ScrollingCoordinator::create): create specific version of ScrollingCoordinator.
2430 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
2432 (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
2433 (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
2434 update layer information using existing hook in ScrollingCoordinator.
2435 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
2437 (ScrollingCoordinatorCoordinatedGraphics):
2438 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2439 (WebCore::CoordinatedGraphicsLayer::setFixedToViewport): now that setting viewport is not
2440 embedded in the synchronization work, we need to mark the layer so it is updated in the
2443 (WebCore::CoordinatedGraphicsLayer::flushCompositingState): remove call to syncFixedLayers().
2444 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2445 (CoordinatedGraphicsLayerClient): remove now unused syncFixedLayers() from client.
2446 (CoordinatedGraphicsLayer):
2448 2013-02-07 Keishi Hattori <keishi@webkit.org>
2450 REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
2451 https://bugs.webkit.org/show_bug.cgi?id=109136
2453 Reviewed by Kent Tamura.
2455 Calendar picker was using the "Clear" button to calculate the window width.
2456 Since it doesn't exist when the input element has a required attribute,
2457 it was throwing an error. This patch fixes the width calculating logic.
2459 Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
2460 platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
2462 * Resources/pagepopups/calendarPicker.css:
2463 (.today-clear-area):
2464 * Resources/pagepopups/calendarPicker.js:
2465 (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
2466 the width. We don't want to use clear button because it doesn't exist
2467 when a value is required.
2469 2013-02-07 Gustavo Noronha Silva <gns@gnome.org>
2471 Unreviewed build fix. libWebCore.la needs to be relinked when
2472 symbols.filter changes.
2474 * GNUmakefile.am: add symbols.filter as a dependency for the
2475 libWebCore.la library.
2477 2013-02-07 Vsevolod Vlasov <vsevik@chromium.org>
2479 Web Inspector: Closure compilation fixes
2480 https://bugs.webkit.org/show_bug.cgi?id=109131
2482 Reviewed by Yury Semikhatsky.
2484 * inspector/front-end/ElementsPanel.js:
2485 (WebInspector.ElementsPanel):
2486 * inspector/front-end/FileSystemMapping.js:
2487 (WebInspector.FileSystemMappingImpl.prototype.uriPrefixForPathPrefix):
2488 * inspector/front-end/IsolatedFileSystemModel.js:
2489 (WebInspector.IsolatedFileSystemModel.prototype._fileSystemRemoved):
2490 * inspector/front-end/SidebarPane.js:
2492 2013-02-07 Kentaro Hara <haraken@chromium.org>
2494 Unreviewed, rolling out r142077.
2495 http://trac.webkit.org/changeset/142077
2496 https://bugs.webkit.org/show_bug.cgi?id=108579
2498 fast/filesystem/workers/file-writer-empty-blob.html is broken
2500 * bindings/v8/DOMDataStore.h:
2501 (WebCore::DOMDataStore::setWrapperInObject):
2502 * bindings/v8/DOMWrapperWorld.h:
2504 (WebCore::DOMWrapperWorld::isolated):
2505 * bindings/v8/V8Binding.h:
2507 (WebCore::worldForEnteredContextIfIsolated):
2508 * bindings/v8/V8DOMWindowShell.cpp:
2509 (WebCore::V8DOMWindowShell::initializeIfNeeded):
2510 * bindings/v8/V8GCController.cpp:
2511 (WebCore::WrapperVisitor::WrapperVisitor):
2514 (WebCore::V8GCController::didCreateWrapperForNode):
2515 (WebCore::V8GCController::gcPrologue):
2516 (WebCore::V8GCController::minorGCPrologue):
2517 (WebCore::V8GCController::majorGCPrologue):
2518 * bindings/v8/V8GCController.h:
2521 2013-02-07 Tony Gentilcore <tonyg@chromium.org>
2523 Call XSSAuditor.filterToken() from threaded HTML parser
2524 https://bugs.webkit.org/show_bug.cgi?id=107603
2526 Reviewed by Adam Barth.
2528 With this patch we now pass 180 of 182 tests in http/tests/security/xssAuditor.
2530 We do this by creating aan XSSAuditor on the main thread and passing ownership of them to the BackgroundHTMLParser upon its creation.
2532 Then the background thread calls filterToken() and stores the resulting XSSInfo (if any) on the CompactHTMLToken for the main thread to handle.
2534 This involved trimming the XSSAuditor to only depend on the TextEncoding instead of the whole TextResourceDecoder.
2536 No new tests because covered by existing tests.
2538 * html/parser/BackgroundHTMLParser.cpp:
2539 (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
2540 (WebCore::BackgroundHTMLParser::pumpTokenizer):
2541 (WebCore::BackgroundHTMLParser::createPartial):
2542 * html/parser/BackgroundHTMLParser.h:
2544 (WebCore::BackgroundHTMLParser::create):
2545 (BackgroundHTMLParser):
2546 * html/parser/HTMLDocumentParser.cpp:
2547 (WebCore::HTMLDocumentParser::pumpTokenizer):
2548 (WebCore::HTMLDocumentParser::startBackgroundParser):
2549 * html/parser/HTMLSourceTracker.cpp:
2550 (WebCore::HTMLSourceTracker::start):
2551 (WebCore::HTMLSourceTracker::end):
2552 * html/parser/HTMLSourceTracker.h: Change the HTMLInputStream args to SegmentedString because the background thread only has a BackgroundHTMLInputStream.
2553 (HTMLSourceTracker):
2554 * html/parser/HTMLViewSourceParser.cpp:
2555 (WebCore::HTMLViewSourceParser::pumpTokenizer):
2556 * html/parser/XSSAuditor.cpp:
2557 (WebCore::fullyDecodeString):
2558 (WebCore::XSSAuditor::XSSAuditor):
2559 (WebCore::XSSAuditor::init): Copies necessary to make isSafeToSendToAnotherThread() happy.
2560 (WebCore::XSSAuditor::decodedSnippetForName):
2561 (WebCore::XSSAuditor::decodedSnippetForAttribute):
2562 (WebCore::XSSAuditor::decodedSnippetForJavaScript):
2563 (WebCore::XSSAuditor::isSafeToSendToAnotherThread): Check that all String and KURL members are safe to send to another thread.
2565 * html/parser/XSSAuditor.h:
2567 (WebCore::FilterTokenRequest::FilterTokenRequest):
2568 (FilterTokenRequest):
2571 2013-02-07 ChangSeok Oh <shivamidow@gmail.com>
2573 [GTK][AC] Implement opacity animation with clutter ac backend
2574 https://bugs.webkit.org/show_bug.cgi?id=108961
2576 Reviewed by Gustavo Noronha Silva.
2578 Implement opacity animation with clutter ac backend.
2579 Almost all implementations of GraphicsLayerClutter are based on mac port's one.
2580 PlatformClutterAnimation interfaces are also similar with mac port, but they are implemented
2581 with native clutter APIs.
2582 This patch includes only opacity animation related changes, so many APIs might be empty.
2583 Remained animations like rotation and translate will be dealt in another patches.
2585 Covered by existing animation tests.
2587 * GNUmakefile.list.am:
2588 * platform/graphics/clutter/GraphicsLayerActor.cpp:
2589 (graphicsLayerActorGetAnimationForKey):
2590 * platform/graphics/clutter/GraphicsLayerActor.h:
2591 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2593 (WebCore::propertyIdToString):
2594 (WebCore::animationIdentifier):
2595 (WebCore::animationHasStepsTimingFunction):
2596 (WebCore::GraphicsLayerClutter::setOpacity):
2597 (WebCore::GraphicsLayerClutter::updateAnimations):
2598 (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
2599 (WebCore::GraphicsLayerClutter::setupAnimation):
2600 (WebCore::GraphicsLayerClutter::timingFunctionForAnimationValue):
2601 (WebCore::GraphicsLayerClutter::createBasicAnimation):
2602 (WebCore::GraphicsLayerClutter::createKeyframeAnimation):
2603 (WebCore::GraphicsLayerClutter::setTransformAnimationKeyframes):
2604 (WebCore::GraphicsLayerClutter::setTransformAnimationEndpoints):
2605 (WebCore::GraphicsLayerClutter::createTransformAnimationsFromKeyframes):
2606 (WebCore::GraphicsLayerClutter::createAnimationFromKeyframes):
2607 (WebCore::GraphicsLayerClutter::addAnimation):
2608 (WebCore::GraphicsLayerClutter::removeClutterAnimationFromLayer):
2609 (WebCore::GraphicsLayerClutter::pauseClutterAnimationOnLayer):
2610 (WebCore::GraphicsLayerClutter::setAnimationOnLayer):
2611 (WebCore::GraphicsLayerClutter::setAnimationEndpoints):
2612 (WebCore::GraphicsLayerClutter::setAnimationKeyframes):
2613 (WebCore::GraphicsLayerClutter::animatedLayer):
2614 * platform/graphics/clutter/GraphicsLayerClutter.h:
2615 (GraphicsLayerClutter):
2616 (WebCore::GraphicsLayerClutter::LayerPropertyAnimation::LayerPropertyAnimation):
2617 (LayerPropertyAnimation):
2618 (WebCore::GraphicsLayerClutter::AnimationProcessingAction::AnimationProcessingAction):
2619 (AnimationProcessingAction):
2620 * platform/graphics/clutter/PlatformClutterAnimation.cpp: Added.
2622 (WebCore::timelineStartedCallback):
2623 (WebCore::toClutterAnimationMode):
2624 (WebCore::PlatformClutterAnimation::stringToAnimatedPropertyType):
2625 (WebCore::PlatformClutterAnimation::create):
2626 (WebCore::PlatformClutterAnimation::PlatformClutterAnimation):
2627 (WebCore::PlatformClutterAnimation::~PlatformClutterAnimation):
2628 (WebCore::PlatformClutterAnimation::supportsValueFunction):
2629 (WebCore::PlatformClutterAnimation::beginTime):
2630 (WebCore::PlatformClutterAnimation::setBeginTime):
2631 (WebCore::PlatformClutterAnimation::duration):
2632 (WebCore::PlatformClutterAnimation::setDuration):
2633 (WebCore::PlatformClutterAnimation::speed):
2634 (WebCore::PlatformClutterAnimation::setSpeed):
2635 (WebCore::PlatformClutterAnimation::timeOffset):
2636 (WebCore::PlatformClutterAnimation::setTimeOffset):
2637 (WebCore::PlatformClutterAnimation::repeatCount):
2638 (WebCore::PlatformClutterAnimation::setRepeatCount):
2639 (WebCore::PlatformClutterAnimation::autoreverses):
2640 (WebCore::PlatformClutterAnimation::setAutoreverses):
2641 (WebCore::PlatformClutterAnimation::fillMode):
2642 (WebCore::PlatformClutterAnimation::setFillMode):
2643 (WebCore::PlatformClutterAnimation::setTimingFunction):
2644 (WebCore::PlatformClutterAnimation::copyTimingFunctionFrom):
2645 (WebCore::PlatformClutterAnimation::isRemovedOnCompletion):
2646 (WebCore::PlatformClutterAnimation::setRemovedOnCompletion):
2647 (WebCore::PlatformClutterAnimation::isAdditive):
2648 (WebCore::PlatformClutterAnimation::setAdditive):
2649 (WebCore::PlatformClutterAnimation::valueFunction):
2650 (WebCore::PlatformClutterAnimation::setValueFunction):
2651 (WebCore::PlatformClutterAnimation::setFromValue):
2652 (WebCore::PlatformClutterAnimation::copyFromValueFrom):
2653 (WebCore::PlatformClutterAnimation::setToValue):
2654 (WebCore::PlatformClutterAnimation::copyToValueFrom):
2655 (WebCore::PlatformClutterAnimation::setValues):
2656 (WebCore::PlatformClutterAnimation::copyValuesFrom):
2657 (WebCore::PlatformClutterAnimation::setKeyTimes):
2658 (WebCore::PlatformClutterAnimation::copyKeyTimesFrom):
2659 (WebCore::PlatformClutterAnimation::setTimingFunctions):
2660 (WebCore::PlatformClutterAnimation::copyTimingFunctionsFrom):
2661 (WebCore::PlatformClutterAnimation::animationDidStart):
2662 (WebCore::PlatformClutterAnimation::timeline):
2663 (WebCore::PlatformClutterAnimation::addOpacityTransition):
2664 (WebCore::PlatformClutterAnimation::addAnimationForKey):
2665 (WebCore::PlatformClutterAnimation::removeAnimationForKey):
2666 * platform/graphics/clutter/PlatformClutterAnimation.h: Added.
2668 (PlatformClutterAnimation):
2669 (WebCore::PlatformClutterAnimation::animationType):
2671 2013-02-07 Andrey Lushnikov <lushnikov@chromium.org>
2673 Web Inspector: highlight matching braces in DTE.
2674 https://bugs.webkit.org/show_bug.cgi?id=108697
2676 Reviewed by Pavel Feldman.
2678 Implement BraceMatcher class which for given position in textModel
2679 will respond with enclosing brace pair for that position.
2680 Make use of this class in DefaultTextEditor by handling
2681 selectionChange event. Make use of this class in "_closingBlockOffset"
2682 method of TextEditorMainPanel as this method implements similar
2685 New test: inspector/editor/brace-matcher.html
2687 * inspector/front-end/DefaultTextEditor.js:
2688 (WebInspector.TextEditorMainPanel):
2689 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2690 (WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
2691 (WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):
2692 (WebInspector.TextEditorMainPanel.BraceHighlightController):
2693 (WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.handleSelectionChange):
2694 * inspector/front-end/TextEditorHighlighter.js:
2695 (WebInspector.TextEditorHighlighter.prototype._highlightLines):
2696 * inspector/front-end/TextEditorModel.js:
2697 (WebInspector.TextEditorModel.endsWithBracketRegex):
2698 (WebInspector.TextEditorModel.endsWithBracketRegex.):
2699 * inspector/front-end/textEditor.css:
2700 (.text-editor-brace-match):
2702 2013-02-05 Eunmi Lee <eunmi15.lee@samsung.com> and Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
2704 [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
2705 https://bugs.webkit.org/show_bug.cgi?id=97173
2707 Reviewed by Kenneth Rohde Christiansen, signed-off by Benjamin Poulain.
2709 Remove codes to initialize and shutdown the EFL libraries from
2710 RunLoopEfl.cpp. Initialization and shutdown will be done in the
2711 ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web
2714 No new tests. This patch doesn't change behavior.
2716 * platform/efl/RunLoopEfl.cpp:
2717 (WebCore::RunLoop::RunLoop):
2718 (WebCore::RunLoop::~RunLoop):
2720 2013-02-07 Ilya Tikhonovsky <loislo@chromium.org>
2722 Unreviewed fix for inspector tests in debug.
2723 m_frontend should be initialized in constructor.
2725 * inspector/InspectorMemoryAgent.cpp:
2726 (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
2728 2013-02-07 Yury Semikhatsky <yurys@chromium.org>
2730 Web Inspector: reduce number of native memory instrumentation categories
2731 https://bugs.webkit.org/show_bug.cgi?id=109146
2733 Reviewed by Pavel Feldman.
2735 Merged some of memory instrumentation categories.
2737 * dom/WebCoreMemoryInstrumentation.cpp:
2739 * inspector/front-end/NativeMemorySnapshotView.js:
2740 (WebInspector.MemoryBlockViewProperties._initialize):
2741 * platform/PlatformMemoryInstrumentation.cpp:
2744 2013-02-04 Kentaro Hara <haraken@chromium.org>
2746 [V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
2747 https://bugs.webkit.org/show_bug.cgi?id=108579
2749 Reviewed by Adam Barth.
2751 Currently V8GCController::m_edenNodes stores a list of nodes whose
2752 wrappers have been created since the latest GC. The reason why we
2753 needed m_edenNodes is that there was no way to know a list of wrappers
2754 in the new space of V8. By using m_edenNodes, we had been approximating
2755 'wrappers in the new space' by 'wrappers that have been created since
2758 Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
2759 can know a list of wrappers in the new space. By using the API, we can
2760 remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
2761 need to keep m_edenNodes and that (2) it enables more precise minor
2762 DOM GC (Remember that m_edenNodes was just an approximation).
2764 Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
2765 The benchmark runs 300 iterations, each of which creates 100000 elements.
2766 The benchmark measures average, min, median, max and stdev of execution times
2767 of the 300 iterations. This will tell us the worst-case overhead of this change.
2770 mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
2773 mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
2775 As shown above, I couldn't observe any performance regression.
2777 No tests. No change in behavior.
2779 * bindings/v8/DOMDataStore.h:
2780 (WebCore::DOMDataStore::setWrapperInObject):
2781 * bindings/v8/DOMWrapperWorld.h:
2783 (WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):
2784 * bindings/v8/V8Binding.h:
2786 (WebCore::worldForEnteredContextIfIsolated):
2787 (WebCore::worldForEnteredContextWithoutContextCheck):
2788 * bindings/v8/V8DOMWindowShell.cpp:
2789 (WebCore::V8DOMWindowShell::initializeIfNeeded):
2790 * bindings/v8/V8GCController.cpp:
2793 (MinorGCWrapperVisitor):
2794 (WebCore::MinorGCWrapperVisitor::MinorGCWrapperVisitor):
2795 (WebCore::MinorGCWrapperVisitor::notifyFinished):
2796 (WebCore::MajorGCWrapperVisitor::MajorGCWrapperVisitor):
2797 (WebCore::V8GCController::gcPrologue):
2798 (WebCore::V8GCController::minorGCPrologue):
2799 (WebCore::V8GCController::majorGCPrologue):
2800 * bindings/v8/V8GCController.h:
2803 2013-02-06 Kent Tamura <tkent@chromium.org>
2805 REGRESSION(r141195): INPUT_MULTIPLE_FIELDS_UI: Space in a placeholder string is removed
2806 https://bugs.webkit.org/show_bug.cgi?id=109132
2808 Reviewed by Hajime Morita.
2810 <input type=date> should be shown in Japanese UI as:
2812 But it is shown wrongly since r141195:
2815 We should use white-space:pre.
2817 No new tests. This change is not testable in WebKit because this
2818 requires a Japanese-localized UI string of Chromium.
2821 (input::-webkit-datetime-edit-fields-wrapper):
2822 Use white-space:pre instead of nowrap.
2824 2013-02-06 Kentaro Hara <haraken@chromium.org>
2826 Remove DOMWindow::parseModalDialogFeatures()
2827 https://bugs.webkit.org/show_bug.cgi?id=109139
2829 Reviewed by Kent Tamura.
2831 No one uses the method. FIXME is saying:
2833 // FIXME: We can remove this function once V8 showModalDialog is changed to use DOMWindow.
2835 Given that V8's showModalDialog() is now using DOMWindow, we can remove it.
2837 No tests. No change in behavior.
2839 * page/DOMWindow.cpp:
2843 2013-02-06 Ilya Tikhonovsky <loislo@chromium.org>
2845 Web Inspector: Native Memory Instrumentation: reduce native heap snapshot runtime memory footprint
2846 https://bugs.webkit.org/show_bug.cgi?id=108824
2848 Reviewed by Yury Semikhatsky.
2850 New event was added into Memory domain addNativeSnapshotChunk.
2851 The content of HeapGraphSerializer is completely rewritten according to new API.
2852 Now it collects strings, nodes, edges and id2id map and pushes when the collected items count exceed a limit.
2853 On the frontend side I added new method for the new event and fixed the postprocessing step.
2854 MemoryInstrumentation was slightly changed. Now it reports base to real address map only after reporting the node with real address.
2856 * inspector/HeapGraphSerializer.cpp:
2857 (WebCore::HeapGraphSerializer::HeapGraphSerializer):
2858 (WebCore::HeapGraphSerializer::pushUpdateIfNeed):
2860 (WebCore::HeapGraphSerializer::pushUpdate):
2861 (WebCore::HeapGraphSerializer::reportNode):
2862 (WebCore::HeapGraphSerializer::reportNodeImpl):
2863 (WebCore::HeapGraphSerializer::reportEdge):
2864 (WebCore::HeapGraphSerializer::reportEdgeImpl):
2865 (WebCore::HeapGraphSerializer::reportLeaf):
2866 (WebCore::HeapGraphSerializer::reportBaseAddress):
2867 (WebCore::HeapGraphSerializer::finish):
2868 (WebCore::HeapGraphSerializer::reportMemoryUsage):
2869 (WebCore::HeapGraphSerializer::addString):
2870 (WebCore::HeapGraphSerializer::toNodeId):
2871 (WebCore::HeapGraphSerializer::addRootNode):
2872 * inspector/HeapGraphSerializer.h:
2873 (HeapGraphSerializer):
2874 * inspector/Inspector.json:
2875 * inspector/InspectorController.cpp:
2876 (WebCore::InspectorController::processMemoryDistribution):
2877 * inspector/InspectorMemoryAgent.cpp:
2878 (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionMap):
2880 (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
2881 (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):
2882 (WebCore::InspectorMemoryAgent::setFrontend):
2883 (WebCore::InspectorMemoryAgent::clearFrontend):
2884 * inspector/InspectorMemoryAgent.h:
2885 (InspectorMemoryAgent):
2886 * inspector/front-end/NativeHeapSnapshot.js:
2887 (WebInspector.NativeHeapSnapshot):
2888 (WebInspector.NativeHeapSnapshotNode.prototype.classIndex):
2889 (WebInspector.NativeHeapSnapshotNode.prototype.id):
2890 (WebInspector.NativeHeapSnapshotNode.prototype.name):
2891 (WebInspector.NativeHeapSnapshotNode.prototype.serialize):
2892 * inspector/front-end/NativeMemorySnapshotView.js:
2893 (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
2894 (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
2895 (WebInspector.NativeSnapshotProfileHeader):
2896 (WebInspector.NativeSnapshotProfileHeader.prototype.startSnapshotTransfer):
2897 (WebInspector.NativeSnapshotProfileHeader.prototype.addNativeSnapshotChunk):
2898 (WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
2899 (WebInspector.NativeMemoryProfileType.prototype.buttonClicked):
2900 (WebInspector.NativeMemoryBarChart.prototype._updateStats):
2901 * inspector/front-end/ProfilesPanel.js:
2902 (WebInspector.ProfilesPanel):
2903 (WebInspector.MemoryDispatcher):
2904 (WebInspector.MemoryDispatcher.prototype.addNativeSnapshotChunk):
2906 2013-02-03 Kentaro Hara <haraken@chromium.org>
2908 WebKit's focus events are UIEvents (instead of FocusEvent) and thus don't expose .relatedTarget
2909 https://bugs.webkit.org/show_bug.cgi?id=76216
2911 Reviewed by Eric Seidel.
2913 Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-FocusEvent
2915 This patch creates a new FocusEvent class with a relatedTarget attribute.
2916 Now when focusin or focusout events are dispatched, a FocusEvent is created with
2917 the relatedTarget attribute set accordingly.
2919 Test: fast/events/related-target-focusevent.html
2922 * DerivedSources.cpp:
2923 * DerivedSources.make:
2924 * DerivedSources.pri:
2925 * GNUmakefile.list.am:
2928 * WebCore.xcodeproj/project.pbxproj:
2929 * dom/DOMAllInOne.cpp:
2931 (WebCore::Event::isFocusEvent):
2935 * dom/EventContext.cpp:
2936 (WebCore::EventContext::handleLocalEvents):
2937 * dom/EventNames.in:
2938 * dom/FocusEvent.h: Added.
2941 (WebCore::FocusEvent::create):
2942 (WebCore::FocusEvent::relatedTarget):
2943 (WebCore::FocusEvent::setRelatedTarget):
2944 (WebCore::toFocusEvent):
2945 * dom/FocusEvent.idl: Added.
2947 (WebCore::Node::dispatchFocusInEvent):
2948 (WebCore::Node::dispatchFocusOutEvent):
2950 2013-02-06 Kent Tamura <tkent@chromium.org>
2952 Fix style of RenderTheme.cpp and RenderThemeChromiumWin.h
2953 https://bugs.webkit.org/show_bug.cgi?id=109137
2955 Reviewed by Kentaro Hara.
2957 No new tests. Just style fix.
2959 * rendering/RenderTheme.cpp:
2960 (WebCore::RenderTheme::adjustStyle):
2961 (WebCore::RenderTheme::paint):
2962 (WebCore::RenderTheme::paintBorderOnly):
2963 (WebCore::RenderTheme::paintDecorations):
2964 (WebCore::RenderTheme::isControlStyled):
2965 (WebCore::RenderTheme::adjustButtonStyle):
2966 (WebCore::RenderTheme::systemColor):
2967 * rendering/RenderThemeChromiumWin.h:
2968 (WebCore::ThemeData::ThemeData):
2970 (RenderThemeChromiumWin):
2971 (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
2972 (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
2974 2013-02-06 Kent Tamura <tkent@chromium.org>
2976 Fix style of Chrome.h and Page.h
2977 https://bugs.webkit.org/show_bug.cgi?id=109138
2979 Reviewed by Ryosuke Niwa.
2981 No new tests. Just style fixes.
2986 (WebCore::Chrome::client):
2990 (WebCore::ArenaSize::ArenaSize):
2994 (WebCore::Page::theme):
2995 (WebCore::Page::canStartMedia):
2996 (WebCore::Page::editorClient):
2997 (WebCore::Page::plugInClient):
2998 (WebCore::Page::mainFrame):
2999 (WebCore::Page::groupPtr):
3000 (WebCore::Page::incrementSubframeCount):
3001 (WebCore::Page::decrementSubframeCount):
3002 (WebCore::Page::subframeCount):
3003 (WebCore::Page::chrome):
3004 (WebCore::Page::dragCaretController):
3005 (WebCore::Page::dragController):
3006 (WebCore::Page::focusController):
3007 (WebCore::Page::contextMenuController):
3008 (WebCore::Page::inspectorController):
3009 (WebCore::Page::pointerLockController):
3010 (WebCore::Page::validationMessageClient):
3011 (WebCore::Page::settings):
3012 (WebCore::Page::progress):
3013 (WebCore::Page::backForward):
3014 (WebCore::Page::featureObserver):
3015 (WebCore::Page::viewMode):
3016 (WebCore::Page::setTabKeyCyclesThroughElements):
3017 (WebCore::Page::tabKeyCyclesThroughElements):
3018 (WebCore::Page::scheduledRunLoopPairs):
3019 (WebCore::Page::defersLoading):
3020 (WebCore::Page::mediaVolume):
3021 (WebCore::Page::pageScaleFactor):
3022 (WebCore::Page::deviceScaleFactor):
3023 (WebCore::Page::shouldSuppressScrollbarAnimations):
3024 (WebCore::Page::pagination):
3025 (WebCore::Page::isOnscreen):
3026 (WebCore::Page::scriptedAnimationsSuspended):
3027 (WebCore::Page::debugger):
3028 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
3029 (WebCore::Page::customHTMLTokenizerTimeDelay):
3030 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
3031 (WebCore::Page::customHTMLTokenizerChunkSize):
3032 (WebCore::Page::areMemoryCacheClientCallsEnabled):
3033 (WebCore::Page::setEditable):
3034 (WebCore::Page::isEditable):
3035 (WebCore::Page::displayID):
3036 (WebCore::Page::layoutMilestones):
3037 (WebCore::Page::setIsPainting):
3038 (WebCore::Page::isPainting):
3039 (WebCore::Page::alternativeTextClient):
3040 (WebCore::Page::checkSubframeCountConsistency):
3041 (WebCore::Page::group):
3043 2013-02-06 Mike West <mkwst@chromium.org>
3045 Entity-header extension headers honored on 304 responses.
3046 https://bugs.webkit.org/show_bug.cgi?id=72414
3048 Reviewed by Alexey Proskuryakov.
3050 This patch ports Chromium's network stack logic governing header
3051 updates after resource revalidation. Generally, headers sent with 304
3052 responses ought to update the original cached resource's headers.
3053 Certain headers should never be sent with 304 responses, and we should
3054 ignore them if a misconfigured server sends them anyway.
3056 Currently, WebCore ignores all headers prefixed with 'content-'. This
3057 patch adds 'x-content-' and 'x-webkit-' to the list, as well as specific
3058 headers like 'upgrade', 'trailer', and others that the Chromium network
3059 stack currently ignores.
3061 The tests verify that those headers with visible effect are correctly
3062 handled: 'x-frame-options', 'content-security-policy', and
3065 Tests: http/tests/security/XFrameOptions/x-frame-options-cached.html
3066 http/tests/security/contentSecurityPolicy/cached-frame-csp.html
3067 http/tests/security/xssAuditor/cached-frame.html
3069 * loader/cache/CachedResource.cpp:
3071 (WebCore::CachedResource::updateResponseAfterRevalidation):
3072 This patch adds two arrays containing the specific headers to
3073 ignore and the prefixes to ignore. These lists are processed in
3074 shouldUpdateHeaderAfterRevalidation.
3075 CachedResource::updateResponseAfterRevalidation relies on this new
3076 method when processing revalidated resources.
3078 * loader/cache/CachedResource.cpp:
3080 (WebCore::shouldUpdateHeaderAfterRevalidation):
3081 (WebCore::CachedResource::updateResponseAfterRevalidation):
3083 2013-02-06 Tom Sepez <tsepez@chromium.org>
3085 document.referrer leakage with XSS Auditor page block
3086 https://bugs.webkit.org/show_bug.cgi?id=109089
3088 Reviewed by Adam Barth.
3090 Pass "about:blank" as referrer instead of "" so that the actual page
3091 is not leaked when empty referrers are replaced later on in the
3094 * html/parser/XSSAuditorDelegate.cpp:
3095 (WebCore::XSSAuditorDelegate::didBlockScript):
3097 2013-02-06 Kentaro Hara <haraken@chromium.org>
3099 [V8] Make an Isolate parameter mandatory in GetTemplate() and GetRawTemplate()
3100 https://bugs.webkit.org/show_bug.cgi?id=109026
3102 Reviewed by Adam Barth.
3104 Now it's time to kill an optional Isolate parameter.
3106 No tests. No change in behavior.
3108 * bindings/scripts/CodeGeneratorV8.pm:
3110 (GenerateNamedConstructorCallback):
3111 (GenerateImplementation):
3112 * bindings/scripts/test/V8/V8Float64Array.cpp:
3113 (WebCore::V8Float64Array::GetRawTemplate):
3114 (WebCore::V8Float64Array::GetTemplate):
3115 * bindings/scripts/test/V8/V8Float64Array.h:
3117 (WebCore::V8Float64Array::installPerContextPrototypeProperties):
3118 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3119 (WebCore::V8TestActiveDOMObject::GetRawTemplate):
3120 (WebCore::V8TestActiveDOMObject::GetTemplate):
3121 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3122 (V8TestActiveDOMObject):
3123 (WebCore::V8TestActiveDOMObject::installPerContextPrototypeProperties):
3124 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3125 (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
3126 (WebCore::V8TestCustomNamedGetter::GetTemplate):
3127 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3128 (V8TestCustomNamedGetter):
3129 (WebCore::V8TestCustomNamedGetter::installPerContextPrototypeProperties):
3130 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3131 (WebCore::V8TestEventConstructor::GetRawTemplate):
3132 (WebCore::V8TestEventConstructor::GetTemplate):
3133 * bindings/scripts/test/V8/V8TestEventConstructor.h:
3134 (V8TestEventConstructor):
3135 (WebCore::V8TestEventConstructor::installPerContextPrototypeProperties):
3136 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3137 (WebCore::V8TestEventTarget::GetRawTemplate):
3138 (WebCore::V8TestEventTarget::GetTemplate):
3139 * bindings/scripts/test/V8/V8TestEventTarget.h:
3140 (V8TestEventTarget):
3141 (WebCore::V8TestEventTarget::installPerContextPrototypeProperties):
3142 * bindings/scripts/test/V8/V8TestException.cpp:
3143 (WebCore::V8TestException::GetRawTemplate):
3144 (WebCore::V8TestException::GetTemplate):
3145 * bindings/scripts/test/V8/V8TestException.h:
3147 (WebCore::V8TestException::installPerContextPrototypeProperties):
3148 * bindings/scripts/test/V8/V8TestInterface.cpp:
3149 (WebCore::V8TestInterface::GetRawTemplate):
3150 (WebCore::V8TestInterface::GetTemplate):
3151 * bindings/scripts/test/V8/V8TestInterface.h:
3153 (WebCore::V8TestInterface::installPerContextPrototypeProperties):
3154 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3155 (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
3156 (WebCore::V8TestMediaQueryListListener::GetTemplate):
3157 * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
3158 (V8TestMediaQueryListListener):
3159 (WebCore::V8TestMediaQueryListListener::installPerContextPrototypeProperties):
3160 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3161 (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
3162 (WebCore::V8TestNamedConstructor::GetRawTemplate):
3163 (WebCore::V8TestNamedConstructor::GetTemplate):
3164 * bindings/scripts/test/V8/V8TestNamedConstructor.h:
3165 (V8TestNamedConstructor):
3166 (WebCore::V8TestNamedConstructor::installPerContextPrototypeProperties):
3167 * bindings/scripts/test/V8/V8TestNode.cpp:
3168 (WebCore::V8TestNode::GetRawTemplate):
3169 (WebCore::V8TestNode::GetTemplate):
3170 * bindings/scripts/test/V8/V8TestNode.h:
3172 (WebCore::V8TestNode::installPerContextPrototypeProperties):
3173 * bindings/scripts/test/V8/V8TestObj.cpp:
3174 (WebCore::V8TestObj::GetRawTemplate):
3175 (WebCore::V8TestObj::GetTemplate):
3176 (WebCore::V8TestObj::installPerContextPrototypeProperties):
3177 * bindings/scripts/test/V8/V8TestObj.h:
3179 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3180 (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
3181 (WebCore::V8TestOverloadedConstructors::GetTemplate):
3182 * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
3183 (V8TestOverloadedConstructors):
3184 (WebCore::V8TestOverloadedConstructors::installPerContextPrototypeProperties):
3185 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3186 (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
3187 (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
3188 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
3189 (V8TestSerializedScriptValueInterface):
3190 (WebCore::V8TestSerializedScriptValueInterface::installPerContextPrototypeProperties):
3191 * bindings/v8/V8PerContextData.cpp:
3192 (WebCore::V8PerContextData::constructorForTypeSlowCase):
3193 * bindings/v8/WrapperTypeInfo.h:
3195 (WebCore::WrapperTypeInfo::installPerContextPrototypeProperties):
3197 2013-02-06 Terry Anderson <tdanderson@chromium.org>
3199 Add support for gesture scroll events that do not propagate to enclosing scrollables
3200 https://bugs.webkit.org/show_bug.cgi?id=108849
3202 Reviewed by Antonio Gomes.
3204 Tests: fast/events/touch/gesture/touch-gesture-scroll-div-not-propagated.html
3205 fast/events/touch/gesture/touch-gesture-scroll-iframe-not-propagated.html
3206 fast/events/touch/gesture/touch-gesture-scroll-page-not-propagated.html
3208 Rename RenderLayer::scrollByRecursively() to RenderLayer::scrollBy() and add a parameter
3209 of type RenderLayer::ScrollPropagation to specify whether or not the scroll should
3210 propagate to its parent by recursing. Implement RenderLayer::scrollByRecursively() as a
3211 call to RenderLayer::scrollBy() with argument RenderLayer::ShouldPropagateScroll so
3212 that all existing calls to the function still produce the correct behavior.
3214 In EventHandler::handleGestureScrollUpdate(), call RenderLayer::scrollBy() with
3215 argument RenderLayer::ShouldPropagateScroll if |gestureEvent| is a GestureScrollUpdate
3216 or instead with argument RenderLayer::DontPropagateScroll if |gestureEvent| is a
3217 GestureScrollUpdateWithoutPropagation.
3219 * dom/GestureEvent.cpp:
3220 (WebCore::GestureEvent::create):
3221 * page/EventHandler.cpp:
3222 (WebCore::EventHandler::handleGestureEvent):
3223 (WebCore::EventHandler::handleGestureScrollUpdate):
3224 * platform/PlatformEvent.h:
3225 * platform/Scrollbar.cpp:
3226 (WebCore::Scrollbar::gestureEvent):
3227 * platform/chromium/PopupContainer.cpp:
3228 (WebCore::PopupContainer::handleGestureEvent):
3229 * rendering/RenderLayer.cpp:
3230 (WebCore::RenderLayer::scrollByRecursively):
3232 (WebCore::RenderLayer::scrollBy):
3233 * rendering/RenderLayer.h:
3235 2013-02-06 Ojan Vafai <ojan@chromium.org>
3237 [Chromium] table-section-overflow-clip-crash.html hits an assert
3238 https://bugs.webkit.org/show_bug.cgi?id=108594
3240 Reviewed by Levi Weintraub.
3242 When a counter calls setNeedsLayout, it also marks it's containing blocks
3243 as needing layout, so we need to clear the setNeedsLayoutIsForbidden bit on the
3244 containing blocks as well as the counter itself.
3246 Also, use RAII objects for all the places where we clear this bit and make
3247 the setter/getter for it private to RenderObject.
3249 * rendering/RenderCounter.cpp:
3250 (WebCore::RenderCounter::computePreferredLogicalWidths):
3251 * rendering/RenderObject.cpp:
3252 (WebCore::RenderObject::SetLayoutNeededForbiddenScope::SetLayoutNeededForbiddenScope):
3253 (WebCore::RenderObject::markContainingBlocksForLayout):
3254 * rendering/RenderObject.h:
3255 (SetLayoutNeededForbiddenScope):
3257 (WebCore::RenderObject::isSetNeedsLayoutForbidden):
3258 (WebCore::RenderObject::setNeedsLayoutIsForbidden):
3259 * rendering/RenderQuote.cpp:
3260 (WebCore::RenderQuote::computePreferredLogicalWidths):
3261 * rendering/RenderTableSection.cpp:
3262 (WebCore::RenderTableSection::calcRowLogicalHeight):
3263 (WebCore::RenderTableSection::layoutRows):
3264 * rendering/mathml/RenderMathMLOperator.cpp:
3265 (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
3266 * rendering/mathml/RenderMathMLRoot.cpp:
3267 (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
3268 * rendering/mathml/RenderMathMLRow.cpp:
3269 (WebCore::RenderMathMLRow::computePreferredLogicalWidths):
3271 2013-02-06 Ojan Vafai <ojan@chromium.org>
3273 display:none file upload button crashes
3274 https://bugs.webkit.org/show_bug.cgi?id=109102
3276 Reviewed by Levi Weintraub.
3278 Test: fast/forms/file/display-none-upload-button.html
3280 * rendering/RenderFileUploadControl.cpp:
3281 (WebCore::nodeWidth):
3282 (WebCore::RenderFileUploadControl::paintObject):
3283 Having an upload button doesn't mean we have a rendered upload button.
3284 Null check the renderer before trying to access it.
3286 2013-02-06 Dirk Schulze <dschulze@adobe.com>
3288 Context's currentPath should check for passed type
3289 https://bugs.webkit.org/show_bug.cgi?id=109097
3291 Reviewed by Dean Jackson.
3293 Add check for passed pointer and return earlier.
3295 Test: fast/canvas/canvas-currentPath-crash.html
3297 * html/canvas/CanvasRenderingContext2D.cpp:
3298 (WebCore::CanvasRenderingContext2D::setCurrentPath):
3300 2013-02-06 Rafael Weinstein <rafaelw@chromium.org>
3302 [HTMLTemplateElement] Non </template> end tags should be ignored in "template contents" insertion mode.
3303 https://bugs.webkit.org/show_bug.cgi?id=109090
3305 Reviewed by Adam Barth.
3307 https://dvcs.w3.org/hg/webcomponents/raw-file/38536d37fb82/spec/templates/index.html#template-contents-insertion-mode.
3309 Test added to html5lib suite.
3311 * html/parser/HTMLTreeBuilder.cpp:
3312 (WebCore::HTMLTreeBuilder::processEndTag):
3314 2013-02-06 Alexandre Elias <aelias@chromium.org>
3316 Make ScrollView::paint() clip by visibleContentRect
3317 https://bugs.webkit.org/show_bug.cgi?id=108888
3319 Reviewed by Levi Weintraub.
3321 When applyPageScaleFactorInCompositor or fixedVisibleContentRect
3322 are used, frameRect() and visibleContentRect(true).size() are
3323 no longer synonyms, and the latter is the one that should be
3324 used for clipping paints.
3326 New WebFrameTest: pageScaleFactorScalesPaintClip.
3328 * platform/ScrollView.cpp:
3329 (WebCore::ScrollView::paint):
3331 2013-02-06 Dima Gorbik <dgorbik@apple.com>
3333 Store the language internally instead of using lang attribute for WebVTT nodes
3334 https://bugs.webkit.org/show_bug.cgi?id=108858
3336 Reviewed by Eric Carlson.
3338 Only language webvtt elements should have a lang attribute so we have to store
3339 the language internally in the element. Refactored the code to make
3340 computeInheritedLanguage virtual.
3342 Existing tests were modified to cover this case.
3344 * css/SelectorChecker.cpp:
3345 (WebCore::SelectorChecker::checkOne):
3346 * html/track/WebVTTElement.cpp:
3347 (WebCore::WebVTTElement::WebVTTElement):
3348 (WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren):
3349 (WebCore::WebVTTElement::createEquivalentHTMLElement): clone the internal language property.
3350 * html/track/WebVTTElement.h:
3351 (WebCore::WebVTTElement::language):
3352 (WebCore::WebVTTElement::setLanguage):
3353 * html/track/WebVTTParser.cpp: only set the lang attribute for language objects.
3354 (WebCore::WebVTTParser::constructTreeFromToken):
3356 2013-02-06 Levi Weintraub <leviw@chromium.org>
3358 Negative text indents can break RenderBlock's inline maximum preferred width calculation
3359 https://bugs.webkit.org/show_bug.cgi?id=108973
3361 Reviewed by Emil A Eklund.
3363 Change two quirks about to how we calculate a block's inline preferred width with
3366 First, re-use text-indent that's first applied to floats on text that follows it.
3367 This matches Layout, as otherwise we can prematurely wrap text when there's a negative
3368 margin on a block starting with a float. This also matches FireFox.
3370 Second, correct how the max preferred width is calculated in the presence of a negative
3371 text-indent. If the text-indent is more negative than the first text line break, we
3372 update the value to be the remainder. Previously, we added this remaining negative value
3373 to subsequent minimum and maximum preferred width calculations (until the remainder was
3374 gone). This is wrong for the max preferred width, as we're adding the negative value more
3375 than once, and leads to a max preferred width that's smaller than our line.
3377 Test: fast/css/negative-text-indent-in-inline-block.html
3379 * rendering/RenderBlock.cpp:
3380 (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
3382 2013-02-06 Mark Lam <mark.lam@apple.com>
3384 Fix broken release builds, greening the bots.
3385 https://bugs.webkit.org/show_bug.cgi?id=107475.
3391 * Modules/webdatabase/DatabaseManager.cpp:
3392 (WebCore::logOpenDatabaseError):
3394 2013-02-06 Sheriff Bot <webkit.review.bot@gmail.com>
3396 Unreviewed, rolling out r142025.
3397 http://trac.webkit.org/changeset/142025
3398 https://bugs.webkit.org/show_bug.cgi?id=109091
3400 broke the build (Requested by tdanderson on #webkit).
3402 * dom/GestureEvent.cpp:
3403 (WebCore::GestureEvent::create):
3404 * page/EventHandler.cpp:
3405 (WebCore::EventHandler::handleGestureEvent):
3406 (WebCore::EventHandler::handleGestureScrollUpdate):
3407 * platform/PlatformEvent.h:
3408 * platform/Scrollbar.cpp:
3409 (WebCore::Scrollbar::gestureEvent):
3410 * platform/chromium/PopupContainer.cpp:
3411 (WebCore::PopupContainer::handleGestureEvent):
3412 * rendering/RenderLayer.cpp:
3413 (WebCore::RenderLayer::scrollByRecursively):
3414 * rendering/RenderLayer.h:
3416 2013-02-06 Mark Lam <mark.lam@apple.com>
3418 Split openDatabase() between front and back end work.
3419 https://bugs.webkit.org/show_bug.cgi?id=107475.
3421 Reviewed by Anders Carlsson.
3423 The main work of splitting DatabaseManager::openDatabase() is in
3424 refactoring how DatabaseTracker::canEstablishDatabase() works. It used
3425 to check for adequate space quota, and if the check fails, it would call
3426 back into the client from inside canEstablishDatabase(). The call back
3427 allows the client to update the quota (if appropriate). Thereafter,
3428 canEstablishDatabase() will retry its quota check.
3430 In a webkit2 world, we'll want to minimize the traffic between the
3431 client (script side) and the server (sqlite db side), and ideally, we
3432 don't want the server to call back to the client. Note: the
3433 DatabaseTracker belongs on the server side.
3435 To achieve this, we split canEstablishDatabase() into 2 parts: the
3436 checks before the call back to the client, and the checks after.
3437 The first part will retain the name canEstablishDatabase(), and the
3438 second part will be named retryCanEstablishDatabase().
3439 We also added a DatabaseServer::openDatabase() function that can be
3440 called with a retry flag.
3442 The client side DatabaseManager::openDatabase() will call
3443 DatabaseServer::openDatabase(), which then calls canEstablishDatabase()
3444 to do its quota check. If there is enough quota,
3445 DatabaseServer::openDatabase() will proceed to open the backend database
3446 without return to the client first. The opened database will be returned
3449 If DatabaseServer::openDatabase() finds inadequate quota the first time,
3450 it will return with a DatabaseSizeExceededQuota error. The DatabaseManager
3451 (on the client side) will check for this error and call back to its client
3452 for an opportunity to increase the quota. Thereafter, the DatabaseManager
3453 will call DatabaseServer::openDatabase() again. This time,
3454 DatabaseServer::openDatabase() will call retryCanEstablishDatabase() to
3455 check the quota, and then open the backend database if there is enough
3460 * Modules/webdatabase/AbstractDatabaseServer.h:
3461 * Modules/webdatabase/DOMWindowWebDatabase.cpp:
3462 (WebCore::DOMWindowWebDatabase::openDatabase):
3463 * Modules/webdatabase/Database.cpp:
3464 (WebCore::Database::create):
3465 * Modules/webdatabase/Database.h: