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