Unreviewed, rolling out r100013.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r100013.
4         http://trac.webkit.org/changeset/100013
5         https://bugs.webkit.org/show_bug.cgi?id=72210
6
7         It breaks all mac builds (Requested by WildFox on #webkit).
8
9         * html/HTMLAnchorElement.idl:
10         * html/HTMLAreaElement.idl:
11         * html/HTMLButtonElement.idl:
12         * html/HTMLElement.idl:
13         * html/HTMLInputElement.idl:
14         * html/HTMLLabelElement.idl:
15         * html/HTMLLegendElement.idl:
16         * html/HTMLTextAreaElement.idl:
17
18 2011-11-12  Nikolas Zimmermann  <nzimmermann@rim.com>
19
20         Finish SVGLengthContext conversion in svg/
21         https://bugs.webkit.org/show_bug.cgi?id=72105
22
23         Reviewed by Antti Koivisto.
24
25         Make SVGLengthContext(const SVGElement*) explicit, adapt all remaining call sites.
26         Now that this process is finished, SVGLengthContext can be shared across renders,
27         so that its possible to override the length context in a single place. This will
28         be done in future patches.
29
30         Doesn't affect any tests yet.
31
32         * bindings/js/JSSVGLengthCustom.cpp:
33         (WebCore::JSSVGLength::value):
34         (WebCore::JSSVGLength::setValue):
35         (WebCore::JSSVGLength::convertToSpecifiedUnits):
36         * bindings/scripts/CodeGeneratorObjC.pm:
37         (GenerateImplementation):
38         * bindings/v8/custom/V8SVGLengthCustom.cpp:
39         (WebCore::V8SVGLength::valueAccessorGetter):
40         (WebCore::V8SVGLength::valueAccessorSetter):
41         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
42         * css/CSSCursorImageValue.cpp:
43         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
44         * rendering/svg/RenderSVGForeignObject.cpp:
45         (WebCore::RenderSVGForeignObject::layout):
46         * rendering/svg/RenderSVGImage.cpp:
47         (WebCore::RenderSVGImage::updateFromElement):
48         * rendering/svg/RenderSVGPath.cpp:
49         (WebCore::RenderSVGPath::zeroLengthSubpathRect):
50         (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
51         * rendering/svg/RenderSVGResourceMarker.cpp:
52         (WebCore::RenderSVGResourceMarker::referencePoint):
53         (WebCore::RenderSVGResourceMarker::calcViewport):
54         * rendering/svg/RenderSVGText.cpp:
55         (WebCore::RenderSVGText::strokeBoundingBox):
56         * rendering/svg/RenderSVGViewportContainer.cpp:
57         (WebCore::RenderSVGViewportContainer::calcViewport):
58         * rendering/svg/SVGRenderSupport.cpp:
59         (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
60         * rendering/svg/SVGRenderTreeAsText.cpp:
61         (WebCore::writeStyle):
62         (WebCore::operator<<):
63         * rendering/svg/SVGShadowTreeElements.cpp:
64         (WebCore::SVGShadowTreeContainerElement::containerTranslation):
65         * rendering/svg/SVGTextChunkBuilder.cpp:
66         (WebCore::SVGTextChunkBuilder::addTextChunk):
67         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
68         (WebCore::extractFloatValuesFromSVGLengthList):
69         * rendering/svg/SVGTextLayoutEngine.cpp:
70         (WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
71         (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
72         * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
73         (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
74         * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
75         (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
76         * svg/SVGElement.h:
77         * svg/SVGLengthContext.cpp:
78         (WebCore::SVGLengthContext::determineViewport):
79         * svg/SVGLengthContext.h:
80         * svg/SVGSVGElement.cpp:
81         (WebCore::SVGSVGElement::viewport):
82         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
83         (WebCore::SVGSVGElement::currentViewBoxRect):
84         * svg/SVGUseElement.cpp:
85         (WebCore::SVGUseElement::toClipPath):
86
87 2011-11-12  Patrick Gansterer  <paroga@webkit.org>
88
89         Unreviewed build fix for !ENABLE(FILTERS) after r100036.
90
91         * rendering/svg/SVGRenderSupport.cpp:
92         (WebCore::SVGRenderSupport::filtersForceContainerLayout):
93
94 2011-11-11  Patrick Gansterer  <paroga@webkit.org>
95
96         [WIN] Fix build without precompiled header.
97         https://bugs.webkit.org/show_bug.cgi?id=72115
98
99         Unreviewed. Add missing includes to fix build without precompiled header.
100
101         * platform/ContextMenu.h:
102         * platform/graphics/win/DIBPixelData.h:
103         * platform/graphics/win/FontCustomPlatformData.h:
104         * platform/network/cf/ResourceError.h:
105         * platform/win/LanguageWin.cpp:
106         * platform/win/LocalizedStringsWin.cpp:
107         * platform/win/LoggingWin.cpp:
108
109 2011-11-11  Joseph Pecoraro  <pecoraro@apple.com>
110
111         Remove Duplicate Symbol Exports
112         https://bugs.webkit.org/show_bug.cgi?id=72205
113
114         Reviewed by Dan Bernstein.
115
116         * WebCore.exp.in: Remove duplicate symbols listed.
117         Each dup in this case was already always exported.
118
119 2011-11-11  Nico Weber  <thakis@chromium.org>
120
121         [chromium] Remove 2 static initializers and 3 exit time destructors. Turn on -Wexit-time-destructors.
122         https://bugs.webkit.org/show_bug.cgi?id=72146
123
124         Reviewed by Nate Chapin.
125
126         * WebCore.gyp/WebCore.gyp:
127
128 2011-11-11  Nat Duca  <nduca@chromium.org>
129
130         Since GraphicsContext3D::makeContextCurrent can fail, return bool.
131
132         https://bugs.webkit.org/show_bug.cgi?id=72101
133
134         Reviewed by Kenneth Russell.
135
136         * platform/graphics/GraphicsContext3D.h:
137         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
138         (WebCore::GraphicsContext3D::makeContextCurrent):
139         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
140         (WebCore::GraphicsContext3D::makeContextCurrent):
141         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
142         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
143         * platform/graphics/gtk/GraphicsContext3DPrivate.h:
144         * platform/graphics/mac/GraphicsContext3DMac.mm:
145         (WebCore::GraphicsContext3D::makeContextCurrent):
146         * platform/graphics/qt/GraphicsContext3DQt.cpp:
147         (WebCore::GraphicsContext3D::makeContextCurrent):
148
149 2011-11-11  Ojan Vafai  <ojan@chromium.org>
150
151         Unreviewed. Rollout http://trac.webkit.org/changeset/99744.
152         https://bugs.webkit.org/show_bug.cgi?id=72203
153         r99744 causes crash in Chromium's dom_perf test.
154
155         * rendering/RenderTable.cpp:
156         (WebCore::RenderTable::splitColumn):
157         (WebCore::RenderTable::appendColumn):
158         * rendering/RenderTableSection.cpp:
159         (WebCore::RenderTableSection::addCell):
160         (WebCore::RenderTableSection::recalcCells):
161         (WebCore::RenderTableSection::appendColumn):
162
163 2011-11-11  James Robinson  <jamesr@chromium.org>
164
165         [chromium] Removed unused local from CCThreadProxy::scheduledActionCommit
166         https://bugs.webkit.org/show_bug.cgi?id=72200
167
168         Reviewed by Kenneth Russell.
169
170         How did I get here I am not good with computers.
171
172         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
173         (WebCore::CCThreadProxy::scheduledActionCommit):
174
175 2011-11-11  Dominic Mazzoni  <dmazzoni@google.com>
176
177         Fix a crash when an anonymous render block is in a continuation.
178         https://bugs.webkit.org/show_bug.cgi?id=70994
179
180         Reviewed by Chris Fleizach.
181
182         Test: accessibility/anonymous-render-block-in-continuation-causes-crash.html
183
184         * accessibility/AccessibilityRenderObject.cpp:
185         (WebCore::AccessibilityRenderObject::renderParentObject):
186
187 2011-11-11  Anna Cavender  <annacc@chromium.org>
188
189         Storage and retrieval of TextTrackCues during video playback, including
190         cuechange, enter, and exit events.
191         https://bugs.webkit.org/show_bug.cgi?id=70452
192
193         Reviewed by Eric Carlson.
194
195         Tests: media/track/track-cues-cuechange.html
196                media/track/track-cues-enter-exit.html
197                media/track/track-cues-seeking.html
198
199         Add cuechange, enter, and exit events and make TextTrack and
200         TextTrackCue EventTargets:
201         * dom/EventNames.h:
202         * dom/EventTarget.h:
203         * dom/EventTargetFactory.in:
204
205         * html/HTMLMediaElement.cpp:
206         (WebCore::HTMLMediaElement::loadTimerFired):
207             Use scheduleLoad() instead of configureTextTracks() to start an async load.
208         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
209             Updates the list of currently active cues during playback.
210         (WebCore::HTMLMediaElement::textTrackAddCues):
211             Adds cues to cueTree.  Called when cues are discovered/loaded.
212         (WebCore::HTMLMediaElement::textTrackRemoveCues):
213             Removes cues from cueTree.  Called when cues and/or tracks die.
214         (WebCore::HTMLMediaElement::textTrackAddCue):
215             Adds a cue to cueTree.  Called when cues are discovered/loaded.
216         (WebCore::HTMLMediaElement::textTrackRemoveCue):
217             Removes a cue from cueTree.  Called when cues and/or tracks die.
218
219         (WebCore::HTMLMediaElement::playbackProgressTimerFired):
220             Update the active TextTrackCues when playbackProgressTimerFired.
221         (WebCore::HTMLMediaElement::addTrack):
222             Pass along a ScriptExecutionContext to TextTrack::create().
223         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
224             Update the active TextTrackCues when the media player time changes.
225         * html/HTMLMediaElement.h:
226             Use a PodIntervalTree cueTree to store and retrieve TextTrackCues
227             during playback.
228
229         * html/HTMLTrackElement.cpp:
230         (WebCore::HTMLTrackElement::ensureTrack):
231             Pass along a ScriptExecutionContext needed for EventTarget interface.
232         * html/LoadableTextTrack.cpp:
233         (WebCore::LoadableTextTrack::LoadableTextTrack):
234             Pass along a ScriptExecutionContext needed for EventTarget interface.
235         (WebCore::LoadableTextTrack::fireCueChangeEvent):
236             Fire a cue change event on this TextTrack's <track>
237         * html/LoadableTextTrack.h:
238         (WebCore::LoadableTextTrack::create):
239             Pass along a ScriptExecutionContext needed for EventTarget interface.
240         * html/TextTrack.cpp:
241         (WebCore::TextTrack::TextTrack):
242             Pass along a ScriptExecutionContext needed for EventTarget interface.
243         (WebCore::TextTrack::cues):
244         (WebCore::TextTrack::activeCues):
245             Return a TextTrackCueList that represents the currently active cues.
246         (WebCore::TextTrack::fireCueChangeEvent):
247             Fires a cue change event.
248         * html/TextTrack.h:
249         (WebCore::TextTrack::create):
250             Pass along a ScriptExecutionContext needed for EventTarget interface.
251         * html/TextTrack.idl:
252             Makes TextTrack extend EventTarget interface and add oncuechange.
253         * html/TextTrackCue.cpp:
254         (WebCore::TextTrackCue::TextTrackCue):
255             TextTrackCue should extend EventTarget, not ActiveDOMObject.
256         (WebCore::TextTrackCue::isActive):
257         (WebCore::TextTrackCue::setIsActive):
258             Dispatch an enter or exit event depending on active state and notify
259             the corresponding track to fire a cuechange event.
260
261         The following are needed for EventTarget interface:
262         (WebCore::TextTrackCue::interfaceName):
263         (WebCore::TextTrackCue::scriptExecutionContext):
264         (WebCore::TextTrackCue::eventTargetData):
265         (WebCore::TextTrackCue::ensureEventTargetData):
266         * html/TextTrackCue.h:
267         (WebCore::TextTrackCue::refEventTarget):
268         (WebCore::TextTrackCue::derefEventTarget):
269
270         * html/TextTrackCue.idl:
271             Extend EventTarget and add onenter and onexit.
272         * html/TextTrackCueList.cpp:
273         (WebCore::TextTrackCueList::activeCues):
274             Update and return the list of currently active cues.
275         (WebCore::TextTrackCueList::clear):
276             Clear the cues from list (needed to return same object each time).
277         * html/TextTrackCueList.h:
278
279         The following are needed for EventTarget interface:
280         * html/track/TrackBase.cpp:
281         (WebCore::TrackBase::TrackBase):
282         (WebCore::TrackBase::interfaceName):
283         (WebCore::TrackBase::scriptExecutionContext):
284         (WebCore::TrackBase::eventTargetData):
285         (WebCore::TrackBase::ensureEventTargetData):
286         * html/track/TrackBase.h:
287         (WebCore::TrackBase::refEventTarget):
288         (WebCore::TrackBase::derefEventTarget):
289
290 2011-11-11  David Reveman  <reveman@chromium.org>
291
292         [Chromium] Remove unused variable added by r99813.
293         https://bugs.webkit.org/show_bug.cgi?id=72199
294
295         Reviewed by James Robinson.
296
297         * platform/graphics/chromium/TiledLayerChromium.cpp:
298         (WebCore::TiledLayerChromium::prepareToUpdate):
299
300 2011-11-11  James Robinson  <jamesr@chromium.org>
301
302         Rollout http://trac.webkit.org/changeset/99844
303         Solution is more complicated than the problem it was intended to solve.
304
305         * platform/graphics/chromium/LayerChromium.cpp:
306         * platform/graphics/chromium/LayerChromium.h:
307         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
308         * platform/graphics/chromium/cc/CCLayerImpl.h:
309         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
310         (WebCore::CCLayerTreeHost::applyScrollAndScale):
311         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
312         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
313         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
314         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
315         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
316         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
317         (WebCore::CCThreadProxy::beginFrameAndCommit):
318         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
319         * platform/graphics/chromium/cc/CCThreadProxy.h:
320
321 2011-11-11  Levi Weintraub  <leviw@chromium.org>
322
323         Revert Page to operate on integers
324         https://bugs.webkit.org/show_bug.cgi?id=72185
325
326         Reviewed by Eric Seidel.
327
328         Reverting the page classes to integers from LayoutUnits. It's not necessary to expose
329         LayoutUnits in these classes, so we'll avoid doing so.
330
331         No new tests, no change in behavior.
332
333         * page/EventHandler.cpp:
334         (WebCore::EventHandler::handleMousePressEvent):
335         (WebCore::EventHandler::sendContextMenuEventForKey):
336         (WebCore::EventHandler::dragHysteresisExceeded):
337         (WebCore::EventHandler::handleDrag):
338         * page/EventHandler.h:
339         * page/Frame.cpp:
340         (WebCore::Frame::documentAtPoint):
341         * page/Frame.h:
342         * page/FrameView.cpp:
343         (WebCore::FrameView::create):
344         (WebCore::FrameView::invalidateRect):
345         (WebCore::FrameView::setFrameRect):
346         (WebCore::FrameView::setContentsSize):
347         (WebCore::FrameView::adjustViewSize):
348         (WebCore::FrameView::repaintContentRectangle):
349         (WebCore::FrameView::invalidateScrollbarRect):
350         (WebCore::FrameView::getTickmarks):
351         (WebCore::FrameView::windowResizerRect):
352         (WebCore::FrameView::setVisibleScrollerThumbRect):
353         (WebCore::FrameView::updateScrollCorner):
354         (WebCore::FrameView::paintScrollCorner):
355         (WebCore::FrameView::paintContents):
356         (WebCore::FrameView::paintOverhangAreas):
357         (WebCore::FrameView::convertFromRenderer):
358         (WebCore::FrameView::convertToRenderer):
359         (WebCore::FrameView::convertToContainingView):
360         (WebCore::FrameView::convertFromContainingView):
361         * page/FrameView.h:
362         * page/Page.cpp:
363         (WebCore::Page::setPageScaleFactor):
364         * page/Page.h:
365         * page/SpatialNavigation.cpp:
366         (WebCore::scrollInDirection):
367
368 2011-11-11  Dominic Mazzoni  <dmazzoni@google.com>
369
370         New iframe content may not be reflected in the ax tree.
371         https://bugs.webkit.org/show_bug.cgi?id=72100
372
373         Reviewed by Chris Fleizach.
374
375         The core issue was that when childrenChanged was called on a
376         web area from an iframe that was just detached, it wasn't calling
377         childrenChanged on its parent scroll area, or that scroll area's
378         parent iframe element. To fix this, now AccessibilityScrollView
379         implements setNeedsToUpdateChildren and parentObjectIfExists,
380         and childrenChanged calls setNeedsToUpdateChildren on every object
381         in the parent chain, not just AccessibilityRenderObjects.
382
383         Test: accessibility/loading-iframe-updates-axtree.html
384
385         * accessibility/AXObjectCache.h:
386         * accessibility/AccessibilityObject.h:
387         (WebCore::AccessibilityObject::setNeedsToUpdateChildren):
388         * accessibility/AccessibilityRenderObject.cpp:
389         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
390         (WebCore::AccessibilityRenderObject::childrenChanged):
391         * accessibility/AccessibilityRenderObject.h:
392         (WebCore::AccessibilityRenderObject::setNeedsToUpdateChildren):
393         * accessibility/AccessibilityScrollView.cpp:
394         (WebCore::AccessibilityScrollView::AccessibilityScrollView):
395         (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
396         (WebCore::AccessibilityScrollView::parentObject):
397         (WebCore::AccessibilityScrollView::parentObjectIfExists):
398         * accessibility/AccessibilityScrollView.h:
399         (WebCore::AccessibilityScrollView::setNeedsToUpdateChildren):
400
401 2011-11-11  Iain Merrick  <husky@google.com>
402
403         [chromium] Fix CCThreadProxy::setVisible
404         https://bugs.webkit.org/show_bug.cgi?id=71903
405
406         The behavior is different depending on whether we're showing
407         or hiding the compositor. This patch fixes both code paths.
408
409         Reviewed by James Robinson.
410
411         * platform/graphics/chromium/cc/CCCompletionEvent.h:
412         (WebCore::CCCompletionEvent::CCCompletionEvent):
413         (WebCore::CCCompletionEvent::~CCCompletionEvent):
414         (WebCore::CCCompletionEvent::wait):
415         (WebCore::CCCompletionEvent::signal):
416         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
417         (WebCore::CCThreadProxy::setVisible):
418
419 2011-11-11  Iain Merrick  <husky@google.com>
420
421         [chromium] CCThreadProxy::finishAllRendering hangs if !visible
422         https://bugs.webkit.org/show_bug.cgi?id=71920
423
424         Reviewed by James Robinson.
425
426         * platform/graphics/chromium/cc/CCScheduler.cpp:
427         (WebCore::CCScheduler::setNeedsForcedRedraw):
428         * platform/graphics/chromium/cc/CCScheduler.h:
429         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
430         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
431         (WebCore::CCSchedulerStateMachine::nextAction):
432         (WebCore::CCSchedulerStateMachine::updateState):
433         (WebCore::CCSchedulerStateMachine::setNeedsForcedRedraw):
434         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
435         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
436         (WebCore::CCThreadProxy::requestReadbackOnImplThread):
437         (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
438
439 2011-11-11  John Knottenbelt  <jknotten@chromium.org>
440
441         [Chromium] Enable building without shared workers.
442         https://bugs.webkit.org/show_bug.cgi?id=72122
443
444         Reviewed by Yury Semikhatsky.
445
446         * bindings/v8/WorkerScriptDebugServer.cpp:
447         (WebCore::retrieveWorkerContext):
448
449 2011-11-11  Julien Chaffraix  <jchaffraix@webkit.org>
450
451         Crash in styleDidChange when changing a table cell's height.
452         <http://webkit.org/b/72004>
453
454         Reviewed by Darin Adler.
455
456         Tests: fast/table/crash-table-cell-change-height.html
457                fast/table/table-cell-change-height-with-needsCellRecalc-section.html
458                fast/table/table-cell-change-last-row-with-needsCellRecalc-section.html
459                fast/table/table-row-change-height-with-needsCellRecalc-section.html
460
461         r99212 removed our call to recalcCells when the logical height changed. This
462         means that we could end up with a cells without having set its row() properly
463         which would crash.
464
465         The change exposes the was-the-row-properly-set information so that we don't
466         try to access a bogus index. This should work properly even if the section
467         needs a cell recalc as the current section's row structure would still be
468         accurate in this case.
469
470         * rendering/RenderTableCell.cpp:
471         (WebCore::RenderTableCell::styleDidChange): Check that our row index
472         was properly set before calling
473
474         * rendering/RenderTableCell.h:
475         (WebCore::RenderTableCell::rowWasSet): Helper function to detect
476         if we have set up our a row.
477         (WebCore::RenderTableCell::row): Use the previous function in the
478         ASSERT.
479
480 2011-11-11  Shinya Kawanaka  <shinyak@google.com>
481
482         Implement legacy text check emulation in unified text check interface.
483         https://bugs.webkit.org/show_bug.cgi?id=70299
484
485         Reviewed by Hajime Morita.
486
487         When UNIFIED_TEXT_CHECKING is off, WebCore::checkTextOfParagraph() emulates
488         TextCheckerClient::checkTextOfParagraph() using checkSpellingOfString and checkGrammarOfString.
489
490         This emulation can be used by setting the flag on.
491         This can be done by WebCore::Internals::setUnifiedTextCheckingEnabled.
492
493         Test: editing/spelling/spelling-unified-emulation.html
494
495         * editing/TextCheckingHelper.cpp:
496         (WebCore::findBadGrammars): Added.
497         (WebCore::findMisspellings): Added.
498         (WebCore::checkTextOfParagraph):
499           Emulates TextCheckerClients::checkTextOfParagraph if UNIFIED_TEXT_CHECKING is off.
500         * testing/Internals.cpp:
501         (WebCore::Internals::setUnifiedTextCheckingEnabled): flag setter.
502         (WebCore::Internals::unifiedTextCheckingEnabled): flag getter.
503         * testing/Internals.h:
504         * testing/Internals.idl:
505
506 2011-11-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
507
508         [CMAKE] Add a missing file to PlatformEfl.cmake for curl network backend.
509         https://bugs.webkit.org/show_bug.cgi?id=72092
510
511         Unreviewed. Fix build break when using curl.
512
513         ProxyServerCurl.cpp file is not included in PlatformEfl.cmake. So, the file is not built
514         when EFL port uses curl as network backend.
515
516         * PlatformEfl.cmake: Add missing ProxyServerCurl.cpp.
517
518 2011-11-11  Emil A Eklund  <eae@chromium.org>
519
520         Switch remaining RenderBlock/Box methods to to new layout types
521         https://bugs.webkit.org/show_bug.cgi?id=72075
522
523         Reviewed by Eric Seidel.
524
525         Move margins, floats and line layout block logic to layout abstraction.
526
527         No new tests.
528
529         * rendering/RenderBlockLineLayout.cpp:
530         (WebCore::borderPaddingMarginStart):
531         (WebCore::borderPaddingMarginEnd):
532         (WebCore::inlineLogicalWidth):
533         (WebCore::setStaticPositions):
534         (WebCore::LineLayoutState::LineLayoutState):
535         (WebCore::LineLayoutState::setRepaintRange):
536         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
537         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
538         (WebCore::RenderBlock::linkToEndLineIfNeeded):
539         (WebCore::RenderBlock::layoutInlineChildren):
540         (WebCore::RenderBlock::checkFloatsInCleanLine):
541         (WebCore::RenderBlock::determineStartPosition):
542         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
543         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
544         (WebCore::RenderBlock::addOverflowFromInlineChildren):
545         (WebCore::RenderBlock::checkLinesForTextOverflow):
546         (WebCore::RenderBlock::positionNewFloatOnLine):
547         * rendering/RenderBox.cpp:
548         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
549         (WebCore::RenderBox::offsetFromContainer):
550         (WebCore::RenderBox::positionLineBox):
551         (WebCore::RenderBox::computeInlineDirectionMargins):
552         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
553         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
554         * rendering/RenderBox.h:
555         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
556
557 2011-11-11  Antoine Labour  <piman@chromium.org>
558
559         [chromium] Add translation/scaling to WebExternalTextureLayer
560         https://bugs.webkit.org/show_bug.cgi?id=72087
561
562         Reviewed by James Robinson.
563
564         Covered by WebLayerTest.
565
566         * platform/graphics/chromium/PluginLayerChromium.cpp:
567         (WebCore::PluginLayerChromium::PluginLayerChromium):
568         (WebCore::PluginLayerChromium::setUVRect):
569         (WebCore::PluginLayerChromium::pushPropertiesTo):
570         * platform/graphics/chromium/PluginLayerChromium.h:
571         (WebCore::PluginLayerChromium::uvRect):
572         * platform/graphics/chromium/ShaderChromium.cpp:
573         (WebCore::VertexShaderPosTexStretch::VertexShaderPosTexStretch):
574         (WebCore::VertexShaderPosTexStretch::init):
575         (WebCore::VertexShaderPosTexStretch::getShaderString):
576         * platform/graphics/chromium/ShaderChromium.h:
577         (WebCore::VertexShaderPosTexStretch::matrixLocation):
578         (WebCore::VertexShaderPosTexStretch::offsetLocation):
579         (WebCore::VertexShaderPosTexStretch::scaleLocation):
580         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
581         (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
582         (WebCore::CCPluginLayerImpl::draw):
583         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
584         (WebCore::CCPluginLayerImpl::setUVRect):
585
586 2011-11-11  Stephen Chenney  <schenney@chromium.org>
587
588         Null deref when no use element exists for SVG element instance
589         https://bugs.webkit.org/show_bug.cgi?id=59136
590
591         Second attempt, with a fix to handle JS garbage collection.
592
593         Reviewed by Nikolas Zimmermann.
594
595         Test: svg/custom/element-instance-held-by-js-crash.svg
596
597         * svg/SVGElementInstance.cpp:
598         (WebCore::SVGElementInstance::~SVGElementInstance): Added call to detach() to clear
599           anything not yet cleared.
600         (WebCore::SVGElementInstance::detach): New method to replace old clear methods. This one
601           clears all the pointers it can, and removes the instance from the corresponding elements
602           instance list.
603         * svg/SVGElementInstance.h: Removed clear methods and replaced with detach.
604         * svg/SVGUseElement.cpp: 
605         (WebCore::SVGUseElement::detachInstance): Modified calls to clean up an SVGElementInstance.
606
607 2011-11-11  Florin Malita  <fmalita@google.com>
608
609         clipPath does not work on foreignObject
610         https://bugs.webkit.org/show_bug.cgi?id=68251
611
612         Reviewed by Dirk Schulze.
613
614         Add ForeignObject clipping, filtering and masking support using the SVGRenderSupport helpers
615         (prepareToRenderSVGContent, finishRenderSVGContent) on RenderSVGForeignObject's paint path.
616         This also allows us to remove explicit transparency handling, since the helpers already cover it.
617
618         Tests: svg/foreignObject/clip.html
619                svg/foreignObject/filter.html
620                svg/foreignObject/mask.html
621
622         * rendering/svg/RenderSVGForeignObject.cpp:
623         (WebCore::RenderSVGForeignObject::paint):
624         * rendering/svg/SVGResources.cpp:
625         (WebCore::clipperFilterMaskerTags):
626
627 2011-11-11  Adam Klein  <adamk@chromium.org>
628
629         Remove no-op StorageNamespace::unlock method
630         https://bugs.webkit.org/show_bug.cgi?id=72181
631
632         Reviewed by Darin Adler.
633
634         The method was meant to support the localStorage mutex,
635         but the approach of using a mutex for localStorage has never been
636         implemented (and almost certainly won't be). Even if it were implemented,
637         it's not being called at the right time, due to bugs in the V8 bindings'
638         use of V8Proxy (see http://webkit.org/b/72063 for details).
639
640         If, in the future, some replacement for a mutex is used to synchronize
641         localStorage access, it can easily be re-added to the (hopefully
642         fixed-by-then) replacement for V8Proxy::didLeaveScriptContext.
643
644         * bindings/v8/V8Proxy.cpp:
645         (WebCore::V8Proxy::didLeaveScriptContext): Stop calling unlock().
646         * page/Navigator.cpp:
647         (WebCore::Navigator::getStorageUpdates): Remove implementation (a call to unlock), but leave code as it's exposed to the platform.
648         * page/Navigator.idl: Added a FIXME to remove getStorageUpdates from the platform.
649         * storage/StorageNamespace.h:
650         * storage/StorageNamespaceImpl.cpp:
651         * storage/StorageNamespaceImpl.h:
652
653 2011-11-11  Alexis Menard  <alexis.menard@openbossa.org>
654
655         [Qt][WK2] Make sure Scrollbars are in their own layer.
656         https://bugs.webkit.org/show_bug.cgi?id=72064
657
658         Reviewed by Kenneth Rohde Christiansen.
659
660         Make sure we render our scrollbars in a separate layer.
661
662         No new tests : existing ones should cover.
663
664         * platform/qt/ScrollbarThemeQt.h:
665         (WebCore::ScrollbarThemeQt::usesOverlayScrollbars):
666
667 2011-11-11  Joel Webber  <jgw@google.com>
668
669         Repaint broken when children of filtered SVG elements are updated
670         https://bugs.webkit.org/show_bug.cgi?id=71733
671
672         Reviewed by Nikolas Zimmermann.
673
674         Test: svg/repaint/filter-child-repaint.svg
675
676         * rendering/svg/RenderSVGContainer.cpp:
677         (WebCore::RenderSVGContainer::layout):
678         * rendering/svg/RenderSVGRoot.cpp:
679         (WebCore::RenderSVGRoot::layout):
680         * rendering/svg/SVGRenderSupport.cpp:
681         (WebCore::SVGRenderSupport::setNeedsLayoutForFilteredContainer):
682
683 2011-11-11  Timothy Hatcher  <timothy@apple.com>
684
685         Don't remove InspectorBackendStub.js in Release builds after it has been
686         combined into inspector.js. Also remove any *.qrc file on Mac.
687
688         https://webkit.org/b/72186
689
690         Reviewed by Joseph Pecoraro.
691
692         * WebCore.xcodeproj/project.pbxproj:
693
694 2011-11-11  Jeff Timanus  <twiz@chromium.org>
695
696         [chromium] Patch that implementing the changes required to allow WebGL
697         to share its backing store directly with the compositor.
698         WebGL rendering contexts create and render to FBOs managed by a
699         DrawingBuffer instance. All PlatformLayer lifetime management is
700         performed by the DrawingBuffer.
701         Changes are only relevant to Chromium ports. Functionality is
702         unchanged for other ports.
703         https://bugs.webkit.org/show_bug.cgi?id=53201
704
705         Reviewed by Stephen White.
706
707         * html/canvas/WebGLRenderingContext.cpp: Construct a DrawingBuffer
708         during initialization, and forward all framebuffer management calls to
709         it.
710         (WebCore::WebGLRenderingContext::create):
711         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
712         (WebCore::WebGLRenderingContext::initializeNewContext):
713         (WebCore::WebGLRenderingContext::markContextChanged):
714         (WebCore::WebGLRenderingContext::clearIfComposited):
715         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
716         (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
717         (WebCore::WebGLRenderingContext::reshape):
718         (WebCore::WebGLRenderingContext::drawingBufferWidth):
719         (WebCore::WebGLRenderingContext::drawingBufferHeight):
720         (WebCore::WebGLRenderingContext::bindFramebuffer):
721         (WebCore::WebGLRenderingContext::copyTexImage2D):
722         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
723         (WebCore::WebGLRenderingContext::deleteFramebuffer):
724         (WebCore::WebGLRenderingContext::disable):
725         (WebCore::WebGLRenderingContext::enable):
726         (WebCore::WebGLRenderingContext::readPixels):
727         (WebCore::WebGLRenderingContext::platformLayer):
728         (WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
729         (WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
730         (WebCore::WebGLRenderingContext::maybeRestoreContext):
731         * html/canvas/WebGLRenderingContext.h:
732         * platform/graphics/GraphicsContext3D.cpp:
733         * platform/graphics/GraphicsContext3D.h:  WebGLLayerChromium instances
734         are no longer tracked by GraphicsContext3D. Callers can now pass a
735         DrawingBuffer instance to provide access to the WebGLLayerChromium data.
736         * platform/graphics/chromium/DrawingBufferChromium.cpp:
737         (WebCore::generateColorTexture):
738         (WebCore::DrawingBuffer::DrawingBuffer):
739         (WebCore::DrawingBuffer::initialize):
740         (WebCore::DrawingBuffer::publishToPlatformLayer):
741         (WebCore::DrawingBuffer::platformLayer):
742         (WebCore::DrawingBuffer::platformColorBuffer):
743         (WebCore::DrawingBuffer::framebuffer):
744         (WebCore::DrawingBuffer::markContextChanged):
745         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
746         * platform/graphics/chromium/WebGLLayerChromium.cpp:
747         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
748         (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
749         (WebCore::WebGLLayerChromium::drawsContent):
750         (WebCore::WebGLLayerChromium::updateCompositorResources):
751         (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
752         (WebCore::WebGLLayerChromium::contentChanged):
753         (WebCore::WebGLLayerChromium::setDrawingBuffer):
754         (WebCore::WebGLLayerChromium::context):
755         * platform/graphics/chromium/WebGLLayerChromium.h: WebGLLayerChromium instances
756         have a raw reference to their owning DrawingBuffer.  This reference is set to NULL on
757         destruction of the DrawingBuffer.  This follows the old code, which had the WebGLLayerChromium
758         refer rawly to a GraphicsContext3D instance, which was also revoked during tear-down of the
759         GraphicsContext3D.
760         (WebCore::WebGLLayerChromium::drawingBuffer):
761         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
762         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
763         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
764         * platform/graphics/gpu/DrawingBuffer.cpp: The DrawingBuffer is now the
765         central point between the GraphicsContext3D, WebGLRenderingContext, and
766         WebGLLayerChromium classes.  GraphicsContext3D, and WebGLLayerChromium only
767         depend on the DrawingBuffer interface.
768         (WebCore::DrawingBuffer::create):
769         (WebCore::DrawingBuffer::clear):
770         (WebCore::DrawingBuffer::clearFramebuffer):
771         (WebCore::DrawingBuffer::reset):
772         (WebCore::DrawingBuffer::commit):
773         (WebCore::DrawingBuffer::multisample):
774         (WebCore::DrawingBuffer::paintRenderingResultsToImageData):
775         (WebCore::DrawingBuffer::discardResources):
776         * platform/graphics/gpu/DrawingBuffer.h:
777         (WebCore::DrawingBuffer::setScissorEnabled):
778         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
779         (WebCore::DrawingBuffer::DrawingBuffer):
780         * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
781         (WebCore::DrawingBuffer::DrawingBuffer):
782         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
783         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
784         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
785         * platform/graphics/qt/GraphicsContext3DQt.cpp:
786         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
787         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
788
789 2011-11-11  Darin Adler  <darin@apple.com>
790
791         Remove all releaseRef implementations except for RetainPtr
792         https://bugs.webkit.org/show_bug.cgi?id=71423
793
794         Reviewed by Julien Chaffraix.
795
796         * platform/win/COMPtr.h: Removed releaseRef.
797
798 2011-11-11  Darin Adler  <darin@apple.com>
799
800         * WebCore.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
801         If an older Xcode downgrades this file and we have a risk of some kind of
802         oscillating commit situation, please contact me so I know not to do this again.
803
804 2011-11-11  Ojan Vafai  <ojan@chromium.org>
805
806         Unreviewed, rolling out r99953.
807         Caused 4 tests to hit an assert.
808         https://bugs.webkit.org/show_bug.cgi?id=72163
809
810         * inspector/InspectorInstrumentation.h:
811         (WebCore::InspectorInstrumentation::didStartWorkerContext):
812         * inspector/InspectorWorkerAgent.cpp:
813         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
814         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
815         (WebCore::InspectorWorkerAgent::setFrontend):
816         (WebCore::InspectorWorkerAgent::restore):
817         (WebCore::InspectorWorkerAgent::clearFrontend):
818         (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
819         (WebCore::InspectorWorkerAgent::didStartWorkerContext):
820         (WebCore::InspectorWorkerAgent::workerContextTerminated):
821         * inspector/InspectorWorkerAgent.h:
822
823 2011-11-11  Vincent Scheib  <scheib@chromium.org>
824
825         Unreviewed, rolling out r100024.
826         http://trac.webkit.org/changeset/100024
827         https://bugs.webkit.org/show_bug.cgi?id=72158
828
829         Broke chromium build
830
831         * dom/MouseEvent.cpp:
832         (WebCore::MouseEvent::initMouseEvent):
833         (WebCore::MouseEventDispatchMediator::dispatchEvent):
834         * dom/MouseEvent.h:
835         * dom/MouseEvent.idl:
836         * dom/MouseRelatedEvent.h:
837
838 2011-11-11  Vincent Scheib  <scheib@chromium.org>
839
840         Mouse Lock: MouseEvent IDL
841         https://bugs.webkit.org/show_bug.cgi?id=72158
842
843         Reviewed by Dimitri Glazkov.
844
845         Tests for movementX/Y pending mock mouse lock test infrastructure.
846
847         * dom/MouseEvent.cpp:
848         (WebCore::MouseEvent::initMouseEvent):
849         (WebCore::MouseEventDispatchMediator::dispatchEvent):
850         * dom/MouseEvent.h:
851         * dom/MouseEvent.idl:
852         * dom/MouseRelatedEvent.h:
853         (WebCore::MouseRelatedEvent::movementX):
854         (WebCore::MouseRelatedEvent::movementY):
855
856 2011-11-11  Beth Dakin  <bdakin@apple.com>
857
858         https://bugs.webkit.org/show_bug.cgi?id=72167
859         REGRESSION: Scroll position not restored on back after scroll 
860         -and corresponding-
861         <rdar://problem/10410684>
862
863         Reviewed by Simon Fraser.
864
865         We can't just return early if we are not on an active page. 
866         notifyPositionChanged() is called when a page is going into the page cache (and 
867         therefore when not on an active page). We should not notify AppKit that the page 
868         has scrolled in that case, but we still need to call 
869         ScrollAnimator::notifyPositionChanged();. So this patch removes the early return, 
870         and replaces it with a conditional around the relevant code.
871         * platform/mac/ScrollAnimatorMac.mm:
872         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
873
874 2011-11-11  Julien Chaffraix  <jchaffraix@codeaurora.org>, Zaheer Ahmad  <zahimad@codeaurora.org>, Joone Hur  <joone.hur@collabora.co.uk>, Tomasz Morawski  <t.morawski@samsung.com>
875
876         Added TileCairo and TiledBackingStoreBackendCairo files
877         https://bugs.webkit.org/show_bug.cgi?id=71350
878
879         Reviewed by Martin Robinson.
880
881         Added TileCairo and TiledBackingStoreBackend files needed by Tiled Backing Store implementation that uses cairo
882         library eg. EFL and Gtk WebKit port.
883
884         This patch contains some parts of rebased and updated code from 45423 bug. Originals authors of the code are:
885         - Julien Chaffraix  <jchaffraix@codeaurora.org>
886         - Zaheer Ahmad  <zahmad@codeaurora.org>
887         - Joone Hur  <joone.hur@collabora.co.uk>
888
889         * platform/graphics/cairo/RefPtrCairo.cpp: Added support of RefPtr for cairo_region object.
890         (WTF::refIfNotNull): New refIfNotNull function for cairo_region object.
891         (WTF::derefIfNotNull): New derefIfNotNull function for cairo_region object.
892         * platform/graphics/cairo/RefPtrCairo.h: Added support of RefPtr for cairo_region object.
893         * platform/graphics/cairo/TileCairo.cpp: Added a new file. Implementation of TileCairo class.
894         (WebCore::TileCairo::TileCairo):
895         (WebCore::TileCairo::~TileCairo):
896         (WebCore::TileCairo::isDirty):
897         (WebCore::TileCairo::isReadyToPaint):
898         (WebCore::TileCairo::invalidate):
899         (WebCore::TileCairo::updateBackBuffer):
900         (WebCore::TileCairo::swapBackBufferToFront):
901         (WebCore::TileCairo::paint):
902         (WebCore::TileCairo::resize):
903         * platform/graphics/cairo/TileCairo.h: Added a new file. Implementation of TileCairo class.
904         (WebCore::TileCairo::create):
905         (WebCore::TileCairo::coordinate):
906         (WebCore::TileCairo::rect):
907         * platform/graphics/cairo/TiledBackingStoreBackendCairo.cpp: Added a new file. Implementation of
908         TiledBackingStoreBackend methods.
909         (WebCore::TiledBackingStoreBackend::createTile):
910         (WebCore::checkeredSurface): Helper function that creates checkered surface (see below function)
911         (WebCore::TiledBackingStoreBackend::paintCheckerPattern): Function is used to draw a place holder when tile no
912         exist or it is not ready to paint yet. The checkered surface is used here.
913
914 2011-11-11  Julien Chaffraix  <jchaffraix@webkit.org>
915
916         Remove unneeded frame check in FrameView::detachCustomScrollbars
917         https://bugs.webkit.org/show_bug.cgi?id=71980
918
919         Reviewed by Anders Carlsson.
920
921         Change covered by the existing tests in scrollbars/.
922
923         * page/FrameView.cpp:
924         (WebCore::FrameView::detachCustomScrollbars):
925         Remove the leftover check that was forgotten by the different refactoring.
926
927 2011-11-11  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
928
929         Access key should work on all elements.
930         https://bugs.webkit.org/show_bug.cgi?id=71854
931
932         Reviewed by Adam Barth.
933
934         As per specification http://dev.w3.org/html5/spec/Overview.html#elements-in-the-dom
935         says All HTML elements can have the accesskey content attribute set. Adding "accessKey"
936         attribute idl file as [Reflect].
937
938         Test: fast/forms/access-key-for-all-elements.html
939
940         * html/HTMLAnchorElement.idl: Removed redundant IDL attribute entries.
941         * html/HTMLAreaElement.idl: Ditto. 
942         * html/HTMLButtonElement.idl: Ditto.
943         * html/HTMLElement.idl: Added accessKey IDL attribute.
944         * html/HTMLInputElement.idl: Ditto.
945         * html/HTMLLabelElement.idl: Ditto.
946         * html/HTMLLegendElement.idl: Ditto.
947         * html/HTMLTextAreaElement.idl: Ditto.
948
949 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
950
951         Add jsCast to replace static_cast
952         https://bugs.webkit.org/show_bug.cgi?id=72071
953
954         Reviewed by Geoffrey Garen.
955
956         No new tests. 
957
958         Added new jsCast and changed all of the static_cast sites in functions that 
959         are in the MethodTable to use jsCast instead.
960
961         * bindings/js/JSAttrCustom.cpp:
962         (WebCore::JSAttr::visitChildren):
963         * bindings/js/JSAudioContextCustom.cpp:
964         (WebCore::JSAudioContext::visitChildren):
965         * bindings/js/JSCSSRuleCustom.cpp:
966         (WebCore::JSCSSRule::visitChildren):
967         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
968         (WebCore::JSCSSStyleDeclaration::visitChildren):
969         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
970         (WebCore::toHTMLCanvasStyle):
971         * bindings/js/JSCanvasRenderingContextCustom.cpp:
972         (WebCore::JSCanvasRenderingContext::visitChildren):
973         * bindings/js/JSDOMGlobalObject.cpp:
974         (WebCore::JSDOMGlobalObject::visitChildren):
975         * bindings/js/JSDOMStringMapCustom.cpp:
976         (WebCore::JSDOMStringMap::getOwnPropertyNames):
977         (WebCore::JSDOMStringMap::deleteProperty):
978         * bindings/js/JSDOMWindowBase.cpp:
979         (WebCore::JSDOMWindowBase::toThisObject):
980         * bindings/js/JSDOMWindowCustom.cpp:
981         (WebCore::JSDOMWindow::visitChildren):
982         (WebCore::JSDOMWindow::getOwnPropertySlot):
983         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
984         (WebCore::JSDOMWindow::put):
985         (WebCore::JSDOMWindow::deleteProperty):
986         (WebCore::JSDOMWindow::getPropertyNames):
987         (WebCore::JSDOMWindow::getOwnPropertyNames):
988         (WebCore::JSDOMWindow::defineGetter):
989         (WebCore::JSDOMWindow::defineSetter):
990         (WebCore::JSDOMWindow::defineOwnProperty):
991         * bindings/js/JSDOMWindowShell.cpp:
992         (WebCore::JSDOMWindowShell::className):
993         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
994         (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
995         (WebCore::JSDOMWindowShell::put):
996         (WebCore::JSDOMWindowShell::putWithAttributes):
997         (WebCore::JSDOMWindowShell::defineOwnProperty):
998         (WebCore::JSDOMWindowShell::deleteProperty):
999         (WebCore::JSDOMWindowShell::getPropertyNames):
1000         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
1001         (WebCore::JSDOMWindowShell::defineGetter):
1002         (WebCore::JSDOMWindowShell::defineSetter):
1003         * bindings/js/JSHTMLAppletElementCustom.cpp:
1004         (WebCore::JSHTMLAppletElement::getCallData):
1005         * bindings/js/JSHTMLEmbedElementCustom.cpp:
1006         (WebCore::JSHTMLEmbedElement::getCallData):
1007         * bindings/js/JSHTMLObjectElementCustom.cpp:
1008         (WebCore::JSHTMLObjectElement::getCallData):
1009         * bindings/js/JSHistoryCustom.cpp:
1010         (WebCore::JSHistory::deleteProperty):
1011         (WebCore::JSHistory::getOwnPropertyNames):
1012         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
1013         (WebCore::JSJavaScriptAudioNode::visitChildren):
1014         * bindings/js/JSLocationCustom.cpp:
1015         (WebCore::JSLocation::deleteProperty):
1016         (WebCore::JSLocation::getOwnPropertyNames):
1017         * bindings/js/JSMessageChannelCustom.cpp:
1018         (WebCore::JSMessageChannel::visitChildren):
1019         * bindings/js/JSMessagePortCustom.cpp:
1020         (WebCore::JSMessagePort::visitChildren):
1021         * bindings/js/JSNamedNodeMapCustom.cpp:
1022         (WebCore::JSNamedNodeMap::visitChildren):
1023         * bindings/js/JSNodeCustom.cpp:
1024         (WebCore::JSNode::visitChildren):
1025         * bindings/js/JSNodeFilterCustom.cpp:
1026         (WebCore::JSNodeFilter::visitChildren):
1027         * bindings/js/JSNodeIteratorCustom.cpp:
1028         (WebCore::JSNodeIterator::visitChildren):
1029         * bindings/js/JSSVGElementInstanceCustom.cpp:
1030         (WebCore::JSSVGElementInstance::visitChildren):
1031         * bindings/js/JSSharedWorkerCustom.cpp:
1032         (WebCore::JSSharedWorker::visitChildren):
1033         * bindings/js/JSStorageCustom.cpp:
1034         (WebCore::JSStorage::deleteProperty):
1035         (WebCore::JSStorage::getOwnPropertyNames):
1036         * bindings/js/JSStyleSheetCustom.cpp:
1037         (WebCore::JSStyleSheet::visitChildren):
1038         * bindings/js/JSTreeWalkerCustom.cpp:
1039         (WebCore::JSTreeWalker::visitChildren):
1040         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1041         (WebCore::JSWebGLRenderingContext::visitChildren):
1042         * bindings/js/JSWorkerContextCustom.cpp:
1043         (WebCore::JSWorkerContext::visitChildren):
1044         * bindings/js/JSXMLHttpRequestCustom.cpp:
1045         (WebCore::JSXMLHttpRequest::visitChildren):
1046         * bindings/js/JSXPathResultCustom.cpp:
1047         (WebCore::JSXPathResult::visitChildren):
1048         * bindings/scripts/CodeGeneratorJS.pm:
1049         (GenerateHeader):
1050         (GenerateImplementation):
1051         * bindings/scripts/test/JS/JSTestInterface.cpp:
1052         (WebCore::JSTestInterface::getOwnPropertySlot):
1053         (WebCore::JSTestInterface::getOwnPropertyDescriptor):
1054         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1055         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
1056         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
1057         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
1058         (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
1059         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1060         (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
1061         (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
1062         * bindings/scripts/test/JS/JSTestObj.cpp:
1063         (WebCore::JSTestObjPrototype::getOwnPropertySlot):
1064         (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
1065         (WebCore::JSTestObj::getOwnPropertySlot):
1066         (WebCore::JSTestObj::getOwnPropertyDescriptor):
1067         (WebCore::JSTestObj::put):
1068         (WebCore::JSTestObj::visitChildren):
1069         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1070         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
1071         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
1072         * bridge/objc/objc_runtime.mm:
1073         (JSC::Bindings::ObjcFallbackObjectImp::getCallData):
1074         (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
1075         * bridge/qt/qt_instance.cpp:
1076         (JSC::Bindings::QtRuntimeObject::visitChildren):
1077         * bridge/qt/qt_runtime.cpp:
1078         (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
1079         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlot):
1080         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
1081         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlot):
1082         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
1083         * bridge/runtime_array.cpp:
1084         (JSC::RuntimeArray::getOwnPropertyNames):
1085         (JSC::RuntimeArray::getOwnPropertySlot):
1086         (JSC::RuntimeArray::getOwnPropertyDescriptor):
1087         (JSC::RuntimeArray::getOwnPropertySlotByIndex):
1088         (JSC::RuntimeArray::put):
1089         (JSC::RuntimeArray::putByIndex):
1090         * bridge/runtime_method.cpp:
1091         (JSC::RuntimeMethod::getOwnPropertySlot):
1092         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
1093         * bridge/runtime_object.cpp:
1094         (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
1095         (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
1096         (JSC::Bindings::RuntimeObject::put):
1097         (JSC::Bindings::RuntimeObject::defaultValue):
1098         (JSC::Bindings::RuntimeObject::getCallData):
1099         (JSC::Bindings::RuntimeObject::getConstructData):
1100         (JSC::Bindings::RuntimeObject::getOwnPropertyNames):
1101
1102 2011-11-11  Vincent Scheib  <scheib@chromium.org>
1103
1104         Unreviewed, rolling out r99994.
1105         http://trac.webkit.org/changeset/99994
1106         https://bugs.webkit.org/show_bug.cgi?id=72150
1107
1108         Broke chromium windows build
1109
1110         * WebCore.gypi:
1111         * bindings/generic/RuntimeEnabledFeatures.h:
1112         (WebCore::RuntimeEnabledFeatures::webkitLockMouseEnabled):
1113         (WebCore::RuntimeEnabledFeatures::webkitUnlockMouseEnabled):
1114         (WebCore::RuntimeEnabledFeatures::webkitMouseLockedEnabled):
1115         * page/MouseLockable.cpp: Removed.
1116         * page/MouseLockable.h: Removed.
1117         * page/MouseLockable.idl: Removed.
1118         * page/Navigator.cpp:
1119         * page/Navigator.h:
1120         * page/Navigator.idl:
1121
1122 2011-11-11  Adam Klein  <adamk@chromium.org>
1123
1124         [v8] Remove unused V8Proxy::executingScript method
1125         https://bugs.webkit.org/show_bug.cgi?id=72160
1126
1127         Reviewed by Nate Chapin.
1128
1129         * bindings/v8/V8Proxy.cpp:
1130         * bindings/v8/V8Proxy.h:
1131
1132 2011-11-11  Brady Eidson  <beidson@apple.com>
1133
1134         Rubberstamped by Andy Estes
1135
1136         100,000!
1137         Congratulations WebKit, and here's to hundreds of thousands more!
1138         
1139         * ChangeLog: Point out revision 100,000.
1140
1141 2011-11-11  David Kilzer  <ddkilzer@apple.com>
1142
1143         <http://webkit.org/b/71921> Remove use of strcpy in KURL
1144
1145         Reviewed by Antti Koivisto.
1146
1147         * platform/KURL.cpp:
1148         (WebCore::KURL::init): Replace strcpy() with strncpy().
1149
1150 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
1151
1152         De-virtualize supportsProfiling, supportsRichSourceInfo, shouldInterruptScript in JSGlobalObject
1153         https://bugs.webkit.org/show_bug.cgi?id=72035
1154
1155         Reviewed by Geoffrey Garen.
1156
1157         No new tests.
1158
1159         * bindings/js/JSDOMGlobalObject.cpp: Changed constructor to support passing new GlobalObjectMethodTable pointer to parent class.
1160         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
1161         * bindings/js/JSDOMGlobalObject.h:
1162         * bindings/js/JSDOMWindowBase.cpp: Added static const GlobalObjectMethodTable and filled it in with the proper function pointers.
1163         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1164         (WebCore::JSDOMWindowBase::supportsProfiling): Changed to static to put in the method table.
1165         (WebCore::JSDOMWindowBase::supportsRichSourceInfo): Ditto.
1166         (WebCore::JSDOMWindowBase::shouldInterruptScript): Ditto.
1167         * bindings/js/JSDOMWindowBase.h:
1168
1169
1170 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1171
1172         Unreviewed, rolling out r99869.
1173         http://trac.webkit.org/changeset/99869
1174         https://bugs.webkit.org/show_bug.cgi?id=72157
1175
1176         "Caused a ~400% perf regression on the Chromium intl1 page
1177         cyclers" (Requested by ojan on #webkit).
1178
1179         * dom/Document.cpp:
1180         (WebCore::Document::Document):
1181         (WebCore::Document::images):
1182         (WebCore::Document::applets):
1183         (WebCore::Document::embeds):
1184         (WebCore::Document::plugins):
1185         (WebCore::Document::objects):
1186         (WebCore::Document::scripts):
1187         (WebCore::Document::links):
1188         (WebCore::Document::forms):
1189         (WebCore::Document::anchors):
1190         * dom/Document.h:
1191         * html/CollectionType.h:
1192
1193 2011-11-11  Vincent Scheib  <scheib@chromium.org>
1194
1195         Mouse Lock Navigator IDL
1196         https://bugs.webkit.org/show_bug.cgi?id=72150
1197
1198         Reviewed by Dimitri Glazkov.
1199
1200         Tests require mocking (similar to geolocation) that will be built after this.
1201
1202         * WebCore.gypi:
1203         * bindings/generic/RuntimeEnabledFeatures.h:
1204         (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
1205         * page/MouseLockable.cpp: Added.
1206         (WebCore::MouseLockable::MouseLockable):
1207         (WebCore::MouseLockable::~MouseLockable):
1208         (WebCore::MouseLockable::webkitLock):
1209         (WebCore::MouseLockable::webkitUnlock):
1210         (WebCore::MouseLockable::webkitIsLocked):
1211         * page/MouseLockable.h: Added.
1212         (WebCore::MouseLockable::create):
1213         * page/MouseLockable.idl: Added.
1214         * page/Navigator.cpp:
1215         (WebCore::Navigator::webkitPointer):
1216         * page/Navigator.h:
1217         * page/Navigator.idl:
1218
1219 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
1220
1221         De-virtualize JSGlobalObject::allowsAccessFrom
1222         https://bugs.webkit.org/show_bug.cgi?id=71969
1223
1224         Reviewed by Darin Adler.
1225
1226         No new tests.
1227
1228         Since allowsAccessFrom is only used by WebScriptObject, we know that we'll always have a 
1229         JSDOMWindowBase, so we can simply have allowsAccessFrom to live in JSDOMWindowBase rather 
1230         than JSGlobalObject.
1231
1232         * bindings/js/JSDOMWindowBase.h: De-virtualized allowsAccessFrom.
1233         * bindings/objc/WebScriptObject.mm:
1234         (-[WebScriptObject _isSafeScript]): Added a cast from a JSGlobalObject to a JSDOMWindowBase in 
1235         order to call the allowsAccessFrom method.
1236
1237 2011-11-11  Rafael Weinstein  <rafaelw@chromium.org>
1238
1239         [MutationObservers] Support attributeFilter for attribute mutations
1240         https://bugs.webkit.org/show_bug.cgi?id=70860
1241
1242         Reviewed by Dimitri Glazkov.
1243
1244         This patch adds an attributeFilter to the MutationObserverRegistration and
1245         adds support for only observing attributes whose name are in the provided
1246         filter set (array of strings).
1247
1248         Test: fast/mutation/observe-attributes.html.
1249
1250         * bindings/js/JSWebKitMutationObserverCustom.cpp:
1251         (WebCore::JSWebKitMutationObserver::observe):
1252         * bindings/v8/OptionsObject.cpp:
1253         (WebCore::OptionsObject::get):
1254         * bindings/v8/OptionsObject.h:
1255         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
1256         (WebCore::V8WebKitMutationObserver::observeCallback):
1257         * dom/Element.cpp:
1258         (WebCore::enqueueAttributesMutationRecord):
1259         * dom/MutationObserverRegistration.cpp:
1260         (WebCore::MutationObserverRegistration::resetObservation):
1261         (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
1262         (WebCore::MutationObserverRegistration::caseInsensitiveAttributeFilter):
1263         * dom/MutationObserverRegistration.h:
1264         * dom/Node.cpp:
1265         (WebCore::Node::collectMatchingObserversForMutation):
1266         (WebCore::Node::getRegisteredMutationObserversOfType):
1267         * dom/Node.h:
1268         * dom/WebKitMutationObserver.cpp:
1269         (WebCore::WebKitMutationObserver::observe):
1270         * dom/WebKitMutationObserver.h:
1271
1272 2011-11-11  Vsevolod Vlasov  <vsevik@chromium.org>
1273
1274         Application cache status indicator gets stuck at DOWNLOADING after a failure
1275         https://bugs.webkit.org/show_bug.cgi?id=60793
1276
1277         Reviewed by Pavel Feldman.
1278
1279         Test: http/tests/inspector/resource-tree/appcache-manifest-with-non-existing-file.html
1280
1281         * inspector/InspectorApplicationCacheAgent.cpp:
1282         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
1283         (WebCore::InspectorApplicationCacheAgent::restore):
1284         (WebCore::InspectorApplicationCacheAgent::enable):
1285         * inspector/InspectorApplicationCacheAgent.h:
1286         * inspector/InspectorController.cpp:
1287         (WebCore::InspectorController::InspectorController):
1288         (WebCore::InspectorController::restoreInspectorStateFromCookie):
1289         * inspector/front-end/ApplicationCacheItemsView.js:
1290         (WebInspector.ApplicationCacheItemsView):
1291         (WebInspector.ApplicationCacheItemsView.prototype.updateStatus):
1292
1293 2011-11-11  Eric Carlson  <eric.carlson@apple.com>
1294
1295         Implement TextTrackList and the textTracks attribute of HTMLMediaElement
1296         https://bugs.webkit.org/show_bug.cgi?id=71123
1297
1298         Reviewed by Sam Weinig.
1299
1300         Test: media/track/track-add-track.html
1301               media/track/tracklist-is-reachable.html
1302
1303         * CMakeLists.txt: Add new files for TextTrackList.
1304         * DerivedSources.cpp: Ditto.
1305         * DerivedSources.make: Ditto.
1306         * DerivedSources.pri: Ditto.
1307         * GNUmakefile.list.am: Ditto.
1308         * Target.pri: Ditto.
1309         * WebCore.gypi: Ditto.
1310         * WebCore.xcodeproj/project.pbxproj: Ditto.
1311         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
1312
1313         * bindings/js/JSTextTrackListCustom.cpp: Added.
1314         (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
1315
1316         * dom/EventTargetFactory.in: Add TextTrackList, conditional on VIDEO_TRACK.
1317
1318         * html/HTMLAudioElement.cpp:
1319         (WebCore::HTMLAudioElement::createForJSConstructor): Update for scheduleLoad change.
1320
1321         * html/HTMLMediaElement.cpp:
1322         (WebCore::HTMLMediaElement::~HTMLMediaElement): Update for m_textTracks change from
1323             generic Vector to TextTrackList.
1324         (WebCore::HTMLMediaElement::attributeChanged): Ditto.
1325         (WebCore::HTMLMediaElement::insertedIntoDocument): Update for scheduleLoad change.
1326         (WebCore::HTMLMediaElement::scheduleLoad): Add a parameter so caller can specify if
1327             the main resource or a text track should be loaded.
1328         (WebCore::HTMLMediaElement::loadTimerFired): Update to allow text track loading.
1329         (WebCore::HTMLMediaElement::loadInternal): Don't call loadTextTracks.
1330         (WebCore::HTMLMediaElement::isSafeToLoadURL): Log when CSP denies load.
1331         (WebCore::HTMLMediaElement::playInternal): Update for scheduleLoad change.
1332         (WebCore::HTMLMediaElement::pauseInternal): Ditto.
1333         (WebCore::HTMLMediaElement::addTrack): Update for m_textTracks change from
1334             generic Vector to TextTrackList.
1335         (WebCore::HTMLMediaElement::addTextTrack): New, add track to m_textTracks and configure.
1336         (WebCore::HTMLMediaElement::configureTextTracks): New, add comments about what this should
1337             do eventually.
1338         (WebCore::HTMLMediaElement::textTracks): New, return TextTrackList.
1339         (WebCore::HTMLMediaElement::trackWasAdded): Bail if runtime feature is not enabled, schedule
1340             asynchronous text track load.
1341         (WebCore::HTMLMediaElement::trackWillBeRemoved): Minor cleanup.
1342         (WebCore::HTMLMediaElement::selectNextSourceChild): Ditto.
1343         (WebCore::HTMLMediaElement::sourceWasAdded): Update for scheduleLoad change.
1344         * html/HTMLMediaElement.h:
1345         * html/HTMLMediaElement.idl: Add textTracks attribute.
1346
1347         * html/HTMLTrackElement.cpp: 
1348         (WebCore::HTMLTrackElement::insertedIntoTree): Use new mediaElement() method.
1349         (WebCore::HTMLTrackElement::willRemove): Ditto.
1350         (WebCore::HTMLTrackElement::attributeChanged): When 'src' is changed, call scheduleLoad
1351             instead of HTMLMediaElement
1352         (WebCore::HTMLTrackElement::isDefault): hasAttribute -> fastHasAttribute.
1353         (WebCore::HTMLTrackElement::track): Allocate track if necessary.
1354         (WebCore::HTMLTrackElement::scheduleLoad): New, tell the track to schedule a load.
1355         (WebCore::HTMLTrackElement::canLoadUrl): New, check security policy to see if it is OK
1356             to load a text track. If so, dispatch 'beforeload' event to give it a chance to disallow
1357             load.
1358         (WebCore::HTMLTrackElement::loadingCompleted): Renamed from textTrackLoadingCompleted.
1359         (WebCore::HTMLTrackElement::textTrackReadyStateChanged): New, TextTrackLoadingClient interface
1360             used to inform parent of TextTrack state changes.
1361         (WebCore::HTMLTrackElement::textTrackModeChanged): Ditto.
1362         (WebCore::HTMLTrackElement::textTrackAddCues): Ditto.
1363         (WebCore::HTMLTrackElement::textTrackRemoveCues): Ditto.
1364         (WebCore::HTMLTrackElement::textTrackAddCue): Ditto.
1365         (WebCore::HTMLTrackElement::textTrackRemoveCue): Ditto.
1366         (WebCore::HTMLTrackElement::mediaElement): New, return parent element.
1367         * html/HTMLTrackElement.h:
1368
1369         * html/LoadableTextTrack.cpp:
1370         (WebCore::LoadableTextTrack::LoadableTextTrack): Initialize new instance variables.
1371         (WebCore::LoadableTextTrack::scheduleLoad): New, prime a timer to kick off loading.
1372         (WebCore::LoadableTextTrack::loadTimerFired): Cancel current load, if any, check to see if
1373             new url is allowed to load, and start new load.
1374         (WebCore::LoadableTextTrack::cueLoadingCompleted): 
1375         * html/LoadableTextTrack.h:
1376         (WebCore::LoadableTextTrackClient::~LoadableTextTrackClient): TextTrackLoadingClient -> LoadableTextTrackClient
1377         (WebCore::LoadableTextTrackClient::canLoadUrl): 
1378         (WebCore::LoadableTextTrackClient::loadingCompleted):
1379         (WebCore::LoadableTextTrack::create):
1380
1381         * html/TextTrack.cpp:
1382         (WebCore::TextTrack::TextTrack): setClient(0) -> clearClient().
1383         * html/TextTrack.h:
1384         (WebCore::TextTrack::clearClient): Renamed from setClient, because it is only used to clear the client pointer.
1385
1386         * html/TextTrackCueList.cpp:
1387         (WebCore::TextTrackCueList::add): Get rid of a compiler warning that breaks the OS X build.
1388
1389         * html/track/TextTrackList.cpp: Added. Implement the TextTrackList object.
1390         (TextTrackList::TextTrackList):
1391         (TextTrackList::~TextTrackList):
1392         (TextTrackList::length):
1393         (TextTrackList::item):
1394         (TextTrackList::append):
1395         (TextTrackList::remove):
1396         (TextTrackList::interfaceName):
1397         (TextTrackList::scheduleAddTrackEvent):
1398         (TextTrackList::asyncEventTimerFired):
1399         * html/track/TextTrackList.h: Added.
1400         (WebCore::TextTrackList::create):
1401         (WebCore::TextTrackList::scriptExecutionContext):
1402         (WebCore::TextTrackList::clearOwner):
1403         (WebCore::TextTrackList::owner):
1404         (WebCore::TextTrackList::refEventTarget):
1405         (WebCore::TextTrackList::derefEventTarget):
1406         (WebCore::TextTrackList::eventTargetData):
1407         (WebCore::TextTrackList::ensureEventTargetData):
1408         * html/track/TextTrackList.idl: Added.
1409
1410         * loader/TextTrackLoader.cpp:
1411         (WebCore::TextTrackLoader::cancelLoad): New, cancel pending or in progress load and delete loader.
1412         (WebCore::TextTrackLoader::notifyFinished): Call cancelLoad.
1413         (WebCore::TextTrackLoader::load): Ditto.
1414         * loader/TextTrackLoader.h:
1415         * page/DOMWindow.idl: Add TextTrackList.
1416
1417 2011-11-11  Pavel Feldman  <pfeldman@google.com>
1418
1419         Web Inspector: reimplement DOM search using no XPath.
1420         https://bugs.webkit.org/show_bug.cgi?id=72125
1421
1422         Reviewed by Yury Semikhatsky.
1423
1424         * inspector/InspectorDOMAgent.cpp:
1425         (WebCore::InspectorDOMAgent::performSearch):
1426         (WebCore::InspectorDOMAgent::buildObjectForNode):
1427         * inspector/InspectorDOMAgent.h:
1428
1429 2011-11-11  Gavin Peters  <gavinp@chromium.org>
1430
1431         Protect Document during error responses
1432         https://bugs.webkit.org/show_bug.cgi?id=72068
1433
1434         Add a Document protector to the error response code handler, just
1435         as exists for other ends of requests.
1436
1437         Reviewed by Nate Chapin.
1438
1439         Test: http/tests/misc/xslt-bad-import.html
1440
1441         * loader/cache/CachedResourceRequest.cpp:
1442         (WebCore::CachedResourceRequest::didReceiveData):
1443
1444 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1445
1446         Unreviewed, rolling out r99979.
1447         http://trac.webkit.org/changeset/99979
1448         https://bugs.webkit.org/show_bug.cgi?id=72136
1449
1450         bad commit message (Requested by gavinp on #webkit).
1451
1452         * loader/cache/CachedResourceRequest.cpp:
1453         (WebCore::CachedResourceRequest::didReceiveData):
1454
1455 2011-11-11  Gavin Peters  <gavinp@chromium.org>
1456
1457         Protect Document during error responses
1458         https://bugs.webkit.org/show_bug.cgi?id=72068
1459
1460         Add a Document protector to the error response code handler, just
1461         as exists for other ends of requests.
1462
1463         Reviewed by Nate Chapin.
1464
1465         Test: http/tests/misc/xslt-bad-import.html
1466
1467         * loader/cache/CachedResourceRequest.cpp:
1468         (WebCore::CachedResourceRequest::didReceiveData):
1469
1470 2011-11-10  Philippe Normand  <pnormand@igalia.com>
1471
1472         [GStreamer] GstCaps and GstPad RefPtr implementation
1473         https://bugs.webkit.org/show_bug.cgi?id=72023
1474
1475         Reviewed by Martin Robinson.
1476
1477         Smart pointer implementations for GstCaps and GstPad and them
1478         in the media player code.
1479
1480         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
1481         (WTF::GstPad):
1482         (WTF::GstCaps):
1483         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
1484         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1485         (WebCore::GStreamerGWorld::enterFullscreen):
1486         (WebCore::GStreamerGWorld::exitFullscreen):
1487         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1488         (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
1489         (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
1490         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1491         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1492         (webkit_web_src_init):
1493         (StreamingClient::didReceiveResponse):
1494
1495 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1496
1497         Unreviewed, rolling out r99964.
1498         http://trac.webkit.org/changeset/99964
1499         https://bugs.webkit.org/show_bug.cgi?id=72124
1500
1501         Broke too many Qt tests (Requested by tronical_ on #webkit).
1502
1503         * Target.pri:
1504         * html/HTMLSelectElement.h:
1505         (WebCore::HTMLSelectElement::usesMenuList):
1506         * platform/qt/QtMobileWebStyle.cpp: Added.
1507         (QtMobileWebStyle::QtMobileWebStyle):
1508         (drawRectangularControlBackground):
1509         (QtMobileWebStyle::drawChecker):
1510         (QtMobileWebStyle::findChecker):
1511         (QtMobileWebStyle::drawRadio):
1512         (QtMobileWebStyle::findRadio):
1513         (QtMobileWebStyle::drawControl):
1514         (QtMobileWebStyle::drawPrimitive):
1515         (QtMobileWebStyle::drawMultipleComboButton):
1516         (QtMobileWebStyle::drawSimpleComboButton):
1517         (QtMobileWebStyle::getButtonImageSize):
1518         (QtMobileWebStyle::findComboButton):
1519         (QtMobileWebStyle::drawComplexControl):
1520         * platform/qt/QtMobileWebStyle.h: Added.
1521         * platform/qt/QtStyleOptionWebComboBox.h:
1522         (WebCore::QtStyleOptionWebComboBox::QtStyleOptionWebComboBox):
1523         (WebCore::QtStyleOptionWebComboBox::checkMultiple):
1524         * platform/qt/RenderThemeQStyle.cpp: Removed.
1525         * platform/qt/RenderThemeQStyle.h: Removed.
1526         * platform/qt/RenderThemeQt.cpp:
1527         (WebCore::initStyleOption):
1528         (WebCore::StylePainter::StylePainter):
1529         (WebCore::StylePainter::init):
1530         (WebCore::StylePainter::~StylePainter):
1531         (WebCore::RenderThemeQt::create):
1532         (WebCore::RenderTheme::themeForPage):
1533         (WebCore::RenderThemeQt::RenderThemeQt):
1534         (WebCore::RenderThemeQt::~RenderThemeQt):
1535         (WebCore::RenderThemeQt::isControlStyled):
1536         (WebCore::RenderThemeQt::popupInternalPaddingBottom):
1537         (WebCore::RenderThemeQt::fallbackStyle):
1538         (WebCore::RenderThemeQt::qStyle):
1539         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
1540         (WebCore::RenderThemeQt::findFrameLineWidth):
1541         (WebCore::inflateButtonRect):
1542         (WebCore::RenderThemeQt::adjustRepaintRect):
1543         (WebCore::RenderThemeQt::minimumMenuListSize):
1544         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
1545         (WebCore::RenderThemeQt::adjustButtonStyle):
1546         (WebCore::RenderThemeQt::setButtonPadding):
1547         (WebCore::RenderThemeQt::paintButton):
1548         (WebCore::RenderThemeQt::adjustTextFieldStyle):
1549         (WebCore::RenderThemeQt::paintTextField):
1550         (WebCore::RenderThemeQt::adjustMenuListStyle):
1551         (WebCore::RenderThemeQt::setPopupPadding):
1552         (WebCore::RenderThemeQt::paintMenuList):
1553         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
1554         (WebCore::RenderThemeQt::paintMenuListButton):
1555         (WebCore::RenderThemeQt::animationDurationForProgressBar):
1556         (WebCore::RenderThemeQt::paintProgressBar):
1557         (WebCore::RenderThemeQt::paintSliderTrack):
1558         (WebCore::RenderThemeQt::paintSliderThumb):
1559         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
1560         (WebCore::RenderThemeQt::paintInnerSpinButton):
1561         (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
1562         (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
1563         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
1564         (WebCore::RenderThemeQt::paintMediaMuteButton):
1565         (WebCore::RenderThemeQt::paintMediaPlayButton):
1566         (WebCore::RenderThemeQt::paintMediaCurrentTime):
1567         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
1568         (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
1569         (WebCore::RenderThemeQt::paintMediaSliderTrack):
1570         (WebCore::RenderThemeQt::paintMediaSliderThumb):
1571         (WebCore::RenderThemeQt::adjustSliderThumbSize):
1572         (WebCore::RenderThemeQt::caretBlinkInterval):
1573         (WebCore::RenderThemeQt::fileListNameForWidth):
1574         * platform/qt/RenderThemeQt.h:
1575         (WebCore::StylePainter::isValid):
1576         (WebCore::StylePainter::drawPrimitive):
1577         (WebCore::StylePainter::drawControl):
1578         (WebCore::StylePainter::drawComplexControl):
1579         * platform/qt/RenderThemeQtMobile.cpp: Removed.
1580         * platform/qt/RenderThemeQtMobile.h: Removed.
1581         * platform/qt/ScrollbarThemeQt.cpp:
1582         (WebCore::ScrollbarTheme::nativeTheme):
1583         (WebCore::ScrollbarThemeQt::paint):
1584         (WebCore::ScrollbarThemeQt::scrollbarThickness):
1585         (WebCore::ScrollbarThemeQt::paintScrollCorner):
1586
1587 2011-11-11  Pavel Feldman  <pfeldman@google.com>
1588
1589         Not reviewed: fix Snow Leopard build.
1590
1591         * inspector/InspectorDOMAgent.cpp:
1592         (WebCore::InspectorDOMAgent::performSearch):
1593
1594 2011-11-11  Pavel Feldman  <pfeldman@google.com>
1595
1596         Web Inspector: make search in DOM panel scale.
1597         https://bugs.webkit.org/show_bug.cgi?id=72118
1598
1599         Reviewed by Yury Semikhatsky.
1600
1601         * inspector/Inspector.json:
1602         * inspector/InspectorDOMAgent.cpp:
1603         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1604         (WebCore::InspectorDOMAgent::reset):
1605         (WebCore::InspectorDOMAgent::performSearch):
1606         (WebCore::InspectorDOMAgent::getSearchResults):
1607         (WebCore::InspectorDOMAgent::discardSearchResults):
1608         * inspector/InspectorDOMAgent.h:
1609         * inspector/front-end/DOMAgent.js:
1610         (WebInspector.DOMAgent.prototype.performSearch.callback):
1611         (WebInspector.DOMAgent.prototype.performSearch):
1612         (WebInspector.DOMAgent.prototype.searchResult.mycallback):
1613         (WebInspector.DOMAgent.prototype.searchResult):
1614         (WebInspector.DOMAgent.prototype.cancelSearch):
1615         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
1616         * inspector/front-end/ElementsPanel.js:
1617         (WebInspector.ElementsPanel.prototype.searchCanceled):
1618         (WebInspector.ElementsPanel.prototype.performSearch.resultCountCallback):
1619         (WebInspector.ElementsPanel.prototype.performSearch):
1620         (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
1621         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
1622         (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult.):
1623         (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
1624         (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
1625         * inspector/front-end/NetworkPanel.js:
1626         (WebInspector.NetworkLogView.prototype._highlightNthMatchedResource):
1627         * inspector/front-end/ResourcesPanel.js:
1628         (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
1629         (WebInspector.ResourcesPanel.prototype._showSearchResult):
1630         * inspector/front-end/ScriptsPanel.js:
1631         (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
1632         (WebInspector.ScriptsPanel.prototype.performSearch):
1633         (WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
1634         (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
1635         * inspector/front-end/SearchController.js:
1636         (WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):
1637
1638 2011-11-11  Pierre Rossi  <pierre.rossi@gmail.com>
1639
1640         [Qt] Remove the QStyle dependency in Qt's mobile theme
1641         https://bugs.webkit.org/show_bug.cgi?id=67773
1642
1643         This refactoring splits up RenderThemeQt with two
1644         subclasses, a QStyle-backed one, and a Mobile version
1645         that uses the old mobile theme for now.
1646
1647         QStyle availability is detected at compile time, and
1648         its use is determined by the QT_WEBKIT_USE_MOBILE_THEME
1649         environment variable.
1650
1651         Reviewed by Simon Hausmann.
1652
1653         Covered by the existing tests.
1654
1655         * Target.pri:
1656         * platform/qt/QtMobileWebStyle.cpp: Removed. The relevant logic
1657         now lives within RenderThemeQtMobile.
1658         * platform/qt/QtMobileWebStyle.h: Removed. Ditto.
1659         * platform/qt/RenderThemeQStyle.cpp: Added.
1660         (WebCore::initStyleOption):
1661         (WebCore::RenderThemeQStyle::getStylePainter):
1662         (WebCore::StylePainterQStyle::StylePainterQStyle):
1663         (WebCore::StylePainterQStyle::init):
1664         (WebCore::RenderThemeQStyle::create):
1665         (WebCore::RenderThemeQStyle::RenderThemeQStyle):
1666         (WebCore::RenderThemeQStyle::~RenderThemeQStyle):
1667         (WebCore::RenderThemeQStyle::fallbackStyle):
1668         (WebCore::RenderThemeQStyle::qStyle):
1669         (WebCore::RenderThemeQStyle::findFrameLineWidth):
1670         (WebCore::RenderThemeQStyle::inflateButtonRect):
1671         (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
1672         (WebCore::RenderThemeQStyle::adjustButtonStyle):
1673         (WebCore::RenderThemeQStyle::setButtonPadding):
1674         (WebCore::RenderThemeQStyle::paintButton):
1675         (WebCore::RenderThemeQStyle::adjustTextFieldStyle):
1676         (WebCore::RenderThemeQStyle::paintTextField):
1677         (WebCore::RenderThemeQStyle::adjustTextAreaStyle):
1678         (WebCore::RenderThemeQStyle::paintTextArea):
1679         (WebCore::RenderThemeQStyle::setPopupPadding):
1680         (WebCore::RenderThemeQStyle::paintMenuList):
1681         (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
1682         (WebCore::RenderThemeQStyle::paintMenuListButton):
1683         (WebCore::RenderThemeQStyle::animationDurationForProgressBar):
1684         (WebCore::RenderThemeQStyle::paintProgressBar):
1685         (WebCore::RenderThemeQStyle::paintSliderTrack):
1686         (WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
1687         (WebCore::RenderThemeQStyle::paintSliderThumb):
1688         (WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
1689         (WebCore::RenderThemeQStyle::paintSearchField):
1690         (WebCore::RenderThemeQStyle::adjustSearchFieldStyle):
1691         (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
1692         (WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
1693         (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
1694         (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
1695         (WebCore::RenderThemeQStyle::paintInnerSpinButton):
1696         (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
1697         (WebCore::RenderThemeQStyle::adjustSliderThumbSize):
1698         * platform/qt/RenderThemeQStyle.h: Added.
1699         (WebCore::StylePainterQStyle::isValid):
1700         (WebCore::StylePainterQStyle::drawPrimitive):
1701         (WebCore::StylePainterQStyle::drawControl):
1702         (WebCore::StylePainterQStyle::drawComplexControl):
1703         * platform/qt/RenderThemeQt.cpp:
1704         (WebCore::RenderThemeQt::RenderThemeQt):
1705         (WebCore::RenderThemeQt::isControlStyled):
1706         (WebCore::RenderThemeQt::inflateButtonRect):
1707         (WebCore::RenderThemeQt::adjustRepaintRect):
1708         (WebCore::RenderThemeQt::minimumMenuListSize):
1709         (WebCore::RenderThemeQt::adjustTextFieldStyle):
1710         (WebCore::RenderThemeQt::adjustMenuListStyle):
1711         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
1712         (WebCore::RenderThemeQt::adjustProgressBarStyle):
1713         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
1714         (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
1715         (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
1716         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
1717         (WebCore::RenderThemeQt::paintMediaMuteButton):
1718         (WebCore::RenderThemeQt::paintMediaPlayButton):
1719         (WebCore::RenderThemeQt::paintMediaCurrentTime):
1720         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
1721         (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
1722         (WebCore::RenderThemeQt::paintMediaSliderTrack):
1723         (WebCore::RenderThemeQt::paintMediaSliderThumb):
1724         (WebCore::RenderThemeQt::adjustSliderThumbSize):
1725         (WebCore::RenderThemeQt::caretBlinkInterval):
1726         (WebCore::RenderThemeQt::fileListNameForWidth):
1727         (WebCore::StylePainter::StylePainter):
1728         (WebCore::StylePainter::init):
1729         (WebCore::StylePainter::~StylePainter):
1730         * platform/qt/RenderThemeQt.h:
1731         (WebCore::RenderThemeQt::useMobileTheme):
1732         (WebCore::StylePainter::isValid):
1733         * platform/qt/RenderThemeQtMobile.cpp: Added.
1734         (WebCore::drawRectangularControlBackground):
1735         (WebCore::RenderThemeQtMobile::getStylePainter):
1736         (WebCore::StylePainterMobile::StylePainterMobile):
1737         (WebCore::StylePainterMobile::drawChecker):
1738         (WebCore::StylePainterMobile::findChecker):
1739         (WebCore::StylePainterMobile::drawRadio):
1740         (WebCore::StylePainterMobile::findRadio):
1741         (WebCore::StylePainterMobile::drawMultipleComboButton):
1742         (WebCore::StylePainterMobile::drawSimpleComboButton):
1743         (WebCore::StylePainterMobile::getButtonImageSize):
1744         (WebCore::StylePainterMobile::findComboButton):
1745         (WebCore::StylePainterMobile::drawLineEdit):
1746         (WebCore::StylePainterMobile::drawCheckBox):
1747         (WebCore::StylePainterMobile::drawRadioButton):
1748         (WebCore::StylePainterMobile::drawPushButton):
1749         (WebCore::StylePainterMobile::drawComboBox):
1750         (WebCore::RenderThemeQtMobile::create):
1751         (WebCore::RenderTheme::themeForPage):
1752         (WebCore::RenderThemeQtMobile::RenderThemeQtMobile):
1753         (WebCore::RenderThemeQtMobile::~RenderThemeQtMobile):
1754         (WebCore::RenderThemeQtMobile::isControlStyled):
1755         (WebCore::RenderThemeQtMobile::popupInternalPaddingBottom):
1756         (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
1757         (WebCore::RenderThemeQtMobile::adjustButtonStyle):
1758         (WebCore::RenderThemeQtMobile::setButtonPadding):
1759         (WebCore::RenderThemeQtMobile::paintButton):
1760         (WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
1761         (WebCore::RenderThemeQtMobile::paintTextField):
1762         (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
1763         (WebCore::RenderThemeQtMobile::setPopupPadding):
1764         (WebCore::RenderThemeQtMobile::paintMenuList):
1765         (WebCore::RenderThemeQtMobile::paintMenuListButton):
1766         (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
1767         (WebCore::RenderThemeQtMobile::paintProgressBar):
1768         (WebCore::RenderThemeQtMobile::paintSliderTrack):
1769         (WebCore::RenderThemeQtMobile::paintSliderThumb):
1770         (WebCore::RenderThemeQtMobile::checkMultiple):
1771         (WebCore::RenderThemeQtMobile::setPaletteFromPageClientIfExists):
1772         (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
1773         * platform/qt/RenderThemeQtMobile.h: Added.
1774         * platform/qt/ScrollbarThemeQt.cpp:
1775         (WebCore::ScrollbarTheme::nativeTheme):
1776         (WebCore::ScrollbarThemeQt::paint):
1777         (WebCore::ScrollbarThemeQt::scrollbarThickness):
1778         (WebCore::ScrollbarThemeQt::paintScrollCorner):
1779
1780 2011-11-11  Alexander Pavlov  <apavlov@chromium.org>
1781
1782         Web Inspector: Option to configure indentation of pretty-printed Javascript
1783         https://bugs.webkit.org/show_bug.cgi?id=72119
1784
1785         Reviewed by Pavel Feldman.
1786
1787         Drive-by fix for field names and added indent caching, as suggested by Pavel Podivilov.
1788
1789         * inspector/front-end/JavaScriptFormatter.js:
1790         (FormattedContentBuilder):
1791         (FormattedContentBuilder.prototype.increaseNestingLevel):
1792         (FormattedContentBuilder.prototype.decreaseNestingLevel):
1793         (FormattedContentBuilder.prototype._addIndent):
1794         * inspector/front-end/ScriptFormatter.js:
1795         * inspector/front-end/ScriptFormatterWorker.js:
1796         (onmessage):
1797         (formatScript):
1798         (HTMLScriptFormatter):
1799         (HTMLScriptFormatter.prototype.scriptEnded):
1800
1801 2011-11-11  Andreas Kling  <kling@webkit.org>
1802
1803         Unreviewed Chromium build fix after r99958.
1804
1805         * bindings/scripts/CodeGeneratorV8.pm:
1806         (GenerateImplementationCustomCall):o
1807
1808             Remove hack that forced HTMLOptionsCollection to have a custom
1809             callAsFunctionCallback().
1810
1811 2011-11-11  Mike Lewis <mikelikespie@gmail.com>
1812
1813         Web Inspector: DevTools InspectorStubs.js incorrectly converting responses to arguments.
1814         https://bugs.webkit.org/show_bug.cgi?id=72096
1815
1816         JSON.parse doesn't garantee the order of keys.
1817         We have to explicitly order the results according to Inspector.json spec.
1818
1819         Reviewed by Pavel Feldman.
1820
1821         * inspector/CodeGeneratorInspector.py:
1822
1823 2011-11-10  Andreas Kling  <kling@webkit.org>
1824
1825         Remove ability to call HTMLCollections in V8 bindings as well.
1826         <http://webkit.org/b/72045>
1827
1828         Reviewed by Anders Carlsson.
1829
1830         Follow the JSC bindings and remove the ability to call HTMLCollections
1831         in the V8 bindings (excluding HTMLAllCollection.)
1832
1833         * bindings/scripts/CodeGeneratorV8.pm:
1834         (GenerateHeaderCustomCall):
1835         (GenerateImplementationCustomCall):
1836         * dom/NodeList.idl:
1837         * html/HTMLCollection.idl:
1838
1839             Remove the V8CustomCall attribute as it's no longer needed.
1840
1841         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1842         * bindings/v8/custom/V8NodeListCustom.cpp:
1843
1844 2011-11-11  Alexander Pavlov  <apavlov@chromium.org>
1845
1846         Web Inspector: Interactive color box for gradients in CSS property values
1847         https://bugs.webkit.org/show_bug.cgi?id=72112
1848
1849         Reviewed by Yury Semikhatsky.
1850
1851         Add "background-image" to the list of color-aware properties (may contain gradient definition).
1852
1853         * inspector/front-end/CSSKeywordCompletions.js:
1854
1855 2011-11-11  Yury Semikhatsky  <yurys@chromium.org>
1856
1857         Web Inspector: [chromium] list dedicated workers in case inspector opened post-worker creation.
1858         https://bugs.webkit.org/show_bug.cgi?id=72020
1859
1860         Collect information about dedicated workers even when inspector is closed. This
1861         way we can list all dedicated workers if the front-end opens later.
1862
1863         Reviewed by Pavel Feldman.
1864
1865         Test: http/tests/inspector-enabled/dedicated-workers-list.html
1866
1867         * inspector/InspectorInstrumentation.h:
1868         (WebCore::InspectorInstrumentation::didStartWorkerContext):
1869         * inspector/InspectorWorkerAgent.cpp:
1870         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
1871         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
1872         (WebCore::InspectorWorkerAgent::setFrontend):
1873         (WebCore::InspectorWorkerAgent::restore):
1874         (WebCore::InspectorWorkerAgent::clearFrontend):
1875         (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
1876         (WebCore::InspectorWorkerAgent::didStartWorkerContext):
1877         (WebCore::InspectorWorkerAgent::workerContextTerminated):
1878         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
1879         (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
1880         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
1881         * inspector/InspectorWorkerAgent.h:
1882
1883 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1884
1885         Unreviewed, rolling out r99950.
1886         http://trac.webkit.org/changeset/99950
1887         https://bugs.webkit.org/show_bug.cgi?id=72117
1888
1889         "Landed wrong patch by mistake" (Requested by yurys on
1890         #webkit).
1891
1892         * bindings/js/JSInjectedScriptHostCustom.cpp:
1893         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1894         * inspector/InjectedScript.cpp:
1895         * inspector/InjectedScript.h:
1896         * inspector/InjectedScriptHost.idl:
1897         * inspector/InjectedScriptSource.js:
1898         * inspector/Inspector.json:
1899         * inspector/InspectorDebuggerAgent.cpp:
1900         * inspector/InspectorDebuggerAgent.h:
1901
1902 2011-11-10  Yury Semikhatsky  <yurys@chromium.org>
1903
1904         Web Inspector: function remote objetct should provide access to function position in the script
1905         https://bugs.webkit.org/show_bug.cgi?id=71808
1906
1907         Added Debugger.getFunctionLocation command for resolving function location including
1908         start line, column and script id.
1909
1910         Reviewed by Pavel Feldman.
1911
1912         Test: inspector/debugger/function-location.html
1913
1914         * bindings/js/JSInjectedScriptHostCustom.cpp:
1915         (WebCore::JSInjectedScriptHost::functionLocation):
1916         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1917         (WebCore::V8InjectedScriptHost::functionLocationCallback):
1918         * inspector/InjectedScript.cpp:
1919         (WebCore::InjectedScript::getFunctionLocation):
1920         * inspector/InjectedScript.h:
1921         * inspector/InjectedScriptHost.idl:
1922         * inspector/InjectedScriptSource.js:
1923         (.):
1924         * inspector/Inspector.json:
1925         * inspector/InspectorDebuggerAgent.cpp:
1926         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
1927         * inspector/InspectorDebuggerAgent.h:
1928
1929 2011-11-11  Pavel Feldman  <pfeldman@google.com>
1930
1931         Not reviewed: roll out changes to InspectorDOMAgent that squeezed into 99933.
1932
1933         * inspector/InspectorDOMAgent.cpp:
1934         (WebCore::MatchJob::MatchJob):
1935         (WebCore::InspectorDOMAgent::onMatchJobsTimer):
1936
1937 2011-11-11  Alexander Pavlov  <apavlov@chromium.org>
1938
1939         Web Inspector: [Metrics] Editor is committed when scrolling a content box dimension up/down for the first time
1940         https://bugs.webkit.org/show_bug.cgi?id=72108
1941
1942         Reviewed by Pavel Feldman.
1943
1944         * inspector/front-end/MetricsSidebarPane.js:
1945         (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
1946
1947 2011-11-11  Alpha Lam  <hclam@chromium.org>
1948
1949         [chromium] scrolling is broken with compositor thread
1950         https://bugs.webkit.org/show_bug.cgi?id=72059
1951
1952         Reviewed by James Robinson.
1953
1954         No new test. Existing test CCLayerTreeHostImplTest.scrollDeltaRepeatedScrolls checks scroll deltas are applied
1955         on the right layer.
1956
1957         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1958         (WebCore::CCLayerTreeHostImpl::scrollLayer):
1959         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1960         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
1961         Instead of calling on the root layer which doesn't have scroll delta applied. Change this to scrollLayer()
1962         which actually has scroll delta.
1963
1964 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1965
1966         Unreviewed, rolling out r99826.
1967         http://trac.webkit.org/changeset/99826
1968         https://bugs.webkit.org/show_bug.cgi?id=72109
1969
1970         "Likely causing test flakiness" (Requested by tonyg-cr on
1971         #webkit).
1972
1973         * loader/DocumentLoader.cpp:
1974         (WebCore::DocumentLoader::scheduleArchiveLoad):
1975
1976 2011-11-11  Nikolas Zimmermann  <nzimmermann@rim.com>
1977
1978         Zooming in SVGs in <object> is flakey
1979         https://bugs.webkit.org/show_bug.cgi?id=71673
1980
1981         Reviewed by Zoltan Herczeg.
1982
1983         It turns out zooming in SVGs in <object> wasn't flakey in Safari at all, only in DRT/Mac. In Safari it failed 100% reproducable.
1984         Scrollbars would always appear when zooming in a HTML document, containing an embedded SVG by <object>/<embed>/<iframe>, even
1985         though the content would visually fit perfectly, also it zoomed properly. Reloading would make the scrollbars disappear again.
1986
1987         If scrollbars should be created for a FrameView or not, is determined by ScrollView::updateScrollbars(), by comparing the 
1988         visible size of the scroll view against the contents size. The contents size is propagated to the ScrollView, by
1989         FrameView::adjustViewSize(), which is called during FrameView::layout(). The size thats propagated is RenderView::documentRect().
1990         RenderView::documentRect() returns a writing-mode aware layoutOverflowRect(), computed by RenderBox::layoutOverflowRectForPropagation.
1991
1992         If overflow is "visible", layoutOverflowRect() will return a union of the borderBoxRect() and the layoutOverflowRect(), which
1993         may exceed the visible size of the RenderView. For standalone SVG documents, the default value for the outermost <svg> renderer is
1994         "visible". When embedding SVGs through <object>s into a host document, the same code path is taken, and RenderView::documentRect()
1995         of the embedded SVG document will always return a union of the borderBoxREct() and the layoutOverflowRect().
1996
1997         If that happens while zooming in a HTML document containing a SVG by <object>, scrollbars are created.
1998         By ensuring that overflow is treated as hidden, which is what Opera does (and makes sense!) this can't happen.
1999
2000         The fix is to treat embedded SVGs as they would carry overflow="hidden" on the outermost <svg> renderer. That also makes
2001         sense as the embedded SVG cant paint outside an external "frame rect" thats given by the FrameView, effectively rendering
2002         as overflow "hidden" already.
2003
2004         The fix is realized, by altering the overflow x/y values that are used in FrameView::applyOverflowToViewport(). Previously
2005         we never called that method for SVG, which was fine. Now we always call applyOverflowToViewport(), but only do something
2006         if the FrameView of the SVG is embedded in another document. If so, we force overflow to hidden.
2007
2008         That fixes all zooming+<object> related flakiness seen on the chromium bots, most noticeable, without other side effects.
2009         All svg/overflow tests, still work as expected.
2010
2011         Test: svg/zoom/page/zoom-svg-as-object.html
2012
2013         * page/Frame.cpp:
2014         (WebCore::Frame::setPageAndTextZoomFactors): Remove unnecessary setNeedsLayout() call in SVG builds.
2015         * page/FrameView.cpp:
2016         (WebCore::FrameView::applyOverflowToViewport): Always enforce overflow=hidden, when embedding SVGs through object/embed/iframe.
2017                                                        Otherwise scrollbars will appear, even though the contents would fit without them.
2018         (WebCore::FrameView::calculateScrollbarModesForLayout): Always call applyOverflowToViewport, even for RenderSVGRoot. It only has
2019                                                                 an effect though, when the FrameView of the SVG is embedded through <object>/etc.
2020         (WebCore::FrameView::layout): Remove unnecessary setChildNeedsLayout() call.
2021         * rendering/svg/RenderSVGRoot.cpp:
2022         (WebCore::RenderSVGRoot::isEmbeddedThroughFrameContainingSVGDocument): Fix this function, its meaning was reversed before!
2023         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Fix logical error, by negating the result of isEmbeddedThroughFrameContainingSVGDocument.
2024         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
2025         * rendering/svg/RenderSVGRoot.h: Expose isEmbeddedThroughFrameContainingSVGDocument.
2026
2027 2011-11-11  Nikolas Zimmermann  <nzimmermann@rim.com>
2028
2029         Not reviewed. Unbreak my 32bit SL build.
2030
2031         * rendering/RenderLayer.cpp:
2032         (WebCore::RenderLayer::updateOrRemoveFilterEffect): Use narrowPrecisionToFloat() to convert float -> double.
2033
2034 2011-10-28  Philippe Normand  <pnormand@igalia.com>
2035
2036         HRTF Database consolidation
2037         https://bugs.webkit.org/show_bug.cgi?id=69703
2038
2039         Reviewed by Kenneth Russell.
2040
2041         Access to the consolidated parts of the HRTF database by segmented
2042         chunks. A concatenated Composite HRTF database is provided in
2043         Composite.wav. Additionnally a new build step that concatenates
2044         the platform/audio/resources/ files into one (sox can be used for
2045         this) can be configured for specific ports.
2046
2047         * platform/audio/HRTFDatabase.h:
2048         * platform/audio/HRTFElevation.cpp:
2049         (WebCore::getConcatenatedImpulseResponsesForSubject):
2050         (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
2051         * platform/audio/resources/Composite.wav: Added.
2052
2053 2011-11-10  Pavel Feldman  <pfeldman@google.com>
2054
2055         Web Inspector: provide an id to the root inspector element for third party UA styling.
2056         https://bugs.webkit.org/show_bug.cgi?id=72094
2057
2058         Reviewed by Yury Semikhatsky.
2059
2060         * inspector/front-end/inspector.html:
2061
2062 2011-11-10  Andy Estes  <aestes@apple.com>
2063
2064         WebKitCSSShaderValue.h is not a member of the WebCore target
2065         https://bugs.webkit.org/show_bug.cgi?id=72093
2066
2067         Reviewed by Dan Bernstein.
2068
2069         * WebCore.xcodeproj/project.pbxproj: Make WebKitCSSShaderValue.h a
2070         member of the WebCore target, and make it a project header.
2071
2072 2011-11-10  Dan Bernstein  <mitz@apple.com>
2073
2074         Disabling assertions breaks the debug build
2075         https://bugs.webkit.org/show_bug.cgi?id=72091
2076
2077         Reviewed by Geoff Garen.
2078
2079         * platform/graphics/BitmapImage.cpp:
2080         (WebCore::BitmapImage::didDecodeProperties): Guarded the definition of local variables that are
2081         only used in an assertion correctly.
2082         * platform/graphics/gpu/TilingData.h: Changed ASSERT to ASSERT_UNUSED.
2083         (WebCore::TilingData::assertTile):
2084         * rendering/RenderInline.cpp:
2085         (WebCore::RenderInline::willBeDestroyed): Guarded the definition of a local variable that is
2086         only used in an assertion correctly.
2087         * rendering/svg/RenderSVGResourceClipper.cpp:
2088         (WebCore::RenderSVGResourceClipper::applyResource): Changed ASSERT to ASSERT_UNUSED.
2089         * rendering/svg/RenderSVGResourceFilter.cpp:
2090         (WebCore::RenderSVGResourceFilter::applyResource): Changed ASSERT to ASSERT_UNUSED.
2091         (WebCore::RenderSVGResourceFilter::postApplyResource): Changed ASSERT to ASSERT_UNUSED.
2092         * rendering/svg/RenderSVGResourceMasker.cpp:
2093         (WebCore::RenderSVGResourceMasker::applyResource): Changed ASSERT to ASSERT_UNUSED.
2094
2095 2011-11-10  Daniel Cheng  <dcheng@chromium.org>
2096
2097         [chromium] Add plumbing for JS to write to clipboard in copy/cut events.
2098         https://bugs.webkit.org/show_bug.cgi?id=71414
2099
2100         Reviewed by Darin Fisher.
2101
2102         No new tests since no new functionality enabled yet.
2103
2104         * platform/chromium/PasteboardChromium.cpp:
2105         (WebCore::Pasteboard::writeClipboard):
2106         * platform/chromium/PlatformSupport.h:
2107
2108 2011-11-10  Daniel Cheng  <dcheng@chromium.org>
2109
2110         Atomically update the system clipboard for copy/cut events
2111         https://bugs.webkit.org/show_bug.cgi?id=40515
2112
2113         Reviewed by David Levin.
2114
2115         This change consolidates the system pasteboard mutation logic into dispatchCPPEvent() rather
2116         than having it scattered throughout tryDHTMLCopy/tryDHTMLCut and the various Clipboard*
2117         classes. This allows us to ensure that the system pasteboard remains in a consistent state
2118         even if there's an exception thrown during event handling, and it also lays the ground work
2119         for allowing pages to prevent copy/cut without causing the system pasteboard to be cleared.
2120
2121         No new tests, since any layout test would be flaky since it would depend on and affect
2122         global system state.
2123
2124         * editing/Editor.cpp:
2125         (WebCore::Editor::tryDHTMLCopy): Move Pasteboard::clear() call to dispatchCPPEvent().
2126         (WebCore::Editor::tryDHTMLCut): Ditto.
2127         (WebCore::Editor::dispatchCPPEvent):
2128         Only persist Clipboard mutations to the system pasteboard if the event was dispatched
2129         successfully and default processing was prevented.
2130         * editing/mac/EditorMac.mm:
2131         (WebCore::Editor::newGeneralClipboard):
2132         When creating a Clipboard for copy/cut, back it with a unique instance of NSPasteboard to
2133         buffer pasteboard mutations.
2134         * platform/Pasteboard.h:
2135         * platform/chromium/PasteboardChromium.cpp:
2136         (WebCore::Pasteboard::writeClipboard):
2137         * platform/efl/PasteboardEfl.cpp:
2138         (WebCore::Pasteboard::writeClipboard):
2139         * platform/gtk/ClipboardGtk.cpp: Moved pasteboard writeback to PasteboardGtk.
2140         (WebCore::ClipboardGtk::setData):
2141         * platform/gtk/ClipboardGtk.h:
2142         (WebCore::ClipboardGtk::clipboard):
2143         * platform/gtk/PasteboardGtk.cpp:
2144         (WebCore::Pasteboard::writeClipboard):
2145         * platform/mac/PasteboardMac.mm:
2146         (WebCore::Pasteboard::writeClipboard):
2147         Implement logic to flush data from temporary NSPasteboard to system pasteboard.
2148         * platform/gtk/ClipboardGtk.cpp: Moved pasteboard writeback to PasteboardQt.
2149         (WebCore::ClipboardGtk::setData):
2150         * platform/qt/PasteboardQt.cpp:
2151         (WebCore::Pasteboard::writeClipboard):
2152         * platform/win/PasteboardWin.cpp:
2153         (WebCore::Pasteboard::writeClipboard):
2154         * platform/wince/PasteboardWinCE.cpp:
2155         (WebCore::Pasteboard::writeClipboard):
2156         * platform/wx/PasteboardWx.cpp:
2157         (WebCore::Pasteboard::writeClipboard):
2158
2159 2011-11-10  Julien Chaffraix  <jchaffraix@webkit.org>
2160
2161         RenderTableSection's recalcCell logic is doing too much work
2162         https://bugs.webkit.org/show_bug.cgi?id=71986
2163
2164         Reviewed by Darin Adler.
2165
2166         No change in behavior expected so no test.
2167
2168         r98738 and r98980 missed the point that Vector::clear() does not touch
2169         the internal buffer. Thus calling clear() would keep the memory and properly
2170         reset the size().
2171
2172         Due to how the code worked, after r98980 the code would end up resetting some
2173         of RowStruct field twice: once when growing and the other one when calling
2174         fillRowsWithDefaultStartingAtPosition.
2175
2176         This change make the code use Vector::clear and simplified the recalcCells
2177         logic knowing that growing the Vector will properly initialize most of the
2178         RowStruct fields (with RowStruct constructor).
2179
2180         * rendering/RenderTableSection.cpp:
2181         (WebCore::RenderTableSection::addChild):
2182         (WebCore::RenderTableSection::addCell):
2183         Updated after ensureRows signature change.
2184
2185         (WebCore::RenderTableSection::ensureRows):
2186         Removed the overflow check as it was making some assumption as to how the
2187         Vector worked. If we want to implement a limit, we may do it differently.
2188         Also inlined the part of fillRowsWithDefaultStartingAtPosition that grows
2189         the columns to match our current representation. The rest of the function's
2190         initialization is handled by the constructor already.
2191
2192         (WebCore::RenderTableSection::recalcCells):
2193         Use clear() as it keeps the buffer and just resets the size. Also shrinkToFit
2194         at the end as we may have lost some rows.
2195
2196         * rendering/RenderTableSection.h:
2197         (WebCore::RenderTableSection::CellStruct::CellStruct):
2198         Fixed the style of the constructor.
2199
2200         (WebCore::RenderTableSection::RowStruct::RowStruct):
2201         Added an explicit constructor (which is equivalent to the default one)
2202         but underlines what we expect.
2203
2204 2011-11-10  Enrica Casucci  <enrica@apple.com>
2205
2206         ASSERT when outdenting styled line break.
2207         https://bugs.webkit.org/show_bug.cgi?id=72069
2208         <rdar://problem/10429739>
2209
2210         Reviewed by Ryosuke Niwa.
2211
2212         When outdenting a line break that has some inline style, we don't consider
2213         the enclosing elements that provide the style.
2214         This causes the splitting to occur in the wrong position,
2215         triggering the assert.
2216          
2217         Test: editing/execCommand/outdent-break-with-style.html
2218
2219         * editing/IndentOutdentCommand.cpp:
2220         (WebCore::IndentOutdentCommand::outdentParagraph): The fix consists
2221         in choosing the highest inline ancestor as splitting point.
2222         * editing/htmlediting.cpp:
2223         (WebCore::isInline): Added.
2224         * editing/htmlediting.h: Added isInline.
2225
2226 2011-11-10  Dean Jackson  <dino@apple.com>
2227
2228         Remove effectBoundingBoxMode from CSS Filters
2229         https://bugs.webkit.org/show_bug.cgi?id=72058
2230
2231         Reviewed by Simon Fraser.
2232
2233         As suggested by Nikolas, we don't need this virtual method any more.
2234
2235         * rendering/FilterEffectRenderer.h:
2236
2237 2011-11-10  David Hyatt  <hyatt@apple.com>
2238
2239         https://bugs.webkit.org/show_bug.cgi?id=72060
2240         
2241         [CSS Line Grid] Add support for the line-grid-snap property to control snapping to the nearest
2242         enclosing grid.
2243
2244         Reviewed by Dan Bernstein.
2245
2246         Added fast/line-grid/line-grid-snap-parsing.html.
2247
2248         * css/CSSComputedStyleDeclaration.cpp:
2249         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2250         * css/CSSParser.cpp:
2251         (WebCore::CSSParser::parseValue):
2252         * css/CSSPrimitiveValueMappings.h:
2253         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2254         (WebCore::CSSPrimitiveValue::operator LineGridSnap):
2255         * css/CSSProperty.cpp:
2256         (WebCore::CSSProperty::isInheritedProperty):
2257         * css/CSSPropertyNames.in:
2258         * css/CSSStyleSelector.cpp:
2259         (WebCore::CSSStyleSelector::applyProperty):
2260         * css/CSSValueKeywords.in:
2261         * rendering/style/RenderStyle.cpp:
2262         (WebCore::RenderStyle::diff):
2263         * rendering/style/RenderStyle.h:
2264         (WebCore::InheritedFlags::lineGridSnap):
2265         (WebCore::InheritedFlags::setLineGridSnap):
2266         (WebCore::InheritedFlags::initialLineGridSnap):
2267         * rendering/style/RenderStyleConstants.h:
2268         * rendering/style/StyleRareInheritedData.cpp:
2269         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2270         (WebCore::StyleRareInheritedData::operator==):
2271         * rendering/style/StyleRareInheritedData.h:
2272
2273 2011-11-10  Kentaro Hara  <haraken@chromium.org>
2274
2275         CodeGeneratorV8.pm can generate Event constructors
2276         https://bugs.webkit.org/show_bug.cgi?id=72055
2277
2278         Reviewed by Adam Barth.
2279
2280         This patch makes CodeGeneratorV8.pm generate Event constructors
2281         and replaces a custom constructor of Event with the generated one.
2282         After this patch is landed without regression,
2283         I will replace custom constructors of all other Events.
2284         This patch introduces two new IDLs:
2285
2286         - [ConstructorTemplate=Event] IDL indicates that CodeGenerator should
2287         generate an Event constructor.
2288         - [InitializedByConstructor] IDL on an attribute indicates that
2289         the attribute can be initialized by the constructor.
2290
2291         Tests: fast/events/constructors/event-constructors.html
2292                fast/events/constructors/custom-event-constructor.html
2293                fast/events/constructors/progress-event-constructor.html
2294
2295         * bindings/scripts/CodeGeneratorV8.pm:
2296         (GenerateHeader): Added a header for fillXXXXEventInit(...).
2297         (IsConstructable): Judges if a given interface is constructable.
2298         (IsConstructorTemplate): Judges if a given interface has a given template, e.g. judges if an interface has [ConstructorTemplate=Event].
2299         (GenerateEventConstructorCallback): Generates an Event constructor. The generated code is the same as the code that had been written in V8EventConstructors.cpp.
2300         (GenerateImplementation): Generates an Event constructor if [ConstructorTemplate=Event] is specified.
2301         * dom/Event.idl: Added [ConstructorTemplate=Event] IDL. Added [InitializedByConstructor] IDL to attributes that can be initialized by a constructor.
2302
2303         * bindings/scripts/test/TestEventConstructor.idl: Added a new run-bindings-test.
2304         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp: Updated a run-bindings-tests result.
2305         (WebDOMTestEventConstructor::WebDOMTestEventConstructorPrivate::WebDOMTestEventConstructorPrivate):
2306         (WebDOMTestEventConstructor::WebDOMTestEventConstructor):
2307         (WebDOMTestEventConstructor::operator=):
2308         (WebDOMTestEventConstructor::impl):
2309         (WebDOMTestEventConstructor::~WebDOMTestEventConstructor):
2310         (WebDOMTestEventConstructor::attr1):
2311         (WebDOMTestEventConstructor::attr2):
2312         (toWebCore):
2313         (toWebKit):
2314         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.h: Ditto.
2315         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp: Ditto.
2316         (WebKit::kit):
2317         (webkit_dom_test_event_constructor_get_attr1):
2318         (webkit_dom_test_event_constructor_get_attr2):
2319         (WebKit::core):
2320         (webkit_dom_test_event_constructor_finalize):
2321         (webkit_dom_test_event_constructor_set_property):
2322         (webkit_dom_test_event_constructor_get_property):
2323         (webkit_dom_test_event_constructor_constructed):
2324         (webkit_dom_test_event_constructor_class_init):
2325         (webkit_dom_test_event_constructor_init):
2326         (WebKit::wrapTestEventConstructor):
2327         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h: Ditto.
2328         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h: Ditto.
2329         * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
2330         (WebCore::JSTestEventConstructorConstructor::JSTestEventConstructorConstructor):
2331         (WebCore::JSTestEventConstructorConstructor::finishCreation):
2332         (WebCore::JSTestEventConstructorConstructor::getOwnPropertySlot):
2333         (WebCore::JSTestEventConstructorConstructor::getOwnPropertyDescriptor):
2334         (WebCore::JSTestEventConstructorConstructor::getConstructData):
2335         (WebCore::JSTestEventConstructorPrototype::self):
2336         (WebCore::JSTestEventConstructor::JSTestEventConstructor):
2337         (WebCore::JSTestEventConstructor::finishCreation):
2338         (WebCore::JSTestEventConstructor::createPrototype):
2339         (WebCore::JSTestEventConstructor::getOwnPropertySlot):
2340         (WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
2341         (WebCore::jsTestEventConstructorAttr1):
2342         (WebCore::jsTestEventConstructorAttr2):
2343         (WebCore::jsTestEventConstructorConstructor):
2344         (WebCore::JSTestEventConstructor::getConstructor):
2345         (WebCore::toJS):
2346         (WebCore::toTestEventConstructor):
2347         * bindings/scripts/test/JS/JSTestEventConstructor.h: Ditto.
2348         (WebCore::JSTestEventConstructor::create):
2349         (WebCore::JSTestEventConstructor::createStructure):
2350         (WebCore::JSTestEventConstructor::impl):
2351         (WebCore::JSTestEventConstructorPrototype::create):
2352         (WebCore::JSTestEventConstructorPrototype::createStructure):
2353         (WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
2354         (WebCore::JSTestEventConstructorConstructor::create):
2355         (WebCore::JSTestEventConstructorConstructor::createStructure):
2356         * bindings/scripts/test/ObjC/DOMTestEventConstructor.h: Ditto.
2357         * bindings/scripts/test/ObjC/DOMTestEventConstructor.mm: Ditto.
2358         (-[DOMTestEventConstructor dealloc]):
2359         (-[DOMTestEventConstructor finalize]):
2360         (-[DOMTestEventConstructor attr1]):
2361         (-[DOMTestEventConstructor attr2]):
2362         (core):
2363         (kit):
2364         * bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h: Ditto.
2365         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Ditto.
2366         (WebCore::TestEventConstructorInternal::V8_USE):
2367         (WebCore::TestEventConstructorInternal::attr1AttrGetter):
2368         (WebCore::TestEventConstructorInternal::attr2AttrGetter):
2369         (WebCore::ConfigureV8TestEventConstructorTemplate):
2370         (WebCore::V8TestEventConstructor::GetRawTemplate):
2371         (WebCore::V8TestEventConstructor::GetTemplate):
2372         (WebCore::V8TestEventConstructor::HasInstance):
2373         (WebCore::V8TestEventConstructor::wrapSlow):
2374         (WebCore::V8TestEventConstructor::derefObject):
2375         * bindings/scripts/test/V8/V8TestEventConstructor.h: Ditto.
2376         (WebCore::V8TestEventConstructor::toNative):
2377         (WebCore::V8TestEventConstructor::existingWrapper):
2378         (WebCore::V8TestEventConstructor::wrap):
2379         (WebCore::toV8):
2380         * bindings/scripts/test/V8/V8TestInterface.h: Ditto.
2381         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Ditto.
2382         * bindings/scripts/test/V8/V8TestNamedConstructor.h: Ditto.
2383         * bindings/scripts/test/V8/V8TestObj.h: Ditto.
2384         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Ditto.
2385         * bindings/v8/custom/V8EventConstructors.cpp: Removed a custom constructor of Event.
2386
2387 2011-11-10  Benjamin Poulain  <benjamin@webkit.org>
2388
2389         Do not share CSS style for MediaElement backed by a plugin
2390         https://bugs.webkit.org/show_bug.cgi?id=72005
2391
2392         Reviewed by Simon Fraser.
2393
2394         With PLUGIN_PROXY_FOR_VIDEO, the RenderMedia elements are rendered through RenderBoxModelObject.
2395         Like the embedded element, the proxied media element can gain a layer outside a change of style.
2396
2397         This patch prevents style sharing for the Audio and Video elements when PLUGIN_PROXY_FOR_VIDEO
2398         is enabled.
2399
2400         This path is covered by exising tests. In particular, http/tests/misc/empty-urls.html
2401         ASSERT() because of this.
2402
2403         * css/CSSStyleSelector.cpp:
2404         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2405
2406 2011-11-10  Dean Jackson  <dino@apple.com>
2407
2408         Move/copy/merge SVG filter rendering code to generic rendering
2409         https://bugs.webkit.org/show_bug.cgi?id=68472
2410
2411         Reviewed by Simon Fraser.
2412
2413         Implement an extremely simple version of the filter
2414         chain. Only a single hue-rotate filter is supported
2415         at the moment. The change in this commit was to insert a new
2416         step in RenderLayer's painting to capture the content to an
2417         offscreen ImageBuffer, apply a filter operation on that buffer,
2418         and then draw the result in place of the original element. The full
2419         implementation will need something like the SVGFilterBuilder
2420         but this is a good prototype of effects on HTML content.
2421         It's an open question at the moment as to when the filter
2422         effect should apply: after masking, after overflow, after outline,
2423         etc. Currently the filter applies at the end of the paintLayer code.
2424         This will likely change.
2425         
2426         Added a FilterEffectRenderer class that is the root of the filter
2427         tree. At the moment it holds the offscreen context and
2428         the existing paint context.
2429         
2430         Other than rendering, the rest of this patch adds tests
2431         to make sure any element with a filter style will become
2432         a RenderLayer. In order to avoid a lot of duplicated code
2433         around the more complex logic tests, RenderStyle::hasFilter
2434         is available outside ENABLE(CSS_FILTERS), but returns false
2435         in those situations.
2436
2437         Tests: css3/filters/add-filter-rendering.html
2438                css3/filters/remove-filter-rendering.html
2439                css3/filters/simple-filter-rendering.html
2440
2441         * CMakeLists.txt:
2442         * GNUmakefile.list.am:
2443         * WebCore.gypi:
2444         * WebCore.vcproj/WebCore.vcproj:
2445         * WebCore.xcodeproj/project.pbxproj:
2446         * css/CSSStyleSelector.cpp:
2447         (WebCore::CSSStyleSelector::adjustRenderStyle):
2448         * rendering/FilterEffectRenderer.cpp: Added.
2449         (WebCore::FilterEffectRenderer::FilterEffectRenderer):
2450         (WebCore::FilterEffectRenderer::~FilterEffectRenderer):
2451         * rendering/FilterEffectRenderer.h: Added.
2452         (WebCore::FilterEffectRenderer::create):
2453         (WebCore::FilterEffectRenderer::setSourceImageRect):
2454         (WebCore::FilterEffectRenderer::sourceImageRect):
2455         (WebCore::FilterEffectRenderer::setFilterRegion):
2456         (WebCore::FilterEffectRenderer::filterRegion):
2457         (WebCore::FilterEffectRenderer::effectBoundingBoxMode):
2458         (WebCore::FilterEffectRenderer::setEffect):
2459         (WebCore::FilterEffectRenderer::effect):
2460         (WebCore::FilterEffectRenderer::setSourceGraphic):
2461         (WebCore::FilterEffectRenderer::sourceGraphic):
2462         * rendering/RenderBoxModelObject.h:
2463         (WebCore::RenderBoxModelObject::requiresLayer):
2464         * rendering/RenderLayer.cpp:
2465         (WebCore::RenderLayer::paintLayer):
2466         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
2467         (WebCore::RenderLayer::styleChanged):
2468         (WebCore::RenderLayer::updateOrRemoveFilterEffect):
2469         (WebCore::RenderLayer::updateFilterBackingStore):
2470         * rendering/RenderLayer.h:
2471         (WebCore::RenderLayer::hasFilter):
2472         * rendering/RenderObject.h:
2473         (WebCore::RenderObject::hasFilter):
2474         * rendering/RenderTableRow.h:
2475         (WebCore::RenderTableRow::requiresLayer):
2476         * rendering/style/RenderStyle.cpp:
2477         (WebCore::RenderStyle::diff):
2478         * rendering/style/RenderStyle.h:
2479         (WebCore::InheritedFlags::hasFilter):
2480
2481 2011-11-10  Xiaomei Ji  <xji@chromium.org>
2482
2483         --webkit-visual-word crash when create legacy position for shadowRoot
2484         https://bugs.webkit.org/show_bug.cgi?id=71600
2485     
2486         Reviewed by Ryosuke Niwa.
2487
2488         Inside textarea, the shadowed text node's previous leaf node could be the
2489         shadowRoot node, which cause assert exception in creating legacy position based
2490         on such node. Exit previousRootInlineBox() when reach shadowRoot node.
2491
2492         It does not cause problem when looking for text node's next leaf node. Adding
2493         the same checking in nextRootInlineBox just to be safe.
2494
2495         Test: editing/selection/move-by-word-visually-crash-test-textarea.html
2496
2497         * editing/visible_units.cpp:
2498         (WebCore::previousRootInlineBox):
2499         (WebCore::nextRootInlineBox):
2500
2501 2011-11-10  Dean Jackson  <dino@apple.com>
2502
2503         Parse drop-shadow() filter syntax
2504         https://bugs.webkit.org/show_bug.cgi?id=69108
2505
2506         Reviewed by Simon Fraser.
2507
2508         Support parsing of the shadow syntax inside drop-shadow
2509         and returning the correct computed style for a filter that
2510         has such a function.
2511
2512         * css/CSSComputedStyleDeclaration.cpp:
2513         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
2514             Move this from a static function (computedFilter) to a method on
2515             CSSComputedStyleDeclaration, which allows us to call the
2516             existing method for shadow styles.
2517         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2518         * css/CSSComputedStyleDeclaration.h:
2519         * css/CSSParser.cpp:
2520         (WebCore::CSSParser::parseValue):
2521         (WebCore::CSSParser::parseShadow):
2522             Previously parseShadow expected to be called with the entire
2523             value of a property, not just to look at a restricted subset.
2524             Change parseShadow to take a CSSParserValueList as parameter,
2525             allowing it to be used to parse the arguments to the drop-shadow
2526             function. Also, return the CSSValueList rather than injecting
2527             it directly into the property value.
2528         (WebCore::filterInfoForName):
2529         (WebCore::CSSParser::parseFilter):
2530             Support for the drop-shadow() function.
2531         * css/CSSParser.h:
2532         * css/CSSStyleSelector.cpp:
2533         (WebCore::CSSStyleSelector::createFilterOperations):
2534         * css/SVGCSSParser.cpp:
2535         (WebCore::CSSParser::parseSVGValue):
2536             Updated to use the new arguments for parseShadow.
2537
2538 2011-11-10  Vsevolod Vlasov  <vsevik@chromium.org>
2539
2540         Web Inspector: ApplicationCache UI is confusing and incorrect.
2541         https://bugs.webkit.org/show_bug.cgi?id=64581
2542
2543         Reviewed by Pavel Feldman.
2544
2545         Fixed resources panel application cache UI.
2546         Manifest urls are now shown under application cache tree element.
2547         Under each manifest url tree element frames using relevant application
2548         cache are listed. Application cache detailed views could be opened for each
2549         frame.
2550
2551         Test: http/tests/inspector/resource-tree/appcache-iframe-manifests.html
2552
2553         * English.lproj/localizedStrings.js:
2554         * inspector/Inspector.json:
2555         * inspector/InspectorApplicationCacheAgent.cpp:
2556         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
2557         (WebCore::InspectorApplicationCacheAgent::setFrontend):
2558         (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
2559         (WebCore::InspectorApplicationCacheAgent::networkStateChanged):
2560         (WebCore::InspectorApplicationCacheAgent::enable):
2561         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
2562         (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
2563         (WebCore::InspectorApplicationCacheAgent::getManifestForFrame):
2564         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
2565         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
2566         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
2567         * inspector/InspectorApplicationCacheAgent.h:
2568         * inspector/InspectorController.cpp:
2569         (WebCore::InspectorController::InspectorController):
2570         * inspector/InspectorPageAgent.cpp:
2571         (WebCore::InspectorPageAgent::resourceContent):
2572         (WebCore::InspectorPageAgent::getResourceContent):
2573         (WebCore::InspectorPageAgent::assertFrame):
2574         (WebCore::InspectorPageAgent::assertDocumentLoader):
2575         * inspector/InspectorPageAgent.h:
2576         * inspector/InspectorStyleSheet.cpp:
2577         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
2578         * inspector/front-end/ApplicationCacheItemsView.js:
2579         (WebInspector.ApplicationCacheItemsView):
2580         (WebInspector.ApplicationCacheItemsView.prototype._update):
2581         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
2582         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
2583         * inspector/front-end/ApplicationCacheModel.js:
2584         (WebInspector.ApplicationCacheModel):
2585         (WebInspector.ApplicationCacheModel.prototype._frameNavigated):
2586         (WebInspector.ApplicationCacheModel.prototype._frameDetached):
2587         (WebInspector.ApplicationCacheModel.prototype._mainFrameNavigated):
2588         (WebInspector.ApplicationCacheModel.prototype._manifestForFrameLoaded):
2589         (WebInspector.ApplicationCacheModel.prototype._framesWithManifestsLoaded):
2590         (WebInspector.ApplicationCacheModel.prototype._frameManifestUpdated):
2591         (WebInspector.ApplicationCacheModel.prototype._frameManifestRemoved):
2592         (WebInspector.ApplicationCacheModel.prototype.frameManifestURL):
2593         (WebInspector.ApplicationCacheModel.prototype.frameManifestStatus):
2594         (WebInspector.ApplicationCacheModel.prototype._statusUpdated):
2595         (WebInspector.ApplicationCacheModel.prototype.requestApplicationCache):
2596         (WebInspector.ApplicationCacheModel.prototype._networkStateUpdated):
2597         (WebInspector.ApplicationCacheDispatcher.prototype.applicationCacheStatusUpdated):
2598         (WebInspector.ApplicationCacheDispatcher.prototype.networkStateUpdated):
2599         * inspector/front-end/ResourceTreeModel.js:
2600         (WebInspector.ResourceTreeModel.prototype.frameForId):
2601         * inspector/front-end/ResourcesPanel.js:
2602         (WebInspector.ResourcesPanel.prototype.wasShown):
2603         (WebInspector.ResourcesPanel.prototype.reset):
2604         (WebInspector.ResourcesPanel.prototype._frameNavigated):
2605         (WebInspector.ResourcesPanel.prototype.addDocumentURL):
2606         (WebInspector.ResourcesPanel.prototype.showApplicationCache):
2607         (WebInspector.ResourcesPanel.prototype._populateApplicationCacheTree):
2608         (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestAdded):
2609         (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestRemoved):
2610         (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestStatusChanged):
2611         (WebInspector.ResourcesPanel.prototype._applicationCacheNetworkStateChanged):
2612         (WebInspector.ApplicationCacheManifestTreeElement):
2613         (WebInspector.ApplicationCacheManifestTreeElement.prototype.get itemURL):
2614         (WebInspector.ApplicationCacheManifestTreeElement.prototype.get manifestURL):
2615         (WebInspector.ApplicationCacheManifestTreeElement.prototype.onselect):
2616         (WebInspector.ApplicationCacheFrameTreeElement):
2617         (WebInspector.ApplicationCacheFrameTreeElement.prototype.get itemURL):
2618         (WebInspector.ApplicationCacheFrameTreeElement.prototype.get frameId):
2619         (WebInspector.ApplicationCacheFrameTreeElement.prototype.get manifestURL):
2620         (WebInspector.ApplicationCacheFrameTreeElement.prototype._refreshTitles):
2621         (WebInspector.ApplicationCacheFrameTreeElement.prototype.frameNavigated):
2622         (WebInspector.ApplicationCacheFrameTreeElement.prototype.onselect):
2623
2624 2011-11-10  Andreas Kling  <kling@webkit.org>
2625
2626         Shrink CSSMutableStyleDeclaration.
2627         <http://webkit.org/b/72032>
2628
2629         Reviewed by Antti Koivisto.
2630
2631         Move m_strictParsing and m_iteratorCount (debug only) up into
2632         CSSStyleDeclaration, effectively shaving one CPU word (4/8 bytes)
2633         off of every CSSMutableStyleDeclaration.
2634
2635         * css/CSSMutableStyleDeclaration.cpp:
2636         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2637         * css/CSSMutableStyleDeclaration.h:
2638         * css/CSSStyleDeclaration.cpp:
2639         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
2640         * css/CSSStyleDeclaration.h:
2641
2642 2011-11-10  Balazs Kelemen  <kbalazs@webkit.org>
2643
2644         [Qt] X11 plugins need to be reworked for Qt5
2645         https://bugs.webkit.org/show_bug.cgi?id=70023
2646
2647         Reviewed by Simon Hausmann.
2648
2649         Rework our basic plugin support in a way that does
2650         not need a bridge between Qt and X. The solution is
2651         based on getting the content drawed by the plugin
2652         from the server as an image and creating a QImage
2653         from it.
2654
2655         No new tests. Existing plugin test are sufficient.
2656
2657         * Target.pri:
2658         * bridge/npruntime_internal.h: Added yet another undef
2659         to fix build with Qt5 + X11 headers.
2660         * plugins/qt/QtX11ImageConversion.cpp: Added.
2661         (WebCore::qimageFromXImage):
2662         * plugins/qt/QtX11ImageConversion.h: Added.
2663         Added a helper function to create a QImage from an XImage.
2664         Put it in a new file into WebCore to avoid copyright issues - as
2665         the code has been taken directly from Qt - and to be able to resuse
2666         it for the WK1 plugin support in the future.
2667
2668 2011-11-10  Andreas Kling  <kling@webkit.org>
2669
2670         Cache and reuse HTMLCollections exposed by Document.
2671         <http://webkit.org/b/71956>
2672
2673         Reviewed by Antti Koivisto.
2674
2675         Let Document cache the various HTMLCollection objects it exposes.
2676         They're created on-demand and stored in a tight Vector.
2677         This is a behavior change, since the lifetime of returned collections
2678         is now tied to the lifetime of the Document. However, this matches the
2679         current behavior of Firefox and Opera.
2680
2681         This reduces memory consumption by ~800 kB (on 64-bit) when loading
2682         the full HTML5 spec. document.links was called 34001 times, yielding
2683         34001 separate HTMLCollections, and now we only need 1.
2684
2685         The document.all collection retains the old behavior, as caching it
2686         would be a bit more complicated.
2687
2688         * dom/Document.cpp:
2689         (WebCore::Document::Document):
2690         (WebCore::Document::collection):
2691         (WebCore::Document::images):
2692         (WebCore::Document::applets):
2693         (WebCore::Document::embeds):
2694         (WebCore::Document::plugins):
2695         (WebCore::Document::objects):
2696         (WebCore::Document::scripts):
2697         (WebCore::Document::links):
2698         (WebCore::Document::forms):
2699         (WebCore::Document::anchors):
2700         * dom/Document.h:
2701         * html/CollectionType.h:
2702
2703 2011-11-10  Alexander Pavlov  <apavlov@chromium.org>
2704
2705         Web Inspector: [SuggestBox] Correctly position the box under the first character of the suggestion prefix.
2706         https://bugs.webkit.org/show_bug.cgi?id=72022
2707
2708         Reviewed by Pavel Feldman.
2709
2710         On any suggest box position update (updateSuggestions invocation) an anchor is created at the beginning
2711         of the user-entered word, and its box is ultimately passed into _updateBoxPosition to be used as the
2712         actual anchor box (instead of the input element box).
2713
2714         * inspector/front-end/TextPrompt.js:
2715         (WebInspector.TextPrompt.prototype._boxForAnchorAtStart):
2716         (WebInspector.TextPrompt.prototype._completionsReady):
2717         (WebInspector.TextPrompt.SuggestBox):
2718         (WebInspector.TextPrompt.SuggestBox.prototype._onscrollresize):
2719         (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPositionWithExistingAnchor):
2720         (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
2721         (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
2722         (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
2723         * inspector/front-end/utilities.js:
2724         (AnchorBox):
2725         (Element.prototype.offsetRelativeToWindow):
2726
2727 2011-11-10  Ryuan Choi  <ryuan.choi@samsung.com>
2728
2729         [CMAKE] Refactoring CMakeLists${PORT}.txt to Platform${PORT}.cmake
2730         https://bugs.webkit.org/show_bug.cgi?id=56705
2731
2732         Reviewed by Adam Roben.
2733
2734         No new tests, just renaming CMakeLists*.txt to Platform*.cmake.
2735
2736         * CMakeLists.txt:
2737         * PlatformEfl.cmake: Renamed from Source/WebCore/CMakeListsEfl.txt.
2738         * PlatformWinCE.cmake: Renamed from Source/WebCore/CMakeListsWinCE.txt.
2739
2740 2011-11-10  Andrey Kosyakov  <caseq@chromium.org>
2741
2742         Web Inspector: wrong JSON.stringify used in webInspector.inspectedWindow.eval() backend
2743         https://bugs.webkit.org/show_bug.cgi?id=63083
2744
2745         Reviewed by Pavel Feldman.
2746
2747         * inspector/front-end/ExtensionAPI.js:
2748         (injectedExtensionAPI.InspectedWindow.prototype.eval):
2749         * inspector/front-end/ExtensionServer.js:
2750         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
2751
2752 2011-11-10  Florin Malita  <fmalita@google.com>
2753
2754         SVG object covers CSS background in HTML foreignObject
2755         https://bugs.webkit.org/show_bug.cgi?id=58417
2756
2757         Reviewed by Simon Fraser.
2758
2759         Test: svg/foreignObject/background-render-phase.html
2760
2761         * rendering/svg/RenderSVGForeignObject.cpp:
2762         (WebCore::RenderSVGForeignObject::paint):
2763
2764             Paint SVG foreign objects atomically, following the same pattern as
2765             http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/InlineBox.cpp#L209.
2766
2767 2011-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2768
2769         Unreviewed, rolling out r99851.
2770         http://trac.webkit.org/changeset/99851
2771         https://bugs.webkit.org/show_bug.cgi?id=72029
2772
2773         Patch breaks Qt tests (Requested by schenney on #webkit).
2774
2775         * svg/SVGElementInstance.cpp:
2776         (WebCore::SVGElementInstance::~SVGElementInstance):
2777         (WebCore::SVGElementInstance::clearChildren):
2778         * svg/SVGElementInstance.h:
2779         (WebCore::SVGElementInstance::clearUseElements):
2780         * svg/SVGUseElement.cpp:
2781         (WebCore::SVGUseElement::detachInstance):
2782
2783 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
2784
2785         [GTK] svg/as-image/svg-image-change-content-size.xhtml crashes
2786         https://bugs.webkit.org/show_bug.cgi?id=71932
2787
2788         Reviewed by Philippe Normand.
2789
2790         Null check m_page in drawSVGToImageBuffer(), just like all others methods do.
2791         As drawSVGToImageBuffer() is fired from a timer, it may get into this state under certain conditions, as seen on the 64bit gtk bot.
2792
2793         * svg/graphics/SVGImage.cpp:
2794         (WebCore::SVGImage::drawSVGToImageBuffer):
2795
2796 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
2797
2798         Not reviewed. Rolling out part of r99854, which didn't belong there.
2799
2800         * svg/graphics/SVGImage.cpp:
2801         (WebCore::SVGImage::drawSVGToImageBuffer):
2802
2803 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
2804
2805         Move unit resolving for all resources to rendering/
2806         https://bugs.webkit.org/show_bug.cgi?id=72011
2807
2808         Reviewed by Andreas Kling.
2809
2810         Remove maskBoundingBox()/filterBoundingBox(), to avoid doing length resolution in svg/.
2811         RenderSVGResource* now uses SVGLengthContext::resolveRectangle, to do this while laying out.
2812
2813         Move linear gradient start/end point, radial gradient focal/center point, radius calculations into
2814         their RenderSVGResource classes, cleanup code a bit.
2815
2816         Convert filters to use SVGLengthContext. Fix DRT dumps for filters, while I'm at it, to give
2817         meaningful values, when objectBoundingBox is used as primitive units, when applying to <text>/<tspan>s.
2818
2819         Several tests results need rebaselines on all platforms.
2820
2821         * platform/graphics/filters/Filter.h:
2822         * rendering/svg/RenderSVGInlineText.h:
2823         (WebCore::RenderSVGInlineText::objectBoundingBox):
2824         * rendering/svg/RenderSVGResourceFilter.cpp:
2825         (WebCore::RenderSVGResourceFilter::buildPrimitives):
2826         (WebCore::RenderSVGResourceFilter::applyResource):
2827         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
2828         * rendering/svg/RenderSVGResourceFilter.h:
2829         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
2830         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
2831         * rendering/svg/RenderSVGResourceGradient.cpp:
2832         (WebCore::RenderSVGResourceGradient::applyResource):
2833         * rendering/svg/RenderSVGResourceGradient.h:
2834         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
2835         (WebCore::RenderSVGResourceLinearGradient::startPoint):
2836         (WebCore::RenderSVGResourceLinearGradient::endPoint):
2837         (WebCore::RenderSVGResourceLinearGradient::buildGradient):
2838         * rendering/svg/RenderSVGResourceLinearGradient.h:
2839         * rendering/svg/RenderSVGResourceMasker.cpp:
2840         (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
2841         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
2842         (WebCore::RenderSVGResourceRadialGradient::centerPoint):
2843         (WebCore::RenderSVGResourceRadialGradient::focalPoint):
2844         (WebCore::RenderSVGResourceRadialGradient::radius):
2845         (WebCore::RenderSVGResourceRadialGradient::adjustFocalPointIfNeeded):
2846         (WebCore::RenderSVGResourceRadialGradient::buildGradient):
2847         * rendering/svg/RenderSVGResourceRadialGradient.h:
2848         * rendering/svg/SVGRenderTreeAsText.cpp:
2849         (WebCore::writeSVGResourceContainer):
2850         * svg/SVGFilterElement.cpp:
2851         * svg/SVGFilterElement.h:
2852         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2853         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
2854         * svg/SVGFilterPrimitiveStandardAttributes.h:
2855         * svg/SVGLinearGradientElement.cpp:
2856         * svg/SVGLinearGradientElement.h:
2857         * svg/SVGMaskElement.cpp:
2858         * svg/SVGMaskElement.h:
2859         * svg/SVGRadialGradientElement.cpp:
2860         * svg/SVGRadialGradientElement.h:
2861         * svg/graphics/filters/SVGFilter.h:
2862         (WebCore::SVGFilter::filterRegionInUserSpace):
2863
2864 2011-11-10  Stephen Chenney  <schenney@chromium.org>
2865
2866         Null deref when no use element exists for SVG element instance
2867         https://bugs.webkit.org/show_bug.cgi?id=59136
2868
2869         Cleans up the object when it is detached from the shadow DOM tree,
2870         rather than leaving it in a half-clean state with some nulled
2871         references but not others.
2872
2873         Reviewed by Nikolas Zimmermann.
2874
2875         Test: svg/custom/element-instance-held-by-js-crash.svg
2876
2877         * svg/SVGElementInstance.cpp:
2878         (WebCore::SVGElementInstance::~SVGElementInstance): Added a call to
2879         detach to clean up if deletion happens without a prior detach call (as
2880         when an entire tree is removed).
2881         (WebCore::SVGElementInstance::detach): New method that replaces other
2882         clean-up methods when the instance is removed from the shadow DOM.
2883         * svg/SVGElementInstance.h: Added new detach method and removed
2884         unnecessary clear methods.
2885         * svg/SVGUseElement.cpp:
2886         (WebCore::SVGUseElement::detachInstance): Changed calls to clear to
2887         instead detach.
2888
2889 2011-11-10  Alexander Pavlov  <apavlov@chromium.org>
2890
2891         Web Inspector: Show media queries associated with specific CSS rules
2892         https://bugs.webkit.org/show_bug.cgi?id=65626
2893
2894         Reviewed by Pavel Feldman.
2895
2896         Test: inspector/styles/media-queries.html
2897
2898         * css/CSSGrammar.y:
2899         * css/CSSParser.cpp:
2900         (WebCore::CSSParser::updateLastMediaLine):
2901         * css/CSSParser.h:
2902         * css/MediaList.cpp:
2903         (WebCore::MediaList::MediaList):
2904         * css/MediaList.h:
2905         (WebCore::MediaList::lastLine):
2906         (WebCore::MediaList::setLastLine):
2907         * inspector/Inspector.json:
2908         * inspector/InspectorCSSAgent.cpp:
2909         (WebCore::InspectorCSSAgent::bindStyleSheet):
2910         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
2911         * inspector/InspectorDOMAgent.cpp:
2912         (WebCore::InspectorDOMAgent::documentURLString):
2913         * inspector/InspectorDOMAgent.h:
2914         * inspector/InspectorStyleSheet.cpp:
2915         (WebCore::buildMediaObject):
2916         (WebCore::fillMediaListChain):
2917         (WebCore::InspectorStyleSheet::buildObjectForRule):
2918         * inspector/front-end/CSSStyleModel.js:
2919         (WebInspector.CSSRule):
2920         (WebInspector.CSSMedia):
2921         (WebInspector.CSSMedia.parsePayload):
2922         (WebInspector.CSSMedia.parseMediaArrayPayload):
2923         * inspector/front-end/ResourceUtils.js:
2924         (WebInspector.linkifyResourceAsNode):
2925         * inspector/front-end/StylesSidebarPane.js:
2926         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
2927         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
2928         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
2929         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
2930         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
2931         * inspector/front-end/elementsPanel.css:
2932         (.styles-section .header .title .media, .styles-section .header .title .media .subtitle):
2933         (.styles-section .header .subtitle):
2934
2935 2011-11-10  Alexander Pavlov  <apavlov@chromium.org>
2936
2937         Web Inspector: [SuggestBox] Do not display suggest box if editing in the middle of prompt unless a stop character follows
2938         https://bugs.webkit.org/show_bug.cgi?id=72018
2939
2940         Reviewed by Pavel Feldman.
2941
2942         * inspector/front-end/TextPrompt.js:
2943         (WebInspector.TextPrompt.prototype.complete):
2944
2945 2011-11-10  Pavel Feldman  <pfeldman@google.com>
2946
2947         Web Inspector: do not highlight files larger than 10KLOC.
2948         https://bugs.webkit.org/show_bug.cgi?id=72025
2949
2950         This is a temporary measure while I am improving the highlighter
2951         footprint. Otherwise, highlighting pretty printed Gmail takes ~1.3G of RAM.
2952
2953         Reviewed by Yury Semikhatsky.
2954
2955         * inspector/front-end/TextEditorHighlighter.js:
2956         (WebInspector.TextEditorHighlighter.prototype.highlight):
2957         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
2958         * inspector/front-end/UISourceCode.js:
2959         (WebInspector.UISourceCode.prototype._didRequestContent):
2960
2961 2011-11-10  Alpha Lam  <hclam@chromium.org>
2962
2963         [chromium] Scroll deltas are cleared during commit to the main thread
2964         https://bugs.webkit.org/show_bug.cgi?id=71916
2965
2966         Reviewed by James Robinson.
2967
2968         The patch keeps the scroll deltas and scroll position unchanged when
2969         committing to the main thread. After commit has completed on the main
2970         thread the submitted scroll deltas are then subtracted from the current
2971         scroll deltas on the impl thread.
2972
2973         Doing so allow scroll deltas to be available at all time which enables
2974         proper positioning for layers that are fixed-positioned to the
2975         container layer.
2976
2977         This patch is tested by the following unit tests:
2978         - CCLayerTreeHostImplTest.scrollDeltaRepeatedScrolls
2979           This test is modified to verify that scroll deltas and scroll position
2980           are unchanged during commit. And then after commit scroll deltas are
2981           subtracted correctly.
2982
2983         - CCLayerTreeHostTestScrollSimple.runMultiThread and
2984           CCLayerTreeHostTestScrollMultipleRedraw.runMultiThread
2985           These tests verifies that scroll deltas made on impl thread are
2986           committed to the main thread. The scroll deltas is eventually delegated
2987           to CCLayerTreeHostClient. When commit has completed the scroll deltas
2988           are subtracted correctly. There's no change to these two tests but they
2989           verify this patch maintains the overall behavior of scrolling.
2990
2991         * platform/graphics/chromium/LayerChromium.cpp:
2992         (WebCore::LayerChromium::applyScrollAndScale):
2993         * platform/graphics/chromium/LayerChromium.h:
2994         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2995         (WebCore::CCLayerImpl::applyScrollAndScale):
2996         * platform/graphics/chromium/cc/CCLayerImpl.h:
2997         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2998         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2999         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3000         (WebCore::applyScrollAndScaleInternal):
3001         (WebCore::CCLayerTreeHostCommon::applyScrollAndScale):
3002         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
3003         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3004         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
3005         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3006         (WebCore::CCThreadProxy::beginFrameAndCommit):
3007         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
3008         * platform/graphics/chromium/cc/CCThreadProxy.h:
3009
3010 2011-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>
3011
3012         Unreviewed. Fix make distcheck build.
3013
3014         * GNUmakefile.am: Add missing files.
3015         * GNUmakefile.list.am: Ditto.
3016
3017 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
3018
3019         Deploy SVGLengthContext in more places
3020         https://bugs.webkit.org/show_bug.cgi?id=72012
3021
3022         Reviewed by Simon Hausmann.
3023
3024         Doesn't affect any tests.
3025
3026         * svg/SVGAnimatedLength.cpp:
3027         (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
3028         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
3029         (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
3030         * svg/SVGAnimatedLengthList.cpp:
3031         (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues):
3032         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
3033
3034 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
3035
3036         Not reviewed. Fix build.
3037
3038         * WebCore.gypi: Need to add rendering/svg/SVGPathData.* in another place as well, cr-bots are not compiling it and thus fail linking.
3039
3040 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
3041
3042         Remove virtual toPathData() method from all graphics elements
3043         https://bugs.webkit.org/show_bug.cgi?id=72009
3044
3045         Reviewed by Zoltan Herczeg.
3046
3047         In bug 71780, SVGLengthContext was introduced, to allow to resolve SVGLengths against arbitary viewports.
3048         SVGLength::value(), which needs a SVGLengthContext, is still used all over svg/ - that should be changed, as rendering/
3049         should resolve these lengths, as HTML does it using Length & RenderStyles for CSS.
3050
3051         As first step, move the #1 client of the SVGLength::value() methods - toPathData() out of svg/ into rendering/svg/SVGPathData
3052         as free-function, replacing the virtual toPathData() function from SVGStyledTransformableElement.
3053
3054         Doesn't affect any tests.
3055
3056         * CMakeLists.txt: Add rendering/svg/SVGPathData.* to build.
3057         * GNUmakefile.list.am: Ditto.
3058         * Target.pri: Ditto.
3059         * WebCore.gypi: Ditto.
3060         * WebCore.vcproj/WebCore.vcproj: Ditto.
3061         * WebCore.xcodeproj/project.pbxproj: Ditto.
3062         * rendering/svg/RenderSVGAllInOne.cpp: Ditto.
3063         * rendering/svg/RenderSVGPath.cpp:
3064         (WebCore::RenderSVGPath::layout): Use "updatePathFromGraphicsElement(element, m_path)" instead of "element->toPathData(m_path)", avoiding a virtual call.
3065         * rendering/svg/RenderSVGTextPath.cpp:
3066         (WebCore::RenderSVGTextPath::layoutPath): Ditto.
3067         * rendering/svg/SVGPathData.cpp: Added.
3068         (WebCore::updatePathFromCircleElement):
3069         (WebCore::updatePathFromEllipseElement):
3070         (WebCore::updatePathFromLineElement):
3071         (WebCore::updatePathFromPathElement):
3072         (WebCore::updatePathFromPolygonElement):
3073         (WebCore::updatePathFromPolylineElement):
3074         (WebCore::updatePathFromRectElement):
3075         (WebCore::updatePathFromGraphicsElement):
3076         * rendering/svg/SVGPathData.h: Added.
3077         * svg/SVGAnimateMotionElement.cpp:
3078         (WebCore::SVGAnimateMotionElement::animationPath): Use updatePathFromGraphicsElement instead of toPathData.
3079         * svg/SVGCircleElement.cpp: Remove toPathData() virtual method.
3080         * svg/SVGCircleElement.h: Ditto.
3081         * svg/SVGEllipseElement.cpp: Ditto.
3082         * svg/SVGEllipseElement.h: Ditto.
3083         * svg/SVGLineElement.cpp: Ditto.
3084         * svg/SVGLineElement.h: Ditto.
3085         * svg/SVGPathElement.cpp: Ditto.
3086         * svg/SVGPathElement.h: Ditto.
3087         * svg/SVGPolygonElement.cpp: Ditto.
3088         * svg/SVGPolygonElement.h: Ditto.
3089         * svg/SVGPolylineElement.cpp: Ditto.
3090         * svg/SVGPolylineElement.h: Ditto.
3091         * svg/SVGRectElement.cpp: Ditto.
3092         * svg/SVGRectElement.h: Ditto.
3093         * svg/SVGStyledTransformableElement.cpp:
3094         (WebCore::SVGStyledTransformableElement::toClipPath): Use updatePathFromGraphicsElement instead of toPathData.
3095         * svg/SVGStyledTransformableElement.h: Remove toPathData() virtual method.
3096
3097 2011-11-09  Andrey Kosyakov  <caseq@chromium.org>
3098
3099         Web Inspector: [refactoring] get rid of JavaScriptSourceFrameDelegate
3100         https://bugs.webkit.org/show_bug.cgi?id=71922
3101
3102         Reviewed by Pavel Feldman.
3103
3104         * inspector/front-end/JavaScriptSourceFrame.js:
3105         (WebInspector.JavaScriptSourceFrame):
3106         (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
3107         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
3108         (WebInspector.JavaScriptSourceFrame.prototype.setReadOnly):
3109         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
3110         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
3111         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
3112         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
3113         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
3114         (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
3115         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
3116         * inspector/front-end/ScriptsPanel.js:
3117         (WebInspector.ScriptsPanel.prototype.activateBreakpoints):
3118         (WebInspector.ScriptsPanel.prototype.folderAndDisplayNameForScriptURL):
3119         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
3120         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
3121         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
3122         (WebInspector.ScriptsPanel.prototype.addToWatch):
3123
3124 2011-11-10  Jay Civelli  <jcivelli@chromium.org>
3125
3126         Fix progress load reporting for MHTML documents.
3127
3128         MHTML documents containing references to resources they don't include
3129         never finish loading.
3130         https://bugs.webkit.org/show_bug.cgi?id=71859
3131
3132         Reviewed by Adam Barth.
3133
3134         * loader/DocumentLoader.cpp:
3135         (WebCore::DocumentLoader::scheduleArchiveLoad):
3136
3137 2011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
3138
3139         [Qt] Fix linking with --whole-archive
3140
3141         Reviewed by Zoltan Herczeg.
3142
3143         Compile XMLTreeViewer and related files when XSLT is enabled, not
3144         when XSLT _and_ USE_LIBXML2. The files do not depend on libxml2, they
3145         are #ifdeffed with ENABLE(XSLT) only, and they are referenced from for
3146         example NewXMLDocumentParser.cpp from within XSLT blocks.
3147
3148         * DerivedSources.pri:
3149         * Target.pri:
3150
3151 2011-11-01  Pavel Podivilov  <podivilov@chromium.org>
3152
3153         Web Inspector: load source maps via front-end host.
3154         https://bugs.webkit.org/show_bug.cgi?id=71301
3155
3156         Reviewed by Yury Semikhatsky.
3157
3158         Currently we use an auxiliary iframe hack to load source map files from inspector page. This approach has several drawbacks:
3159          - in addition to source map url we need to know auxiliary iframe url
3160          - we need a protocol to communicate with iframe
3161          - source map provider needs to provide auxiliary document to make our hack work
3162         Loading source maps from front-end host solves all problems.
3163
3164         * WebCore.gypi:
3165         * WebCore.vcproj/WebCore.vcproj:
3166         * inspector/InspectorFrontendHost.cpp:
3167         (WebCore::InspectorFrontendHost::loadResourceSynchronously):
3168         * inspector/InspectorFrontendHost.h:
3169         * inspector/InspectorFrontendHost.idl:
3170         * inspector/front-end/CompilerSourceMapping.js:
3171         (WebInspector.ClosureCompilerSourceMapping):
3172         (WebInspector.ClosureCompilerSourceMapping.prototype.load):
3173         (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
3174         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappingPayload):
3175         * inspector/front-end/CompilerSourceMappingProvider.js: Removed.
3176         * inspector/front-end/ContentProviders.js:
3177         (WebInspector.CompilerSourceMappingContentProvider):
3178         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
3179         * inspector/front-end/RawSourceCode.js:
3180         (WebInspector.RawSourceCode.prototype.setCompilerSourceMapping):
3181         (WebInspector.RawSourceCode.prototype._resourceFinished):
3182         (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
3183         * inspector/front-end/WebKit.qrc:
3184         * inspector/front-end/inspector.html:
3185         * inspector/front-end/inspector.js:
3186         (WebInspector.installSourceMappingForTest):
3187
3188 2011-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>
3189
3190         Unreviewed, rolling out r99816.
3191         http://trac.webkit.org/changeset/99816
3192         https://bugs.webkit.org/show_bug.cgi?id=72003
3193
3194         compilation failed on mac (Requested by loislo on #webkit).
3195
3196         * html/HTMLAttributeNames.in:
3197         * html/HTMLInputElement.idl:
3198         * html/HTMLTextAreaElement.cpp:
3199         (WebCore::HTMLTextAreaElement::appendFormData):
3200         * html/HTMLTextAreaElement.idl:
3201         * html/HTMLTextFormControlElement.cpp:
3202         * html/HTMLTextFormControlElement.h:
3203         * html/TextFieldInputType.cpp:
3204         * html/TextFieldInputType.h:
3205
3206 2011-11-09  Pavel Feldman  <pfeldman@google.com>
3207
3208         Web Inspector: console does not work after switching panel while editing.
3209         https://bugs.webkit.org/show_bug.cgi?id=71918
3210
3211         Reviewed by Yury Semikhatsky.
3212
3213         * inspector/front-end/SourceFrame.js:
3214         (WebInspector.SourceFrame.prototype.wasShown):
3215         (WebInspector.SourceFrame.prototype.willHide):
3216
3217 2011-11-09  Rakesh KN  <rakesh.kn@motorola.com>
3218
3219         Need support for dirname attribute
3220         https://bugs.webkit.org/show_bug.cgi?id=65542
3221
3222         Reviewed by Eric Seidel.
3223
3224         Implemented 'dirname' form attribute.
3225
3226         Tests: fast/forms/form-dirname-attribute.html
3227                fast/forms/submit-form-with-dirname-attribute-with-ancestor-dir-attribute.html
3228                fast/forms/submit-form-with-dirname-attribute-with-nonhtml-ancestor.html
3229                fast/forms/submit-form-with-dirname-attribute.html
3230
3231         * html/HTMLAttributeNames.in:
3232         Added "dirname" attribute.
3233         * html/HTMLInputElement.idl:
3234         Add "dirName" property to HTMLInputElement interface.
3235         * html/HTMLTextAreaElement.cpp:
3236         (WebCore::HTMLTextAreaElement::appendFormData):
3237         Append dirname form data.
3238         * html/HTMLTextAreaElement.idl:
3239         Add "dirName" property to HTMLTextAreaElement interface.
3240         * html/HTMLTextFormControlElement.cpp:
3241         (WebCore::parentHTMLElement):
3242         Helper function which returns only HTML parent element.
3243         (WebCore::HTMLTextFormControlElement::directionForFormData):
3244         Helper function for finding directionality of the Element.
3245         * html/HTMLTextFormControlElement.h:
3246         Helper function for finding directionality of the Element.
3247         * html/TextFieldInputType.cpp:
3248         (WebCore::TextFieldInputType::appendFormData):
3249         Append dirname form data.
3250         * html/TextFieldInputType.h:
3251         Append dirname form data.
3252
3253 2011-11-09  Shinya Kawanaka  <shinyak@google.com>
3254
3255         Internals.markerRangeForNode should be able to take markers by specifying a marker type.
3256         https://bugs.webkit.org/show_bug.cgi?id=71792
3257
3258         Reviewed by Hajime Morita.
3259
3260         Test: editing/spelling/markers.html
3261
3262         * WebCore.exp.in:
3263         * dom/DocumentMarkerController.cpp:
3264         (WebCore::DocumentMarkerController::markersFor):
3265           Takes marker types to get only necessary markers.
3266         * dom/DocumentMarkerController.h:
3267         * testing/Internals.cpp:
3268         (WebCore::markerTypesFrom): Added.
3269         (WebCore::Internals::markerCountForNode):
3270           Takes marker types to get only necessary markers.
3271         (WebCore::Internals::markerRangeForNode): ditto.
3272         * testing/Internals.h:
3273         * testing/Internals.idl:
3274
3275 2011-11-09  David Reveman  <reveman@chromium.org>
3276
3277         [Chromium] Add support for painting into an SkPicture and then rasterizing into tile-sized chunks.
3278         https://bugs.webkit.org/show_bug.cgi?id=71388
3279
3280         Reviewed by James Robinson.
3281
3282         Add UpdatableTexture class, which allows texture updater to
3283         allocate tile specific resources and paint tiles separately.
3284         Rename texture uploader classes and move them to separate files.
3285
3286         No new tests. Covered by existing tests.
3287
3288         * WebCore.gypi:
3289         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Added.
3290         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::Texture):
3291         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::~Texture):
3292         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::updateRect):
3293         (WebCore::BitmapCanvasLayerTextureUpdater::create):
3294         (WebCore::BitmapCanvasLayerTextureUpdater::BitmapCanvasLayerTextureUpdater):
3295         (WebCore::BitmapCanvasLayerTextureUpdater::~BitmapCanvasLayerTextureUpdater):
3296         (WebCore::BitmapCanvasLayerTextureUpdater::createTexture):
3297         (WebCore::BitmapCanvasLayerTextureUpdater::sampledTexelFormat):
3298         (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
3299         (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
3300         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
3301         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::textureUpdater):
3302         (WebCore::BitmapCanvasLayerTextureUpdater::orientation):
3303         * platform/graphics/chromium/ContentLayerChromium.cpp:
3304         (WebCore::ContentLayerChromium::createTextureUpdater):
3305         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: Renamed from Source/WebCore/platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp.
3306         (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
3307         (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
3308         (WebCore::FrameBuffer::FrameBuffer::initialize):
3309         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::Texture):
3310         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::~Texture):
3311         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
3312         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::create):
3313         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::FrameBufferSkPictureCanvasLayerTextureUpdater):
3314         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::~FrameBufferSkPictureCanvasLayerTextureUpdater):
3315         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::createTexture):
3316         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
3317         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
3318         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
3319         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
3320         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::orientation):
3321         * platform/graphics/chromium/ImageLayerChromium.cpp:
3322         (WebCore::ImageLayerTextureUpdater::Texture::Texture):
3323         (WebCore::ImageLayerTextureUpdater::Texture::updateRect):
3324         (WebCore::ImageLayerTextureUpdater::Texture::textureUpdater):
3325         (WebCore::ImageLayerTextureUpdater::createTexture):
3326         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
3327         * platform/graphics/chromium/LayerRendererChromium.cpp:
3328         * platform/graphics/chromium/LayerTextureUpdater.h:
3329         (WebCore::LayerTextureUpdater::Texture::~Texture):
3330         (WebCore::LayerTextureUpdater::Texture::texture):
3331         (WebCore::LayerTextureUpdater::Texture::prepareRect):
3332         (WebCore::LayerTextureUpdater::Texture::Texture):
3333         (WebCore::LayerTextureUpdater::prepareToUpdate):
3334         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
3335         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
3336         (WebCore::SkPictureCanvasLayerTextureUpdater::SkPictureCanvasLayerTextureUpdater):
3337         (WebCore::SkPictureCanvasLayerTextureUpdater::~SkPictureCanvasLayerTextureUpdater):
3338         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
3339         (WebCore::SkPictureCanvasLayerTextureUpdater::drawPicture):
3340         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
3341         * platform/graphics/chromium/TiledLayerChromium.cpp:
3342         (WebCore::UpdatableTile::UpdatableTile):
3343         (WebCore::UpdatableTile::texture):
3344         (WebCore::UpdatableTile::managedTexture):
3345         (WebCore::TiledLayerChromium::updateCompositorResources):
3346         (WebCore::TiledLayerChromium::pushPropertiesTo):
3347         (WebCore::TiledLayerChromium::createTile):
3348         (WebCore::TiledLayerChromium::protectTileTextures):
3349         (WebCore::TiledLayerChromium::prepareToUpdate):
3350         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
3351         (WebCore::CCTextureUpdater::append):
3352         (WebCore::CCTextureUpdater::update):
3353         * platform/graphics/chromium/cc/CCTextureUpdater.h:
3354
3355 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
3356
3357         [wx] Unreviewed build fix. Add stub for new method.
3358         
3359         * platform/wx/FileSystemWx.cpp:
3360         (WebCore::openFile):
3361
3362 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
3363
3364         [wx] Unreviewed build fix. wx should not be excluded
3365         from building ScopedFramePaintingState code.
3366
3367         * page/Frame.cpp:
3368
3369 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
3370
3371         [wx] Unreviewed build fix. Don't run 
3372         fontDataForCombiningCharacterSequence on wx as we don't 
3373         support it yet.
3374
3375         * platform/graphics/mac/ComplexTextController.cpp:
3376         (WebCore::ComplexTextController::collectComplexTextRuns):
3377
3378 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
3379
3380         [wx] Unreviewed build fix. Update how we hash the font after
3381         changes to the StringHasher APIs.
3382
3383         * platform/graphics/wx/FontPlatformDataWx.cpp:
3384         (WebCore::FontPlatformData::computeHash):
3385
3386 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
3387
3388         [wx] Unreviewed build fix. Remove from WebDOMEventTarget
3389         bindings methods that have been removed from EventTarget.
3390
3391         * bindings/cpp/WebDOMEventTarget.cpp:
3392         (toWebKit):
3393         * bindings/cpp/WebDOMEventTarget.h:
3394
3395 2011-11-09  Martin Robinson  <mrobinson@igalia.com>
3396
3397         [Cairo] Avoid clipping when painting more often
3398         https://bugs.webkit.org/show_bug.cgi?id=71179
3399
3400         Reviewed by Xan Lopez.
3401
3402         No new tests. These changes are covered by existing tests.
3403
3404         * platform/graphics/Gradient.h: Add a Cairo-specific method
3405         that gets the platform gradient with a particular alpha value.
3406         * platform/graphics/cairo/GradientCairo.cpp: Now cache the alpha
3407         value of the last created platform gradient.
3408         (WebCore::Gradient::platformGradient): If the cached platform gradient
3409         has a different alpha value than the one requested, destroy it and start
3410         over.
3411         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3412         (WebCore::drawPathShadow): Adjust the source to avoid calling
3413         cairo_clip/cairo_paint_with_alpha and just do a fill.
3414         (WebCore::shadowAndFillCurrentCairoPath): No need to clip here. Just
3415         call cairo_fill.
3416         * platform/graphics/cairo/PlatformContextCairo.cpp:
3417         (WebCore::drawPatternToCairoContext): If we have a >= 1 alpha value
3418         we can simply fill and avoid calling cairo_clip here.
3419         (WebCore::prepareCairoContextSource): Remove TODO about recreating the
3420         gradient. No longer need to reduce the gradient source.
3421
3422 2011-11-09  Alexey Proskuryakov  <ap@apple.com>
3423
3424         <rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials
3425         https://bugs.webkit.org/show_bug.cgi?id=71964
3426
3427         Reviewed by Darin Adler.
3428
3429         * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
3430         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
3431         Don't ask the client for proxy credentials. CFNetwork results are authoritative, and proxy