<rdar://problem/9835028> Font loading during layout can cause layout code to be re...
[WebKit.git] / Source / WebCore / ChangeLog
1 2011-07-25  Dan Bernstein  <mitz@apple.com>
2
3         <rdar://problem/9835028> Font loading during layout can cause layout code to be re-entered via resource load delegate
4         https://bugs.webkit.org/show_bug.cgi?id=65123
5
6         Reviewed by Anders Carlsson.
7
8         Since CSSFontFaceSource::getFontData() can get called during layout, avoid calling out to loader
9         code from under it, and instead defer that work using a zero-delay timer.
10
11         * css/CSSFontFaceSource.cpp:
12         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
13         (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
14         (WebCore::CSSFontFaceSource::getFontData): Rather than starting the font load here, schedule
15         a zero-delay timer to do it.
16         (WebCore::CSSFontFaceSource::startLoadingTimerFired): Added. Starts loading the font if needed.
17         * css/CSSFontFaceSource.h:
18
19 2011-07-25  Andrew Wason  <rectalogic@rectalogic.com>
20
21         [Qt] Adopt GraphicsContext3DOpenGL.cpp and ANGLE (part 2)
22         https://bugs.webkit.org/show_bug.cgi?id=64878
23
24         Reviewed by Noam Rosenthal.
25
26         Existing WebGL layout tests should test this.
27
28         Adopt GraphicsContext3DOpenGL.cpp and ANGLE compiler for Qt.
29
30         * WebCore.pro: Build ANGLE compiler and GraphicsContext3DOpenGL.cpp.
31         * platform/graphics/ANGLEWebKitBridge.h:
32         * platform/graphics/GraphicsContext3D.h: Expose exising ANGLEWebKitBridge compiler member for Qt.
33         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
34         * platform/graphics/qt/GraphicsContext3DQt.cpp:
35         (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize ANGLE resources.
36
37 2011-07-25  Daniel Bates  <dbates@rim.com>
38
39         REGRESSION (r85964): Improper relayout of some nested positioned elements
40         https://bugs.webkit.org/show_bug.cgi?id=64286
41
42         Reviewed by David Hyatt.
43
44         Fixes an issue when traversing up the containing block hierarchy after skipping
45         relatively positioned inlines.
46
47         When processing a positioned element we skip any intermediate inlines to get to
48         to enclosing block B, but don't use the containing block for B (call this P_B) to
49         properly continue traversing up the containing block hierarchy. So, B may be
50         considered again instead of looking at P_B. Hence, we don't set the correct dirty
51         bits for P_B and may not schedule a relayout with respect to the correct layout node.
52
53         Test: fast/block/positioning/relayout-nested-positioned-elements-crash.html
54
55         * rendering/RenderObject.h:
56         (WebCore::RenderObject::markContainingBlocksForLayout):
57
58 2011-07-25  Arno Renevier  <arno@renevier.net>
59
60         removes last ENABLE(DRAG_SUPPORT) gtk check
61         https://bugs.webkit.org/show_bug.cgi?id=64518
62
63         Reviewed by Martin Robinson.
64
65         * platform/gtk/ClipboardGtk.h:
66
67 2011-07-25  Alexandru Chiculita  <achicu@adobe.com>
68
69         [CSS Exclusions] Use HANDLE_INHERIT_AND_INITIAL when parsing -webkit-wrap-shape
70         https://bugs.webkit.org/show_bug.cgi?id=65096
71
72         Also the 'inherit' keyword is now treated correctly. It will
73         copy the value from the parent style.
74
75         Reviewed by Tony Chang.
76
77         * css/CSSStyleSelector.cpp:
78         (WebCore::CSSStyleSelector::applyProperty):
79
80 2011-07-25  Andrew Wason  <rectalogic@rectalogic.com>
81
82         glActiveTexture(0) is invalid
83         https://bugs.webkit.org/show_bug.cgi?id=65115
84
85         Reviewed by Kenneth Russell.
86
87         Existing WebGL layout tests.
88
89         Fix invalid glActiveTexture(0) call.
90
91         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
92         (WebCore::GraphicsContext3D::prepareTexture):
93
94 2011-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>
95
96         Unreviewed, rolling out r91665.
97         http://trac.webkit.org/changeset/91665
98         https://bugs.webkit.org/show_bug.cgi?id=65118
99
100         Breaks inspector tests on JSC (Requested by pfeldman on
101         #webkit).
102
103         * inspector/InjectedScriptSource.js:
104         (.):
105         ():
106         * inspector/Inspector.json:
107         * inspector/front-end/ConsoleView.js:
108         (WebInspector.ConsoleView.prototype._format):
109         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
110         (WebInspector.ConsoleMessage.prototype._format):
111         * inspector/front-end/ElementsTreeOutline.js:
112         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
113         * inspector/front-end/ObjectPropertiesSection.js:
114         (WebInspector.ObjectPropertyTreeElement.prototype.update):
115         * inspector/front-end/PropertiesSidebarPane.js:
116         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
117         * inspector/front-end/RemoteObject.js:
118         (WebInspector.RemoteObject):
119         (WebInspector.RemoteObject.fromPrimitiveValue):
120         (WebInspector.RemoteObject.fromPayload):
121         (WebInspector.RemoteObject.prototype.callFunction):
122         (WebInspector.LocalJSONObject.prototype.get type):
123         * inspector/front-end/SourceFrame.js:
124         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
125         (WebInspector.SourceFrame.prototype._showPopup):
126         * inspector/front-end/inspector.js:
127         (WebInspector.log.logMessage):
128         (WebInspector.log):
129         (WebInspector.inspect):
130
131 2011-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>
132
133         Unreviewed, rolling out r91668.
134         http://trac.webkit.org/changeset/91668
135         https://bugs.webkit.org/show_bug.cgi?id=65117
136
137         Breaks inspector tests on JSC (Requested by pfeldman on
138         #webkit).
139
140         * inspector/InjectedScript.cpp:
141         (WebCore::InjectedScript::callFunctionOn):
142         * inspector/InjectedScript.h:
143         * inspector/InjectedScriptSource.js:
144         (.):
145         * inspector/Inspector.json:
146         * inspector/InspectorRuntimeAgent.cpp:
147         (WebCore::InspectorRuntimeAgent::callFunctionOn):
148
149 2011-07-25  Pavel Feldman  <pfeldman@google.com>
150
151         Web Inspector: use dedicated type for object id in the protocol.
152         https://bugs.webkit.org/show_bug.cgi?id=65110
153
154         Reviewed by Yury Semikhatsky.
155
156         * inspector/InjectedScript.cpp:
157         (WebCore::InjectedScript::callFunctionOn):
158         * inspector/InjectedScript.h:
159         * inspector/InjectedScriptSource.js:
160         (.):
161         * inspector/Inspector.json:
162         * inspector/InspectorRuntimeAgent.cpp:
163         (WebCore::InspectorRuntimeAgent::callFunctionOn):
164
165 2011-07-25  Yury Semikhatsky  <yurys@chromium.org>
166
167         [Chromium] Web Inspector: live edit error should be revealed in Console
168         https://bugs.webkit.org/show_bug.cgi?id=65109
169
170         Reviewed by Pavel Feldman.
171
172         * inspector/front-end/SourceFrame.js:
173         (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
174         (WebInspector.SourceFrame.prototype.commitEditing):
175
176 2011-07-25  Pavel Feldman  <pfeldman@google.com>
177
178         Web Inspector: refactor remote object structure to contain value for primitive values.
179         https://bugs.webkit.org/show_bug.cgi?id=65103
180
181         Reviewed by Yury Semikhatsky.
182
183         * inspector/InjectedScriptSource.js:
184         * inspector/Inspector.json:
185         * inspector/front-end/ConsoleView.js:
186         (WebInspector.ConsoleView.prototype._format):
187         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
188         (WebInspector.ConsoleMessage.prototype._format):
189         * inspector/front-end/ElementsTreeOutline.js:
190         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
191         * inspector/front-end/ObjectPropertiesSection.js:
192         (WebInspector.ObjectPropertyTreeElement.prototype.update):
193         * inspector/front-end/PropertiesSidebarPane.js:
194         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
195         * inspector/front-end/RemoteObject.js:
196         (WebInspector.RemoteObject):
197         (WebInspector.RemoteObject.fromPrimitiveValue):
198         (WebInspector.RemoteObject.fromPayload):
199         (WebInspector.RemoteObject.prototype.get subtype):
200         (WebInspector.RemoteObject.prototype.callFunction):
201         (WebInspector.LocalJSONObject.prototype.get type):
202         (WebInspector.LocalJSONObject.prototype.get subtype):
203         * inspector/front-end/SourceFrame.js:
204         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
205         (WebInspector.SourceFrame.prototype._showPopup):
206         * inspector/front-end/inspector.js:
207         (WebInspector.log.logMessage):
208         (WebInspector.log):
209         (WebInspector.inspect):
210
211 2011-07-25  Mikhail Naganov  <mnaganov@chromium.org>
212
213         Web Inspector: [Chromium] Fix mixing of retaining path in heap profiler.
214         https://bugs.webkit.org/show_bug.cgi?id=65028
215
216         Reviewed by Pavel Feldman.
217
218         * inspector/front-end/DetailedHeapshotView.js:
219         (WebInspector.HeapSnapshotPathFinderState): Added
220         (WebInspector.HeapSnapshotRetainingPathsList): Extracted State-specific code
221
222 2011-07-25  Yury Semikhatsky  <yurys@chromium.org>
223
224         Web Inspector: worker inspector should show Scripts panel by default
225         https://bugs.webkit.org/show_bug.cgi?id=65099
226
227         Reviewed by Pavel Feldman.
228
229         * inspector/front-end/inspector.js:
230         (WebInspector._defaultPanelName):
231         (WebInspector.showPanel):
232
233 2011-07-24  Luke Macpherson   <macpherson@chromium.org>
234
235         Small cleanup of m_fontDirty tracking in CSSStyleSelector
236         https://bugs.webkit.org/show_bug.cgi?id=65090
237
238         Reviewed by Darin Adler.
239
240         1) Use existing setFontDescription helper where appropriate.
241         2) Move always used m_fontDirty check into updateFont()
242
243         No new tests / cleanup only.
244
245         * css/CSSStyleSelector.cpp:
246         (WebCore::CSSStyleSelector::styleForElement):
247         (WebCore::CSSStyleSelector::styleForKeyframe):
248         (WebCore::CSSStyleSelector::pseudoStyleForElement):
249         (WebCore::CSSStyleSelector::styleForPage):
250         (WebCore::CSSStyleSelector::updateFontIfDirty):
251         (WebCore::CSSStyleSelector::applyProperty):
252         * css/CSSStyleSelector.h:
253
254 2011-07-24  Kent Tamura  <tkent@chromium.org>
255
256         Validation message bubble position is incorrect if the containing block has paddings.
257         https://bugs.webkit.org/show_bug.cgi?id=65091
258
259         Reviewed by Hajime Morita.
260
261         * html/ValidationMessage.cpp:
262         (WebCore::adjustBubblePosition):
263         We don't need to subtract paddings because the origin of
264         position:aboslute is inside borders and outside of the padding.
265
266 2011-07-24  Rob Buis  <rbuis@rim.com>
267
268         Crash in SVGUseElement::updateContainerOffsets on <use> with no parent
269         https://bugs.webkit.org/show_bug.cgi?id=63646
270
271         Reviewed by Darin Adler.
272
273         Prevent using invalid targetElementInstance->shadowTreeElement after shadow render tree recreation. This situation can
274         only occur when there was a valid shadowTreeElement before setting xlink:href to empty/invalid.
275
276         Test: svg/custom/use-shadow-root-parent-removal.svg
277
278         * svg/SVGUseElement.cpp:
279         (WebCore::SVGUseElement::svgAttributeChanged):
280
281 2011-07-24  Patrick Gansterer  <paroga@webkit.org>
282
283         Fix AtomicString vs. String usage in JSC binding
284         https://bugs.webkit.org/show_bug.cgi?id=65085
285
286         Reviewed by Darin Adler.
287
288         Use ustringToAtomicString instead of ustringToString where appropriate.
289
290         * bindings/js/JSHTMLAllCollectionCustom.cpp:
291         * bindings/js/JSHTMLCollectionCustom.cpp:
292
293 2011-07-24  Luke Macpherson   <macpherson@chromium.org>
294
295         Implement CSSPropertyOutlineOffset in CSSStyleApplyProperty.
296         https://bugs.webkit.org/show_bug.cgi?id=64773
297
298         Reviewed by Dimitri Glazkov.
299
300         No new tests / refactoring only.
301
302         * css/CSSStyleApplyProperty.cpp:
303         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
304         * css/CSSStyleSelector.cpp:
305         (WebCore::CSSStyleSelector::applyProperty):
306
307 2011-07-24  Rob Buis  <rbuis@rim.com>
308
309         SVG <use> element is not repositioned when moved to x=0 y=0 through script 
310         https://bugs.webkit.org/show_bug.cgi?id=53767
311
312         Reviewed by Nikolas Zimmermann.
313
314         Only bail out on zero offset if it is not explicitly set.
315
316         Test: svg/custom/use-move-to-offset.svg
317
318         * rendering/svg/RenderSVGTransformableContainer.cpp:
319         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
320         * rendering/svg/SVGShadowTreeElements.cpp:
321         (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement):
322         (WebCore::SVGShadowTreeContainerElement::setContainerOffset):
323         * rendering/svg/SVGShadowTreeElements.h:
324         (WebCore::SVGShadowTreeContainerElement::containerOffsetChanged):
325         (WebCore::SVGShadowTreeContainerElement::setContainerOffsetChanged):
326
327 2011-07-24  Jeffrey Pfau  <jpfau@apple.com>
328
329         Refactor HTML tokenizer code in preparation for a new XML tokenizer
330         https://bugs.webkit.org/show_bug.cgi?id=65000
331
332         Reviewed by Adam Barth.
333
334         * GNUmakefile.list.am:
335         * WebCore.gypi:
336         * WebCore.pro:
337         * WebCore.vcproj/WebCore.vcproj:
338         * WebCore.xcodeproj/project.pbxproj:
339         * html/parser/HTMLDocumentParser.cpp:
340         (WebCore::HTMLNames::tokenizerStateForContextElement):
341         (WebCore::HTMLDocumentParser::pumpTokenizer):
342         * html/parser/HTMLTokenizer.cpp:
343         (WebCore::HTMLNames::isEndTagBufferingState):
344         (WebCore::HTMLTokenizer::HTMLTokenizer):
345         (WebCore::::shouldSkipNullCharacters):
346         (WebCore::HTMLTokenizer::reset):
347         (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
348         (WebCore::HTMLTokenizer::nextToken):
349         (WebCore::HTMLTokenizer::updateStateFor):
350         * html/parser/HTMLTokenizer.h:
351         (WebCore::HTMLTokenizer::emitAndResumeIn):
352         (WebCore::HTMLTokenizer::emitAndReconsumeIn):
353         (WebCore::HTMLTokenizer::saveEndTagNameIfNeeded):
354         * html/parser/HTMLTreeBuilder.cpp:
355         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
356         (WebCore::HTMLTreeBuilder::processEndTag):
357         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
358         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
359         (WebCore::HTMLTreeBuilder::processScriptStartTag):
360         * html/parser/TextDocumentParser.cpp:
361         (WebCore::TextDocumentParser::TextDocumentParser):
362         * html/parser/TextViewSourceParser.cpp:
363         (WebCore::TextViewSourceParser::TextViewSourceParser):
364         * xml/parser/MarkupTokenBase.h:
365         (WebCore::MarkupTokenBase::type):
366         * xml/parser/MarkupTokenizerBase.h: Added.
367         (WebCore::MarkupTokenizerBase::~MarkupTokenizerBase):
368         (WebCore::MarkupTokenizerBase::lineNumber):
369         (WebCore::MarkupTokenizerBase::columnNumber):
370         (WebCore::MarkupTokenizerBase::state):
371         (WebCore::MarkupTokenizerBase::setState):
372         (WebCore::MarkupTokenizerBase::forceNullCharacterReplacement):
373         (WebCore::MarkupTokenizerBase::setForceNullCharacterReplacement):
374         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::InputStreamPreprocessor):
375         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::nextInputCharacter):
376         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
377         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
378         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
379         (WebCore::MarkupTokenizerBase::MarkupTokenizerBase):
380         (WebCore::MarkupTokenizerBase::bufferCharacter):
381         (WebCore::MarkupTokenizerBase::emitAndResumeIn):
382         (WebCore::MarkupTokenizerBase::emitAndReconsumeIn):
383         (WebCore::MarkupTokenizerBase::emitEndOfFile):
384         (WebCore::MarkupTokenizerBase::reset):
385         (WebCore::MarkupTokenizerBase::haveBufferedCharacterToken):
386         * xml/parser/MarkupTokenizerInlineMethods.h: Added.
387         (WebCore::isTokenizerWhitespace):
388         (WebCore::advanceStringAndASSERTIgnoringCase):
389         (WebCore::advanceStringAndASSERT):
390
391 2011-07-23  Patrick Gansterer  <paroga@webkit.org>
392
393         Remove WTF namespace from isMainThread() calls
394         https://bugs.webkit.org/show_bug.cgi?id=65068
395
396         Reviewed by Sam Weinig.
397
398         Because of the using WTF::isMainThread in the header there is no
399         reason to include the namespace name when calling this function.
400
401         * bindings/js/JSMainThreadExecState.h:
402         * bindings/v8/DOMDataStore.cpp:
403         * bindings/v8/V8Binding.cpp:
404         * bindings/v8/V8DOMMap.cpp:
405         * bindings/v8/V8DOMWrapper.h:
406         * page/DOMWindow.cpp:
407         * page/History.cpp:
408
409 2011-07-23  Alok Priyadarshi  <alokp@chromium.org>
410
411         Switching off acceleration for small canvas broke gpu tests
412         https://bugs.webkit.org/show_bug.cgi?id=65053
413
414         Reviewed by Stephen White.
415
416         No new tests. These are supposed to fix existing canvas tests on gpu.
417
418         * html/canvas/CanvasRenderingContext2D.cpp:
419         (WebCore::shouldAccelerateCanvas):
420         * page/Settings.cpp:
421         (WebCore::Settings::Settings):
422         (WebCore::Settings::setLegacyAccelerated2dCanvasEnabled):
423         (WebCore::Settings::setMinimumAccelerated2dCanvasSize):
424         * page/Settings.h:
425         (WebCore::Settings::minimumAccelerated2dCanvasSize):
426
427 2011-07-23  Rob Buis  <rbuis@rim.com>
428
429         Freed SVGTRefElement used in SVGStyledElement::buildPendingResourcesIfNeeded
430         https://bugs.webkit.org/show_bug.cgi?id=64758
431
432         Reviewed by Nikolas Zimmermann.
433
434         Fix the crash by storing referenced content inside a shadow tree. This way removing child nodes of
435         the <tref> does not remove the referenced content.
436
437         * dom/Text.cpp:
438         (WebCore::Text::recalcStyle):
439         * dom/Text.h:
440         * svg/SVGTRefElement.cpp:
441         (WebCore::SVGShadowText::create):
442         (WebCore::SVGShadowText::SVGShadowText):
443         (WebCore::SVGShadowText::createRenderer):
444         (WebCore::SVGShadowText::recalcStyle):
445         (WebCore::SVGTRefElement::updateReferencedText):
446         (WebCore::SVGTRefElement::childShouldCreateRenderer):
447
448 2011-07-23  Shinya Kawanaka  <shinyak@google.com>
449
450         Display number field without using a thousand separator.
451         https://bugs.webkit.org/show_bug.cgi?id=65064
452
453         Reviewed by Kent Tamura.
454
455         Separated formatters for parsing and displaying.
456         Removed a test for thousand separator.
457
458         * manual-tests/input-number-localization.html:
459         Removed a test for thousand separator.
460         Made the test description more specific.
461         * platform/text/LocalizedNumberICU.cpp:
462         (WebCore::createFormatterForCurrentLocaleToDisplay):
463         Added to introduce a formatter for display.
464         (WebCore::numberFormatterForParsing):
465         Changed the name to be clear.
466         (WebCore::numberFormatterForDisplay): Added.
467         (WebCore::parseLocalizedNumber): Used numberFormatterForParsing.
468         (WebCore::formatLocalizedNumber): Used numberFormatterForDisplay.
469         * platform/text/mac/LocalizedNumberMac.mm:
470         (WebCore::createFormatterForCurrentLocaleForDisplay):
471         Added to introduce a formatter for display.
472         (WebCore::numberFormatterForParsing):
473         Changed the name to be clear.
474         (WebCore::numberFormatterForDisplay): Added.
475         (WebCore::parseLocalizedNumber): Used numberFormatterForParsing.
476         (WebCore::formatLocalizedNumber): Used numberFormatterForDisplay.
477
478 2011-07-22  James Robinson  <jamesr@chromium.org>
479
480         [chromium] Seperate texture management for contents textures vs render surface textures
481         https://bugs.webkit.org/show_bug.cgi?id=64771
482
483         Reviewed by Kenneth Russell.
484
485         Splits the chromium texture management across two TextureManagers, one for contents textures and one for render
486         surfaces.  The lifetimes and relative evicition costs for these types of textures are significantly different.
487         Content textures need to be managed from paint time through draw time and evicting them is generally expensive,
488         since replacing the texture requires doing a software repaint into a buffer, creating a new texture, and
489         uploading the contents into the texture.  Render surface textures are only used while drawing and never contain
490         useful contents between frames.  The only reason to preserve a render surface texture between frames is to avoid
491         having to create the texture on the next frame, they never contain useful contents across frames.
492
493         The contents texture limits remain the same.  Render surfaces are allocated the difference between the high
494         memory bound and the contents texture memory use during a frame and the difference between the low memory bound
495         and the contents texture memory use between frames.
496
497         Covered by existing compositing tests.
498
499         * platform/graphics/chromium/LayerRendererChromium.cpp:
500         (WebCore::LayerRendererChromium::releaseTextures):
501         (WebCore::LayerRendererChromium::drawLayers):
502         (WebCore::LayerRendererChromium::updateLayers):
503         (WebCore::LayerRendererChromium::initializeSharedObjects):
504         (WebCore::LayerRendererChromium::cleanupSharedObjects):
505         * platform/graphics/chromium/LayerRendererChromium.h:
506         (WebCore::LayerRendererChromium::contentsTextureManager):
507         (WebCore::LayerRendererChromium::renderSurfaceTextureManager):
508         * platform/graphics/chromium/LayerTilerChromium.cpp:
509         (WebCore::LayerTilerChromium::createTile):
510         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
511         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
512         * platform/graphics/chromium/TextureManager.cpp:
513         (WebCore::TextureManager::TextureManager):
514         (WebCore::TextureManager::setMemoryLimitBytes):
515         (WebCore::TextureManager::requestTexture):
516         * platform/graphics/chromium/TextureManager.h:
517         (WebCore::TextureManager::create):
518         (WebCore::TextureManager::currentMemoryUseBytes):
519         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
520         (WebCore::CCHeadsUpDisplay::draw):
521
522 2011-07-22  Simon Fraser  <simon.fraser@apple.com>
523
524         Avoiding painting backgrounds if they are fully obscures by an object's foreground
525         https://bugs.webkit.org/show_bug.cgi?id=65030
526
527         Reviewed by Dan Bernstein.
528
529         Some pages use animated loading GIFs as the background of <img>,
530         but WebKit keeps animating these after the <img> has loaded.
531         
532         Thwart this by avoiding the painting of such backgrounds, if we can
533         determine that they are completely obscured by the border and content
534         of the element.
535
536         * platform/graphics/BitmapImage.h:
537         (WebCore::BitmapImage::currentFrameHasAlpha): Utility method, since currentFrame()
538         is protected.
539         * rendering/RenderBox.cpp:
540         (WebCore::RenderBox::paintBoxDecorations): Call paintBackground().
541         (WebCore::RenderBox::paintBackground): New wrapper for the paintFillLayers() which
542         paints the background layers, plus some code we call in a couple of places. This
543         checks the new backgroundIsObscured() method before doing any painting.
544         * rendering/RenderBox.h:
545         (WebCore::RenderBox::backgroundIsObscured): New virtual method that determines
546         whether any of the background is visible.
547         * rendering/RenderBoxModelObject.h:
548         * rendering/RenderBoxModelObject.cpp:
549         (WebCore::BorderEdge::obscuresBackground): Returns true if this edge will
550         entirely hide the background under it.
551         (WebCore::RenderBoxModelObject::borderObscuresBackground): Determine whether
552         the border hides the background.
553         * rendering/RenderImage.cpp:
554         (WebCore::RenderImage::backgroundIsObscured): Override the RenderBox method
555         and return true if the image is a loaded, opaque bitmap image, and the background
556         won't show in the border or padding areas.
557         * rendering/RenderImage.h:
558         * rendering/RenderTable.cpp:
559         (WebCore::RenderTable::paintBoxDecorations): Use paintBackground().
560
561 2011-07-22  Kenneth Russell  <kbr@google.com>
562
563         HTMLImageElement::crossOrigin is hard to use because of caching
564         https://bugs.webkit.org/show_bug.cgi?id=64813
565
566         Reviewed by Adam Barth.
567
568         Reload the resource if the allowCredentials flag doesn't match that in the request.
569
570         Test: http/tests/security/canvas-remote-read-remote-image-blocked-then-allowed.html
571
572         * loader/cache/CachedResourceLoader.cpp:
573         (WebCore::CachedResourceLoader::requestResource):
574         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
575         * loader/cache/CachedResourceLoader.h:
576
577 2011-07-22  Simon Fraser  <simon.fraser@apple.com>
578
579         Need to update the acceleratesDrawing status on a layer when switching to/from tiled layers
580         https://bugs.webkit.org/show_bug.cgi?id=65057
581
582         Reviewed by Joseph Pecoraro.
583
584         When switching to or from tiled layers, we need to update the new layer's
585         acceleratesDrawing status.
586
587         * platform/graphics/ca/GraphicsLayerCA.cpp:
588         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
589
590 2011-07-22  Mark Pilgrim  <pilgrim@chromium.org>
591
592         Add [Optional=CallWithDefaultValues] flag and use it in initXXXEvent declarations
593         https://bugs.webkit.org/show_bug.cgi?id=64973
594
595         Reviewed by Adam Barth.
596
597         We are doing away with the interface-level LegacyDefaultOptionalArguments
598         flag. To handle some cases of the old behavior, we need to define a new
599         (argument-level) flag so that functions can define optional arguments
600         but not have to declare every single combination of arguments in C++.
601         The old code generator handled this by calling a single C++ function
602         with all arguments, but with default values for the "optional" arguments.
603         Thus, this patch invents a new argument-level flag called
604         [Optional=CallWithDefaultValue] that emulates the old behavior.
605
606         This patch also fixes all the initXXXEvent declarations to remove the
607         LegacyDefaultOptionalArguments flag and use the new
608         [Optional=CallWithDefaultValue] flag only on the specific arguments that
609         require it for backward compatibility.
610
611         No new tests, all existing tests pass.
612
613         * bindings/scripts/CodeGeneratorJS.pm:
614         (GenerateImplementation):
615         * bindings/scripts/CodeGeneratorV8.pm:
616         (GenerateFunctionCallback):
617         * dom/BeforeLoadEvent.idl:
618         * dom/BeforeProcessEvent.idl:
619         * dom/CompositionEvent.idl:
620         * dom/CustomEvent.idl:
621         * dom/DeviceMotionEvent.idl:
622         * dom/DeviceOrientationEvent.idl:
623         * dom/ErrorEvent.idl:
624         * dom/Event.idl:
625         * dom/HashChangeEvent.idl:
626         * dom/KeyboardEvent.idl:
627         * dom/MessageEvent.idl:
628         * dom/MouseEvent.idl:
629         * dom/MutationEvent.idl:
630         * dom/OverflowEvent.idl:
631         * dom/PageTransitionEvent.idl:
632         * dom/PopStateEvent.idl:
633         * dom/ProgressEvent.idl:
634         * dom/StreamEvent.idl:
635         * dom/TextEvent.idl:
636         * dom/TouchEvent.idl:
637         * dom/UIEvent.idl:
638         * dom/WebKitAnimationEvent.idl:
639         * dom/WebKitTransitionEvent.idl:
640         * dom/WheelEvent.idl:
641         * html/canvas/WebGLContextEvent.idl:
642         * storage/StorageEvent.idl:
643         * websockets/CloseEvent.idl:
644
645 2011-07-22  Jessie Berlin  <jberlin@apple.com>
646
647         [WebKit2] Changing the cookie accept policy in Private Browsing doesn’t work
648         https://bugs.webkit.org/show_bug.cgi?id=64997
649
650         Reviewed by Ada Chan.
651
652         * WebCore.exp.in:
653         * platform/mac/WebCoreSystemInterface.h:
654         * platform/mac/WebCoreSystemInterface.mm:
655
656 2011-07-22  Sergey Glazunov  <serg.glazunov@gmail.com>
657
658         Perform the JavaScript navigation check on a complete URL
659         https://bugs.webkit.org/show_bug.cgi?id=65038
660
661         Reviewed by Adam Barth.
662
663         Test: http/tests/security/xss-DENIED-document-baseURI-javascript.html
664
665         * page/DOMWindow.cpp:
666         (WebCore::DOMWindow::setLocation):
667         (WebCore::DOMWindow::createWindow):
668         (WebCore::DOMWindow::open):
669
670 2011-07-22  Ryosuke Niwa  <rniwa@webkit.org>
671
672         Revert r91595 for it broke Chromium Windows build.
673
674         * WebCore.gyp/WebCore.gyp:
675         * WebCore.gypi:
676
677 2011-07-22  Mihnea Ovidenie  <mihnea@adobe.com>
678
679         BORDER attribute with the IMG tag, using percentage values not working.
680         https://bugs.webkit.org/show_bug.cgi?id=20226
681
682         Reviewed by Simon Fraser.
683
684         When border presentational attribute of image element has % in it, it should be parsed using
685         HTML parser rules. In this case, the algorithm is the one used described in:
686         http://www.whatwg.org/specs/web-apps/current-work/#rules-for-parsing-non-negative-integers
687
688         * html/HTMLImageElement.cpp:
689         (WebCore::parseBorderWidthAttribute):
690         (WebCore::HTMLImageElement::parseMappedAttribute):
691         * html/parser/HTMLParserIdioms.cpp:
692         (WebCore::parseHTMLNonNegativeInteger):
693         * html/parser/HTMLParserIdioms.h:
694
695 2011-07-22  Scott Graham  <scottmg@chromium.org>
696
697         DocumentLoader keeps a reference to all URL strings ever loaded in m_resourcesClientKnowsAbout leading to lots of memory waste
698         https://bugs.webkit.org/show_bug.cgi?id=61894
699
700         Reviewed by James Robinson.
701
702         DocumentLoader::m_resourcesClientKnowsAbout is a set of all the URLs
703         that have passed through FrameLoader::dispatchWillSendRequest() and is
704         used by FrameLoader::loadedResourceFromMemoryCached to decide whether
705         to inform the FrameLoader's m_client about this load.  Unfortunately,
706         this set holds a reference to the URL string for every resource
707         loaded, so on pages that use data URLs to "load" large amounts of data
708         this leaks lots of memory. The cache improves performance going through
709         FrameLoader::loadResourceFromMemoryCache, so rather than removing it,
710         simply exclude 'data:' urls from the cache to save the majority of
711         memory that is held for too long.
712
713         * loader/DocumentLoader.h:
714         (WebCore::DocumentLoader::didTellClientAboutLoad):
715
716 2011-07-22  Alok Priyadarshi  <alokp@chromium.org>
717
718         Use software rendering for small canvas
719         https://bugs.webkit.org/show_bug.cgi?id=64958
720
721         Reviewed by Stephen White.
722
723         No new tests. Does not affect rendering output, just canvas backing.
724         If there is a regression, they should be caught by existing canvas tests.
725
726         * html/HTMLCanvasElement.cpp:
727         (WebCore::HTMLCanvasElement::reset):
728         * html/canvas/CanvasRenderingContext2D.cpp:
729         (WebCore::shouldAccelerateCanvas):
730         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
731         (WebCore::CanvasRenderingContext2D::reset):
732         (WebCore::CanvasRenderingContext2D::platformLayer):
733         (WebCore::CanvasRenderingContext2D::clearAcceleration):
734         (WebCore::CanvasRenderingContext2D::resetAcceleration):
735         * html/canvas/CanvasRenderingContext2D.h:
736
737 2011-07-21  Adrienne Walker  <enne@google.com>
738
739         Fix repainting of composited fixed position elements in iframes
740         https://bugs.webkit.org/show_bug.cgi?id=64010
741
742         Reviewed by Simon Fraser.
743
744         In cases where an iframe's contents have their own graphics layer, the
745         invalidation during scrolling was being sent to the wrong render
746         layer. Fixed by checking if such a layer exists and routing scrolling
747         invalidations there first.
748
749         * page/FrameView.cpp:
750         (WebCore::FrameView::scrollContentsSlowPath):
751
752 2011-07-22  Viet-Trung Luu  <viettrungluu@chromium.org>
753
754         Improve (i.e., speed up) .gyp(i) files for Chromium
755         https://bugs.webkit.org/show_bug.cgi?id=65032
756
757         Reviewed by Adam Barth.
758
759         Begin splitting off webcore_(privateheader_)files into separate lists
760         (dom/html/svg in this patch), to avoid the very slow pattern of
761         excluding all files and then filtering to include selected files.
762
763         Test by building (in all supported configurations).
764
765         * WebCore.gyp/WebCore.gyp:
766         * WebCore.gypi:
767
768 2011-07-22  Tony Chang  <tony@chromium.org>
769
770         add placeholder RenderFlexibleBox.cpp files
771         https://bugs.webkit.org/show_bug.cgi?id=64982
772
773         Reviewed by Ojan Vafai.
774
775         No new tests, just adding new files and making sure it compiles.
776         Also adding the isFlexibleBox identifier to RenderObject.
777
778         * CMakeLists.txt:
779         * GNUmakefile.list.am:
780         * WebCore.gypi:
781         * WebCore.pro:
782         * WebCore.vcproj/WebCore.vcproj:
783         * WebCore.xcodeproj/project.pbxproj:
784         * rendering/RenderFlexibleBox.cpp: Added.
785         (WebCore::RenderFlexibleBox::RenderFlexibleBox): Inherit from RenderBlock like the old flexbox.
786         (WebCore::RenderFlexibleBox::~RenderFlexibleBox):
787         (WebCore::RenderFlexibleBox::renderName):
788         (WebCore::RenderFlexibleBox::layoutBlock):
789         * rendering/RenderFlexibleBox.h: Added.
790         (WebCore::RenderFlexibleBox::isFlexibleBox):
791         * rendering/RenderObject.h:
792         (WebCore::RenderObject::isFlexibleBox):
793
794 2011-07-22  James Robinson  <jamesr@chromium.org>
795
796         [chromium] Force slow scrolling path for non-composited frames in a composited page
797         https://bugs.webkit.org/show_bug.cgi?id=64991
798
799         Reviewed by Darin Fisher.
800
801         The chromium compositor does not properly handle fast path scrolls for non-composited iframe in a composited
802         page.
803
804         * page/FrameView.cpp:
805         (WebCore::FrameView::useSlowRepaints):
806
807 2011-07-22  Andrew Scherkus  <scherkus@chromium.org>
808
809         Remove surfaceType() and texture() methods from Chromium video frame classes.
810         https://bugs.webkit.org/show_bug.cgi?id=64818
811
812         Reviewed by Kenneth Russell.
813
814         No tests as code was never being executed.
815
816         * platform/graphics/chromium/VideoFrameChromium.h:
817         * platform/graphics/chromium/VideoLayerChromium.cpp:
818         (WebCore::VideoLayerChromium::updateCompositorResources):
819         * platform/graphics/chromium/VideoLayerChromium.h:
820
821 2011-07-22  Nate Chapin  <japhet@chromium.org>
822
823         Don't treat child frame loads as back-forward navigations
824         after the load event fires. This can lead to loading
825         the wrong url in the child frame.
826         https://bugs.webkit.org/show_bug.cgi?id=64895
827
828         Reviewed by Mihai Parparita.
829
830         Test: fast/loader/child-frame-add-after-back-forward.html
831
832         * dom/Document.h: Drive-by FIXME.
833         * loader/DocumentLoader.h: Drive-by FIXME.
834         * loader/FrameLoader.cpp:
835         (WebCore::FrameLoader::loadURLIntoChildFrame):
836
837 2011-07-22  Kent Tamura  <tkent@google.com>
838
839         REGRESSION(r88757): The thumb of a vertical range slider is offset to the right on non-Mac.
840         https://bugs.webkit.org/show_bug.cgi?id=65011
841
842         Reviewed by Dimitri Glazkov.
843
844         We need to update the apeearance of thumbs before the layout of RenderSlider.
845
846         * html/shadow/SliderThumbElement.cpp:
847         (WebCore::RenderSliderThumb::updateAppearance):
848         Added. This function adjsuts the apparance of a thumb for the appearance of an <input>.
849         (WebCore::RenderSliderThumb::isSliderThumb):
850         Added.  Returns true.
851         (WebCore::RenderSliderThumb::layout):
852         Remove the appearance adjustment code. It is unnecessary because it is
853         done in RenderSlider::layout().
854         (WebCore::trackLimiterElementOf): Added.
855         * html/shadow/SliderThumbElement.h: Move RenderSliderThumb from SliderThumbElement.cpp.
856         * rendering/RenderObject.h:
857         (WebCore::RenderObject::isSliderThumb): Added. Returns false.
858         * rendering/RenderSlider.cpp:
859         (WebCore::RenderSlider::layout):
860         If the renderers for the thumb element and the limiter element is
861         RenderSliderThumb, updates its appearance.
862
863 2011-07-22  Kent Tamura  <tkent@chromium.org>
864
865         Validation message bubble is incorrectly positioned in a relative body.
866         https://bugs.webkit.org/show_bug.cgi?id=65018
867
868         Reviewed by Dimitri Glazkov.
869
870         We use position:aboslute for validation message bubbles, and the
871         origin of the absolute position can be not only the page, but also
872         an ancestor block with non-static position.
873
874         Test: fast/forms/validation-message-in-relative-body.html
875
876         * html/ValidationMessage.cpp:
877         (WebCore::adjustBubblePosition):
878         Subtract the containing block position from the host position.
879         (WebCore::ValidationMessage::buildBubbleTree):
880         Change the order of appendChild() and adjustBubblePosition() in
881         order to use RenderObject::containingBlock() in
882         adjustbubbleposition().
883
884 2011-07-22  David Grogan  <dgrogan@chromium.org>
885
886         Fix crash in IDBRequest::abort
887         https://bugs.webkit.org/show_bug.cgi?id=64740
888
889         Reviewed by Nate Chapin.
890
891         Tested manually with the testcase in the bug.
892
893         * storage/IDBRequest.cpp:
894         (WebCore::IDBRequest::~IDBRequest):
895         (WebCore::IDBRequest::abort):
896
897 2011-07-22  Patrick Gansterer  <paroga@webkit.org>
898
899         Replace preprocessor statements in IDL files with Conditional attribute
900         https://bugs.webkit.org/show_bug.cgi?id=64961
901
902         Reviewed by Darin Adler.
903
904         Replaced ENABLE_DATALIST, ENABLE_DIRECTORY_UPLOAD, ENABLE_INPUT_SPEECH, ENABLE_MEDIA_STATISTICS
905         and ENABLE_ORIENTATION_EVENTS with the corresponding Conditional attribute.
906
907         * html/HTMLBodyElement.idl:
908         * html/HTMLFrameSetElement.idl:
909         * html/HTMLInputElement.idl:
910         * html/HTMLMediaElement.idl:
911         * html/HTMLVideoElement.idl:
912
913 2011-07-22  Andrey Kosyakov  <caseq@chromium.org>
914
915         Web Inspector: [Extensions API] add webInspector.resources.onContentEdited
916         https://bugs.webkit.org/show_bug.cgi?id=65024
917
918         Reviewed by Pavel Feldman.
919
920         * inspector/front-end/ExtensionAPI.js:
921         (WebInspector.injectedExtensionAPI):
922         * inspector/front-end/ExtensionServer.js:
923         (WebInspector.ExtensionServer.prototype.notifyResourceContentEdited):
924         * inspector/front-end/Resource.js:
925         (WebInspector.Resource.prototype.addRevision):
926
927 2011-07-22  Pavel Podivilov  <podivilov@chromium.org>
928
929         Web Inspector: fix exception when paused in internal script.
930         https://bugs.webkit.org/show_bug.cgi?id=64995
931
932         Reviewed by Yury Semikhatsky.
933
934         Test: inspector/debugger/pause-in-internal-script.html
935
936         * inspector/front-end/DebuggerPresentationModel.js:
937         (WebInspector.PresenationCallFrame.prototype.sourceLine):
938
939 2011-07-22  Ilya Tikhonovsky  <loislo@chromium.org>
940
941         Web Inspector: sometimes ReceiveResponse event is attached to wrong parent.
942         https://bugs.webkit.org/show_bug.cgi?id=65016
943
944         Reviewed by Yury Semikhatsky.
945
946         Test: inspector/timeline/timeline-receive-response-event.html
947
948         * inspector/InspectorTimelineAgent.cpp:
949         (WebCore::InspectorTimelineAgent::didInstallTimer):
950         (WebCore::InspectorTimelineAgent::didRemoveTimer):
951         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
952         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
953         (WebCore::InspectorTimelineAgent::didTimeStamp):
954         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
955         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
956         (WebCore::InspectorTimelineAgent::appendRecord):
957         * inspector/InspectorTimelineAgent.h:
958         * inspector/front-end/TimelinePanel.js:
959         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
960
961 2011-07-22  Kentaro Hara  <haraken@google.com>
962
963         REGRESSION(r89535): Form reset does not repaint a file upload control.
964         https://bugs.webkit.org/show_bug.cgi?id=65008
965
966         Reviewed by Kent Tamura.
967
968         This patch fixes the code so that the file upload control is repainted
969         in updateFromElement() if no files are selected.
970
971         Tests: fast/forms/file-input-reset.html
972
973         * rendering/RenderFileUploadControl.cpp:
974         (WebCore::RenderFileUploadControl::updateFromElement): Calls repaint() if no files are selected.
975
976 2011-07-22  Ilya Tikhonovsky  <loislo@chromium.org>
977
978         Web Inspector: the max depth of the Timeline events' stack trace should be customizable.
979         https://bugs.webkit.org/show_bug.cgi?id=65023
980
981         Reviewed by Yury Semikhatsky.
982
983         * inspector/Inspector.json:
984         * inspector/InspectorController.cpp:
985         (WebCore::InspectorController::startTimelineProfiler):
986         * inspector/InspectorTimelineAgent.cpp:
987         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
988         (WebCore::InspectorTimelineAgent::restore):
989         (WebCore::InspectorTimelineAgent::start):
990         (WebCore::InspectorTimelineAgent::didInstallTimer):
991         (WebCore::InspectorTimelineAgent::didRemoveTimer):
992         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
993         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
994         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
995         (WebCore::InspectorTimelineAgent::didTimeStamp):
996         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
997         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
998         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
999         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
1000         * inspector/InspectorTimelineAgent.h:
1001         * inspector/TimelineRecordFactory.cpp:
1002         (WebCore::TimelineRecordFactory::createGenericRecord):
1003         * inspector/TimelineRecordFactory.h:
1004         * inspector/front-end/TimelineManager.js:
1005         (WebInspector.TimelineManager.prototype.start):
1006
1007 2011-07-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1008
1009         Unreviewed, rolling out r91024.
1010         http://trac.webkit.org/changeset/91024
1011         https://bugs.webkit.org/show_bug.cgi?id=65017
1012
1013         number of problems happened with invisible elements which grab
1014         pointer events. (Requested by loislo on #webkit).
1015
1016         * inspector/front-end/inspector.css:
1017         (.panel):
1018         (.panel.visible):
1019
1020 2011-07-22  Jia Pu  <jpu@apple.com>
1021
1022         Reviewed by Darin Adler.
1023
1024         [Mac] Need to make sure autocorrection panel is dismissed in Document::setFocusNode().
1025         https://bugs.webkit.org/show_bug.cgi?id=64824
1026         <rdar://problem/9624232>
1027
1028         * editing/Editor.cpp:
1029         (WebCore::Editor::textFieldDidEndEditing): Dismiss autocorrection panel when current node losing focus.
1030
1031 2011-07-21  Kent Tamura  <tkent@chromium.org>
1032
1033         A trivial fix for r91550.
1034         https://bugs.webkit.org/show_bug.cgi?id=65001
1035
1036         Need to update placeholder visibility when the owner elemnent style is changed.
1037
1038         * html/HTMLTextFormControlElement.h: Make updatePlaceholderVisibility() public.
1039         * rendering/RenderTextControl.cpp:
1040         (WebCore::RenderTextControl::styleDidChange):
1041         Call updatePlaceholderVisibility().
1042
1043 2011-07-21  Pratik Solanki  <psolanki@apple.com>
1044
1045         https://bugs.webkit.org/show_bug.cgi?id=65002
1046         Get authentication to work with USE(CFNETWORK) on Mac
1047
1048         Reviewed by David Kilzer.
1049
1050         Instead of creating a new CFURLAuthChallengeRef, we save and reuse the same object as the
1051         one given to us by CFNetwork.
1052
1053         * platform/network/mac/AuthenticationMac.mm:
1054         (-[WebCoreAuthenticationClientAsChallengeSender setCFChallenge:]): Accessor methods for the
1055         new CFURLAuthChallengeRef ivar.
1056         (-[WebCoreAuthenticationClientAsChallengeSender cfChallenge]):
1057         (WebCore::core): Create AuthenticationChallenge using the saved CFURLAuthChallengeRef.
1058         (WebCore::mac): Use the CFURLAuthChallengeRef object in AuthenticationChallenge instead of
1059         creating a new one.
1060
1061 2011-07-21  Kent Tamura  <tkent@chromium.org>
1062
1063         REGRESSION(r90971): Placeholder and search cancel button are visible even in elements with visibility:hidden.
1064         https://bugs.webkit.org/show_bug.cgi?id=65001
1065
1066         Reviewed by Dimitri Glazkov.
1067
1068         Tests: fast/forms/placeholder-in-invisible-elements.html
1069                fast/forms/search-cancel-in-invisible-elements.html
1070
1071         * html/HTMLTextFormControlElement.cpp:
1072         (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
1073         Don't show the placeholder if the 'visibility' property of the owner element is 'hidden.'
1074         * rendering/RenderTextControlSingleLine.cpp:
1075         (WebCore::RenderTextControlSingleLine::visibilityForCancelButton): ditto.
1076
1077 2011-07-21  Shinya Kawanaka  <shinyak@google.com>
1078
1079         The input[type="number"] with step="any" should not suffer from step mismatch.
1080         https://bugs.webkit.org/show_bug.cgi?id=64858
1081
1082         Reviewed by Kent Tamura.
1083
1084         Added check step="any" not to suffer from step mismatch.
1085
1086         * html/HTMLInputElement.cpp:
1087         (WebCore::HTMLInputElement::applyStep): Added check step="any".
1088         (WebCore::HTMLInputElement::alignValueForStep): Added.
1089
1090 2011-07-21  MORITA Hajime  <morrita@google.com>
1091
1092         [Refactoring] ShadowContentSelector should be ShadowInclusionSelector
1093         https://bugs.webkit.org/show_bug.cgi?id=64850
1094
1095         Reviewed by Dimitri Glazkov.
1096
1097         Renamed:
1098         - ShadowContentSelector -> ShadowInclusionSelector
1099         - ShadowContentSelector::findInclusionFor -> ShadowInclusionSelector::findFor
1100         - ShadowContentSelector::selectInclusion -> ShadowInclusionSelector::select
1101         - ShadowContentSelector::unselectInclusion -> ShadowInclusionSelector::unselect
1102         - ShadowContentSelector::didSelectInclusion -> ShadowInclusionSelector::didSelect
1103         - ShadowContentSelector::willSelectInclusionOver -> ShadowInclusionSelector::willSelectOver
1104         - ShadowContentSelector::hasChildren -> ShadowInclusionSelector::hasCandidates
1105         
1106         No new tests. Just a textual change.
1107
1108         * CMakeLists.txt:
1109         * GNUmakefile.list.am:
1110         * WebCore.gypi:
1111         * WebCore.pro:
1112         * WebCore.vcproj/WebCore.vcproj:
1113         * WebCore.xcodeproj/project.pbxproj:
1114         * dom/DOMAllInOne.cpp:
1115         * dom/NodeRenderingContext.cpp:
1116         * dom/ShadowContentElement.cpp:
1117         (WebCore::ShadowContentElement::attach):
1118         (WebCore::ShadowContentElement::detach):
1119         * dom/ShadowInclusionSelector.cpp: Renamed from Source/WebCore/dom/ShadowContentSelector.cpp.
1120         (WebCore::ShadowInclusion::append):
1121         (WebCore::ShadowInclusion::unlink):
1122         (WebCore::ShadowInclusionList::ShadowInclusionList):
1123         (WebCore::ShadowInclusionList::~ShadowInclusionList):
1124         (WebCore::ShadowInclusionList::find):
1125         (WebCore::ShadowInclusionList::clear):
1126         (WebCore::ShadowInclusionList::append):
1127         (WebCore::ShadowInclusionSelector::ShadowInclusionSelector):
1128         (WebCore::ShadowInclusionSelector::~ShadowInclusionSelector):
1129         (WebCore::ShadowInclusionSelector::select):
1130         (WebCore::ShadowInclusionSelector::unselect):
1131         (WebCore::ShadowInclusionSelector::findFor):
1132         (WebCore::ShadowInclusionSelector::didSelect):
1133         (WebCore::ShadowInclusionSelector::willSelectOver):
1134         * dom/ShadowInclusionSelector.h: Renamed from Source/WebCore/dom/ShadowContentSelector.h.
1135         (WebCore::ShadowInclusion::includer):
1136         (WebCore::ShadowInclusion::content):
1137         (WebCore::ShadowInclusion::next):
1138         (WebCore::ShadowInclusion::previous):
1139         (WebCore::ShadowInclusion::ShadowInclusion):
1140         (WebCore::ShadowInclusion::create):
1141         (WebCore::ShadowInclusionList::first):
1142         (WebCore::ShadowInclusionList::last):
1143         (WebCore::ShadowInclusionList::isEmpty):
1144         (WebCore::ShadowInclusionSet::add):
1145         (WebCore::ShadowInclusionSet::remove):
1146         (WebCore::ShadowInclusionSet::isEmpty):
1147         (WebCore::ShadowInclusionSet::Translator::hash):
1148         (WebCore::ShadowInclusionSet::Translator::equal):
1149         (WebCore::ShadowInclusionSet::Hash::hash):
1150         (WebCore::ShadowInclusionSet::Hash::equal):
1151         (WebCore::ShadowInclusionSet::find):
1152         (WebCore::ShadowInclusionSelector::hasCandidates):
1153         * dom/ShadowRoot.cpp:
1154         (WebCore::ShadowRoot::includerFor):
1155         (WebCore::ShadowRoot::attach):
1156         (WebCore::ShadowRoot::inclusions):
1157         (WebCore::ShadowRoot::ensureInclusions):
1158         * dom/ShadowRoot.h:
1159
1160 2011-07-21  Robin Qiu  <robin.qiu.dev@gmail.com>
1161
1162         https://bugs.webkit.org/show_bug.cgi?id=60737
1163
1164         ThumbPosition() in ScrollbarTheme should be ceiled before returned.
1165         Otherwise, some topest/leftest content can not be shown by dragging
1166         scrollbar thumb.
1167
1168
1169         Reviewed by Antonio Gomes.
1170
1171         Test: scrollbars/scrollbar-drag-thumb-with-large-content.html
1172
1173         * platform/ScrollbarThemeComposite.cpp:
1174         (WebCore::ScrollbarThemeComposite::thumbPosition):
1175         * platform/qt/ScrollbarThemeQt.cpp:
1176         (WebCore::ScrollbarThemeQt::thumbPosition):
1177
1178 2011-07-21  Simon Fraser  <simon.fraser@apple.com>
1179
1180         GraphicsLayers in subframes can get sync'd multiple times
1181         https://bugs.webkit.org/show_bug.cgi?id=52489
1182
1183         Reviewed by James Robinson.
1184         
1185         Avoid doing a 'syncCompositingState' pass on the GraphicsLayers
1186         for subframes, when those GraphicsLayers are rooted in the
1187         parent document.
1188
1189         * page/FrameView.cpp:
1190         (WebCore::FrameView::syncCompositingStateForThisFrame): Add a parameter
1191         that contains the rootmost frame on which sync was called. This is used
1192         to indicate to the compositor whether it's the root of the sync.
1193         (WebCore::FrameView::syncCompositingStateIncludingSubframes): Pass the current
1194         Frame in.
1195         (WebCore::FrameView::paintContents): The sync is for this frame, so pass m_frame.
1196         * page/FrameView.h:
1197         * rendering/RenderLayerCompositor.cpp:
1198         (WebCore::RenderLayerCompositor::flushPendingLayerChanges): New parameter
1199         to specify whether this compositor is in the rootmost Frame being flushed.
1200         We can avoid doing work if we know that flushing some ancestor frame would
1201         have also traversed our GraphicsLayers.
1202         * rendering/RenderLayerCompositor.h:
1203         (WebCore::RenderLayerCompositor::isFlushingLayers): Make this private, since
1204         callers are probably most intersted in enclosingCompositorFlushingLayers().
1205
1206 2011-07-21  Rafael Brandao  <rafael.lobo@openbossa.org>
1207
1208         Local files cannot load icons.
1209         https://bugs.webkit.org/show_bug.cgi?id=62459
1210         
1211         Previous policy only allowed favicons for pages whose protocol was part of HTTP family.
1212         Changed that to allow to any url that's not empty and whose protocol is not "about".
1213         Also added this check where it attempts to start loading the favicon, so it can avoid
1214         wasting time downloading a resource that won't be stored and won't be used.
1215
1216         Reviewed by Adam Barth.
1217
1218         Test: manual-tests/resources/favicon-loads-for-local-files.html
1219
1220         * loader/icon/IconController.cpp:
1221         (WebCore::IconController::startLoader): Added check to avoid to request a favicon
1222         when there's no way to store it.
1223         
1224         * loader/icon/IconDatabase.cpp:
1225         (WebCore::IconDatabase::documentCanHaveIcon): Renamed function "pageCanHaveIcon"
1226         to reflect better which url we're handling.
1227         
1228         (WebCore::IconDatabase::synchronousIconForPageURL): Ditto.
1229         (WebCore::IconDatabase::synchronousIconURLForPageURL): Ditto.
1230         (WebCore::IconDatabase::retainIconForPageURL): Ditto.
1231         (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
1232         (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
1233         (WebCore::IconDatabase::getOrCreatePageURLRecord): Ditto.
1234         (WebCore::IconDatabase::importIconURLForPageURL): Ditto.
1235         (WebCore::IconDatabase::performURLImport): Ditto.
1236         * loader/icon/IconDatabase.h:
1237         * loader/icon/IconDatabaseBase.h:
1238         (WebCore::IconDatabaseBase::documentCanHaveIcon): Added it as virtual to replace its
1239         default behavior of not allowing favicons when we have IconDatabase enabled.
1240         
1241         * manual-tests/resources/favicon-loads-for-local-files.html: Added.
1242         * manual-tests/resources/favicon.png: Added.
1243
1244 2011-07-21  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
1245
1246         Fix for bug 64046 - Wrong image height in absolutely positioned div in
1247         relatively positioned parent with bottom padding.
1248         https://bugs.webkit.org/show_bug.cgi?id=64046
1249
1250         Reviewed by David Hyatt.
1251
1252         Test: fast/css/absolute-child-with-percent-height-inside-relative-parent.html
1253
1254         * rendering/RenderBox.cpp:
1255         (WebCore::RenderBox::availableLogicalHeightUsing):
1256
1257 2011-07-21  Gavin Peters  <gavinp@chromium.org>
1258
1259         Extend the protector of a CSS style sheet.  Because checkLoaded() can recursively delete
1260         parent style elements, the protector should be extended to include the parent call.
1261
1262         https://bugs.webkit.org/show_bug.cgi?id=64736
1263
1264         Reviewed by Simon Fraser.
1265
1266         Test: fast/css/css-imports-2.html
1267
1268         * css/CSSStyleSheet.cpp:
1269         (WebCore::CSSStyleSheet::checkLoaded):
1270
1271 2011-07-21  Kenneth Russell  <kbr@google.com>
1272
1273         Update webglcontextlost / webglcontextrestored delivery to match spec changes
1274         https://bugs.webkit.org/show_bug.cgi?id=58621
1275
1276         Reviewed by James Robinson.
1277
1278         Updated conditions under which webglcontextrestored event is
1279         delivered to be spec compliant.
1280
1281         * html/canvas/WebGLRenderingContext.cpp:
1282         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
1283         (WebCore::WebGLRenderingContext::loseContext):
1284         (WebCore::WebGLRenderingContext::maybeRestoreContext):
1285         * html/canvas/WebGLRenderingContext.h:
1286
1287 2011-07-21  Dave Hyatt  <hyatt@apple.com>
1288
1289         https://bugs.webkit.org/show_bug.cgi?id=64975
1290         Elements that have columns (e.g., column-width or column-count non-auto) and elements that have
1291         column-spans establish block formatting contexts, and therefore they should not be allowing
1292         child margins to collapse with their own margins.
1293
1294         Reviewed by Beth Dakin.
1295
1296         Covered by existing tests.
1297
1298         * rendering/RenderBlock.cpp:
1299         (WebCore::RenderBlock::MarginInfo::MarginInfo):
1300
1301 2011-07-21  Matthew Delaney  <mdelaney@apple.com>
1302
1303         Add fast path for ImageBuffer::draw, Take 2.
1304         https://bugs.webkit.org/show_bug.cgi?id=64535
1305
1306         Reviewed by Simon Fraser.
1307
1308         No new tests. This patch doesn't change behavior; current tests are sufficient.
1309
1310         * platform/graphics/GraphicsContext.cpp:
1311         (WebCore::GraphicsContext::drawImage): Moved the main method version next to wrapper versions.
1312
1313         * platform/graphics/ImageBuffer.h:
1314         1) Added BackingStoreCopy enum for choosing to copy backing store or not in copyImage().
1315         2) Added copyNativeImage() behind USE(CG) - same as copyImage() but gives NativeImagePtr.
1316         * platform/graphics/cg/ImageBufferCG.cpp: Added new methods described above.
1317
1318         * platform/graphics/GraphicsContext.h: Adding drawNativeImage() for fast draw path.
1319         * platform/graphics/cg/GraphicsContextCG.cpp:
1320         (WebCore::GraphicsContext::drawNativeImage): Added. Draws a nativeImagePtr into context.
1321
1322         * platform/graphics/Image.h: Added imageWithColorSpace behind CG platform ifdef
1323         * platform/graphics/cg/ImageCG.cpp:
1324         (WebCore::BitmapImage::draw): Refactored out actual image drawing code into GraphicsContext,
1325         so that it can be used by more than just BitmapImage without having to copy code.
1326         (WebCore::Image::imageWithColorSpace): Made into an Image class function.
1327
1328         Updated copyImage() to use BackingStoreCopy:
1329         * platform/graphics/qt/ImageBufferQt.cpp
1330         * platform/graphics/filters/FETile.cpp
1331         * platform/graphics/cairo/ImageBufferCairo.cpp
1332         * platform/graphics/skia/ImageBufferSkia.cpp
1333         * platform/graphics/wx/ImageBufferWx.cpp
1334         * platform/graphics/wince/ImageBufferWinCE.cpp
1335         * svg/SVGFEImageElement.cpp
1336         * svg/graphics/SVGImage.cpp
1337         * html/HTMLCanvasElement.cpp
1338         * html/canvas/WebGLRenderingContext.cpp
1339         * rendering/svg/RenderSVGResourcePattern.cpp
1340
1341 2011-07-21  David Kilzer  <ddkilzer@apple.com>
1342
1343         <http://webkit.org/b/64972> Clean up generated HTMLEntityTable.cpp output
1344
1345         Reviewed by Eric Seidel.
1346
1347         * html/parser/create-html-entity-table:
1348         - Fix duplicate "EntityName" suffix on local variables (changes
1349           fooSemicolonEntityNameEntityName to fooSemicolonEntityName)
1350           for all 2138 symbols.
1351         - Add newlines to make source file human-readable (as originally
1352           intended).
1353         - Add static (const) keywords to local variables that are never
1354           referenced externally.
1355
1356 2011-07-21  Mark Pilgrim  <pilgrim@chromium.org>
1357
1358         Remove LegacyDefaultOptionalArguments flag from FileAPI
1359         https://bugs.webkit.org/show_bug.cgi?id=64539
1360
1361         Reviewed by Adam Barth.
1362
1363         No new tests, all existing tests pass.
1364
1365         * fileapi/Blob.idl:
1366         * fileapi/DirectoryEntry.idl:
1367         * fileapi/DirectoryEntrySync.idl:
1368         * fileapi/DirectoryReader.idl:
1369         * fileapi/EntriesCallback.idl:
1370         * fileapi/Entry.idl:
1371         * fileapi/EntryArray.idl:
1372         * fileapi/EntryArraySync.idl:
1373         * fileapi/EntryCallback.idl:
1374         * fileapi/EntrySync.idl:
1375         * fileapi/ErrorCallback.idl:
1376         * fileapi/FileCallback.idl:
1377         * fileapi/FileEntry.idl:
1378         * fileapi/FileList.idl:
1379         * fileapi/FileReader.idl:
1380         * fileapi/FileReaderSync.idl:
1381         * fileapi/FileSystemCallback.idl:
1382         * fileapi/FileWriter.idl:
1383         * fileapi/FileWriterCallback.idl:
1384         * fileapi/FileWriterSync.idl:
1385         * fileapi/MetadataCallback.idl:
1386         * fileapi/WebKitBlobBuilder.idl:
1387
1388 2011-07-21  Tony Chang  <tony@chromium.org>
1389
1390         sort WebCore.xcodeproj
1391         https://bugs.webkit.org/show_bug.cgi?id=64901
1392
1393         Unreviewed, just using sort-Xcode-project-file.
1394
1395         * WebCore.xcodeproj/project.pbxproj:
1396
1397 2011-07-21  Enrica Casucci  <enrica@apple.com>
1398
1399         Cannot click to position the caret to the right of an image with display:block style.
1400         https://bugs.webkit.org/show_bug.cgi?id=64962
1401         <rdar://problem/9446343>
1402
1403         Reviewed by David Hyatt.
1404
1405         Test: editing/selection/click-on-block-image.html
1406
1407         The current implementation of positionForPoint always returns the visible
1408         position to the left of the image, if the image has a block style.
1409         This patch changes the behavior for block styled images to match the behavior
1410         for inline images.
1411
1412         * rendering/RenderReplaced.cpp:
1413         (WebCore::RenderReplaced::positionForPoint): Modified to avoid relying entirely
1414         on InlineBox to calculate the position.
1415
1416 >>>>>>> .r91495
1417 2011-07-21  Pavel Feldman  <pfeldman@google.com>
1418
1419         Not reviewed: one liner typo fix in Inspector.json.
1420
1421         * inspector/Inspector.json:
1422
1423 2011-07-21  Sam Weinig  <sam@webkit.org>
1424
1425         CSS top margin collapses when paginating
1426         https://bugs.webkit.org/show_bug.cgi?id=64906
1427
1428         Reviewed by David Hyatt.
1429
1430         * rendering/RenderBlock.cpp:
1431         (WebCore::RenderBlock::collapseMargins):
1432         (WebCore::RenderBlock::estimateLogicalTopPosition):
1433         Update to only go down paginated path when we actually have a page height (so
1434         not in the case that we are just gathering breaks) and to call the version of
1435         of nextPageLogicalTop that actually returns the next page, even if we are at
1436         the boundary point.
1437
1438         (WebCore::RenderBlock::nextPageLogicalTopExcludingBoundaryPoint):
1439         (WebCore::RenderBlock::nextPageLogicalTopIncludingBoundaryPoint):
1440         Split into two functions which differ in how they deal with the boundary condition.
1441
1442         (WebCore::RenderBlock::applyBeforeBreak):
1443         (WebCore::RenderBlock::applyAfterBreak):
1444         Switch to call nextPageLogicalTopIncludingBoundaryPoint.
1445
1446         * rendering/RenderBlock.h:
1447         Add new functions declarations and comment them.
1448
1449 2011-07-21  Pavel Feldman  <pfeldman@google.com>
1450
1451         Web Inspector: RuntimeAgent.evaluateOn should not require "return X;" syntax.
1452         https://bugs.webkit.org/show_bug.cgi?id=64691
1453
1454         Reviewed by Yury Semikhatsky.
1455
1456         I'm introducing callFunctionOn that receives function declaration in order
1457         to make call site syntax clear.
1458
1459         Test: inspector/runtime/runtime-callFunctionOn.html
1460
1461         * inspector/InjectedScript.cpp:
1462         (WebCore::InjectedScript::callFunctionOn):
1463         * inspector/InjectedScript.h:
1464         * inspector/InjectedScriptSource.js:
1465         (.):
1466         * inspector/Inspector.json:
1467         * inspector/InspectorRuntimeAgent.cpp:
1468         (WebCore::InspectorRuntimeAgent::callFunctionOn):
1469         * inspector/InspectorRuntimeAgent.h:
1470         * inspector/front-end/ElementsTreeOutline.js:
1471         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode.dimensions):
1472         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
1473         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
1474         * inspector/front-end/PropertiesSidebarPane.js:
1475         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved.protoList):
1476         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
1477         * inspector/front-end/RemoteObject.js:
1478         (WebInspector.RemoteObject.prototype.callFunction):
1479
1480 2011-07-21  Andrew Wason  <rectalogic@rectalogic.com>
1481
1482         [Qt] Adopt existing GraphicsContext3D members (part 1)
1483         https://bugs.webkit.org/show_bug.cgi?id=64877
1484
1485         Reviewed by Noam Rosenthal.
1486
1487         Existing WebGL layout tests should test this.
1488
1489         Remove GraphicsContext3DInternal members and use the existing
1490         corresponding members from GraphicsContext3D instead.
1491         Move most of the GraphicsContext3DInternal constructor, destructor
1492         and the reshape() method into GraphicsContext3D.
1493         The GraphicsContext3D members will be needed when we adopt
1494         GraphicsContext3DOpenGL.cpp.
1495
1496         * platform/graphics/GraphicsContext3D.h:
1497         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1498         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
1499         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
1500         (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
1501         (WebCore::GraphicsContext3DInternal::boundingRect):
1502         (WebCore::GraphicsContext3DInternal::paint):
1503         (WebCore::GraphicsContext3D::GraphicsContext3D):
1504         (WebCore::GraphicsContext3D::~GraphicsContext3D):
1505         (WebCore::GraphicsContext3D::platformTexture):
1506         (WebCore::GraphicsContext3D::reshape):
1507         (WebCore::GraphicsContext3D::bindFramebuffer):
1508         (WebCore::GraphicsContext3D::getContextAttributes):
1509         (WebCore::GraphicsContext3D::getError):
1510         (WebCore::GraphicsContext3D::synthesizeGLError):
1511         (WebCore::GraphicsContext3D::markLayerComposited):
1512         (WebCore::GraphicsContext3D::markContextChanged):
1513         (WebCore::GraphicsContext3D::layerComposited):
1514         (WebCore::GraphicsContext3D::getExtensions):
1515
1516 2011-07-21  Pavel Feldman  <pfeldman@google.com>
1517
1518         Web Inspector: [protocol] extend setBreakpointByUrl request to accept incomplete URL (predicates)
1519         https://bugs.webkit.org/show_bug.cgi?id=60762
1520
1521         Reviewed by Yury Semikhatsky.
1522
1523         Test: inspector/debugger/debugger-set-breakpoint-regex.html
1524
1525         * inspector/Inspector.json:
1526         * inspector/InspectorDebuggerAgent.cpp:
1527         (WebCore::buildObjectForBreakpointCookie):
1528         (WebCore::matches):
1529         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1530         (WebCore::InspectorDebuggerAgent::didParseSource):
1531         * inspector/InspectorDebuggerAgent.h:
1532
1533 2011-07-21  Kent Tamura  <tkent@chromium.org>
1534
1535         REGRESSION(r88757): input[type=range] renders incorrectly in RTL context.
1536         https://bugs.webkit.org/show_bug.cgi?id=64904
1537
1538         Reviewed by Ryosuke Niwa.
1539
1540         Tests: fast/forms/input-appearance-range-rtl.html
1541
1542         * html/shadow/SliderThumbElement.cpp:
1543         (WebCore::RenderSliderThumb::layout):
1544         The thumb should be positioned based on 'right' CSS property instead of 'left.'
1545         (WebCore::SliderThumbElement::setPositionFromPoint):
1546         The fraction should be flipped in RTL.
1547
1548 2011-07-18  Vsevolod Vlasov  <vsevik@chromium.org>
1549
1550         Web Inspector: Remove networkDataRemoved field from resource.
1551         https://bugs.webkit.org/show_bug.cgi?id=64749
1552
1553         Reviewed by Pavel Feldman.
1554
1555         * inspector/front-end/NetworkManager.js:
1556         (WebInspector.NetworkManager.prototype.requestContent):
1557         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
1558         * inspector/front-end/NetworkPanel.js:
1559         (WebInspector.NetworkLogView.prototype._frameNavigated):
1560
1561 2011-07-21  Tommy Widenflycht  <tommyw@google.com>
1562
1563         MediaStream API: Merging MediaStreamContainer and MediaStreamList
1564         https://bugs.webkit.org/show_bug.cgi?id=64794
1565
1566         Reviewed by Tony Gentilcore.
1567
1568         * GNUmakefile.list.am:
1569         * dom/MediaStreamContainer.h: Removed.
1570         * dom/MediaStreamList.cpp:
1571         (WebCore::MediaStreamList::create):
1572         (WebCore::MediaStreamList::MediaStreamList):
1573         (WebCore::MediaStreamList::length):
1574         (WebCore::MediaStreamList::item):
1575         (WebCore::MediaStreamList::add):
1576         (WebCore::MediaStreamList::remove):
1577         (WebCore::MediaStreamList::contains):
1578         (WebCore::MediaStreamList::get):
1579         * dom/MediaStreamList.h:
1580
1581 2011-07-20  Yury Semikhatsky  <yurys@chromium.org>
1582
1583         Web Inspector: always open dedicated worker inspector in a new window not a new tab
1584         https://bugs.webkit.org/show_bug.cgi?id=64872
1585
1586         Reviewed by Pavel Feldman.
1587
1588         * inspector/front-end/WorkerManager.js:
1589         (WebInspector.WorkerManager.prototype.openWorkerInspector):
1590
1591 2011-07-21  MORITA Hajime  <morrita@google.com>
1592
1593         [Refactoring] Shadow inclusion cache should be managed by ShadowContentSelector
1594         https://bugs.webkit.org/show_bug.cgi?id=64849
1595
1596         Reviewed by Dimitri Glazkov.
1597
1598         This change is a reorg around Shadow inclusion mechanism.
1599         - Moved definition of ShadowInclusion, ShadowInclusionSet and ShadowInclusionList
1600           from ShadowContentElement.h to ShadowContentSelector.h, which is included
1601           from smaller number of places.
1602         - Moved ShadowInclusionSet from ShadowRoot to ShadowContentSelector
1603         - Made ShadowContentSelector's lifetime managed by ShadowRoot
1604           because ShadowInclusionSet is held by the selector.
1605         - Thus, there is no longer "active" selector (ShadowContentSelector::s_currentInstance)
1606           Because the selector is associated for each ShadowRoot object.
1607         
1608         No new tests. No behavior change.
1609
1610         * dom/NodeRenderingContext.cpp:
1611         * dom/ShadowContentElement.cpp:
1612         (WebCore::ShadowContentElement::ShadowContentElement):
1613         (WebCore::ShadowContentElement::attach):
1614         (WebCore::ShadowContentElement::detach):
1615         * dom/ShadowContentElement.h:
1616         (WebCore::ShadowContentElement::inclusions):
1617         * dom/ShadowContentSelector.cpp:
1618         (WebCore::ShadowInclusion::append):
1619         (WebCore::ShadowInclusion::unlink):
1620         (WebCore::ShadowInclusionList::ShadowInclusionList):
1621         (WebCore::ShadowInclusionList::~ShadowInclusionList):
1622         (WebCore::ShadowInclusionList::find):
1623         (WebCore::ShadowInclusionList::clear):
1624         (WebCore::ShadowInclusionList::append):
1625         (WebCore::ShadowContentSelector::ShadowContentSelector):
1626         (WebCore::ShadowContentSelector::~ShadowContentSelector):
1627         (WebCore::ShadowContentSelector::selectInclusion):
1628         (WebCore::ShadowContentSelector::unselectInclusion):
1629         (WebCore::ShadowContentSelector::findInclusionFor):
1630         (WebCore::ShadowContentSelector::didSelectInclusion):
1631         (WebCore::ShadowContentSelector::willSelectInclusionOver):
1632         * dom/ShadowContentSelector.h:
1633         (WebCore::ShadowInclusion::includer):
1634         (WebCore::ShadowInclusion::content):
1635         (WebCore::ShadowInclusion::next):
1636         (WebCore::ShadowInclusion::previous):
1637         (WebCore::ShadowInclusion::ShadowInclusion):
1638         (WebCore::ShadowInclusion::create):
1639         (WebCore::ShadowInclusionList::first):
1640         (WebCore::ShadowInclusionList::last):
1641         (WebCore::ShadowInclusionList::isEmpty):
1642         (WebCore::ShadowInclusionSet::add):
1643         (WebCore::ShadowInclusionSet::remove):
1644         (WebCore::ShadowInclusionSet::isEmpty):
1645         (WebCore::ShadowInclusionSet::Translator::hash):
1646         (WebCore::ShadowInclusionSet::Translator::equal):
1647         (WebCore::ShadowInclusionSet::Hash::hash):
1648         (WebCore::ShadowInclusionSet::Hash::equal):
1649         (WebCore::ShadowInclusionSet::find):
1650         (WebCore::ShadowContentSelector::hasChildren):
1651         * dom/ShadowRoot.cpp:
1652         (WebCore::ShadowRoot::~ShadowRoot):
1653         (WebCore::ShadowRoot::includerFor):
1654         (WebCore::ShadowRoot::attach):
1655         (WebCore::ShadowRoot::inclusions):
1656         (WebCore::ShadowRoot::ensureInclusions):
1657         * dom/ShadowRoot.h:
1658
1659 2011-07-21  Rohan McGovern  <rohan@mcgovern.id.au>
1660
1661         Reviewed by Noam Rosenthal.
1662
1663         [Qt] Qt5 Build Fix: remove useless use of qRound(int)
1664         https://bugs.webkit.org/show_bug.cgi?id=64907
1665
1666         Rounding an integer doesn't make sense.
1667         Since 2dcd3939a8bd5ff743e4c87f87b2d81b1a101467 in qtbase, this is not
1668         permitted to compile.
1669
1670         No new tests needed.
1671
1672         * platform/graphics/qt/FontPlatformDataQt.cpp:
1673         (WebCore::FontPlatformData::FontPlatformData): Eliminate qRound(int).
1674         * platform/qt/PlatformScreenQt.cpp:
1675         (WebCore::screenDepthPerComponent): Ditto.
1676
1677 2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
1678
1679         Fix a Valgrind failure caused by r91435.
1680
1681         * platform/ScrollableArea.cpp:
1682         (WebCore::ScrollableArea::ScrollableArea):
1683
1684 2011-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1685
1686         Unreviewed, rolling out r91332.
1687         http://trac.webkit.org/changeset/91332
1688         https://bugs.webkit.org/show_bug.cgi?id=64925
1689
1690         Crashes css3/images/optimize-contrast-canvas.html on safari-
1691         mac,chromium-mac (Requested by mikelawther on #webkit).
1692
1693         * html/HTMLCanvasElement.cpp:
1694         (WebCore::HTMLCanvasElement::makePresentationCopy):
1695         (WebCore::HTMLCanvasElement::copiedImage):
1696         * html/canvas/WebGLRenderingContext.cpp:
1697         (WebCore::WebGLRenderingContext::videoFrameToImage):
1698         * platform/graphics/GraphicsContext.cpp:
1699         (WebCore::GraphicsContext::drawImage):
1700         * platform/graphics/GraphicsContext.h:
1701         * platform/graphics/Image.h:
1702         * platform/graphics/ImageBuffer.h:
1703         * platform/graphics/cairo/ImageBufferCairo.cpp:
1704         (WebCore::ImageBuffer::copyImage):
1705         * platform/graphics/cg/GraphicsContextCG.cpp:
1706         * platform/graphics/cg/ImageBufferCG.cpp:
1707         (WebCore::ImageBuffer::copyImage):
1708         (WebCore::cgImage):
1709         (WebCore::ImageBuffer::draw):
1710         (WebCore::ImageBuffer::drawPattern):
1711         (WebCore::ImageBuffer::clip):
1712         (WebCore::ImageBuffer::toDataURL):
1713         * platform/graphics/cg/ImageCG.cpp:
1714         (WebCore::imageWithColorSpace):
1715         (WebCore::BitmapImage::draw):
1716         (WebCore::Image::drawPattern):
1717         * platform/graphics/filters/FETile.cpp:
1718         (WebCore::FETile::apply):
1719         * platform/graphics/qt/ImageBufferQt.cpp:
1720         (WebCore::ImageBuffer::copyImage):
1721         (WebCore::ImageBuffer::draw):
1722         (WebCore::ImageBuffer::drawPattern):
1723         * platform/graphics/skia/ImageBufferSkia.cpp:
1724         (WebCore::ImageBuffer::copyImage):
1725         * platform/graphics/wince/ImageBufferWinCE.cpp:
1726         (WebCore::ImageBuffer::copyImage):
1727         (WebCore::ImageBuffer::draw):
1728         (WebCore::ImageBuffer::drawPattern):
1729         * platform/graphics/wx/ImageBufferWx.cpp:
1730         (WebCore::ImageBuffer::copyImage):
1731         (WebCore::ImageBuffer::draw):
1732         (WebCore::ImageBuffer::drawPattern):
1733         * rendering/svg/RenderSVGResourcePattern.cpp:
1734         (WebCore::RenderSVGResourcePattern::applyResource):
1735         * svg/SVGFEImageElement.cpp:
1736         (WebCore::SVGFEImageElement::build):
1737         * svg/graphics/SVGImage.cpp:
1738         (WebCore::SVGImage::nativeImageForCurrentFrame):
1739
1740 2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
1741
1742         Chromium build fix after r91440.
1743
1744         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1745         (WebCore::ScrollbarThemeChromiumMac::paint):
1746
1747 2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
1748
1749         Build fix after r91435.
1750
1751         * platform/mac/ScrollViewMac.mm:
1752         (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
1753
1754 2011-07-20  Tim Horton  <timothy_horton@apple.com>
1755
1756         Reviewed by Darin Adler.
1757
1758         Errors encountered within SVG documents should be reported to the console
1759         https://bugs.webkit.org/show_bug.cgi?id=62599
1760         <rdar://problem/9727074>
1761
1762         Add SVGLength::construct, which can be used to construct an SVGLength
1763         as normal, but returns an SVGParsingError via a reference argument.
1764         The function also takes another argument, which is whether or not
1765         the SVGLength value is allowed to be negative. If not, an error is
1766         thrown. It defaults to allowing negatives if not specified.
1767
1768         * GNUmakefile.list.am:
1769         * svg/SVGLength.cpp:
1770         (WebCore::SVGLength::construct):
1771         (WebCore::SVGLength::rawValue):
1772         * svg/SVGLength.h:
1773         * svg/SVGElement.h:
1774         * svg/SVGParsingError.h: Added.
1775         * WebCore.gypi:
1776         * WebCore.pro:
1777         * WebCore.vcproj/WebCore.vcproj:
1778         * WebCore.xcodeproj/project.pbxproj:
1779
1780 2011-07-20  Levi Weintraub  <leviw@chromium.org>
1781
1782         Switch getTransformFromContainer and its uses to new layout types
1783         https://bugs.webkit.org/show_bug.cgi?id=64908
1784
1785         Reviewed by Simon Fraser.
1786
1787         Switching getTransformFromContainer and its uses to use the new Layout
1788         Types from strictly integer ones.
1789
1790         No new tests, no new functionality.
1791
1792         * rendering/RenderBox.cpp:
1793         (WebCore::RenderBox::mapLocalToContainer):
1794         * rendering/RenderInline.cpp:
1795         (WebCore::RenderInline::mapLocalToContainer):
1796         * rendering/RenderLayer.cpp:
1797         (WebCore::RenderLayer::createLocalTransformState):
1798         * rendering/RenderObject.cpp:
1799         (WebCore::RenderObject::getTransformFromContainer):
1800         * rendering/RenderObject.h:
1801         * rendering/RenderView.cpp:
1802         (WebCore::RenderView::mapLocalToContainer):
1803         (WebCore::RenderView::mapAbsoluteToLocalPoint):
1804
1805 2011-07-20  Tim Horton  <timothy_horton@apple.com>
1806
1807         Scrollbar color heuristic needs to be hooked up in WebKit1
1808         https://bugs.webkit.org/show_bug.cgi?id=64220
1809         <rdar://problem/9589140>
1810
1811         Reviewed by Darin Adler.
1812
1813         Store the scroller style on ScrollableArea, and recompute it whenever
1814         the document or body element background color changes or the base background
1815         color of the scrollview changes. Also, make sure to repaint the scrollbars
1816         whenever the style changes.
1817
1818         No new tests, since this code is only enabled on future versions of Mac OS X.
1819
1820         * WebCore.exp.in:
1821         * page/Frame.cpp:
1822         (WebCore::Frame::getDocumentBackgroundColor):
1823         * page/Frame.h:
1824         * page/FrameView.cpp:
1825         (WebCore::FrameView::recalculateScrollbarOverlayStyle):
1826         (WebCore::FrameView::setBaseBackgroundColor):
1827         (WebCore::FrameView::documentBackgroundColor): Renamed.
1828         * page/FrameView.h:
1829         * platform/ScrollView.cpp:
1830         (WebCore::ScrollView::setScrollbarOverlayStyle):
1831         * platform/ScrollView.h:
1832         * platform/ScrollableArea.cpp:
1833         (WebCore::ScrollableArea::setScrollbarOverlayStyle):
1834         * platform/ScrollableArea.h:
1835         (WebCore::ScrollableArea::scrollbarOverlayStyle):
1836         * platform/ScrollbarTheme.h:
1837         (WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
1838         * platform/mac/ScrollViewMac.mm:
1839         (WebCore::toNSScrollerKnobStyle):
1840         (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
1841         * platform/mac/ScrollbarThemeMac.h:
1842         * platform/mac/ScrollbarThemeMac.mm:
1843         (WebCore::toScrollbarPainterKnobStyle):
1844         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
1845         (WebCore::ScrollbarThemeMac::paint):
1846         * rendering/RenderBox.cpp:
1847         (WebCore::RenderBox::styleDidChange):
1848
1849 2011-07-20  Luke Macpherson   <macpherson@chromium.org>
1850
1851         Implement CSSPropertyWebkitTransformOriginZ and Origin in CSSStyleApplyProperty.
1852         https://bugs.webkit.org/show_bug.cgi?id=64785
1853         Note that this changes a cast from
1854           computed length double -> 28 bit int -> float
1855         to
1856           computed length double -> float
1857         I couldn't see any reason in the code that this was strictly necessary,
1858         however it may have been so that X,Y,Z all have the same behavior, even though Z itself is not stored in a Length.
1859
1860         Reviewed by Simon Fraser.
1861
1862         No new tests / refactoring.
1863
1864         * css/CSSStyleApplyProperty.cpp:
1865         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1866         * css/CSSStyleSelector.cpp:
1867         (WebCore::CSSStyleSelector::applyProperty):
1868
1869 2011-07-20  Tony Chang  <tony@chromium.org>
1870
1871         Remove stray reference to StyleFlexibleBoxData.h that was accidentally
1872         added in r91402.
1873
1874         * WebCore.xcodeproj/project.pbxproj:
1875
1876 2011-07-20  Levi Weintraub  <leviw@chromium.org>
1877
1878         Bring Int/Float graphics classes closer to parity
1879         https://bugs.webkit.org/show_bug.cgi?id=64833
1880
1881         Reviewed by James Robinson.
1882
1883         In preparation of switching to Floating point data structures, bringing the
1884         functionality and method names of the Int/Float graphics classes close together.
1885
1886         Also fixing some compiler errors when using Floats for layout units along the way.
1887
1888         No new tests, no functionality change.
1889
1890         * page/FrameView.cpp:
1891         (WebCore::FrameView::convertFromRenderer):
1892         * platform/ScrollView.cpp:
1893         (WebCore::ScrollView::wheelEvent):
1894         * platform/ScrollView.h:
1895         (WebCore::ScrollView::convertChildToSelf):
1896         (WebCore::ScrollView::convertSelfToChild):
1897         * platform/graphics/FloatPoint.h:
1898         (WebCore::operator-): Adding a single-parameter version.
1899         * platform/graphics/FloatSize.cpp:
1900         (WebCore::FloatSize::isZero): Adding isZero that uses epsilon for floats.
1901         * platform/graphics/FloatSize.h:
1902         * platform/graphics/IntPoint.h:
1903         (WebCore::IntPoint::moveBy): Renaming IntPoint version to moveBy to mirror FloatPoint.
1904         * platform/graphics/RoundedRect.cpp:
1905         (WebCore::RoundedRect::Radii::expand): Switching to specific templatized max.
1906         * platform/graphics/filters/FilterEffect.cpp:
1907         (WebCore::FilterEffect::requestedRegionOfInputImageData):
1908         * rendering/RenderBlock.cpp: Moving outstanding Int* functions to Layout units.
1909         (WebCore::RenderBlock::paintContinuationOutlines):
1910         (WebCore::RenderBlock::logicalRectToPhysicalRect):
1911         * rendering/RenderBlock.h:
1912         * rendering/RenderBox.cpp:
1913         (WebCore::RenderBox::positionForPoint):
1914         * rendering/RenderTable.cpp:
1915         (WebCore::RenderTable::subtractCaptionRect):
1916         * rendering/RenderTable.h:
1917         * rendering/RenderTableCell.cpp:
1918         (WebCore::RenderTableCell::styleOrColLogicalWidth):
1919         (WebCore::RenderTableCell::setOverrideSizeFromRowHeight):
1920         (WebCore::RenderTableCell::paintCollapsedBorder):
1921         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
1922         * rendering/RenderTableCell.h:
1923         * rendering/RenderView.h:
1924         (WebCore::RenderView::pushLayoutState):
1925         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
1926         (WebCore::LayoutStateMaintainer::push):
1927         * rendering/RootInlineBox.cpp:
1928         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
1929         (WebCore::setAscentAndDescent):
1930         * rendering/RootInlineBox.h:
1931
1932 2011-07-20  Scott Graham  <scottmg@chromium.org>
1933
1934         mouseover reporting incorrect mouse button, when the button isn't
1935         down. https://bugs.webkit.org/show_bug.cgi?id=64882
1936
1937         Reviewed by Eric Seidel.
1938
1939         Don't increment the button returned in 'which' unless the button is
1940         actually down.
1941
1942         Test: fast/events/mouseover-button.html
1943
1944         * dom/MouseEvent.cpp:
1945         (WebCore::MouseEvent::which):
1946
1947 2011-07-20  Kenneth Russell  <kbr@google.com>
1948
1949         Add restoreContext() to WEBKIT_lose_context
1950         https://bugs.webkit.org/show_bug.cgi?id=58626
1951
1952         Reviewed by James Robinson.
1953
1954         Added the restoreContext() entry point to the WEBKIT_lose_context
1955         extension. Refactored and simplified the logic associated with context
1956         loss and restoration.
1957
1958         A subsequent patch will make the delivery of the webglcontextrestored
1959         event spec compliant.
1960
1961         * html/canvas/WebGLRenderingContext.cpp:
1962         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
1963         (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback):
1964         (WebCore::WebGLRenderingContextLostCallback::onContextLost):
1965         (WebCore::WebGLRenderingContext::isContextLost):
1966         (WebCore::WebGLRenderingContext::forceLostContext):
1967         (WebCore::WebGLRenderingContext::forceRestoreContext):
1968         (WebCore::WebGLRenderingContext::loseContext):
1969         (WebCore::WebGLRenderingContext::maybeRestoreContext):
1970         * html/canvas/WebGLRenderingContext.h:
1971         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):
1972         * html/canvas/WebKitLoseContext.cpp:
1973         (WebCore::WebKitLoseContext::loseContext):
1974         (WebCore::WebKitLoseContext::restoreContext):
1975         * html/canvas/WebKitLoseContext.h:
1976         * html/canvas/WebKitLoseContext.idl:
1977
1978 2011-07-20  Tony Chang  <tony@chromium.org>
1979
1980         Pass -webkit-flex() values on to RenderStyle
1981         https://bugs.webkit.org/show_bug.cgi?id=64038
1982
1983         Reviewed by Eric Seidel.
1984
1985         No new tests, this just copies data to RenderStyle, which we can
1986         then access when doing layout.  Tests will come with the layout
1987         changes.
1988
1989         * css/CSSStyleApplyProperty.cpp:
1990         (WebCore::ApplyPropertyLength::applyValue):
1991         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1992
1993 2011-07-20  Daniel Bates  <dbates@rim.com>
1994
1995         Attempt to fix the GTK build after changeset 91396 <http://trac.webkit.org/changeset/91396>
1996         (https://bugs.webkit.org/show_bug.cgi?id=64764).
1997
1998         * xml/parser/MarkupTokenBase.h: #include <stdio.h> in debug build for printf(3), which is used in
1999         MarkupTokenBase::printString() and MarkupTokenBase::printAttrs().
2000
2001 2011-07-19  Vsevolod Vlasov  <vsevik@chromium.org>
2002
2003         Web Inspector: Add support for disabling cache in web inspector.
2004         https://bugs.webkit.org/show_bug.cgi?id=64097
2005
2006         Reviewed by Pavel Feldman.
2007
2008         Tests: http/tests/inspector/network/network-disable-cache-memory.html
2009                http/tests/inspector/network/network-disable-cache-xhrs.html
2010
2011         * English.lproj/localizedStrings.js:
2012         * inspector/Inspector.json:
2013         * inspector/InspectorClient.h:
2014         (WebCore::InspectorClient::setCacheDisabled):
2015         * inspector/InspectorResourceAgent.cpp:
2016         (WebCore::InspectorResourceAgent::willSendRequest):
2017         (WebCore::InspectorResourceAgent::enable):
2018         (WebCore::InspectorResourceAgent::disable):
2019         (WebCore::InspectorResourceAgent::setCacheDisabled):
2020         * inspector/InspectorResourceAgent.h:
2021         * inspector/front-end/NetworkManager.js:
2022         (WebInspector.NetworkManager.prototype.inflightResourceForURL):
2023         (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
2024         * inspector/front-end/Settings.js:
2025         (WebInspector.Settings):
2026         * inspector/front-end/SettingsScreen.js:
2027         (WebInspector.SettingsScreen):
2028
2029 2011-07-20  Peter Kasting  <pkasting@google.com>
2030
2031         Remove "const" from obviously-non-const accessors
2032         https://bugs.webkit.org/show_bug.cgi?id=62302
2033
2034         Reviewed by Darin Adler.
2035
2036         No functional change, so no new tests.
2037
2038         * WebCore.exp.in: Adjust function names to reflect non-constness.
2039         * dom/Element.cpp:
2040         (WebCore::Element::cloneElementWithoutAttributesAndChildren): Not const, calls non-const function Document::createElement().
2041         (WebCore::Element::scrollLeft): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2042         (WebCore::Element::scrollTop): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2043         (WebCore::Element::scrollWidth): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2044         (WebCore::Element::scrollHeight): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2045         (WebCore::Element::boundsInWindowSpace): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2046         (WebCore::Element::getClientRects): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2047         (WebCore::Element::getBoundingClientRect): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2048         (WebCore::Element::innerText): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2049         (WebCore::Element::outerText): Not const, calls newly non-const function Element::innerText().
2050         * dom/Element.h:
2051         * dom/Node.cpp:
2052         (WebCore::Node::isContentEditable): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2053         (WebCore::Node::shouldUseInputMethod): Not const, calls newly non-const function Node::isContentEditable().
2054         * dom/Node.h:
2055         * dom/OptionElement.h: Virtual function OptionElement::selected() not const because HTMLOptionElement implementation is non-const.
2056         * html/HTMLAnchorElement.cpp:
2057         (WebCore::HTMLAnchorElement::text): Not const, calls newly non-const function Element::innerText().
2058         * html/HTMLAnchorElement.h:
2059         * html/HTMLAppletElement.cpp:
2060         (WebCore::HTMLAppletElement::renderWidgetForJSBindings): Not const, calls non-const function RenderApplet::createWidgetIfNecessary().
2061         * html/HTMLAppletElement.h:
2062         * html/HTMLAreaElement.cpp:
2063         (WebCore::HTMLAreaElement::imageElement): Not const, calls newly non-const function HTMLMapElement::imageElement().
2064         * html/HTMLAreaElement.h:
2065         * html/HTMLBodyElement.cpp:
2066         (WebCore::HTMLBodyElement::scrollLeft): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2067         (WebCore::HTMLBodyElement::scrollTop): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2068         (WebCore::HTMLBodyElement::scrollHeight): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2069         (WebCore::HTMLBodyElement::scrollWidth): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2070         * html/HTMLBodyElement.h:
2071         * html/HTMLEmbedElement.cpp:
2072         (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Not const, calls non-const function Document::createElement().
2073         * html/HTMLEmbedElement.h:
2074         * html/HTMLFrameElementBase.cpp:
2075         (WebCore::HTMLFrameElementBase::width): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2076         (WebCore::HTMLFrameElementBase::height): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2077         * html/HTMLFrameElementBase.h:
2078         * html/HTMLImageElement.cpp:
2079         (WebCore::HTMLImageElement::width): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2080         (WebCore::HTMLImageElement::height): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2081         * html/HTMLImageElement.h:
2082         * html/HTMLInputElement.cpp:
2083         (WebCore::HTMLInputElement::shouldUseInputMethod): Virtual function not const because Node implementation is non-const.
2084         * html/HTMLInputElement.h:
2085         * html/HTMLKeygenElement.cpp:
2086         (WebCore::KeygenSelectElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
2087         * html/HTMLMapElement.cpp:
2088         (WebCore::HTMLMapElement::imageElement): Not const, calls non-const function Document::images().
2089         * html/HTMLMapElement.h:
2090         * html/HTMLObjectElement.cpp:
2091         (WebCore::HTMLObjectElement::renderWidgetForJSBindings): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2092         * html/HTMLObjectElement.h:
2093         * html/HTMLOptionElement.cpp:
2094         (WebCore::HTMLOptionElement::selected): Not const, calls non-const function HTMLSelectElement::recalcListItemsIfNeeded().
2095         * html/HTMLOptionElement.h:
2096         * html/HTMLPlugInElement.cpp: Virtual function HTMLPlugInElement::renderWidgetForJSBindings() not const because various subclass implementations are non-const.
2097         (WebCore::HTMLPlugInElement::getInstance): Not const, calls newly non-const function HTMLPlugInElement::pluginWidget().
2098         (WebCore::HTMLPlugInElement::pluginWidget): Not const, calls newly non-const function HTMLPlugInElement::renderWidgetForJSBindings().
2099         * html/HTMLPlugInElement.h:
2100         * html/HTMLScriptElement.cpp:
2101         (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
2102         * html/HTMLScriptElement.h:
2103         * html/HTMLTextAreaElement.cpp:
2104         (WebCore::HTMLTextAreaElement::shouldUseInputMethod): Virtual function not const because Node implementation is non-const.
2105         * html/HTMLTextAreaElement.h:
2106         * html/shadow/SliderThumbElement.h:
2107         (WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
2108         * rendering/svg/SVGShadowTreeElements.cpp:
2109         (WebCore::SVGShadowTreeContainerElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
2110         * rendering/svg/SVGShadowTreeElements.h:
2111         * svg/SVGAnimateElement.cpp:
2112         (WebCore::SVGAnimateElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
2113         * svg/SVGAnimateElement.h:
2114         * svg/SVGAnimateMotionElement.cpp:
2115         (WebCore::SVGAnimateMotionElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
2116         * svg/SVGAnimateMotionElement.h:
2117         * svg/SVGAnimateTransformElement.cpp:
2118         (WebCore::SVGAnimateTransformElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
2119         * svg/SVGAnimateTransformElement.h:
2120         * svg/SVGAnimationElement.cpp:
2121         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): Not const, calls newly non-const function SVGSMILElement::targetElement().
2122         * svg/SVGAnimationElement.h:
2123         * svg/SVGElement.cpp:
2124         (WebCore::SVGElement::accessDocumentSVGExtensions): Not const, calls non-const function Document::accessSVGExtensions().
2125         (WebCore::SVGElement::boundingBox): Not const, calls newly non-const function SVGStyledLocatableElement::getBBox().
2126         * svg/SVGElement.h:
2127         * svg/SVGLocatable.cpp:
2128         (WebCore::SVGLocatable::getBBox): Argument not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets() on argument.
2129         (WebCore::SVGLocatable::computeCTM): Argument not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets() on argument.
2130         (WebCore::SVGLocatable::getTransformToElement): Not const, calls newly non-const function SVGLocatable::getCTM().
2131         * svg/SVGLocatable.h: Virtual functions SVGLocatable::getBBox(), SVGLocatable::getCTM(), and SVGLocatable::getScreenCTM() not const because various subclass implementations are non-const.
2132         * svg/SVGScriptElement.cpp:
2133         (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
2134         * svg/SVGScriptElement.h:
2135         * svg/SVGStyledElement.cpp:
2136         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded): Not const, calls non-const function Document::accessSVGExtensions().
2137         * svg/SVGStyledElement.h:
2138         * svg/SVGStyledLocatableElement.cpp:
2139         (WebCore::SVGStyledLocatableElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
2140         (WebCore::SVGStyledLocatableElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
2141         (WebCore::SVGStyledLocatableElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
2142         * svg/SVGStyledLocatableElement.h:
2143         * svg/SVGStyledTransformableElement.cpp:
2144         (WebCore::SVGStyledTransformableElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
2145         (WebCore::SVGStyledTransformableElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
2146         (WebCore::SVGStyledTransformableElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
2147         (WebCore::SVGStyledTransformableElement::toClipPath): Virtual function not const because SVGUseElement implementation is non-const.
2148         * svg/SVGStyledTransformableElement.h:
2149         * svg/SVGTextContentElement.cpp:
2150         (WebCore::SVGTextContentElement::getNumberOfChars): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2151         (WebCore::SVGTextContentElement::getComputedTextLength): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2152         (WebCore::SVGTextContentElement::getSubStringLength): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2153         (WebCore::SVGTextContentElement::getStartPositionOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2154         (WebCore::SVGTextContentElement::getEndPositionOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2155         (WebCore::SVGTextContentElement::getExtentOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2156         (WebCore::SVGTextContentElement::getRotationOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2157         (WebCore::SVGTextContentElement::getCharNumAtPosition): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2158         (WebCore::SVGTextContentElement::selectSubString): Not const, calls newly non-const static function SVGTextContentElement::getNumberOfChars().
2159         * svg/SVGTextContentElement.h:
2160         * svg/SVGTextElement.cpp:
2161         (WebCore::SVGTextElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
2162         (WebCore::SVGTextElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
2163         (WebCore::SVGTextElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
2164         * svg/SVGTextElement.h:
2165         * svg/SVGUseElement.cpp:
2166         (WebCore::SVGUseElement::instanceRoot): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
2167         (WebCore::isDirectReference):
2168         (WebCore::SVGUseElement::toClipPath): Not const, calls non-const function Document::accessSVGExtensions().
2169         * svg/SVGUseElement.h:
2170         * svg/animation/SVGSMILElement.cpp:
2171         (WebCore::SVGSMILElement::eventBaseFor): Not const, calls newly non-const function SVGSMILElement::targetElement().
2172         (WebCore::SVGSMILElement::targetElement): Not const, calls non-const function Document::accessSVGExtensions().
2173         * svg/animation/SVGSMILElement.h: Virtual function SVGSMILElement::hasValidAttributeType() not const because various subclass implementations are non-const.
2174
2175 2011-07-20  Andy Estes  <aestes@apple.com>
2176
2177         Fix the Mac build after r91392.
2178
2179         * WebCore.xcodeproj/project.pbxproj: StyleFlexibleBoxData.h should be a
2180         private forwarding header of WebCore.
2181
2182 2011-07-20  Jeffrey Pfau  <jpfau@apple.com>
2183
2184         New Token class for XML
2185         https://bugs.webkit.org/show_bug.cgi?id=64764
2186
2187         Reviewed by Adam Barth.
2188
2189         Refactor HTMLToken into MarkupTokenBase and add new XMLToken
2190
2191         * GNUmakefile.list.am:
2192         * WebCore.gypi:
2193         * WebCore.pro:
2194         * WebCore.vcproj/WebCore.vcproj:
2195         * WebCore.xcodeproj/project.pbxproj:
2196         * html/HTMLViewSourceDocument.cpp:
2197         (WebCore::HTMLViewSourceDocument::addSource):
2198         * html/parser/HTMLConstructionSite.cpp:
2199         (WebCore::HTMLConstructionSite::insertDoctype):
2200         (WebCore::HTMLConstructionSite::insertComment):
2201         (WebCore::HTMLConstructionSite::insertCommentOnDocument):
2202         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
2203         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
2204         (WebCore::HTMLConstructionSite::insertForeignElement):
2205         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
2206         * html/parser/HTMLMetaCharsetParser.cpp:
2207         (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
2208         * html/parser/HTMLPreloadScanner.cpp:
2209         (WebCore::HTMLPreloadScanner::processToken):
2210         * html/parser/HTMLSourceTracker.cpp:
2211         (WebCore::HTMLSourceTracker::start):
2212         (WebCore::HTMLSourceTracker::sourceForToken):
2213         * html/parser/HTMLToken.h:
2214         (WebCore::HTMLTokenTypes::DoctypeData::DoctypeData):
2215         (WebCore::HTMLToken::appendToName):
2216         (WebCore::HTMLToken::name):
2217         (WebCore::HTMLToken::forceQuirks):
2218         (WebCore::HTMLToken::setForceQuirks):
2219         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
2220         (WebCore::AtomicHTMLToken::type):
2221         (WebCore::AtomicHTMLToken::selfClosing):
2222         (WebCore::AtomicHTMLToken::characters):
2223         (WebCore::AtomicHTMLToken::comment):
2224         (WebCore::AtomicHTMLToken::publicIdentifier):
2225         (WebCore::AtomicHTMLToken::systemIdentifier):
2226         (WebCore::AtomicHTMLToken::forceQuirks):
2227         (WebCore::AtomicHTMLToken::usesName):
2228         (WebCore::AtomicHTMLToken::usesAttributes):
2229         * html/parser/HTMLTokenizer.cpp:
2230         (WebCore::HTMLTokenizer::saveEndTagNameIfNeeded):
2231         (WebCore::HTMLTokenizer::flushBufferedEndTag):
2232         (WebCore::HTMLTokenizer::nextToken):
2233         (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
2234         * html/parser/HTMLTreeBuilder.cpp:
2235         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
2236         (WebCore::HTMLTreeBuilder::processToken):
2237         (WebCore::HTMLTreeBuilder::processDoctypeToken):
2238         (WebCore::HTMLTreeBuilder::processFakeStartTag):
2239         (WebCore::HTMLTreeBuilder::processFakeEndTag):
2240         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
2241         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
2242         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2243         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
2244         (WebCore::HTMLTreeBuilder::processStartTag):
2245         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
2246         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
2247         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
2248         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
2249         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
2250         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
2251         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
2252         (WebCore::HTMLTreeBuilder::processEndTag):
2253         (WebCore::HTMLTreeBuilder::processComment):
2254         (WebCore::HTMLTreeBuilder::processCharacter):
2255         (WebCore::HTMLTreeBuilder::processEndOfFile):
2256         (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
2257         (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
2258         (WebCore::HTMLTreeBuilder::defaultForInHead):
2259         (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
2260         (WebCore::HTMLTreeBuilder::defaultForAfterHead):
2261         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
2262         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
2263         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
2264         (WebCore::HTMLTreeBuilder::processScriptStartTag):
2265         * html/parser/HTMLViewSourceParser.cpp:
2266         (WebCore::HTMLViewSourceParser::updateTokenizerState):
2267         * html/parser/TextDocumentParser.cpp:
2268         (WebCore::TextDocumentParser::insertFakePreElement):
2269         * html/parser/XSSAuditor.cpp:
2270         (WebCore::XSSAuditor::filterTokenInitial):
2271         (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
2272         (WebCore::XSSAuditor::filterScriptToken):
2273         (WebCore::XSSAuditor::filterObjectToken):
2274         (WebCore::XSSAuditor::filterParamToken):
2275         (WebCore::XSSAuditor::filterEmbedToken):
2276         (WebCore::XSSAuditor::filterAppletToken):
2277         (WebCore::XSSAuditor::filterIframeToken):
2278         (WebCore::XSSAuditor::filterMetaToken):
2279         (WebCore::XSSAuditor::filterBaseToken):
2280         (WebCore::XSSAuditor::filterFormToken):
2281         * xml/parser/MarkupTokenBase.h: Added.
2282         (WebCore::DoctypeDataBase::DoctypeDataBase):
2283         (WebCore::MarkupTokenBase::MarkupTokenBase):
2284         (WebCore::MarkupTokenBase::~MarkupTokenBase):
2285         (WebCore::MarkupTokenBase::clear):
2286         (WebCore::MarkupTokenBase::isUninitialized):
2287         (WebCore::MarkupTokenBase::startIndex):
2288         (WebCore::MarkupTokenBase::endIndex):
2289         (WebCore::MarkupTokenBase::setBaseOffset):
2290         (WebCore::MarkupTokenBase::end):
2291         (WebCore::MarkupTokenBase::makeEndOfFile):
2292         (WebCore::MarkupTokenBase::beginStartTag):
2293         (WebCore::MarkupTokenBase::beginEndTag):
2294         (WebCore::MarkupTokenBase::ensureIsCharacterToken):
2295         (WebCore::MarkupTokenBase::beginComment):
2296         (WebCore::MarkupTokenBase::beginDOCTYPE):
2297         (WebCore::MarkupTokenBase::appendToCharacter):
2298         (WebCore::MarkupTokenBase::appendToComment):
2299         (WebCore::MarkupTokenBase::addNewAttribute):
2300         (WebCore::MarkupTokenBase::beginAttributeName):
2301         (WebCore::MarkupTokenBase::endAttributeName):
2302         (WebCore::MarkupTokenBase::beginAttributeValue):
2303         (WebCore::MarkupTokenBase::endAttributeValue):
2304         (WebCore::MarkupTokenBase::appendToAttributeName):
2305         (WebCore::MarkupTokenBase::appendToAttributeValue):
2306         (WebCore::MarkupTokenBase::type):
2307         (WebCore::MarkupTokenBase::selfClosing):
2308         (WebCore::MarkupTokenBase::setSelfClosing):
2309         (WebCore::MarkupTokenBase::attributes):
2310         (WebCore::MarkupTokenBase::eraseCharacters):
2311         (WebCore::MarkupTokenBase::eraseValueOfAttribute):
2312         (WebCore::MarkupTokenBase::characters):
2313         (WebCore::MarkupTokenBase::comment):
2314         (WebCore::MarkupTokenBase::publicIdentifier):
2315         (WebCore::MarkupTokenBase::systemIdentifier):
2316         (WebCore::MarkupTokenBase::setPublicIdentifierToEmptyString):
2317         (WebCore::MarkupTokenBase::setSystemIdentifierToEmptyString):
2318         (WebCore::MarkupTokenBase::appendToPublicIdentifier):
2319         (WebCore::MarkupTokenBase::appendToSystemIdentifier):
2320         (WebCore::MarkupTokenBase::printString):
2321         (WebCore::MarkupTokenBase::printAttrs):
2322         (WebCore::MarkupTokenBase::appendToName):
2323         (WebCore::MarkupTokenBase::name):
2324         * xml/parser/XMLToken.h: Added.
2325         (WebCore::XMLToken::XMLToken):
2326         (WebCore::XMLToken::clear):
2327         (WebCore::XMLToken::appendToName):
2328         (WebCore::XMLToken::name):
2329         (WebCore::XMLToken::beginDOCTYPE):
2330         (WebCore::XMLToken::beginXMLDeclaration):
2331         (WebCore::XMLToken::appendToXMLVersion):
2332         (WebCore::XMLToken::beginXMLEncoding):
2333         (WebCore::XMLToken::appendToXMLEncoding):
2334         (WebCore::XMLToken::setXMLStandalone):
2335         (WebCore::XMLToken::beginProcessingInstruction):
2336         (WebCore::XMLToken::appendToProcessingInstructionTarget):
2337         (WebCore::XMLToken::appendToProcessingInstructionData):
2338         (WebCore::XMLToken::beginCDATA):
2339         (WebCore::XMLToken::appendToCDATA):
2340         (WebCore::XMLToken::beginEntity):
2341         (WebCore::XMLToken::print):
2342         (WebCore::XMLToken::XMLDeclarationData::XMLDeclarationData):
2343
2344 2011-07-20  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
2345
2346         WebKit crashes on selection when documentElement is removed.
2347         https://bugs.webkit.org/show_bug.cgi?id=63908
2348
2349         This patch adds NULL pointer validation for documentElement
2350         in WebCore::startOfDocument
2351
2352         Reviewed by Eric Seidel.
2353
2354         Test: editing/selection/selection-empty-documentElement.html
2355
2356         * editing/visible_units.cpp:
2357         (WebCore::startOfDocument):
2358
2359 2011-07-20  Mike Reed  <reed@google.com>
2360
2361         [skia] use nocheck version of pixel packer when caller already has premultiplied data
2362         https://bugs.webkit.org/show_bug.cgi?id=64881
2363
2364         Reviewed by Kenneth Russell.
2365
2366         No new tests. existing canvas and svg test exercise this
2367
2368         * platform/graphics/skia/ImageBufferSkia.cpp:
2369         (WebCore::putImageData):
2370
2371 2011-07-20  Tony Chang  <tony@chromium.org>
2372
2373         add new flexbox data to StyleRareNonInheritedData
2374         https://bugs.webkit.org/show_bug.cgi?id=64765
2375
2376         Reviewed by David Hyatt.
2377
2378         Add placeholders for the positive and negative flex values for the
2379         width and the height.  When we get to the other properties (flex-pack,
2380         flex-align, etc), we'll add more to the StyleFlexibleBoxData class
2381
2382         No new tests, these values aren't hooked up to anything yet.
2383
2384         * CMakeLists.txt:
2385         * GNUmakefile.list.am:
2386         * WebCore.gypi:
2387         * WebCore.pro:
2388         * WebCore.vcproj/WebCore.vcproj:
2389         * WebCore.xcodeproj/project.pbxproj:
2390         * rendering/style/RenderStyle.cpp:
2391         (WebCore::RenderStyle::RenderStyle):
2392         (WebCore::RenderStyle::diff):
2393         * rendering/style/RenderStyle.h:
2394         (WebCore::InheritedFlags::flexboxWidthPositiveFlex):
2395         (WebCore::InheritedFlags::flexboxWidthNegativeFlex):
2396         (WebCore::InheritedFlags::flexboxHeightPositiveFlex):
2397         (WebCore::InheritedFlags::flexboxHeightNegativeFlex):
2398         (WebCore::InheritedFlags::setFlexboxWidthPositiveFlex):
2399         (WebCore::InheritedFlags::setFlexboxWidthNegativeFlex):
2400         (WebCore::InheritedFlags::setFlexboxHeightPositiveFlex):
2401         (WebCore::InheritedFlags::setFlexboxHeightNegativeFlex):
2402         (WebCore::InheritedFlags::initialFlexboxWidthPositiveFlex):
2403         (WebCore::InheritedFlags::initialFlexboxWidthNegativeFlex):
2404         (WebCore::InheritedFlags::initialFlexboxHeightPositiveFlex):
2405         (WebCore::InheritedFlags::initialFlexboxHeightNegativeFlex):
2406         * rendering/style/StyleAllInOne.cpp:
2407         * rendering/style/StyleFlexibleBoxData.cpp: Added.
2408         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
2409         (WebCore::StyleFlexibleBoxData::operator==):
2410         * rendering/style/StyleFlexibleBoxData.h: Added.
2411         (WebCore::StyleFlexibleBoxData::create):
2412         (WebCore::StyleFlexibleBoxData::copy):
2413         (WebCore::StyleFlexibleBoxData::operator!=):
2414         * rendering/style/StyleRareNonInheritedData.cpp:
2415         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2416         (WebCore::StyleRareNonInheritedData::operator==):
2417         * rendering/style/StyleRareNonInheritedData.h:
2418
2419 2011-07-20  Cary Clark  <caryclark@google.com>
2420
2421         update FontSkia to match platform context convention
2422         https://bugs.webkit.org/show_bug.cgi?id=64795
2423
2424         Reviewed by James Robinson.
2425
2426         No new tests. This platform variant is not
2427         built at this time.
2428
2429         * platform/graphics/skia/FontSkia.cpp:
2430         (WebCore::Font::drawGlyphs):
2431         Call makeGrContextCurrent instead of the obsolete prepareForSoftwareDraw.
2432
2433 2011-07-20  Brian Weinstein  <bweinstein@apple.com>
2434
2435         Build fix after r91384. Add an ASSERT_UNSED for the timer.
2436
2437         * loader/cache/CachedResourceLoader.cpp:
2438         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
2439
2440 2011-07-20  Tony Chang  <tony@chromium.org>
2441
2442         Stale pointer due to floats not removed (flexible box display)
2443         https://bugs.webkit.org/show_bug.cgi?id=64603
2444
2445         Reviewed by David Hyatt.
2446
2447         Flexbox items should avoid floats.
2448
2449         Test: fast/flexbox/horizontal-box-float-crash.html
2450
2451         * rendering/RenderBox.cpp:
2452         (WebCore::RenderBox::avoidsFloats):
2453         * rendering/RenderBox.h:
2454         (WebCore::RenderBox::isDeprecatedFlexItem):
2455
2456 2011-07-20  Scott Graham  <scottmg@chromium.org>
2457
2458         Reviewed by Antti Koivisto.
2459
2460         REGRESSION (r39725?): Resources removed from document can not be freed
2461         until the document is deleted
2462         https://bugs.webkit.org/show_bug.cgi?id=61006
2463
2464         Upon completing a load start a Timer to iterate through
2465         CachedResourceLoader's m_documentResources map to check for any items
2466         that have only one reference (thus being the reference in the map
2467         itself). The map should really be weak, but because the
2468         CachedResourceHandle achieves bookkeeping work in addition to
2469         reference counting, this is a simpler and more localized way to free
2470         the used memory while maintaining the other behaviour (when
2471         CachedResource is used as proxy).
2472
2473         No new layout tests, but with this patch the testcase at
2474         https://bugs.webkit.org/attachment.cgi?id=93850 should no longer
2475         consume 400MB of ram on load.
2476
2477         * loader/cache/CachedResource.h:
2478         (WebCore::CachedResource::getHandleCount):
2479         * loader/cache/CachedResourceLoader.cpp:
2480         (WebCore::CachedResourceLoader::loadDone):
2481         (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
2482         * loader/cache/CachedResourceLoader.h:
2483
2484 2011-07-20  James Robinson  <jamesr@chromium.org>
2485
2486         Revert worker and WebKit2 runloops to use currentTime() for scheduling instead of the monotonic clock
2487         https://bugs.webkit.org/show_bug.cgi?id=64841
2488
2489         Reviewed by Mark Rowe.
2490
2491         http://trac.webkit.org/changeset/91206 converted most of WebKit's deferred work scheduling to using the
2492         monotonic clock instead of WTF::currentTime().  This broke many plugin tests on WebKit2 for reasons that are
2493         unclear.  This reverts everything except for WebCore::ThreadTimers back to the previous behavior.
2494
2495         * workers/WorkerRunLoop.cpp:
2496         (WebCore::WorkerSharedTimer::setFireInterval):
2497
2498 2011-07-20  James Simonsen  <simonjam@chromium.org>
2499
2500         Refuse to run scripts inside the SVG shadow DOM
2501         https://bugs.webkit.org/show_bug.cgi?id=64776
2502
2503         This is a rollback of r90970. The hack that was removed there was also protecting us from
2504         two further bugs that have been discovered. So, the hack is going back in.
2505
2506         Reviewed by Tony Gentilcore.
2507
2508         * dom/ScriptElement.cpp:
2509         (WebCore::ScriptElement::prepareScript):
2510
2511 2011-07-20  David Levin  <levin@chromium.org>
2512
2513         gtk shouldn't have global variables for timers.
2514         https://bugs.webkit.org/show_bug.cgi?id=64871
2515
2516         Reviewed by Martin Robinson.
2517
2518         No new functionality exposed so no new tests.
2519
2520         * platform/graphics/cairo/ContextShadowCairo.cpp:
2521         (WebCore::scheduleScratchBufferPurge): Changed global variable to DEFINE_STATIC_LOCAL.
2522         * platform/gtk/WidgetRenderingContext.cpp:
2523         (WebCore::scheduleScratchBufferPurge): Ditto.
2524
2525 2011-07-20  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2526
2527         [GTK] REGRESSION(r86436): does not add newlines when return is pressed with some modifiers held
2528         https://bugs.webkit.org/show_bug.cgi?id=64867
2529
2530         Reviewed by Martin Robinson.
2531
2532         * platform/gtk/KeyBindingTranslator.cpp:
2533         (WebCore::KeyBindingTranslator::getEditorCommandsForKeyEvent):
2534         special-case enter keys so that their commands are returned
2535         whatever the modifiers state.
2536
2537 2011-07-20  Mike Reed  <reed@google.com>
2538
2539         [skia] disable lcd text when drawing on a transparent layer or canvas
2540         https://bugs.webkit.org/show_bug.cgi?id=64873
2541
2542         Reviewed by Stephen White.
2543
2544         No new tests. canvas sites illustrate the bug. DRT disables LCD
2545         so existing layouttests are not affected by this change.
2546
2547         * platform/graphics/skia/SkiaFontWin.cpp:
2548         (WebCore::isCanvasMultiLayered):
2549         (WebCore::disableTextLCD):
2550         (WebCore::setupPaintForFont):
2551         (WebCore::paintSkiaText):
2552
2553 2011-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
2554
2555         Web Inspector: add keyboard shortcuts to load/save operations in Timeline panel.
2556         https://bugs.webkit.org/show_bug.cgi?id=64864
2557
2558         Export/import were renamed to save/load.
2559         Ctrl|Meta-S/Ctrl|Meta-O shortcuts were added for Save and Load operations.
2560         Ctrl|Meta-E shortcut toggles Record button;
2561         Ctrl|Meta-Shift-F shortcut toggles short records filter button;
2562         All the shortcuts were added to the shortcuts help screen.
2563         There was a problem with saving empty data.
2564
2565         Reviewed by Yury Semikhatsky.
2566
2567         * English.lproj/localizedStrings.js:
2568         * inspector/front-end/TimelinePanel.js:
2569         (WebInspector.TimelinePanel.prototype._registerShortcuts):
2570         (WebInspector.TimelinePanel.prototype._createFileSelector):
2571         (WebInspector.TimelinePanel.prototype._contextMenu):
2572         (WebInspector.TimelinePanel.prototype._saveToFile):
2573         (WebInspector.TimelinePanel.prototype._loadFromFile):
2574         (WebInspector.TimelineModel.prototype._loadNextChunk):
2575         (WebInspector.TimelineModel.prototype._loadFromFile):
2576         (WebInspector.TimelineModel.prototype._loadFromFile.onError):
2577         (WebInspector.TimelineModel.prototype._saveToFile):
2578
2579 2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
2580
2581         Speculative build fix after r91355.
2582
2583         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2584         (JavaInstance::invokeMethod):
2585
2586 2011-07-20  Tommy Widenflycht  <tommyw@google.com>
2587
2588         MediaStream API: Update the tracklists to the latest spec
2589         https://bugs.webkit.org/show_bug.cgi?id=64791
2590
2591         Reviewed by Tony Gentilcore.
2592
2593         The test harness will be forthcoming very soon now, introducing tests for this.
2594
2595         * CMakeLists.txt:
2596         * CodeGenerators.pri:
2597         * DerivedSources.cpp:
2598         * DerivedSources.make:
2599         * GNUmakefile.list.am:
2600         * WebCore.gypi:
2601         * WebCore.pro:
2602         * WebCore.vcproj/WebCore.vcproj:
2603         * WebCore.xcodeproj/project.pbxproj:
2604         * bindings/js/JSEventTarget.cpp:
2605         (WebCore::toJS):
2606         * bindings/v8/V8DOMWrapper.cpp:
2607         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2608         * dom/DOMAllInOne.cpp:
2609         * dom/EventTarget.cpp:
2610         * dom/EventTarget.h:
2611         * dom/ExclusiveTrackList.cpp: Removed.
2612         * dom/LocalMediaStream.cpp:
2613         (WebCore::LocalMediaStream::create):
2614         (WebCore::LocalMediaStream::LocalMediaStream):
2615         (WebCore::LocalMediaStream::streamEnded):
2616         (WebCore::LocalMediaStream::stop):
2617         * dom/LocalMediaStream.h:
2618         (WebCore::LocalMediaStream::isLocalMediaStream):
2619         * dom/LocalMediaStream.idl:
2620         * dom/MediaStream.cpp:
2621         (WebCore::MediaStream::create):
2622         (WebCore::MediaStream::MediaStream):
2623         * dom/MediaStream.h:
2624         (WebCore::MediaStream::tracks):
2625         * dom/MediaStream.idl:
2626         * dom/MediaStreamTrack.cpp: Copied from Source/WebCore/dom/ExclusiveTrackList.h.
2627         (WebCore::MediaStreamTrack::create):
2628         (WebCore::MediaStreamTrack::MediaStreamTrack):
2629         (WebCore::MediaStreamTrack::~MediaStreamTrack):
2630         (WebCore::MediaStreamTrack::kind):
2631         (WebCore::MediaStreamTrack::label):
2632         (WebCore::MediaStreamTrack::enabled):
2633         (WebCore::MediaStreamTrack::setEnabled):
2634         * dom/MediaStreamTrack.h: Renamed from Source/WebCore/dom/MultipleTrackList.h.
2635         * dom/MediaStreamTrack.idl: Renamed from Source/WebCore/dom/ExclusiveTrackList.idl.
2636         * dom/MediaStreamTrackList.cpp: Renamed from Source/WebCore/dom/ExclusiveTrackList.h.
2637         (WebCore::MediaStreamTrackList::create):
2638         (WebCore::MediaStreamTrackList::MediaStreamTrackList):
2639         (WebCore::MediaStreamTrackList::~MediaStreamTrackList):
2640         (WebCore::MediaStreamTrackList::length):
2641         (WebCore::MediaStreamTrackList::item):
2642         * dom/MediaStreamTrackList.h: Renamed from Source/WebCore/dom/TrackList.idl.
2643         (WebCore::MediaStreamTrackList::associateStream):
2644         * dom/MediaStreamTrackList.idl: Renamed from Source/WebCore/dom/MultipleTrackList.idl.
2645         * dom/MultipleTrackList.cpp: Removed.
2646         * dom/TrackList.cpp: Removed.
2647         * dom/TrackList.h: Removed.
2648         * page/MediaStreamClient.h:
2649         * page/MediaStreamController.cpp:
2650         (WebCore::MediaStreamController::setMediaStreamTrackEnabled):
2651         (WebCore::MediaStreamController::streamGenerated):
2652         * page/MediaStreamController.h:
2653         * page/MediaStreamFrameController.cpp:
2654         (WebCore::MediaStreamFrameController::setMediaStreamTrackEnabled):
2655         (WebCore::MediaStreamFrameController::streamGenerated):
2656         * page/MediaStreamFrameController.h:
2657
2658 2011-07-20  Andrew Wason  <rectalogic@rectalogic.com>
2659
2660         [Qt] Make OpenGL symbol resolver transparent
2661         https://bugs.webkit.org/show_bug.cgi?id=57154
2662
2663         Reviewed by Noam Rosenthal.
2664
2665         Adopting new resolver should be transparent,
2666         existing tests should apply.
2667
2668         Adopt OpenGLShims symbol resolver from cairo for Qt.
2669         Update TextureMapperGL and Qt GraphicsContext3D to use the resolver.
2670
2671         * WebCore.pro:
2672         * platform/graphics/cairo/OpenGLShims.cpp:
2673         (WebCore::getProcAddress):
2674         * platform/graphics/cairo/OpenGLShims.h:
2675         * platform/graphics/opengl/TextureMapperGL.cpp:
2676         (WebCore::TextureMapperGL::beginPainting):
2677         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2678         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
2679         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
2680         (WebCore::GraphicsContext3DInternal::reshape):
2681         (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
2682         (WebCore::GraphicsContext3DInternal::paint):
2683         (WebCore::GraphicsContext3D::activeTexture):
2684         (WebCore::GraphicsContext3D::attachShader):
2685         (WebCore::GraphicsContext3D::getAttachedShaders):
2686         (WebCore::GraphicsContext3D::bindAttribLocation):
2687         (WebCore::GraphicsContext3D::bindBuffer):
2688         (WebCore::GraphicsContext3D::bindFramebuffer):
2689         (WebCore::GraphicsContext3D::bindRenderbuffer):
2690         (WebCore::GraphicsContext3D::blendColor):
2691         (WebCore::GraphicsContext3D::blendEquation):
2692         (WebCore::GraphicsContext3D::blendEquationSeparate):
2693         (WebCore::GraphicsContext3D::blendFuncSeparate):
2694         (WebCore::GraphicsContext3D::bufferData):
2695         (WebCore::GraphicsContext3D::bufferSubData):
2696         (WebCore::GraphicsContext3D::checkFramebufferStatus):
2697         (WebCore::GraphicsContext3D::compileShader):
2698         (WebCore::GraphicsContext3D::detachShader):
2699         (WebCore::GraphicsContext3D::disableVertexAttribArray):
2700         (WebCore::GraphicsContext3D::enableVertexAttribArray):
2701         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
2702         (WebCore::GraphicsContext3D::framebufferTexture2D):
2703         (WebCore::GraphicsContext3D::generateMipmap):
2704         (WebCore::GraphicsContext3D::getActiveAttrib):
2705         (WebCore::GraphicsContext3D::getActiveUniform):
2706         (WebCore::GraphicsContext3D::getAttribLocation):
2707         (WebCore::GraphicsContext3D::isBuffer):
2708         (WebCore::GraphicsContext3D::isFramebuffer):
2709         (WebCore::GraphicsContext3D::isProgram):
2710         (WebCore::GraphicsContext3D::isRenderbuffer):
2711         (WebCore::GraphicsContext3D::isShader):
2712         (WebCore::GraphicsContext3D::linkProgram):
2713         (WebCore::GraphicsContext3D::renderbufferStorage):
2714         (WebCore::GraphicsContext3D::sampleCoverage):
2715         (WebCore::GraphicsContext3D::shaderSource):
2716         (WebCore::GraphicsContext3D::stencilFuncSeparate):
2717         (WebCore::GraphicsContext3D::stencilMaskSeparate):
2718         (WebCore::GraphicsContext3D::stencilOpSeparate):
2719         (WebCore::GraphicsContext3D::uniform1f):
2720         (WebCore::GraphicsContext3D::uniform1fv):
2721         (WebCore::GraphicsContext3D::uniform2f):
2722         (WebCore::GraphicsContext3D::uniform2fv):
2723         (WebCore::GraphicsContext3D::uniform3f):
2724         (WebCore::GraphicsContext3D::uniform3fv):
2725         (WebCore::GraphicsContext3D::uniform4f):
2726         (WebCore::GraphicsContext3D::uniform4fv):
2727         (WebCore::GraphicsContext3D::uniform1i):
2728         (WebCore::GraphicsContext3D::uniform1iv):
2729         (WebCore::GraphicsContext3D::uniform2i):
2730         (WebCore::GraphicsContext3D::uniform2iv):
2731         (WebCore::GraphicsContext3D::uniform3i):
2732         (WebCore::GraphicsContext3D::uniform3iv):
2733         (WebCore::GraphicsContext3D::uniform4i):
2734         (WebCore::GraphicsContext3D::uniform4iv):
2735         (WebCore::GraphicsContext3D::uniformMatrix2fv):
2736         (WebCore::GraphicsContext3D::uniformMatrix3fv):
2737         (WebCore::GraphicsContext3D::uniformMatrix4fv):
2738         (WebCore::GraphicsContext3D::useProgram):
2739         (WebCore::GraphicsContext3D::validateProgram):
2740         (WebCore::GraphicsContext3D::vertexAttrib1f):
2741         (WebCore::GraphicsContext3D::vertexAttrib1fv):
2742         (WebCore::GraphicsContext3D::vertexAttrib2f):
2743         (WebCore::GraphicsContext3D::vertexAttrib2fv):
2744         (WebCore::GraphicsContext3D::vertexAttrib3f):
2745         (WebCore::GraphicsContext3D::vertexAttrib3fv):
2746         (WebCore::GraphicsContext3D::vertexAttrib4f):
2747         (WebCore::GraphicsContext3D::vertexAttrib4fv):
2748         (WebCore::GraphicsContext3D::vertexAttribPointer):
2749         (WebCore::GraphicsContext3D::getBufferParameteriv):
2750         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
2751         (WebCore::GraphicsContext3D::getProgramiv):
2752         (WebCore::GraphicsContext3D::getProgramInfoLog):
2753         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
2754         (WebCore::GraphicsContext3D::getShaderiv):
2755         (WebCore::GraphicsContext3D::getShaderInfoLog):
2756         (WebCore::GraphicsContext3D::getShaderSource):
2757         (WebCore::GraphicsContext3D::getUniformfv):
2758         (WebCore::GraphicsContext3D::getUniformiv):
2759         (WebCore::GraphicsContext3D::getUniformLocation):
2760         (WebCore::GraphicsContext3D::getVertexAttribfv):
2761         (WebCore::GraphicsContext3D::getVertexAttribiv):
2762         (WebCore::GraphicsContext3D::getVertexAttribOffset):
2763         (WebCore::GraphicsContext3D::createBuffer):
2764         (WebCore::GraphicsContext3D::createFramebuffer):
2765         (WebCore::GraphicsContext3D::createProgram):
2766         (WebCore::GraphicsContext3D::createRenderbuffer):
2767         (WebCore::GraphicsContext3D::createShader):
2768         (WebCore::GraphicsContext3D::deleteBuffer):
2769         (WebCore::GraphicsContext3D::deleteFramebuffer):
2770         (WebCore::GraphicsContext3D::deleteProgram):
2771         (WebCore::GraphicsContext3D::deleteRenderbuffer):
2772         (WebCore::GraphicsContext3D::deleteShader):
2773
2774 2011-07-20  Steve Block  <steveblock@google.com>
2775
2776         [V8] JavaMethodJobject::signature() incorrectly encodes arguments of type JavaTypeString
2777         https://bugs.webkit.org/show_bug.cgi?id=62389
2778
2779         Reviewed by Tony Gentilcore.
2780
2781         Covered by existing tests.
2782
2783         * bridge/jni/JavaMethodJobject.cpp:
2784         (JavaMethodJobject::signature):
2785
2786 2011-07-20  Yury Semikhatsky  <yurys@chromium.org>
2787
2788         Web Inspector: sidebar width sometimes is not restored
2789         https://bugs.webkit.org/show_bug.cgi?id=64869
2790
2791         Make sure sidebar width is restored even if window initial size has not been set yet.
2792
2793         Reviewed by Pavel Feldman.
2794
2795         * inspector/front-end/Panel.js:
2796         (WebInspector.Panel.prototype.show):
2797         (WebInspector.Panel.prototype.updateSidebarWidth):
2798
2799 2011-07-20  Andrey Kosyakov  <caseq@chromium.org>
2800
2801         Web Inspector: remove dead code (WebInspector.drawLoadingPieChart)
2802         https://bugs.webkit.org/show_bug.cgi?id=64868
2803
2804         Reviewed by Yury Semikhatsky.
2805
2806         * inspector/front-end/inspector.js:
2807
2808 2011-07-20  Andrey Kosyakov  <caseq@chromium.org>
2809
2810         Web Inspector: move Network log view to an iframe
2811         https://bugs.webkit.org/show_bug.cgi?id=62006
2812
2813         Reviewed by Pavel Feldman.
2814
2815         * WebCore.gypi:
2816         * WebCore.vcproj/WebCore.vcproj:
2817         * inspector/front-end/ExtensionServer.js:
2818         (WebInspector.ExtensionServer.prototype._onWindowMessage):
2819         * inspector/front-end/IFrameView.js: Added.
2820         (WebInspector.IFrameView):
2821         (WebInspector.IFrameView.prototype._innerShow):
2822         (WebInspector.IFrameView.prototype._innerHide):
2823         (WebInspector.IFrameView.prototype.attach):
2824         (WebInspector.IFrameView.prototype._attachIFrameAndInitialize):
2825         (WebInspector.IFrameView.prototype.addStylesheets):
2826         (WebInspector.IFrameView.prototype._setDocumentType):
2827         (WebInspector.IFrameView.prototype._propagateBodyStyle):
2828         * inspector/front-end/NetworkPanel.js:
2829         (WebInspector.NetworkLogView):
2830         (WebInspector.NetworkLogView.prototype.initializeView):
2831         (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
2832         (WebInspector.NetworkLogView.prototype._createTable):
2833         (WebInspector.NetworkLogView.prototype._updateDividersIfNeeded):
2834         (WebInspector.NetworkLogView.prototype.show):
2835         (WebInspector.NetworkLogView.prototype._reset):
2836         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
2837         (WebInspector.NetworkLogView.prototype.switchToBriefView):
2838         (WebInspector.NetworkLogView.prototype.get _setLargerResources):
2839         (WebInspector.NetworkLogView.prototype._updateHighlightIfMatched):
2840         (WebInspector.NetworkLogView.prototype.performSearch):
2841         (WebInspector.NetworkLogView.prototype.searchCanceled):
2842         (WebInspector.NetworkPanel):
2843         (WebInspector.NetworkPanel.prototype._onSearchCountUpdated):
2844         (WebInspector.NetworkDataGridNode.prototype.select):
2845         * inspector/front-end/Popover.js:
2846         (WebInspector.Popover.prototype._positionElement):
2847         * inspector/front-end/View.js:
2848         (WebInspector.View.prototype._innerShow):
2849         (WebInspector.View.prototype.show):
2850         (WebInspector.View.prototype._innerHide):
2851         (WebInspector.View.prototype.hide):
2852         * inspector/front-end/WebKit.qrc:
2853         * inspector/front-end/dataGrid.css: Added.
2854         * inspector/front-end/inspectorCommon.css: Added.
2855         * inspector/front-end/networkLogView.css: Copied from Source/WebCore/inspector/front-end/networkPanel.css.
2856
2857 2011-07-20  Steve Block  <steveblock@google.com>
2858
2859         JobjectWrapper should inherit from RefCounted rather than implementing its own ref counting
2860         https://bugs.webkit.org/show_bug.cgi?id=55786
2861
2862         Also adds static create() method and cleans up use of data members.
2863
2864         Reviewed by Tony Gentilcore.
2865
2866         No new tests, refactoring only.
2867
2868         * bridge/jni/JobjectWrapper.cpp:
2869         (JobjectWrapper::JobjectWrapper):
2870         * bridge/jni/JobjectWrapper.h:
2871         (JSC::Bindings::JobjectWrapper::create):
2872         * bridge/jni/jsc/JavaArrayJSC.cpp:
2873         (JavaArray::JavaArray):
2874         * bridge/jni/jsc/JavaArrayJSC.h:
2875         (JSC::Bindings::JavaArray::javaArray):
2876         * bridge/jni/jsc/JavaFieldJSC.cpp:
2877         (JavaField::JavaField):
2878         (JavaField::dispatchValueFromInstance):
2879         (JavaField::dispatchSetValueToInstance):
2880         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2881         (JavaInstance::JavaInstance):
2882         (JavaInstance::getClass):
2883         (JavaInstance::stringValue):
2884         (JavaInstance::numberValue):
2885         (JavaInstance::booleanValue):
2886         (JavaInstance::invokeMethod):
2887         * bridge/jni/jsc/JavaInstanceJSC.h:
2888         (JSC::Bindings::JavaInstance::javaInstance):
2889         * bridge/jni/v8/JavaFieldJobjectV8.cpp:
2890         (JavaFieldJobject::JavaFieldJobject):
2891         * bridge/jni/v8/JavaInstanceJobjectV8.cpp:
2892         (JavaInstanceJobject::JavaInstanceJobject):
2893         * bridge/jni/v8/JavaInstanceJobjectV8.h:
2894         (JSC::Bindings::JavaInstanceJobject::javaInstance):
2895
2896 2011-07-20  Kentaro Hara  <haraken@google.com>
2897
2898         The value of a number input form continues to increase/decrease even if we disable the input form.
2899         https://bugs.webkit.org/show_bug.cgi?id=64786
2900
2901         Reviewed by Kent Tamura.
2902
2903         The value of the number input form continues to increase/decrease in the following scenario:
2904         (1) Click the spin button of the input form.
2905         (2) Hook the 'mouseup' event and disable the input form.
2906         (3) Enable the input form after some delay (e.g. 50ms).
2907
2908         What is happening above is as follows:
2909         (1) When the 'mousedown' event happens, the repeating timer of the spin button starts.
2910         (2) If the input form is not disabled, the repeating timer stops at the 'mouseup' event.
2911         However, if the input form is disabled, the 'mouseup' event is ignored, failing to stop
2912         the repeating timer.
2913         (3) The value continues to increase/decrease, since the repeating timer is still working.
2914
2915         This patch stops the repeating timer when the input form gets disabled or readonly.
2916
2917         Test: fast/forms/spin-button-gets-disabled-or-readonly.html
2918
2919         * html/HTMLInputElement.cpp:
2920         (WebCore::HTMLInputElement::parseMappedAttribute): Calls disabledAttributeChanged() when 'disabled' attribute gets changed. Calls readonlyAttributeChanged() when 'readonly' attribute gets changed.
2921         * html/InputType.cpp:
2922         (WebCore::InputType::disabledAttributeChanged): Stops the repeating timer and releases mouse capturing.
2923         (WebCore::InputType::readonlyAttributeChanged): Ditto.
2924         * html/InputType.h:
2925         * html/TextFieldInputType.cpp:
2926         (WebCore::TextFieldInputType::disabledAttributeChanged): Ditto.
2927         (WebCore::TextFieldInputType::readonlyAttributeChanged): Ditto.
2928         * html/TextFieldInputType.h:
2929         * html/shadow/TextControlInnerElements.cpp:
2930         (WebCore::SpinButtonElement::detach): Replased the code with releaseCapture().
2931         (WebCore::SpinButtonElement::defaultEventHandler): Ditto.
2932         (WebCore::SpinButtonElement::releaseCapture): Stops the repeating timer and releases mouse capturing.
2933         * html/shadow/TextControlInnerElements.h:
2934
2935 2011-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2936
2937         Unreviewed, rolling out r91285.
2938         http://trac.webkit.org/changeset/91285
2939         https://bugs.webkit.org/show_bug.cgi?id=64854
2940
2941         "Assertion hit in svg/custom/crash-textPath-attributes.html"
2942         (Requested by mihnea on #webkit).
2943
2944         * rendering/RenderObjectChildList.cpp:
2945         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2946
2947 2011-07-20  Yury Semikhatsky  <yurys@chromium.org>
2948
2949         Web Inspector: don't send Console.enable messages in case of workers
2950         https://bugs.webkit.org/show_bug.cgi?id=64853
2951
2952         Reviewed by Pavel Feldman.
2953
2954         * inspector/front-end/inspector.js:
2955
2956 2011-07-20  Boris Smus  <smus@chromium.org>
2957
2958         Add a resourceLink audit formatter to make it possible for devtools
2959         extensions to link to specific lines in HTML/JS/CSS resources from the
2960         audit results panel.
2961
2962         https://bugs.webkit.org/show_bug.cgi?id=64315
2963
2964         Reviewed by Yury Semikhatsky.
2965
2966         * inspector/front-end/AuditFormatters.js: resourceLink implementation
2967         * inspector/front-end/ExtensionAPI.js: registering resourceLink FormattedValue
2968
2969
2970 2011-07-20  Kent Tamura  <tkent@chromium.org>
2971
2972         input type=number doesn't render correctly in rtl.
2973         https://bugs.webkit.org/show_bug.cgi?id=59703
2974
2975         Reviewed by Ryosuke Niwa.
2976
2977         Test: fast/forms/input-appearance-number-rtl.html
2978
2979         * css/html.css:
2980         (input[type="search"]::-webkit-textfield-decoration-container):
2981         Set "direction: ltr;" only for type=search because we'd like to
2982         respect text direction except type=search.
2983         (input[x-webkit-speech][di=rtl]::-webkit-input-speech-button):
2984         Remove a workaround.
2985         * rendering/RenderTextControlSingleLine.cpp:
2986         (WebCore::RenderTextControlSingleLine::layout):
2987         Support for RTL in the spin button location adjustment.
2988
2989 2011-07-19  Steve Lacey  <sjl@chromium.org>
2990
2991         [chromium] Media player controls do not fade out.
2992         https://bugs.webkit.org/show_bug.cgi?id=64837
2993
2994         Media controls were not fading out when the mouse leaves the video
2995         due to underlying changes in webkit media controls.
2996         Fix was to copy missing code from MediaControlRootElement to
2997         MediaControlRootElementChromium.
2998
2999         Reviewed by Dimitri Glazkov.
3000
3001         * html/shadow/MediaControlRootElementChromium.cpp:
3002         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
3003         (WebCore::MediaControlRootElementChromium::playbackProgressed):
3004         (WebCore::MediaControlRootElementChromium::containsRelatedTarget):
3005         (WebCore::MediaControlRootElementChromium::defaultEventHandler):
3006         * html/shadow/MediaControlRootElementChromium.h:
3007
3008 2011-07-19  Luke Macpherson   <macpherson@chromium.org>
3009
3010         Implement CSSPropertyCounterIncrement and CounterReset in CSSStyleApplyProperty.
3011         https://bugs.webkit.org/show_bug.cgi?id=64846
3012
3013         Reviewed by Dimitri Glazkov.
3014
3015         No new tests / refactoring only.
3016
3017         * css/CSSStyleApplyProperty.cpp:
3018         (WebCore::ApplyPropertyCounter
3019         Added class to handle counter properties.
3020         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3021         Initialize counter property handlers.
3022         * css/CSSStyleSelector.cpp:
3023         (WebCore::CSSStyleSelector::applyProperty):
3024         Remove old handlers.
3025
3026 2011-07-19  Kent Tamura  <tkent@chromium.org>
3027
3028         REGRESSION(r89004): Video pauses and never resumes playing if scrubbed during playback.
3029         https://bugs.webkit.org/show_bug.cgi?id=64314
3030
3031         Reviewed by Sam Weinig.
3032
3033         No new tests because it's hard to make a non-flaky test for this behavior.
3034
3035         * html/RangeInputType.cpp:
3036         (WebCore::RangeInputType::handleMouseDownEvent):
3037         Don't call SliderThumbElement::dragFrom() for events on the thumb.
3038         * html/shadow/SliderThumbElement.cpp:
3039         (WebCore::SliderThumbElement::defaultEventHandler):
3040         Do not call setDefaultHandled() for mouse events in order to
3041         propagate them to ancestor elements.
3042
3043 2011-07-19  Matthew Delaney  <mdelaney@apple.com>
3044
3045         Add fast path for ImageBuffer::draw
3046         https://bugs.webkit.org/show_bug.cgi?id=64535
3047
3048         Reviewed by Simon Fraser.
3049
3050         No new tests. This patch doesn't change behavior; current tests are sufficient.
3051
3052         * platform/graphics/GraphicsContext.cpp:
3053         (WebCore::GraphicsContext::drawImage): Moved the main method version next to wrapper versions.
3054
3055         * platform/graphics/ImageBuffer.h:
3056         1) Added BackingStoreCopy enum for choosing to copy backing store or not in copyImage().
3057         2) Added copyNativeImage() behind USE(CG) - same as copyImage() but gives NativeImagePtr.
3058         * platform/graphics/cg/ImageBufferCG.cpp: Added new methods described above.
3059
3060         * platform/graphics/GraphicsContext.h: Adding drawNativeImage() for fast draw path.
3061         * platform/graphics/cg/GraphicsContextCG.cpp:
3062         (WebCore::GraphicsContext::drawNativeImage): Added. Draws a nativeImagePtr into context.
3063
3064         * platform/graphics/Image.h: Added imageWithColorSpace behind CG platform ifdef
3065         * platform/graphics/cg/ImageCG.cpp:
3066         (WebCore::BitmapImage::draw): Refactored out actual image drawing code into GraphicsContext,
3067         so that it can be used by more than just BitmapImage without having to copy code.
3068         (WebCore::Image::imageWithColorSpace): Made into an Image class function.
3069
3070         Updated copyImage() to for BackingStoreCopy:
3071         * platform/graphics/qt/ImageBufferQt.cpp
3072         * platform/graphics/filters/FETile.cpp
3073         * platform/graphics/cairo/ImageBufferCairo.cpp
3074         * platform/graphics/skia/ImageBufferSkia.cpp
3075         * platform/graphics/wx/ImageBufferWx.cpp
3076         * platform/graphics/wince/ImageBufferWinCE.cpp
3077         * svg/SVGFEImageElement.cpp
3078         * svg/graphics/SVGImage.cpp
3079         * html/HTMLCanvasElement.cpp
3080         * html/canvas/WebGLRenderingContext.cpp
3081         * rendering/svg/RenderSVGResourcePattern.cpp
3082
3083 2011-07-19  Leo Yang  <leoyang.webkit@gmail.com>
3084
3085         SVG: Missing implementation of <altGlyphDef>, <altGlyphItem> and <glyphRef>
3086         https://bugs.webkit.org/show_bug.cgi?id=60850
3087
3088         Reviewed by Nikolas Zimmermann.
3089
3090         SVG spec: http://www.w3.org/TR/SVG/text.html#AlternateGlyphDefinitions.
3091         This patch is to implement SVG <altGlyphDef>, <altGlyphItem> and <glyphRef>
3092         elements for alternative glyph features.
3093
3094         NOTE: x, y, dx, dy, format and glyphRef attributes on <glyphRef> are not
3095         honored yet, so neither are the reaction of dynamic change of them. They
3096         will be honored in separated patches.
3097
3098         Test: svg/W3C-SVG-1.1/text-altglyph-01-b.svg
3099         With this patch this test works as expected.
3100
3101         * CMakeLists.txt:
3102         * CodeGenerators.pri:
3103         * DerivedSources.cpp:
3104         * DerivedSources.make:
3105         * GNUmakefile.list.am:
3106         * WebCore.exp.in:
3107         * WebCore.gypi:
3108         * WebCore.pro:
3109         * WebCore.vcproj/WebCore.vcproj:
3110         * WebCore.xcodeproj/project.pbxproj:
3111         * bindings/objc/DOM.mm:
3112         (WebCore::createElementClassMap):
3113         * bindings/objc/DOMSVG.h:
3114         * page/DOMWindow.idl:
3115         * svg/SVGAllInOne.cpp:
3116         * svg/SVGAltGlyphDefElement.cpp: Added.
3117         (WebCore::SVGAltGlyphDefElement::SVGAltGlyphDefElement):
3118         (WebCore::SVGAltGlyphDefElement::create):
3119         (WebCore::SVGAltGlyphDefElement::hasValidGlyphElements):
3120         * svg/SVGAltGlyphDefElement.h: Added.
3121         * svg/SVGAltGlyphDefElement.idl: Added.
3122         * svg/SVGAltGlyphElement.cpp:
3123         (WebCore::SVGAltGlyphElement::hasValidGlyphElements):
3124         * svg/SVGAltGlyphElement.h:
3125         * svg/SVGAltGlyphItemElement.cpp: Added.
3126         (WebCore::SVGAltGlyphItemElement::SVGAltGlyphItemElement):
3127         (WebCore::SVGAltGlyphItemElement::create):
3128         (WebCore::SVGAltGlyphItemElement::hasValidGlyphElements):
3129         * svg/SVGAltGlyphItemElement.h: Added.
3130         * svg/SVGAltGlyphItemElement.idl: Added.
3131         * svg/SVGFontData.cpp:
3132         (WebCore::SVGFontData::applySVGGlyphSelection):
3133         * svg/SVGGlyphRefElement.cpp: Added.
3134         (WebCore::SVGGlyphRefElement::SVGGlyphRefElement):
3135         (WebCore::SVGGlyphRefElement::create):
3136         (WebCore::SVGGlyphRefElement::hasValidGlyphElement):
3137         (WebCore::SVGGlyphRefElement::parseMappedAttribute):
3138         (WebCore::SVGGlyphRefElement::glyphRef):
3139         (WebCore::SVGGlyphRefElement::setGlyphRef):
3140         (WebCore::SVGGlyphRefElement::setX):
3141         (WebCore::SVGGlyphRefElement::setY):
3142         (WebCore::SVGGlyphRefElement::setDx):
3143         (WebCore::SVGGlyphRefElement::setDy):
3144         * svg/SVGGlyphRefElement.h: Added.
3145         * svg/SVGGlyphRefElement.idl: Added.
3146         * svg/svgtags.in:
3147
3148 2011-07-19  Adam Roben  <aroben@apple.com>
3149
3150         Remove some unused code in FormDataStreamCFNet
3151
3152         Rubber-stamped by Steve Falkenburg.
3153
3154         * platform/network/cf/FormDataStreamCFNet.cpp:
3155
3156 2011-07-19  Simon Fraser  <simon.fraser@apple.com>
3157
3158         REGRESSION (r91136-r91146): 40 tests failing on Windows 7 Release (Tests)
3159         https://bugs.webkit.org/show_bug.cgi?id=64808
3160
3161         Reviewed by Adam Roben.
3162
3163         Initializing m_uncommittedChanges to a non-zero value
3164         caused the first call to noteLayerPropertyChanged() to
3165         not call m_client->notifySyncRequired(). This resulted in
3166         animations never getting committed on Windows, which broke
3167         a lot of tests.
3168
3169         * platform/graphics/ca/GraphicsLayerCA.cpp:
3170         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
3171
3172 2011-07-19  James Robinson  <jamesr@chromium.org>
3173
3174         [chromium] LayerRendererChromium shouldn't be a friend of RenderSurfaceChromium
3175         https://bugs.webkit.org/show_bug.cgi?id=64834
3176
3177         Reviewed by Kenneth Russell.
3178
3179         Uses setters and getters to access RenderSurfaceChromium's private member variables instead of directly
3180         accessing them via a friend declaration. This cleans up a minor code smell and will be helpful for future
3181         refactoring.
3182
3183         Refactor only, no change in behavior.  Tested by compositing/ tests.
3184
3185         * platform/graphics/chromium/LayerRendererChromium.cpp:
3186         (WebCore::LayerRendererChromium::updateLayers):
3187         (WebCore::LayerRendererChromium::paintLayerContents):
3188         (WebCore::LayerRendererChromium::drawLayers):
3189         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
3190         (WebCore::LayerRendererChromium::updateCompositorResources):
3191         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
3192         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
3193         (WebCore::LayerRendererChromium::useRenderSurface):
3194         (WebCore::LayerRendererChromium::drawLayer):
3195         (WebCore::LayerRendererChromium::setScissorToRect):
3196         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3197         (WebCore::RenderSurfaceChromium::clearLayerList):
3198         * platform/graphics/chromium/RenderSurfaceChromium.h:
3199         (WebCore::RenderSurfaceChromium::layerList):
3200         (WebCore::RenderSurfaceChromium::contentRect):
3201         (WebCore::RenderSurfaceChromium::setContentRect):
3202         (WebCore::RenderSurfaceChromium::drawOpacity):
3203         (WebCore::RenderSurfaceChromium::setDrawOpacity):
3204         (WebCore::RenderSurfaceChromium::drawTransform):
3205         (WebCore::RenderSurfaceChromium::setDrawTransform):
3206         (WebCore::RenderSurfaceChromium::maskLayer):
3207         (WebCore::RenderSurfaceChromium::setMaskLayer):
3208         (WebCore::RenderSurfaceChromium::originTransform):
3209         (WebCore::RenderSurfaceChromium::setOriginTransform):
3210         (WebCore::RenderSurfaceChromium::replicaDrawTransform):
3211         (WebCore::RenderSurfaceChromium::setReplicaDrawTransform):
3212         (WebCore::RenderSurfaceChromium::scissorRect):
3213         (WebCore::RenderSurfaceChromium::setScissorRect):
3214         (WebCore::RenderSurfaceChromium::skipsDraw):
3215         (WebCore::RenderSurfaceChromium::setSkipsDraw):
3216         (WebCore::RenderSurfaceChromium::contentsTexture):
3217
3218 2011-07-19  Jessie Berlin  <jberlin@apple.com>
3219
3220         GTK + QT build fix.
3221
3222         Rubber-stamped by Daniel Bates and Alexey Proskuryakov.
3223
3224         * loader/ResourceLoader.cpp:
3225         (WebCore::ResourceLoader::willSendRequest):
3226         (WebCore::ResourceLoader::didSendData):
3227         (WebCore::ResourceLoader::didReceiveResponse):
3228         (WebCore::ResourceLoader::didReceiveData):
3229         (WebCore::ResourceLoader::didFinishLoading):
3230         (WebCore::ResourceLoader::didFail):
3231         (WebCore::ResourceLoader::wasBlocked):
3232         (WebCore::ResourceLoader::cannotShowURL):
3233         (WebCore::ResourceLoader::shouldUseCredentialStorage):
3234         (WebCore::ResourceLoader::willCacheResponse):
3235
3236 2011-07-19  Chris Rogers  <crogers@google.com>
3237
3238         Fix web audio compile on mac port
3239         https://bugs.webkit.org/show_bug.cgi?id=64836
3240
3241         Unreviewed build fix.
3242
3243         * bindings/js/JSAudioContextCustom.cpp:
3244         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
3245         (WebCore::JSAudioContext::createBuffer):
3246
3247 2011-07-19  Jessie Berlin  <jberlin@apple.com>
3248
3249         Work towards determining the cause of frequent crashes due to null frame below
3250         ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache.
3251         https://bugs.webkit.org/show_bug.cgi?id=62764
3252
3253         Reviewed by Alexey Proskuryakov.
3254
3255         Make these unexpected cases crash in the WebKit nightlies so we can gather more
3256         information and potentially find a repro case.
3257
3258         * loader/ResourceLoader.cpp:
3259         (WebCore::ResourceLoader::willSendRequest):
3260         (WebCore::ResourceLoader::didSendData):
3261         (WebCore::ResourceLoader::didReceiveResponse):
3262         (WebCore::ResourceLoader::didReceiveData):
3263         (WebCore::ResourceLoader::didFinishLoading):
3264         (WebCore::ResourceLoader::didFail):
3265         (WebCore::ResourceLoader::wasBlocked):
3266         (WebCore::ResourceLoader::cannotShowURL):
3267         (WebCore::ResourceLoader::shouldUseCredentialStorage):
3268         (WebCore::ResourceLoader::willCacheResponse):
3269
3270 2011-07-19  Dan Bernstein  <mitz@apple.com>
3271
3272         Nothing printed when specifying a very large maximum layout width
3273         https://bugs.webkit.org/show_bug.cgi?id=64831
3274
3275         Reviewed by Beth Dakin.
3276
3277         I am not adding a test because the DumpRenderTree printing test machinery is based on PrintContext,
3278         which does not exercise the code path on which this bug lies.
3279
3280         * page/FrameView.cpp:
3281         (WebCore::FrameView::forceLayoutForPagination): Fixed an integer overflow.
3282
3283 2011-07-19  Nate Chapin  <japhet@chromium.org>
3284
3285         [V8] Wait until no v8 context is on the stack before
3286         cancelling pending indexed db transactions.
3287         https://bugs.webkit.org/show_bug.cgi?id=64552
3288
3289         Reviewed by Adam Barth.
3290
3291         Test: storage/indexeddb/transaction-abort-with-js-recursion.html
3292
3293         * bindings/v8/V8Proxy.cpp:
3294         (WebCore::V8Proxy::didLeaveScriptContext):
3295
3296 2011-07-19  MORITA Hajime  <morrita@google.com>
3297
3298         Crash in CompositeEditCommand::replaceTextInNodePreservingMarkers.
3299         https://bugs.webkit.org/show_bug.cgi?id=64738
3300
3301         Reviewed by Ryosuke Niwa.
3302
3303         Test: editing/undo/replace-text-in-node-preserving-markers-crash.html
3304
3305         * editing/CompositeEditCommand.cpp:
3306         (WebCore::copyMarkers):
3307         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
3308
3309 2011-07-19  Mike West  <mkwst@chromium.org>
3310
3311         Sending a `Ping-From` header for cross-origin pings from non-HTTPS documents.
3312         https://bugs.webkit.org/show_bug.cgi?id=64789
3313
3314         Also a drive-by cleanup of whitespace.
3315
3316         Reviewed by Nate Chapin.
3317
3318         * loader/PingLoader.cpp:
3319         (WebCore::PingLoader::loadImage):
3320         (WebCore::PingLoader::sendPing):
3321
3322 2011-07-15  Luke Zarko  <lukezarko@gmail.com>
3323
3324        Bring V8's SerializedScriptValue implementation up to date.
3325
3326         https://bugs.webkit.org/show_bug.cgi?id=63481
3327
3328         Reviewed by David Levin.
3329         
3330         The HTML5 Structured Clone algorithm (http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#safe-passing-of-structured-data) has been updated since the V8 version of SerializedScriptValue was first implemented. This patch aims to bring this implementation up to date. It:
3331         
3332         - Introduces the new HTML5 DOM error codes for TIMEOUT_ERR, INVALID_NODE_TYPE_ERR, DATA_CLONE_ERR
3333         - Handles cyclic structures and equality of reference preservation for cloned values
3334         - Allows DataViews to be constructed on the native side using the existing wrapper techniques
3335         - Amends tests and introduces new ones to check for correctness (the bulk of the patch)
3336         - Tolerates the old version of the serialized object format
3337         
3338         The patch permits the cloning of JavaScript typed arrays. This functionality is in active use already and was supported (somewhat inefficiently) by the existing code through an artifact of implementation.
3339
3340         Tests: fast/dom/Window/window-postmessage-clone-deep-array.html
3341                fast/dom/Window/window-postmessage-clone-really-deep-array.html
3342                fast/dom/Window/window-postmessage-clone.html
3343                fast/canvas/webgl/array-message-passing.html
3344
3345         * bindings/v8/SerializedScriptValue.cpp:
3346         (WebCore::V8ObjectMap::Writer::writeVersion):
3347         (WebCore::V8ObjectMap::Writer::writeArrayBuffer):
3348         (WebCore::V8ObjectMap::Writer::writeArrayBufferView):
3349         (WebCore::V8ObjectMap::Writer::writeObjectReference):
3350         (WebCore::V8ObjectMap::Writer::writeReferenceCount):
3351         (WebCore::V8ObjectMap::Writer::writeGenerateFreshObject):
3352         (WebCore::V8ObjectMap::Writer::writeGenerateFreshArray):
3353         (WebCore::V8ObjectMap::Writer::doWriteArrayBuffer):
3354         (WebCore::V8ObjectMap::Serializer::Serializer):
3355         (WebCore::V8ObjectMap::Serializer::serialize):
3356         (WebCore::V8ObjectMap::Serializer::StateBase::execDepth):
3357         (WebCore::V8ObjectMap::Serializer::AbstractObjectState::AbstractObjectState):
3358         (WebCore::V8ObjectMap::Serializer::AbstractObjectState::advance):
3359         (WebCore::V8ObjectMap::Serializer::AbstractObjectState::execDepth):
3360         (WebCore::V8ObjectMap::Serializer::execDepth):
3361         (WebCore::V8ObjectMap::Serializer::push):
3362         (WebCore::V8ObjectMap::Serializer::pop):
3363         (WebCore::V8ObjectMap::Serializer::handleError):
3364         (WebCore::V8ObjectMap::Serializer::writeAndGreyArrayBufferView):
3365         (WebCore::V8ObjectMap::Serializer::writeArrayBuffer):
3366         (WebCore::V8ObjectMap::Serializer::greyObject):
3367         (WebCore::V8ObjectMap::Serializer::doSerialize):
3368         (WebCore::V8ObjectMap::Reader::Reader):
3369         (WebCore::V8ObjectMap::Reader::read):
3370         (WebCore::V8ObjectMap::Reader::readVersion):
3371         (WebCore::V8ObjectMap::Reader::setVersion):
3372         (WebCore::V8ObjectMap::Reader::undoReadTag):
3373         (WebCore::V8ObjectMap::Reader::readArrayBufferViewSubTag):
3374         (WebCore::V8ObjectMap::Reader::doReadArrayBuffer):
3375         (WebCore::V8ObjectMap::Reader::readArrayBuffer):
3376         (WebCore::V8ObjectMap::Reader::readArrayBufferView):
3377         (WebCore::V8ObjectMap::Deserializer::Deserializer):
3378         (WebCore::V8ObjectMap::Deserializer::deserialize):
3379         (WebCore::V8ObjectMap::Deserializer::newArray):
3380         (WebCore::V8ObjectMap::Deserializer::consumeTopOfStack):
3381         (WebCore::V8ObjectMap::Deserializer::completeArray):
3382         (WebCore::V8ObjectMap::Deserializer::newObject):
3383         (WebCore::V8ObjectMap::Deserializer::completeObject):
3384         (WebCore::V8ObjectMap::Deserializer::completeSparseArray):
3385         (WebCore::V8ObjectMap::Deserializer::pushObjectReference):
3386         (WebCore::V8ObjectMap::Deserializer::tryGetObjectFromObjectReference):
3387         (WebCore::V8ObjectMap::Deserializer::objectReferenceCount):
3388         (WebCore::V8ObjectMap::Deserializer::openComposite):
3389         (WebCore::V8ObjectMap::Deserializer::closeComposite):
3390         (WebCore::SerializedScriptValue::SerializedScriptValue):
3391         * bindings/v8/V8Binding.cpp:
3392         (WebCore::isHostObject):
3393         * bindings/v8/V8Binding.h:
3394         * bindings/v8/custom/V8DataViewCustom.cpp:
3395         (WebCore::V8DataView::constructorCallback):
3396         * dom/DOMCoreException.idl:
3397         * dom/ExceptionCode.cpp:
3398         * dom/ExceptionCode.h:
3399         * html/canvas/ArrayBuffer.cpp:
3400         (WebCore::ArrayBuffer::create):
3401         * html/canvas/ArrayBuffer.h:
3402         * html/canvas/DataView.cpp:
3403         (WebCore::DataView::create):
3404         * html/canvas/DataView.h:
3405
3406 2011-07-19  Simon Fraser  <simon.fraser@apple.com>
3407
3408         Possible recursion in GraphicsLayerCA::updateGeometry()
3409         https://bugs.webkit.org/show_bug.cgi?id=64815
3410
3411         Reviewed by Sam Weinig.
3412         
3413         It was possible to recurse via updateGeometry/swapFromOrToTiledLayer/
3414         updateContentsScale because updateGeometry() and updateContentsScale()
3415         used different sizes; updateGeometry() used the scaled size, while
3416         updateContentsScale() used the unscaled size.
3417         
3418         Always use the unscaled size; the scaled size will be at most a couple
3419         of pixels bigger, and our threshold is not close to the max texture
3420         size limit, so using the slightly smaller size is OK.
3421
3422         Test: compositing/scaling/tiled-layer-recursion.html
3423
3424         * platform/graphics/ca/GraphicsLayerCA.cpp:
3425         (WebCore::GraphicsLayerCA::updateGeometry):
3426         (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
3427         (WebCore::GraphicsLayerCA::updateContentsScale):
3428         (WebCore::GraphicsLayerCA::requiresTiledLayer):
3429         * platform/graphics/ca/GraphicsLayerCA.h:
3430
3431 2011-07-19  Mihnea Ovidenie  <mihnea@adobe.com>
3432
3433         [CSSRegions]Parse -webkit-region-overflow property
3434         https://bugs.webkit.org/show_bug.cgi?id=64444
3435
3436         Reviewed by David Hyatt.
3437
3438         Test: fast/regions/webkit-region-overflow-parsing.html
3439
3440         * css/CSSComputedStyleDeclaration.cpp:
3441         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3442         * css/CSSParser.cpp:
3443         (WebCore::CSSParser::parseValue):
3444         * css/CSSPrimitiveValueMappings.h:
3445         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3446         (WebCore::CSSPrimitiveValue::operator RegionOverflow):
3447         * css/CSSPropertyNames.in:
3448         * css/CSSStyleSelector.cpp:
3449         (WebCore::CSSStyleSelector::applyProperty):
3450         * css/CSSValueKeywords.in:
3451         * rendering/style/RenderStyle.cpp:
3452         (WebCore::RenderStyle::diff):
3453         * rendering/style/RenderStyle.h:
3454         (WebCore::InheritedFlags::regionOverflow):
3455         (WebCore::InheritedFlags::setRegionOverflow):
3456         (WebCore::InheritedFlags::initialRegionOverflow):
3457         * rendering/style/RenderStyleConstants.h:
3458         * rendering/style/StyleRareNonInheritedData.cpp:
3459         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3460         (WebCore::StyleRareNonInheritedData::operator==):
3461         * rendering/style/StyleRareNonInheritedData.h:
3462
3463 2011-07-19  Mihnea Ovidenie  <mihnea@adobe.com>
3464
3465         hover then un-hover makes state change
3466         https://bugs.webkit.org/show_bug.cgi?id=56401
3467
3468         When a 'before' pseudo-element is re-added, we should check whether the insertion point is an anonymous
3469         block with inline children. If it is, then we should change the insertion point to the first child of the
3470         anonymous block, otherwise the 'before' pseudo-element ends up in a different block.
3471
3472         Reviewed by David Hyatt.
3473
3474         Test: fast/dynamic/hover-before-position-after-style-change.html
3475
3476         * rendering/RenderObjectChildList.cpp:
3477         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
3478
3479 2011-07-19  Luke Macpherson   <macpherson@chromium.org>
3480
3481         Implement CSSPropertyWebkitPerspectiveOrigin in CSSStyleApplyProperty.
3482         https://bugs.webkit.org/show_bug.cgi?id=64784
3483
3484         Reviewed by Simon Fraser.
3485
3486         No new tests / refactoring.
3487
3488         * css/CSSStyleApplyProperty.cpp:
3489         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3490         * css/CSSStyleSelector.cpp:
3491         (WebCore::CSSStyleSelector::applyProperty):
3492
3493 2011-07-19  Chris Rogers  <crogers@google.com>
3494
3495         Implement WaveShaperNode for Web Audio API
3496         https://bugs.webkit.org/show_bug.cgi?id=64644
3497
3498         Reviewed by Kenneth Russell.
3499         
3500         No new tests since audio API is not yet implemented.
3501
3502         * DerivedSources.make:
3503         * WebCore.gypi:
3504         * WebCore.xcodeproj/project.pbxproj:
3505         * bindings/js/JSWaveShaperNodeCustom.cpp: Added.
3506         (WebCore::JSWaveShaperNode::setCurve):
3507         * webaudio/AudioContext.cpp:
3508         (WebCore::AudioContext::createWaveShaper):
3509         * webaudio/AudioContext.h:
3510         * webaudio/AudioContext.idl:
3511         * webaudio/AudioNode.h:
3512         * webaudio/WaveShaperDSPKernel.cpp: Added.
3513         (WebCore::WaveShaperDSPKernel::process):
3514         * webaudio/WaveShaperDSPKernel.h: Added.
3515         (WebCore::WaveShaperDSPKernel::WaveShaperDSPKernel):
3516         (WebCore::WaveShaperDSPKernel::reset):
3517         (WebCore::WaveShaperDSPKernel::waveShaperProcessor):
3518         * webaudio/WaveShaperNode.cpp: Added.
3519         (WebCore::WaveShaperNode::WaveShaperNode):
3520         (WebCore::WaveShaperNode::setCurve):
3521         (WebCore::WaveShaperNode::curve):
3522         * webaudio/WaveShaperNode.h: Added.
3523         (WebCore::WaveShaperNode::create):
3524         (WebCore::WaveShaperNode::waveShaperProcessor):
3525         * webaudio/WaveShaperNode.idl: Added.
3526         * webaudio/WaveShaperProcessor.cpp: Added.
3527         (WebCore::WaveShaperProcessor::WaveShaperProcessor):
3528         (WebCore::WaveShaperProcessor::~WaveShaperProcessor):
3529         (WebCore::WaveShaperProcessor::createKernel):
3530         (WebCore::WaveShaperProcessor::setCurve):
3531         (WebCore::WaveShaperProcessor::process):
3532         * webaudio/WaveShaperProcessor.h: Added.
3533         (WebCore::WaveShaperProcessor::curve):
3534
3535 2011-07-19  Robert Hogan  <robert@webkit.org>
3536
3537         REGRESSION: Incorrect layout at recline-online.com
3538         https://bugs.webkit.org/show_bug.cgi?id=64030
3539
3540         Reviewed by David Hyatt.
3541
3542         http://trac.webkit.org/changeset/68362 dropped the check for cases
3543         where the render box is floating or inline. When the box is left or right