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