[GTK] Update GraphicsLayerClutter
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-12-11  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2
3         [GTK] Update GraphicsLayerClutter
4         https://bugs.webkit.org/show_bug.cgi?id=92045
5
6         Reviewed by Gustavo Noronha Silva.
7
8         Add more methods to GraphicsLayerClutter in order to run CSS 3D transforms 
9         by using GraphicsLayerActor.
10
11         No new tests. This will be covered by pixel tests for Qt and GTK+ accelerated
12         compositing and 3D transforms.
13
14         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
15         (WebCore):
16         (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
17         (WebCore::idleDestroy):
18         (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
19         (WebCore::GraphicsLayerClutter::setName):
20         (WebCore::GraphicsLayerClutter::platformLayer): Returns the platform layer(ClutterAcotr).
21         (WebCore::GraphicsLayerClutter::setNeedsDisplay): Update the display.
22         (WebCore::GraphicsLayerClutter::setNeedsDisplayInRect): Update part of the Display.
23         (WebCore::GraphicsLayerClutter::setAnchorPoint):
24         (WebCore::GraphicsLayerClutter::setPosition):
25         (WebCore::GraphicsLayerClutter::setSize):
26         (WebCore::GraphicsLayerClutter::setTransform):
27         (WebCore::GraphicsLayerClutter::setDrawsContent):
28         (WebCore::GraphicsLayerClutter::setParent):
29         (WebCore::GraphicsLayerClutter::setChildren):
30         (WebCore::GraphicsLayerClutter::addChild):
31         (WebCore::GraphicsLayerClutter::addChildAtIndex):
32         (WebCore::GraphicsLayerClutter::addChildBelow):
33         (WebCore::GraphicsLayerClutter::addChildAbove):
34         (WebCore::GraphicsLayerClutter::replaceChild):
35         (WebCore::GraphicsLayerClutter::removeFromParent):
36         (WebCore::GraphicsLayerClutter::platformClutterLayerPaintContents):
37         (WebCore::GraphicsLayerClutter::platformClutterLayerAnimationStarted):
38         (WebCore::GraphicsLayerClutter::repaintLayerDirtyRects):
39         (WebCore::GraphicsLayerClutter::computePositionRelativeToBase):
40         (WebCore::GraphicsLayerClutter::flushCompositingState): Synchronize the corresponding Actors with the current 
41         compositing states of this GraphicsLayer and its child layers. 
42         (WebCore::GraphicsLayerClutter::recursiveCommitChanges):
43         (WebCore::GraphicsLayerClutter::flushCompositingStateForThisLayerOnly): Commit batched changes non-recursively. 
44         (WebCore::GraphicsLayerClutter::commitLayerChangesAfterSublayers): Reset layer changes after we recurse on children.
45         (WebCore::GraphicsLayerClutter::noteSublayersChanged):
46         (WebCore::GraphicsLayerClutter::noteLayerPropertyChanged):
47         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers): Commit layer changes before we recurse on children.
48         (WebCore::GraphicsLayerClutter::updateGeometry): Updated the position and size of the Actor.
49         (WebCore::GraphicsLayerClutter::updateSublayerList): Updated the list of child Actors. 
50         (WebCore::GraphicsLayerClutter::updateLayerNames):
51         (WebCore::GraphicsLayerClutter::updateTransform):
52         (WebCore::GraphicsLayerClutter::updateLayerDrawsContent):
53         (WebCore::GraphicsLayerClutter::layerForSuperlayer):
54         * platform/graphics/clutter/GraphicsLayerClutter.h:
55         (WebCore):
56         (WebCore::GraphicsLayerClutter::primaryLayer):
57         (GraphicsLayerClutter):
58
59 2012-12-11  Jessie Berlin  <jberlin@apple.com>
60
61         Revert incorrect build fix.
62
63         * WebCore.exp.in:
64
65 2012-12-11  Jessie Berlin  <jberlin@apple.com>
66
67         Fix the Mac build after r137261
68
69         * WebCore.exp.in:
70
71 2012-12-11  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
72
73         [GTK] Add GraphicsLayerActor
74         https://bugs.webkit.org/show_bug.cgi?id=91940
75
76         Reviewed by Gustavo Noronha Silva.
77
78         GraphicsLayerActor, which is a new ClutterActor, represents a node in the GPU-renderable layer tree
79         when accelerated compositing is enabled with Clutter as acceleration backend.
80         This patch allows to support basic features of CSS 3D Transforms.
81
82         No new tests. This will be covered by pixel tests for Qt and GTK+ accelerated
83         compositing and 3D transforms.
84
85         * GNUmakefile.list.am:
86         * platform/graphics/clutter/GraphicsLayerActor.cpp: Added.
87         (_GraphicsLayerActorPrivate):
88         (graphics_layer_actor_class_init): GObject configuration of a new Clutter Actor.
89         (graphics_layer_actor_init): Initialization of the private data of this actor.
90         (graphicsLayerActorSetProperty): GObject property setter.
91         (graphicsLayerActorGetProperty): GObject property getter.
92         (graphicsLayerActorDispose): Called to drop all references to other objects.
93         (graphicsLayerActorAllocate):  Called to set the coordinates of an actor.
94         (graphicsLayerActorApplyTransform): Applying the transformation to an actor before painting it.
95         (graphicsLayerActorPaint): Called to paint the actor.
96         (graphicsLayerActorDraw): Called each time a ClutterCairoTexture has been invalidated.
97         (graphicsLayerActorAdded): Called each time an actor has been added to container.
98         (graphicsLayerActorRemoved): Called each time an actor is removed from container.
99         (graphicsLayerActorNew): Create a specific layer type of GraphicsLayerActor object.
100         (graphicsLayerActorNewWithClient): Create a specific layer type of GraphicsLayerActor object with 
101         its PlatformClutterClientLayer.
102         (graphicsLayerActorSetClient): Added setter to set the PlatformClutterClientLayer.
103         (graphicsLayerActorGetClient): Added getter to get the PlatformClutterClientLayer.
104         (graphicsLayerActorRemoveAll): Remove all child actors.
105         (graphicsLayerUpdateTexture): Create a ClutterCairoTexture.
106         (graphicsLayerActorGetSurface): Added setter to set a cairo_surface_t.
107         (graphicsLayerActorSetSurface): Added getter to get the cairo_surface_t.
108         (graphicsLayerActorInvalidateRectangle):
109         (graphicsLayerActorSetTransform): Set a CoglMatrix to apply matrix transform.
110         (graphicsLayerActorSetAnchorPoint):
111         (graphicsLayerActorGetAnchorPoint):
112         (graphicsLayerActorSetScrollPosition):
113         (graphicsLayerActorGetnChildren):
114         (graphicsLayerActorReplaceSublayer):
115         (graphicsLayerActorInsertSublayer):
116         (graphicsLayerActorSetSublayers):
117         (graphicsLayerActorGetLayerType):
118         (graphicsLayerActorSetLayerType):
119         (graphicsLayerActorSetTranslateX):
120         (graphicsLayerActorGetTranslateX):
121         (graphicsLayerActorSetTranslateY):
122         (graphicsLayerActorGetTranslateY):
123         (graphicsLayerActorSetDrawsContent): Added setter to paint content inside a layer.
124         (graphicsLayerActorGetDrawsContent): Added getter to get the value of the drawsContent. 
125         * platform/graphics/clutter/GraphicsLayerActor.h: Added.
126         (_GraphicsLayerActor):
127         (_GraphicsLayerActorClass):
128         * platform/graphics/clutter/GraphicsLayerClutter.h:
129         (WebCore):
130
131 2012-12-11  Mike West  <mkwst@chromium.org>
132
133         Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.
134         https://bugs.webkit.org/show_bug.cgi?id=66371
135
136         Reviewed by Pavel Feldman.
137
138         We can simplify console message generation a bit, as nothing outside the
139         Console object itself will generate messages of any type other than
140         LogMessageType. This patch refactors the externally-facing API endpoints
141         on ScriptExecutionContext and Console to drop the MessageType parameter,
142         moves the MessageType enum into a new InspectorConsoleTypes.h header,
143         and updates all the call sites (and ChromeClients) to drop the parameter
144         from their interfaces.
145
146         As a temporary bandage for ports using this interface, this patch
147         includes aliases for the new methods that retain the old interface.
148         I'll remove them in a future patch.
149
150         Here, we only refactor an internal interface. No tests should break.
151
152         * GNUmakefile.list.am:
153         * Target.pri:
154         * WebCore.gypi:
155         * WebCore.vcproj/WebCore.vcproj:
156         * WebCore.xcodeproj/project.pbxproj:
157             We added a new file! OMG!
158         * Modules/webaudio/AudioBufferSourceNode.cpp:
159         (WebCore::AudioBufferSourceNode::looping):
160         (WebCore::AudioBufferSourceNode::setLooping):
161         * Modules/webdatabase/AbstractDatabase.cpp:
162         (WebCore::AbstractDatabase::logErrorMessage):
163         * Modules/websockets/WebSocket.cpp:
164         (WebCore::WebSocket::connect):
165         (WebCore::WebSocket::send):
166         (WebCore::WebSocket::close):
167         (WebCore::WebSocket::setBinaryType):
168         * Modules/websockets/WebSocketChannel.cpp:
169         (WebCore::WebSocketChannel::fail):
170         (WebCore::WebSocketChannel::didFailSocketStream):
171         * bindings/js/JSCustomXPathNSResolver.cpp:
172         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
173         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
174         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
175         * css/MediaList.cpp:
176         (WebCore::addResolutionWarningMessageToConsole):
177         * dom/Document.cpp:
178         (WebCore::Document::logExceptionToConsole):
179         (WebCore::Document::processHttpEquiv):
180         (WebCore::Document::addMessage):
181         * dom/Document.h:
182         (Document):
183         * dom/ScriptElement.cpp:
184         (WebCore::ScriptElement::notifyFinished):
185         * dom/ScriptExecutionContext.cpp:
186         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
187         (WebCore::ScriptExecutionContext::addConsoleMessage):
188         * dom/ScriptExecutionContext.h:
189         (ScriptExecutionContext):
190         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
191         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
192         * dom/ViewportArguments.cpp:
193         (WebCore::reportViewportWarning):
194         * fileapi/WebKitBlobBuilder.cpp:
195         (WebCore::BlobBuilder::append):
196         * html/HTMLFormControlElement.cpp:
197         (WebCore::shouldAutofocus):
198         * html/HTMLFormElement.cpp:
199         (WebCore::HTMLFormElement::validateInteractively):
200         * html/HTMLIFrameElement.cpp:
201         (WebCore::HTMLIFrameElement::parseAttribute):
202         * html/HTMLTrackElement.cpp:
203         (WebCore::HTMLTrackElement::canLoadUrl):
204         * html/canvas/CanvasRenderingContext2D.cpp:
205         (WebCore::CanvasRenderingContext2D::getImageData):
206         * html/canvas/WebGLRenderingContext.cpp:
207         (WebCore):
208         (WebCore::WebGLRenderingContext::printWarningToConsole):
209         * html/parser/XSSAuditor.cpp:
210         (WebCore::XSSAuditor::init):
211         (WebCore::XSSAuditor::filterToken):
212         * inspector/ConsoleAPITypes.h: Added.
213         (WebCore):
214         * inspector/ConsoleMessage.h:
215         * inspector/InspectorConsoleAgent.h:
216         * inspector/InspectorDebuggerAgent.h:
217         * inspector/InspectorInstrumentation.cpp:
218         (WebCore):
219         * inspector/InspectorInstrumentation.h:
220         * inspector/InspectorProfilerAgent.cpp:
221         * loader/EmptyClients.h:
222         (WebCore::EmptyChromeClient::addMessageToConsole):
223         * loader/FrameLoader.cpp:
224         (WebCore::FrameLoader::reportLocalLoadFailed):
225         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
226         * loader/ImageLoader.cpp:
227         (WebCore::ImageLoader::notifyFinished):
228         * loader/MainResourceLoader.cpp:
229         (WebCore::MainResourceLoader::didReceiveResponse):
230         * loader/MixedContentChecker.cpp:
231         (WebCore::MixedContentChecker::logWarning):
232         * loader/TextTrackLoader.cpp:
233         (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
234         * loader/appcache/ApplicationCacheGroup.cpp:
235         (WebCore::ApplicationCacheGroup::abort):
236         (WebCore::ApplicationCacheGroup::didReceiveResponse):
237         (WebCore::ApplicationCacheGroup::didFinishLoading):
238         (WebCore::ApplicationCacheGroup::didFail):
239         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
240         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
241         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
242         * loader/cache/CachedResourceLoader.cpp:
243         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
244         * page/ChromeClient.h:
245         (ChromeClient):
246             Drop LogMessageType from everywhere.
247         * page/Console.cpp:
248         (WebCore::Console::addMessage):
249         (WebCore::internalAddMessage):
250         (WebCore::Console::error):
251         (WebCore::Console::log):
252         (WebCore::Console::warn):
253         (WebCore::Console::dir):
254         (WebCore::Console::dirxml):
255         (WebCore::Console::clear):
256         (WebCore::Console::trace):
257         (WebCore::Console::assertCondition):
258         * page/Console.h:
259         (Console):
260             Create a new internalAddMessage that's used for the various
261             Console message types. Everything else routes through
262             ::addMessage.
263         * page/ConsoleTypes.h:
264             Drop MessageTypes from this file, add it to ConsoleAPIType.h
265         * page/ContentSecurityPolicy.cpp:
266         (WebCore::ContentSecurityPolicy::logToConsole):
267         * page/DOMWindow.cpp:
268         (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
269         (WebCore::DOMWindow::printErrorMessage):
270         * page/EventSource.cpp:
271         (WebCore::EventSource::didReceiveResponse):
272         * svg/SVGDocumentExtensions.cpp:
273         (WebCore::reportMessage):
274         * workers/DefaultSharedWorkerRepository.cpp:
275         (SharedWorkerProxy):
276         (WebCore::postConsoleMessageTask):
277         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
278         * workers/SharedWorkerContext.cpp:
279         (WebCore::SharedWorkerContext::logExceptionToConsole):
280         * workers/WorkerContext.cpp:
281         (WebCore::WorkerContext::addMessage):
282         (WebCore::WorkerContext::addMessageToWorkerConsole):
283         * workers/WorkerContext.h:
284         (WorkerContext):
285         * workers/WorkerMessagingProxy.cpp:
286         (WebCore::postConsoleMessageTask):
287         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
288         * workers/WorkerMessagingProxy.h:
289         (WorkerMessagingProxy):
290         * workers/WorkerReportingProxy.h:
291         (WorkerReportingProxy):
292         * xml/XMLHttpRequest.cpp:
293         (WebCore::logConsoleError):
294         (WebCore::XMLHttpRequest::send):
295         * xml/XSLTProcessorLibxslt.cpp:
296         (WebCore::XSLTProcessor::parseErrorFunc):
297         * xml/XSLTProcessorQt.cpp:
298         (WebCore::XSLTMessageHandler::handleMessage):
299             Drop LogMessageType from everywhere.
300
301 2012-12-11  Simon Hausmann  <simon.hausmann@digia.com>
302
303         [Qt] Unreviewed, rolling out r137313 and r137316 because they broke the system-sqlite build.
304
305         * WebCore.pri:
306
307 2012-12-11  Simon Hausmann  <simon.hausmann@digia.com>
308
309         Unreviewed Qt build fix: Don't error out if SQLITE3SRCDIR isn't set but
310         we have a system sqlite to use.
311
312         * WebCore.pri:
313
314 2012-12-11  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
315
316         [Qt] make qtbase source requirement explicit
317
318         Reviewed by Simon Hausmann.
319
320         getting rid of QT.<module>.sources references, as they don't go well
321         with real modularization.
322
323         * WebCore.pri:
324
325 2012-12-11  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
326
327         [Qt] move SQLITE3SRCDIR assignment to only use site
328
329         Reviewed by Simon Hausmann.
330
331         Target.pri includes WebCore.pri the almost first thing, so that is
332         covered as well.
333
334         * WebCore.pri:
335
336 2012-12-11  Eugene Klyuchnikov  <eustas@chromium.org>
337
338         Web Inspector: Timeline: rename "Parse" to "Parse HTML".
339         https://bugs.webkit.org/show_bug.cgi?id=104639
340
341         Reviewed by Yury Semikhatsky.
342
343         "Parse" sounds ambiguous, it could mean JSON.parse() or Date.parse().
344         "Parse HTML" is a much more clear record description.
345
346         * inspector/front-end/TimelinePresentationModel.js: Fix text.
347
348 2012-12-11  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
349
350         [Qt] change setup of QMAKE_MOC
351
352         Reviewed by Simon Hausmann.
353
354         don't load(moc) explicitly - turns out that this breaks
355         debug_and_release builds (the feature does not like being loaded before
356         default_post has been loaded).
357         so instead just do a minimal call to find the moc executable.
358
359         as it's in fact only two files which need it, so de-centralize this call
360         for the sake of saving some cpu cycles spent in qmake.
361
362         * DerivedSources.pri:
363
364 2012-12-11  Alexander Pavlov  <apavlov@chromium.org>
365
366         REGRESSION(r136948): inspector/styles/import-pseudoclass-crash.html hits an assertion
367         https://bugs.webkit.org/show_bug.cgi?id=104473
368
369         Reviewed by Vsevolod Vlasov.
370
371         Avoid building full CSSOM wrappers up front during rule matching.
372         Instead, move this code down to the point where these wrappers are actually needed.
373
374         * inspector/InspectorCSSAgent.cpp:
375         (WebCore::InspectorCSSAgent::willMatchRule):
376         (WebCore::InspectorCSSAgent::willProcessRule):
377         * inspector/InspectorCSSAgent.h:
378         (WebCore):
379         (InspectorCSSAgent):
380         * inspector/InspectorInstrumentation.cpp:
381         (WebCore):
382         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
383         (WebCore::InspectorInstrumentation::willProcessRuleImpl):
384
385 2012-12-11  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
386
387         [GStreamer] Avoid linking to GStreamer video libraries if only using ENABLE_AUDIO
388         https://bugs.webkit.org/show_bug.cgi?id=104590
389
390         Reviewed by Philippe Normand.
391
392         Make getVideoSizeAndFormatFromCaps() only available when ENABLE_VIDEO is set.
393
394         No new tests, no change in behavior.
395
396         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
397         * platform/graphics/gstreamer/GStreamerVersioning.h:
398
399 2012-12-11  Zeno Albisser  <zeno@webkit.org>
400
401         [Qt][Mac] Fix transparency for WebGL content.
402         https://bugs.webkit.org/show_bug.cgi?id=104659
403
404         When drawing a texture to the TextureMapper the flag SupportsBlending
405         must be passed in order to allow for transparent webgl content.
406         We are doing this for GLX already, but the flag was still missing
407         in GraphicsSurfaceMac.
408
409         Reviewed by Kenneth Rohde Christiansen.
410
411         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
412         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
413
414 2012-12-11  Alexander Pavlov  <apavlov@chromium.org>
415
416         Web Inspector: Duplicate emulated touch events in iframe
417         https://bugs.webkit.org/show_bug.cgi?id=104653
418
419         Reviewed by Vsevolod Vlasov.
420
421         Synthetic touch events should be dispatched only on the frame containing its target, not on its ancestor frames,
422         up to the top frame.
423
424         * page/EventHandler.cpp:
425         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
426           Do not dispatch a synthetic touch event on the current frame if its target is in a subframe.
427
428 2012-12-11  Kondapally Kalyan  <kalyan.kondapally@intel.com>
429
430         [EFL][WebGL] Regression(r137211) WebGL is broken with NVIDIA Drivers.
431         https://bugs.webkit.org/show_bug.cgi?id=104652.
432
433         Reviewed by Kenneth Rohde Christiansen.
434
435         Reverting some of the changes from r137211, as it causes regressions
436         on NVIDIA drivers.
437
438         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
439         (WebCore::GraphicsContext3D::GraphicsContext3D):
440         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
441         (GraphicsContext3DPrivate::copyToGraphicsSurface):
442         * platform/graphics/opengl/GLPlatformSurface.cpp:
443         (WebCore::GLPlatformSurface::updateContents):
444         * platform/graphics/opengl/GLPlatformSurface.h:
445         (GLPlatformSurface):
446
447 2012-12-11  Pavel Feldman  <pfeldman@chromium.org>
448
449         Web Inspector: follow up to r136974: do not process shortcuts while editing
450         https://bugs.webkit.org/show_bug.cgi?id=104440
451
452         Reviewed by Alexander Pavlov.
453
454         Currently, typing H while editing node results in corresponding shortcut processing.
455
456         * inspector/front-end/ElementsTreeOutline.js:
457         (WebInspector.ElementsTreeOutline):
458         (WebInspector.ElementsTreeOutline.prototype.handleShortcut):
459         (WebInspector.ElementsTreeElement.prototype.onenter):
460         (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
461         (WebInspector.ElementsTreeElement.prototype.dispose):
462         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
463         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
464
465 2012-12-11  Ken Kania  <kkania@chromium.org>
466
467         [Inspector] Add command for dispatching mouse events.
468         https://bugs.webkit.org/show_bug.cgi?id=104074
469
470         Reviewed by Yury Semikhatsky.
471
472         Platform mouse event coordinates are relative to the containing window,
473         but the inspector command assumes they follow standard web coordinates,
474         where the origin is at the top left of the page and y increases as you
475         go down. We convert the coordinates to the window before constructing
476         the event. This also fixes the fact that some platforms have flipped
477         coordinate systems.
478         Also, update dispatchKeyEvent test to follow simpler dispatchMouseEvent
479         test.
480
481         Test: inspector-protocol/input/dispatchMouseEvent.html
482
483         * inspector/Inspector.json:
484         * inspector/InspectorInputAgent.cpp:
485         (WebCore::InspectorInputAgent::dispatchMouseEvent):
486         (WebCore):
487         * inspector/InspectorInputAgent.h:
488         (InspectorInputAgent):
489
490 2012-12-11  Pavel Feldman  <pfeldman@chromium.org>
491
492         Not reviewed: follow up to r137283: reduce inspector toolbar spacing 1px.
493
494         * inspector/front-end/inspector.css:
495         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable):
496         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable.toggled-on):
497
498 2012-12-11  Kent Tamura  <tkent@chromium.org>
499
500         Refactoring: Rename Element::shouldMatchReadOnlySelector and shouldMatchReadWriteSelector
501         https://bugs.webkit.org/show_bug.cgi?id=104651
502
503         Reviewed by Kentaro Hara.
504
505         ':read-only' and ':read-write' are pseudo classes. They are not
506         selectors in the context of these functions.  This patch rename them so
507         that they contain 'pseudo class,' and make them match to an existing
508         function, matchesFocusPseudoClass.
509
510         No new tests. This shouldn't make behavior changes.
511
512         * css/SelectorChecker.cpp:
513         (WebCore::SelectorChecker::checkOneSelector):
514         * dom/Element.cpp:
515         (WebCore::Element::recalcStyle):
516         (WebCore::Element::matchesReadOnlyPseudoClass):
517         (WebCore::Element::matchesReadWritePseudoClass):
518         * dom/Element.h:
519         (Element):
520         * html/HTMLInputElement.cpp:
521         (WebCore::HTMLInputElement::matchesReadOnlyPseudoClass):
522         (WebCore::HTMLInputElement::matchesReadWritePseudoClass):
523         * html/HTMLInputElement.h:
524         (HTMLInputElement):
525         * html/HTMLTextAreaElement.cpp:
526         (WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass):
527         (WebCore::HTMLTextAreaElement::matchesReadWritePseudoClass):
528         * html/HTMLTextAreaElement.h:
529         (HTMLTextAreaElement):
530         * html/shadow/SliderThumbElement.cpp:
531         (WebCore::SliderThumbElement::matchesReadOnlyPseudoClass):
532         (WebCore::SliderThumbElement::matchesReadWritePseudoClass):
533         * html/shadow/SliderThumbElement.h:
534         (SliderThumbElement):
535         * html/shadow/SpinButtonElement.cpp:
536         (WebCore::SpinButtonElement::matchesReadOnlyPseudoClass):
537         (WebCore::SpinButtonElement::matchesReadWritePseudoClass):
538         * html/shadow/SpinButtonElement.h:
539         (SpinButtonElement):
540         * rendering/RenderTheme.cpp:
541         (WebCore::RenderTheme::isReadOnlyControl):
542
543 2012-12-11  Pavel Feldman  <pfeldman@chromium.org>
544
545         Web Inspector: add more horizontal spacing for toolbar items in docked to bottom mode
546         https://bugs.webkit.org/show_bug.cgi?id=104655
547
548         Reviewed by Alexander Pavlov.
549
550         Drive-by increase height to 26px.
551
552         * inspector/front-end/inspector.css:
553         (#toolbar):
554         (body:not(.show-toolbar-icons) .toolbar-item):
555         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable):
556         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable.toggled-on):
557         (body.show-toolbar-icons.dock-to-bottom .toolbar-item.toggleable):
558         (#toolbar-dropdown-arrow):
559         (#main):
560
561 2012-12-11  Keishi Hattori  <keishi@webkit.org>
562
563         Use histogram enumeration in Calendar Picker so we can get stats on UI usage
564         https://bugs.webkit.org/show_bug.cgi?id=104646
565
566         Reviewed by Kent Tamura.
567
568         Use histogram support to get stats on the calendar picker so we can improve the UI.
569
570         No new tests.
571
572         * Resources/pagepopups/calendarPicker.js:
573         (CalendarPicker):
574         (CalendarPicker.prototype.recordAction): Records action to histogram.
575         (CalendarPicker.prototype.handleToday): Record action.
576         (CalendarPicker.prototype.handleClear): Ditto.
577         (YearMonthController.prototype._showPopup): Ditto.
578         (YearMonthController.prototype._handleYearMonthChange): Ditto.
579         (YearMonthController.prototype._handleButtonClick): Ditto.
580         (DaysTable.prototype._handleDayClick): Ditto.
581         * page/PagePopupController.cpp:
582         (WebCore::PagePopupController::histogramEnumeration):
583         (WebCore):
584         * page/PagePopupController.h:
585         (PagePopupController):
586         * page/PagePopupController.idl: Added histogramEnumeration.
587
588 2012-12-11  Hajime Morrita  <morrita@google.com>
589
590         IsActiveFlag, IsHoverFlag, InActiveChainFlag can be unified.
591         https://bugs.webkit.org/show_bug.cgi?id=103697
592
593         Reviewed by Ryosuke Niwa.
594
595         To save two more NodeFlags bits, this patch inroduces
596         UserActionElementSet to get IsLinkFlag, IsHoverFlag,
597         InActiveChainFlag together. These three old flags are replaced by
598         UserActionElementSet::ElementFlags and UserActionElementSet
599         collection which tracks elements which are flagged with one of
600         a ElementFlags.
601
602         When marking an element as active for example, WebKit sets
603         UserActionElementSet::IsActiveFlag to the element and store it
604         into corresponding element set of the document. This set maintains
605         marked elements and corresponding flags for each elements.
606
607         UserActionElementSet can be seen as a yet another rare data for
608         these flags. However, the following characteristics of these flags
609         make adding a new data structure on Document an attractive
610         alternative:
611
612         - UserActionElementSet is maintained for each Document instead of a
613           global collecton. This fits element lifetime better.
614
615         - The number of elements which have these flags is generally
616           small, and a group of elements for each flag is largely overlapped
617           due to its nature. This property keeps the set small, and lets
618           flag retrieval efficient. On majority of the elements, all these
619           flags are false thus the check is done by just checking
620           IsInUserActionFlag.
621
622         As a bonus, isFocused flag, which was on NodeRareData, is also moved to this model.
623
624         No new tests, covered by existing test.
625
626         * CMakeLists.txt:
627         * GNUmakefile.list.am:
628         * Target.pri:
629         * WebCore.gypi:
630         * WebCore.xcodeproj/project.pbxproj:
631         * dom/DOMAllInOne.cpp:
632         * dom/Document.cpp:
633         (WebCore::Document::removedLastRef):
634         (WebCore::Document::updateHoverActiveState):
635         * dom/Document.h:
636         (WebCore::Document::userActionElements): Added.
637         (Document):
638         * dom/Node.cpp:
639         (WebCore::Node::detach):
640         * dom/Node.h:
641         (WebCore):
642         (WebCore::Node::isUserActionElement): Added.
643         (WebCore::Node::setUserActionElement): Added.
644         (Node):
645         (WebCore::Node::active): Switched to UserActionElementSet.
646         (WebCore::Node::inActiveChain): Switched to UserActionElementSet.
647         (WebCore::Node::hovered): Switched to UserActionElementSet.
648         (WebCore::Node::focused): Switched to UserActionElementSet.
649         (WebCore::Node::setFocus): Switched to UserActionElementSet.
650         (WebCore::Node::setActive): Switched to UserActionElementSet.
651         (WebCore::Node::setHovered): Switched to UserActionElementSet.
652         * dom/NodeRareData.h:
653         (WebCore::NodeRareData::NodeRareData):
654         (NodeRareData):
655         * dom/UserActionElementSet.cpp: Added.
656         (WebCore):
657         (WebCore::UserActionElementSet::instanceFor):
658         (WebCore::UserActionElementSet::UserActionElementSet):
659         (WebCore::UserActionElementSet::~UserActionElementSet):
660         (WebCore::UserActionElementSet::didDetach):
661         (WebCore::UserActionElementSet::documentDidRemoveLastRef):
662         (WebCore::UserActionElementSet::hasFlags):
663         (WebCore::UserActionElementSet::setFlags):
664         (WebCore::UserActionElementSet::clearFlags):
665         * dom/UserActionElementSet.h: Added.
666         (WebCore):
667         (UserActionElementSet):
668         (WebCore::UserActionElementSet::create):
669         (WebCore::UserActionElementSet::isFocused):
670         (WebCore::UserActionElementSet::setFocused):
671         (WebCore::UserActionElementSet::isActive):
672         (WebCore::UserActionElementSet::setActive):
673         (WebCore::UserActionElementSet::isInActiveChain):
674         (WebCore::UserActionElementSet::setInActiveChain):
675         (WebCore::UserActionElementSet::isHovered):
676         (WebCore::UserActionElementSet::setHovered):
677         (WebCore::UserActionElementSet::setFlags):
678
679 2012-12-11  Kent Tamura  <tkent@chromium.org>
680
681         INPUT_MULTIPLE_FIELDS_UI: Disable focus navigation by right/left keys in RTL locales
682         https://bugs.webkit.org/show_bug.cgi?id=104644
683
684         Reviewed by Hajime Morita.
685
686         Pressing the left key should focus on the field at the left of the
687         current focused field, and pressing the right key should focus on the
688         field at the right of the current focused field. This works well in LTR
689         locales.
690         In RTL locale, the current code doesn't work. We disable this behavior
691         for RTL locales for now. This issue will be handled in Bug 104650.
692
693         No new tests. Update some *-multiple-fields tests for new behavior.
694
695         * html/shadow/DateTimeFieldElement.cpp:
696         (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
697         If this sub-field is in an RTL locale, we don't change focus.
698         (WebCore::DateTimeFieldElement::localeForOwner):
699         Moved from DateTimeNumericFieldElement.
700         * html/shadow/DateTimeFieldElement.h:
701         (DateTimeFieldElement): Remove isRTL, add localeForOwner.
702         * html/shadow/DateTimeNumericFieldElement.cpp: Remove localeForOwner.
703         * html/shadow/DateTimeNumericFieldElement.h:
704         (DateTimeNumericFieldElement): Ditto.
705
706 2012-12-11  Pavel Podivilov  <podivilov@google.com>
707
708         Remove pango files deleted at r137263 form WebCore.gypi.
709
710         Unreviewed, gardening.
711
712         * WebCore.gypi:
713
714 2012-12-11  Zan Dobersek  <zandobersek@gmail.com>
715
716         [GTK] Feature enabling/disabling should be possible through build-webkit
717         https://bugs.webkit.org/show_bug.cgi?id=99271
718
719         Reviewed by Gustavo Noronha Silva.
720
721         Move the contents of GNUmakefile.features.am into GNUmakefile.features.am.in.
722         The former is then copied from the latter but then appropriately modified if
723         the build-webkit script overrides any of the default feature defines.
724
725         No new tests - no new testable functionality.
726
727         * GNUmakefile.features.am.in: Renamed from Source/WebCore/GNUmakefile.features.am.
728
729 2012-12-11  Jinwoo Song  <jinwoo7.song@samsung.com>
730
731         [QT][EFL][WK2] Move the GraphicsSurfaceGLX.cpp to common place
732         https://bugs.webkit.org/show_bug.cgi?id=104433
733
734         Reviewed by Kenneth Rohde Christiansen.
735
736         QT and EFL are commonly using the GraphicsSurfaceGLX.cpp and
737         it looks better to move this file to /glx directory.
738
739         * PlatformEfl.cmake:
740         * Target.pri:
741         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp.
742         (WebCore):
743         (OffScreenRootWindow):
744         (WebCore::OffScreenRootWindow::OffScreenRootWindow):
745         (WebCore::OffScreenRootWindow::getXWindow):
746         (WebCore::OffScreenRootWindow::display):
747         (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
748         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
749         (GraphicsSurfacePrivate):
750         (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
751         (WebCore::GraphicsSurfacePrivate::createSurface):
752         (WebCore::GraphicsSurfacePrivate::createPixmap):
753         (WebCore::GraphicsSurfacePrivate::textureIsYInverted):
754         (WebCore::GraphicsSurfacePrivate::makeCurrent):
755         (WebCore::GraphicsSurfacePrivate::doneCurrent):
756         (WebCore::GraphicsSurfacePrivate::swapBuffers):
757         (WebCore::GraphicsSurfacePrivate::copyFromTexture):
758         (WebCore::GraphicsSurfacePrivate::display):
759         (WebCore::GraphicsSurfacePrivate::glxPixmap):
760         (WebCore::GraphicsSurfacePrivate::size):
761         (WebCore::resolveGLMethods):
762         (WebCore::GraphicsSurface::platformExport):
763         (WebCore::GraphicsSurface::platformGetTextureID):
764         (WebCore::GraphicsSurface::platformCopyToGLTexture):
765         (WebCore::GraphicsSurface::platformCopyFromTexture):
766         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
767         (WebCore::GraphicsSurface::platformFrontBuffer):
768         (WebCore::GraphicsSurface::platformSwapBuffers):
769         (WebCore::GraphicsSurface::platformSize):
770         (WebCore::GraphicsSurface::platformCreate):
771         (WebCore::GraphicsSurface::platformImport):
772         (WebCore::GraphicsSurface::platformLock):
773         (WebCore::GraphicsSurface::platformUnlock):
774         (WebCore::GraphicsSurface::platformDestroy):
775         (WebCore::GraphicsSurface::platformBeginPaint):
776         (WebCore::GraphicsSurface::createReadOnlyImage):
777
778 2012-12-11  Mike West  <mkwst@chromium.org>
779
780         Web Inspector: Evaluate private browsing mode's effect on console messages.
781         https://bugs.webkit.org/show_bug.cgi?id=104383
782
783         Reviewed by Pavel Feldman.
784
785         Two sets of console messages are currently gated on private browsing
786         mode being inactive. This patch centralizes the private browsing checks
787         in order to apply them equally to all console messages, and changes the
788         granularity at which they act.
789
790         The current checks block the console messages entirely. This patch
791         blocks only notifications to ChromeClient and ensures that messages
792         won't be passed to printf where they might end up in system logs.
793         Notifications to InspectorInstrumentation seem safe; so far as I can
794         tell, there's no compelling reason to prevent console-based debugging
795         in private browsing mode. This patch excludes those calls from the
796         private browsing check.
797
798         Test: inspector/console/clients-ignored-in-privatebrowsing.html
799
800         * loader/cache/CachedResourceLoader.cpp:
801         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
802             Drop the private browsing check.
803         * page/Console.cpp:
804         (WebCore::Console::addMessage):
805             Add private browsing checks to the two ::addMessage variants that
806             do real work. Ensure that calls to printf and notifications to
807             ChromeClients are gated on these checks, but always allow
808             notifications to InspectorInstrumentation.
809         * page/DOMWindow.cpp:
810         (WebCore::DOMWindow::printErrorMessage):
811             Drop the private browsing check.
812
813 2012-12-10  Dan Winship  <danw@gnome.org>
814
815         [Soup] Fix spelling of "initiating" in API.
816
817         Reviewed by Martin Robinson.
818
819         No new tests (just internal renaming).
820
821         * platform/network/ResourceHandle.h:
822         (ResourceHandle):
823         * platform/network/soup/ResourceHandleSoup.cpp:
824         (WebCore):
825         (WebCore::setSoupRequestInitiatingPageIDFromNetworkingContext):
826         (WebCore::ResourceHandle::start):
827         (WebCore::ResourceHandle::getSoupRequestInitiatingPageID):
828
829 2012-12-10  Martin Robinson  <mrobinson@igalia.com>
830
831         [GTK] Remove the Pango backend
832         https://bugs.webkit.org/show_bug.cgi?id=104569
833
834         Reviewed by Daniel Bates.
835
836         Remove the Pango backend entirely. The EFL build has no support for it and it's
837         not really maintained enough for the GTK+ port, now that HarfbuzzNG shapes complex
838         text when Freetype is the active text rendering backend.
839
840         No new tests. This does not change behavior.
841
842         * GNUmakefile.am: Remove Pango backend options and move Freetype options to the common list.
843         * GNUmakefile.list.am: Ditto.
844         * platform/graphics/FontPlatformData.h:
845         * platform/graphics/pango/FontCachePango.cpp: Removed.
846         * platform/graphics/pango/FontCustomPlatformDataPango.cpp: Removed.
847         * platform/graphics/pango/FontPango.cpp: Removed.
848         * platform/graphics/pango/FontPlatformData.h: Removed.
849         * platform/graphics/pango/FontPlatformDataPango.cpp: Removed.
850         * platform/graphics/pango/GlyphPageTreeNodePango.cpp: Removed.
851         * platform/graphics/pango/PangoUtilities.cpp: Removed.
852         * platform/graphics/pango/PangoUtilities.h: Removed.
853         * platform/graphics/pango/SimpleFontDataPango.cpp: Removed.
854
855 2012-12-11  Andrey Adaikin  <aandrey@chromium.org>
856
857         Web Inspector: [WebGL] prevent GC from collecting WebGLObject instances currently bound to the context state
858         https://bugs.webkit.org/show_bug.cgi?id=104119
859
860         Reviewed by Pavel Feldman.
861
862         This is to prevent GC from collecting resources bound to a context (WebGL or 2D).
863         Otherwise, for example in WebGL, subsequent calls to gl.getParameter() may return a recently created
864         instance that is no longer bound to a Resource object (thus, no history to replay it later).
865
866         * inspector/InjectedScriptCanvasModuleSource.js:
867         (.):
868
869 2012-12-11  Zan Dobersek  <zandobersek@gmail.com>
870
871         Unreviewed build fix after r137243.
872
873         * bindings/gobject/GNUmakefile.am:
874
875 2012-12-10  No'am Rosenthal  <noam@webkit.org>
876
877         REGRESSION (r137006): CSS clip on solid color composited div broken
878         https://bugs.webkit.org/show_bug.cgi?id=104604
879
880         Reviewed by Simon Fraser.
881
882         Disable direct compositing of background color for clipping layers.
883
884         Test: compositing/geometry/clip-inside.html
885
886         * rendering/RenderLayerBacking.cpp:
887         (WebCore::supportsDirectBoxDecorationsComposition):
888             Never allow direct background composition if there is a clip.
889
890 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
891
892         REGRESSION (r137215): WebKit stretches and shrinks a part of screen on scroll
893         https://bugs.webkit.org/show_bug.cgi?id=104626
894
895         Reviewed by Beth Dakin.
896
897         r137215 removed a compositing layer repaint on size changes. However, there
898         are cases where the compositing code constrains layer size by clipping
899         with the viewport and a clipping ancestor. When that happens, we must
900         invalidate the layer on a size change to avoid showing stretched or
901         shrunken content.
902
903         Test: compositing/repaint/clipped-layer-size-change.html
904
905         * rendering/RenderLayerBacking.cpp:
906         (WebCore::RenderLayerBacking::RenderLayerBacking):
907         (WebCore::RenderLayerBacking::updateCompositedBounds):
908         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
909         * rendering/RenderLayerBacking.h:
910         (RenderLayerBacking):
911
912 2012-12-10  Dean Jackson  <dino@apple.com>
913
914         Remove old WebKit Animation API code
915         https://bugs.webkit.org/show_bug.cgi?id=104611
916
917         Reviewed by Simon Fraser.
918
919         Remove the existing, unused animation API code. We'll look into
920         implementing the W3C Animation API if/when it is stable.
921
922         * CMakeLists.txt: Remove WebKitAnimation and WebKitAnimationList classes.
923         * DerivedSources.cpp:
924         * DerivedSources.make:
925         * DerivedSources.pri:
926         * GNUmakefile.list.am:
927         * Target.pri:
928         * UseJSC.cmake:
929         * UseV8.cmake:
930         * WebCore.gypi:
931         * WebCore.vcproj/WebCore.vcproj:
932         * WebCore.xcodeproj/project.pbxproj:
933         * bindings/js/JSBindingsAllInOne.cpp: Remove includes.
934         * bindings/js/JSWebKitAnimationCustom.cpp: Removed.
935         * bindings/js/JSWebKitAnimationListCustom.cpp: Removed.
936         * dom/Element.cpp: Remove API.
937         * dom/Element.h: Ditto.
938         * dom/Element.idl: Ditto.
939         * page/DOMWindow.idl: Ditto.
940         * page/WebKitAnimation.cpp: Removed.
941         * page/WebKitAnimation.h: Removed.
942         * page/WebKitAnimation.idl: Removed.
943         * page/WebKitAnimationList.cpp: Removed.
944         * page/WebKitAnimationList.h: Removed.
945         * page/WebKitAnimationList.idl: Removed.
946         * page/animation/AnimationController.cpp: Remove API.
947         * page/animation/AnimationController.h: Ditto.
948         * page/animation/AnimationControllerPrivate.h: Ditto.
949         * page/animation/CompositeAnimation.cpp: Ditto.
950         * page/animation/CompositeAnimation.h: Ditto.
951
952 2012-12-10  Jessie Berlin  <jberlin@apple.com>
953
954         Fix the Mac build after r137233
955
956         * html/shadow/HTMLShadowElement.h:
957         Remove a declaration of a member variable that was moved to the InsertionPoint superclass.
958
959 2012-12-10  KyungTae Kim  <ktf.kim@samsung.com>
960
961         Build fix after r137221
962         https://bugs.webkit.org/show_bug.cgi?id=104617
963
964         Unreviewed build fix
965
966         * html/HTMLPropertiesCollection.cpp:
967         (WebCore::nextNodeWithProperty):
968
969 2012-12-10  Hajime Morrita  <morrita@google.com>
970
971         [Shadow DOM][Refactoring] HTMLContentElement,HTMLShadowElement::m_registeredWithShadowRoot should be moved to InsertionPoint
972         https://bugs.webkit.org/show_bug.cgi?id=104516
973
974         Reviewed by Dimitri Glazkov.
975
976         This change pulls duplicated code in removedFrom() and
977         insertedInto() of both both HTMLShadowElement and
978         HTMLContentElement to their super class InsertionPoint.
979
980         This is a part of effor that encapsulate node distribution algorithm to
981         ContentDistributor and its family.
982
983         No new tests, no behavior change.
984
985         * dom/ShadowRoot.cpp:
986         (WebCore::ShadowRoot::registerInsertionPoint): Added.
987         (WebCore::ShadowRoot::unregisterInsertionPoint): Added.
988         * dom/ShadowRoot.h:
989         (ShadowRoot):
990         * html/shadow/ContentDistributor.cpp:
991         (WebCore::ShadowRootContentDistributionData::regiterInsertionPoint): Generalized two methods for <content> and <shadow>.
992         (WebCore):
993         (WebCore::ShadowRootContentDistributionData::unregisterInsertionPoint): Ditto.
994         * html/shadow/ContentDistributor.h:
995         (ShadowRootContentDistributionData):
996         * html/shadow/HTMLContentElement.cpp:
997         (WebCore::HTMLContentElement::HTMLContentElement):
998         * html/shadow/HTMLContentElement.h:
999         * html/shadow/HTMLShadowElement.cpp:
1000         (WebCore::HTMLShadowElement::HTMLShadowElement):
1001         * html/shadow/HTMLShadowElement.h:
1002         * html/shadow/InsertionPoint.cpp:
1003         (WebCore::InsertionPoint::InsertionPoint):
1004         (WebCore::InsertionPoint::insertedInto): Pulled up from subclasses
1005         (WebCore::InsertionPoint::removedFrom): Pulled up from subclasses
1006         * html/shadow/InsertionPoint.h:
1007         (InsertionPoint):
1008
1009 2012-12-10  Jon Lee  <jonlee@apple.com>
1010
1011         Keep track of plug-in snapshots clicked by user
1012         https://bugs.webkit.org/show_bug.cgi?id=103206
1013         <rdar://problem/12746483>
1014
1015         Reviewed by Anders Carlsson.
1016
1017         * html/HTMLPlugInImageElement.cpp:
1018         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initially the hash is
1019         unknown. Set to 0. Move the check for whether to snapshot the plugin into the
1020         new function subframeLoaderWillLoadPlugIn.
1021         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Rename
1022         setPendingClickEvent to userDidClickSnapshot. In addition to holding onto the
1023         click event used to activate the plug-in, the function now also tells the plug-in
1024         client to add the origin hash as an auto-start origin.
1025         (WebCore::HTMLPlugInImageElement::subframeLoaderWillLoadPlugIn): Calculate the
1026         hash based on the provided URL, which is the URL the plug-in will load. Extend
1027         the check that used to be in the constructor to see if the plug-in should not
1028         automatically load, including checking the plug-in size and whether the hash
1029         is an auto-start origin.
1030         * html/HTMLPlugInImageElement.h: Rename setPendingClickEvent to userDidClickSnapshot
1031         and add a variable for the origin hash.
1032
1033         * loader/SubframeLoader.cpp:
1034         (WebCore::SubframeLoader::requestPlugin): When the loader is about to load the
1035         plug-in, pass the URL to the element, so that it can calculate the hash.
1036
1037         * page/Page.cpp:
1038         (WebCore::Page::Page): Take the plugInClient from the page clients.
1039         (WebCore::Page::~Page): If the client exists, tell it that the page is being
1040         destroyed.
1041         (WebCore::Page::PageClients::PageClients): Initialize this optional client to
1042         null.
1043         * page/Page.h: Add PlugInClient to page clients.
1044         (PageClients): Add PlugInClient variable.
1045         (WebCore::Page::plugInClient):
1046         * page/PlugInClient.h: Added.
1047
1048         * rendering/RenderSnapshottedPlugIn.cpp:
1049         (WebCore::RenderSnapshottedPlugIn::handleEvent): Call the renamed function
1050         userDidClickSnapshot().
1051         (WebCore::RenderSnapshottedPlugIn::layout): Move the check of the plug-in size
1052         to subframeLoaderWillLoadPlugIn.
1053
1054         Add PlugInClient.h.
1055         * GNUmakefile.list.am:
1056         * Target.pri:
1057         * WebCore.vcproj/WebCore.vcproj:
1058         * WebCore.xcodeproj/project.pbxproj:
1059
1060 2012-12-10  Antti Koivisto  <antti@apple.com>
1061
1062         Not reviewed.
1063         
1064         Build fix.
1065
1066         * html/HTMLPropertiesCollection.cpp:
1067         (WebCore::nextNodeWithProperty):
1068         * page/TouchDisambiguation.cpp:
1069         (WebCore::boundingBoxForEventNodes):
1070
1071 2012-12-10  Beth Dakin  <bdakin@apple.com>
1072
1073         https://bugs.webkit.org/show_bug.cgi?id=104602
1074         DidHitRelevantRepaintedObjectsAreaThreshold LayoutMilestone fires too 
1075         early on some pages with iframes
1076
1077         Reviewed by Simon Fraser.
1078
1079         This change makes it so that any RenderObjects inside iframes are not 
1080         considered relevant.
1081         * page/Page.cpp:
1082         (WebCore::Page::addRelevantRepaintedObject):
1083
1084 2012-12-10  David Grogan  <dgrogan@chromium.org>
1085
1086         IndexedDB: Propagate more leveldb errors to script
1087         https://bugs.webkit.org/show_bug.cgi?id=104422
1088
1089         Reviewed by Tony Chang.
1090
1091         These are the last places that ignore leveldb errors that can get the
1092         usual ok/found treatment.
1093
1094         Nothing called getBool, so it is deleted.
1095
1096         * Modules/indexeddb/IDBBackingStore.cpp:
1097         (WebCore):
1098         (WebCore::getInt):
1099         (WebCore::isSchemaKnown):
1100         (WebCore::setUpMetadata):
1101         (WebCore::getMaxObjectStoreId):
1102         (WebCore::IDBBackingStore::open):
1103         (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
1104         (WebCore::getNewDatabaseId):
1105         (WebCore::IDBBackingStore::createIDBDatabaseMetaData):
1106         (WebCore::setMaxObjectStoreId):
1107         (WebCore::getNewVersionNumber):
1108         (WebCore::IDBBackingStore::putRecord):
1109         (WebCore::setMaxIndexId):
1110         * Modules/indexeddb/IDBBackingStore.h:
1111         (IDBBackingStore):
1112         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1113         (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
1114         (WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::perform):
1115
1116 2012-12-09  Antti Koivisto  <antti@apple.com>
1117
1118         Factor node traversal into standalone functions
1119         https://bugs.webkit.org/show_bug.cgi?id=104507
1120
1121         Reviewed by Eric Seidel.
1122
1123         Node traversal functions are currently Node and ContainerNode members. Their implementations
1124         are confusingly scattered over multiple header and source files. These functions have no particular
1125         reason to be members as they don't require non-public access. They should be made freestanding
1126         function instead and gathered together.
1127         
1128         This patch adds NodeTraversal namespace, defined in NodeTraversal.h. It contains freestanding
1129         functions for traversing Nodes. Most popular functions are inlined (as before) and
1130         there are ContainerNode specific specializations (as before).
1131         
1132         In client code
1133         
1134             node = node->traverseNextNode();
1135             node = node->traverseNextSibling();
1136         
1137         becomes
1138         
1139             node = NodeTraversal::next(node);
1140             node = NodeTraversal::nextSkippingChildren(node);
1141             
1142         etc.
1143
1144         * WebCore.exp.in:
1145         * WebCore.xcodeproj/project.pbxproj:
1146         * accessibility/AccessibilityNodeObject.cpp:
1147         (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
1148         * accessibility/AccessibilityObject.cpp:
1149         (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
1150         * accessibility/AccessibilityRenderObject.cpp:
1151         (WebCore::AccessibilityRenderObject::addImageMapChildren):
1152         * bindings/js/JSDocumentCustom.cpp:
1153         (WebCore::toJS):
1154         * css/SelectorChecker.cpp:
1155         (WebCore::SelectorChecker::allVisitedStateChanged):
1156         (WebCore::SelectorChecker::visitedStateChanged):
1157         * css/StyleInvalidationAnalysis.cpp:
1158         (WebCore::StyleInvalidationAnalysis::invalidateStyle):
1159         * dom/ContainerNode.cpp:
1160         (WebCore::dispatchChildInsertionEvents):
1161         (WebCore::dispatchChildRemovalEvents):
1162         * dom/ContainerNode.h:
1163         (ContainerNode):
1164         (WebCore):
1165         * dom/ContainerNodeAlgorithms.h:
1166         (WebCore::ChildFrameDisconnector::collectDescendant):
1167         * dom/Document.cpp:
1168         (WebCore::Document::buildAccessKeyMap):
1169         (WebCore::Document::removeAllEventListeners):
1170         (WebCore::Document::updateBaseURL):
1171         (WebCore::Document::processBaseElement):
1172         (WebCore::Document::nodeAbsIndex):
1173         (WebCore::Document::nodeWithAbsIndex):
1174         (WebCore::Document::getFocusableNodes):
1175         * dom/DocumentMarkerController.cpp:
1176         (WebCore::DocumentMarkerController::markersInRange):
1177         (WebCore::DocumentMarkerController::setMarkersActive):
1178         (WebCore::DocumentMarkerController::hasMarkers):
1179         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
1180         * dom/DocumentOrderedMap.cpp:
1181         (WebCore::DocumentOrderedMap::get):
1182         * dom/ElementShadow.cpp:
1183         (WebCore::ElementShadow::collectSelectFeatureSetFrom):
1184         * dom/Node.cpp:
1185         (WebCore::Node::normalize):
1186         (WebCore::Node::lazyAttach):
1187         (WebCore):
1188         (WebCore::Node::detach):
1189         (WebCore::traverseTreeAndMark):
1190         * dom/Node.h:
1191         (Node):
1192         * dom/NodeIterator.cpp:
1193         (WebCore::NodeIterator::NodePointer::moveToNext):
1194         (WebCore::NodeIterator::NodePointer::moveToPrevious):
1195         (WebCore::NodeIterator::updateForNodeRemoval):
1196         * dom/NodeTraversal.h: Added.
1197         (WebCore):
1198         (NodeTraversal):
1199         (WebCore::NodeTraversal::traverseNextNodeTemplate):
1200         (WebCore::NodeTraversal::next):
1201         (WebCore::NodeTraversal::traverseNextSiblingTemplate):
1202         (WebCore::NodeTraversal::nextSibling):
1203         * dom/Range.cpp:
1204         (WebCore::Range::toString):
1205         (WebCore::Range::checkDeleteExtract):
1206         (WebCore::Range::firstNode):
1207         (WebCore::Range::pastLastNode):
1208         (WebCore::Range::textRects):
1209         (WebCore::Range::textQuads):
1210         (WebCore::Range::getBorderAndTextQuads):
1211         * dom/TreeScope.cpp:
1212         (WebCore::TreeScope::labelElementForId):
1213         (WebCore::TreeScope::findAnchor):
1214         * dom/TreeScopeAdopter.cpp:
1215         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
1216         (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
1217         * dom/TreeWalker.cpp:
1218         (WebCore::TreeWalker::nextNode):
1219         * editing/ApplyStyleCommand.cpp:
1220         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1221         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
1222         (WebCore::containsNonEditableRegion):
1223         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1224         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
1225         (WebCore::ApplyStyleCommand::removeInlineStyle):
1226         * editing/BreakBlockquoteCommand.cpp:
1227         (WebCore::BreakBlockquoteCommand::doApply):
1228         * editing/CompositeEditCommand.cpp:
1229         (WebCore::CompositeEditCommand::deleteInsignificantText):
1230         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
1231         * editing/DeleteSelectionCommand.cpp:
1232         (WebCore::firstEditablePositionInNode):
1233         (WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):
1234         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1235         * editing/EditCommand.cpp:
1236         (WebCore::SimpleEditCommand::addNodeAndDescendants):
1237         * editing/EditingStyle.cpp:
1238         (WebCore::EditingStyle::triStateOfStyle):
1239         (WebCore::EditingStyle::textDirectionForSelection):
1240         * editing/Editor.cpp:
1241         (WebCore::Editor::simplifyMarkup):
1242         * editing/FrameSelection.cpp:
1243         (WebCore::scanForForm):
1244         (WebCore::FrameSelection::setSelectionFromNone):
1245         * editing/InsertParagraphSeparatorCommand.cpp:
1246         (WebCore::InsertParagraphSeparatorCommand::doApply):
1247         * editing/ReplaceSelectionCommand.cpp:
1248         (WebCore::ReplacementFragment::removeUnrenderedNodes):
1249         (WebCore::ReplacementFragment::removeInterchangeNodes):
1250         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren):
1251         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode):
1252         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1253         (WebCore::removeHeadContents):
1254         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
1255         * editing/ReplaceSelectionCommand.h:
1256         (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
1257         * editing/SimplifyMarkupCommand.cpp:
1258         (WebCore::SimplifyMarkupCommand::doApply):
1259         * editing/TextIterator.cpp:
1260         (WebCore::TextIterator::advance):
1261         (WebCore::shouldEmitNewlineAfterNode):
1262         * editing/htmlediting.cpp:
1263         (WebCore::hasARenderedDescendant):
1264         * editing/mac/EditorMac.mm:
1265         (WebCore::Editor::fontForSelection):
1266         * editing/markup.cpp:
1267         (WebCore::completeURLs):
1268         (WebCore::StyledMarkupAccumulator::traverseNodesForSerialization):
1269         (WebCore::findNodesSurroundingContext):
1270         (WebCore::trimFragment):
1271         * editing/visible_units.cpp:
1272         (WebCore::startOfParagraph):
1273         (WebCore::endOfParagraph):
1274         * html/HTMLCollection.cpp:
1275         (WebCore::nextNode):
1276         * html/HTMLElement.cpp:
1277         (WebCore::setHasDirAutoFlagRecursively):
1278         (WebCore::HTMLElement::directionality):
1279         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
1280         (WebCore::HTMLElement::getItemRefElements):
1281         * html/HTMLFieldSetElement.cpp:
1282         (WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder):
1283         (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
1284         * html/HTMLFormElement.cpp:
1285         (WebCore::HTMLFormElement::formElementIndex):
1286         * html/HTMLLabelElement.cpp:
1287         (WebCore::HTMLLabelElement::control):
1288         * html/HTMLLegendElement.cpp:
1289         (WebCore::HTMLLegendElement::associatedControl):
1290         * html/HTMLMapElement.cpp:
1291         (WebCore::HTMLMapElement::mapMouseEvent):
1292         * html/HTMLNameCollection.cpp:
1293         (WebCore::HTMLNameCollection::virtualItemAfter):
1294         * html/HTMLOptionElement.cpp:
1295         (WebCore::HTMLOptionElement::collectOptionInnerText):
1296         * html/HTMLPropertiesCollection.cpp:
1297         (WebCore::nextNodeWithProperty):
1298         * html/HTMLSelectElement.cpp:
1299         (WebCore::HTMLSelectElement::recalcListItems):
1300         * html/HTMLTextFormControlElement.cpp:
1301         (WebCore::HTMLTextFormControlElement::selection):
1302         (WebCore::HTMLTextFormControlElement::innerTextValue):
1303         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
1304         * html/RadioInputType.cpp:
1305         (WebCore::RadioInputType::handleKeydownEvent):
1306         * html/shadow/ContentDistributor.cpp:
1307         (WebCore::ShadowRootContentDistributionData::ensureInsertionPointList):
1308         * inspector/InspectorDOMAgent.cpp:
1309         (WebCore::InspectorDOMAgent::performSearch):
1310         * inspector/InspectorMemoryAgent.cpp:
1311         * page/FocusController.cpp:
1312         (WebCore::FocusController::findFocusCandidateInContainer):
1313         * page/Frame.cpp:
1314         (WebCore::Frame::searchForLabelsAboveCell):
1315         (WebCore::Frame::searchForLabelsBeforeElement):
1316         * rendering/RenderNamedFlowThread.cpp:
1317         (WebCore::RenderNamedFlowThread::getRanges):
1318         * svg/SVGSVGElement.cpp:
1319         (WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):
1320         (WebCore::SVGSVGElement::getElementById):
1321         * svg/SVGUseElement.cpp:
1322         (WebCore::removeDisallowedElementsFromSubtree):
1323         * svg/animation/SMILTimeContainer.cpp:
1324         (WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
1325         * xml/XPathNodeSet.cpp:
1326         (WebCore::XPath::NodeSet::traversalSort):
1327         * xml/XPathStep.cpp:
1328         (WebCore::XPath::Step::nodesInAxis):
1329         * xml/XPathUtil.cpp:
1330         (WebCore::XPath::stringValue):
1331
1332 2012-12-10  Min Qin  <qinmin@chromium.org>
1333
1334         Sending multi-touch events to the same Iframe
1335         https://bugs.webkit.org/show_bug.cgi?id=97973
1336
1337         Reviewed by Dimitri Glazkov.
1338
1339         Multi-Touch in different iframe can give both documents access to each other.
1340         This could cause cross-origin access. To solve this, all the touch events should
1341         be sent to the iframe where the first touchstart happens.
1342
1343         Test: fast/events/touch/multi-touch-inside-iframes.html
1344               fast/events/touch/multi-touch-inside-nested-iframes.html
1345
1346         * page/EventHandler.cpp:
1347         (WebCore::EventHandler::handleTouchEvent):
1348         * page/EventHandler.h:
1349
1350 2012-12-10  KyungTae Kim  <ktf.kim@samsung.com>
1351
1352         [soup] Fix build warning in ResourceHandleSoup.cpp
1353         https://bugs.webkit.org/show_bug.cgi?id=104605
1354
1355         Reviewed by Martin Robinson.
1356
1357         The nextMultipartResponsePartCallback has unused parameter 'source',
1358         comment out it to fix 'unused parameter' build warning.
1359
1360         * platform/network/soup/ResourceHandleSoup.cpp:
1361         (WebCore::nextMultipartResponsePartCallback):
1362
1363 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
1364
1365         Fix frame border painting in tiled drawing mode
1366         https://bugs.webkit.org/show_bug.cgi?id=104453
1367         <rdar://problem/11678611>
1368
1369         Reviewed by Dan Bernstein.
1370
1371         Frame borders were not correctly invalidated when in tiled drawing mode, because
1372         RenderFrameSet::layout() invalidated directly on the view, which skips the tile
1373         cache.
1374         
1375         Fix by invalidating like all other renderers, via the repaint container.
1376         
1377         Also, the layer transform should be updated before the invalidation, and
1378         we make use of RenderObject::updateLayerTransform() which has the same behavior
1379         as the old code.
1380
1381         Attempts to make a layout test failed. Resizing composited framesets repainted
1382         via layer resizing, and an attempt to make a ref test in tiled drawing mode
1383         failed (the test passed without the patch).
1384
1385         * rendering/RenderFrameSet.cpp:
1386         (WebCore::RenderFrameSet::layout):
1387
1388 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
1389
1390         When converting a layer into a tiled layer, ensure that we update the visible rect
1391         https://bugs.webkit.org/show_bug.cgi?id=104467
1392
1393         Reviewed by Darin Adler.
1394
1395         When a GraphicsLayerCA toggles to use a TileCache, we have to ensure that the
1396         layer's visible rect (which is used to ensure tile coverage) is updated in
1397         the same commit. Otherwise we can get blank layers until something else causes
1398         the visible rect to be updated.
1399
1400         Test: compositing/tiling/tiled-layer-resize.html
1401
1402         * platform/graphics/ca/GraphicsLayerCA.cpp:
1403         (WebCore::GraphicsLayerCA::dumpAdditionalProperties): With the debug flag, dump the TiledBacking
1404         address for ease of debugging.
1405         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Set the VisibleRectChanged bit in
1406         m_uncommittedChanges if we've just switched to a tiled layer.
1407
1408 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
1409
1410         Don't unconditionally repaint compositing layers when their size changes
1411         https://bugs.webkit.org/show_bug.cgi?id=104461
1412
1413         Reviewed by Sam Weinig.
1414
1415         RenderLayerBacking always repainted the entire compositing layer when its size
1416         changed. This was done to fix repaint issues when outline widths changes, but
1417         that issue is now solved by repainting in GraphicsLayer::setOffsetFromRenderer(),
1418         add in r134628. I believe this is no longer necessary.
1419         
1420         Always repainting when the size changes is terrible for the tile cache when
1421         loading large documents, as all tiles repaint every time the document gets
1422         longer.
1423
1424         Test: compositing/repaint/resize-repaint.html
1425
1426         * rendering/RenderLayerBacking.cpp:
1427         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1428
1429 2012-12-10  Ojan Vafai  <ojan@chromium.org>
1430
1431         Unreviewed, rolling out r134150.
1432         http://trac.webkit.org/changeset/134150
1433         https://bugs.webkit.org/show_bug.cgi?id=99940
1434
1435         Caused JS-based tooltips to remain during scroll on Facebook
1436         and Gmail. Rollout until I have time to experiment with less
1437         aggresive approaches.
1438
1439         * page/EventHandler.cpp:
1440         (WebCore):
1441         (WebCore::MaximumDurationTracker::MaximumDurationTracker):
1442         (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
1443         (MaximumDurationTracker):
1444         (WebCore::EventHandler::EventHandler):
1445         (WebCore::EventHandler::clear):
1446         (WebCore::EventHandler::mouseMoved):
1447         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
1448         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
1449         * page/EventHandler.h:
1450         (EventHandler):
1451         * platform/Timer.h:
1452
1453 2012-12-10  Yi Shen  <max.hong.shen@gmail.com>
1454
1455         Keyboard caret movement in textarea with RTL Override Character can make tab unresponsive
1456         https://bugs.webkit.org/show_bug.cgi?id=103067
1457
1458         Reviewed by Ryosuke Niwa.
1459
1460         For textarea with RTL override character, the line break could be the previous leaf InlineTextBox of
1461         the InlineTextBox for the RTL override text. When overshots the left/right, make sure the 
1462         leftVisuallyDistinctCandidate and rightVisuallyDistinctCandidate return the visually distinct 
1463         left/right position by ignoring the line break.
1464
1465         Test: editing/selection/move-by-character-crash-test-textarea.html
1466
1467         * editing/VisiblePosition.cpp:
1468         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
1469         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
1470
1471 2012-12-10  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1472
1473         [EFL][WebGL] Minor Refactoring in GraphicsContext3DEfl.
1474         https://bugs.webkit.org/show_bug.cgi?id=104553.
1475
1476         Reviewed by Kenneth Rohde Christiansen.
1477
1478         We use different FBO for canvas and offscreen surface of our platform layer.
1479         Thus we need to manage any bound buffers while copying contents to the surface. Currently, Surface
1480         always uses double buffering but in future we should be able to configure it to use either
1481         double or single buffer. For these use cases, it would be handy to bind buffers directly to
1482         FBO used by the surface. This patch does the needed changes in GraphicsContext3DEfl and
1483         PlatformSurface. Also, removes some unused code.
1484
1485         Covered by existing tests.
1486
1487         Relevant changes in GraphicsContext3DEfl to obtain FBO id from PlatformSurface.
1488         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1489         (WebCore::GraphicsContext3D::GraphicsContext3D):
1490         (WebCore::GraphicsContext3D::~GraphicsContext3D):
1491
1492         Renamed createGraphicsSurface to didResizeCanvas.
1493         (WebCore::GraphicsContext3D::createGraphicsSurfaces):
1494         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
1495         (GraphicsContext3DPrivate::didResizeCanvas):
1496         (GraphicsContext3DPrivate::copyToGraphicsSurface):
1497         * platform/graphics/efl/GraphicsContext3DPrivate.h:
1498         (GraphicsContext3DPrivate):
1499
1500         Header cleanup.
1501         * platform/graphics/opengl/GLDefs.h:
1502         * platform/graphics/opengl/GLPlatformContext.cpp:
1503         (WebCore::GLPlatformContext::createContext):
1504         * platform/graphics/opengl/GLPlatformContext.h:
1505
1506         Added initialize method to expose FBO id of the surface.
1507         Removed unused code.
1508         * platform/graphics/opengl/GLPlatformSurface.cpp:
1509         (WebCore::GLPlatformSurface::initialize):
1510         (WebCore):
1511         (WebCore::GLPlatformSurface::updateContents):
1512         * platform/graphics/opengl/GLPlatformSurface.h:
1513         (GLPlatformSurface):
1514         * platform/graphics/surfaces/glx/GLXSurface.h:
1515
1516 2012-12-07  Simon Fraser  <simon.fraser@apple.com>
1517
1518         Tidy up the tiled scrolling indicator, fix with zooming
1519         https://bugs.webkit.org/show_bug.cgi?id=104386
1520
1521         Reviewed by Tim Horton.
1522
1523         Fix the tiled scrolling indicator to not get tiny when zooming,
1524         to not poke out of the bottom of the window, and to not look
1525         so crappy.
1526
1527         * platform/graphics/ca/mac/TileCache.mm:
1528         (WebCore::TileCache::updateTileCoverageMap):
1529         (WebCore::TileCache::drawTileMapContents):
1530
1531 2012-12-10  Sheriff Bot  <webkit.review.bot@gmail.com>
1532
1533         Unreviewed, rolling out r136817.
1534         http://trac.webkit.org/changeset/136817
1535         https://bugs.webkit.org/show_bug.cgi?id=104596
1536
1537         This patch was an unnecessarily complex solution to handling
1538         conversion of union types. (Requested by mpruett on #webkit).
1539
1540         * bindings/js/JSDictionary.cpp:
1541         (WebCore::JSDictionary::convertValue):
1542         * bindings/js/JSDictionary.h:
1543         (WebCore::JSDictionary::tryGetPropertyAndResult):
1544
1545 2012-12-10  Tab Atkins  <tabatkins@google.com>
1546
1547         Deprecate prefixed linear-gradient and radial-gradient functions
1548         https://bugs.webkit.org/show_bug.cgi?id=104591
1549
1550         Reviewed by Dean Jackson.
1551
1552         Rename the old gradient parsing functions in anticipation of functions that parse the new syntax.
1553
1554         No new tests added - this is a rename and has no functionality change.
1555
1556         * css/CSSParser.cpp:
1557         (WebCore::CSSParser::parseDeprecatedLinearGradient):
1558         (WebCore::CSSParser::parseDeprecatedRadialGradient):
1559         (WebCore::CSSParser::parseGeneratedImage):
1560         * css/CSSParser.h:
1561
1562 2012-12-10  Mark Pilgrim  <pilgrim@chromium.org>
1563
1564         [Chromium][Win] Remove theme-related functions from PlatformSupport
1565         https://bugs.webkit.org/show_bug.cgi?id=102699
1566
1567         Reviewed by Adam Barth.
1568
1569         Call theme engine directly instead of going through
1570         PlatformSupport. Part of a refactoring series. See tracking bug 82948.
1571
1572         * platform/chromium/PlatformSupport.h:
1573         (PlatformSupport):
1574         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1575         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
1576         (WebCore::ScrollbarThemeChromiumWin::paintButton):
1577         * rendering/RenderThemeChromiumWin.cpp:
1578         (WebCore):
1579         (WebCore::RenderThemeChromiumWin::paintButton):
1580         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
1581         (WebCore::RenderThemeChromiumWin::paintSliderThumb):
1582         (WebCore::RenderThemeChromiumWin::paintMenuList):
1583         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
1584         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
1585         (WebCore::RenderThemeChromiumWin::paintProgressBar):
1586
1587 2012-12-10  Dean Jackson  <dino@apple.com>
1588
1589         Support for CSS widows and orphans
1590         https://bugs.webkit.org/show_bug.cgi?id=9410
1591
1592         Reviewed by Darin Adler.
1593
1594         The CSS 'widow' and 'orphan' properties were supported by the parser and
1595         style system, but were not actually doing anything in layout. Now they do!
1596
1597         In order to not break existing content, I unfortunately had to go against
1598         the specification and change our default value from 2 to auto. A value of
1599         auto means that widows and orphans will not cause any page/column breaks.
1600
1601         Supporting orphans was a small change. During line layout, if we realise
1602         we need to move to a new page in a situation that would create an orphan,
1603         move the entire block to the new page. There was already code to do this.
1604
1605         Support for widows was trickier. When we finish laying out a block, count
1606         the number of hanging lines. If we've created a widow, and there are enough
1607         available lines on the previous page, then steal some and remember the line
1608         to break at. Trigger a relayout. Then notice the line that was marked for
1609         breaking and avoid the widow. This means some blocks go through layout
1610         twice, but as long as the widow value is small it shouldn't be a huge penalty.
1611
1612         Tests: fast/multicol/widows-and-orphans.html (new test)
1613                printing/page-break-orphans.html
1614                printing/page-break-orphans-and-widows.html
1615                printing/page-break-widows.html
1616
1617         * css/CSSComputedStyleDeclaration.cpp:
1618         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return CSSValueAuto for widows and orphans if necessary.
1619         * css/CSSParser.cpp:
1620         (WebCore::CSSParser::parseValue): Support "auto" in widow and orphan property parsing.
1621         * css/StyleBuilder.cpp:
1622         (WebCore::StyleBuilder::StyleBuilder): Change property handler to something that supports auto.
1623         * page/animation/CSSPropertyAnimation.cpp:
1624         (WebCore::CSSPropertyAnimation::ensurePropertyMap): Add widows and orphans to the animation map.
1625         * rendering/RenderBlock.cpp:
1626         (WebCore::RenderBlock::layoutBlockChild): Detect if we've caused a widow-fixing break, and request relayout evaluation.
1627         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): Test for a widow-fixing line.
1628         (WebCore::RenderBlock::setBreakAtLineToAvoidWidow): New function to remember where we should break on next layout.
1629         (WebCore::RenderBlock::adjustLinePositionForPagination): Move the entire block to a new page if this would create an orphan.
1630         * rendering/RenderBlock.h:
1631         (WebCore::RenderBlock::shouldBreakAtLineToAvoidWidow): New function to indicate if we are remembering a widow.
1632         (WebCore::RenderBlock::clearShouldBreakAtLineToAvoidWidow): Reset the line breaks.
1633         (WebCore::RenderBlock::lineBreakToAvoidWidow):
1634         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData): Add a flag for indicating if we are remembering a line, and the actual line itself.
1635         * rendering/RenderBlockLineLayout.cpp:
1636         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): The code to detect and fix widows. Explained above.
1637         * rendering/style/RenderStyle.h: New methods for indicating if widows and orphans are non-default values.
1638         * rendering/style/StyleRareInheritedData.cpp: Ditto.
1639         * rendering/style/StyleRareInheritedData.h: Ditto.
1640
1641 2012-12-10  Zan Dobersek  <zandobersek@gmail.com>
1642
1643         REGRESSION (r118735): svg/dom/complex-svgView-specification.html, svg/dom/SVGViewSpec.html, svg/dom/viewspec-parser.html failing on GTK Linux 64-bit Release
1644         https://bugs.webkit.org/show_bug.cgi?id=87734
1645
1646         Reviewed by Martin Robinson.
1647
1648         Don't modify ResourceRequest's URL to have the value of the (encoded)
1649         URI of the SoupMessage. The only exception is in the case of cancelled
1650         SoupMessage - the URL of the ResourceRequest should then be null.
1651
1652         No new tests - existing tests should show no regressions.
1653
1654         * platform/network/soup/ResourceRequestSoup.cpp:
1655         (WebCore::ResourceRequest::updateFromSoupMessage):
1656
1657 2012-12-10  Gustavo Noronha Silva  <gns@gnome.org>
1658
1659         Unreviewed distcheck fix.
1660
1661         * GNUmakefile.list.am:
1662
1663 2012-12-10  Eric Seidel  <eric@webkit.org>
1664
1665         Caused crashes in v8.  Rolling out until abarth can fix.  See cr-issue 165136 for more info
1666         https://bugs.webkit.org/show_bug.cgi?id=104575
1667
1668         Unreviewed, just rolling out r136559.
1669
1670         * bindings/v8/V8GCController.cpp:
1671         * bindings/v8/V8NodeFilterCondition.cpp:
1672         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
1673         (WebCore::V8NodeFilterCondition::acceptNode):
1674         * bindings/v8/V8NodeFilterCondition.h:
1675         (WebCore::V8NodeFilterCondition::create):
1676         (V8NodeFilterCondition):
1677         * dom/NodeFilter.h:
1678
1679 2012-12-10  Eric Carlson  <eric.carlson@apple.com>
1680
1681         Unreviewed build fix after r137167.
1682
1683         * WebCore.xcodeproj/project.pbxproj: Add InbandTextTrackPrivate.h to framework private 
1684             headers.
1685
1686 2012-12-10  Martin Robinson  <mrobinson@igalia.com>
1687
1688         Fix the GTK+ build after a collision of two patches.
1689
1690         Unreviewed build fix.
1691
1692         * bindings/gobject/GNUmakefile.am: The GObject DOM bindings library needs to
1693         include the harfbuzz cflags when compiling.
1694
1695 2012-12-10  Parth Patel  <parpatel@rim.com>
1696
1697         Make hiddenPageDomTimerInterval a setting
1698         https://bugs.webkit.org/show_bug.cgi?id=104555
1699
1700         Reviewed by Yong Li.
1701
1702         Make hiddenPageDomTimerInterval a setting so client can customize it.
1703
1704         No new tests are needed.
1705
1706         * page/Page.cpp:
1707         (WebCore):
1708         (WebCore::Page::setVisibilityState):
1709         * page/Settings.cpp:
1710         (WebCore):
1711         (WebCore::Settings::setHiddenPageDOMTimerAlignmentInterval):
1712         (WebCore::Settings::hiddenPageDOMTimerAlignmentInterval):
1713         * page/Settings.h:
1714         (Settings):
1715
1716 2012-12-10  peavo@outlook.com  <peavo@outlook.com>
1717
1718         [WinCairo] Compile fix in ImageCairoWin.cpp
1719         https://bugs.webkit.org/show_bug.cgi?id=104554
1720
1721         Reviewed by Brent Fulgham.
1722
1723         * platform/graphics/win/ImageCairoWin.cpp:
1724         (WebCore::BitmapImage::getHBITMAPOfSize): Added parameter.
1725         (WebCore::BitmapImage::drawFrameMatchingSourceSize): Added parameter.
1726
1727 2012-12-10  Mike West  <mkwst@chromium.org>
1728
1729         Log to console when script is blocked by sandbox attributes.
1730         https://bugs.webkit.org/show_bug.cgi?id=104365
1731
1732         Reviewed by Ojan Vafai.
1733
1734         Adds a console message to cover script execution blocked within the
1735         context of a sandboxed frame which lacks the 'allow-scripts' permission.
1736
1737         * bindings/ScriptControllerBase.cpp:
1738         (WebCore::ScriptController::canExecuteScripts):
1739             Log a warning when sandboxing flags block script execution.
1740
1741 2012-12-10  Chris Fleizach  <cfleizach@apple.com>
1742
1743         AX: Crash in NSAccessibilityUnignoredDescendant
1744         https://bugs.webkit.org/show_bug.cgi?id=104468
1745
1746         Reviewed by Anders Carlsson.
1747
1748         This crash occurred because AccessibilityScrollView stopped retaining it's ScrollView pointer.
1749
1750         Unfortunately, there was still a case that didn't correctly clear that variable. 
1751
1752         That case was when a Frame had a new FrameView associated with it. The old FrameView didn't inform the 
1753         accessibility object cache that it should be removed. As a result, when the FrameView deallocated and 
1754         did try to remove, it used the wrong AXObjectCache because it was no longer correctly hooked into the 
1755         document tree.
1756
1757         No new tests. Existing tests will stop crashing.
1758  
1759         * page/Frame.cpp:
1760         (WebCore::Frame::setView): change the name of the method that tells the FrameView to detach
1761         * page/FrameView.cpp:
1762         (WebCore::FrameView::~FrameView):
1763         (WebCore::FrameView::removeFromAXObjectCache): add a method that can be called in multiple places
1764         (WebCore::FrameView::isFrameView):
1765         (WebCore::FrameView::prepareForDetach): detaches scrollbars and accessibility
1766         * page/FrameView.h:
1767         (FrameView):
1768
1769 2012-12-10  Mark Pilgrim  <pilgrim@chromium.org>
1770
1771         [Chromium] Move getPluginsList out of PlatformSupport
1772         https://bugs.webkit.org/show_bug.cgi?id=96507
1773
1774         Reviewed by Darin Fisher.
1775
1776         Part of a refactoring series. See tracking bug 82948.
1777
1778         * WebCore.gypi:
1779         * platform/chromium/PlatformSupport.h:
1780         (PlatformSupport):
1781         * plugins/chromium/PluginDataChromium.cpp:
1782         (WebCore::PluginCache::plugins):
1783         * plugins/chromium/PluginListBuilder.cpp: Added.
1784         (WebKit):
1785         (WebKit::PluginListBuilder::addPlugin):
1786         (WebKit::PluginListBuilder::addMediaTypeToLastPlugin):
1787         (WebKit::PluginListBuilder::addFileExtensionToLastMediaType):
1788         * plugins/chromium/PluginListBuilder.h: Added.
1789         (WebKit):
1790         (PluginListBuilder):
1791         (WebKit::PluginListBuilder::PluginListBuilder):
1792
1793 2012-12-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1794
1795         [GTK] Build GObject DOM bindings as a separate library
1796         https://bugs.webkit.org/show_bug.cgi?id=104527
1797
1798         Reviewed by Xan Lopez.
1799
1800         * bindings/gobject/GNUmakefile.am: Add libWebCoreDOM library.
1801         * bindings/gobject/WebKitDOMBinding.h: Define private macros.
1802         * bindings/gobject/WebKitDOMCustom.h: Don't include webkit/webkitdefines.h.
1803         * bindings/gobject/WebKitDOMEventTarget.h: Ditto.
1804         * bindings/gobject/WebKitDOMObject.h: Ditto.
1805         * bindings/scripts/CodeGeneratorGObject.pm:
1806         (Generate): Don't include webkitglobalsprivate.h.
1807         (WriteData): Don't include webkit/webkitdefines.h.
1808         * bindings/scripts/gobject-generate-headers.pl: Define WEBKIT_API
1809         macro in webkitdomdefines.h.
1810         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
1811         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
1812         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
1813         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
1814         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1815         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1816         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
1817         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
1818         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
1819         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
1820         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
1821         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
1822         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
1823         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
1824         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1825         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1826         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
1827         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
1828         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
1829         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
1830         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
1831         * bindings/scripts/test/GObject/WebKitDOMTestNode.h:
1832         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1833         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1834         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
1835         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h:
1836         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1837         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1838
1839 2012-12-10  Adam Klein  <adamk@chromium.org>
1840
1841         In InbandTextTrackPrivate, return emptyAtoms instead of emptyString() by default.
1842
1843         Unreviewed build fix.
1844
1845         * platform/graphics/InbandTextTrackPrivate.h:
1846         (WebCore::InbandTextTrackPrivate::label):
1847         (WebCore::InbandTextTrackPrivate::language):
1848
1849 2012-12-10  Ilya Tikhonovsky  <loislo@chromium.org>
1850
1851         Web Inspector: Native Memory Instrumentation: instrument RenderBox descendants.
1852         https://bugs.webkit.org/show_bug.cgi?id=104026
1853
1854         Reviewed by Eric Seidel.
1855
1856         Plain vanilla instrumentation for RenderBox descendants.
1857
1858         * rendering/RenderFrameSet.cpp:
1859         (WebCore::RenderFrameSet::reportMemoryUsage):
1860         (WebCore):
1861         (WebCore::RenderFrameSet::GridAxis::reportMemoryUsage):
1862         * rendering/RenderFrameSet.h:
1863         (RenderFrameSet):
1864         (GridAxis):
1865         * rendering/RenderListMarker.cpp:
1866         (WebCore::RenderListMarker::reportMemoryUsage):
1867         (WebCore):
1868         * rendering/RenderListMarker.h:
1869         (RenderListMarker):
1870         * rendering/RenderReplaced.cpp:
1871         (WebCore::RenderReplaced::reportMemoryUsage):
1872         (WebCore):
1873         * rendering/RenderReplaced.h:
1874         (RenderReplaced):
1875         * rendering/RenderTableCol.cpp:
1876         (WebCore::RenderTableCol::reportMemoryUsage):
1877         (WebCore):
1878         * rendering/RenderTableCol.h:
1879         (RenderTableCol):
1880         * rendering/RenderTableRow.cpp:
1881         (WebCore::RenderTableRow::reportMemoryUsage):
1882         (WebCore):
1883         * rendering/RenderTableRow.h:
1884         (RenderTableRow):
1885         * rendering/RenderTableSection.cpp:
1886         (WebCore::RenderTableSection::reportMemoryUsage):
1887         (WebCore):
1888         (WebCore::RenderTableSection::RowStruct::reportMemoryUsage):
1889         (WebCore::RenderTableSection::CellStruct::reportMemoryUsage):
1890         * rendering/RenderTableSection.h:
1891         (CellStruct):
1892         (RowStruct):
1893
1894 2012-12-10  Alejandro Piñeiro  <apinheiro@igalia.com>
1895
1896         AX: wrong Enabled states on a ListBox
1897         https://bugs.webkit.org/show_bug.cgi?id=104483
1898
1899         Reviewed by Chris Fleizach.
1900
1901         Test: accessibility/listbox-enabled-states.html
1902
1903         * accessibility/AccessibilityListBoxOption.cpp:
1904         (WebCore::AccessibilityListBoxOption::isEnabled): taking into
1905         account the DISABLED attribute and the aria-disabled attribute to
1906         decide if the item is enabled or not.
1907
1908 2012-12-10  Adam Klein  <adamk@chromium.org>
1909
1910         cr-win build fix after r137161.
1911
1912         Unreviewed.
1913
1914         * platform/graphics/MediaPlayer.h: Replace forward-decl of
1915         InbandTextTrackPrivate with #include as the definition is required.
1916
1917 2012-12-10  Alexis Menard  <alexis@webkit.org>
1918
1919         [CSS3 Backgrounds and Borders] Remove CSS3_BACKGROUND feature flag.
1920         https://bugs.webkit.org/show_bug.cgi?id=104539
1921
1922         Reviewed by Antonio Gomes.
1923
1924         As discussed on webkit-dev it is not needed to keep this feature flag 
1925         as support for <position> type is a small feature that is already 
1926         implemented by three other UAs. It was useful while landing this 
1927         feature as partial bits were landed one after one.
1928
1929         No new tests : the feature is covered by various tests and it is already enabled in many ports.
1930
1931         * Configurations/FeatureDefines.xcconfig:
1932         * GNUmakefile.am:
1933         * GNUmakefile.features.am:
1934         * css/CSSParser.cpp:
1935         (WebCore::CSSParser::parseFillPosition):
1936         (WebCore::CSSParser::parseFillProperty):
1937         * css/CSSParser.h:
1938         * css/CSSToStyleMap.cpp:
1939         (WebCore::CSSToStyleMap::mapFillXPosition):
1940         (WebCore::CSSToStyleMap::mapFillYPosition):
1941         * rendering/style/FillLayer.cpp:
1942         (SameSizeAsFillLayer):
1943         (WebCore::FillLayer::FillLayer):
1944         (WebCore::FillLayer::operator=):
1945         (WebCore::FillLayer::operator==):
1946         (WebCore::FillLayer::fillUnsetProperties):
1947         * rendering/style/FillLayer.h:
1948         (WebCore::FillLayer::backgroundXOrigin):
1949         (WebCore::FillLayer::backgroundYOrigin):
1950         (WebCore::FillLayer::isBackgroundOriginSet):
1951         (WebCore::FillLayer::clearXPosition):
1952         (WebCore::FillLayer::clearYPosition):
1953         (FillLayer):
1954
1955 2012-12-10  Eric Carlson  <eric.carlson@apple.com>
1956
1957         Add support for in-band text tracks to Mac port
1958         https://bugs.webkit.org/show_bug.cgi?id=103663
1959
1960         Reviewed by Sam Weinig.
1961
1962         Test: media/track/track-in-band.html
1963
1964         * GNUmakefile.list.am: Move InbandTextTrackPrivate.h to platform/graphics. Add InbandTextTrackPrivateClient.h.
1965         * Target.pri: Ditto.
1966         * WebCore.gypi: Ditto.
1967
1968         * WebCore.xcodeproj/project.pbxproj: Add new files.
1969
1970         * html/HTMLMediaElement.cpp:
1971         (WebCore::HTMLMediaElement::setReadyState): No need to call processInbandTextTracks, in-band tracks
1972             are now registered by the media engine as they are discovered.
1973         (WebCore::HTMLMediaElement::mediaPlayerDidAddTrack): New, called by the media player when a new
1974             in-band track is found.
1975         (WebCore::HTMLMediaElement::mediaPlayerDidRemoveTrack): New, called by the media player when an
1976             in-band track goes away.
1977         * html/HTMLMediaElement.h:
1978
1979         * html/track/InbandTextTrack.cpp:
1980         (WebCore::InbandTextTrack::InbandTextTrack): Use m_private instead of tracksPrivate because
1981             it is zeroed during assignment.
1982
1983         * platform/graphics/MediaPlayer.cpp:
1984         (WebCore::MediaPlayer::addTextTrack): New MediaPlayerClient method to allow MediaPlayerPrivate subclasses
1985             to add a new in-band track.
1986         (WebCore::MediaPlayer::removeTextTrack): New MediaPlayerClient method to allow MediaPlayerPrivate subclasses
1987             to remove a new in-band track.
1988         * platform/graphics/MediaPlayer.h:
1989         * platform/graphics/MediaPlayerPrivate.h:
1990
1991         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Added.
1992         (WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF):
1993         (WebCore::InbandTextTrackPrivateAVF::~InbandTextTrackPrivateAVF):
1994         (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Convert an attribute string into WebVTT 
1995             cue setting and content strings.
1996         (WebCore::InbandTextTrackPrivateAVF::processCue): Process a new cue.
1997         (WebCore::InbandTextTrackPrivateAVF::disconnect): Clear member variables.
1998         (WebCore::InbandTextTrackPrivateAVF::resetCueValues): Reset cue values to defaults.
1999         (WebCore::InbandTextTrackPrivateAVF::setMode): Set track mode and call player's trackModeChanged.
2000         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Added.
2001
2002         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Initialize 
2003             m_inbandTrackConfigurationPending.
2004         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
2005         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Flush the currently accumulating
2006             cue so it doesn't get the wrong duration.
2007         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Handle InbandTracksNeedConfiguration.
2008         (WebCore::MediaPlayerPrivateAVFoundation::flushCurrentCue): New, pass the current cue up to the client.
2009         (WebCore::MediaPlayerPrivateAVFoundation::configureInbandTracks): Configure in-band tracks.
2010         (WebCore::MediaPlayerPrivateAVFoundation::trackModeChanged): Schedule a call to configureInbandTracks.
2011         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2012
2013         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h: Added.
2014         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm: Added.
2015         (WebCore::InbandTextTrackPrivateAVFObjC::InbandTextTrackPrivateAVFObjC):
2016         (WebCore::InbandTextTrackPrivateAVFObjC::disconnect):
2017         (WebCore::InbandTextTrackPrivateAVFObjC::kind): Return track kind.
2018         (WebCore::InbandTextTrackPrivateAVFObjC::label): Return track label.
2019         (WebCore::InbandTextTrackPrivateAVFObjC::language): Return track language.
2020         (WebCore::InbandTextTrackPrivateAVFObjC::isDefault): 
2021         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2022         (MediaPlayerPrivateAVFoundationObjC):
2023         (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItem):
2024         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2025         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize m_currentTrack.
2026         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Clear m_legibleOutput.
2027         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Create and initialize m_legibleOutput.
2028         (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Called when the player item's
2029             "tracks" changes, add and remove in-band text tracks as necessary.
2030         (WebCore::MediaPlayerPrivateAVFoundationObjC::processCue): Pass an attributed string to the current 
2031             track to be processed.
2032         (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Tell AVFoundation to select an in-band track.
2033         (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTrack): Return the current track.
2034         (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]): Legible
2035             output delegate.
2036
2037 2012-12-10  Pavel Feldman  <pfeldman@chromium.org>
2038
2039         Web Inspector: fix front-end compilation warnings
2040         https://bugs.webkit.org/show_bug.cgi?id=104557
2041
2042         Reviewed by Alexander Pavlov.
2043
2044         Corresponding annotations added.
2045
2046         * inspector/Inspector.json:
2047         * inspector/InspectorDOMAgent.cpp:
2048         (WebCore::InspectorDOMAgent::highlightNode):
2049         * inspector/InspectorDOMAgent.h:
2050         (InspectorDOMAgent):
2051         * inspector/front-end/CSSStyleModel.js:
2052         (WebInspector.CSSStyleDeclaration.prototype.):
2053         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
2054         * inspector/front-end/ConsoleMessage.js:
2055         (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreview):
2056         * inspector/front-end/DOMAgent.js:
2057         (WebInspector.DOMAgent.prototype.highlightDOMNode):
2058         * inspector/front-end/DOMPresentationUtils.js:
2059         (WebInspector.DOMPresentationUtils.linkifyNodeReference):
2060         * inspector/front-end/ObjectPropertiesSection.js:
2061         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2062         * inspector/front-end/Toolbar.js:
2063
2064 2012-12-10  Zeno Albisser  <zeno@webkit.org>
2065
2066         [Qt] MediaPlayerQTKit broken after switching QPainter to raster engine.
2067         https://bugs.webkit.org/show_bug.cgi?id=104550
2068
2069         With Qt5 QPainter changed to using the raster engine.
2070         Therefore we no longer have an NSGraphicsContext that we can
2071         use for drawing video frames.
2072         With this patch we are rendering the video frame into an image buffer
2073         and then paint it manually using QPainter.
2074
2075         Reviewed by Simon Hausmann.
2076
2077         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2078         (WebCore):
2079         (WebCore::swapBgrToRgb):
2080             Swap the color format from BGR to RGB,
2081             since BGR is not supported by QImage.
2082         (WebCore::MediaPlayerPrivateQTKit::paint):
2083
2084 2012-12-10  peavo@outlook.com  <peavo@outlook.com>
2085
2086         [WinCairo] Link fix in InspectorController.cpp
2087         https://bugs.webkit.org/show_bug.cgi?id=104556
2088
2089         Reviewed by Pavel Feldman.
2090
2091         * inspector/InspectorController.cpp:
2092         (WebCore::InspectorController::InspectorController): Added missing #if check.
2093
2094 2012-12-10  Pavel Feldman  <pfeldman@chromium.org>
2095
2096         Web Inspector: remove the Overrides / Settings context menu from gear icon
2097         https://bugs.webkit.org/show_bug.cgi?id=104546
2098
2099         Reviewed by Alexander Pavlov.
2100
2101         It sounds like too many people don't like the way it works. Bringing things back: overrides will be a tab in settings for now.
2102         Moving present behavior to under experiment.
2103
2104         * inspector/front-end/OverridesView.js:
2105         (WebInspector.OverridesView):
2106         * inspector/front-end/Settings.js:
2107         (WebInspector.ExperimentsSettings):
2108         * inspector/front-end/SettingsScreen.js:
2109         (WebInspector.OverridesSettingsTab):
2110         (WebInspector.SettingsController):
2111         (WebInspector.SettingsController.prototype.get statusBarItem):
2112         (WebInspector.SettingsController.prototype._mouseDown.showSettings):
2113         (WebInspector.SettingsController.prototype._mouseDown):
2114         (WebInspector.SettingsController.prototype._mouseUp):
2115         * inspector/front-end/helpScreen.css:
2116         (#settings-screen .tabbed-pane-header):
2117         (#settings-screen .tabbed-pane-header-tabs):
2118         (#settings-screen .tabbed-pane-header-tab):
2119
2120 2012-12-10  Kent Tamura  <tkent@chromium.org>
2121
2122         Visual order of empty value placeholder in INPUT_MULTIPLE_FIELDS_UI is wrong in RTL
2123         https://bugs.webkit.org/show_bug.cgi?id=104438
2124
2125         Reviewed by Hajime Morita.
2126
2127         No new tests. This updates datetimelocal-appearance-l10n.html for he-il
2128         and ar-eg locales.
2129
2130         * html/shadow/DateTimeNumericFieldElement.cpp:
2131         (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
2132         We should not append Right-to-left-mark to each of placeholder
2133         strings. It makes numeric field separators such as ':' and '/' RTL, and
2134         makes a wrong visual order. We use unicode-bidi:bidi-override and
2135         direction:ltr instead. It means we force LTR only to this element
2136         * html/shadow/DateTimeNumericFieldElement.h:
2137         Makes m_placeholder const again.
2138         * html/shadow/DateTimeEditElement.cpp:
2139         (WebCore::DateTimeEditBuilder::visitLiteral):
2140         Explicitly set right-to-left-mark before S, WS, ON types according to
2141         Unicod Bidirectional Algorithm Table 4 [1]. This is needed because we
2142         don't have context like "This literal follows European/Arabic numbers"
2143         in a case of showing placeholders.
2144         [1] http://www.unicode.org/reports/tr9/#Bidirectional_Character_Types
2145
2146 2012-12-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2147
2148         [Soup] utilize multipart/x-mixed-replace support recently added to libsoup
2149         https://bugs.webkit.org/show_bug.cgi?id=94515
2150
2151         Reviewed by Martin Robinson.
2152
2153         The multipart/x-mixed-replace content type is often used for providing
2154         "push" server support, with each part in the multipart response
2155         replacing the previous one in the rendering. Soup recently acquired
2156         support for multipart/x-mixed replace, which this change utilizes.
2157
2158         Covered by existing multipart/x-mixed-replace tests.
2159
2160         * platform/network/ResourceHandleInternal.h:
2161         (ResourceHandleInternal): add new member to this class, the multipart input stream
2162         * platform/network/soup/ResourceHandleSoup.cpp:
2163         (WebCore::cleanupSoupRequestOperation): also clear the multipart input stream on
2164         cleanup
2165         (WebCore::nextPartCallback): callback that handles reporting the new response delivered
2166         with the new part, if any; uses the factored out updateFromSoupMessageHeaders method
2167         (WebCore::sendRequestCallback): handle multipart/x-mixed-replace responses by
2168         requesting the next part
2169         (WebCore::readCallback): when reading has finished, request the next part when
2170         handling a multipart/x-mixed-replace response
2171         * platform/network/soup/ResourceResponse.h:
2172         (ResourceResponse): add declaration for new method
2173         * platform/network/soup/ResourceResponseSoup.cpp:
2174         (WebCore::ResourceResponse::updateFromSoupMessage): call new updateFromSoupMessageHeaders
2175         method, instead of dealing with the message headers directly
2176         (WebCore::ResourceResponse::updateFromSoupMessageHeaders): new method, factored out from
2177         updateFromSoupMessage, so this same code can be reused for updating responses for
2178         multipart/x-mixed-replace responses parts
2179
2180 2012-12-10  Zoltan Nyul  <zoltan.nyul@intel.com>
2181
2182         Implement testRunner.setViewModeMediaFeature() in WebKitTestRunner
2183         https://bugs.webkit.org/show_bug.cgi?id=103886
2184
2185         Reviewed by Kenneth Rohde Christiansen.
2186
2187         Export symbol for WebCore::Page::setViewMode on Mac.
2188
2189         No new tests, no behavior change for layout tests.
2190
2191         * WebCore.exp.in:
2192
2193 2012-12-10  Martin Robinson  <mrobinson@igalia.com>
2194
2195         [GTK] Bring Harfbuzz-ng support to Gtk
2196         https://bugs.webkit.org/show_bug.cgi?id=92098
2197
2198         Reviewed by Gustavo Noronha Silva.
2199
2200         Enable HarfBuzz support by default. With the Freetype backend we no longer
2201         fall back to Pango for rendering complex text.
2202
2203         No new tests. This is covered by existing tests.
2204
2205         * GNUmakefile.am: Add HarfBuzz include directories and define.
2206         * GNUmakefile.list.am: Add HarfBuzz files to source list and remove
2207         Pango ones.
2208         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2209         (WebCore::FontPlatformData::operator==): To properly render fallback
2210         fonts via HarfBuzz , it's important that we actually ask Fontconfig
2211         whether or not two patterns are the same. This ensures that when patterns
2212         are just copies of one another they only take up one slot in the font cache
2213         and appear to be the same font to HarfBuzzShaper.
2214
2215 2012-12-10  Alexander Pavlov  <apavlov@chromium.org>
2216
2217         Web Inspector: [Overrides] Unable to change values in Device Metrics override setting
2218         https://bugs.webkit.org/show_bug.cgi?id=104542
2219
2220         Reviewed by Vsevolod Vlasov.
2221
2222         Remove inadvertent object property assignment.
2223
2224         * inspector/front-end/OverridesView.js:
2225
2226 2012-12-10  Michael Brüning  <michael.bruning@digia.com>
2227
2228         [Qt] Builds for Mac are tied to the OS system instead of the SDK version.
2229         https://bugs.webkit.org/show_bug.cgi?id=104529
2230
2231         Reviewed by Simon Hausmann.
2232
2233         Using work by Eike Ziller <eike.ziller@digia.com>.
2234
2235         The build system now first tries to assign the correct system libraries
2236         for the SDK being used for Mac builds. If this does not yield any
2237         result, it falls back to using the Mac OS version to determine the
2238         correct library.
2239
2240         No new tests (not applicable).
2241
2242         * WebCore.pri:
2243
2244 2012-12-10  Ilya Tikhonovsky  <loislo@chromium.org>
2245
2246         Unreviewed: touch RenderingAllInOne.cpp to fix Apple Windows builder.
2247
2248         * rendering/RenderingAllInOne.cpp:
2249
2250 2012-12-10  Eugene Klyuchnikov  <eustas@chromium.org>
2251
2252         Web Inspector: Network: newly added items are not filtered.
2253         https://bugs.webkit.org/show_bug.cgi?id=104021
2254
2255         Reviewed by Vsevolod Vlasov.
2256
2257         Extracted method to higlight/hide record according to filter.
2258         Used this method to process newly created records.
2259
2260         * inspector/front-end/NetworkPanel.js:
2261         (WebInspector.NetworkLogView.prototype._applyFilter): Extracted.
2262         (WebInspector.NetworkLogView.prototype.performFilter): Refactored.
2263
2264 2012-12-09  Ilya Tikhonovsky  <loislo@chromium.org>
2265
2266         Web Inspector: Unreviewed: move reportMemoryUsage to public section.
2267
2268         * rendering/RenderBlock.h:
2269         (RenderBlock):
2270         * rendering/RenderBox.h:
2271         (RenderBox):
2272
2273 2012-12-08  Pavel Feldman  <pfeldman@chromium.org>
2274
2275         Web Inspector: adds an option to remove toolbar icons.
2276         https://bugs.webkit.org/show_bug.cgi?id=95654
2277
2278         Reviewed by Vsevolod Vlasov.
2279
2280         - removes compact mode in favor or dock-to-bottom
2281         - introduces setting for hiding toolbar icons
2282
2283         * inspector/front-end/DockController.js:
2284         (WebInspector.DockController.prototype._toggleDockState):
2285         * inspector/front-end/Settings.js:
2286         (WebInspector.ExperimentsSettings):
2287         * inspector/front-end/Toolbar.js:
2288         (WebInspector.Toolbar.prototype.setDockedToBottom):
2289         (WebInspector.Toolbar.prototype._toolbarDragStart):
2290         (WebInspector.Toolbar.prototype._toolbarDrag):
2291         * inspector/front-end/helpScreen.css:
2292         (body.dock-to-bottom .help-content):
2293         * inspector/front-end/inspector.css:
2294         (body.dock-to-bottom #toolbar):
2295         (body.no-toolbar-icons #toolbar):
2296         (body.dock-to-bottom.port-qt #toolbar):
2297         (body.dock-to-bottom.inactive #toolbar):
2298         (body.no-toolbar-icons .toolbar-item.toggleable):
2299         (body.dock-to-bottom .toolbar-item.toggleable):
2300         (body.dock-to-bottom .toolbar-icon):
2301         (body.no-toolbar-icons .toolbar-icon):
2302         (body.no-toolbar-icons #main):
2303         (body.dock-to-bottom .toolbar-icon.custom-toolbar-icon):
2304         (body.dock-to-bottom .toolbar-item:active .toolbar-icon):
2305         (body.dock-to-bottom .toolbar-label):
2306         (body.dock-to-bottom #search-toolbar-label):
2307         (body.no-toolbar-icons .toolbar-label):
2308         (body.no-toolbar-icons #toolbar-dropdown):
2309         (#toolbar-dropdown .scrollable-content):
2310         (#toolbar-dropdown .toolbar-item.toggleable:hover):
2311         (body.no-toolbar-icons #toolbar-dropdown .toolbar-label):
2312         (body.no-toolbar-icons #toolbar-dropdown .toolbar-item):
2313         (body.dock-to-bottom .toolbar-item.resources .toolbar-icon):
2314         (body.dock-to-bottom .toolbar-item.network .toolbar-icon):
2315         (body.dock-to-bottom .toolbar-item.scripts .toolbar-icon):
2316         (body.dock-to-bottom .toolbar-item.timeline .toolbar-icon):
2317         (body.dock-to-bottom .toolbar-item.profiles .toolbar-icon):
2318         (body.dock-to-bottom .toolbar-item.audits .toolbar-icon):
2319         (body.dock-to-bottom .toolbar-item.console .toolbar-icon):
2320         (body.dock-to-bottom.port-qt .toolbar-item.close-left, body.dock-to-bottom.port-qt .toolbar-item.close-right):
2321         (body.dock-to-bottom #main):
2322
2323 2012-12-10  Kent Tamura  <tkent@chromium.org>
2324
2325         Refactoring: Remove HTMLFormControlElement::autofocus
2326         https://bugs.webkit.org/show_bug.cgi?id=104524
2327
2328         Reviewed by Kentaro Hara.
2329
2330         autofocus function is used only by HTMLFormControlElement itself, no
2331         sub-classes override it, and it is not exposed via an IDL attribute,
2332
2333         No new tests. This doesn't make any behavior changes.
2334
2335         * html/HTMLFormControlElement.cpp:
2336         (WebCore::shouldAutofocus): Use fastHasAttribute instead of autofocus().
2337         * html/HTMLFormControlElement.h: Remove autofocus().
2338
2339 2012-12-10  Jonathan Liu  <net147@gmail.com>
2340
2341         Fix GC3Dintptr and GC3Dsizeiptr typedefs for Win64
2342         https://bugs.webkit.org/show_bug.cgi?id=104426
2343
2344         Reviewed by Simon Hausmann.
2345
2346         The GC3Dintptr and GC3Dsizeiptr typedefs are incorrect for Win64 as
2347         LLP64 is used there. This would result in compile error due to
2348         narrowing conversion of 64-bit pointer to signed long int which is
2349         32-bit.
2350
2351         * platform/graphics/GraphicsTypes3D.h:
2352
2353 2012-12-10  Kent Tamura  <tkent@chromium.org>
2354
2355         Refactoring: Introduce HTMLFormControlElement::isDisabledOrReadOnly
2356         https://bugs.webkit.org/show_bug.cgi?id=104508
2357
2358         Reviewed by Kentaro Hara.
2359
2360         We have a lot of code like element->disabled || element->readOnly().
2361         isDisabledOrReadOnly makes them simpler.
2362
2363         No new tests. This make no behaivor change.
2364
2365         * html/HTMLFormControlElement.h:
2366         (WebCore::HTMLFormControlElement::isDisabledOrReadOnly):
2367         Added. Note that the implmentation of disabled() is not just "return m_disabled;".
2368
2369         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
2370         (WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent):
2371         Use isDisabledOrReadOnly.
2372         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2373         (WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldSpinButtonRespondToMouseEvents): Ditto.
2374         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isPickerIndicatorOwnerDisabledOrReadOnly): Ditto.
2375         * html/ColorInputType.cpp:
2376         (WebCore::ColorInputType::handleDOMActivateEvent): Ditto.
2377         (WebCore::ColorInputType::didChooseColor): Ditto.
2378         * html/HTMLFormControlElement.cpp:
2379         (WebCore::HTMLFormControlElement::recalcWillValidate): Ditto.
2380         * html/HTMLTextAreaElement.h:
2381         (WebCore::HTMLTextAreaElement::valueMissing): Ditto.
2382         * html/RangeInputType.cpp:
2383         (WebCore::RangeInputType::handleMouseDownEvent): Ditto.
2384         (WebCore::RangeInputType::handleTouchEvent): Ditto.
2385         (WebCore::RangeInputType::handleKeydownEvent): Ditto.
2386         * html/SearchInputType.cpp:
2387         (WebCore::SearchInputType::handleKeydownEvent): Ditto.
2388         * html/TextFieldInputType.cpp:
2389         (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): Ditto.
2390         (WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents): Ditto.
2391         * html/shadow/TextControlInnerElements.cpp:
2392         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Ditto.
2393         (WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents): Ditto.
2394         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Ditto.
2395         * html/shadow/TextFieldDecorationElement.cpp:
2396         (WebCore::TextFieldDecorationElement::defaultEventHandler): Ditto.
2397         (WebCore::TextFieldDecorationElement::willRespondToMouseMoveEvents): Ditto.
2398         (WebCore::TextFieldDecorationElement::willRespondToMouseClickEvents): Ditto.
2399
2400 2012-12-10  Pavel Feldman  <pfeldman@chromium.org>
2401
2402         Web Inspector: console broken? - console.dirxml behaves like console.log
2403         https://bugs.webkit.org/show_bug.cgi?id=104245
2404
2405         Reviewed by Vsevolod Vlasov.
2406
2407         Do not generate preview for dirxml.
2408
2409         * inspector/front-end/ConsoleMessage.js:
2410         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
2411
2412 2012-12-10  Kent Tamura  <tkent@chromium.org>
2413
2414         Refactoring: Remove HTMLFormControlElement::setDisabled
2415         https://bugs.webkit.org/show_bug.cgi?id=104510
2416
2417         Reviewed by Kentaro Hara.
2418
2419         Remove it because the number of call sites is only one, and the
2420         setDisabled implementation is equivalent to setBooleanAttribute.
2421
2422         No new tests. This should not make behavior changes.
2423
2424         * html/HTMLFormControlElement.cpp: Remove setDisabled.
2425         * html/HTMLFormControlElement.h: Ditto.
2426         * html/FileInputType.cpp:
2427         (WebCore::FileInputType::disabledAttributeChanged):
2428         Replace setDisabled with setBooleanAttribute.
2429
2430 2012-12-10  Hajime Morrita  <morrita@google.com>
2431
2432         [Shadow DOM][Refacdtoring] nextTo() and previousTo() can be part of ContentDistribution
2433         https://bugs.webkit.org/show_bug.cgi?id=104514
2434
2435         Reviewed by Kentaro Hara.
2436
2437         InsertionPoint::nextTo() and InsertionPoint::previousTo() are an
2438         query to distributed nodes, which is what ContentDistribution
2439         represents. We can move them to better home.
2440
2441         No new tests. No behavior change.
2442
2443         * html/shadow/ContentDistributor.cpp:
2444         (WebCore::ContentDistribution::nextTo): Moved from InsertionPoint
2445         (WebCore):
2446         (WebCore::ContentDistribution::previousTo): Moved from InsertionPoint
2447         * html/shadow/ContentDistributor.h:
2448         (ContentDistribution):
2449         * html/shadow/InsertionPoint.cpp:
2450         * html/shadow/InsertionPoint.h:
2451         (WebCore::InsertionPoint::nextTo): Delegated to ContentDistribution
2452         (WebCore::InsertionPoint::previousTo): Delegated to ContentDistribution
2453
2454 2012-12-10  Joanmarie Diggs  <jdiggs@igalia.com>
2455
2456         [GTK] accessibility/language-attribute.html is failing
2457         https://bugs.webkit.org/show_bug.cgi?id=98369
2458
2459         Reviewed by Chris Fleizach.
2460
2461         The test is failing for two reasons: Not exposing the language
2462         for accessible objects and AccessibilityUIElement::language() not
2463         being implemented.
2464
2465         No new tests; instead, unskipped the previously-failing test.
2466
2467         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2468         (getAttributeSetForAccessibilityObject): Expose the language via AtkText attribute
2469
2470 2012-12-09  Takashi Sakamoto  <tasak@google.com>
2471
2472         [Shadow DOM]: reset-style-inheritance doesn't work for insertion point
2473         https://bugs.webkit.org/show_bug.cgi?id=103711
2474
2475         Reviewed by Hajime Morita.
2476
2477         reset-style-inheritance can be specified by using insertion points'
2478         attribute, e.g. <content reset-style-inheritance>.
2479         c.f. shadow dom spec:
2480         https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles
2481
2482         No new tests. Updated an existing test,
2483         fast/dom/shadow/insertion-point-resetStyleInheritance.html to cover
2484         this feature.
2485
2486         * html/HTMLAttributeNames.in:
2487         Added HTMLNames::reset_style_inheritanceAttr.
2488         * html/shadow/InsertionPoint.cpp:
2489         (WebCore::InsertionPoint::InsertionPoint):
2490         (WebCore::InsertionPoint::parseAttribute):
2491         Since both shadow and content elements have to support
2492         reset-style-inheritance, added InsertionPoint::parseAttribute.
2493         (WebCore::InsertionPoint::resetStyleInheritance):
2494         (WebCore::InsertionPoint::setResetStyleInheritance):
2495         Modified to update reset-style-inheritance attribute value.
2496         * html/shadow/InsertionPoint.h:
2497         (InsertionPoint):
2498         Removed m_shouldResetStyleInheritance. Instead, use
2499         reset-style-inheritance attribute value.
2500
2501 2012-12-09  Ilya Tikhonovsky  <loislo@chromium.org>
2502
2503         Native Memory Instrumentation: instrument a part of RenderObject class tree.
2504         https://bugs.webkit.org/show_bug.cgi?id=103564
2505
2506         Reviewed by Eric Seidel.
2507
2508         Many RenderObject descendants have OwnPtrs and RefPtrs members.
2509         Looks like we have to instrument all the RenderObject classes and visit
2510         all the render objects instead of counting entire render arena memory.
2511
2512         * WebCore.exp.in:
2513         * dom/Node.cpp:
2514         (WebCore::Node::reportMemoryUsage):
2515         * dom/WebCoreMemoryInstrumentation.cpp:
2516         (WebCore):
2517         * inspector/InspectorMemoryAgent.cpp:
2518         (WebCore::reportRenderTreeInfo):
2519         (WebCore):
2520         * platform/PlatformMemoryInstrumentation.cpp:
2521         (WebCore):
2522         * platform/PlatformMemoryInstrumentation.h:
2523         (PlatformMemoryTypes):
2524         * platform/graphics/GraphicsLayer.cpp:
2525         (WebCore::GraphicsLayer::reportMemoryUsage):
2526         (WebCore):
2527         * platform/graphics/GraphicsLayer.h:
2528         (GraphicsLayer):
2529         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2530         (WebCore::GraphicsLayerChromium::reportMemoryUsage):
2531         (WebCore):
2532         * platform/graphics/chromium/GraphicsLayerChromium.h:
2533         (GraphicsLayerChromium):
2534         * rendering/RenderBlock.cpp:
2535         (WebCore::RenderBlock::reportMemoryUsage):
2536         (WebCore):
2537         * rendering/RenderBlock.h:
2538         (RenderBlock):
2539         * rendering/RenderBox.cpp:
2540         (WebCore::RenderBox::reportMemoryUsage):
2541         (WebCore):
2542         * rendering/RenderBox.h:
2543         (RenderBox):
2544         * rendering/RenderInline.cpp:
2545         (WebCore::RenderInline::reportMemoryUsage):
2546         (WebCore):
2547         * rendering/RenderInline.h:
2548         (RenderInline):
2549         * rendering/RenderLayer.cpp:
2550         (WebCore::RenderLayer::reportMemoryUsage):
2551         (WebCore):
2552         * rendering/RenderLayer.h:
2553         (RenderLayer):
2554         * rendering/RenderLayerBacking.cpp:
2555         (WebCore::RenderLayerBacking::reportMemoryUsage):
2556         (WebCore):
2557         * rendering/RenderLayerBacking.h:
2558         (RenderLayerBacking):
2559         * rendering/RenderLayerCompositor.cpp:
2560         (WebCore::RenderLayerCompositor::reportMemoryUsage):
2561         (WebCore):
2562         * rendering/RenderLayerCompositor.h:
2563         (RenderLayerCompositor):
2564         * rendering/RenderLayerModelObject.cpp:
2565         (WebCore::RenderLayerModelObject::reportMemoryUsage):
2566         (WebCore):
2567         * rendering/RenderLayerModelObject.h:
2568         (RenderLayerModelObject):
2569         * rendering/RenderObject.cpp:
2570         (WebCore::RenderObject::reportMemoryUsage):
2571         (WebCore):
2572         * rendering/RenderObject.h:
2573         (RenderObject):
2574         * rendering/RenderText.cpp:
2575         (WebCore::RenderText::reportMemoryUsage):
2576         (WebCore):
2577         * rendering/RenderText.h:
2578         (RenderText):
2579         * rendering/RenderView.cpp:
2580         (WebCore::RenderView::reportMemoryUsage):
2581         (WebCore):
2582         * rendering/RenderView.h:
2583         (RenderView):
2584
2585 2012-12-09  Ryosuke Niwa  <rniwa@webkit.org>
2586
2587         REGRESSION (r137003): failures in MicroData tests on EFL, GTK
2588         https://bugs.webkit.org/show_bug.cgi?id=104469
2589
2590         Reviewed by Darin Adler.
2591
2592         Fix the regression by calling propertyNodeList on HTMLPropertiesCollection
2593         in the named getter for HTMLCollection. It's a miracle that the old code prior to r137003
2594         worked at all since the return type of namedItem was different.
2595
2596         Existing tests cover this.
2597
2598         * bindings/js/JSHTMLCollectionCustom.cpp:
2599         (WebCore::JSHTMLCollection::nameGetter):
2600         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2601         (WebCore::V8HTMLCollection::namedPropertyGetter):
2602
2603 2012-12-09  Joanmarie Diggs  <jdiggs@igalia.com>
2604
2605         [GTK] accessibility/placeholder.html is failing
2606         https://bugs.webkit.org/show_bug.cgi?id=98373
2607
2608         Reviewed by Martin Robinson.
2609
2610         The test was failing because the placeholder text was not supported and
2611         AccessibilityUIElement::stringAttributeValue() was not implemented.
2612
2613         No new tests; instead the failing test was unskipped.
2614
2615         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2616         (webkitAccessibleGetAttributes): Add the placeholder text as an AtkAttribute
2617         of the AtkObject, as is done in Gtk+ 3.
2618
2619 2012-12-09  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2620
2621         [EFL] [WebGL] Path is not resized correctly.
2622         https://bugs.webkit.org/show_bug.cgi?id=104458.
2623
2624         Reviewed by Kenneth Rohde Christiansen.
2625
2626         In GraphicsContext3D::paintToCanvas, we flip the contents and draw on the surface.
2627         The operations done to flip the image (translation and scale) are done before rectangle with correct size
2628         is added to current path. This resulted in updating pixels at wrong positions.
2629
2630         Covered by existing tests.
2631
2632         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2633         (WebCore::GraphicsContext3D::paintToCanvas):
2634
2635 2012-12-09  Joone Hur  <joone.hur@intel.com>
2636
2637         [GTK][AC] build fix after r130525 and r133332
2638         https://bugs.webkit.org/show_bug.cgi?id=104491
2639
2640         Reviewed by Martin Robinson.
2641
2642         Build fix for Accelerated Compositing Clutter backend after r130525 and r133332.
2643
2644         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2645         * platform/gtk/RedirectedXCompositeWindow.cpp:
2646         * platform/gtk/RedirectedXCompositeWindow.h:
2647
2648 2012-12-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2649
2650         [GTK] Use GObject casts instead of C++ cast for GObjects in DOM bindings
2651         https://bugs.webkit.org/show_bug.cgi?id=104492
2652
2653         Reviewed by Martin Robinson.
2654
2655         * bindings/scripts/CodeGeneratorGObject.pm:
2656         (GenerateCFile):
2657         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
2658         (WebKit::kit):
2659         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
2660         (WebKit::kit):
2661         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2662         (WebKit::kit):
2663         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
2664         (WebKit::kit):
2665         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
2666         (WebKit::kit):
2667         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
2668         (WebKit::kit):
2669         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
2670         (WebKit::kit):
2671         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
2672         (WebKit::kit):
2673         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
2674         (WebKit::kit):
2675         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
2676         (WebKit::kit):
2677         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
2678         (WebKit::kit):
2679         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2680         (WebKit::kit):
2681         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
2682         (WebKit::kit):
2683         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
2684         (WebKit::kit):
2685
2686 2012-12-09  Pavel Feldman  <pfeldman@chromium.org>
2687
2688         Web Inspector: do not treat object as equal to itself when logging to console
2689         https://bugs.webkit.org/show_bug.cgi?id=104487
2690
2691         Reviewed by Alexander Pavlov.
2692
2693         Otherwise, mutating object in a loop results in the repeat count update instead of generation of the new preview.
2694
2695         Test: inspector/console/console-object-preview.html
2696
2697         * inspector/ConsoleMessage.cpp:
2698         (WebCore::ConsoleMessage::isEqual):
2699
2700 2012-12-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2701
2702         Remove unused code in GObject DOM bindings generator
2703         https://bugs.webkit.org/show_bug.cgi?id=104490
2704
2705         Reviewed by Martin Robinson.
2706
2707         * bindings/scripts/CodeGeneratorGObject.pm:
2708         (GenerateProperties): Remove code to install event listeners and
2709         signals.
2710
2711 2012-12-09  Zan Dobersek  <zandobersek@gmail.com>
2712
2713         Unreviewed update for the GObject bindings after r137074 and r137078.
2714
2715         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
2716         (webkit_dom_test_event_target_dispatch_event):
2717         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
2718         (webkit_dom_test_interface_supplemental_method2):
2719         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2720         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
2721         (webkit_dom_test_obj_method_with_exception):
2722         (webkit_dom_test_obj_with_script_state_void_exception):
2723         (webkit_dom_test_obj_with_script_state_obj_exception):
2724         (webkit_dom_test_obj_with_script_execution_context_and_script_state_obj_exception):
2725         (webkit_dom_test_obj_strict_function):
2726         (webkit_dom_test_obj_get_attr_with_getter_exception):
2727         (webkit_dom_test_obj_set_attr_with_setter_exception):
2728         (webkit_dom_test_obj_get_string_attr_with_getter_exception):
2729         (webkit_dom_test_obj_set_string_attr_with_setter_exception):
2730         (webkit_dom_test_obj_get_with_script_state_attribute_raises):
2731         (webkit_dom_test_obj_get_with_script_execution_context_attribute_raises):
2732         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute_raises):
2733
2734 2012-12-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2735
2736         Fix the GError check in GObject DOM bindings.
2737
2738         Reviewed by Xan Lopez.
2739
2740         Previous commit introduced a check to make sure the passed GError
2741         is valid in all DOM methods receiving an error.
2742
2743         * bindings/scripts/CodeGeneratorGObject.pm:
2744         (GetGReturnMacro): Check that the passed GError either is NULL or
2745         the pointer has been initialized to NULL.
2746
2747 2012-12-09  Leo Yang  <leoyang@rim.com>
2748
2749         [BlackBerry] Adapt to name change of createNetworkBufferByCopyingData()
2750         https://bugs.webkit.org/show_bug.cgi?id=104449
2751
2752         Reviewed by Rob Buis.
2753
2754         Name change no new tests.
2755
2756         * platform/network/blackberry/rss/RSSFilterStream.cpp:
2757         (WebCore::RSSFilterStream::handleRSSContent):
2758
2759 2012-12-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2760
2761         [GTK] Clean up g_return macros usage in GObject DOM bindings
2762         https://bugs.webkit.org/show_bug.cgi?id=101079
2763
2764         Reviewed by Xan Lopez.
2765
2766         Several improvements:
2767
2768           - Move g_return macros at the beginning of the methods.
2769           - Use them only to check parameters of public API.
2770           - Use GObject macros to check GObjects.
2771           - Check also GError parameters.
2772           - Use early returns in kit and core methods, since they should
2773             work even if g_return macros are disabled handling NULL
2774             gracefully.
2775
2776         * bindings/scripts/CodeGeneratorGObject.pm:
2777         (GetGReturnMacro):
2778         (GenerateFunction):
2779         (GenerateCFile):
2780         (Generate):
2781         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
2782         (WebKit::kit):
2783         (WebKit::core):
2784         (WebKit::wrapFloat64Array):
2785         (webkit_dom_float64array_foo):
2786         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
2787         (WebKit::kit):
2788         (WebKit::core):
2789         (WebKit::wrapTestActiveDOMObject):
2790         (webkit_dom_test_active_dom_object_exciting_function):
2791         (webkit_dom_test_active_dom_object_post_message):
2792         (webkit_dom_test_active_dom_object_get_exciting_attr):
2793         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2794         (WebKit::kit):
2795         (WebKit::core):
2796         (WebKit::wrapTestCallback):
2797         (webkit_dom_test_callback_callback_with_no_param):
2798         (webkit_dom_test_callback_callback_with_class1param):
2799         (webkit_dom_test_callback_callback_with_class2param):
2800         (webkit_dom_test_callback_callback_with_non_bool_return_type):
2801         (webkit_dom_test_callback_callback_with_string_list):
2802         (webkit_dom_test_callback_callback_with_boolean):
2803         (webkit_dom_test_callback_callback_requires_this_to_pass):
2804         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
2805         (WebKit::kit):
2806         (WebKit::core):
2807         (WebKit::wrapTestCustomNamedGetter):
2808         (webkit_dom_test_custom_named_getter_another_function):
2809         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
2810         (WebKit::kit):
2811         (WebKit::core):
2812         (WebKit::wrapTestEventConstructor):
2813         (webkit_dom_test_event_constructor_get_attr1):
2814         (webkit_dom_test_event_constructor_get_attr2):
2815         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
2816         (WebKit::kit):
2817         (WebKit::core):
2818         (WebKit::wrapTestEventTarget):
2819         (webkit_dom_test_event_target_item):
2820         (webkit_dom_test_event_target_dispatch_event):
2821         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
2822         (WebKit::kit):
2823         (WebKit::core):
2824         (WebKit::wrapTestException):
2825         (webkit_dom_test_exception_get_name):
2826         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
2827         (WebKit::kit):
2828         (WebKit::core):
2829         (WebKit::wrapTestInterface):
2830         (webkit_dom_test_interface_supplemental_method1):
2831         (webkit_dom_test_interface_supplemental_method2):
2832         (webkit_dom_test_interface_supplemental_method4):
2833         (webkit_dom_test_interface_get_supplemental_str1):
2834         (webkit_dom_test_interface_get_supplemental_str2):
2835         (webkit_dom_test_interface_set_supplemental_str2):
2836         (webkit_dom_test_interface_get_supplemental_node):
2837         (webkit_dom_test_interface_set_supplemental_node):
2838         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
2839         (WebKit::kit):
2840         (WebKit::core):
2841         (WebKit::wrapTestMediaQueryListListener):
2842         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
2843         (WebKit::kit):
2844         (WebKit::core):
2845         (WebKit::wrapTestNamedConstructor):
2846         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
2847         (WebKit::kit):
2848         (WebKit::core):
2849         (WebKit::wrapTestNode):
2850         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2851         (WebKit::kit):
2852         (WebKit::core):
2853         (WebKit::wrapTestObj):
2854         (webkit_dom_test_obj_void_method):
2855         (webkit_dom_test_obj_void_method_with_args):
2856         (webkit_dom_test_obj_long_method):
2857         (webkit_dom_test_obj_long_method_with_args):
2858         (webkit_dom_test_obj_obj_method):
2859         (webkit_dom_test_obj_obj_method_with_args):
2860         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
2861         (webkit_dom_test_obj_serialized_value):
2862         (webkit_dom_test_obj_idb_key):
2863         (webkit_dom_test_obj_options_object):
2864         (webkit_dom_test_obj_method_with_exception):
2865         (webkit_dom_test_obj_with_script_state_void):
2866         (webkit_dom_test_obj_with_script_state_obj):
2867         (webkit_dom_test_obj_with_script_state_void_exception):
2868         (webkit_dom_test_obj_with_script_state_obj_exception):
2869         (webkit_dom_test_obj_with_script_execution_context):
2870         (webkit_dom_test_obj_with_script_execution_context_and_script_state):
2871         (webkit_dom_test_obj_with_script_execution_context_and_script_state_obj_exception):
2872         (webkit_dom_test_obj_with_script_execution_context_and_script_state_with_spaces):
2873         (webkit_dom_test_obj_method_with_optional_arg):
2874         (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
2875         (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
2876         (webkit_dom_test_obj_method_with_optional_string):
2877         (webkit_dom_test_obj_method_with_optional_string_is_undefined):
2878         (webkit_dom_test_obj_method_with_optional_string_is_null_string):
2879         (webkit_dom_test_obj_conditional_method1):
2880         (webkit_dom_test_obj_conditional_method2):
2881         (webkit_dom_test_obj_conditional_method3):
2882         (webkit_dom_test_obj_class_method):
2883         (webkit_dom_test_obj_class_method_with_optional):
2884         (webkit_dom_test_obj_overloaded_method1):
2885         (webkit_dom_test_obj_convert1):
2886         (webkit_dom_test_obj_convert2):
2887         (webkit_dom_test_obj_convert4):
2888         (webkit_dom_test_obj_convert5):
2889         (webkit_dom_test_obj_mutable_point_function):
2890         (webkit_dom_test_obj_immutable_point_function):
2891         (webkit_dom_test_obj_orange):
2892         (webkit_dom_test_obj_strict_function):
2893         (webkit_dom_test_obj_variadic_string_method):
2894         (webkit_dom_test_obj_variadic_double_method):
2895         (webkit_dom_test_obj_variadic_node_method):
2896         (webkit_dom_test_obj_get_read_only_long_attr):
2897         (webkit_dom_test_obj_get_read_only_string_attr):
2898         (webkit_dom_test_obj_get_read_only_test_obj_attr):
2899         (webkit_dom_test_obj_get_short_attr):
2900         (webkit_dom_test_obj_set_short_attr):
2901         (webkit_dom_test_obj_get_unsigned_short_attr):
2902         (webkit_dom_test_obj_set_unsigned_short_attr):
2903         (webkit_dom_test_obj_get_long_attr):
2904         (webkit_dom_test_obj_set_long_attr):
2905         (webkit_dom_test_obj_get_long_long_attr):
2906         (webkit_dom_test_obj_set_long_long_attr):
2907         (webkit_dom_test_obj_get_unsigned_long_long_attr):
2908         (webkit_dom_test_obj_set_unsigned_long_long_attr):
2909         (webkit_dom_test_obj_get_string_attr):
2910         (webkit_dom_test_obj_set_string_attr):
2911         (webkit_dom_test_obj_get_test_obj_attr):
2912         (webkit_dom_test_obj_set_test_obj_attr):
2913         (webkit_dom_test_obj_get_xml_obj_attr):
2914         (webkit_dom_test_obj_set_xml_obj_attr):
2915         (webkit_dom_test_obj_get_create):
2916         (webkit_dom_test_obj_set_create):
2917         (webkit_dom_test_obj_get_reflected_string_attr):
2918         (webkit_dom_test_obj_set_reflected_string_attr):
2919         (webkit_dom_test_obj_get_reflected_integral_attr):
2920         (webkit_dom_test_obj_set_reflected_integral_attr):
2921         (webkit_dom_test_obj_get_reflected_unsigned_integral_attr):
2922         (webkit_dom_test_obj_set_reflected_unsigned_integral_attr):
2923         (webkit_dom_test_obj_get_reflected_boolean_attr):
2924         (webkit_dom_test_obj_set_reflected_boolean_attr):
2925         (webkit_dom_test_obj_get_reflected_url_attr):
2926         (webkit_dom_test_obj_set_reflected_url_attr):
2927         (webkit_dom_test_obj_get_reflected_custom_integral_attr):
2928         (webkit_dom_test_obj_set_reflected_custom_integral_attr):
2929         (webkit_dom_test_obj_get_reflected_custom_boolean_attr):
2930         (webkit_dom_test_obj_set_reflected_custom_boolean_attr):
2931         (webkit_dom_test_obj_get_reflected_custom_url_attr):
2932         (webkit_dom_test_obj_set_reflected_custom_url_attr):
2933         (webkit_dom_test_obj_get_attr_with_getter_exception):
2934         (webkit_dom_test_obj_set_attr_with_getter_exception):
2935         (webkit_dom_test_obj_get_attr_with_setter_exception):
2936         (webkit_dom_test_obj_set_attr_with_setter_exception):
2937         (webkit_dom_test_obj_get_string_attr_with_getter_exception):
2938         (webkit_dom_test_obj_set_string_attr_with_getter_exception):
2939         (webkit_dom_test_obj_get_string_attr_with_setter_exception):
2940         (webkit_dom_test_obj_set_string_attr_with_setter_exception):
2941         (webkit_dom_test_obj_get_with_script_state_attribute):
2942         (webkit_dom_test_obj_set_with_script_state_attribute):
2943         (webkit_dom_test_obj_get_with_script_execution_context_attribute):
2944         (webkit_dom_test_obj_set_with_script_execution_context_attribute):
2945         (webkit_dom_test_obj_get_with_script_state_attribute_raises):
2946         (webkit_dom_test_obj_set_with_script_state_attribute_raises):
2947         (webkit_dom_test_obj_get_with_script_execution_context_attribute_raises):
2948         (webkit_dom_test_obj_set_with_script_execution_context_attribute_raises):
2949         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute):
2950         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute):
2951         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute_raises):
2952         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute_raises):
2953         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_with_spaces_attribute):
2954         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_with_spaces_attribute):
2955         (webkit_dom_test_obj_get_conditional_attr1):
2956         (webkit_dom_test_obj_set_conditional_attr1):
2957         (webkit_dom_test_obj_get_conditional_attr2):
2958         (webkit_dom_test_obj_set_conditional_attr2):
2959         (webkit_dom_test_obj_get_conditional_attr3):
2960         (webkit_dom_test_obj_set_conditional_attr3):
2961         (webkit_dom_test_obj_get_any_attribute):
2962         (webkit_dom_test_obj_set_any_attribute):
2963         (webkit_dom_test_obj_get_content_document):
2964         (webkit_dom_test_obj_get_mutable_point):
2965         (webkit_dom_test_obj_set_mutable_point):
2966         (webkit_dom_test_obj_get_immutable_point):
2967         (webkit_dom_test_obj_set_immutable_point):
2968         (webkit_dom_test_obj_get_strawberry):
2969         (webkit_dom_test_obj_set_strawberry):
2970         (webkit_dom_test_obj_get_strict_float):
2971         (webkit_dom_test_obj_set_strict_float):
2972         (webkit_dom_test_obj_get_description):
2973         (webkit_dom_test_obj_get_id):
2974         (webkit_dom_test_obj_set_id):
2975         (webkit_dom_test_obj_get_hash):
2976         (webkit_dom_test_obj_get_replaceable_attribute):
2977         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
2978         (WebKit::kit):
2979         (WebKit::core):
2980         (WebKit::wrapTestSerializedScriptValueInterface):
2981         (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
2982         (webkit_dom_test_serialized_script_value_interface_multi_transfer_list):
2983         (webkit_dom_test_serialized_script_value_interface_get_value):
2984         (webkit_dom_test_serialized_script_value_interface_set_value):
2985         (webkit_dom_test_serialized_script_value_interface_get_readonly_value):
2986         (webkit_dom_test_serialized_script_value_interface_get_cached_value):
2987         (webkit_dom_test_serialized_script_value_interface_set_cached_value):
2988         (webkit_dom_test_serialized_script_value_interface_get_ports):
2989         (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
2990
2991 2012-12-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2992
2993         [GTK] Use a private struct and placement new syntax in GObject DOM bindings
2994         https://bugs.webkit.org/show_bug.cgi?id=101074
2995
2996         Reviewed by Xan Lopez.
2997
2998         It allows to use RefPtr for the wrapped object and it simplifies
2999         the code. Only the classes deriving from WebKitDOMObject keep a
3000         reference of the wrapped object in a private struct. The wrapped
3001         object is added to the cache in GObjectClass::constructor() and
3002         removed in GObjectClass::finalize().
3003
3004         * bindings/gobject/WebKitDOMBinding.cpp:
3005         (WebKit::createWrapper):
3006         (WebKit::kit):
3007         (WebKit::wrapEventTarget):
3008         * bindings/scripts/CodeGeneratorGObject.pm:
3009         (GetParentImplClassName):
3010         (GenerateProperties):
3011         (GenerateCFile):
3012         (Generate):
3013         (WriteData):
3014         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
3015         (WebKit::kit):
3016         (WebKit::core):
3017         (WebKit::wrapFloat64Array):
3018         (webkit_dom_float64array_class_init):
3019         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
3020         (_WebKitDOMTestActiveDOMObjectPrivate):
3021         (WebKit::kit):
3022         (WebKit::core):
3023         (WebKit::wrapTestActiveDOMObject):
3024         (webkit_dom_test_active_dom_object_finalize):
3025         (webkit_dom_test_active_dom_object_constructor):
3026         (webkit_dom_test_active_dom_object_class_init):
3027         (webkit_dom_test_active_dom_object_init):
3028         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
3029         (_WebKitDOMTestCallbackPrivate):
3030         (WebKit::kit):
3031         (WebKit::core):
3032         (WebKit::wrapTestCallback):
3033         (webkit_dom_test_callback_finalize):
3034         (webkit_dom_test_callback_constructor):
3035         (webkit_dom_test_callback_class_init):
3036         (webkit_dom_test_callback_init):
3037         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
3038         (_WebKitDOMTestCustomNamedGetterPrivate):
3039         (WebKit::kit):
3040         (WebKit::core):
3041         (WebKit::wrapTestCustomNamedGetter):
3042         (webkit_dom_test_custom_named_getter_finalize):
3043         (webkit_dom_test_custom_named_getter_constructor):
3044         (webkit_dom_test_custom_named_getter_class_init):
3045         (webkit_dom_test_custom_named_getter_init):
3046         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
3047         (_WebKitDOMTestEventConstructorPrivate):
3048         (WebKit::kit):
3049         (WebKit::core):
3050         (WebKit::wrapTestEventConstructor):
3051         (webkit_dom_test_event_constructor_finalize):
3052         (webkit_dom_test_event_constructor_constructor):
3053         (webkit_dom_test_event_constructor_class_init):
3054         (webkit_dom_test_event_constructor_init):
3055         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
3056         (_WebKitDOMTestEventTargetPrivate):
3057         (WebKit::kit):
3058         (WebKit::core):
3059         (WebKit::wrapTestEventTarget):
3060         (webkit_dom_test_event_target_finalize):
3061         (webkit_dom_test_event_target_constructor):
3062         (webkit_dom_test_event_target_class_init):
3063         (webkit_dom_test_event_target_init):
3064         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
3065         (_WebKitDOMTestExceptionPrivate):
3066         (WebKit::kit):
3067         (WebKit::core):
3068         (WebKit::wrapTestException):
3069         (webkit_dom_test_exception_finalize):
3070         (webkit_dom_test_exception_constructor):
3071         (webkit_dom_test_exception_class_init):
3072         (webkit_dom_test_exception_init):
3073         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
3074         (_WebKitDOMTestInterfacePrivate):
3075         (WebKit::kit):
3076         (WebKit::core):
3077         (WebKit::wrapTestInterface):
3078         (webkit_dom_test_interface_finalize):
3079         (webkit_dom_test_interface_constructor):
3080         (webkit_dom_test_interface_class_init):
3081         (webkit_dom_test_interface_init):
3082         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
3083         (_WebKitDOMTestMediaQueryListListenerPrivate):
3084         (WebKit::kit):
3085         (WebKit::core):
3086         (WebKit::wrapTestMediaQueryListListener):
3087         (webkit_dom_test_media_query_list_listener_finalize):
3088         (webkit_dom_test_media_query_list_listener_constructor):
3089         (webkit_dom_test_media_query_list_listener_class_init):
3090         (webkit_dom_test_media_query_list_listener_init):
3091         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
3092         (_WebKitDOMTestNamedConstructorPrivate):
3093         (WebKit::kit):
3094         (WebKit::core):
3095         (WebKit::wrapTestNamedConstructor):
3096         (webkit_dom_test_named_constructor_finalize):
3097         (webkit_dom_test_named_constructor_constructor):
3098         (webkit_dom_test_named_constructor_class_init):
3099         (webkit_dom_test_named_constructor_init):
3100         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
3101         (WebKit::kit):
3102         (WebKit::core):
3103         (WebKit::wrapTestNode):
3104         (webkit_dom_test_node_class_init):
3105         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3106         (_WebKitDOMTestObjPrivate):
3107         (WebKit::kit):
3108         (WebKit::core):
3109         (WebKit::wrapTestObj):
3110         (webkit_dom_test_obj_finalize):
3111         (webkit_dom_test_obj_constructor):
3112         (webkit_dom_test_obj_class_init):
3113         (webkit_dom_test_obj_init):
3114         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
3115         (_WebKitDOMTestOverloadedConstructorsPrivate):
3116         (WebKit::kit):
3117         (WebKit::core):
3118         (WebKit::wrapTestOverloadedConstructors):
3119         (webkit_dom_test_overloaded_constructors_finalize):
3120         (webkit_dom_test_overloaded_constructors_constructor):
3121         (webkit_dom_test_overloaded_constructors_class_init):
3122         (webkit_dom_test_overloaded_constructors_init):
3123         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
3124         (_WebKitDOMTestSerializedScriptValueInterfacePrivate):
3125         (WebKit::kit):
3126         (WebKit::core):
3127         (WebKit::wrapTestSerializedScriptValueInterface):
3128         (webkit_dom_test_serialized_script_value_interface_finalize):
3129         (webkit_dom_test_serialized_script_value_interface_constructor):
3130         (webkit_dom_test_serialized_script_value_interface_class_init):
3131         (webkit_dom_test_serialized_script_value_interface_init):
3132
3133 2012-12-09  Jon Lee  <jonlee@apple.com>
3134
3135         [WK2] Move button image to injected bundle
3136         https://bugs.webkit.org/show_bug.cgi?id=104107
3137         <rdar://problem/12813842>
3138
3139         Reviewed by Simon Fraser.
3140
3141         Update RenderSnapshottedPlugIn to retrieve the start button image from the ChromeClient. Expand the
3142         kinds of images available for use as the button. Try to find the best sized button to use for the plug-in,
3143         otherwise use no image at all.
3144
3145         * rendering/RenderSnapshottedPlugIn.h: Add an enum representing the size to use. Remove the label rect
3146         variable since it is unneeded.
3147         * rendering/RenderSnapshottedPlugIn.cpp:
3148         (WebCore::RenderSnapshottedPlugIn::startLabelImage): Maintain a cache of the images for reuse. Index into the
3149         array using the enum. If the image has been loaded, or an attempt was made, then return the result. Otherwise
3150         ask the chrome client for the image.
3151         (WebCore::RenderSnapshottedPlugIn::paintLabel): Determine the proper label to use, and paint if the image is
3152         available.
3153         (WebCore::RenderSnapshottedPlugIn::tryToFitStartLabel): Compare the label size with the provided content
3154         box. Return a LayoutRect representing the label's placement. If it doesn't fit, return an empty rect.
3155         (WebCore::RenderSnapshottedPlugIn::layout): The rect is not needed because it is all determined at paint time.
3156
3157         * page/ChromeClient.h:
3158         (WebCore::ChromeClient::plugInStartLabelImage): Added.
3159
3160         * WebCore.exp.in: Expose GraphicsContext::drawNativeImage() for WKImageCG.cpp.
3161         * WebCore.xcodeproj/project.pbxproj: Remove start button assets.
3162         * Resources/startButton.png: Removed.
3163         * Resources/startButton@2x.png: Removed.
3164
3165 2012-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
3166
3167         Unreviewed, rolling out r137053.
3168         http://trac.webkit.org/changeset/137053
3169         https://bugs.webkit.org/show_bug.cgi?id=104471
3170
3171         Broke PerformanceTests/Parser/html-parser.html (Requested by
3172         mkwst_ on #webkit).
3173
3174         * bindings/ScriptControllerBase.cpp:
3175         (WebCore::ScriptController::canExecuteScripts):
3176
3177 2012-12-09  Kangil Han  <kangil.han@samsung.com>
3178
3179         Fix unused parameter compile warnings
3180         https://bugs.webkit.org/show_bug.cgi?id=104463
3181
3182         Reviewed by Kentaro Hara.
3183
3184         Remove compile warning messages by omitting parameter name.
3185
3186         * platform/graphics/surfaces/GraphicsSurface.cpp:
3187         (WebCore::GraphicsSurface::GraphicsSurface):
3188
3189 2012-12-08  Rakesh KN  <rakeshchaitan@gmail.com>
3190
3191         Build break if SVG is disabled
3192         https://bugs.webkit.org/show_bug.cgi?id=104452
3193
3194         Reviewed by Darin Adler.
3195
3196         Build breaking after r136975 if SVG is disabled.
3197         No new tests required.
3198
3199         * rendering/FilterEffectRenderer.cpp:
3200         (WebCore::FilterEffectRenderer::buildReferenceFilter):
3201         As document is not an argument anymore, removing UNUSED_PARAM against it.
3202         * rendering/FilterEffectRenderer.h:
3203         Added forward declaration for RenderObject.
3204
3205 2012-12-08  Mike West  <mkwst@chromium.org>
3206
3207         Log to console when script is blocked by sandbox attributes.
3208         https://bugs.webkit.org/show_bug.cgi?id=104365
3209
3210         Reviewed by Ojan Vafai.
3211
3212         Adds a console message to cover script execution blocked within the
3213         context of a sandboxed frame which lacks the 'allow-scripts' permission.
3214
3215         * bindings/ScriptControllerBase.cpp:
3216         (WebCore::ScriptController::canExecuteScripts):
3217             Log a warning when sandboxing flags block script execution.
3218
3219 2012-12-08  No'am Rosenthal  <noam@webkit.org>
3220
3221         Use background color for GraphicsLayers when applicable
3222         https://bugs.webkit.org/show_bug.cgi?id=103786
3223
3224         Updated RenderLayerBacking to call GraphicsLayer::setContentsToBackgroundColor when the following conditions take place:
3225         1. The layer doesn't paint its own content, other than background/decoration.
3226         2. There are no borders or other box decorations (border radius, borders, outline, shadow etc.)
3227         3. The image has only a background color, and no background image.
3228         4. background-composite is set to source-over, and background-clip is anything apart from text.
3229         5. The port supports setContentsToBackgroundColor.
3230
3231         This allows any implementation of GraphicsLayer that supports setContentsToBackgroundColor to avoid allocating a backing store
3232         for that layer, but instead draw that solid color directly.
3233         In addition to setting the background color, the layer's contentsRect needs to be adjusted, since the default contents rect of
3234         a layer is not always equivalent to the rect where the background is supposed to be painted, which is derived from the box's
3235         background-clip property.
3236
3237         Reviewed by Simon Fraser.
3238
3239         Tests: compositing/background-color/background-color-alpha.html
3240                compositing/background-color/background-color-change-to-text.html
3241                compositing/background-color/background-color-composite.html
3242                compositing/background-color/background-color-container.html
3243                compositing/background-color/background-color-content-clip.html
3244                compositing/background-color/background-color-padding-change.html
3245                compositing/background-color/background-color-padding-clip.html
3246                compositing/background-color/background-color-simple.html
3247                compositing/background-color/background-color-text-change.html
3248                compositing/background-color/background-color-text-clip.html
3249
3250         * platform/graphics/GraphicsLayer.h:
3251         (WebCore::GraphicsLayer::supportsBackgroundColorContent):
3252             Allows different implementation of GraphicsLayer to identify whether they implement setContentsToBackgroundColor.
3253             Currently only the MAC implementation and TextureMapper falls under that category.
3254
3255         * rendering/RenderBox.h:
3256         (WebCore::RenderBox::paddingBoxRect):
3257             Added paddingBoxRect to compliment borderBoxRect and contentsBoxRect. paddingBoxRect corresponds to 
3258             background-clip: padding.
3259
3260         * rendering/RenderLayerBacking.cpp:
3261         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3262             Update the background color if needed, for every configuration change.
3263             This should accomodate the old behavior for full-screen, while enabling background color changes for other layers.
3264
3265         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3266             Move the contentsRect logic to updateContentsRect.
3267
3268         (WebCore::RenderLayerBacking::updateContentsRect):
3269             Use the background box when directly compositing backgrounds.
3270
3271         (WebCore::RenderLayerBacking::updateBackgroundColor):
3272             Set the background color if applicable, otherwise set to trasnparent and clear.
3273             This was not needed in the past because background colors were only used for the special case of full-screen.
3274
3275         (WebCore::supportsDirectBoxDecorationsComposition):
3276             Helper function to determine whether a particular background can be directly composited. Right now only 
3277             background color can be composited, and only if the GraphicsLayer implementation supports background colors.
3278             Also we don't yet support background-clip: text and any background-composite other than source-over.
3279
3280         (WebCore::RenderLayerBacking::paintsBoxDecorations):
3281             Apply the new supportsDirectBoxDecorationsComposition logic.
3282
3283         (WebCore::RenderLayerBacking::contentsBox):
3284             Remove unnecessary local variable.
3285
3286         (WebCore::backgroundRectForBox):
3287         (WebCore::RenderLayerBacking::backgroundBox):
3288             Figure out the correct rect for the GraphicsLayer's contentsRect, based on the renderer's backgroundClip.
3289             The rectangle has to be adjusted based on the composited layer offset, and snapped to an IntRect as 
3290             GraphicsLayer::contentsRect expects snapped pixels.
3291
3292
3293 2012-12-08  Patrick Gansterer  <paroga@webkit.org>
3294
3295         Build fix for WinCE after r137011.
3296
3297         * platform/graphics/GraphicsContext.h:
3298         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3299         (WebCore::GraphicsContext::setPlatformCompositeOperation):
3300         (WebCore::GraphicsContext::drawBitmap):
3301         * platform/graphics/wince/ImageBufferWinCE.cpp:
3302         (WebCore::BufferedImage::draw):
3303         (WebCore::ImageBuffer::draw):
3304         * platform/graphics/wince/ImageWinCE.cpp:
3305         (WebCore::BitmapImage::getHBITMAPOfSize):
3306         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
3307         (WebCore::BitmapImage::draw):
3308         * platform/graphics/wince/SharedBitmap.cpp:
3309         (WebCore::SharedBitmap::draw):
3310         * platform/graphics/wince/SharedBitmap.h:
3311
3312 2012-12-08  Gavin Peters  <gavinp@chromium.org>
3313
3314         Add status events on <link rel=prerender> elements.
3315         https://bugs.webkit.org/show_bug.cgi?id=96474
3316
3317         Reviewed by Adam Barth.
3318
3319         The new PrerenderStatusEvent is sent to link elements when
3320         prerenders are started by the embedder, and also sent when they
3321         are stopped. Pages using this feature can now serialize launching
3322         prerenders, and track timing performance.
3323
3324         Tested in a new WebKitUnitTest for the chromium port.
3325
3326         * GNUmakefile.list.am:
3327         * Target.pri:
3328         * WebCore.gypi:
3329         * WebCore.vcproj/WebCore.vcproj:
3330         * WebCore.xcodeproj/project.pbxproj:
3331         * dom/EventNames.h:
3332         (WebCore):
3333         * html/HTMLLinkElement.cpp:
3334         (WebCore):
3335         (WebCore::HTMLLinkElement::didStartLinkPrerender):
3336         (WebCore::HTMLLinkElement::didStopLinkPrerender):
3337         (WebCore::HTMLLinkElement::didSendLoadForLinkPrerender):
3338         (WebCore::HTMLLinkElement::didSendDOMContentLoadedForLinkPrerender):
3339         * html/HTMLLinkElement.h:
3340         (HTMLLinkElement):
3341         * loader/LinkLoader.cpp:
3342         (WebCore::LinkLoader::didStartPrerender):
3343         (WebCore):
3344         (WebCore::LinkLoader::didStopPrerender):
3345         (WebCore::LinkLoader::didSendLoadForPrerender):
3346         (WebCore::LinkLoader::didSendDOMContentLoadedForPrerender):
3347         (WebCore::LinkLoader::loadLink):
3348         * loader/LinkLoader.h:
3349         (LinkLoader):
3350         * loader/LinkLoaderClient.h:
3351         (LinkLoaderClient):
3352         * loader/Prerenderer.cpp:
3353         (WebCore::Prerenderer::render):
3354         * loader/Prerenderer.h:
3355         (WebCore):
3356         (Prerenderer):
3357         * platform/PrerenderClient.h: Copied from Source/WebCore/loader/LinkLoaderClient.h.
3358         (WebCore):
3359         (PrerenderClient):
3360         (WebCore::PrerenderClient::~PrerenderClient):
3361         * platform/PrerenderHandle.h:
3362         (WebCore):
3363         (PrerenderHandle):
3364         * platform/chromium/Prerender.cpp:
3365         (WebCore::Prerender::Prerender):
3366         (WebCore::Prerender::removeClient):
3367         (WebCore):
3368         (WebCore::Prerender::add):
3369         (WebCore::Prerender::cancel):
3370         (WebCore::Prerender::abandon):
3371         (WebCore::Prerender::didStartPrerender):
3372         (WebCore::Prerender::didStopPrerender):
3373         (WebCore::Prerender::didSendLoadForPrerender):
3374         (WebCore::Prerender::didSendDOMContentLoadedForPrerender):
3375         * platform/chromium/Prerender.h:
3376         (WebKit):
3377         (WebCore):
3378         (Prerender):
3379         * platform/chromium/PrerenderHandle.cpp:
3380         (WebCore::PrerenderHandle::create):
3381         (WebCore::PrerenderHandle::PrerenderHandle):
3382         (WebCore::PrerenderHandle::~PrerenderHandle):
3383         (WebCore::PrerenderHandle::removeClient):
3384         (WebCore):
3385         * platform/chromium/support/WebPrerender.cpp:
3386         (WebKit::WebPrerender::toPrerender):
3387         (WebKit):
3388         (WebKit::WebPrerender::assign):
3389         (WebKit::WebPrerender::isNull):
3390         (WebKit::WebPrerender::didStartPrerender):
3391         (WebKit::WebPrerender::didStopPrerender):
3392         (WebKit::WebPrerender::didSendLoadForPrerender):
3393         (WebKit::WebPrerender::didSendDOMContentLoadedForPrerender):
3394
3395 2012-12-08  Gustavo Noronha Silva  <gns@gnome.org>
3396
3397         Reviewed by Martin Robinson.
3398
3399         Update the Chromium/Chrome version we advertise in our User-Agent
3400         string to version 25, to better match our current reality.
3401
3402         * platform/gtk/UserAgentGtk.cpp:
3403         (WebCore::standardUserAgent):
3404
3405 2012-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>
3406
3407         Unreviewed, rolling out r137006.
3408         http://trac.webkit.org/changeset/137006
3409         https://bugs.webkit.org/show_bug.cgi?id=104446
3410
3411         Broke plugin painting on Mac (youtube, etc.) (Requested by
3412         thorton_ on #webkit).
3413
3414         * platform/graphics/GraphicsLayer.h:
3415         (GraphicsLayer):
3416         * rendering/RenderBox.h:
3417         * rendering/RenderLayerBacking.cpp:
3418         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3419         (WebCore::clipBox):
3420         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3421         (WebCore::RenderLayerBacking::updateDrawsContent):
3422         (WebCore::RenderLayerBacking::updateBackgroundColor):
3423         (WebCore::RenderLayerBacking::paintsBoxDecorations):
3424         (WebCore::RenderLayerBacking::contentChanged):
3425         (WebCore::RenderLayerBacking::updateImageContents):
3426         (WebCore::RenderLayerBacking::contentsBox):
3427         * rendering/RenderLayerBacking.h:
3428         (RenderLayerBacking):
3429
3430 2012-12-08  Wei James  <james.wei@intel.com>
3431
3432         Remove incorrect ASSERT for m_error in CachedResource
3433         https://bugs.webkit.org/show_bug.cgi?id=104333
3434
3435         Reviewed by Nate Chapin.
3436
3437         This assertion was brought in https://bugs.webkit.org/show_bug.cgi?id=100901 
3438         When the request is canceled, m_error.isNull() should be true.
3439
3440         run webkit_unit_tests Debug build.
3441
3442         * loader/cache/CachedResource.cpp:
3443         (WebCore::CachedResource::stopLoading):
3444
3445 2012-12-08  Ryosuke Niwa  <rniwa@webkit.org>
3446
3447         Qt Linux Minimal build fix after r136975.
3448
3449         * dom/ElementRareData.h:
3450         (ElementRareData):
3451
3452 2012-12-08  Ryosuke Niwa  <rniwa@webkit.org>
3453
3454         Qt Linux Minimal build fix attempt after r136959.
3455
3456         * inspector/InspectorInstrumentation.h:
3457         (WebCore::InspectorInstrumentation::layerTreeDidChange):
3458         (WebCore::InspectorInstrumentation::renderLayerDestroyed):
3459
3460 2012-12-08  Xan Lopez  <xlopez@igalia.com>
3461
3462         Build fix after r137003. Wrap Microdata only sections with ENABLE(MICRODATA).
3463
3464         * dom/NodeRareData.h:
3465         (NodeRareData):
3466
3467 2012-12-08  Ryosuke Niwa  <rniwa@webkit.org>
3468
3469         Build fix after r137003. Wrap NodeMutationObserverData with ENABLE(MUTATION_OBSERVERS).
3470
3471         * dom/NodeRareData.h:
3472         (NodeRareData):
3473
3474 2012-12-08  Patrick Gansterer  <paroga@webkit.org>
3475
3476         Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r136975.
3477
3478         * rendering/svg/SVGResources.cpp:
3479         (WebCore::SVGResources::buildCachedResources):
3480
3481 2012-12-08  Adam Klein  <adamk@chromium.org>
3482
3483         HTMLTemplateElement.innerHTML should be parsed into the template contents owner document
3484         https://bugs.webkit.org/show_bug.cgi?id=104407
3485
3486         Reviewed by Eric Seidel.
3487
3488         When parsing via innerHTML, ensure that all operations (including the
3489         initial fragment creation) occur in the proper document to avoid,
3490         e.g., images loading while being parsed into the template contents.
3491         This matches the parsing behavior during page load.
3492
3493         Test: fast/dom/HTMLTemplateElement/innerHTML-inert.html
3494
3495         * editing/markup.cpp:
3496         (WebCore::createFragmentForInnerOuterHTML):
3497
3498 2012-12-08  ChangSeok Oh  <shivamidow@gmail.com>
3499
3500         Assertion failed at WebCore::RedirectedXCompositeWindow::context()
3501         https://bugs.webkit.org/show_bug.cgi?id=104349
3502
3503         Reviewed by Martin Robinson.
3504
3505         We should return GLContext if m_needsContext is CreateGLContext. By the way
3506         CreateGLContext is a enum value and its default value is 0. So checking
3507         ASSERT(m_needsContext) causes a crash on debug build.
3508         ASSERT(m_needsContext == CreateGLContext) is better here.
3509
3510         No new tests since we can verify this with already existing AC tests.
3511
3512         * platform/gtk/RedirectedXCompositeWindow.cpp:
3513         (WebCore::RedirectedXCompositeWindow::context):
3514
3515 2012-12-07  Rik Cabanier  <cabanier@adobe.com>
3516
3517         Extend platform layer so it can pass blend modes to the compositing calls
3518         https://bugs.webkit.org/show_bug.cgi?id=104176
3519
3520         Reviewed by Dirk Schulze.
3521
3522         Adding blend mode enumeration to drawImage functions + stored blendmode in graphics context 
3523
3524         No new tests, no new functionality.
3525
3526         * html/HTMLCanvasElement.cpp:
3527         (WebCore::HTMLCanvasElement::paint):
3528         * platform/graphics/BitmapImage.h:
3529         * platform/graphics/CrossfadeGeneratedImage.cpp:
3530         (WebCore::CrossfadeGeneratedImage::draw):
3531         * platform/graphics/CrossfadeGeneratedImage.h:
3532         (CrossfadeGeneratedImage):
3533         * platform/graphics/GeneratedImage.h:
3534         (GeneratedImage):
3535         * platform/graphics/GeneratorGeneratedImage.cpp:
3536         (WebCore::GeneratorGeneratedImage::draw):
3537         * platform/graphics/GeneratorGeneratedImage.h:
3538         (GeneratorGeneratedImage):
3539         * platform/graphics/GraphicsContext.cpp:
3540         (WebCore::GraphicsContext::drawImage):
3541         (WebCore):
3542         (WebCore::GraphicsContext::drawImageBuffer):
3543         (WebCore::GraphicsContext::setCompositeOperation):
3544         * platform/graphics/GraphicsContext.h:
3545         (WebCore::GraphicsContextState::GraphicsContextState):
3546         (GraphicsContextState):
3547         (GraphicsContext):
3548         * platform/graphics/Image.cpp:
3549         (WebCore::Image::draw):
3550         (WebCore::Image::drawTiled):
3551         * platform/graphics/Image.h:
3552         (Image):
3553         * platform/graphics/ImageBuffer.h:
3554         (ImageBuffer):
3555         * platform/graphics/cairo/BitmapImageCairo.cpp:
3556         (WebCore::BitmapImage::draw):
3557         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3558         (WebCore::GraphicsContext::setPlatformCompositeOperation):
3559         * platform/graphics/cairo/ImageBufferCairo.cpp:
3560         (WebCore::ImageBuffer::draw):
3561         * platform/graphics/cg/BitmapImageCG.cpp:
3562         (WebCore::BitmapImage::draw):
3563         * platform/graphics/cg/GraphicsContextCG.cpp:
3564         (WebCore::GraphicsContext::drawNativeImage):
3565         (WebCore::GraphicsContext::setPlatformCompositeOperation):
3566         * platform/graphics/cg/ImageBufferCG.cpp:
3567         (WebCore::ImageBuffer::draw):
3568         * platform/graphics/cg/PDFDocumentImage.cpp:
3569         (WebCore::PDFDocumentImage::draw):
3570         * platform/graphics/cg/PDFDocumentImage.h:
3571         (PDFDocumentImage):
3572         * platform/graphics/qt/GraphicsContextQt.cpp:
3573         (WebCore::GraphicsContext::setPlatformCompositeOperation):
3574         * platform/graphics/qt/ImageBufferQt.cpp:
3575         (WebCore::ImageBuffer::draw):
3576         * platform/graphics/qt/ImageQt.cpp:
3577         (WebCore::BitmapImage::draw):
3578         * platform/graphics/qt/StillImageQt.cpp:
3579         (WebCore::StillImage::draw):
3580         * platform/graphics/qt/StillImageQt.h:
3581         (StillImage):
3582         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
3583         (BitmapImageSingleFrameSkia):
3584         * platform/graphics/skia/GraphicsContextSkia.cpp:
3585         (WebCore::GraphicsContext::setPlatformCompositeOperation):
3586         * platform/graphics/skia/ImageBufferSkia.cpp:
3587         (WebCore::ImageBuffer::draw):
3588         * platform/graphics/skia/ImageSkia.cpp:
3589         (WebCore::BitmapImage::draw):
3590         (WebCore::BitmapImageSingleFrameSkia::draw):
3591         * platform/graphics/win/ImageCGWin.cpp:
3592         (WebCore::BitmapImage::getHBITMAPOfSize):
3593         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
3594         * svg/graphics/SVGImage.cpp:
3595         (WebCore::SVGImage::drawSVGToImageBuffer):
3596         (WebCore::SVGImage::draw):
3597         (WebCore::SVGImage::nativeImageForCurrentFrame):
3598         * svg/graphics/SVGImage.h:
3599         (SVGImage):
3600
3601 2012-12-07  Alpha Lam  <hclam@chromium.org>
3602
3603         [chromium] ImageDecodingStore should cache partially decoded images
3604         https://bugs.webkit.org/show_bug.cgi?id=103796
3605
3606         Reviewed by Stephen White.
3607
3608         Implement caching for incomplete images, meaning the image is partially
3609         decoded. The image is cached together with partially decoded ImageDecoder.
3610         This allows decoding to resume in a later time.
3611
3612         Caching logic for incomplete images is implemented in ImageDecodingStore.
3613
3614         Logic for resuming image decoding is implemented in ImageFrameGenerator.
3615
3616         ImageDecodingStore allows storing incomplete image with the decoder.
3617         The cache entry can be used in a later time to read and write (i.e. resume
3618         decoding.) To avoid the same entry being written and read at the same time,
3619         an incomplete entry can be used by one user only. Concurrent access to
3620         an incomplete entry should never happen and is checked by an assert.
3621         An entry can becomes complete when decoding is finished. In this case
3622         the associated decoder is deleted. Once an entry becomes complete concurrent
3623         read is allowed.
3624
3625         ImageFrameGenerator performs the logic to resume image decoding. It
3626         performs the following operations in sequence:
3627         - Try to lookup a complete image
3628         - Try to perform scaling on a complete image
3629         - Try to lookup an incomplete image and resume decoding & scaling
3630         - Everything fails, start decoding from scratch
3631         The entire sequence of operations in under a mutex, hence there will be
3632         no more than 1 user of an incomplete cache entry at the same time.
3633
3634         New unit tests in ImageDecodingStoreTest and ImageFrameGeneratorTest.
3635
3636         * platform/graphics/chromium/ImageDecodingStore.cpp:
3637         (WebCore::ImageDecodingStore::lockCache):
3638         Change of method definition to return an image and ImageDecoder.
3639         (WebCore::ImageDecodingStore::unlockCache):
3640         (WebCore::ImageDecodingStore::insertAndLockCache):
3641         (WebCore::ImageDecodingStore::overwriteAndLockCache):
3642         New method to allow an incomplete cache entry be overwritten.
3643         (WebCore):
3644         * platform/graphics/chromium/ImageDecodingStore.h:
3645         (ImageDecodingStore):
3646         (WebCore::ImageDecodingStore::CacheEntry::createAndUse):
3647         (WebCore::ImageDecodingStore::CacheEntry::CacheEntry):
3648         (WebCore::ImageDecodingStore::CacheEntry::cachedImage):
3649         (WebCore::ImageDecodingStore::CacheEntry::cachedDecoder):
3650         (WebCore::ImageDecodingStore::CacheEntry::releaseCachedDecoder):
3651         (WebCore::ImageDecodingStore::CacheEntry::overwriteCachedImage):
3652         New method to allow an incomplete image be overwitten.
3653         (CacheEntry):
3654         * platform/graphics/chromium/ImageFrameGenerator.cpp:
3655         (WebCore::ImageFrameGenerator::ImageFrameGenerator):
3656         (WebCore::ImageFrameGenerator::decodeAndScale):
3657         (WebCore::ImageFrameGenerator::tryToLockCompleteCache):
3658         (WebCore::ImageFrameGenerator::tryToScale):
3659         (WebCore::ImageFrameGenerator::tryToResumeDecodeAndScale):
3660         New method to lookup an incomplete cache entry and resume decoding.
3661         (WebCore):
3662         (WebCore::ImageFrameGenerator::tryToDecodeAndScale):
3663         (WebCore::ImageFrameGenerator::decoder):
3664         New helper method to do decoding for a full sized image.
3665         (WebCore::ImageFrameGenerator::prepareData):
3666         New helper method to prepare data safely.
3667         * platform/graphics/chromium/ImageFrameGenerator.h:
3668         (ImageFrameGenerator):
3669         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
3670         (WebCore::LazyDecodingPixelRef::onLockPixels):
3671         * platform/graphics/chromium/ScaledImageFragment.h:
3672         (WebCore::ScaledImageFragment::setIsComplete):
3673
3674 2012-12-07  Alexis Menard  <alexis@webkit.org>
3675
3676         Enable CSS3 position offset for CSS Masking.
3677         https://bugs.webkit.org/show_bug.cgi?id=104252
3678
3679         Reviewed by Dirk Schulze.
3680
3681         To follow CSS3 background-position, mask-position should also support
3682         the new <position> type (http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html#mask-property).
3683         Now the code is shared between background and mask I renamed the
3684         functions used to be more generic. Note that the feature flag is not
3685         meant to stay and will be removed in a following commit.
3686
3687         No new tests : I modified LayoutTests/fast/masking/parsing-mask.html to
3688         cover the new feature.
3689
3690         * css/CSSComputedStyleDeclaration.cpp:
3691         (WebCore::createPositionListForLayer):
3692         * css/CSSParser.cpp:
3693         (WebCore::isFillPositionKeyword):
3694         (WebCore::CSSParser::parse4ValuesFillPosition):
3695         (WebCore::CSSParser::parse3ValuesFillPosition):
3696         (WebCore::CSSParser::isPotentialPositionValue):
3697         (WebCore::CSSParser::parseFillPosition):
3698         (WebCore::CSSParser::parse2ValuesFillPosition):
3699         (WebCore::CSSParser::parseFillProperty):
3700         (WebCore::CSSParser::parseTransformOriginShorthand):
3701         (WebCore::CSSParser::parseRadialGradient):
3702         (WebCore::CSSParser::parsePerspectiveOrigin):
3703         * css/CSSParser.h:
3704         * css/CSSToStyleMap.cpp:
3705         (WebCore::CSSToStyleMap::mapFillXPosition):
3706         (WebCore::CSSToStyleMap::mapFillYPosition):
3707
3708 2012-12-07  No'am Rosenthal  <noam@webkit.org>
3709
3710         Use background color for GraphicsLayers when applicable
3711         https://bugs.webkit.org/show_bug.cgi?id=103786
3712
3713         Updated RenderLayerBacking to call GraphicsLayer::setContentsToBackgroundColor when the following conditions take place:
3714         1. The layer doesn't paint its own content, other than background/decoration.
3715         2. There are no borders or other box decorations (border radius, borders, outline, shadow etc.)
3716         3. The image has only a background color, and no background image.
3717         4. background-composite is set to source-over, and background-clip is anything apart from text.
3718         5. The port supports setContentsToBackgroundColor.
3719
3720         This allows any implementation of GraphicsLayer that supports setContentsToBackgroundColor to avoid allocating a backing store
3721         for that layer, but instead draw that solid color directly.
3722         In addition to setting the background color, the layer's contentsRect needs to be adjusted, since the default contents rect of
3723         a layer is not always equivalent to the rect where the background is supposed to be painted, which is derived from the box's
3724         background-clip property.
3725
3726         Reviewed by Simon Fraser.
3727
3728         Tests: compositing/background-color/background-color-alpha.html
3729                compositing/background-color/background-color-change-to-text.html
3730                compositing/background-color/background-color-composite.html
3731                compositing/background-color/background-color-container.html
3732                compositing/background-color/background-color-content-clip.html
3733                compositing/background-color/background-color-padding-change.html
3734                compositing/background-color/background-color-padding-clip.html
3735                compositing/background-color/background-color-simple.html
3736                compositing/background-color/background-color-text-change.html
3737                compositing/background-color/background-color-text-clip.html
3738
3739         * platform/graphics/GraphicsLayer.h:
3740         (WebCore::GraphicsLayer::supportsBackgroundColorContent):
3741             Allows different implementation of GraphicsLayer to identify whether they implement setContentsToBackgroundColor.
3742             Currently only the MAC implementation and TextureMapper falls under that category.
3743
3744         * rendering/RenderBox.h:
3745         (WebCore::RenderBox::paddingBoxRect):
3746             Added paddingBoxRect to compliment borderBoxRect and contentsBoxRect. paddingBoxRect corresponds to 
3747             background-clip: padding.
3748
3749         * rendering/RenderLayerBacking.cpp:
3750         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3751             Update the background color if needed, for every configuration change.
3752             This should accomodate the old behavior for full-screen, while enabling background color changes for other layers.
3753
3754         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3755             Move the contentsRect logic to updateContentsRect.
3756
3757         (WebCore::RenderLayerBacking::updateContentsRect):
3758             Use the background box when directly compositing backgrounds.
3759
3760         (WebCore::RenderLayerBacking::updateBackgroundColor):
3761             Set the background color if applicable, otherwise set to trasnparent and clear.
3762             This was not needed in the past because background colors were only used for the special case of full-screen.
3763
3764         (WebCore::supportsDirectBoxDecorationsComposition):
3765             Helper function to determine whether a particular background can be directly composited. Right now only 
3766             background color can be composited, and only if the GraphicsLayer implementation supports background colors.
3767             Also we don't yet support background-clip: text and any background-composite other than source-over.
3768
3769         (WebCore::RenderLayerBacking::paintsBoxDecorations):
3770             Apply the new supportsDirectBoxDecorationsComposition logic.
3771
3772         (WebCore::RenderLayerBacking::contentsBox):
3773             Remove unnecessary local variable.
3774
3775         (WebCore::backgroundRectForBox):
3776         (WebCore::RenderLayerBacking::backgroundBox):
3777             Figure out the correct rect for the GraphicsLayer's contentsRect, based on the renderer's backgroundClip.
3778             The rectangle has to be adjusted based on the composited layer offset, and snapped to an IntRect as 
3779             GraphicsLayer::contentsRect expects snapped pixels.
3780
3781
3782 2012-12-06  Ryosuke Niwa  <rniwa@webkit.org>
3783
3784         Shrink the size of NodeRareData by moving pointers into separate objects
3785         https://bugs.webkit.org/show_bug.cgi?id=104312
3786
3787         Reviewed by Andreas Kling.
3788
3789         This patch does three things:
3790         1. Move ChildNodeList back into NodeListsNodeData.
3791         2. Move m_mutationObserverRegistry & m_transientMutationObserverRegistry into a separate object owned by NodeRareData.
3792         3. Move m_itemProp, m_itemRef, m_itemType & into a separate object owned by NodeRareData.
3793
3794         Moving m_childNodeList from NodeRareData to NodeListsNodeData also has a nice side-effect of making ChildNodeList
3795         behave more like other LiveNodeLists.
3796
3797         This patch also fixes Mac build when microdata is enabled.
3798
3799         There should be no user-visible behavior change.
3800
3801         * dom/ChildNodeList.cpp:
3802         (WebCore::ChildNodeList::~ChildNodeList):
3803         * dom/Node.cpp:
3804         (WebCore::Node::childNodes): Moved the code to create ChildNodeList into NodeListsNodeData to match other node lists.
3805         (WebCore::Node::invalidateNodeListCachesInAncestors):
3806         (WebCore): Removed removeCachedChildNodeList.
3807         * dom/Node.h:
3808         (Node):
3809         * dom/NodeRareData.cpp:
3810         (WebCore): Assert the size of NodeRareData at compilation time.
3811         (WebCore::NodeListsNodeData::reportMemoryUsage):
3812         (WebCore::NodeRareData::reportMemoryUsage):
3813         * dom/NodeRareData.h:
3814         (WebCore::NodeListsNodeData::clearChildNodeListCache): Moved from NodeRareData.
3815         (WebCore::NodeListsNodeData::ensureChildNodeList): Extracted from Node::childNodes.
3816         (WebCore::NodeListsNodeData::removeChildNodeList): Added.
3817         (WebCore::NodeListsNodeData::NodeListsNodeData): Initialize m_childNodeList.
3818         (WebCore::NodeRareData::NodeMutationObserverData): Extracted from NodeRareData.
3819         (WebCore::NodeRareData::NodeMutationObserverData::create):
3820         (WebCore::NodeRareData::NodeMicroDataTokenLists): Ditto.
3821         (WebCore::NodeRareData::NodeMicroDataTokenLists::create):
3822         (WebCore::NodeRareData::NodeRareData):
3823         (WebCore::NodeRareData::ensureNodeLists): Merged setNodeLists since it's not called elsewhere.
3824         (WebCore::NodeRareData::mutationObserverRegistry):
3825         (WebCore::NodeRareData::ensureMutationObserverRegistry): Added.
3826         (WebCore::NodeRareData::transientMutationObserverRegistry):
3827         (WebCore::NodeRareData::ensureTransientMutationObserverRegistry):
3828         (WebCore::NodeRareData::ensureMicroDataTokenLists):
3829         (NodeRareData):
3830         (WebCore::NodeRareData::itemProp):
3831         (WebCore::NodeRareData::setItemProp):
3832         (WebCore::NodeRareData::itemRef):
3833         (WebCore::NodeRareData::setItemRef):
3834         (WebCore::NodeRareData::itemType):
3835         (WebCore::NodeRareData::setItemType):
3836         * html/HTMLPropertiesCollection.cpp:
3837         (WebCore::HTMLPropertiesCollection::propertyNodeList): Renamed from namedItem since its return type, PropertyNodeList,
3838         is different from that, Node, of LiveNodeList::namedItem. It was shadowing the function name instead of overriding.
3839         * html/HTMLPropertiesCollection.h:
3840         (HTMLPropertiesCollection):
3841         * html/HTMLPropertiesCollection.idl:
3842
3843 2012-12-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3844
3845         Unreviewed, rolling out r136993.
3846         http://trac.webkit.org/changeset/136993
3847         https://bugs.webkit.org/show_bug.cgi?id=104415
3848
3849         This patch breaks the mac build (Requested by cabanier on
3850         #webkit).
3851
3852         * html/HTMLCanvasElement.cpp:
3853         (WebCore::HTMLCanvasElement::paint):
3854         * platform/graphics/BitmapImage.h:
3855         * platform/graphics/CrossfadeGeneratedImage.cpp:
3856         (WebCore::CrossfadeGeneratedImage::draw):
3857         * platform/graphics/CrossfadeGeneratedImage.h:
3858         (CrossfadeGeneratedImage):
3859         * platform/graphics/GeneratedImage.h:
3860         (GeneratedImage):
3861         * platform/graphics/GeneratorGeneratedImage.cpp:
3862         (WebCore::GeneratorGeneratedImage::draw):
3863         * platform/graphics/GeneratorGeneratedImage.h:
3864         (GeneratorGeneratedImage):
3865         * platform/graphics/GraphicsContext.cpp:
3866         (WebCore::GraphicsContext::drawImage):
3867         (WebCore::GraphicsContext::drawImageBuffer):
3868         (WebCore::GraphicsContext::setCompositeOperation):
3869         * platform/graphics/GraphicsContext.h:
3870         (WebCore::GraphicsContextState::GraphicsContextState):
3871         (GraphicsContextState):
3872         (GraphicsContext):
3873         * platform/graphics/Image.cpp:
3874         (WebCore::Image::draw):
3875         (WebCore::Image::drawTiled):
3876         * platform/graphics/Image.h:
3877         (Image):
3878         * platform/graphics/ImageBuffer.h:
3879         (ImageBuffer):
3880         * platform/graphics/cairo/BitmapImageCairo.cpp:
3881         (WebCore::BitmapImage::draw):
3882         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3883         (WebCore::GraphicsContext::setPlatformCompositeOperation):
3884         * platform/graphics/cairo/ImageBufferCairo.cpp:
3885         (WebCore::ImageBuffer::draw):
3886         * platform/graphics/cg/BitmapImageCG.cpp:
3887         (WebCore::BitmapImage::draw):
3888         * platform/graphics/cg/GraphicsContextCG.cpp:
3889         (WebCore::GraphicsContext::drawNativeImage):
3890         (WebCore::GraphicsContext::setPlatformCompositeOperation):
3891         * platform/graphics/cg/ImageBufferCG.cpp:
3892         (WebCore::ImageBuffer::draw):
3893         * platform/graphics/cg/PDFDocumentImage.cpp:
3894         (WebCore::PDFDocumentImage::draw):
3895         * platform/graphics/cg/PDFDocumentImage.h:
3896         (PDFDocumentImage):
3897         * platform/graphics/qt/GraphicsContextQt.cpp:
3898         (WebCore::GraphicsContext::setPlatformCompositeOperation):
3899         * platform/graphics/qt/ImageBufferQt.cpp:
3900         (WebCore::ImageBuffer::draw):
3901         * platform/graphics/qt/ImageQt.cpp:
3902         (WebCore::BitmapImage::draw):
3903         * platform/graphics/qt/StillImageQt.cpp:
3904         (WebCore::StillImage::draw):
3905         * platform/graphics/qt/StillImageQt.h:
3906         (StillImage):
3907         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
3908         (BitmapImageSingleFrameSkia):
3909         * platform/graphics/skia/GraphicsContextSkia.cpp:
3910         (WebCore::GraphicsContext::setPlatformCompositeOperation):
3911         * platform/graphics/skia/ImageBufferSkia.cpp:
3912         (WebCore::ImageBuffer::draw):
3913         * platform/graphics/skia/ImageSkia.cpp:
3914         (WebCore::BitmapImage::draw):
3915         (WebCore::BitmapImageSingleFrameSkia::draw):
3916         * platform/graphics/win/ImageCGWin.cpp:
3917         (WebCore::BitmapImage::getHBITMAPOfSize):
3918         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
3919         * svg/graphics/SVGImage.cpp:
3920         (WebCore::SVGImage::drawSVGToImageBuffer):
3921         (WebCore::SVGImage::draw):
3922         (WebCore::SVGImage::nativeImageForCurrentFrame):
3923         * svg/graphics/SVGImage.h:
3924         (SVGImage):
3925
3926 2012-12-07  Alexey Proskuryakov  <ap@apple.com>
3927
3928         There is no need to change cached resource storage policy through ResourceHandleClient
3929         https://bugs.webkit.org/show_bug.cgi?id=104413
3930
3931         Reviewed by Brady Eidson.
3932
3933         This code was only needed to prevent storing responses to disk in private browsing
3934         mode, but we now have a storage session to take care of that in a cleaner and more
3935         reliable way.
3936
3937         * loader/ResourceLoader.cpp:
3938         * loader/ResourceLoader.h: (WebCore::ResourceLoader::receivedCancellation):
3939         * platform/network/ResourceHandleClient.h:
3940         * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::willCacheResponse):
3941         * platform/network/mac/ResourceHandleMac.mm:
3942         (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
3943
3944 2012-12-07  Adam Klein  <adamk@chromium.org>
3945
3946         MutationRecord addedNodes/removedNodes should never be null
3947         https://bugs.webkit.org/show_bug.cgi?id=98921
3948
3949         Reviewed by Ryosuke Niwa.
3950
3951         Per an update to the DOM4 spec that matches Gecko's behavior,
3952         addedNodes/removedNodes should be empty NodeLists on 'attributes'
3953         and 'characterData' records, rather than null.
3954
3955         This is accomplished with lazy initialization of addedNodes/removedNodes
3956         attributes on 'attributes'/'characterData' records and the
3957         addition of a new StaticNodeList::createEmpty() factory method.
3958
3959         * dom/MutationRecord.cpp:
3960         * dom/MutationRecord.h:
3961         (MutationRecord):
3962         * dom/StaticNodeList.h:
3963         (WebCore::StaticNodeList::adopt):
3964         (StaticNodeList):
3965         (WebCore::StaticNodeList::createEmpty):
3966         (WebCore::StaticNodeList::StaticNodeList):
3967
3968 2012-12-07  Brent Fulgham  <bfulgham@webkit.org>
3969
3970         Unreviewed build correction after 136959.
3971
3972         The initialization list should follow the same compiler macro
3973         exclusions as the class members.
3974
3975         * inspector/InstrumentingAgents.h: Add USE(ACCELERATED_COMPOSITING)
3976           guards around m_inspectorLayerTreeAgent as this does not exist
3977           when the guard is false.
3978
3979 2012-12-07  Rik Cabanier  <cabanier@adobe.com>
3980
3981         Extend platform layer so it can pass blend modes to the compositing calls
3982         https://bugs.webkit.org/show_bug.cgi?id=104176
3983
3984         Reviewed by Dirk Schulze.
3985
3986         Adding blend mode enumeration to drawImage functions + stored blendmode in graphics context 
3987
3988         No new tests, no new functionality.
3989
3990         * html/HTMLCanvasElement.cpp:
3991         (WebCore::HTMLCanvasElement::paint):
3992         * platform/graphics/BitmapImage.h:
3993         * platform/graphics/CrossfadeGeneratedImage.cpp:
3994         (WebCore::CrossfadeGeneratedImage::draw):
3995         * platform/graphics/CrossfadeGeneratedImage.h:
3996         (CrossfadeGeneratedImage):
3997         * platform/graphics/GeneratedImage.h:
3998         (GeneratedImage):
3999         * platform/graphics/GeneratorGeneratedImage.cpp:
4000         (WebCore::GeneratorGeneratedImage::draw):
4001         * platform/graphics/GeneratorGeneratedImage.h:
4002         (GeneratorGeneratedImage):
4003         * platform/graphics/GraphicsContext.cpp:
4004         (WebCore::GraphicsContext::drawImage):
4005         (WebCore):
4006         (WebCore::GraphicsContext::drawImageBuffer):
4007         (WebCore::GraphicsContext::setCompositeOperation):
4008         * platform/graphics/GraphicsContext.h:
4009         (WebCore::GraphicsContextState::GraphicsContextState):
4010         (GraphicsContextState):
4011         (GraphicsContext):
4012         * platform/graphics/Image.cpp:
4013         (WebCore::Image::draw):