10e2da7df69035ccd2116c4ce86ab8a216bf953f
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-07-27  MORITA Hajime  <morrita@google.com>
2
3         Inconsistent state of TreeScope reference.
4         https://bugs.webkit.org/show_bug.cgi?id=65235
5         
6         The tree scope pointers on shadow tree nodes didn't cleared.
7         even when the tree scope (shadow root) is destroyed.
8         This change clear these poitners before detaching the shadow root.
9
10         Reviewed by Dimitri Glazkov.
11
12         Test: fast/dom/shadow/tree-scope-crash.html
13
14         * dom/Element.cpp:
15         (WebCore::Element::removeShadowRoot):
16
17 2011-07-27  Rachel Blum  <groby@chromium.org>
18
19         Implement sizes attribute for link tag from HTML5
20         https://bugs.webkit.org/show_bug.cgi?id=37674
21
22         Reviewed by Dimitri Glazkov.
23
24         Test: fast/dom/icon-size-property.html
25
26         * WebCore.gypi:
27         * WebCore.pro:
28         * bindings/js/JSHTMLLinkElementCustom.cpp:
29         (WebCore::JSHTMLLinkElement::sizes):
30         (WebCore::JSHTMLLinkElement::setSizes):
31         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp: Added.
32         (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
33         (WebCore::V8HTMLLinkElement::sizesAccessorSetter):
34         * html/HTMLAttributeNames.in:
35         * html/HTMLLinkElement.cpp:
36         (WebCore::HTMLLinkElement::HTMLLinkElement):
37         (WebCore::HTMLLinkElement::parseMappedAttribute):
38         (WebCore::HTMLLinkElement::sizes):
39         (WebCore::HTMLLinkElement::setSizes):
40         * html/HTMLLinkElement.h:
41         * html/HTMLLinkElement.idl:
42
43 2011-07-27  Pratik Solanki  <psolanki@apple.com>
44
45         Incorrect arguments passed to LOG statement
46         https://bugs.webkit.org/show_bug.cgi?id=65293
47
48         Reviewed by Oliver Hunt.
49
50         * platform/network/mac/ResourceHandleMac.mm:
51         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]):
52
53 2011-07-27  Levi Weintraub  <leviw@chromium.org>
54
55         Switch transform operations to FloatSize
56         https://bugs.webkit.org/show_bug.cgi?id=64301
57
58         Reviewed by Simon Fraser.
59
60         Changing TransformOperation and its progeny to operate on FloatSizes instead of IntSizes.
61
62         * platform/graphics/transforms/IdentityTransformOperation.h:
63         (WebCore::IdentityTransformOperation::apply):
64         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
65         (WebCore::Matrix3DTransformOperation::blend):
66         * platform/graphics/transforms/Matrix3DTransformOperation.h:
67         (WebCore::Matrix3DTransformOperation::apply):
68         * platform/graphics/transforms/MatrixTransformOperation.cpp:
69         (WebCore::MatrixTransformOperation::blend):
70         * platform/graphics/transforms/MatrixTransformOperation.h:
71         (WebCore::MatrixTransformOperation::apply):
72         * platform/graphics/transforms/PerspectiveTransformOperation.h:
73         (WebCore::PerspectiveTransformOperation::apply):
74         * platform/graphics/transforms/RotateTransformOperation.h:
75         (WebCore::RotateTransformOperation::apply):
76         * platform/graphics/transforms/ScaleTransformOperation.h:
77         (WebCore::ScaleTransformOperation::apply):
78         * platform/graphics/transforms/SkewTransformOperation.h:
79         (WebCore::SkewTransformOperation::apply):
80         * platform/graphics/transforms/TransformOperation.h:
81         * platform/graphics/transforms/TransformOperations.h:
82         (WebCore::TransformOperations::apply):
83         * platform/graphics/transforms/TranslateTransformOperation.h:
84         (WebCore::TranslateTransformOperation::x):
85         (WebCore::TranslateTransformOperation::y):
86         (WebCore::TranslateTransformOperation::z):
87         (WebCore::TranslateTransformOperation::apply):
88
89 2011-07-27  Levi Weintraub  <leviw@chromium.org>
90
91         unicode-bidi:-webkit-plaintext does not work on <textarea>
92         https://bugs.webkit.org/show_bug.cgi?id=65074
93
94         Reviewed by Ryosuke Niwa.
95
96         Fixing unicode-bidi style propagation into text control shadow trees.
97
98         Test: fast/text/international/unicode-bidi-plaintext-in-textarea.html
99
100         * rendering/RenderTextControl.cpp:
101         (WebCore::RenderTextControl::adjustInnerTextStyle):
102
103 2011-07-27  Eric Carlson  <eric.carlson@apple.com>
104
105         Load delegate not consulted before loading some poster images
106         https://bugs.webkit.org/show_bug.cgi?id=65270
107
108         Reviewed by Darin Adler.
109
110         Test: media/video-poster-blocked-by-willsendrequest.html
111
112         * html/HTMLVideoElement.cpp:
113         (WebCore::HTMLVideoElement::setDisplayMode): Don't ask media engine to set poster if
114             willLoadMediaElementURL returns false.
115
116 2011-07-27  Stephen White  <senorblanco@chromium.org>
117
118         Fix for printing with accelerated <canvas>
119         https://bugs.webkit.org/show_bug.cgi?id=62406
120
121         Reviewed by James Robinson.
122
123         The platform-independent side of this should be covered by existing
124         tests.  Printing itself in Chrome has few tests, sadly.  :(
125
126         * html/HTMLCanvasElement.cpp:
127         (WebCore::HTMLCanvasElement::paint):
128         * platform/graphics/skia/ImageBufferSkia.cpp:
129         (WebCore::ImageBuffer::draw):
130
131 2011-07-25  Mihai Parparita  <mihaip@chromium.org>
132
133         [Chromium] Add better WebKit API for chrome.tabs.insertCSS extension API
134         https://bugs.webkit.org/show_bug.cgi?id=65158
135
136         Reviewed by David Hyatt.
137
138         Add per-Document instance user stylesheets (as opposed to the page 
139         group user styles and the global page stylesheet).
140
141         * css/CSSStyleSelector.cpp:
142         (WebCore::CSSStyleSelector::CSSStyleSelector):
143         * css/CSSStyleSelector.h:
144         * dom/Document.cpp:
145         (WebCore::Document::~Document):
146         (WebCore::Document::createStyleSelector):
147         (WebCore::Document::addUserSheet):
148         * dom/Document.h:
149
150 2011-07-27  Vsevolod Vlasov  <vsevik@chromium.org>
151
152         Web Inspector: Disable cache option should only clear memory cache, not disable it.
153         https://bugs.webkit.org/show_bug.cgi?id=65184
154
155         Reviewed by Pavel Feldman.
156
157         * inspector/InspectorClient.h:
158         * inspector/InspectorResourceAgent.cpp:
159         (WebCore::InspectorResourceAgent::enable):
160         (WebCore::InspectorResourceAgent::disable):
161         (WebCore::InspectorResourceAgent::setCacheDisabled):
162         (WebCore::InspectorResourceAgent::mainFrameNavigated):
163
164 2011-07-27  Rob Buis  <rbuis@rim.com>
165
166         Implement getIntersectionList(), getEnclosureList(), checkIntersection() and checkEnclosure() in SVGSVGElement
167         https://bugs.webkit.org/show_bug.cgi?id=11274
168
169         Reviewed by Nikolas Zimmermann.
170
171         Implement checkIntersection/checkEnclosure and use it to implement getIntersectionList and getEnclosureList as well.
172         The referenceElement is used to provide a DOM subtree to find matches in. Also we do not allow elements that specify
173         pointer-events=none in the list.
174
175         Tests: svg/W3C-SVG-1.1-SE/struct-dom-11-f.svg
176                svg/custom/intersection-list-clipping.svg
177                svg/custom/intersection-list-nested-svg.svg
178
179         * rendering/svg/RenderSVGModelObject.cpp:
180         (WebCore::getElementCTM):
181         (WebCore::intersectsAllowingEmpty):
182         (WebCore::isGraphicsElement):
183         (WebCore::RenderSVGModelObject::checkIntersection):
184         (WebCore::RenderSVGModelObject::checkEnclosure):
185         * rendering/svg/RenderSVGModelObject.h:
186         * svg/SVGSVGElement.cpp:
187         (WebCore::SVGSVGElement::checkIntersection):
188         (WebCore::SVGSVGElement::checkEnclosure):
189
190 2011-07-27  Becsi Andras  <abecsi@webkit.org>
191
192         [Qt][V8] Fix the build.
193
194         Unreviewed build fix.
195
196         No new tests needed.
197
198         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Add missing CString.h include.
199
200 2011-07-27  Alexis Menard  <alexis.menard@openbossa.org>
201
202         [Qt] Unreviewed build fix for mac.
203
204         QtKit is now our default media player, the define is WTF_USE_QTKIT and it's not part
205         of the options passed to build-webkit, therefore DerivedSources should now generate the
206         includes when it's mac.
207
208         * DerivedSources.pro:
209         * WebCore.pro:
210
211 2011-07-27  Yury Semikhatsky  <yurys@chromium.org>
212
213         Inspector should support cd(window) in the command line
214         https://bugs.webkit.org/show_bug.cgi?id=19872
215
216         Added dropdown list with all iframes to allow selecting current evaluation context for console expressions.
217
218         Reviewed by Pavel Feldman.
219
220         Test: http/tests/inspector/console-cd.html
221
222         * WebCore.gypi:
223         * inspector/Inspector.json:
224         * inspector/InspectorController.cpp:
225         (WebCore::InspectorController::InspectorController):
226         * inspector/InspectorRuntimeAgent.cpp:
227         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
228         (WebCore::InspectorRuntimeAgent::evaluate):
229         * inspector/InspectorRuntimeAgent.h:
230         * inspector/WorkerInspectorController.cpp:
231         * inspector/front-end/ConsoleView.js:
232         (WebInspector.ConsoleView.prototype.addContext):
233         (WebInspector.ConsoleView.prototype.removeContext):
234         (WebInspector.ConsoleView.prototype._contextUpdated):
235         (WebInspector.ConsoleView.prototype.get _currentEvaluationContextId):
236         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
237         * inspector/front-end/ContextManager.js: Added.
238         (WebInspector.ContextManager):
239         (WebInspector.ContextManager.prototype._frameAdded):
240         (WebInspector.ContextManager.prototype._frameNavigated):
241         (WebInspector.ContextManager.prototype._frameDetached):
242         (WebInspector.FrameEvaluationContext):
243         (WebInspector.FrameEvaluationContext.prototype._frameNavigated):
244         (WebInspector.FrameEvaluationContext.prototype.get id):
245         (WebInspector.FrameEvaluationContext.prototype.get url):
246         (WebInspector.FrameEvaluationContext.prototype.get displayName):
247         * inspector/front-end/ResourceTreeModel.js:
248         (WebInspector.ResourceTreeModel.prototype._cleanupFramesAfterNavigation):
249         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
250         * inspector/front-end/WebKit.qrc:
251         * inspector/front-end/inspector.html:
252         * inspector/front-end/inspector.js:
253
254 2011-07-27  Shinya Kawanaka  <shinyak@google.com>
255
256         Uses isHTMLSpace to normalize white spaces.
257         https://bugs.webkit.org/show_bug.cgi?id=57746
258
259         Reviewed by Kent Tamura.
260
261         Test: fast/forms/option-strip-unicode-spaces.html
262
263         * dom/OptionElement.cpp:
264         (WebCore::OptionElement::normalizeText):
265           Uses isHTMLSpace to trim and replace white spaces.
266
267 2011-05-15  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
268
269         [chromium] Remove include of skia/ext/platform_canvas.h
270         https://bugs.webkit.org/show_bug.cgi?id=60852
271
272         Reviewed by Hajime Morita.
273
274         In https://bugs.webkit.org/show_bug.cgi?id=57563 the usage of the
275         skia::PlatformCanvas was eliminated in favor of directly using
276         SkCanvas directly. The include of platform_canvas.h was not removed
277         leaving the dependency on Chromium in the header files. Remove
278         that dependency now.
279
280         * platform/graphics/skia/PlatformContextSkia.h: Remove platform_canvas.h
281
282 2011-07-27  Mikhail Naganov  <mnaganov@chromium.org>
283
284         Web Inspector: [Chromium] REGRESSION: Uncaught TypeError: Cannot read property 'isTracingToWindowObjects' of undefined
285         https://bugs.webkit.org/show_bug.cgi?id=65213
286
287         Reviewed by Pavel Feldman.
288
289         * inspector/front-end/DetailedHeapshotView.js:
290         (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
291
292 2011-07-27  Shinya Kawanaka  <shinyak@google.com>
293
294         Knob of a disabled or readonly range control should not be draggable.
295         https://bugs.webkit.org/show_bug.cgi?id=54820
296
297         Reviewed by Kent Tamura.
298
299         Made disabled or readonly range control undraggable.
300
301         Test: fast/forms/range-drag.html
302
303         * html/RangeInputType.cpp:
304         (WebCore::RangeInputType::handleMouseDownEvent):
305           Added check that the element is readonly or disabled.
306         * html/shadow/SliderThumbElement.cpp:
307         (WebCore::SliderThumbElement::defaultEventHandler): ditto.
308
309 2011-07-27  Yuta Kitamura  <yutak@chromium.org>
310
311         WebSocket: CloseEvent attribute is not available on WebWorkers in JSC
312         https://bugs.webkit.org/show_bug.cgi?id=65232
313
314         Reviewed by Kent Tamura.
315
316         Add [NoStaticTables] attribute to CloseEvent interface definition. This attribute
317         makes the code generator obtain the attributes table used for building ClassInfo
318         through JSGlobalData, instead of directly using a statically-allocated table.
319
320         Generally speaking, NoStaticTables needs to be specified in interfaces which
321         may be accessed from workers.
322
323         Tests: http/tests/websocket/tests/hybi/workers/shared-worker-simple.html (updated)
324                http/tests/websocket/tests/hybi/workers/worker-simple.html (updated)
325
326         * websockets/CloseEvent.idl: Fixed the formatting, too.
327
328 2011-07-26  James Robinson  <jamesr@chromium.org>
329
330         [chromium] REGRESSION(90963): Content layers are not redrawn after losing the compositor context
331         https://bugs.webkit.org/show_bug.cgi?id=65224
332
333         Reviewed by Kenneth Russell.
334
335         There's no automated way to test lost compositor contexts (yet), but to test manually open up the poster circle
336         page and kill the GPU process.
337
338         * platform/graphics/chromium/ContentLayerChromium.cpp:
339         (WebCore::ContentLayerChromium::cleanupResources):
340         * platform/graphics/chromium/ContentLayerChromium.h:
341
342 2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
343
344         Unreviewed, rolling out r91805.
345         http://trac.webkit.org/changeset/91805
346         https://bugs.webkit.org/show_bug.cgi?id=65226
347
348         Breaks @ symbols and changes other font rendering on Windows
349         (Requested by enne on #webkit).
350
351         * platform/graphics/chromium/FontChromiumWin.cpp:
352         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
353         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
354         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
355         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
356         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
357         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
358         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
359         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
360         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
361         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
362         (WebCore::drawGlyphsWin):
363         (WebCore::Font::drawComplexText):
364         * platform/graphics/chromium/UniscribeHelper.cpp:
365         (WebCore::UniscribeHelper::draw):
366         * platform/graphics/skia/PlatformContextSkia.cpp:
367         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
368         * platform/graphics/skia/PlatformContextSkia.h:
369         * platform/graphics/skia/SkiaFontWin.cpp:
370         (WebCore::windowsCanHandleDrawTextShadow):
371         (WebCore::windowsCanHandleTextDrawing):
372         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
373         * platform/graphics/skia/SkiaFontWin.h:
374
375 2011-07-26  Adrienne Walker  <enne@google.com>
376
377         Unreviewed, rolling out r91812.
378         http://trac.webkit.org/changeset/91812
379         https://bugs.webkit.org/show_bug.cgi?id=65210
380
381         Breaks OSX GPU tests.
382
383         * platform/graphics/chromium/LayerRendererChromium.cpp:
384         (WebCore::LayerRendererChromium::drawLayers):
385
386 2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
387
388         Unreviewed, rolling out r91809.
389         http://trac.webkit.org/changeset/91809
390         https://bugs.webkit.org/show_bug.cgi?id=65225
391
392         Does not build on Chromium Windows (Requested by abarth on
393         #webkit).
394
395         * dom/WheelEvent.cpp:
396         (WebCore::WheelEvent::WheelEvent):
397         (WebCore::WheelEvent::initWheelEvent):
398         * dom/WheelEvent.h:
399         * page/EventHandler.cpp:
400         (WebCore::EventHandler::EventHandler):
401         (WebCore::EventHandler::handleGestureEvent):
402         (WebCore::EventHandler::handleTouchEvent):
403         (WebCore::EventHandler::resetGestureRecognizer):
404         * page/EventHandler.h:
405         * page/FrameView.cpp:
406         (WebCore::FrameView::reset):
407         * platform/PlatformGestureEvent.h:
408         * platform/PlatformGestureRecognizer.h:
409         * platform/chromium/FramelessScrollView.h:
410         * platform/chromium/GestureRecognizerChromium.cpp:
411         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
412         (WebCore::InnerGestureRecognizer::reset):
413         (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
414         (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
415         (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
416         (WebCore::touchDown):
417         (WebCore::noGesture):
418         (WebCore::click):
419         (WebCore::isClickOrScroll):
420         (WebCore::inScroll):
421         * platform/chromium/GestureRecognizerChromium.h:
422         (WebCore::GestureRecognizerChromium::reset):
423         (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
424         * platform/chromium/PopupMenuChromium.cpp:
425         * platform/chromium/PopupMenuChromium.h:
426         * platform/mac/ScrollAnimatorMac.mm:
427         (WebCore::ScrollAnimatorMac::handleGestureEvent):
428
429 2011-07-26  Dmitry Lomov  <dslomov@google.com>
430
431         [V8][Chromium] Run workers in a separate v8::Isolate 
432         https://bugs.webkit.org/show_bug.cgi?id=65004
433         This patch allocates a new v8::Isolate for every worker and enters it on worker thread.
434
435         Reviewed by David Levin.
436
437         Covered by existing chromium tests.
438
439         * bindings/v8/DOMDataStore.cpp:
440         (WebCore::DOMDataStore::DOMDataStore):
441         (WebCore::DOMDataStore::~DOMDataStore):
442         * bindings/v8/StaticDOMDataStore.cpp:
443         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
444         (WebCore::StaticDOMDataStore::~StaticDOMDataStore):
445         * bindings/v8/StaticDOMDataStore.h:
446         * bindings/v8/V8Binding.h:
447         (WebCore::V8BindingPerIsolateData::registerDOMDataStore):
448         (WebCore::V8BindingPerIsolateData::unregisterDOMDataStore):
449         * bindings/v8/V8DOMMap.cpp:
450         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
451         (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
452         * bindings/v8/WorkerContextExecutionProxy.cpp:
453         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
454         (WebCore::WorkerContextExecutionProxy::initV8):
455         * bindings/v8/WorkerContextExecutionProxy.h:
456         * bindings/v8/WorkerScriptController.cpp:
457         (WebCore::WorkerScriptController::WorkerScriptController):
458         (WebCore::WorkerScriptController::~WorkerScriptController):
459         * bindings/v8/WorkerScriptController.h:
460
461 2011-07-26  James Robinson  <jamesr@chromium.org>
462
463         [chromium] Avoid clearing the framebuffer when compositing in release builds
464         https://bugs.webkit.org/show_bug.cgi?id=65210
465
466         Reviewed by Kenneth Russell.
467
468         We clear the default framebuffer to blue when compositing so it's
469         easier to spot regions we miss. This is useful for debugging, but eats
470         bandwidth unnecessarily in release builds.
471
472         * platform/graphics/chromium/LayerRendererChromium.cpp:
473         (WebCore::LayerRendererChromium::drawLayers):
474
475 2011-07-26  Jeffrey Pfau  <jpfau@apple.com>
476
477         New XML tokenizer
478         https://bugs.webkit.org/show_bug.cgi?id=64566
479
480         Reviewed by Adam Barth.
481
482         Add tokenizer for XML and tests in NewXMLDocumentParser for printing results of tokenization.
483
484         * GNUmakefile.list.am:
485         * WebCore.gypi:
486         * WebCore.pro:
487         * WebCore.vcproj/WebCore.vcproj:
488         * WebCore.xcodeproj/project.pbxproj:
489         * xml/parser/NewXMLDocumentParser.cpp:
490         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
491         (WebCore::NewXMLDocumentParser::append):
492         * xml/parser/NewXMLDocumentParser.h:
493         * xml/parser/XMLToken.h:
494         * xml/parser/XMLTokenizer.cpp: Added.
495         (WebCore::XMLTokenizer::XMLTokenizer):
496         (WebCore::::shouldSkipNullCharacters):
497         (WebCore::XMLTokenizer::nextToken):
498         (WebCore::XMLTokenizer::bufferCharacter):
499         (WebCore::XMLTokenizer::parseError):
500         * xml/parser/XMLTokenizer.h: Added.
501         (WebCore::XMLTokenizer::create):
502         (WebCore::XMLTokenizer::gotError):
503         (WebCore::XMLTokenizer::shouldSkipNullCharacters):
504
505 2011-07-26  Robert Kroeger  <rjkroege@chromium.org>
506
507         [chromium] Layering violations in gesture recognizer
508         https://bugs.webkit.org/show_bug.cgi?id=65044
509
510         Reviewed by Adam Barth.
511
512         Divided the gesture recognizer up to correct a layering
513         violation by moving gesture implementation from it to
514         EventHandler::handleGestureEvent so that the gesture recognizer
515         could simply be an engine for generating gesture events from
516         touch events.
517
518         * page/EventHandler.cpp:
519         (WebCore::EventHandler::EventHandler):
520         Removed construction of gesture recognizer.
521         (WebCore::EventHandler::handleGestureEvent):
522         Extended for new gesture events added in this patch.
523         (WebCore::EventHandler::handleTouchEvent):
524         Removed call into gesture recognizer.
525         * page/EventHandler.h:
526         * page/FrameView.cpp:
527         (WebCore::FrameView::reset):
528         Removed code to reset gesture recognizer.
529         * platform/PlatformGestureEvent.h:
530         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
531         (WebCore::PlatformGestureEvent::deltaX):
532         (WebCore::PlatformGestureEvent::deltaY):
533         (WebCore::PlatformGestureEvent::shiftKey):
534         (WebCore::PlatformGestureEvent::ctrlKey):
535         (WebCore::PlatformGestureEvent::altKey):
536         (WebCore::PlatformGestureEvent::metaKey):
537         Added additional gesture types and parameters.
538         * platform/PlatformGestureRecognizer.h:
539         * platform/chromium/FramelessScrollView.h:
540         Added support for displatching gesture and touch events.
541         * platform/chromium/GestureRecognizerChromium.cpp:
542         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
543         (WebCore::InnerGestureRecognizer::reset):
544         (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
545         (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
546         Removed all depedencies on EventHandler. Instead, create gesture
547         events from touch event stream.
548         (WebCore::InnerGestureRecognizer::constructScrollGesture):
549         (WebCore::touchDown):
550         (WebCore::noGesture):
551         (WebCore::click):
552         (WebCore::isClickOrScroll):
553         (WebCore::inScroll):
554         (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
555         (WebCore::GestureRecognizerChromium::reset):
556         * platform/chromium/GestureRecognizerChromium.h:
557         * platform/chromium/PopupMenuChromium.cpp:
558         Added support to handle touch events and gesture events.
559         (WebCore::PopupContainer::handleTouchEvent):
560         (WebCore::PopupContainer::handleGestureEvent):
561         (WebCore::PopupListBox::handleTouchEvent):
562         (WebCore::PopupListBox::handleGestureEvent):
563         * platform/chromium/PopupMenuChromium.h:
564         * platform/mac/ScrollAnimatorMac.mm:
565         (WebCore::ScrollAnimatorMac::handleGestureEvent):
566         Ignores the newly added gesture event types.
567
568 2011-07-26  Joseph Pecoraro  <joepeck@webkit.org>
569
570         Restore Composited Layers Faster from PageCache
571         https://bugs.webkit.org/show_bug.cgi?id=65216
572
573         Reviewed by Simon Fraser.
574
575         Restore the layer tree hierarchy a little sooner, when
576         restoring from the page cache. This more closely matches
577         original restore behavior.
578
579         Existing test showed no change.
580
581         * page/FrameView.cpp:
582         (WebCore::FrameView::restoreBackingStores):
583
584 2011-07-26  Mike Reed  <reed@google.com>
585
586         [skia] never draw with GDI, so that all text can be gpu-accelerated
587         https://bugs.webkit.org/show_bug.cgi?id=65203
588
589         Reviewed by Kenneth Russell.
590
591         No new tests. existing tests apply to the new drawing path
592
593         * platform/graphics/chromium/FontChromiumWin.cpp:
594         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
595         * platform/graphics/skia/SkiaFontWin.cpp:
596         (WebCore::windowsCanHandleDrawTextShadow):
597         (WebCore::windowsCanHandleTextDrawing):
598         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
599
600 2011-07-26  Kenneth Russell  <kbr@google.com>
601
602         Float32Array(ArrayBuffer, index, length) constructor working incorrectly.
603         https://bugs.webkit.org/show_bug.cgi?id=57042
604
605         Reviewed by James Robinson.
606
607         * bindings/js/JSArrayBufferViewHelper.h:
608         (WebCore::constructArrayBufferViewWithArrayBufferArgument):
609         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
610         (WebCore::constructWebGLArrayWithArrayBufferArgument):
611
612 2011-07-26  Chris Rogers  <crogers@google.com>
613
614         V8 custom bindings for AudioNode must do proper object checking and throw exception in case of error
615         https://bugs.webkit.org/show_bug.cgi?id=65222
616
617         Reviewed by James Robinson.
618
619         No new tests - this fixes upcoming audionode.html layout test
620
621         * bindings/v8/custom/V8AudioNodeCustom.cpp:
622         (WebCore::V8AudioNode::connectCallback):
623
624 2011-07-26  Chris Rogers  <crogers@google.com>
625
626         AudioContext is not correctly accounting for hardware resources
627         https://bugs.webkit.org/show_bug.cgi?id=65217
628
629         Reviewed by Kenneth Russell.
630
631         No new tests since audio API is not yet implemented.
632
633         * webaudio/AudioContext.cpp:
634         (WebCore::AudioContext::create):
635         (WebCore::AudioContext::AudioContext):
636         (WebCore::AudioContext::lazyInitialize):
637
638 2011-07-26  Luke Macpherson   <macpherson@chromium.org>
639
640         Handle CSS Properties that can be either auto or a primitive value in CSSStyleApplyProperty
641         https://bugs.webkit.org/show_bug.cgi?id=65164
642
643         Reviewed by Dimitri Glazkov.
644
645         No new tests / refactoring only.
646
647         * css/CSSPrimitiveValueMappings.h:
648         Add casts to/from various numeric types.
649         (WebCore::CSSPrimitiveValue::operator short):
650         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
651         (WebCore::CSSPrimitiveValue::operator unsigned short):
652         (WebCore::CSSPrimitiveValue::operator int):
653         (WebCore::CSSPrimitiveValue::operator float):
654         * css/CSSStyleApplyProperty.cpp:
655         Add class to handle properties that set an "auto" boolean on RenderStyle.
656         (WebCore::ApplyPropertyAuto::ApplyPropertyAuto):
657         (WebCore::ApplyPropertyAuto::applyInheritValue):
658         (WebCore::ApplyPropertyAuto::applyInitialValue):
659         (WebCore::ApplyPropertyAuto::applyValue):
660         (WebCore::ApplyPropertyAuto::hasAuto):
661         (WebCore::ApplyPropertyAuto::setAuto):
662         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
663         * css/CSSStyleSelector.cpp:
664         Remove existing implementations.
665         (WebCore::CSSStyleSelector::applyProperty):
666
667 2011-07-26  Pratik Solanki  <psolanki@apple.com>
668
669         Add protection space authentication callback code to CFNetwork loader on Mac
670         https://bugs.webkit.org/show_bug.cgi?id=65190
671         <rdar://problem/9842424>
672
673         Reviewed by Oliver Hunt.
674
675         Port over protection space authentication callback code from ResourceHandleMac.mm to
676         ResourceHandleCFNet.cpp.
677
678         * platform/network/ResourceHandle.h:
679         * platform/network/cf/ResourceHandleCFNet.cpp:
680         (WebCore::canRespondToProtectionSpace):
681         (WebCore::ResourceHandle::createCFURLConnection):
682         (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
683         (WebCore::WebCoreSynchronousLoaderClient::canAuthenticateAgainstProtectionSpace):
684         * platform/network/mac/ResourceHandleMac.mm:
685         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Add logging.
686
687 2011-07-26  Sadrul Habib Chowdhury  <sadrul@chromium.org>
688
689         Add support for download='filename' attribute in anchors.
690         https://bugs.webkit.org/show_bug.cgi?id=64580
691
692         Reviewed by Adam Barth.
693
694         The download attribute allows the author of the hyperlink to cause the
695         browser to download the linked URL.  The author can also supply a
696         suggested file name in the attribute value.  This feature is a recent
697         addition to HTML to better support offline applications that use blob
698         URLs.  Traditionally, web sites use the HTTP Content-Disposition header
699         to trigger downloads, but that option isn't available when working
700         offline.
701
702         There is some question about whether we should initiate a download when
703         we receive a DOM-created click event.  This patch does initiate the
704         download, but we might revise that decision in the future as part of a
705         larger change in how WebKit treats the interaction between default
706         event handlers and DOM-created events.
707
708         Tests: fast/dom/HTMLAnchorElement/anchor-download.html
709                fast/dom/HTMLAnchorElement/anchor-nodownload.html
710                fast/dom/HTMLAnchorElement/anchor-download-unset.html
711                fast/dom/HTMLAnchorElement/anchor-nodownload-set.html
712
713         * html/HTMLAnchorElement.cpp:
714         (WebCore::HTMLAnchorElement::defaultEventHandler):
715         (WebCore::HTMLAnchorElement::handleClick):
716         * html/HTMLAnchorElement.h:
717         * html/HTMLAnchorElement.idl:
718         * html/HTMLAttributeNames.in:
719         * loader/EmptyClients.h:
720         (WebCore::EmptyFrameLoaderClient::startDownload):
721         * loader/FrameLoaderClient.h:
722
723 2011-07-26  Mark Hahnenberg  <mhahnenberg@apple.com>
724
725         Refactor automatically generated JS DOM bindings to replace operator new with static create methods
726         https://bugs.webkit.org/show_bug.cgi?id=64732
727
728         Reviewed by Oliver Hunt.
729
730         No new tests.
731
732         Replacing the public constructors in the automatically generated JS DOM bindings in CodeGeneratorJS.pm
733         with static create methods.  This is part of a larger refactoring effort to use static create methods
734         in the headers of the generated files (so as to be inline-able) in favor of public constructors throughout JSC.
735
736         * bindings/js/JSAudioConstructor.h:
737         (WebCore::JSAudioConstructor::create):
738         * bindings/js/JSDOMBinding.h:
739         (WebCore::createWrapper):
740         * bindings/js/JSDOMGlobalObject.h:
741         (WebCore::getDOMConstructor):
742         * bindings/js/JSDOMWindowCustom.cpp:
743         (WebCore::JSDOMWindow::history):
744         (WebCore::JSDOMWindow::location):
745         * bindings/js/JSDOMWindowShell.cpp:
746         (WebCore::JSDOMWindowShell::setWindow):
747         * bindings/js/JSDocumentCustom.cpp:
748         (WebCore::JSDocument::location):
749         * bindings/js/JSImageConstructor.h:
750         (WebCore::JSImageConstructor::create):
751         * bindings/js/JSImageDataCustom.cpp:
752         (WebCore::toJS):
753         * bindings/js/JSOptionConstructor.h:
754         (WebCore::JSOptionConstructor::create):
755         * bindings/js/WorkerScriptController.cpp:
756         (WebCore::WorkerScriptController::initScript):
757         * bindings/scripts/CodeGeneratorJS.pm:
758         (AddIncludesForTypeInImpl):
759         (AddIncludesForTypeInHeader):
760         (AddIncludesForType):
761         (GenerateHeader):
762         (GenerateImplementation):
763         (GenerateCallbackImplementation):
764         (GenerateConstructorDeclaration):
765         * bindings/scripts/test/JS/JSTestInterface.cpp:
766         (WebCore::JSTestInterfaceConstructor::create):
767         (WebCore::JSTestInterface::createPrototype):
768         * bindings/scripts/test/JS/JSTestInterface.h:
769         (WebCore::JSTestInterface::create):
770         (WebCore::JSTestInterfacePrototype::create):
771         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
772         (WebCore::JSTestMediaQueryListListenerConstructor::create):
773         (WebCore::JSTestMediaQueryListListener::createPrototype):
774         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
775         (WebCore::JSTestMediaQueryListListener::create):
776         (WebCore::JSTestMediaQueryListListenerPrototype::create):
777         * bindings/scripts/test/JS/JSTestObj.cpp:
778         (WebCore::JSTestObjConstructor::create):
779         (WebCore::JSTestObj::createPrototype):
780         * bindings/scripts/test/JS/JSTestObj.h:
781         (WebCore::JSTestObj::create):
782         (WebCore::JSTestObjPrototype::create):
783         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
784         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
785         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
786         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
787         (WebCore::JSTestSerializedScriptValueInterface::create):
788         (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
789         * bridge/jni/jsc/JavaArrayJSC.cpp:
790         (JavaArray::convertJObjectToArray):
791         * bridge/jsc/BridgeJSC.cpp:
792         (JSC::Bindings::Instance::newRuntimeObject):
793         * bridge/objc/objc_utility.mm:
794         (JSC::Bindings::convertObjcValueToValue):
795         * bridge/qt/qt_runtime.cpp:
796         (JSC::Bindings::convertQVariantToValue):
797         * bridge/runtime_array.h:
798         (JSC::RuntimeArray::create):
799         * bridge/runtime_object.h:
800         (JSC::Bindings::RuntimeObject::create):
801
802 2011-07-26  Xiaomei Ji  <xji@chromium.org>
803
804         --webkit-visual-word does not work in multi-line
805         https://bugs.webkit.org/show_bug.cgi?id=61344
806
807         Reviewed by Ryosuke Niwa.
808
809         Replace Position(node, offset, PositionIsOffsetInAnchor) with 
810         createPositionAvoidingIgnoredNode(node, offset) which takes care of creating position 
811         before/after <br/> etc. editingIgnoresContent node. 
812
813         When iterate InlineBox, replace prevLeafChild and nextLeafChild (which only returns 
814         InlineBox within the same line) with leftInlineBox and rightInlineBox (which returns 
815         InlineBox across multiple lines).
816
817         * editing/htmlediting.cpp:
818         (WebCore::createPositionAvoidingIgnoredNode):
819         * editing/htmlediting.h:
820         * editing/visible_units.cpp:
821         (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality): Replace Position() with
822         createPositionAvoidingIgnoredNode().
823         (WebCore::leftmostPositionInRTLBoxInLTRBlock): Ditto.
824         (WebCore::rightmostPositionInLTRBoxInRTLBlock): Ditto.
825         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality): Ditto.
826         (WebCore::blockWithPreviousLineBox): Added.
827         (WebCore::previousRootInlineBox): Added.
828         (WebCore::blockWithNextLineBox): Added.
829         (WebCore::nextRootInlineBox): Added.
830         (WebCore::leftInlineBox): Added.
831         (WebCore::rightInlineBox): Added.
832         (WebCore::leftWordBoundary): Replace prevLeafChild/nextLeafChild with leftInlineBox()
833         and rightInlineBox().
834         (WebCore::rightWordBoundary): Ditto.
835         (WebCore::leftWordPositionAcrossBoundary): Ditto.
836         (WebCore::rightWordPositionAcrossBoundary): Ditto.
837
838 2011-07-26  David Hyatt  <hyatt@apple.com>
839
840         https://bugs.webkit.org/show_bug.cgi?id=60778
841
842         Use after free because of line box culling optimization regression.
843
844         In the case of a child with no line box being removed (typically
845         a <br> in quirks mode), if there is no previous sibling with a line
846         box, then we have a potential problem with the culling optimization.
847
848         The culled inline may still have other leaf line box children, but
849         they may follow the removed <br>. In this case we can't rely on
850         them, since we need a line box that comes before the <br>.
851
852         The fix is to simply recur up to the parent if we are a culled inline
853         and could not find a previous line box.
854
855         Reviewed by Dan Bernstein.
856
857         Added editing/execCommand/crash-line-break-after-outdent.html
858
859         * rendering/RenderLineBoxList.cpp:
860         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
861
862 2011-07-26  Dan Bernstein  <mitz@apple.com>
863
864         <rdar://problem/9842889> Add a generic pictograph font family
865         https://bugs.webkit.org/show_bug.cgi?id=65197
866
867         Reviewed by Anders Carlsson.
868
869         Test: fast/css/font-family-pictograph.html
870
871         * WebCore.exp.in: Export Settings::setPictographFontFamily().
872         * css/CSSComputedStyleDeclaration.cpp:
873         (WebCore::identifierForFamily): Added -webkit-pictograph.
874         * css/CSSFontSelector.cpp:
875         (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
876         (WebCore::fontDataForGenericFamily): Ditto.
877         * css/CSSStyleSelector.cpp:
878         (WebCore::CSSStyleSelector::applyProperty): Ditto.
879         * css/CSSValueKeywords.in:
880         * inspector/front-end/CSSKeywordCompletions.js: Ditto.
881         * inspector/front-end/SourceCSSTokenizer.js: Ditto.
882         (WebInspector.SourceCSSTokenizer):
883         * inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
884         * page/Settings.cpp:
885         (WebCore::Settings::pictographFontFamily): Added this getter.
886         (WebCore::Settings::setPictographFontFamily): Added this setter.
887         * page/Settings.h:
888         * platform/graphics/FontDescription.h: Added PictographFamily to the GenericFamilyType enum.
889
890 2011-07-26  Viet-Trung Luu  <viettrungluu@chromium.org>
891
892         Improve (i.e., speed up) .gyp(i) files for Chromium
893         https://bugs.webkit.org/show_bug.cgi?id=65032
894
895         Reviewed by Adam Barth.
896
897         This re-applies r91595 with the source exclusion fixed.
898
899         Test by building (in all supported configurations).
900
901         * WebCore.gyp/WebCore.gyp:
902         * WebCore.gypi:
903
904 2011-07-26  Alexis Menard  <alexis.menard@openbossa.org>
905
906         [Qt] Disable video support on linux if the dependencies are not found.
907
908         If we can't find the necessary dependencies to build the GStreamer media player
909         we disable the video support. This is related to http://trac.webkit.org/changeset/91752.
910
911         Reviewed by Holger Freyther.
912
913         No new tests, it's a build fix.
914
915         * features.pri:
916
917 2011-07-26  Evan Martin  <evan@chromium.org>
918
919         regression: generating CSSValueKeywords should not print by default
920         https://bugs.webkit.org/show_bug.cgi?id=65195
921
922         Reviewed by Tony Chang.
923
924         Some refactoring made some callers no longer pass the final 'beQuiet'
925         parameter to applyPreprocessor.  This flag was only used to print the
926         input filename anyway, so remove the flag and just make the caller
927         print the filename if it wants this.
928
929         * bindings/scripts/IDLParser.pm:
930         (Parse): print before calling applyPreprocessor, if necessary.
931         * bindings/scripts/preprocessor.pm:
932         (applyPreprocessor): remove the beQuiet flag; just always be quiet.
933
934 2011-07-26  Raphael Kubo da Costa  <kubo@profusion.mobi>
935
936         [EFL] Do not crash on the isSlider() assert.
937         https://bugs.webkit.org/show_bug.cgi?id=65191
938
939         Reviewed by Antonio Gomes.
940
941         RenderThemeEfl's paintSliderThumb() just forwarded the call to
942         paintSliderTrack(), which, on its turn, called code that assumed that
943         object->isSlider() was true. That does not seem to be the case for
944         slidethumbs, so any page with an <input type="range"> tag would crash
945         WebKit.
946
947         We now do what RenderThemeQt does, and assume everything was properly
948         done in the call to paintSliderTrack().
949
950         No new tests, as this has been uncovered by an existing test.
951
952         * platform/efl/RenderThemeEfl.cpp:
953         (WebCore::RenderThemeEfl::paintSliderThumb):
954
955 2011-07-26  Brian Salomon  <bsalomon@google.com>
956
957         [SKIA] Make the skia GL context current when drawing text to gpu backed platform context.
958         https://bugs.webkit.org/show_bug.cgi?id=65182
959
960         Reviewed by Stephen White.
961
962         No new tests. Not sure how to test wrong-ctx bugs in layout tests.
963
964         * platform/graphics/skia/SkiaFontWin.cpp:
965         (WebCore::paintSkiaText):
966
967 2011-07-26  Emil A Eklund  <eae@chromium.org>
968
969         RenderText::absoluteRectsForRange() and absoluteQuadsForRange() have nearly duplicate code
970         https://bugs.webkit.org/show_bug.cgi?id=62478
971
972         Reviewed by Simon Fraser.
973
974         Test: fast/dom/Range/getClientRects.html
975
976         * platform/graphics/FloatRect.h:
977         (WebCore::FloatRect::isZero):
978         Add izZero method, unlike isEmpty this checks if both the width and the
979         height are zero.
980
981         * rendering/RenderText.cpp:
982         (WebCore::absoluteQuadForTextBox):
983         (WebCore::RenderText::absoluteRectsForRange):
984         (WebCore::RenderText::absoluteQuadsForRange):
985         Break duplicate code out of absoluteRectsForRange and
986         absoluteQuadsForRange into shared static function.
987         
988         Fix what I presume to be a bug in the absoluteQuadsForRange where the
989         logicalHeight was always used to set the size in absoluteQuadForTextBox
990         as oppsued to the absoluteRectsForRange implementation that uses the
991         logicalWidth or the logicalHeight depending on whether it's horizontal or
992         vertical.
993
994 2011-07-26  Alexandru Chiculita  <achicu@adobe.com>
995
996         [CSSRegions] Collect flowed elements in different render element
997         https://bugs.webkit.org/show_bug.cgi?id=64516
998
999         All the RenderObjects that have a specified "flow" name are moved out of the
1000         normal flow. A RenderFlowThread will collect all such RenderObjects. There is
1001         a RenderFlowThread for each flow name. The new RenderFlowThread is an anonymous
1002         RenderBlock that is positioned absolute and will not render directly. In a
1003         different bug/patch we will add RenderRegion that will take care of rendering the
1004         RenderFlowThread on screen.
1005
1006         Reviewed by Simon Fraser.
1007
1008         Tests: fast/regions/webkit-flow-renderer-layer.html
1009                fast/regions/webkit-flow-renderer-nested.html
1010                fast/regions/webkit-flow-renderer.html
1011
1012         * WebCore.vcproj/WebCore.vcproj:
1013         * WebCore.xcodeproj/project.pbxproj:
1014         * dom/Node.cpp:
1015         (WebCore::Node::diff):
1016         * dom/NodeRenderingContext.cpp:
1017         (WebCore::NodeRenderingContext::NodeRenderingContext):
1018         (WebCore::NodeRenderingContext::setStyle):
1019         (WebCore::NodeRenderingContext::nextRenderer):
1020         (WebCore::NodeRenderingContext::previousRenderer):
1021         (WebCore::NodeRenderingContext::parentRenderer):
1022         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
1023         (WebCore::NodeRendererFactory::createRendererIfNeeded):
1024         * dom/NodeRenderingContext.h:
1025         (WebCore::NodeRenderingContext::hasFlowThreadParent):
1026         (WebCore::NodeRenderingContext::parentFlowRenderer):
1027         * rendering/RenderFlowThread.cpp: Added.
1028         (WebCore::RenderFlowThread::RenderFlowThread):
1029         (WebCore::RenderFlowThread::createFlowThreadStyle):
1030         (WebCore::RenderFlowThread::nextRendererForNode):
1031         (WebCore::RenderFlowThread::previousRendererForNode):
1032         (WebCore::RenderFlowThread::addChild):
1033         (WebCore::RenderFlowThread::removeChild):
1034         * rendering/RenderFlowThread.h: Added.
1035         (WebCore::toRenderFlowThread):
1036         * rendering/RenderLayer.cpp:
1037         (WebCore::RenderLayer::collectLayers):
1038         * rendering/RenderObject.h:
1039         (WebCore::RenderObject::isRenderFlowThread):
1040         * rendering/RenderTreeAsText.cpp:
1041         (WebCore::RenderTreeAsText::writeRenderObject):
1042         (WebCore::writeLayers):
1043         * rendering/RenderView.cpp:
1044         (WebCore::RenderView::renderFlowThreadWithName):
1045         * rendering/RenderView.h:
1046         * rendering/style/RenderStyle.cpp:
1047         (WebCore::RenderStyle::diff):
1048
1049 2011-07-26  Patrick Dubroy  <dubroy@chromium.org>
1050
1051         Filename text in file upload controls is not aligned with button text on
1052         chromium-linux, chromium-win, and gtk.
1053
1054         https://bugs.webkit.org/show_bug.cgi?id=64692
1055
1056         The fix is to not include the margin, border, and padding in the calculation,
1057         because those are already accounted for by RenderBlock::baselinePosition().
1058
1059         Reviewed by Dimitri Glazkov.
1060
1061         * rendering/RenderFileUploadControl.cpp:
1062         (WebCore::RenderFileUploadControl::paintObject):
1063
1064 2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1065
1066         Unreviewed, rolling out r91746.
1067         http://trac.webkit.org/changeset/91746
1068         https://bugs.webkit.org/show_bug.cgi?id=65180
1069
1070         It broke SL build (Requested by Ossy on #webkit).
1071
1072         * dom/OptionElement.cpp:
1073         (WebCore::OptionElement::normalizeText):
1074
1075 2011-07-26  Pavel Feldman  <pfeldman@google.com>
1076
1077         Web Inspector: Better represent custom getters in the properties pane
1078         https://bugs.webkit.org/show_bug.cgi?id=16734
1079
1080         Reviewed by Yury Semikhatsky.
1081
1082         Test: inspector/runtime/runtime-getProperties.html
1083
1084         * inspector/InjectedScriptSource.js:
1085         (.):
1086         * inspector/Inspector.json:
1087         * inspector/front-end/ObjectPropertiesSection.js:
1088         (WebInspector.ObjectPropertyTreeElement.prototype.update):
1089
1090 2011-07-26  Alexis Menard  <alexis.menard@openbossa.org>
1091
1092         Reviewed by Andreas Kling.
1093
1094         [Qt] Change default backend to use GStreamer on Linux and QuickTime on Mac.
1095         https://bugs.webkit.org/show_bug.cgi?id=63472
1096
1097         Enable the GStreamer backend and the QuickTime backend as default media players
1098         for the Qt port on Mac and Linux. QtMultimedia is now a fallback option that you
1099         can enable by passing DEFINES+=USE_QT_MULTIMEDIA=1 to enforce its usage.
1100
1101         No new tests. The media layout tests are disabled on the Qt port but hopefully with this
1102         switch we can enable them again.
1103
1104         * WebCore.pri:
1105         * WebCore.pro:
1106         * features.pri:
1107
1108 2011-07-26  Pavel Feldman  <pfeldman@google.com>
1109
1110         Web Inspector: Implement setPropertyValue using evaluate and callFunctionOn
1111         https://bugs.webkit.org/show_bug.cgi?id=65112
1112
1113         Reviewed by Yury Semikhatsky.
1114
1115         Test: inspector/runtime/runtime-setPropertyValue.html
1116
1117         * inspector/InjectedScript.cpp:
1118         * inspector/InjectedScript.h:
1119         * inspector/InjectedScriptSource.js:
1120         (.):
1121         * inspector/Inspector.json:
1122         * inspector/InspectorRuntimeAgent.cpp:
1123         * inspector/InspectorRuntimeAgent.h:
1124         * inspector/front-end/RemoteObject.js:
1125         (WebInspector.RemoteObject.prototype.setPropertyValue.evaluatedCallback.setPropertyValue):
1126         (WebInspector.RemoteObject.prototype.setPropertyValue.evaluatedCallback):
1127         (WebInspector.RemoteObject.prototype.setPropertyValue.propertySetCallback):
1128         (WebInspector.RemoteObject.prototype.setPropertyValue):
1129
1130 2011-07-26  Pavel Feldman  <pfeldman@google.com>
1131
1132         Re-applying r91665 and r91668 with JSC issues fixed.
1133
1134         Web Inspector: use dedicated type for object id in the protocol.
1135         Web Inspector: refactor remote object structure to contain value for primitive values.
1136
1137         https://bugs.webkit.org/show_bug.cgi?id=65103
1138         https://bugs.webkit.org/show_bug.cgi?id=65110
1139
1140         Reviewed by Yury Semikhatsky.
1141
1142         * inspector/InjectedScript.cpp:
1143         (WebCore::InjectedScript::callFunctionOn):
1144         * inspector/InjectedScript.h:
1145         * inspector/InjectedScriptSource.js:
1146         * inspector/Inspector.json:
1147         * inspector/InspectorRuntimeAgent.cpp:
1148         (WebCore::InspectorRuntimeAgent::callFunctionOn):
1149         * inspector/InspectorValues.cpp:
1150         (WebCore::InspectorBasicValue::writeJSON):
1151         * inspector/front-end/ConsoleView.js:
1152         (WebInspector.ConsoleView.prototype._format):
1153         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
1154         (WebInspector.ConsoleMessage.prototype._format):
1155         * inspector/front-end/ElementsTreeOutline.js:
1156         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
1157         * inspector/front-end/ObjectPropertiesSection.js:
1158         (WebInspector.ObjectPropertyTreeElement.prototype.update):
1159         * inspector/front-end/PropertiesSidebarPane.js:
1160         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
1161         * inspector/front-end/RemoteObject.js:
1162         (WebInspector.RemoteObject):
1163         (WebInspector.RemoteObject.fromPrimitiveValue):
1164         (WebInspector.RemoteObject.fromPayload):
1165         (WebInspector.RemoteObject.prototype.get subtype):
1166         (WebInspector.RemoteObject.prototype.callFunction):
1167         (WebInspector.LocalJSONObject.prototype.get description):
1168         (WebInspector.LocalJSONObject.prototype.get type):
1169         (WebInspector.LocalJSONObject.prototype.get subtype):
1170         * inspector/front-end/SourceFrame.js:
1171         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
1172         (WebInspector.SourceFrame.prototype._showPopup):
1173         * inspector/front-end/inspector.js:
1174         (WebInspector.log.logMessage):
1175         (WebInspector.log):
1176         (WebInspector.inspect):
1177
1178 2011-07-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1179
1180         Prepare animVal support - phase 2
1181         https://bugs.webkit.org/show_bug.cgi?id=65167
1182
1183         Reviewed by Dirk Schulze.
1184
1185         Next patch preparing animVal support. Modify the SVGAnimatedProperty* classes & macros to assure that calling someElement->someProperty()
1186         will return the animVal, when the property is being animated. Not yet hooked into SVGAnimateElement, this is just a preparation.
1187
1188         Doesn't affect any tests, yet.
1189
1190         * svg/SVGPathElement.cpp: Adapt to SVGAnimatedProperty::lookupWrapper changes (new template parameters have been added).
1191         (WebCore::SVGPathElement::svgAttributeChanged):
1192         * svg/SVGPathSegWithContext.h: Ditto.
1193         (WebCore::SVGPathSegWithContext::animatedProperty):
1194         * svg/SVGPolyElement.cpp: Ditto.
1195         (WebCore::SVGPolyElement::parseMappedAttribute):
1196         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Implement currentAnimatedValue, an abstract way to retrieve the underlying animated value for any animated type.
1197         (WebCore::SVGAnimatedEnumerationPropertyTearOff::currentAnimatedValue): Forward call to SVGAnimatedStaticPropertyTearOff<int>, our base.
1198         * svg/properties/SVGAnimatedListPropertyTearOff.h:
1199         (WebCore::SVGAnimatedListPropertyTearOff::isAnimating): Returns whether this property is being animated or not.
1200         (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
1201         * svg/properties/SVGAnimatedProperty.h:
1202         (WebCore::SVGAnimatedProperty::updateAnimVal): Will be used from SVGAnim*Element to update the current animVal, exposed to JS.
1203         (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper): Share more code with lookupWrapper.
1204         (WebCore::SVGAnimatedProperty::lookupWrapper): Cleanup code, avoid doing any work for non-SVGElement derived objects, like SVGViewSpec.
1205         * svg/properties/SVGAnimatedPropertyMacros.h: Make all lowerProperty() calls (eg. myRectElement->x()) return the animVal, if the property is being animated.
1206         * svg/properties/SVGAnimatedPropertyTearOff.h: Main logic for the new animVal stuff.
1207         (WebCore::SVGAnimatedPropertyTearOff::isAnimating):
1208         (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
1209         (WebCore::SVGAnimatedPropertyTearOff::updateAnimVal):
1210         (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
1211         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
1212         (WebCore::SVGAnimatedStaticPropertyTearOff::isAnimating):
1213         (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
1214         * svg/properties/SVGPropertyTearOff.h:
1215         (WebCore::SVGPropertyTearOff::updateAnimVal):
1216
1217 2011-07-26  Shinya Kawanaka  <shinyak@google.com>
1218
1219         Uses isHTMLSpace to normalize white spaces.
1220         https://bugs.webkit.org/show_bug.cgi?id=57746
1221
1222         Reviewed by Kent Tamura.
1223
1224         Test: fast/forms/option-strip-unicode-spaces.html
1225
1226         * dom/OptionElement.cpp:
1227         (WebCore::OptionElement::normalizeText):
1228           Uses isHTMLSpace to trim and replace white spaces.
1229
1230 2011-07-25  Ryuan Choi  <ryuan.choi@samsung.com>
1231
1232         [CMAKE] Split JSC related files from WebCore/CMakeLists.txt
1233         https://bugs.webkit.org/show_bug.cgi?id=61350
1234
1235         Reviewed by Daniel Bates.
1236
1237         No new tests, just moving jsc related files from CMakeLists.txt to UseJSC.cmake.
1238
1239         * CMakeLists.txt:
1240         * UseJSC.cmake:
1241
1242 2011-07-25  Dan Bernstein  <mitz@apple.com>
1243
1244         Fix the build by committing a rename in this file that I neglected to include in the previous commit.
1245
1246         * css/CSSFontFaceSource.h:
1247
1248 2011-07-25  Dan Bernstein  <mitz@apple.com>
1249
1250         <rdar://problem/9835028> Font loading during layout can cause layout code to be re-entered via resource load delegate
1251         https://bugs.webkit.org/show_bug.cgi?id=65123
1252
1253         Reviewed by Anders Carlsson and Darin Adler.
1254
1255         Since CSSFontFaceSource::getFontData() can get called during layout, avoid calling out to loader
1256         code from under it, and instead defer that work using a zero-delay timer.
1257
1258         * css/CSSFontFaceSource.cpp:
1259         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
1260         (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
1261         (WebCore::CSSFontFaceSource::getFontData): Rather than starting the font load here, schedule
1262         a zero-delay timer to do it.
1263         (WebCore::CSSFontFaceSource::startLoadingTimerFired): Added. Starts loading the font if needed.
1264         * css/CSSFontFaceSource.h:
1265
1266 2011-07-25  Al Patrick  <apatrick@chromium.org>
1267
1268         Removed support for the GL_latch_CHROMIUM extension which Chromium no longer supports.
1269         Replaced calls to SetLatch with calls to Flush since Flush now has barrier semantics in Chromium.
1270         https://bugs.webkit.org/show_bug.cgi?id=65043
1271
1272         Reviewed by James Robinson.
1273
1274         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1275         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
1276         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1277         (WebCore::DrawingBuffer::publishToPlatformLayer):
1278         * platform/graphics/chromium/Extensions3DChromium.h:
1279         * platform/graphics/chromium/LayerRendererChromium.cpp:
1280         (WebCore::LayerRendererChromium::LayerRendererChromium):
1281         (WebCore::LayerRendererChromium::drawLayers):
1282         (WebCore::LayerRendererChromium::addChildContext):
1283         (WebCore::LayerRendererChromium::removeChildContext):
1284         * platform/graphics/chromium/LayerRendererChromium.h:
1285
1286 2011-07-25  Sam Weinig  <sam@webkit.org>
1287
1288         Refactor ScrollableArea pinned predicates to be more generally useful
1289         <rdar://problem/9740379>
1290
1291         Reviewed by Dan Bernstein.
1292
1293         * platform/ScrollableArea.cpp:
1294         (WebCore::ScrollableArea::isPinnedInBothDirections):
1295         (WebCore::ScrollableArea::isPinnedHorizontallyInDirection):
1296         (WebCore::ScrollableArea::isPinnedVerticallyInDirection):
1297         * platform/ScrollableArea.h:
1298
1299 2011-07-25  Nico Weber  <thakis@chromium.org>
1300
1301         [chromium] components/mac: Make webcore not depend on CoreAnimation
1302         https://bugs.webkit.org/show_bug.cgi?id=65143
1303
1304         Reviewed by James Robinson.
1305
1306         * platform/chromium/ScrollAnimatorChromiumMac.mm:
1307
1308 2011-07-25  Ian Henderson  <ianh@apple.com>
1309
1310         WebFrame should have a method to determine its visual emptiness
1311         https://bugs.webkit.org/show_bug.cgi?id=64223
1312
1313         Reviewed by Dan Bernstein.
1314
1315         * page/FrameView.h:
1316         (WebCore::FrameView::isVisuallyNonEmpty): Add an accessor to FrameView
1317         so we can tell whether it's visually non-empty.
1318
1319 2011-07-25  Scott Graham  <scottmg@chromium.org>
1320
1321         REGRESSION (r39725?): Resources removed from document can not be freed until the document is deleted
1322         https://bugs.webkit.org/show_bug.cgi?id=61006
1323
1324         Reviewed by Nate Chapin.
1325
1326         Rollback previous patch. Occasional crashes seen caused by
1327         CachedResource being deleted twice.
1328
1329         * loader/cache/CachedResourceLoader.cpp:
1330         (WebCore::CachedResourceLoader::CachedResourceLoader):
1331         (WebCore::CachedResourceLoader::loadDone):
1332         * loader/cache/CachedResourceLoader.h:
1333
1334 2011-07-25  Chris Rogers  <crogers@google.com>
1335
1336         Deprecate AudioBufferSourceNode .looping attribute and implement .loop
1337         https://bugs.webkit.org/show_bug.cgi?id=65133
1338
1339         Reviewed by Kenneth Russell.
1340
1341         No new tests since audio API is not yet implemented.
1342
1343         * webaudio/AudioBufferSourceNode.cpp:
1344         (WebCore::AudioBufferSourceNode::renderFromBuffer):
1345         (WebCore::AudioBufferSourceNode::totalPitchRate):
1346         (WebCore::AudioBufferSourceNode::looping):
1347         (WebCore::AudioBufferSourceNode::setLooping):
1348         * webaudio/AudioBufferSourceNode.h:
1349         (WebCore::AudioBufferSourceNode::loop):
1350         (WebCore::AudioBufferSourceNode::setLoop):
1351         * webaudio/AudioBufferSourceNode.idl:
1352
1353 2011-07-25  James Robinson  <jamesr@chromium.org>
1354
1355         [chromium] HUD texture must be unreserved after drawing
1356         https://bugs.webkit.org/show_bug.cgi?id=65122
1357
1358         Unreserve the HUD texture after drawing.  To test, start chrome in debug with --show-fps-counter.  Since this is
1359         a debugging option, no tests.
1360
1361         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1362         (WebCore::CCHeadsUpDisplay::draw):
1363
1364 2011-07-25  David Grogan  <dgrogan@chromium.org>
1365
1366         Fix leveldb crash when compacting during destruction
1367         https://bugs.webkit.org/show_bug.cgi?id=64494
1368
1369         Reviewed by Nate Chapin.
1370
1371         Only tested manually so far by following the repro instructions at
1372         crbug.com/88944
1373
1374         * platform/leveldb/LevelDBDatabase.cpp:
1375         (WebCore::LevelDBDatabase::~LevelDBDatabase):
1376         * storage/IDBLevelDBBackingStore.cpp:
1377         (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
1378
1379 2011-07-25  David Reveman  <reveman@chromium.org>
1380
1381         [Chromium] Use correct vertex shader when rendering video layer.
1382         https://bugs.webkit.org/show_bug.cgi?id=65131
1383
1384         Reviewed by James Robinson.
1385
1386         Add new VertexShaderQuad program that is used by LayerTilerChromium.
1387         Change VertexShaderPosTexTransform so it works with CCVideoLayerImpl.
1388
1389         * platform/graphics/chromium/LayerTilerChromium.h:
1390         * platform/graphics/chromium/ShaderChromium.cpp:
1391         (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
1392         (WebCore::VertexShaderPosTexTransform::init):
1393         (WebCore::VertexShaderPosTexTransform::getShaderString):
1394         (WebCore::VertexShaderQuad::VertexShaderQuad):
1395         (WebCore::VertexShaderQuad::init):
1396         (WebCore::VertexShaderQuad::getShaderString):
1397         * platform/graphics/chromium/ShaderChromium.h:
1398         (WebCore::VertexShaderQuad::matrixLocation):
1399         (WebCore::VertexShaderQuad::texTransformLocation):
1400
1401 2011-07-25  Patrick Gansterer  <paroga@webkit.org>
1402
1403         Fix AtomicString vs. String usage in accessibility code
1404         https://bugs.webkit.org/show_bug.cgi?id=65086
1405
1406         Reviewed by Darin Adler.
1407
1408         Use AtomicString instead of String where appropriate
1409         to avoid implicit type conversations.
1410         Also fix a invalid reference to a temporary String.
1411
1412         * accessibility/AccessibilityObject.h:
1413         (WebCore::AccessibilityObject::setAccessibleName):
1414         * accessibility/AccessibilityRenderObject.cpp:
1415         (WebCore::AccessibilityRenderObject::elementsFromAttribute):
1416         (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
1417         (WebCore::AccessibilityRenderObject::setAccessibleName):
1418         * accessibility/AccessibilityRenderObject.h:
1419
1420 2011-07-25  Dan Bernstein  <mitz@apple.com>
1421
1422         Reverted r91699 due to
1423         <http://webkit.org/b/65134> REGRESSION: r91699 broke some font tests (image+text)
1424
1425         Many tests relied on font loading occurring synchronously in the cached and local cases.
1426
1427         * css/CSSFontFaceSource.cpp:
1428         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
1429         (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
1430         (WebCore::CSSFontFaceSource::getFontData):
1431         * css/CSSFontFaceSource.h:
1432
1433 2011-06-07  Martin Robinson  <mrobinson@igalia.com>
1434
1435         Reviewed by Gustavo Noronha Silva.
1436
1437         [GTK] Use WebCore scrollbars for the DRT instead of GtkScrolledWindow
1438         https://bugs.webkit.org/show_bug.cgi?id=62252
1439
1440         Properly handle the situation where the GtkWidget wants WebCore to draw its
1441         own main frame scrollbars.
1442
1443         * platform/gtk/ScrollViewGtk.cpp:
1444         (WebCore::shouldCreateMainFrameScrollbar): Abstract this logic into a helper function.
1445         (WebCore::ScrollView::createScrollbar): Use the new helper.
1446         (WebCore::ScrollView::visibleContentRect): Use the new helper.
1447
1448 2011-07-25  David Hyatt  <hyatt@apple.com>
1449
1450         https://bugs.webkit.org/show_bug.cgi?id=65125
1451         
1452         (1) Add the new CSS3 positioned value for floats.
1453         (2) Rename FLEFT, FRIGHT and FNONE to our more modern convention: NoFloat, LeftFloat, RightFloat.
1454         (3) Replace uses of == FNONE and != FNONE with isFloating and !isFloating.
1455
1456         Reviewed by Dan Bernstein.
1457
1458         * css/CSSParser.cpp:
1459         (WebCore::CSSParser::parseValue):
1460         * css/CSSPrimitiveValueMappings.h:
1461         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1462         (WebCore::CSSPrimitiveValue::operator EFloat):
1463         * css/CSSStyleSelector.cpp:
1464         (WebCore::CSSStyleSelector::adjustRenderStyle):
1465         * css/CSSValueKeywords.in:
1466         * editing/ReplaceSelectionCommand.cpp:
1467         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1468         * rendering/RenderBlock.cpp:
1469         (WebCore::RenderBlock::insertFloatingObject):
1470         (WebCore::RenderBlock::positionNewFloats):
1471         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
1472         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
1473         * rendering/RenderObjectChildList.cpp:
1474         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1475         * rendering/style/RenderStyle.h:
1476         (WebCore::InheritedFlags::isFloating):
1477         (WebCore::InheritedFlags::initialFloating):
1478         * rendering/style/RenderStyleConstants.h:
1479
1480 2011-07-25  Dan Bernstein  <mitz@apple.com>
1481
1482         <rdar://problem/9835028> Font loading during layout can cause layout code to be re-entered via resource load delegate
1483         https://bugs.webkit.org/show_bug.cgi?id=65123
1484
1485         Reviewed by Anders Carlsson.
1486
1487         Since CSSFontFaceSource::getFontData() can get called during layout, avoid calling out to loader
1488         code from under it, and instead defer that work using a zero-delay timer.
1489
1490         * css/CSSFontFaceSource.cpp:
1491         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
1492         (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
1493         (WebCore::CSSFontFaceSource::getFontData): Rather than starting the font load here, schedule
1494         a zero-delay timer to do it.
1495         (WebCore::CSSFontFaceSource::startLoadingTimerFired): Added. Starts loading the font if needed.
1496         * css/CSSFontFaceSource.h:
1497
1498 2011-07-25  Andrew Wason  <rectalogic@rectalogic.com>
1499
1500         [Qt] Adopt GraphicsContext3DOpenGL.cpp and ANGLE (part 2)
1501         https://bugs.webkit.org/show_bug.cgi?id=64878
1502
1503         Reviewed by Noam Rosenthal.
1504
1505         Existing WebGL layout tests should test this.
1506
1507         Adopt GraphicsContext3DOpenGL.cpp and ANGLE compiler for Qt.
1508
1509         * WebCore.pro: Build ANGLE compiler and GraphicsContext3DOpenGL.cpp.
1510         * platform/graphics/ANGLEWebKitBridge.h:
1511         * platform/graphics/GraphicsContext3D.h: Expose exising ANGLEWebKitBridge compiler member for Qt.
1512         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1513         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1514         (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize ANGLE resources.
1515
1516 2011-07-25  Daniel Bates  <dbates@rim.com>
1517
1518         REGRESSION (r85964): Improper relayout of some nested positioned elements
1519         https://bugs.webkit.org/show_bug.cgi?id=64286
1520
1521         Reviewed by David Hyatt.
1522
1523         Fixes an issue when traversing up the containing block hierarchy after skipping
1524         relatively positioned inlines.
1525
1526         When processing a positioned element we skip any intermediate inlines to get to
1527         to enclosing block B, but don't use the containing block for B (call this P_B) to
1528         properly continue traversing up the containing block hierarchy. So, B may be
1529         considered again instead of looking at P_B. Hence, we don't set the correct dirty
1530         bits for P_B and may not schedule a relayout with respect to the correct layout node.
1531
1532         Test: fast/block/positioning/relayout-nested-positioned-elements-crash.html
1533
1534         * rendering/RenderObject.h:
1535         (WebCore::RenderObject::markContainingBlocksForLayout):
1536
1537 2011-07-25  Arno Renevier  <arno@renevier.net>
1538
1539         removes last ENABLE(DRAG_SUPPORT) gtk check
1540         https://bugs.webkit.org/show_bug.cgi?id=64518
1541
1542         Reviewed by Martin Robinson.
1543
1544         * platform/gtk/ClipboardGtk.h:
1545
1546 2011-07-25  Alexandru Chiculita  <achicu@adobe.com>
1547
1548         [CSS Exclusions] Use HANDLE_INHERIT_AND_INITIAL when parsing -webkit-wrap-shape
1549         https://bugs.webkit.org/show_bug.cgi?id=65096
1550
1551         Also the 'inherit' keyword is now treated correctly. It will
1552         copy the value from the parent style.
1553
1554         Reviewed by Tony Chang.
1555
1556         * css/CSSStyleSelector.cpp:
1557         (WebCore::CSSStyleSelector::applyProperty):
1558
1559 2011-07-25  Andrew Wason  <rectalogic@rectalogic.com>
1560
1561         glActiveTexture(0) is invalid
1562         https://bugs.webkit.org/show_bug.cgi?id=65115
1563
1564         Reviewed by Kenneth Russell.
1565
1566         Existing WebGL layout tests.
1567
1568         Fix invalid glActiveTexture(0) call.
1569
1570         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1571         (WebCore::GraphicsContext3D::prepareTexture):
1572
1573 2011-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1574
1575         Unreviewed, rolling out r91665.
1576         http://trac.webkit.org/changeset/91665
1577         https://bugs.webkit.org/show_bug.cgi?id=65118
1578
1579         Breaks inspector tests on JSC (Requested by pfeldman on
1580         #webkit).
1581
1582         * inspector/InjectedScriptSource.js:
1583         (.):
1584         ():
1585         * inspector/Inspector.json:
1586         * inspector/front-end/ConsoleView.js:
1587         (WebInspector.ConsoleView.prototype._format):
1588         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
1589         (WebInspector.ConsoleMessage.prototype._format):
1590         * inspector/front-end/ElementsTreeOutline.js:
1591         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
1592         * inspector/front-end/ObjectPropertiesSection.js:
1593         (WebInspector.ObjectPropertyTreeElement.prototype.update):
1594         * inspector/front-end/PropertiesSidebarPane.js:
1595         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
1596         * inspector/front-end/RemoteObject.js:
1597         (WebInspector.RemoteObject):
1598         (WebInspector.RemoteObject.fromPrimitiveValue):
1599         (WebInspector.RemoteObject.fromPayload):
1600         (WebInspector.RemoteObject.prototype.callFunction):
1601         (WebInspector.LocalJSONObject.prototype.get type):
1602         * inspector/front-end/SourceFrame.js:
1603         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
1604         (WebInspector.SourceFrame.prototype._showPopup):
1605         * inspector/front-end/inspector.js:
1606         (WebInspector.log.logMessage):
1607         (WebInspector.log):
1608         (WebInspector.inspect):
1609
1610 2011-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1611
1612         Unreviewed, rolling out r91668.
1613         http://trac.webkit.org/changeset/91668
1614         https://bugs.webkit.org/show_bug.cgi?id=65117
1615
1616         Breaks inspector tests on JSC (Requested by pfeldman on
1617         #webkit).
1618
1619         * inspector/InjectedScript.cpp:
1620         (WebCore::InjectedScript::callFunctionOn):
1621         * inspector/InjectedScript.h:
1622         * inspector/InjectedScriptSource.js:
1623         (.):
1624         * inspector/Inspector.json:
1625         * inspector/InspectorRuntimeAgent.cpp:
1626         (WebCore::InspectorRuntimeAgent::callFunctionOn):
1627
1628 2011-07-25  Pavel Feldman  <pfeldman@google.com>
1629
1630         Web Inspector: use dedicated type for object id in the protocol.
1631         https://bugs.webkit.org/show_bug.cgi?id=65110
1632
1633         Reviewed by Yury Semikhatsky.
1634
1635         * inspector/InjectedScript.cpp:
1636         (WebCore::InjectedScript::callFunctionOn):
1637         * inspector/InjectedScript.h:
1638         * inspector/InjectedScriptSource.js:
1639         (.):
1640         * inspector/Inspector.json:
1641         * inspector/InspectorRuntimeAgent.cpp:
1642         (WebCore::InspectorRuntimeAgent::callFunctionOn):
1643
1644 2011-07-25  Yury Semikhatsky  <yurys@chromium.org>
1645
1646         [Chromium] Web Inspector: live edit error should be revealed in Console
1647         https://bugs.webkit.org/show_bug.cgi?id=65109
1648
1649         Reviewed by Pavel Feldman.
1650
1651         * inspector/front-end/SourceFrame.js:
1652         (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
1653         (WebInspector.SourceFrame.prototype.commitEditing):
1654
1655 2011-07-25  Pavel Feldman  <pfeldman@google.com>
1656
1657         Web Inspector: refactor remote object structure to contain value for primitive values.
1658         https://bugs.webkit.org/show_bug.cgi?id=65103
1659
1660         Reviewed by Yury Semikhatsky.
1661
1662         * inspector/InjectedScriptSource.js:
1663         * inspector/Inspector.json:
1664         * inspector/front-end/ConsoleView.js:
1665         (WebInspector.ConsoleView.prototype._format):
1666         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
1667         (WebInspector.ConsoleMessage.prototype._format):
1668         * inspector/front-end/ElementsTreeOutline.js:
1669         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
1670         * inspector/front-end/ObjectPropertiesSection.js:
1671         (WebInspector.ObjectPropertyTreeElement.prototype.update):
1672         * inspector/front-end/PropertiesSidebarPane.js:
1673         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
1674         * inspector/front-end/RemoteObject.js:
1675         (WebInspector.RemoteObject):
1676         (WebInspector.RemoteObject.fromPrimitiveValue):
1677         (WebInspector.RemoteObject.fromPayload):
1678         (WebInspector.RemoteObject.prototype.get subtype):
1679         (WebInspector.RemoteObject.prototype.callFunction):
1680         (WebInspector.LocalJSONObject.prototype.get type):
1681         (WebInspector.LocalJSONObject.prototype.get subtype):
1682         * inspector/front-end/SourceFrame.js:
1683         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
1684         (WebInspector.SourceFrame.prototype._showPopup):
1685         * inspector/front-end/inspector.js:
1686         (WebInspector.log.logMessage):
1687         (WebInspector.log):
1688         (WebInspector.inspect):
1689
1690 2011-07-25  Mikhail Naganov  <mnaganov@chromium.org>
1691
1692         Web Inspector: [Chromium] Fix mixing of retaining path in heap profiler.
1693         https://bugs.webkit.org/show_bug.cgi?id=65028
1694
1695         Reviewed by Pavel Feldman.
1696
1697         * inspector/front-end/DetailedHeapshotView.js:
1698         (WebInspector.HeapSnapshotPathFinderState): Added
1699         (WebInspector.HeapSnapshotRetainingPathsList): Extracted State-specific code
1700
1701 2011-07-25  Yury Semikhatsky  <yurys@chromium.org>
1702
1703         Web Inspector: worker inspector should show Scripts panel by default
1704         https://bugs.webkit.org/show_bug.cgi?id=65099
1705
1706         Reviewed by Pavel Feldman.
1707
1708         * inspector/front-end/inspector.js:
1709         (WebInspector._defaultPanelName):
1710         (WebInspector.showPanel):
1711
1712 2011-07-24  Luke Macpherson   <macpherson@chromium.org>
1713
1714         Small cleanup of m_fontDirty tracking in CSSStyleSelector
1715         https://bugs.webkit.org/show_bug.cgi?id=65090
1716
1717         Reviewed by Darin Adler.
1718
1719         1) Use existing setFontDescription helper where appropriate.
1720         2) Move always used m_fontDirty check into updateFont()
1721
1722         No new tests / cleanup only.
1723
1724         * css/CSSStyleSelector.cpp:
1725         (WebCore::CSSStyleSelector::styleForElement):
1726         (WebCore::CSSStyleSelector::styleForKeyframe):
1727         (WebCore::CSSStyleSelector::pseudoStyleForElement):
1728         (WebCore::CSSStyleSelector::styleForPage):
1729         (WebCore::CSSStyleSelector::updateFontIfDirty):
1730         (WebCore::CSSStyleSelector::applyProperty):
1731         * css/CSSStyleSelector.h:
1732
1733 2011-07-24  Kent Tamura  <tkent@chromium.org>
1734
1735         Validation message bubble position is incorrect if the containing block has paddings.
1736         https://bugs.webkit.org/show_bug.cgi?id=65091
1737
1738         Reviewed by Hajime Morita.
1739
1740         * html/ValidationMessage.cpp:
1741         (WebCore::adjustBubblePosition):
1742         We don't need to subtract paddings because the origin of
1743         position:aboslute is inside borders and outside of the padding.
1744
1745 2011-07-24  Rob Buis  <rbuis@rim.com>
1746
1747         Crash in SVGUseElement::updateContainerOffsets on <use> with no parent
1748         https://bugs.webkit.org/show_bug.cgi?id=63646
1749
1750         Reviewed by Darin Adler.
1751
1752         Prevent using invalid targetElementInstance->shadowTreeElement after shadow render tree recreation. This situation can
1753         only occur when there was a valid shadowTreeElement before setting xlink:href to empty/invalid.
1754
1755         Test: svg/custom/use-shadow-root-parent-removal.svg
1756
1757         * svg/SVGUseElement.cpp:
1758         (WebCore::SVGUseElement::svgAttributeChanged):
1759
1760 2011-07-24  Patrick Gansterer  <paroga@webkit.org>
1761
1762         Fix AtomicString vs. String usage in JSC binding
1763         https://bugs.webkit.org/show_bug.cgi?id=65085
1764
1765         Reviewed by Darin Adler.
1766
1767         Use ustringToAtomicString instead of ustringToString where appropriate.
1768
1769         * bindings/js/JSHTMLAllCollectionCustom.cpp:
1770         * bindings/js/JSHTMLCollectionCustom.cpp:
1771
1772 2011-07-24  Luke Macpherson   <macpherson@chromium.org>
1773
1774         Implement CSSPropertyOutlineOffset in CSSStyleApplyProperty.
1775         https://bugs.webkit.org/show_bug.cgi?id=64773
1776
1777         Reviewed by Dimitri Glazkov.
1778
1779         No new tests / refactoring only.
1780
1781         * css/CSSStyleApplyProperty.cpp:
1782         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1783         * css/CSSStyleSelector.cpp:
1784         (WebCore::CSSStyleSelector::applyProperty):
1785
1786 2011-07-24  Rob Buis  <rbuis@rim.com>
1787
1788         SVG <use> element is not repositioned when moved to x=0 y=0 through script 
1789         https://bugs.webkit.org/show_bug.cgi?id=53767
1790
1791         Reviewed by Nikolas Zimmermann.
1792
1793         Only bail out on zero offset if it is not explicitly set.
1794
1795         Test: svg/custom/use-move-to-offset.svg
1796
1797         * rendering/svg/RenderSVGTransformableContainer.cpp:
1798         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
1799         * rendering/svg/SVGShadowTreeElements.cpp:
1800         (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement):
1801         (WebCore::SVGShadowTreeContainerElement::setContainerOffset):
1802         * rendering/svg/SVGShadowTreeElements.h:
1803         (WebCore::SVGShadowTreeContainerElement::containerOffsetChanged):
1804         (WebCore::SVGShadowTreeContainerElement::setContainerOffsetChanged):
1805
1806 2011-07-24  Jeffrey Pfau  <jpfau@apple.com>
1807
1808         Refactor HTML tokenizer code in preparation for a new XML tokenizer
1809         https://bugs.webkit.org/show_bug.cgi?id=65000
1810
1811         Reviewed by Adam Barth.
1812
1813         * GNUmakefile.list.am:
1814         * WebCore.gypi:
1815         * WebCore.pro:
1816         * WebCore.vcproj/WebCore.vcproj:
1817         * WebCore.xcodeproj/project.pbxproj:
1818         * html/parser/HTMLDocumentParser.cpp:
1819         (WebCore::HTMLNames::tokenizerStateForContextElement):
1820         (WebCore::HTMLDocumentParser::pumpTokenizer):
1821         * html/parser/HTMLTokenizer.cpp:
1822         (WebCore::HTMLNames::isEndTagBufferingState):
1823         (WebCore::HTMLTokenizer::HTMLTokenizer):
1824         (WebCore::::shouldSkipNullCharacters):
1825         (WebCore::HTMLTokenizer::reset):
1826         (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
1827         (WebCore::HTMLTokenizer::nextToken):
1828         (WebCore::HTMLTokenizer::updateStateFor):
1829         * html/parser/HTMLTokenizer.h:
1830         (WebCore::HTMLTokenizer::emitAndResumeIn):
1831         (WebCore::HTMLTokenizer::emitAndReconsumeIn):
1832         (WebCore::HTMLTokenizer::saveEndTagNameIfNeeded):
1833         * html/parser/HTMLTreeBuilder.cpp:
1834         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1835         (WebCore::HTMLTreeBuilder::processEndTag):
1836         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
1837         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
1838         (WebCore::HTMLTreeBuilder::processScriptStartTag):
1839         * html/parser/TextDocumentParser.cpp:
1840         (WebCore::TextDocumentParser::TextDocumentParser):
1841         * html/parser/TextViewSourceParser.cpp:
1842         (WebCore::TextViewSourceParser::TextViewSourceParser):
1843         * xml/parser/MarkupTokenBase.h:
1844         (WebCore::MarkupTokenBase::type):
1845         * xml/parser/MarkupTokenizerBase.h: Added.
1846         (WebCore::MarkupTokenizerBase::~MarkupTokenizerBase):
1847         (WebCore::MarkupTokenizerBase::lineNumber):
1848         (WebCore::MarkupTokenizerBase::columnNumber):
1849         (WebCore::MarkupTokenizerBase::state):
1850         (WebCore::MarkupTokenizerBase::setState):
1851         (WebCore::MarkupTokenizerBase::forceNullCharacterReplacement):
1852         (WebCore::MarkupTokenizerBase::setForceNullCharacterReplacement):
1853         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::InputStreamPreprocessor):
1854         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::nextInputCharacter):
1855         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
1856         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
1857         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
1858         (WebCore::MarkupTokenizerBase::MarkupTokenizerBase):
1859         (WebCore::MarkupTokenizerBase::bufferCharacter):
1860         (WebCore::MarkupTokenizerBase::emitAndResumeIn):
1861         (WebCore::MarkupTokenizerBase::emitAndReconsumeIn):
1862         (WebCore::MarkupTokenizerBase::emitEndOfFile):
1863         (WebCore::MarkupTokenizerBase::reset):
1864         (WebCore::MarkupTokenizerBase::haveBufferedCharacterToken):
1865         * xml/parser/MarkupTokenizerInlineMethods.h: Added.
1866         (WebCore::isTokenizerWhitespace):
1867         (WebCore::advanceStringAndASSERTIgnoringCase):
1868         (WebCore::advanceStringAndASSERT):
1869
1870 2011-07-23  Patrick Gansterer  <paroga@webkit.org>
1871
1872         Remove WTF namespace from isMainThread() calls
1873         https://bugs.webkit.org/show_bug.cgi?id=65068
1874
1875         Reviewed by Sam Weinig.
1876
1877         Because of the using WTF::isMainThread in the header there is no
1878         reason to include the namespace name when calling this function.
1879
1880         * bindings/js/JSMainThreadExecState.h:
1881         * bindings/v8/DOMDataStore.cpp:
1882         * bindings/v8/V8Binding.cpp:
1883         * bindings/v8/V8DOMMap.cpp:
1884         * bindings/v8/V8DOMWrapper.h:
1885         * page/DOMWindow.cpp:
1886         * page/History.cpp:
1887
1888 2011-07-23  Alok Priyadarshi  <alokp@chromium.org>
1889
1890         Switching off acceleration for small canvas broke gpu tests
1891         https://bugs.webkit.org/show_bug.cgi?id=65053
1892
1893         Reviewed by Stephen White.
1894
1895         No new tests. These are supposed to fix existing canvas tests on gpu.
1896
1897         * html/canvas/CanvasRenderingContext2D.cpp:
1898         (WebCore::shouldAccelerateCanvas):
1899         * page/Settings.cpp:
1900         (WebCore::Settings::Settings):
1901         (WebCore::Settings::setLegacyAccelerated2dCanvasEnabled):
1902         (WebCore::Settings::setMinimumAccelerated2dCanvasSize):
1903         * page/Settings.h:
1904         (WebCore::Settings::minimumAccelerated2dCanvasSize):
1905
1906 2011-07-23  Rob Buis  <rbuis@rim.com>
1907
1908         Freed SVGTRefElement used in SVGStyledElement::buildPendingResourcesIfNeeded
1909         https://bugs.webkit.org/show_bug.cgi?id=64758
1910
1911         Reviewed by Nikolas Zimmermann.
1912
1913         Fix the crash by storing referenced content inside a shadow tree. This way removing child nodes of
1914         the <tref> does not remove the referenced content.
1915
1916         * dom/Text.cpp:
1917         (WebCore::Text::recalcStyle):
1918         * dom/Text.h:
1919         * svg/SVGTRefElement.cpp:
1920         (WebCore::SVGShadowText::create):
1921         (WebCore::SVGShadowText::SVGShadowText):
1922         (WebCore::SVGShadowText::createRenderer):
1923         (WebCore::SVGShadowText::recalcStyle):
1924         (WebCore::SVGTRefElement::updateReferencedText):
1925         (WebCore::SVGTRefElement::childShouldCreateRenderer):
1926
1927 2011-07-23  Shinya Kawanaka  <shinyak@google.com>
1928
1929         Display number field without using a thousand separator.
1930         https://bugs.webkit.org/show_bug.cgi?id=65064
1931
1932         Reviewed by Kent Tamura.
1933
1934         Separated formatters for parsing and displaying.
1935         Removed a test for thousand separator.
1936
1937         * manual-tests/input-number-localization.html:
1938         Removed a test for thousand separator.
1939         Made the test description more specific.
1940         * platform/text/LocalizedNumberICU.cpp:
1941         (WebCore::createFormatterForCurrentLocaleToDisplay):
1942         Added to introduce a formatter for display.
1943         (WebCore::numberFormatterForParsing):
1944         Changed the name to be clear.
1945         (WebCore::numberFormatterForDisplay): Added.
1946         (WebCore::parseLocalizedNumber): Used numberFormatterForParsing.
1947         (WebCore::formatLocalizedNumber): Used numberFormatterForDisplay.
1948         * platform/text/mac/LocalizedNumberMac.mm:
1949         (WebCore::createFormatterForCurrentLocaleForDisplay):
1950         Added to introduce a formatter for display.
1951         (WebCore::numberFormatterForParsing):
1952         Changed the name to be clear.
1953         (WebCore::numberFormatterForDisplay): Added.
1954         (WebCore::parseLocalizedNumber): Used numberFormatterForParsing.
1955         (WebCore::formatLocalizedNumber): Used numberFormatterForDisplay.
1956
1957 2011-07-22  James Robinson  <jamesr@chromium.org>
1958
1959         [chromium] Seperate texture management for contents textures vs render surface textures
1960         https://bugs.webkit.org/show_bug.cgi?id=64771
1961
1962         Reviewed by Kenneth Russell.
1963
1964         Splits the chromium texture management across two TextureManagers, one for contents textures and one for render
1965         surfaces.  The lifetimes and relative evicition costs for these types of textures are significantly different.
1966         Content textures need to be managed from paint time through draw time and evicting them is generally expensive,
1967         since replacing the texture requires doing a software repaint into a buffer, creating a new texture, and
1968         uploading the contents into the texture.  Render surface textures are only used while drawing and never contain
1969         useful contents between frames.  The only reason to preserve a render surface texture between frames is to avoid
1970         having to create the texture on the next frame, they never contain useful contents across frames.
1971
1972         The contents texture limits remain the same.  Render surfaces are allocated the difference between the high
1973         memory bound and the contents texture memory use during a frame and the difference between the low memory bound
1974         and the contents texture memory use between frames.
1975
1976         Covered by existing compositing tests.
1977
1978         * platform/graphics/chromium/LayerRendererChromium.cpp:
1979         (WebCore::LayerRendererChromium::releaseTextures):
1980         (WebCore::LayerRendererChromium::drawLayers):
1981         (WebCore::LayerRendererChromium::updateLayers):
1982         (WebCore::LayerRendererChromium::initializeSharedObjects):
1983         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1984         * platform/graphics/chromium/LayerRendererChromium.h:
1985         (WebCore::LayerRendererChromium::contentsTextureManager):
1986         (WebCore::LayerRendererChromium::renderSurfaceTextureManager):
1987         * platform/graphics/chromium/LayerTilerChromium.cpp:
1988         (WebCore::LayerTilerChromium::createTile):
1989         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1990         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
1991         * platform/graphics/chromium/TextureManager.cpp:
1992         (WebCore::TextureManager::TextureManager):
1993         (WebCore::TextureManager::setMemoryLimitBytes):
1994         (WebCore::TextureManager::requestTexture):
1995         * platform/graphics/chromium/TextureManager.h:
1996         (WebCore::TextureManager::create):
1997         (WebCore::TextureManager::currentMemoryUseBytes):
1998         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1999         (WebCore::CCHeadsUpDisplay::draw):
2000
2001 2011-07-22  Simon Fraser  <simon.fraser@apple.com>
2002
2003         Avoiding painting backgrounds if they are fully obscures by an object's foreground
2004         https://bugs.webkit.org/show_bug.cgi?id=65030
2005
2006         Reviewed by Dan Bernstein.
2007
2008         Some pages use animated loading GIFs as the background of <img>,
2009         but WebKit keeps animating these after the <img> has loaded.
2010         
2011         Thwart this by avoiding the painting of such backgrounds, if we can
2012         determine that they are completely obscured by the border and content
2013         of the element.
2014
2015         * platform/graphics/BitmapImage.h:
2016         (WebCore::BitmapImage::currentFrameHasAlpha): Utility method, since currentFrame()
2017         is protected.
2018         * rendering/RenderBox.cpp:
2019         (WebCore::RenderBox::paintBoxDecorations): Call paintBackground().
2020         (WebCore::RenderBox::paintBackground): New wrapper for the paintFillLayers() which
2021         paints the background layers, plus some code we call in a couple of places. This
2022         checks the new backgroundIsObscured() method before doing any painting.
2023         * rendering/RenderBox.h:
2024         (WebCore::RenderBox::backgroundIsObscured): New virtual method that determines
2025         whether any of the background is visible.
2026         * rendering/RenderBoxModelObject.h:
2027         * rendering/RenderBoxModelObject.cpp:
2028         (WebCore::BorderEdge::obscuresBackground): Returns true if this edge will
2029         entirely hide the background under it.
2030         (WebCore::RenderBoxModelObject::borderObscuresBackground): Determine whether
2031         the border hides the background.
2032         * rendering/RenderImage.cpp:
2033         (WebCore::RenderImage::backgroundIsObscured): Override the RenderBox method
2034         and return true if the image is a loaded, opaque bitmap image, and the background
2035         won't show in the border or padding areas.
2036         * rendering/RenderImage.h:
2037         * rendering/RenderTable.cpp:
2038         (WebCore::RenderTable::paintBoxDecorations): Use paintBackground().
2039
2040 2011-07-22  Kenneth Russell  <kbr@google.com>
2041
2042         HTMLImageElement::crossOrigin is hard to use because of caching
2043         https://bugs.webkit.org/show_bug.cgi?id=64813
2044
2045         Reviewed by Adam Barth.
2046
2047         Reload the resource if the allowCredentials flag doesn't match that in the request.
2048
2049         Test: http/tests/security/canvas-remote-read-remote-image-blocked-then-allowed.html
2050
2051         * loader/cache/CachedResourceLoader.cpp:
2052         (WebCore::CachedResourceLoader::requestResource):
2053         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
2054         * loader/cache/CachedResourceLoader.h:
2055
2056 2011-07-22  Simon Fraser  <simon.fraser@apple.com>
2057
2058         Need to update the acceleratesDrawing status on a layer when switching to/from tiled layers
2059         https://bugs.webkit.org/show_bug.cgi?id=65057
2060
2061         Reviewed by Joseph Pecoraro.
2062
2063         When switching to or from tiled layers, we need to update the new layer's
2064         acceleratesDrawing status.
2065
2066         * platform/graphics/ca/GraphicsLayerCA.cpp:
2067         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
2068
2069 2011-07-22  Mark Pilgrim  <pilgrim@chromium.org>
2070
2071         Add [Optional=CallWithDefaultValues] flag and use it in initXXXEvent declarations
2072         https://bugs.webkit.org/show_bug.cgi?id=64973
2073
2074         Reviewed by Adam Barth.
2075
2076         We are doing away with the interface-level LegacyDefaultOptionalArguments
2077         flag. To handle some cases of the old behavior, we need to define a new
2078         (argument-level) flag so that functions can define optional arguments
2079         but not have to declare every single combination of arguments in C++.
2080         The old code generator handled this by calling a single C++ function
2081         with all arguments, but with default values for the "optional" arguments.
2082         Thus, this patch invents a new argument-level flag called
2083         [Optional=CallWithDefaultValue] that emulates the old behavior.
2084
2085         This patch also fixes all the initXXXEvent declarations to remove the
2086         LegacyDefaultOptionalArguments flag and use the new
2087         [Optional=CallWithDefaultValue] flag only on the specific arguments that
2088         require it for backward compatibility.
2089
2090         No new tests, all existing tests pass.
2091
2092         * bindings/scripts/CodeGeneratorJS.pm:
2093         (GenerateImplementation):
2094         * bindings/scripts/CodeGeneratorV8.pm:
2095         (GenerateFunctionCallback):
2096         * dom/BeforeLoadEvent.idl:
2097         * dom/BeforeProcessEvent.idl:
2098         * dom/CompositionEvent.idl:
2099         * dom/CustomEvent.idl:
2100         * dom/DeviceMotionEvent.idl:
2101         * dom/DeviceOrientationEvent.idl:
2102         * dom/ErrorEvent.idl:
2103         * dom/Event.idl:
2104         * dom/HashChangeEvent.idl:
2105         * dom/KeyboardEvent.idl:
2106         * dom/MessageEvent.idl:
2107         * dom/MouseEvent.idl:
2108         * dom/MutationEvent.idl:
2109         * dom/OverflowEvent.idl:
2110         * dom/PageTransitionEvent.idl:
2111         * dom/PopStateEvent.idl:
2112         * dom/ProgressEvent.idl:
2113         * dom/StreamEvent.idl:
2114         * dom/TextEvent.idl:
2115         * dom/TouchEvent.idl:
2116         * dom/UIEvent.idl:
2117         * dom/WebKitAnimationEvent.idl:
2118         * dom/WebKitTransitionEvent.idl:
2119         * dom/WheelEvent.idl:
2120         * html/canvas/WebGLContextEvent.idl:
2121         * storage/StorageEvent.idl:
2122         * websockets/CloseEvent.idl:
2123
2124 2011-07-22  Jessie Berlin  <jberlin@apple.com>
2125
2126         [WebKit2] Changing the cookie accept policy in Private Browsing doesn’t work
2127         https://bugs.webkit.org/show_bug.cgi?id=64997
2128
2129         Reviewed by Ada Chan.
2130
2131         * WebCore.exp.in:
2132         * platform/mac/WebCoreSystemInterface.h:
2133         * platform/mac/WebCoreSystemInterface.mm:
2134
2135 2011-07-22  Sergey Glazunov  <serg.glazunov@gmail.com>
2136
2137         Perform the JavaScript navigation check on a complete URL
2138         https://bugs.webkit.org/show_bug.cgi?id=65038
2139
2140         Reviewed by Adam Barth.
2141
2142         Test: http/tests/security/xss-DENIED-document-baseURI-javascript.html
2143
2144         * page/DOMWindow.cpp:
2145         (WebCore::DOMWindow::setLocation):
2146         (WebCore::DOMWindow::createWindow):
2147         (WebCore::DOMWindow::open):
2148
2149 2011-07-22  Ryosuke Niwa  <rniwa@webkit.org>
2150
2151         Revert r91595 for it broke Chromium Windows build.
2152
2153         * WebCore.gyp/WebCore.gyp:
2154         * WebCore.gypi:
2155
2156 2011-07-22  Mihnea Ovidenie  <mihnea@adobe.com>
2157
2158         BORDER attribute with the IMG tag, using percentage values not working.
2159         https://bugs.webkit.org/show_bug.cgi?id=20226
2160
2161         Reviewed by Simon Fraser.
2162
2163         When border presentational attribute of image element has % in it, it should be parsed using
2164         HTML parser rules. In this case, the algorithm is the one used described in:
2165         http://www.whatwg.org/specs/web-apps/current-work/#rules-for-parsing-non-negative-integers
2166
2167         * html/HTMLImageElement.cpp:
2168         (WebCore::parseBorderWidthAttribute):
2169         (WebCore::HTMLImageElement::parseMappedAttribute):
2170         * html/parser/HTMLParserIdioms.cpp:
2171         (WebCore::parseHTMLNonNegativeInteger):
2172         * html/parser/HTMLParserIdioms.h:
2173
2174 2011-07-22  Scott Graham  <scottmg@chromium.org>
2175
2176         DocumentLoader keeps a reference to all URL strings ever loaded in m_resourcesClientKnowsAbout leading to lots of memory waste
2177         https://bugs.webkit.org/show_bug.cgi?id=61894
2178
2179         Reviewed by James Robinson.
2180
2181         DocumentLoader::m_resourcesClientKnowsAbout is a set of all the URLs
2182         that have passed through FrameLoader::dispatchWillSendRequest() and is
2183         used by FrameLoader::loadedResourceFromMemoryCached to decide whether
2184         to inform the FrameLoader's m_client about this load.  Unfortunately,
2185         this set holds a reference to the URL string for every resource
2186         loaded, so on pages that use data URLs to "load" large amounts of data
2187         this leaks lots of memory. The cache improves performance going through
2188         FrameLoader::loadResourceFromMemoryCache, so rather than removing it,
2189         simply exclude 'data:' urls from the cache to save the majority of
2190         memory that is held for too long.
2191
2192         * loader/DocumentLoader.h:
2193         (WebCore::DocumentLoader::didTellClientAboutLoad):
2194
2195 2011-07-22  Alok Priyadarshi  <alokp@chromium.org>
2196
2197         Use software rendering for small canvas
2198         https://bugs.webkit.org/show_bug.cgi?id=64958
2199
2200         Reviewed by Stephen White.
2201
2202         No new tests. Does not affect rendering output, just canvas backing.
2203         If there is a regression, they should be caught by existing canvas tests.
2204
2205         * html/HTMLCanvasElement.cpp:
2206         (WebCore::HTMLCanvasElement::reset):
2207         * html/canvas/CanvasRenderingContext2D.cpp:
2208         (WebCore::shouldAccelerateCanvas):
2209         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2210         (WebCore::CanvasRenderingContext2D::reset):
2211         (WebCore::CanvasRenderingContext2D::platformLayer):
2212         (WebCore::CanvasRenderingContext2D::clearAcceleration):
2213         (WebCore::CanvasRenderingContext2D::resetAcceleration):
2214         * html/canvas/CanvasRenderingContext2D.h:
2215
2216 2011-07-21  Adrienne Walker  <enne@google.com>
2217
2218         Fix repainting of composited fixed position elements in iframes
2219         https://bugs.webkit.org/show_bug.cgi?id=64010
2220
2221         Reviewed by Simon Fraser.
2222
2223         In cases where an iframe's contents have their own graphics layer, the
2224         invalidation during scrolling was being sent to the wrong render
2225         layer. Fixed by checking if such a layer exists and routing scrolling
2226         invalidations there first.
2227
2228         * page/FrameView.cpp:
2229         (WebCore::FrameView::scrollContentsSlowPath):
2230
2231 2011-07-22  Viet-Trung Luu  <viettrungluu@chromium.org>
2232
2233         Improve (i.e., speed up) .gyp(i) files for Chromium
2234         https://bugs.webkit.org/show_bug.cgi?id=65032
2235
2236         Reviewed by Adam Barth.
2237
2238         Begin splitting off webcore_(privateheader_)files into separate lists
2239         (dom/html/svg in this patch), to avoid the very slow pattern of
2240         excluding all files and then filtering to include selected files.
2241
2242         Test by building (in all supported configurations).
2243
2244         * WebCore.gyp/WebCore.gyp:
2245         * WebCore.gypi:
2246
2247 2011-07-22  Tony Chang  <tony@chromium.org>
2248
2249         add placeholder RenderFlexibleBox.cpp files
2250         https://bugs.webkit.org/show_bug.cgi?id=64982
2251
2252         Reviewed by Ojan Vafai.
2253
2254         No new tests, just adding new files and making sure it compiles.
2255         Also adding the isFlexibleBox identifier to RenderObject.
2256
2257         * CMakeLists.txt:
2258         * GNUmakefile.list.am:
2259         * WebCore.gypi:
2260         * WebCore.pro:
2261         * WebCore.vcproj/WebCore.vcproj:
2262         * WebCore.xcodeproj/project.pbxproj:
2263         * rendering/RenderFlexibleBox.cpp: Added.
2264         (WebCore::RenderFlexibleBox::RenderFlexibleBox): Inherit from RenderBlock like the old flexbox.
2265         (WebCore::RenderFlexibleBox::~RenderFlexibleBox):
2266         (WebCore::RenderFlexibleBox::renderName):
2267         (WebCore::RenderFlexibleBox::layoutBlock):
2268         * rendering/RenderFlexibleBox.h: Added.
2269         (WebCore::RenderFlexibleBox::isFlexibleBox):
2270         * rendering/RenderObject.h:
2271         (WebCore::RenderObject::isFlexibleBox):
2272
2273 2011-07-22  James Robinson  <jamesr@chromium.org>
2274
2275         [chromium] Force slow scrolling path for non-composited frames in a composited page
2276         https://bugs.webkit.org/show_bug.cgi?id=64991
2277
2278         Reviewed by Darin Fisher.
2279
2280         The chromium compositor does not properly handle fast path scrolls for non-composited iframe in a composited
2281         page.
2282
2283         * page/FrameView.cpp:
2284         (WebCore::FrameView::useSlowRepaints):
2285
2286 2011-07-22  Andrew Scherkus  <scherkus@chromium.org>
2287
2288         Remove surfaceType() and texture() methods from Chromium video frame classes.
2289         https://bugs.webkit.org/show_bug.cgi?id=64818
2290
2291         Reviewed by Kenneth Russell.
2292
2293         No tests as code was never being executed.
2294
2295         * platform/graphics/chromium/VideoFrameChromium.h:
2296         * platform/graphics/chromium/VideoLayerChromium.cpp:
2297         (WebCore::VideoLayerChromium::updateCompositorResources):
2298         * platform/graphics/chromium/VideoLayerChromium.h:
2299
2300 2011-07-22  Nate Chapin  <japhet@chromium.org>
2301
2302         Don't treat child frame loads as back-forward navigations
2303         after the load event fires. This can lead to loading
2304         the wrong url in the child frame.
2305         https://bugs.webkit.org/show_bug.cgi?id=64895
2306
2307         Reviewed by Mihai Parparita.
2308
2309         Test: fast/loader/child-frame-add-after-back-forward.html
2310
2311         * dom/Document.h: Drive-by FIXME.
2312         * loader/DocumentLoader.h: Drive-by FIXME.
2313         * loader/FrameLoader.cpp:
2314         (WebCore::FrameLoader::loadURLIntoChildFrame):
2315
2316 2011-07-22  Kent Tamura  <tkent@google.com>
2317
2318         REGRESSION(r88757): The thumb of a vertical range slider is offset to the right on non-Mac.
2319         https://bugs.webkit.org/show_bug.cgi?id=65011
2320
2321         Reviewed by Dimitri Glazkov.
2322
2323         We need to update the apeearance of thumbs before the layout of RenderSlider.
2324
2325         * html/shadow/SliderThumbElement.cpp:
2326         (WebCore::RenderSliderThumb::updateAppearance):
2327         Added. This function adjsuts the apparance of a thumb for the appearance of an <input>.
2328         (WebCore::RenderSliderThumb::isSliderThumb):
2329         Added.  Returns true.
2330         (WebCore::RenderSliderThumb::layout):
2331         Remove the appearance adjustment code. It is unnecessary because it is
2332         done in RenderSlider::layout().
2333         (WebCore::trackLimiterElementOf): Added.
2334         * html/shadow/SliderThumbElement.h: Move RenderSliderThumb from SliderThumbElement.cpp.
2335         * rendering/RenderObject.h:
2336         (WebCore::RenderObject::isSliderThumb): Added. Returns false.
2337         * rendering/RenderSlider.cpp:
2338         (WebCore::RenderSlider::layout):
2339         If the renderers for the thumb element and the limiter element is
2340         RenderSliderThumb, updates its appearance.
2341
2342 2011-07-22  Kent Tamura  <tkent@chromium.org>
2343
2344         Validation message bubble is incorrectly positioned in a relative body.
2345         https://bugs.webkit.org/show_bug.cgi?id=65018
2346
2347         Reviewed by Dimitri Glazkov.
2348
2349         We use position:aboslute for validation message bubbles, and the
2350         origin of the absolute position can be not only the page, but also
2351         an ancestor block with non-static position.
2352
2353         Test: fast/forms/validation-message-in-relative-body.html
2354
2355         * html/ValidationMessage.cpp:
2356         (WebCore::adjustBubblePosition):
2357         Subtract the containing block position from the host position.
2358         (WebCore::ValidationMessage::buildBubbleTree):
2359         Change the order of appendChild() and adjustBubblePosition() in
2360         order to use RenderObject::containingBlock() in
2361         adjustbubbleposition().
2362
2363 2011-07-22  David Grogan  <dgrogan@chromium.org>
2364
2365         Fix crash in IDBRequest::abort
2366         https://bugs.webkit.org/show_bug.cgi?id=64740
2367
2368         Reviewed by Nate Chapin.
2369
2370         Tested manually with the testcase in the bug.
2371
2372         * storage/IDBRequest.cpp:
2373         (WebCore::IDBRequest::~IDBRequest):
2374         (WebCore::IDBRequest::abort):
2375
2376 2011-07-22  Patrick Gansterer  <paroga@webkit.org>
2377
2378         Replace preprocessor statements in IDL files with Conditional attribute
2379         https://bugs.webkit.org/show_bug.cgi?id=64961
2380
2381         Reviewed by Darin Adler.
2382
2383         Replaced ENABLE_DATALIST, ENABLE_DIRECTORY_UPLOAD, ENABLE_INPUT_SPEECH, ENABLE_MEDIA_STATISTICS
2384         and ENABLE_ORIENTATION_EVENTS with the corresponding Conditional attribute.
2385
2386         * html/HTMLBodyElement.idl:
2387         * html/HTMLFrameSetElement.idl:
2388         * html/HTMLInputElement.idl:
2389         * html/HTMLMediaElement.idl:
2390         * html/HTMLVideoElement.idl:
2391
2392 2011-07-22  Andrey Kosyakov  <caseq@chromium.org>
2393
2394         Web Inspector: [Extensions API] add webInspector.resources.onContentEdited
2395         https://bugs.webkit.org/show_bug.cgi?id=65024
2396
2397         Reviewed by Pavel Feldman.
2398
2399         * inspector/front-end/ExtensionAPI.js:
2400         (WebInspector.injectedExtensionAPI):
2401         * inspector/front-end/ExtensionServer.js:
2402         (WebInspector.ExtensionServer.prototype.notifyResourceContentEdited):
2403         * inspector/front-end/Resource.js:
2404         (WebInspector.Resource.prototype.addRevision):
2405
2406 2011-07-22  Pavel Podivilov  <podivilov@chromium.org>
2407
2408         Web Inspector: fix exception when paused in internal script.
2409         https://bugs.webkit.org/show_bug.cgi?id=64995
2410
2411         Reviewed by Yury Semikhatsky.
2412
2413         Test: inspector/debugger/pause-in-internal-script.html
2414
2415         * inspector/front-end/DebuggerPresentationModel.js:
2416         (WebInspector.PresenationCallFrame.prototype.sourceLine):
2417
2418 2011-07-22  Ilya Tikhonovsky  <loislo@chromium.org>
2419
2420         Web Inspector: sometimes ReceiveResponse event is attached to wrong parent.
2421         https://bugs.webkit.org/show_bug.cgi?id=65016
2422
2423         Reviewed by Yury Semikhatsky.
2424
2425         Test: inspector/timeline/timeline-receive-response-event.html
2426
2427         * inspector/InspectorTimelineAgent.cpp:
2428         (WebCore::InspectorTimelineAgent::didInstallTimer):
2429         (WebCore::InspectorTimelineAgent::didRemoveTimer):
2430         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
2431         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2432         (WebCore::InspectorTimelineAgent::didTimeStamp):
2433         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
2434         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
2435         (WebCore::InspectorTimelineAgent::appendRecord):
2436         * inspector/InspectorTimelineAgent.h:
2437         * inspector/front-end/TimelinePanel.js:
2438         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2439
2440 2011-07-22  Kentaro Hara  <haraken@google.com>
2441
2442         REGRESSION(r89535): Form reset does not repaint a file upload control.
2443         https://bugs.webkit.org/show_bug.cgi?id=65008
2444
2445         Reviewed by Kent Tamura.
2446
2447         This patch fixes the code so that the file upload control is repainted
2448         in updateFromElement() if no files are selected.
2449
2450         Tests: fast/forms/file-input-reset.html
2451
2452         * rendering/RenderFileUploadControl.cpp:
2453         (WebCore::RenderFileUploadControl::updateFromElement): Calls repaint() if no files are selected.
2454
2455 2011-07-22  Ilya Tikhonovsky  <loislo@chromium.org>
2456
2457         Web Inspector: the max depth of the Timeline events' stack trace should be customizable.
2458         https://bugs.webkit.org/show_bug.cgi?id=65023
2459
2460         Reviewed by Yury Semikhatsky.
2461
2462         * inspector/Inspector.json:
2463         * inspector/InspectorController.cpp:
2464         (WebCore::InspectorController::startTimelineProfiler):
2465         * inspector/InspectorTimelineAgent.cpp:
2466         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
2467         (WebCore::InspectorTimelineAgent::restore):
2468         (WebCore::InspectorTimelineAgent::start):
2469         (WebCore::InspectorTimelineAgent::didInstallTimer):
2470         (WebCore::InspectorTimelineAgent::didRemoveTimer):
2471         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
2472         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2473         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2474         (WebCore::InspectorTimelineAgent::didTimeStamp):
2475         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
2476         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
2477         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2478         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2479         * inspector/InspectorTimelineAgent.h:
2480         * inspector/TimelineRecordFactory.cpp:
2481         (WebCore::TimelineRecordFactory::createGenericRecord):
2482         * inspector/TimelineRecordFactory.h:
2483         * inspector/front-end/TimelineManager.js:
2484         (WebInspector.TimelineManager.prototype.start):
2485
2486 2011-07-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2487
2488         Unreviewed, rolling out r91024.
2489         http://trac.webkit.org/changeset/91024
2490         https://bugs.webkit.org/show_bug.cgi?id=65017
2491
2492         number of problems happened with invisible elements which grab
2493         pointer events. (Requested by loislo on #webkit).
2494
2495         * inspector/front-end/inspector.css:
2496         (.panel):
2497         (.panel.visible):
2498
2499 2011-07-22  Jia Pu  <jpu@apple.com>
2500
2501         Reviewed by Darin Adler.
2502
2503         [Mac] Need to make sure autocorrection panel is dismissed in Document::setFocusNode().
2504         https://bugs.webkit.org/show_bug.cgi?id=64824
2505         <rdar://problem/9624232>
2506
2507         * editing/Editor.cpp:
2508         (WebCore::Editor::textFieldDidEndEditing): Dismiss autocorrection panel when current node losing focus.
2509
2510 2011-07-21  Kent Tamura  <tkent@chromium.org>
2511
2512         A trivial fix for r91550.
2513         https://bugs.webkit.org/show_bug.cgi?id=65001
2514
2515         Need to update placeholder visibility when the owner elemnent style is changed.
2516
2517         * html/HTMLTextFormControlElement.h: Make updatePlaceholderVisibility() public.
2518         * rendering/RenderTextControl.cpp:
2519         (WebCore::RenderTextControl::styleDidChange):
2520         Call updatePlaceholderVisibility().
2521
2522 2011-07-21  Pratik Solanki  <psolanki@apple.com>
2523
2524         https://bugs.webkit.org/show_bug.cgi?id=65002
2525         Get authentication to work with USE(CFNETWORK) on Mac
2526
2527         Reviewed by David Kilzer.
2528
2529         Instead of creating a new CFURLAuthChallengeRef, we save and reuse the same object as the
2530         one given to us by CFNetwork.
2531
2532         * platform/network/mac/AuthenticationMac.mm:
2533         (-[WebCoreAuthenticationClientAsChallengeSender setCFChallenge:]): Accessor methods for the
2534         new CFURLAuthChallengeRef ivar.
2535         (-[WebCoreAuthenticationClientAsChallengeSender cfChallenge]):
2536         (WebCore::core): Create AuthenticationChallenge using the saved CFURLAuthChallengeRef.
2537         (WebCore::mac): Use the CFURLAuthChallengeRef object in AuthenticationChallenge instead of
2538         creating a new one.
2539
2540 2011-07-21  Kent Tamura  <tkent@chromium.org>
2541
2542         REGRESSION(r90971): Placeholder and search cancel button are visible even in elements with visibility:hidden.
2543         https://bugs.webkit.org/show_bug.cgi?id=65001
2544
2545         Reviewed by Dimitri Glazkov.
2546
2547         Tests: fast/forms/placeholder-in-invisible-elements.html
2548                fast/forms/search-cancel-in-invisible-elements.html
2549
2550         * html/HTMLTextFormControlElement.cpp:
2551         (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
2552         Don't show the placeholder if the 'visibility' property of the owner element is 'hidden.'
2553         * rendering/RenderTextControlSingleLine.cpp:
2554         (WebCore::RenderTextControlSingleLine::visibilityForCancelButton): ditto.
2555
2556 2011-07-21  Shinya Kawanaka  <shinyak@google.com>
2557
2558         The input[type="number"] with step="any" should not suffer from step mismatch.
2559         https://bugs.webkit.org/show_bug.cgi?id=64858
2560
2561         Reviewed by Kent Tamura.
2562
2563         Added check step="any" not to suffer from step mismatch.
2564
2565         * html/HTMLInputElement.cpp:
2566         (WebCore::HTMLInputElement::applyStep): Added check step="any".
2567         (WebCore::HTMLInputElement::alignValueForStep): Added.
2568
2569 2011-07-21  MORITA Hajime  <morrita@google.com>
2570
2571         [Refactoring] ShadowContentSelector should be ShadowInclusionSelector
2572         https://bugs.webkit.org/show_bug.cgi?id=64850
2573
2574         Reviewed by Dimitri Glazkov.
2575
2576         Renamed:
2577         - ShadowContentSelector -> ShadowInclusionSelector
2578         - ShadowContentSelector::findInclusionFor -> ShadowInclusionSelector::findFor
2579         - ShadowContentSelector::selectInclusion -> ShadowInclusionSelector::select
2580         - ShadowContentSelector::unselectInclusion -> ShadowInclusionSelector::unselect
2581         - ShadowContentSelector::didSelectInclusion -> ShadowInclusionSelector::didSelect
2582         - ShadowContentSelector::willSelectInclusionOver -> ShadowInclusionSelector::willSelectOver
2583         - ShadowContentSelector::hasChildren -> ShadowInclusionSelector::hasCandidates
2584         
2585         No new tests. Just a textual change.
2586
2587         * CMakeLists.txt:
2588         * GNUmakefile.list.am:
2589         * WebCore.gypi:
2590         * WebCore.pro:
2591         * WebCore.vcproj/WebCore.vcproj:
2592         * WebCore.xcodeproj/project.pbxproj:
2593         * dom/DOMAllInOne.cpp:
2594         * dom/NodeRenderingContext.cpp:
2595         * dom/ShadowContentElement.cpp:
2596         (WebCore::ShadowContentElement::attach):
2597         (WebCore::ShadowContentElement::detach):
2598         * dom/ShadowInclusionSelector.cpp: Renamed from Source/WebCore/dom/ShadowContentSelector.cpp.
2599         (WebCore::ShadowInclusion::append):
2600         (WebCore::ShadowInclusion::unlink):
2601         (WebCore::ShadowInclusionList::ShadowInclusionList):
2602         (WebCore::ShadowInclusionList::~ShadowInclusionList):
2603         (WebCore::ShadowInclusionList::find):
2604         (WebCore::ShadowInclusionList::clear):
2605         (WebCore::ShadowInclusionList::append):
2606         (WebCore::ShadowInclusionSelector::ShadowInclusionSelector):
2607         (WebCore::ShadowInclusionSelector::~ShadowInclusionSelector):
2608         (WebCore::ShadowInclusionSelector::select):
2609         (WebCore::ShadowInclusionSelector::unselect):
2610         (WebCore::ShadowInclusionSelector::findFor):
2611         (WebCore::ShadowInclusionSelector::didSelect):
2612         (WebCore::ShadowInclusionSelector::willSelectOver):
2613         * dom/ShadowInclusionSelector.h: Renamed from Source/WebCore/dom/ShadowContentSelector.h.
2614         (WebCore::ShadowInclusion::includer):
2615         (WebCore::ShadowInclusion::content):
2616         (WebCore::ShadowInclusion::next):
2617         (WebCore::ShadowInclusion::previous):
2618         (WebCore::ShadowInclusion::ShadowInclusion):
2619         (WebCore::ShadowInclusion::create):
2620         (WebCore::ShadowInclusionList::first):
2621         (WebCore::ShadowInclusionList::last):
2622         (WebCore::ShadowInclusionList::isEmpty):
2623         (WebCore::ShadowInclusionSet::add):
2624         (WebCore::ShadowInclusionSet::remove):
2625         (WebCore::ShadowInclusionSet::isEmpty):
2626         (WebCore::ShadowInclusionSet::Translator::hash):
2627         (WebCore::ShadowInclusionSet::Translator::equal):
2628         (WebCore::ShadowInclusionSet::Hash::hash):
2629         (WebCore::ShadowInclusionSet::Hash::equal):
2630         (WebCore::ShadowInclusionSet::find):
2631         (WebCore::ShadowInclusionSelector::hasCandidates):
2632         * dom/ShadowRoot.cpp:
2633         (WebCore::ShadowRoot::includerFor):
2634         (WebCore::ShadowRoot::attach):
2635         (WebCore::ShadowRoot::inclusions):
2636         (WebCore::ShadowRoot::ensureInclusions):
2637         * dom/ShadowRoot.h:
2638
2639 2011-07-21  Robin Qiu  <robin.qiu.dev@gmail.com>
2640
2641         https://bugs.webkit.org/show_bug.cgi?id=60737
2642
2643         ThumbPosition() in ScrollbarTheme should be ceiled before returned.
2644         Otherwise, some topest/leftest content can not be shown by dragging
2645         scrollbar thumb.
2646
2647
2648         Reviewed by Antonio Gomes.
2649
2650         Test: scrollbars/scrollbar-drag-thumb-with-large-content.html
2651
2652         * platform/ScrollbarThemeComposite.cpp:
2653         (WebCore::ScrollbarThemeComposite::thumbPosition):
2654         * platform/qt/ScrollbarThemeQt.cpp:
2655         (WebCore::ScrollbarThemeQt::thumbPosition):
2656
2657 2011-07-21  Simon Fraser  <simon.fraser@apple.com>
2658
2659         GraphicsLayers in subframes can get sync'd multiple times
2660         https://bugs.webkit.org/show_bug.cgi?id=52489
2661
2662         Reviewed by James Robinson.
2663         
2664         Avoid doing a 'syncCompositingState' pass on the GraphicsLayers
2665         for subframes, when those GraphicsLayers are rooted in the
2666         parent document.
2667
2668         * page/FrameView.cpp:
2669         (WebCore::FrameView::syncCompositingStateForThisFrame): Add a parameter
2670         that contains the rootmost frame on which sync was called. This is used
2671         to indicate to the compositor whether it's the root of the sync.
2672         (WebCore::FrameView::syncCompositingStateIncludingSubframes): Pass the current
2673         Frame in.
2674         (WebCore::FrameView::paintContents): The sync is for this frame, so pass m_frame.
2675         * page/FrameView.h:
2676         * rendering/RenderLayerCompositor.cpp:
2677         (WebCore::RenderLayerCompositor::flushPendingLayerChanges): New parameter
2678         to specify whether this compositor is in the rootmost Frame being flushed.
2679         We can avoid doing work if we know that flushing some ancestor frame would
2680         have also traversed our GraphicsLayers.
2681         * rendering/RenderLayerCompositor.h:
2682         (WebCore::RenderLayerCompositor::isFlushingLayers): Make this private, since
2683         callers are probably most intersted in enclosingCompositorFlushingLayers().
2684
2685 2011-07-21  Rafael Brandao  <rafael.lobo@openbossa.org>
2686
2687         Local files cannot load icons.
2688         https://bugs.webkit.org/show_bug.cgi?id=62459
2689         
2690         Previous policy only allowed favicons for pages whose protocol was part of HTTP family.
2691         Changed that to allow to any url that's not empty and whose protocol is not "about".
2692         Also added this check where it attempts to start loading the favicon, so it can avoid
2693         wasting time downloading a resource that won't be stored and won't be used.
2694
2695         Reviewed by Adam Barth.
2696
2697         Test: manual-tests/resources/favicon-loads-for-local-files.html
2698
2699         * loader/icon/IconController.cpp:
2700         (WebCore::IconController::startLoader): Added check to avoid to request a favicon
2701         when there's no way to store it.
2702         
2703         * loader/icon/IconDatabase.cpp:
2704         (WebCore::IconDatabase::documentCanHaveIcon): Renamed function "pageCanHaveIcon"
2705         to reflect better which url we're handling.
2706         
2707         (WebCore::IconDatabase::synchronousIconForPageURL): Ditto.
2708         (WebCore::IconDatabase::synchronousIconURLForPageURL): Ditto.
2709         (WebCore::IconDatabase::retainIconForPageURL): Ditto.
2710         (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
2711         (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
2712         (WebCore::IconDatabase::getOrCreatePageURLRecord): Ditto.
2713         (WebCore::IconDatabase::importIconURLForPageURL): Ditto.
2714         (WebCore::IconDatabase::performURLImport): Ditto.
2715         * loader/icon/IconDatabase.h:
2716         * loader/icon/IconDatabaseBase.h:
2717         (WebCore::IconDatabaseBase::documentCanHaveIcon): Added it as virtual to replace its
2718         default behavior of not allowing favicons when we have IconDatabase enabled.
2719         
2720         * manual-tests/resources/favicon-loads-for-local-files.html: Added.
2721         * manual-tests/resources/favicon.png: Added.
2722
2723 2011-07-21  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
2724
2725         Fix for bug 64046 - Wrong image height in absolutely positioned div in
2726         relatively positioned parent with bottom padding.
2727         https://bugs.webkit.org/show_bug.cgi?id=64046
2728
2729         Reviewed by David Hyatt.
2730
2731         Test: fast/css/absolute-child-with-percent-height-inside-relative-parent.html
2732
2733         * rendering/RenderBox.cpp:
2734         (WebCore::RenderBox::availableLogicalHeightUsing):
2735
2736 2011-07-21  Gavin Peters  <gavinp@chromium.org>
2737
2738         Extend the protector of a CSS style sheet.  Because checkLoaded() can recursively delete
2739         parent style elements, the protector should be extended to include the parent call.
2740
2741         https://bugs.webkit.org/show_bug.cgi?id=64736
2742
2743         Reviewed by Simon Fraser.
2744
2745         Test: fast/css/css-imports-2.html
2746
2747         * css/CSSStyleSheet.cpp:
2748         (WebCore::CSSStyleSheet::checkLoaded):
2749
2750 2011-07-21  Kenneth Russell  <kbr@google.com>
2751
2752         Update webglcontextlost / webglcontextrestored delivery to match spec changes
2753         https://bugs.webkit.org/show_bug.cgi?id=58621
2754
2755         Reviewed by James Robinson.
2756
2757         Updated conditions under which webglcontextrestored event is
2758         delivered to be spec compliant.
2759
2760         * html/canvas/WebGLRenderingContext.cpp:
2761         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
2762         (WebCore::WebGLRenderingContext::loseContext):
2763         (WebCore::WebGLRenderingContext::maybeRestoreContext):
2764         * html/canvas/WebGLRenderingContext.h:
2765
2766 2011-07-21  Dave Hyatt  <hyatt@apple.com>
2767
2768         https://bugs.webkit.org/show_bug.cgi?id=64975
2769         Elements that have columns (e.g., column-width or column-count non-auto) and elements that have
2770         column-spans establish block formatting contexts, and therefore they should not be allowing
2771         child margins to collapse with their own margins.
2772
2773         Reviewed by Beth Dakin.
2774
2775         Covered by existing tests.
2776
2777         * rendering/RenderBlock.cpp:
2778         (WebCore::RenderBlock::MarginInfo::MarginInfo):
2779
2780 2011-07-21  Matthew Delaney  <mdelaney@apple.com>
2781
2782         Add fast path for ImageBuffer::draw, Take 2.
2783         https://bugs.webkit.org/show_bug.cgi?id=64535
2784
2785         Reviewed by Simon Fraser.
2786
2787         No new tests. This patch doesn't change behavior; current tests are sufficient.
2788
2789         * platform/graphics/GraphicsContext.cpp:
2790         (WebCore::GraphicsContext::drawImage): Moved the main method version next to wrapper versions.
2791
2792         * platform/graphics/ImageBuffer.h:
2793         1) Added BackingStoreCopy enum for choosing to copy backing store or not in copyImage().
2794         2) Added copyNativeImage() behind USE(CG) - same as copyImage() but gives NativeImagePtr.
2795         * platform/graphics/cg/ImageBufferCG.cpp: Added new methods described above.
2796
2797         * platform/graphics/GraphicsContext.h: Adding drawNativeImage() for fast draw path.
2798         * platform/graphics/cg/GraphicsContextCG.cpp:
2799         (WebCore::GraphicsContext::drawNativeImage): Added. Draws a nativeImagePtr into context.
2800
2801         * platform/graphics/Image.h: Added imageWithColorSpace behind CG platform ifdef
2802         * platform/graphics/cg/ImageCG.cpp:
2803         (WebCore::BitmapImage::draw): Refactored out actual image drawing code into GraphicsContext,
2804         so that it can be used by more than just BitmapImage without having to copy code.
2805         (WebCore::Image::imageWithColorSpace): Made into an Image class function.
2806
2807         Updated copyImage() to use BackingStoreCopy:
2808         * platform/graphics/qt/ImageBufferQt.cpp
2809         * platform/graphics/filters/FETile.cpp
2810         * platform/graphics/cairo/ImageBufferCairo.cpp
2811         * platform/graphics/skia/ImageBufferSkia.cpp
2812         * platform/graphics/wx/ImageBufferWx.cpp
2813         * platform/graphics/wince/ImageBufferWinCE.cpp
2814         * svg/SVGFEImageElement.cpp
2815         * svg/graphics/SVGImage.cpp
2816         * html/HTMLCanvasElement.cpp
2817         * html/canvas/WebGLRenderingContext.cpp
2818         * rendering/svg/RenderSVGResourcePattern.cpp
2819
2820 2011-07-21  David Kilzer  <ddkilzer@apple.com>
2821
2822         <http://webkit.org/b/64972> Clean up generated HTMLEntityTable.cpp output
2823
2824         Reviewed by Eric Seidel.
2825
2826         * html/parser/create-html-entity-table:
2827         - Fix duplicate "EntityName" suffix on local variables (changes
2828           fooSemicolonEntityNameEntityName to fooSemicolonEntityName)
2829           for all 2138 symbols.
2830         - Add newlines to make source file human-readable (as originally
2831           intended).
2832         - Add static (const) keywords to local variables that are never
2833           referenced externally.
2834
2835 2011-07-21  Mark Pilgrim  <pilgrim@chromium.org>
2836
2837         Remove LegacyDefaultOptionalArguments flag from FileAPI
2838         https://bugs.webkit.org/show_bug.cgi?id=64539
2839
2840         Reviewed by Adam Barth.
2841
2842         No new tests, all existing tests pass.
2843
2844         * fileapi/Blob.idl:
2845         * fileapi/DirectoryEntry.idl:
2846         * fileapi/DirectoryEntrySync.idl:
2847         * fileapi/DirectoryReader.idl:
2848         * fileapi/EntriesCallback.idl:
2849         * fileapi/Entry.idl:
2850         * fileapi/EntryArray.idl:
2851         * fileapi/EntryArraySync.idl:
2852         * fileapi/EntryCallback.idl:
2853         * fileapi/EntrySync.idl:
2854         * fileapi/ErrorCallback.idl:
2855         * fileapi/FileCallback.idl:
2856         * fileapi/FileEntry.idl:
2857         * fileapi/FileList.idl:
2858         * fileapi/FileReader.idl:
2859         * fileapi/FileReaderSync.idl:
2860         * fileapi/FileSystemCallback.idl:
2861         * fileapi/FileWriter.idl:
2862         * fileapi/FileWriterCallback.idl:
2863         * fileapi/FileWriterSync.idl:
2864         * fileapi/MetadataCallback.idl:
2865         * fileapi/WebKitBlobBuilder.idl:
2866
2867 2011-07-21  Tony Chang  <tony@chromium.org>
2868
2869         sort WebCore.xcodeproj
2870         https://bugs.webkit.org/show_bug.cgi?id=64901
2871
2872         Unreviewed, just using sort-Xcode-project-file.
2873
2874         * WebCore.xcodeproj/project.pbxproj:
2875
2876 2011-07-21  Enrica Casucci  <enrica@apple.com>
2877
2878         Cannot click to position the caret to the right of an image with display:block style.
2879         https://bugs.webkit.org/show_bug.cgi?id=64962
2880         <rdar://problem/9446343>
2881
2882         Reviewed by David Hyatt.
2883
2884         Test: editing/selection/click-on-block-image.html
2885
2886         The current implementation of positionForPoint always returns the visible
2887         position to the left of the image, if the image has a block style.
2888         This patch changes the behavior for block styled images to match the behavior
2889         for inline images.
2890
2891         * rendering/RenderReplaced.cpp:
2892         (WebCore::RenderReplaced::positionForPoint): Modified to avoid relying entirely
2893         on InlineBox to calculate the position.
2894
2895 >>>>>>> .r91495
2896 2011-07-21  Pavel Feldman  <pfeldman@google.com>
2897
2898         Not reviewed: one liner typo fix in Inspector.json.
2899
2900         * inspector/Inspector.json:
2901
2902 2011-07-21  Sam Weinig  <sam@webkit.org>
2903
2904         CSS top margin collapses when paginating
2905         https://bugs.webkit.org/show_bug.cgi?id=64906
2906
2907         Reviewed by David Hyatt.
2908
2909         * rendering/RenderBlock.cpp:
2910         (WebCore::RenderBlock::collapseMargins):
2911         (WebCore::RenderBlock::estimateLogicalTopPosition):
2912         Update to only go down paginated path when we actually have a page height (so
2913         not in the case that we are just gathering breaks) and to call the version of
2914         of nextPageLogicalTop that actually returns the next page, even if we are at
2915         the boundary point.
2916
2917         (WebCore::RenderBlock::nextPageLogicalTopExcludingBoundaryPoint):
2918         (WebCore::RenderBlock::nextPageLogicalTopIncludingBoundaryPoint):
2919         Split into two functions which differ in how they deal with the boundary condition.
2920
2921         (WebCore::RenderBlock::applyBeforeBreak):
2922         (WebCore::RenderBlock::applyAfterBreak):
2923         Switch to call nextPageLogicalTopIncludingBoundaryPoint.
2924
2925         * rendering/RenderBlock.h:
2926         Add new functions declarations and comment them.
2927
2928 2011-07-21  Pavel Feldman  <pfeldman@google.com>
2929
2930         Web Inspector: RuntimeAgent.evaluateOn should not require "return X;" syntax.
2931         https://bugs.webkit.org/show_bug.cgi?id=64691
2932
2933         Reviewed by Yury Semikhatsky.
2934
2935         I'm introducing callFunctionOn that receives function declaration in order
2936         to make call site syntax clear.
2937
2938         Test: inspector/runtime/runtime-callFunctionOn.html
2939
2940         * inspector/InjectedScript.cpp:
2941         (WebCore::InjectedScript::callFunctionOn):
2942         * inspector/InjectedScript.h:
2943         * inspector/InjectedScriptSource.js:
2944         (.):
2945         * inspector/Inspector.json:
2946         * inspector/InspectorRuntimeAgent.cpp:
2947         (WebCore::InspectorRuntimeAgent::callFunctionOn):
2948         * inspector/InspectorRuntimeAgent.h:
2949         * inspector/front-end/ElementsTreeOutline.js:
2950         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode.dimensions):
2951         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
2952         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
2953         * inspector/front-end/PropertiesSidebarPane.js:
2954         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved.protoList):
2955         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
2956         * inspector/front-end/RemoteObject.js:
2957         (WebInspector.RemoteObject.prototype.callFunction):
2958
2959 2011-07-21  Andrew Wason  <rectalogic@rectalogic.com>
2960
2961         [Qt] Adopt existing GraphicsContext3D members (part 1)
2962         https://bugs.webkit.org/show_bug.cgi?id=64877
2963
2964         Reviewed by Noam Rosenthal.
2965
2966         Existing WebGL layout tests should test this.
2967
2968         Remove GraphicsContext3DInternal members and use the existing
2969         corresponding members from GraphicsContext3D instead.
2970         Move most of the GraphicsContext3DInternal constructor, destructor
2971         and the reshape() method into GraphicsContext3D.
2972         The GraphicsContext3D members will be needed when we adopt
2973         GraphicsContext3DOpenGL.cpp.
2974
2975         * platform/graphics/GraphicsContext3D.h:
2976         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2977         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
2978         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
2979         (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
2980         (WebCore::GraphicsContext3DInternal::boundingRect):
2981         (WebCore::GraphicsContext3DInternal::paint):
2982         (WebCore::GraphicsContext3D::GraphicsContext3D):
2983         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2984         (WebCore::GraphicsContext3D::platformTexture):
2985         (WebCore::GraphicsContext3D::reshape):
2986         (WebCore::GraphicsContext3D::bindFramebuffer):
2987         (WebCore::GraphicsContext3D::getContextAttributes):
2988         (WebCore::GraphicsContext3D::getError):
2989         (WebCore::GraphicsContext3D::synthesizeGLError):
2990         (WebCore::GraphicsContext3D::markLayerComposited):
2991         (WebCore::GraphicsContext3D::markContextChanged):
2992         (WebCore::GraphicsContext3D::layerComposited):
2993         (WebCore::GraphicsContext3D::getExtensions):
2994
2995 2011-07-21  Pavel Feldman  <pfeldman@google.com>
2996
2997         Web Inspector: [protocol] extend setBreakpointByUrl request to accept incomplete URL (predicates)
2998         https://bugs.webkit.org/show_bug.cgi?id=60762
2999
3000         Reviewed by Yury Semikhatsky.
3001
3002         Test: inspector/debugger/debugger-set-breakpoint-regex.html
3003
3004         * inspector/Inspector.json:
3005         * inspector/InspectorDebuggerAgent.cpp:
3006         (WebCore::buildObjectForBreakpointCookie):
3007         (WebCore::matches):
3008         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3009         (WebCore::InspectorDebuggerAgent::didParseSource):
3010         * inspector/InspectorDebuggerAgent.h:
3011
3012 2011-07-21  Kent Tamura  <tkent@chromium.org>
3013
3014         REGRESSION(r88757): input[type=range] renders incorrectly in RTL context.
3015         https://bugs.webkit.org/show_bug.cgi?id=64904
3016
3017         Reviewed by Ryosuke Niwa.
3018
3019         Tests: fast/forms/input-appearance-range-rtl.html
3020
3021         * html/shadow/SliderThumbElement.cpp:
3022         (WebCore::RenderSliderThumb::layout):
3023         The thumb should be positioned based on 'right' CSS property instead of 'left.'
3024         (WebCore::SliderThumbElement::setPositionFromPoint):
3025         The fraction should be flipped in RTL.
3026
3027 2011-07-18  Vsevolod Vlasov  <vsevik@chromium.org>
3028
3029         Web Inspector: Remove networkDataRemoved field from resource.
3030         https://bugs.webkit.org/show_bug.cgi?id=64749
3031
3032         Reviewed by Pavel Feldman.
3033
3034         * inspector/front-end/NetworkManager.js:
3035         (WebInspector.NetworkManager.prototype.requestContent):
3036         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
3037         * inspector/front-end/NetworkPanel.js:
3038         (WebInspector.NetworkLogView.prototype._frameNavigated):
3039
3040 2011-07-21  Tommy Widenflycht  <tommyw@google.com>
3041
3042         MediaStream API: Merging MediaStreamContainer and MediaStreamList
3043         https://bugs.webkit.org/show_bug.cgi?id=64794
3044
3045         Reviewed by Tony Gentilcore.
3046
3047         * GNUmakefile.list.am:
3048         * dom/MediaStreamContainer.h: Removed.
3049         * dom/MediaStreamList.cpp:
3050         (WebCore::MediaStreamList::create):
3051         (WebCore::MediaStreamList::MediaStreamList):
3052         (WebCore::MediaStreamList::length):
3053         (WebCore::MediaStreamList::item):
3054         (WebCore::MediaStreamList::add):
3055         (WebCore::MediaStreamList::remove):
3056         (WebCore::MediaStreamList::contains):
3057         (WebCore::MediaStreamList::get):
3058         * dom/MediaStreamList.h:
3059
3060 2011-07-20  Yury Semikhatsky  <yurys@chromium.org>
3061
3062         Web Inspector: always open dedicated worker inspector in a new window not a new tab
3063         https://bugs.webkit.org/show_bug.cgi?id=64872
3064
3065         Reviewed by Pavel Feldman.
3066
3067         * inspector/front-end/WorkerManager.js:
3068         (WebInspector.WorkerManager.prototype.openWorkerInspector):
3069
3070 2011-07-21  MORITA Hajime  <morrita@google.com>
3071
3072         [Refactoring] Shadow inclusion cache should be managed by ShadowContentSelector
3073         https://bugs.webkit.org/show_bug.cgi?id=64849
3074
3075         Reviewed by Dimitri Glazkov.
3076
3077         This change is a reorg around Shadow inclusion mechanism.
3078         - Moved definition of ShadowInclusion, ShadowInclusionSet and ShadowInclusionList
3079           from ShadowContentElement.h to ShadowContentSelector.h, which is included
3080           from smaller number of places.
3081         - Moved ShadowInclusionSet from ShadowRoot to ShadowContentSelector
3082         - Made ShadowContentSelector's lifetime managed by ShadowRoot
3083           because ShadowInclusionSet is held by the selector.
3084         - Thus, there is no longer "active" selector (ShadowContentSelector::s_currentInstance)
3085           Because the selector is associated for each ShadowRoot object.
3086         
3087         No new tests. No behavior change.
3088
3089         * dom/NodeRenderingContext.cpp:
3090         * dom/ShadowContentElement.cpp:
3091         (WebCore::ShadowContentElement::ShadowContentElement):
3092         (WebCore::ShadowContentElement::attach):
3093         (WebCore::ShadowContentElement::detach):
3094         * dom/ShadowContentElement.h:
3095         (WebCore::ShadowContentElement::inclusions):
3096         * dom/ShadowContentSelector.cpp:
3097         (WebCore::ShadowInclusion::append):
3098         (WebCore::ShadowInclusion::unlink):
3099         (WebCore::ShadowInclusionList::ShadowInclusionList):
3100         (WebCore::ShadowInclusionList::~ShadowInclusionList):
3101         (WebCore::ShadowInclusionList::find):
3102         (WebCore::ShadowInclusionList::clear):
3103         (WebCore::ShadowInclusionList::append):
3104         (WebCore::ShadowContentSelector::ShadowContentSelector):
3105         (WebCore::ShadowContentSelector::~ShadowContentSelector):
3106         (WebCore::ShadowContentSelector::selectInclusion):
3107         (WebCore::ShadowContentSelector::unselectInclusion):
3108         (WebCore::ShadowContentSelector::findInclusionFor):
3109         (WebCore::ShadowContentSelector::didSelectInclusion):
3110         (WebCore::ShadowContentSelector::willSelectInclusionOver):
3111         * dom/ShadowContentSelector.h:
3112         (WebCore::ShadowInclusion::includer):
3113         (WebCore::ShadowInclusion::content):
3114         (WebCore::ShadowInclusion::next):
3115         (WebCore::ShadowInclusion::previous):
3116         (WebCore::ShadowInclusion::ShadowInclusion):
3117         (WebCore::ShadowInclusion::create):
3118         (WebCore::ShadowInclusionList::first):
3119         (WebCore::ShadowInclusionList::last):
3120         (WebCore::ShadowInclusionList::isEmpty):
3121         (WebCore::ShadowInclusionSet::add):
3122         (WebCore::ShadowInclusionSet::remove):
3123         (WebCore::ShadowInclusionSet::isEmpty):
3124         (WebCore::ShadowInclusionSet::Translator::hash):
3125         (WebCore::ShadowInclusionSet::Translator::equal):
3126         (WebCore::ShadowInclusionSet::Hash::hash):
3127         (WebCore::ShadowInclusionSet::Hash::equal):
3128         (WebCore::ShadowInclusionSet::find):
3129         (WebCore::ShadowContentSelector::hasChildren):
3130         * dom/ShadowRoot.cpp:
3131         (WebCore::ShadowRoot::~ShadowRoot):
3132         (WebCore::ShadowRoot::includerFor):
3133         (WebCore::ShadowRoot::attach):
3134         (WebCore::ShadowRoot::inclusions):
3135         (WebCore::ShadowRoot::ensureInclusions):
3136         * dom/ShadowRoot.h:
3137
3138 2011-07-21  Rohan McGovern  <rohan@mcgovern.id.au>
3139
3140         Reviewed by Noam Rosenthal.
3141
3142         [Qt] Qt5 Build Fix: remove useless use of qRound(int)
3143         https://bugs.webkit.org/show_bug.cgi?id=64907
3144
3145         Rounding an integer doesn't make sense.
3146         Since 2dcd3939a8bd5ff743e4c87f87b2d81b1a101467 in qtbase, this is not
3147         permitted to compile.
3148
3149         No new tests needed.
3150
3151         * platform/graphics/qt/FontPlatformDataQt.cpp:
3152         (WebCore::FontPlatformData::FontPlatformData): Eliminate qRound(int).
3153         * platform/qt/PlatformScreenQt.cpp:
3154         (WebCore::screenDepthPerComponent): Ditto.
3155
3156 2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
3157
3158         Fix a Valgrind failure caused by r91435.
3159
3160         * platform/ScrollableArea.cpp:
3161         (WebCore::ScrollableArea::ScrollableArea):
3162
3163 2011-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3164
3165         Unreviewed, rolling out r91332.
3166         http://trac.webkit.org/changeset/91332
3167         https://bugs.webkit.org/show_bug.cgi?id=64925
3168
3169         Crashes css3/images/optimize-contrast-canvas.html on safari-
3170         mac,chromium-mac (Requested by mikelawther on #webkit).
3171
3172         * html/HTMLCanvasElement.cpp:
3173         (WebCore::HTMLCanvasElement::makePresentationCopy):
3174         (WebCore::HTMLCanvasElement::copiedImage):
3175         * html/canvas/WebGLRenderingContext.cpp:
3176         (WebCore::WebGLRenderingContext::videoFrameToImage):
3177         * platform/graphics/GraphicsContext.cpp:
3178         (WebCore::GraphicsContext::drawImage):
3179         * platform/graphics/GraphicsContext.h:
3180         * platform/graphics/Image.h:
3181         * platform/graphics/ImageBuffer.h:
3182         * platform/graphics/cairo/ImageBufferCairo.cpp:
3183         (WebCore::ImageBuffer::copyImage):
3184         * platform/graphics/cg/GraphicsContextCG.cpp:
3185         * platform/graphics/cg/ImageBufferCG.cpp:
3186         (WebCore::ImageBuffer::copyImage):
3187         (WebCore::cgImage):
3188         (WebCore::ImageBuffer::draw):
3189         (WebCore::ImageBuffer::drawPattern):
3190         (WebCore::ImageBuffer::clip):
3191         (WebCore::ImageBuffer::toDataURL):
3192         * platform/graphics/cg/ImageCG.cpp:
3193         (WebCore::imageWithColorSpace):
3194         (WebCore::BitmapImage::draw):
3195         (WebCore::Image::drawPattern):
3196         * platform/graphics/filters/FETile.cpp:
3197         (WebCore::FETile::apply):
3198         * platform/graphics/qt/ImageBufferQt.cpp:
3199         (WebCore::ImageBuffer::copyImage):
3200         (WebCore::ImageBuffer::draw):
3201         (WebCore::ImageBuffer::drawPattern):
3202         * platform/graphics/skia/ImageBufferSkia.cpp:
3203         (WebCore::ImageBuffer::copyImage):
3204         * platform/graphics/wince/ImageBufferWinCE.cpp:
3205         (WebCore::ImageBuffer::copyImage):
3206         (WebCore::ImageBuffer::draw):
3207         (WebCore::ImageBuffer::drawPattern):
3208         * platform/graphics/wx/ImageBufferWx.cpp:
3209         (WebCore::ImageBuffer::copyImage):
3210         (WebCore::ImageBuffer::draw):
3211         (WebCore::ImageBuffer::drawPattern):
3212         * rendering/svg/RenderSVGResourcePattern.cpp:
3213         (WebCore::RenderSVGResourcePattern::applyResource):
3214         * svg/SVGFEImageElement.cpp:
3215         (WebCore::SVGFEImageElement::build):
3216         * svg/graphics/SVGImage.cpp:
3217         (WebCore::SVGImage::nativeImageForCurrentFrame):
3218
3219 2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
3220
3221         Chromium build fix after r91440.
3222
3223         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3224         (WebCore::ScrollbarThemeChromiumMac::paint):
3225
3226 2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
3227
3228         Build fix after r91435.
3229
3230         * platform/mac/ScrollViewMac.mm:
3231         (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
3232
3233 2011-07-20  Tim Horton  <timothy_horton@apple.com>
3234
3235         Reviewed by Darin Adler.
3236
3237         Errors encountered within SVG documents should be reported to the console
3238         https://bugs.webkit.org/show_bug.cgi?id=62599
3239         <rdar://problem/9727074>
3240
3241         Add SVGLength::construct, which can be used to construct an SVGLength
3242         as normal, but returns an SVGParsingError via a reference argument.
3243         The function also takes another argument, which is whether or not
3244         the SVGLength value is allowed to be negative. If not, an error is
3245         thrown. It defaults to allowing negatives if not specified.
3246
3247         * GNUmakefile.list.am:
3248         * svg/SVGLength.cpp:
3249         (WebCore::SVGLength::construct):
3250         (WebCore::SVGLength::rawValue):
3251         * svg/SVGLength.h:
3252         * svg/SVGElement.h:
3253         * svg/SVGParsingError.h: Added.
3254         * WebCore.gypi:
3255         * WebCore.pro:
3256         * WebCore.vcproj/WebCore.vcproj:
3257         * WebCore.xcodeproj/project.pbxproj:
3258
3259 2011-07-20  Levi Weintraub  <leviw@chromium.org>
3260
3261         Switch getTransformFromContainer and its uses to new layout types
3262         https://bugs.webkit.org/show_bug.cgi?id=64908
3263
3264         Reviewed by Simon Fraser.
3265
3266         Switching getTransformFromContainer and its uses to use the new Layout
3267         Types from strictly integer ones.
3268
3269         No new tests, no new functionality.
3270
3271         * rendering/RenderBox.cpp:
3272         (WebCore::RenderBox::mapLocalToContainer):
3273         * rendering/RenderInline.cpp:
3274         (WebCore::RenderInline::mapLocalToContainer):
3275         * rendering/RenderLayer.cpp:
3276         (WebCore::RenderLayer::createLocalTransformState):
3277         * rendering/RenderObject.cpp:
3278         (WebCore::RenderObject::getTransformFromContainer):
3279         * rendering/RenderObject.h:
3280         * rendering/RenderView.cpp:
3281         (WebCore::RenderView::mapLocalToContainer):
3282         (WebCore::RenderView::mapAbsoluteToLocalPoint):
3283
3284 2011-07-20  Tim Horton  <timothy_horton@apple.com>
3285
3286         Scrollbar color heuristic needs to be hooked up in WebKit1
3287         https://bugs.webkit.org/show_bug.cgi?id=64220
3288         <rdar://problem/9589140>
3289
3290         Reviewed by Darin Adler.
3291
3292         Store the scroller style on ScrollableArea, and recompute it whenever
3293         the document or body element background color changes or the base background
3294         color of the scrollview changes. Also, make sure to repaint the scrollbars
3295         whenever the style changes.
3296
3297         No new tests, since this code is only enabled on future versions of Mac OS X.
3298
3299         * WebCore.exp.in:
3300         * page/Frame.cpp:
3301         (WebCore::Frame::getDocumentBackgroundColor):
3302         * page/Frame.h:
3303         * page/FrameView.cpp:
3304         (WebCore::FrameView::recalculateScrollbarOverlayStyle):
3305         (WebCore::FrameView::setBaseBackgroundColor):
3306         (WebCore::FrameView::documentBackgroundColor): Renamed.
3307         * page/FrameView.h:
3308         * platform/ScrollView.cpp:
3309         (WebCore::ScrollView::setScrollbarOverlayStyle):
3310         * platform/ScrollView.h:
3311         * platform/ScrollableArea.cpp:
3312         (WebCore::ScrollableArea::setScrollbarOverlayStyle):
3313         * platform/ScrollableArea.h:
3314         (WebCore::ScrollableArea::scrollbarOverlayStyle):
3315         * platform/ScrollbarTheme.h:
3316         (WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
3317         * platform/mac/ScrollViewMac.mm:
3318         (WebCore::toNSScrollerKnobStyle):
3319         (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
3320         * platform/mac/ScrollbarThemeMac.h:
3321         * platform/mac/ScrollbarThemeMac.mm:
3322         (WebCore::toScrollbarPainterKnobStyle):
3323         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
3324         (WebCore::ScrollbarThemeMac::paint):
3325         * rendering/RenderBox.cpp:
3326         (WebCore::RenderBox::styleDidChange):
3327
3328 2011-07-20  Luke Macpherson   <macpherson@chromium.org>
3329
3330         Implement CSSPropertyWebkitTransformOriginZ and Origin in CSSStyleApplyProperty.
3331         https://bugs.webkit.org/show_bug.cgi?id=64785
3332         Note that this changes a cast from
3333           computed length double -> 28 bit int -> float
3334         to
3335           computed length double -> float
3336         I couldn't see any reason in the code that this was strictly necessary,
3337         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.
3338
3339         Reviewed by Simon Fraser.
3340
3341         No new tests / refactoring.
3342
3343         * css/CSSStyleApplyProperty.cpp:
3344         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3345         * css/CSSStyleSelector.cpp:
3346         (WebCore::CSSStyleSelector::applyProperty):
3347
3348 2011-07-20  Tony Chang  <tony@chromium.org>
3349
3350         Remove stray reference to StyleFlexibleBoxData.h that was accidentally
3351         added in r91402.
3352
3353         * WebCore.xcodeproj/project.pbxproj:
3354
3355 2011-07-20  Levi Weintraub  <leviw@chromium.org>
3356
3357         Bring Int/Float graphics classes closer to parity
3358         https://bugs.webkit.org/show_bug.cgi?id=64833
3359
3360         Reviewed by James Robinson.
3361
3362         In preparation of switching to Floating point data structures, bringing the
3363         functionality and method names of the Int/Float graphics classes close together.
3364
3365         Also fixing some compiler errors when using Floats for layout units along the way.
3366
3367         No new tests, no functionality change.
3368
3369         * page/FrameView.cpp:
3370         (WebCore::FrameView::convertFromRenderer):
3371         * platform/ScrollView.cpp:
3372         (WebCore::ScrollView::wheelEvent):
3373         * platform/ScrollView.h:
3374         (WebCore::ScrollView::convertChildToSelf):
3375         (WebCore::ScrollView::convertSelfToChild):
3376         * platform/graphics/FloatPoint.h:
3377         (WebCore::operator-): Adding a single-parameter version.
3378         * platform/graphics/FloatSize.cpp:
3379         (WebCore::FloatSize::isZero): Adding isZero that uses epsilon for floats.
3380         * platform/graphics/FloatSize.h:
3381         * platform/graphics/IntPoint.h:
3382         (WebCore::IntPoint::moveBy): Renaming IntPoint version to moveBy to mirror FloatPoint.
3383         * platform/graphics/RoundedRect.cpp:
3384         (WebCore::RoundedRect::Radii::expand): Switching to specific templatized max.
3385         * platform/graphics/filters/FilterEffect.cpp:
3386         (WebCore::FilterEffect::requestedRegionOfInputImageData):
3387         * rendering/RenderBlock.cpp: Moving outstanding Int* functions to Layout units.
3388         (WebCore::RenderBlock::paintContinuationOutlines):
3389         (WebCore::RenderBlock::logicalRectToPhysicalRect):
3390         * rendering/RenderBlock.h:
3391         * rendering/RenderBox.cpp:
3392         (WebCore::RenderBox::positionForPoint):
3393         * rendering/RenderTable.cpp:
3394         (WebCore::RenderTable::subtractCaptionRect):
3395         * rendering/RenderTable.h:
3396         * rendering/RenderTableCell.cpp:
3397         (WebCore::RenderTableCell::styleOrColLogicalWidth):
3398         (WebCore::RenderTableCell::setOverrideSizeFromRowHeight):
3399         (WebCore::RenderTableCell::paintCollapsedBorder):
3400         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
3401         * rendering/RenderTableCell.h:
3402         * rendering/RenderView.h:
3403         (WebCore::RenderView::pushLayoutState):
3404         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
3405         (WebCore::LayoutStateMaintainer::push):
3406         * rendering/RootInlineBox.cpp:
3407         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
3408         (WebCore::setAscentAndDescent):
3409         * rendering/RootInlineBox.h:
3410
3411 2011-07-20  Scott Graham  <scottmg@chromium.org>
3412
3413         mouseover reporting incorrect mouse button, when the button isn't
3414         down. https://bugs.webkit.org/show_bug.cgi?id=64882
3415
3416         Reviewed by Eric Seidel.
3417
3418         Don't increment the button returned in 'which' unless the button is
3419         actually down.
3420
3421         Test: fast/events/mouseover-button.html
3422
3423         * dom/MouseEvent.cpp:
3424         (WebCore::MouseEvent::which):
3425
3426 2011-07-20  Kenneth Russell  <kbr@google.com>
3427
3428         Add restoreContext() to WEBKIT_lose_context
3429         https://bugs.webkit.org/show_bug.cgi?id=58626
3430
3431         Reviewed by James Robinson.
3432
3433         Added the restoreContext() entry point to the WEBKIT_lose_context
3434         extension. Refactored and simplified the logic associated with context
3435         loss and restoration.
3436
3437         A subsequent patch will make the delivery of the webglcontextrestored
3438         event spec compliant.
3439
3440         * html/canvas/WebGLRenderingContext.cpp:
3441         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
3442         (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback):
3443         (WebCore::WebGLRenderingContextLostCallback::onContextLost):
3444         (WebCore::WebGLRenderingContext::isContextLost):
3445         (WebCore::WebGLRenderingContext::forceLostContext):
3446         (WebCore::WebGLRenderingContext::forceRestoreContext):
3447         (WebCore::WebGLRenderingContext::loseContext):
3448         (WebCore::WebGLRenderingContext::maybeRestoreContext):
3449         * html/canvas/WebGLRenderingContext.h:
3450         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):
3451         * html/canvas/WebKitLoseContext.cpp:
3452         (WebCore::WebKitLoseContext::loseContext):
3453         (WebCore::WebKitLoseContext::restoreContext):
3454         * html/canvas/WebKitLoseContext.h:
3455         * html/canvas/WebKitLoseContext.idl:
3456
3457 2011-07-20  Tony Chang  <tony@chromium.org>
3458
3459         Pass -webkit-flex() values on to RenderStyle
3460         https://bugs.webkit.org/show_bug.cgi?id=64038
3461
3462         Reviewed by Eric Seidel.
3463
3464         No new tests, this just copies data to RenderStyle, which we can
3465         then access when doing layout.  Tests will come with the layout
3466         changes.
3467
3468         * css/CSSStyleApplyProperty.cpp:
3469         (WebCore::ApplyPropertyLength::applyValue):
3470         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3471
3472 2011-07-20  Daniel Bates  <dbates@rim.com>
3473
3474         Attempt to fix the GTK build after changeset 91396 <http://trac.webkit.org/changeset/91396>
3475         (https://bugs.webkit.org/show_bug.cgi?id=64764).
3476
3477         * xml/parser/MarkupTokenBase.h: #include <stdio.h> in debug build for printf(3), which is used in
3478         MarkupTokenBase::printString() and MarkupTokenBase::printAttrs().
3479
3480 2011-07-19  Vsevolod Vlasov  <vsevik@chromium.org>
3481
3482         Web Inspector: Add support for disabling cache in web inspector.
3483         https://bugs.webkit.org/show_bug.cgi?id=64097
3484
3485         Reviewed by Pavel Feldman.
3486
3487         Tests: http/tests/inspector/network/network-disable-cache-memory.html
3488                http/tests/inspector/network/network-disable-cache-xhrs.html
3489
3490         * English.lproj/localizedStrings.js:
3491         * inspector/Inspector.json:
3492         * inspector/InspectorClient.h:
3493         (WebCore::InspectorClient::setCacheDisabled):
3494         * inspector/InspectorResourceAgent.cpp:
3495         (WebCore::InspectorResourceAgent::willSendRequest):
3496         (WebCore::InspectorResourceAgent::enable):
3497         (WebCore::InspectorResourceAgent::disable):
3498         (WebCore::InspectorResourceAgent::setCacheDisabled):
3499         * inspector/InspectorResourceAgent.h:
3500         * inspector/front-end/NetworkManager.js:
3501         (WebInspector.NetworkManager.prototype.inflightResourceForURL):
3502         (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
3503         * inspector/front-end/Settings.js:
3504         (WebInspector.Settings):
3505         * inspector/front-end/SettingsScreen.js:
3506         (WebInspector.SettingsScreen):
3507
3508 2011-07-20  Peter Kasting  <pkasting@google.com>
3509
3510         Remove "const" from obviously-non-const accessors
3511         https://bugs.webkit.org/show_bug.cgi?id=62302
3512
3513         Reviewed by Darin Adler.
3514
3515         No functional change, so no new tests.
3516
3517         * WebCore.exp.in: Adjust function names to reflect non-constness.
3518         * dom/Element.cpp:
3519         (WebCore::Element::cloneElementWithoutAttributesAndChildren): Not const, calls non-const function Document::createElement().
3520         (WebCore::Element::scrollLeft): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3521         (WebCore::Element::scrollTop): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3522         (WebCore::Element::scrollWidth): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3523         (WebCore::Element::scrollHeight): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3524         (WebCore::Element::boundsInWindowSpace): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3525         (WebCore::Element::getClientRects): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3526         (WebCore::Element::getBoundingClientRect): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3527         (WebCore::Element::innerText): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3528         (WebCore::Element::outerText): Not const, calls newly non-const function Element::innerText().
3529         * dom/Element.h:
3530         * dom/Node.cpp:
3531         (WebCore::Node::isContentEditable): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3532         (WebCore::Node::shouldUseInputMethod): Not const, calls newly non-const function Node::isContentEditable().
3533         * dom/Node.h:
3534         * dom/OptionElement.h: Virtual function OptionElement::selected() not const because HTMLOptionElement implementation is non-const.
3535         * html/HTMLAnchorElement.cpp:
3536         (WebCore::HTMLAnchorElement::text): Not const, calls newly non-const function Element::innerText().
3537         * html/HTMLAnchorElement.h:
3538         * html/HTMLAppletElement.cpp:
3539         (WebCore::HTMLAppletElement::renderWidgetForJSBindings): Not const, calls non-const function RenderApplet::createWidgetIfNecessary().
3540         * html/HTMLAppletElement.h:
3541         * html/HTMLAreaElement.cpp:
3542         (WebCore::HTMLAreaElement::imageElement): Not const, calls newly non-const function HTMLMapElement::imageElement().
3543         * html/HTMLAreaElement.h:
3544         * html/HTMLBodyElement.cpp:
3545         (WebCore::HTMLBodyElement::scrollLeft): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3546         (WebCore::HTMLBodyElement::scrollTop): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3547         (WebCore::HTMLBodyElement::scrollHeight): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3548         (WebCore::HTMLBodyElement::scrollWidth): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3549         * html/HTMLBodyElement.h:
3550         * html/HTMLEmbedElement.cpp:
3551         (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Not const, calls non-const function Document::createElement().
3552         * html/HTMLEmbedElement.h:
3553         * html/HTMLFrameElementBase.cpp:
3554         (WebCore::HTMLFrameElementBase::width): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3555         (WebCore::HTMLFrameElementBase::height): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3556         * html/HTMLFrameElementBase.h:
3557         * html/HTMLImageElement.cpp:
3558         (WebCore::HTMLImageElement::width): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3559         (WebCore::HTMLImageElement::height): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3560         * html/HTMLImageElement.h:
3561         * html/HTMLInputElement.cpp:
3562         (WebCore::HTMLInputElement::shouldUseInputMethod): Virtual function not const because Node implementation is non-const.
3563         * html/HTMLInputElement.h:
3564         * html/HTMLKeygenElement.cpp:
3565         (WebCore::KeygenSelectElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
3566         * html/HTMLMapElement.cpp:
3567         (WebCore::HTMLMapElement::imageElement): Not const, calls non-const function Document::images().
3568         * html/HTMLMapElement.h:
3569         * html/HTMLObjectElement.cpp:
3570         (WebCore::HTMLObjectElement::renderWidgetForJSBindings): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3571         * html/HTMLObjectElement.h:
3572         * html/HTMLOptionElement.cpp:
3573         (WebCore::HTMLOptionElement::selected): Not const, calls non-const function HTMLSelectElement::recalcListItemsIfNeeded().
3574         * html/HTMLOptionElement.h:
3575         * html/HTMLPlugInElement.cpp: Virtual function HTMLPlugInElement::renderWidgetForJSBindings() not const because various subclass implementations are non-const.
3576         (WebCore::HTMLPlugInElement::getInstance): Not const, calls newly non-const function HTMLPlugInElement::pluginWidget().
3577         (WebCore::HTMLPlugInElement::pluginWidget): Not const, calls newly non-const function HTMLPlugInElement::renderWidgetForJSBindings().
3578         * html/HTMLPlugInElement.h:
3579         * html/HTMLScriptElement.cpp:
3580         (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
3581         * html/HTMLScriptElement.h:
3582         * html/HTMLTextAreaElement.cpp:
3583         (WebCore::HTMLTextAreaElement::shouldUseInputMethod): Virtual function not const because Node implementation is non-const.
3584         * html/HTMLTextAreaElement.h:
3585         * html/shadow/SliderThumbElement.h:
3586         (WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
3587         * rendering/svg/SVGShadowTreeElements.cpp:
3588         (WebCore::SVGShadowTreeContainerElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
3589         * rendering/svg/SVGShadowTreeElements.h:
3590         * svg/SVGAnimateElement.cpp:
3591         (WebCore::SVGAnimateElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
3592         * svg/SVGAnimateElement.h:
3593         * svg/SVGAnimateMotionElement.cpp:
3594         (WebCore::SVGAnimateMotionElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
3595         * svg/SVGAnimateMotionElement.h:
3596         * svg/SVGAnimateTransformElement.cpp:
3597         (WebCore::SVGAnimateTransformElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
3598         * svg/SVGAnimateTransformElement.h:
3599         * svg/SVGAnimationElement.cpp:
3600         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): Not const, calls newly non-const function SVGSMILElement::targetElement().
3601         * svg/SVGAnimationElement.h:
3602         * svg/SVGElement.cpp:
3603         (WebCore::SVGElement::accessDocumentSVGExtensions): Not const, calls non-const function Document::accessSVGExtensions().
3604         (WebCore::SVGElement::boundingBox): Not const, calls newly non-const function SVGStyledLocatableElement::getBBox().
3605         * svg/SVGElement.h:
3606         * svg/SVGLocatable.cpp:
3607         (WebCore::SVGLocatable::getBBox): Argument not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets() on argument.
3608         (WebCore::SVGLocatable::computeCTM): Argument not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets() on argument.
3609         (WebCore::SVGLocatable::getTransformToElement): Not const, calls newly non-const function SVGLocatable::getCTM().
3610         * svg/SVGLocatable.h: Virtual functions SVGLocatable::getBBox(), SVGLocatable::getCTM(), and SVGLocatable::getScreenCTM() not const because various subclass implementations are non-const.
3611         * svg/SVGScriptElement.cpp:
3612         (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
3613         * svg/SVGScriptElement.h:
3614         * svg/SVGStyledElement.cpp:
3615         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded): Not const, calls non-const function Document::accessSVGExtensions().
3616         * svg/SVGStyledElement.h:
3617         * svg/SVGStyledLocatableElement.cpp:
3618         (WebCore::SVGStyledLocatableElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
3619         (WebCore::SVGStyledLocatableElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
3620         (WebCore::SVGStyledLocatableElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
3621         * svg/SVGStyledLocatableElement.h:
3622         * svg/SVGStyledTransformableElement.cpp:
3623         (WebCore::SVGStyledTransformableElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
3624         (WebCore::SVGStyledTransformableElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
3625         (WebCore::SVGStyledTransformableElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
3626         (WebCore::SVGStyledTransformableElement::toClipPath): Virtual function not const because SVGUseElement implementation is non-const.
3627         * svg/SVGStyledTransformableElement.h:
3628         * svg/SVGTextContentElement.cpp:
3629         (WebCore::SVGTextContentElement::getNumberOfChars): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3630         (WebCore::SVGTextContentElement::getComputedTextLength): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3631         (WebCore::SVGTextContentElement::getSubStringLength): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3632         (WebCore::SVGTextContentElement::getStartPositionOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3633         (WebCore::SVGTextContentElement::getEndPositionOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3634         (WebCore::SVGTextContentElement::getExtentOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3635         (WebCore::SVGTextContentElement::getRotationOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3636         (WebCore::SVGTextContentElement::getCharNumAtPosition): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3637         (WebCore::SVGTextContentElement::selectSubString): Not const, calls newly non-const static function SVGTextContentElement::getNumberOfChars().
3638         * svg/SVGTextContentElement.h:
3639         * svg/SVGTextElement.cpp:
3640         (WebCore::SVGTextElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
3641         (WebCore::SVGTextElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
3642         (WebCore::SVGTextElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
3643         * svg/SVGTextElement.h:
3644         * svg/SVGUseElement.cpp:
3645         (WebCore::SVGUseElement::instanceRoot): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
3646         (WebCore::isDirectReference):
3647         (WebCore::SVGUseElement::toClipPath): Not const, calls non-const function Document::accessSVGExtensions().
3648         * svg/SVGUseElement.h:
3649         * svg/animation/SVGSMILElement.cpp:
3650         (WebCore::SVGSMILElement::eventBaseFor): Not const, calls newly non-const function SVGSMILElement::targetElement().
3651         (WebCore::SVGSMILElement::targetElement): Not const, calls non-const function Document::accessSVGExtensions().
3652         * svg/animation/SVGSMILElement.h: Virtual function SVGSMILElement::hasValidAttributeType() not const because various subclass implementations are non-const.
3653
3654 2011-07-20  Andy Estes  <aestes@apple.com>
3655
3656         Fix the Mac build after r91392.
3657
3658         * WebCore.xcodeproj/project.pbxproj: StyleFlexibleBoxData.h should be a
3659         private forwarding header of WebCore.
3660
3661 2011-07-20  Jeffrey Pfau  <jpfau@apple.com>
3662
3663         New Token class for XML
3664         https://bugs.webkit.org/show_bug.cgi?id=64764
3665
3666         Reviewed by Adam Barth.
3667
3668         Refactor HTMLToken into MarkupTokenBase and add new XMLToken
3669
3670         * GNUmakefile.list.am:
3671         * WebCore.gypi:
3672         * WebCore.pro:
3673         * WebCore.vcproj/WebCore.vcproj:
3674         * WebCore.xcodeproj/project.pbxproj:
3675         * html/HTMLViewSourceDocument.cpp:
3676         (WebCore::HTMLViewSourceDocument::addSource):
3677         * html/parser/HTMLConstructionSite.cpp:
3678         (WebCore::HTMLConstructionSite::insertDoctype):
3679         (WebCore::HTMLConstructionSite::insertComment):
3680         (WebCore::HTMLConstructionSite::insertCommentOnDocument):
3681         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
3682         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
3683         (WebCore::HTMLConstructionSite::insertForeignElement):
3684         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
3685         * html/parser/HTMLMetaCharsetParser.cpp:
3686         (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
3687         * html/parser/HTMLPreloadScanner.cpp:
3688         (WebCore::HTMLPreloadScanner::processToken):
3689         * html/parser/HTMLSourceTracker.cpp:
3690         (WebCore::HTMLSourceTracker::start):
3691         (WebCore::HTMLSourceTracker::sourceForToken):
3692         * html/parser/HTMLToken.h:
3693         (WebCore::HTMLTokenTypes::DoctypeData::DoctypeData):
3694         (WebCore::HTMLToken::appendToName):
3695         (WebCore::HTMLToken::name):
3696         (WebCore::HTMLToken::forceQuirks):
3697         (WebCore::HTMLToken::setForceQuirks):
3698         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
3699         (WebCore::AtomicHTMLToken::type):
3700         (WebCore::AtomicHTMLToken::selfClosing):
3701         (WebCore::AtomicHTMLToken::characters):
3702         (WebCore::AtomicHTMLToken::comment):
3703         (WebCore::AtomicHTMLToken::publicIdentifier):
3704         (WebCore::AtomicHTMLToken::systemIdentifier):
3705         (WebCore::AtomicHTMLToken::forceQuirks):
3706         (WebCore::AtomicHTMLToken::usesName):
3707         (WebCore::AtomicHTMLToken::usesAttributes):
3708         * html/parser/HTMLTokenizer.cpp:
3709         (WebCore::HTMLTokenizer::saveEndTagNameIfNeeded):
3710         (WebCore::HTMLTokenizer::flushBufferedEndTag):
3711         (WebCore::HTMLTokenizer::nextToken):
3712         (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
3713         * html/parser/HTMLTreeBuilder.cpp:
3714         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
3715         (WebCore::HTMLTreeBuilder::processToken):
3716         (WebCore::HTMLTreeBuilder::processDoctypeToken):
3717         (WebCore::HTMLTreeBuilder::processFakeStartTag):
3718         (WebCore::HTMLTreeBuilder::processFakeEndTag):
3719         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
3720         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
3721         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3722         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
3723         (WebCore::HTMLTreeBuilder::processStartTag):
3724         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
3725         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
3726         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
3727         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
3728         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
3729         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
3730         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
3731         (WebCore::HTMLTreeBuilder::processEndTag):
3732         (WebCore::HTMLTreeBuilder::processComment):
3733         (WebCore::HTMLTreeBuilder::processCharacter):
3734         (WebCore::HTMLTreeBuilder::processEndOfFile):
3735         (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
3736         (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
3737         (WebCore::HTMLTreeBuilder::defaultForInHead):
3738         (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
3739         (WebCore::HTMLTreeBuilder::defaultForAfterHead):
3740         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
3741         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
3742         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
3743         (WebCore::HTMLTreeBuilder::processScriptStartTag):
3744         * html/parser/HTMLViewSourceParser.cpp:
3745         (WebCore::HTMLViewSourceParser::updateTokenizerState):
3746         * html/parser/TextDocumentParser.cpp:
3747         (WebCore::TextDocumentParser::insertFakePreElement):
3748         * html/parser/XSSAuditor.cpp:
3749         (WebCore::XSSAuditor::filterTokenInitial):
3750         (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
3751         (WebCore::XSSAuditor::filterScriptToken):
3752         (WebCore::XSSAuditor::filterObjectToken):
3753         (WebCore::XSSAuditor::filterParamToken):
3754         (WebCore::XSSAuditor::filterEmbedToken):
3755         (WebCore::XSSAuditor::filterAppletToken):
3756         (WebCore::XSSAuditor::filterIframeToken):
3757         (WebCore::XSSAuditor::filterMetaToken):
3758         (WebCore::XSSAuditor::filterBaseToken):
3759         (WebCore::XSSAuditor::filterFormToken):
3760         * xml/parser/MarkupTokenBase.h: Added.
3761         (WebCore::DoctypeDataBase::DoctypeDataBase):
3762         (WebCore::MarkupTokenBase::MarkupTokenBase):
3763         (WebCore::MarkupTokenBase::~MarkupTokenBase):
3764         (WebCore::MarkupTokenBase::clear):
3765         (WebCore::MarkupTokenBase::isUninitialized):
3766         (WebCore::MarkupTokenBase::startIndex):
3767         (WebCore::MarkupTokenBase::endIndex):
3768         (WebCore::MarkupTokenBase::setBaseOffset):
3769         (WebCore::MarkupTokenBase::end):
3770         (WebCore::MarkupTokenBase::makeEndOfFile):
3771         (WebCore::MarkupTokenBase::beginStartTag):
3772         (WebCore::MarkupTokenBase::beginEndTag):
3773         (WebCore::MarkupTokenBase::ensureIsCharacterToken):
3774         (WebCore::MarkupTokenBase::beginComment):
3775         (WebCore::MarkupTokenBase::beginDOCTYPE):
3776         (WebCore::MarkupTokenBase::appendToCharacter):
3777         (WebCore::MarkupTokenBase::appendToComment):
3778         (WebCore::MarkupTokenBase::addNewAttribute):
3779         (WebCore::MarkupTokenBase::beginAttributeName):
3780         (WebCore::MarkupTokenBase::endAttributeName):
3781         (WebCore::MarkupTokenBase::beginAttributeValue):
3782         (WebCore::MarkupTokenBase::endAttributeValue):
3783         (WebCore::MarkupTokenBase::appendToAttributeName):
3784         (WebCore::MarkupTokenBase::appendToAttributeValue):
3785         (WebCore::MarkupTokenBase::type):
3786         (WebCore::MarkupTokenBase::selfClosing):
3787         (WebCore::MarkupTokenBase::setSelfClosing):
3788         (WebCore::MarkupTokenBase::attributes):
3789         (WebCore::MarkupTokenBase::eraseCharacters):
3790         (WebCore::MarkupTokenBase::eraseValueOfAttribute):
3791         (WebCore::MarkupTokenBase::characters):
3792         (WebCore::MarkupTokenBase::comment):
3793         (WebCore::MarkupTokenBase::publicIdentifier):
3794         (WebCore::MarkupTokenBase::systemIdentifier):
3795         (WebCore::MarkupTokenBase::setPublicIdentifierToEmptyString):
3796         (WebCore::MarkupTokenBase::setSystemIdentifierToEmptyString):
3797         (WebCore::MarkupTokenBase::appendToPublicIdentifier):
3798         (WebCore::MarkupTokenBase::appendToSystemIdentifier):
3799         (WebCore::MarkupTokenBase::printString):
3800         (WebCore::MarkupTokenBase::printAttrs):
3801         (WebCore::MarkupTokenBase::appendToName):
3802         (WebCore::MarkupTokenBase::name):
3803         * xml/parser/XMLToken.h: Added.
3804         (WebCore::XMLToken::XMLToken):
3805         (WebCore::XMLToken::clear):
3806         (WebCore::XMLToken::appendToName):
3807         (WebCore::XMLToken::name):
3808         (WebCore::XMLToken::beginDOCTYPE):
3809         (WebCore::XMLToken::beginXMLDeclaration):
3810         (WebCore::XMLToken::appendToXMLVersion):
3811         (WebCore::XMLToken::beginXMLEncoding):
3812         (WebCore::XMLToken::appendToXMLEncoding):
3813         (WebCore::XMLToken::setXMLStandalone):
3814         (WebCore::XMLToken::beginProcessingInstruction):
3815         (WebCore::XMLToken::appendToProcessingInstructionTarget):
3816         (WebCore::XMLToken::appendToProcessingInstructionData):
3817         (WebCore::XMLToken::beginCDATA):
3818         (WebCore::XMLToken::appendToCDATA):
3819         (WebCore::XMLToken::beginEntity):
3820         (WebCore::XMLToken::print):
3821         (WebCore::XMLToken::XMLDeclarationData::XMLDeclarationData):
3822
3823 2011-07-20  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
3824
3825         WebKit crashes on selection when documentElement is removed.
3826         https://bugs.webkit.org/show_bug.cgi?id=63908
3827
3828         This patch adds NULL pointer validation for documentElement
3829         in WebCore::startOfDocument
3830
3831         Reviewed by Eric Seidel.
3832
3833         Test: editing/selection/selection-empty-documentElement.html
3834
3835         * editing/visible_units.cpp:
3836         (WebCore::startOfDocument):
3837
3838 2011-07-20  Mike Reed  <reed@google.com>
3839
3840         [skia] use nocheck version of pixel packer when caller already has premultiplied data
3841         https://bugs.webkit.org/show_bug.cgi?id=64881
3842
3843         Reviewed by Kenneth Russell.
3844
3845         No new tests. existing canvas and svg test exercise this
3846
3847         * platform/graphics/skia/ImageBufferSkia.cpp:
3848         (WebCore::putImageData):
3849
3850 2011-07-20  Tony Chang  <tony@chromium.org>
3851
3852         add new flexbox data to StyleRareNonInheritedData
3853         https://bugs.webkit.org/show_bug.cgi?id=64765
3854
3855         Reviewed by David Hyatt.
3856
3857         Add placeholders for the positive and negative flex values for the
3858         width and the height.  When we get to the other properties (flex-pack,
3859         flex-align, etc), we'll add more to the StyleFlexibleBoxData class
3860
3861         No new tests, these values aren't hooked up to anything yet.
3862
3863         * CMakeLists.txt:
3864         * GNUmakefile.list.am:
3865         * WebCore.gypi:
3866         * WebCore.pro:
3867         * WebCore.vcproj/WebCore.vcproj:
3868         * WebCore.xcodeproj/project.pbxproj:
3869         * rendering/style/RenderStyle.cpp:
3870         (WebCore::RenderStyle::RenderStyle):
3871         (WebCore::RenderStyle::diff):
3872         * rendering/style/RenderStyle.h:
3873         (WebCore::InheritedFlags::flexboxWidthPositiveFlex):
3874         (WebCore::InheritedFlags::flexboxWidthNegativeFlex):
3875         (WebCore::InheritedFlags::flexboxHeightPositiveFlex):
3876         (WebCore::InheritedFlags::flexboxHeightNegativeFlex):
3877         (WebCore::InheritedFlags::setFlexboxWidthPositiveFlex):
3878         (WebCore::InheritedFlags::setFlexboxWidthNegativeFlex):
3879         (WebCore::InheritedFlags::setFlexboxHeightPositiveFlex):
3880         (WebCore::InheritedFlags::setFlexboxHeightNegativeFlex):
3881         (WebCore::InheritedFlags::initialFlexboxWidthPositiveFlex):
3882         (WebCore::InheritedFlags::initialFlexboxWidthNegativeFlex):
3883         (WebCore::InheritedFlags::initialFlexboxHeightPositiveFlex):
3884         (WebCore::InheritedFlags::initialFlexboxHeightNegativeFlex):
3885         * rendering/style/StyleAllInOne.cpp:
3886         * rendering/style/StyleFlexibleBoxData.cpp: Added.
3887         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
3888         (WebCore::StyleFlexibleBoxData::operator==):
3889         * rendering/style/StyleFlexibleBoxData.h: Added.
3890         (WebCore::StyleFlexibleBoxData::create):
3891         (WebCore::StyleFlexibleBoxData::copy):
3892         (WebCore::StyleFlexibleBoxData::operator!=):
3893         * rendering/style/StyleRareNonInheritedData.cpp:
3894         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3895         (WebCore::StyleRareNonInheritedData::operator==):
3896         * rendering/style/StyleRareNonInheritedData.h:
3897
3898 2011-07-20  Cary Clark  <caryclark@google.com>
3899
3900         update FontSkia to match platform context convention
3901         https://bugs.webkit.org/show_bug.cgi?id=64795
3902
3903         Reviewed by James Robinson.
3904
3905         No new tests. This platform variant is not
3906         built at this time.
3907
3908         * platform/graphics/skia/FontSkia.cpp:
3909         (WebCore::Font::drawGlyphs):
3910         Call makeGrContextCurrent instead of the obsolete prepareForSoftwareDraw.
3911
3912 2011-07-20  Brian Weinstein  <bweinstein@apple.com>
3913
3914         Build fix after r91384. Add an ASSERT_UNSED for the timer.
3915
3916         * loader/cache/CachedResourceLoader.cpp:
3917         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
3918
3919 2011-07-20  Tony Chang  <tony@chromium.org>
3920
3921         Stale pointer due to floats not removed (flexible box display)
3922         https://bugs.webkit.org/show_bug.cgi?id=64603
3923
3924         Reviewed by David Hyatt.
3925
3926         Flexbox items should avoid floats.
3927
3928         Test: fast/flexbox/horizontal-box-float-crash.html
3929
3930         * rendering/RenderBox.cpp:
3931         (WebCore::RenderBox::avoidsFloats):
3932         * rendering/RenderBox.h:
3933         (WebCore::RenderBox::isDeprecatedFlexItem):
3934
3935 2011-07-20  Scott Graham  <scottmg@chromium.org>
3936
3937         Reviewed by Antti Koivisto.
3938
3939         REGRESSION (r39725?): Resources removed from document can not be freed
3940         until the document is deleted
3941         https://bugs.webkit.org/show_bug.cgi?id=61006
3942
3943         Upon completing a load start a Timer to iterate through
3944         CachedResourceLoader's m_documentResources map to check for any items
3945         that have only one reference (thus being the reference in the map
3946         itself). The map should really be weak, but because the
3947         CachedResourceHandle achieves bookkeeping work in addition to
3948         reference counting, this is a simpler and more localized way to free
3949         the used memory while maintaining the other behaviour (when
3950         CachedResource is used as proxy).
3951
3952         No new layout tests, but with this patch the testcase at
3953         https://bugs.webkit.org/attachment.cgi?id=93850 should no longer
3954         consume 400MB of ram on load.
3955
3956         * loader/cache/CachedResource.h:
3957         (WebCore::CachedResource::getHandleCount):
3958         * loader/cache/CachedResourceLoader.cpp:
3959         (WebCore::CachedResourceLoader::loadDone):
3960         (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
3961         * loader/cache/CachedResourceLoader.h:
3962
3963 2011-07-20  James Robinson  <jamesr@chromium.org>
3964
3965         Revert worker and WebKit2 runloops to use currentTime() for scheduling instead of the monotonic clock
3966         https://bugs.webkit.org/show_bug.cgi?id=64841
3967
3968         Reviewed by Mark Rowe.
3969
3970         http://trac.webkit.org/changeset/91206 converted most of WebKit's deferred work scheduling to using the
3971         monotonic clock instead of WTF::currentTime().  This broke many plugin tests on WebKit2 for reasons that are
3972         unclear.  This reverts everything except for WebCore::ThreadTimers back to the previous behavior.
3973
3974         * workers/WorkerRunLoop.cpp:
3975         (WebCore::WorkerSharedTimer::setFireInterval):
3976
3977 2011-07-20  James Simonsen  <simonjam@chromium.org>
3978
3979         Refuse to run scripts inside the SVG shadow DOM
3980         https://bugs.webkit.org/show_bug.cgi?id=64776
3981
3982         This is a rollback of r90970. The hack that was removed there was also protecting us from
3983         two further bugs that have been discovered. So, the hack is going back in.
3984
3985         Reviewed by Tony Gentilcore.
3986
3987         * dom/ScriptElement.cpp:
3988         (WebCore::ScriptElement::prepareScript):
3989
3990 2011-07-20  David Levin  <levin@chromium.org>
3991
3992         gtk shouldn't have global variables for timers.
3993         https://bugs.webkit.org/show_bug.cgi?id=64871
3994
3995         Reviewed by Martin Robinson.
3996
3997         No new functionality exposed so no new tests.
3998
3999         * platform/graphics/cairo/ContextShadowCairo.cpp:
4000         (WebCore::scheduleScratchBufferPurge): Changed global variable to DEFINE_STATIC_LOCAL.
4001         * platform/gtk/WidgetRenderingContext.cpp:
4002         (WebCore::scheduleScratchBufferPurge): Ditto.
4003
4004 2011-07-20  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
4005
4006         [GTK] REGRESSION(r86436): does not add newlines when return is pressed with some modifiers held
4007         https://bugs.webkit.org/show_bug.cgi?id=64867
4008
4009         Reviewed by Martin Robinson.
4010
4011         * platform/gtk/KeyBindingTranslator.cpp:
4012         (WebCore::KeyBindingTranslator::getEditorCommandsForKeyEvent):
4013         special-case enter keys so that their commands are returned
4014         whatever the modifiers state.
4015
4016 2011-07-20  Mike Reed  <reed@google.com>
4017
4018         [skia] disable lcd text when drawing on a transparent layer or canvas
4019         https://bugs.webkit.org/show_bug.cgi?id=64873
4020
4021         Reviewed by Stephen White.
4022
4023         No new tests. canvas sites illustrate the bug. DRT disables LCD
4024         so existing layouttests are not affected by this change.
4025
4026         * platform/graphics/skia/SkiaFontWin.cpp:
4027         (WebCore::isCanvasMultiLayered):
4028         (WebCore::disableTextLCD):
4029         (WebCore::setupPaintForFont):
4030         (WebCore::paintSkiaText):
4031
4032 2011-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
4033
4034         Web Inspector: add keyboard shortcuts to load/save operations in Timeline panel.
4035         https://bugs.webkit.org/show_bug.cgi?id=64864
4036
4037         Export/import were renamed to save/load.
4038         Ctrl|Meta-S/Ctrl|Meta-O shortcuts were added for Save and Load operations.
4039         Ctrl|Meta-E shortcut toggles Record button;
4040         Ctrl|Meta-Shift-F shortcut toggles short records filter button;
4041         All the shortcuts were added to the shortcuts help screen.
4042         There was a problem with saving empty data.
4043
4044         Reviewed by Yury Semikhatsky.
4045
4046         * English.lproj/localizedStrings.js:
4047         * inspector/front-end/TimelinePanel.js:
4048         (WebInspector.TimelinePanel.prototype._registerShortcuts):
4049         (WebInspector.TimelinePanel.prototype._createFileSelector):
4050         (WebInspector.TimelinePanel.prototype._contextMenu):
4051         (WebInspector.TimelinePanel.prototype._saveToFile):
4052         (WebInspector.TimelinePanel.prototype._loadFromFile):
4053         (WebInspector.TimelineModel.prototype._loadNextChunk):
4054         (WebInspector.TimelineModel.prototype._loadFromFile):
4055         (WebInspector.TimelineModel.prototype._loadFromFile.onError):
4056         (WebInspector.TimelineModel.prototype._saveToFile):
4057
4058 2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
4059
4060         Speculative build fix after r91355.
4061
4062         * bridge/jni/jsc/JavaInstanceJSC.cpp:
4063         (JavaInstance::invokeMethod):
4064
4065 2011-07-20  Tommy Widenflycht  <tommyw@google.com>
4066
4067         MediaStream API: Update the tracklists to the latest spec
4068         https://bugs.webkit.org/show_bug.cgi?id=64791
4069
4070         Reviewed by Tony Gentilcore.
4071
4072         The test harness will be forthcoming very soon now, introducing tests for this.
4073
4074         * CMakeLists.txt:
4075         * CodeGenerators.pri:
4076         * DerivedSources.cpp:
4077         * DerivedSources.make:
4078         * GNUmakefile.list.am:
4079         * WebCore.gypi:
4080         * WebCore.pro:
4081         * WebCore.vcproj/WebCore.vcproj:
4082         * WebCore.xcodeproj/project.pbxproj:
4083         * bindings/js/JSEventTarget.cpp:
4084         (WebCore::toJS):
4085         * bindings/v8/V8DOMWrapper.cpp:
4086         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
4087         * dom/DOMAllInOne.cpp:
4088         * dom/EventTarget.cpp: