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