[Qt] Fix linkage against SQLite
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-12-12  Simon Hausmann  <simon.hausmann@digia.com>
2
3         [Qt] Fix linkage against SQLite
4         https://bugs.webkit.org/show_bug.cgi?id=104781
5
6         Reviewed by Csaba Osztrogonác.
7
8         Detect SQLite either through pkg-config, from the SQLITE3SRCDIR
9         environment variable or from qtbase via a qt5.git build. Bail out early
10         with an error message if neither option applies.
11
12         This removes the usage of $$QT.core.sources and the dependency on Qt's
13         system-sqlite configure setting. We should always favour a system
14         library over a copy in Qt.
15
16         * Target.pri:
17         * WebCore.pri:
18
19 2012-12-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
20
21         [TexMap] Uninitialized m_context pointer in TextureMapper
22         https://bugs.webkit.org/show_bug.cgi?id=104785
23
24         Reviewed by Kenneth Rohde Christiansen.
25
26         * platform/graphics/texmap/TextureMapper.cpp:
27         (WebCore::TextureMapper::TextureMapper):
28         * platform/graphics/texmap/TextureMapperGL.cpp:
29         (WebCore::TextureMapperGL::TextureMapperGL):
30
31 2012-12-12  Tommy Widenflycht  <tommyw@google.com>
32
33         MediaStream API: Change the data channel descriptor pattern to a handler pattern
34         https://bugs.webkit.org/show_bug.cgi?id=104543
35
36         Reviewed by Kent Tamura.
37
38         In short the code is refactured to use the Handler/Client pattern (see RTCPeerConnectionHandler)
39         instead of the Descriptor pattern.
40         This will fix lifetime/memory/code structure issues in the chromium port.
41
42         Existing tests cover this patch.
43
44         * CMakeLists.txt:
45         * GNUmakefile.list.am:
46         * Modules/mediastream/RTCDataChannel.cpp:
47         (WebCore::RTCDataChannel::create):
48         (WebCore::RTCDataChannel::RTCDataChannel):
49         (WebCore::RTCDataChannel::~RTCDataChannel):
50         (WebCore::RTCDataChannel::label):
51         (WebCore::RTCDataChannel::reliable):
52         (WebCore::RTCDataChannel::readyState):
53         (WebCore::RTCDataChannel::bufferedAmount):
54         (WebCore::RTCDataChannel::send):
55         (WebCore::RTCDataChannel::close):
56         (WebCore::RTCDataChannel::didChangeReadyState):
57         (WebCore::RTCDataChannel::didReceiveStringData):
58         (WebCore::RTCDataChannel::didReceiveRawData):
59         (WebCore::RTCDataChannel::didDetectError):
60         (WebCore::RTCDataChannel::stop):
61         * Modules/mediastream/RTCDataChannel.h:
62         (WebCore):
63         (RTCDataChannel):
64         * Modules/mediastream/RTCPeerConnection.cpp:
65         (WebCore::RTCPeerConnection::didAddRemoteDataChannel):
66         * Modules/mediastream/RTCPeerConnection.h:
67         (RTCPeerConnection):
68         * WebCore.gypi:
69         * platform/chromium/support/WebRTCDataChannel.cpp: Removed.
70         * platform/mediastream/RTCDataChannelDescriptor.h: Removed.
71         * platform/mediastream/RTCDataChannelHandler.h: Copied from Source/WebCore/platform/mediastream/RTCDataChannelDescriptor.cpp.
72         (WebCore):
73         (RTCDataChannelHandler):
74         (WebCore::RTCDataChannelHandler::~RTCDataChannelHandler):
75         * platform/mediastream/RTCDataChannelHandlerClient.h: Renamed from Source/WebCore/platform/mediastream/RTCDataChannelDescriptor.cpp.
76         (WebCore):
77         (RTCDataChannelHandlerClient):
78         (WebCore::RTCDataChannelHandlerClient::~RTCDataChannelHandlerClient):
79         * platform/mediastream/RTCPeerConnectionHandler.cpp:
80         (WebCore):
81         (WebCore::RTCPeerConnectionHandler::create):
82         * platform/mediastream/RTCPeerConnectionHandler.h:
83         (WebCore):
84         (RTCPeerConnectionHandler):
85         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
86         (WebCore):
87         (RTCPeerConnectionHandlerClient):
88         * platform/mediastream/chromium/RTCDataChannelHandlerChromium.cpp: Added.
89         (WebCore):
90         (WebCore::RTCDataChannelHandlerChromium::create):
91         (WebCore::RTCDataChannelHandlerChromium::RTCDataChannelHandlerChromium):
92         (WebCore::RTCDataChannelHandlerChromium::~RTCDataChannelHandlerChromium):
93         (WebCore::RTCDataChannelHandlerChromium::setClient):
94         (WebCore::RTCDataChannelHandlerChromium::label):
95         (WebCore::RTCDataChannelHandlerChromium::isReliable):
96         (WebCore::RTCDataChannelHandlerChromium::bufferedAmount):
97         (WebCore::RTCDataChannelHandlerChromium::sendStringData):
98         (WebCore::RTCDataChannelHandlerChromium::sendRawData):
99         (WebCore::RTCDataChannelHandlerChromium::close):
100         (WebCore::RTCDataChannelHandlerChromium::didChangeReadyState):
101         (WebCore::RTCDataChannelHandlerChromium::didReceiveStringData):
102         (WebCore::RTCDataChannelHandlerChromium::didReceiveRawData):
103         (WebCore::RTCDataChannelHandlerChromium::didDetectError):
104         * platform/mediastream/chromium/RTCDataChannelHandlerChromium.h: Added.
105         (WebCore):
106         (RTCDataChannelHandlerChromium):
107         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
108         (WebCore::RTCPeerConnectionHandlerChromium::createDataChannel):
109         (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
110         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
111         (WebCore):
112         (RTCPeerConnectionHandlerChromium):
113
114 2012-12-12  Huang Dongsung  <luxtella@company100.net>
115
116         Coordinated Graphics: Refactor TiledBackingStore code in CoordinatedGraphicsLayer.
117         https://bugs.webkit.org/show_bug.cgi?id=103959
118
119         Reviewed by Kenneth Rohde Christiansen.
120
121         TiledBackingStore::setCommitTileUpdatesOnIdleEventLoop() is used when class
122         methods cannot be called asynchronously by client. Updates of tiles are
123         committed as soon as all the events in event queue have been processed.
124         After this patch Frame sets m_commitTileUpdatesOnIdleEventLoop to true.
125
126         In addition, remove TiledBackingStoreClient::tiledBackingStoreUpdatesAllowed()
127         which was introduced for Coordinated Graphics.
128
129         Refactoring covered by existing tests.
130
131         * page/Frame.cpp:
132         (WebCore::Frame::setTiledBackingStoreEnabled):
133         * platform/graphics/TiledBackingStore.cpp:
134         (WebCore::TiledBackingStore::TiledBackingStore):
135         (WebCore::TiledBackingStore::setTrajectoryVector):
136           Separate setting a trajectory vector from coverWithTilesIfNeeded().
137         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
138         (WebCore::TiledBackingStore::updateTileBuffers):
139         (WebCore::TiledBackingStore::createTiles):
140         (WebCore::TiledBackingStore::isTileBufferUpdatesSuspended):
141         (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
142         (WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
143         (WebCore::TiledBackingStore::startBackingStoreUpdateTimer):
144         (WebCore::TiledBackingStore::backingStoreUpdateTimerFired):
145         * platform/graphics/TiledBackingStore.h:
146         (TiledBackingStore):
147         (WebCore::TiledBackingStore::setCommitTileUpdatesOnIdleEventLoop):
148         * platform/graphics/TiledBackingStoreClient.h:
149         (WebCore::TiledBackingStoreClient::tiledBackingStoreHasPendingTileCreation):
150             If TiledBackingStore does not create all tiles, TiledBackingStore
151             notifies a client of needing to create tiles more, when
152             m_commitTileUpdatesOnIdleEventLoop is false.
153
154 2012-12-11  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
155
156         [Qt] Fix the inspector not showing up on Windows
157         https://bugs.webkit.org/show_bug.cgi?id=104677
158
159         Reviewed by Simon Hausmann.
160
161         * Target.pri:
162
163 2012-11-29  Yury Semikhatsky  <yurys@chromium.org>
164
165         Web Inspector: Heap snapshot crashes on any page in MacOS Canary
166         https://bugs.webkit.org/show_bug.cgi?id=103076
167
168         Reviewed by Adam Barth.
169
170         Provide global object name resolver to the heap profiler. The callback allows
171         to safely retrieve document URL to be used as a label for corresponding global
172         object in the heap snapshot.
173
174         Test: inspector-protocol/take-heap-snapshot.html
175
176         * bindings/v8/ScriptProfiler.cpp:
177         (WebCore):
178         (WebCore::ScriptProfiler::takeHeapSnapshot):
179
180 2012-12-12  Sheriff Bot  <webkit.review.bot@gmail.com>
181
182         Unreviewed, rolling out r137428.
183         http://trac.webkit.org/changeset/137428
184         https://bugs.webkit.org/show_bug.cgi?id=104776
185
186         It broke the build everywhere (Requested by Ossy on #webkit).
187
188         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
189         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
190         * platform/graphics/texmap/TextureMapperGL.cpp:
191         (WebCore::TextureMapperGL::drawQuad):
192         (WebCore::TextureMapperGL::drawBorder):
193         (WebCore::TextureMapperGL::drawTexture):
194         (WebCore):
195         (WebCore::TextureMapperGL::drawTextureRectangleARB):
196         (WebCore::TextureMapperGL::drawSolidColor):
197         (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
198         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
199         * platform/graphics/texmap/TextureMapperGL.h:
200         (TextureMapperGL):
201         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
202         (WebCore::getShaderSpec):
203         * platform/graphics/texmap/TextureMapperShaderManager.h:
204         (TextureMapperShaderProgram):
205
206 2012-12-12  Martin Robinson  <mrobinson@igalia.com>
207
208         Web inspector prints a warning about "Debug" not being localized
209         https://bugs.webkit.org/show_bug.cgi?id=104679
210
211         Reviewed by Vsevolod Vlasov.
212
213         Add a missing localization entry for the "Debug" string which is used in the web
214         inspector front-end. This prevents warnings about a missing localized version
215         of the word "Debug" and allows it to be properly localized.
216
217         * English.lproj/localizedStrings.js: Add "Debug"
218
219 2012-12-12  Shinya Kawanaka  <shinyak@chromium.org>
220
221         [Shadow DOM] Implement HTMLShadowElement::olderShadowRoot
222         https://bugs.webkit.org/show_bug.cgi?id=104218
223
224         Reviewed by Hajime Morita.
225
226         Implements HTMLShadowElement::olderShadowRoot, which returns the ShadowRoot the HTMLShadowElement is assigned to.
227         When such ShadowRoot does not exist, 0 is returned.
228
229         Test: fast/dom/shadow/olderShadowRoot-in-shadowelement.html
230
231         * dom/ElementShadow.cpp:
232         (WebCore::ElementShadow::ensureDistributionFromDocument): Ensures distribution of this ElementShadow and
233         all of the parent TreeScope distribution. This function will be shared for Bug 104345.
234         (WebCore):
235         * dom/ElementShadow.h:
236         (ElementShadow):
237         * html/shadow/HTMLShadowElement.cpp:
238         (WebCore::HTMLShadowElement::olderShadowRoot):
239         (WebCore):
240         * html/shadow/HTMLShadowElement.h:
241         * html/shadow/HTMLShadowElement.idl:
242
243 2012-12-12  No'am Rosenthal  <noam@webkit.org>
244
245         [Texmap] Consolidate redundant code for ARB_RECT texture
246         https://bugs.webkit.org/show_bug.cgi?id=104705
247
248         Reviewed by Kenneth Rohde Christiansen.
249
250         Instead of having a whole different function for RECT textures,
251         keep the existing functions and pass a flag that tells
252         TextureMapperGL to use the non-normalized coordinates and the
253         RECT shaders.
254
255         No new tests, refactor only. Tested to not break WebGL on
256         Qt-Mac.
257
258         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
259         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
260         * platform/graphics/texmap/TextureMapperGL.cpp:
261         (WebCore::TextureMapperGL::drawQuad):
262             Compensate for rect textures in drawQuad.
263
264         (WebCore::TextureMapperGL::drawBorder):
265         (WebCore::TextureMapperGL::drawTexture):
266         (WebCore::TextureMapperGL::drawSolidColor):
267         (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
268         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
269             Pass flags to TextureMapperGL::drawQuad instead of a bool.
270
271         * platform/graphics/texmap/TextureMapperGL.h:
272         (TextureMapperGL):
273         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
274         (WebCore::getShaderSpec):
275         * platform/graphics/texmap/TextureMapperShaderManager.h:
276         (TextureMapperShaderProgram):
277             Compensate for the texture-size in the vertex
278             shader instead of in the fragment shader.
279
280 2012-12-11  Hayato Ito  <hayato@chromium.org>
281
282         REGRESSION(r137408): breaks chromium's browser tests which use WebKitShadowRoot (Requested by hayato on #webkit).
283         https://bugs.webkit.org/show_bug.cgi?id=104770
284
285         Unreviewed, build fix.
286
287         * dom/ShadowRoot.idl:
288         * page/DOMWindow.idl:
289
290 2012-12-11  Sheriff Bot  <webkit.review.bot@gmail.com>
291
292         Unreviewed, rolling out r137333, r137344, r137364, and
293         r137377.
294         http://trac.webkit.org/changeset/137333
295         http://trac.webkit.org/changeset/137344
296         http://trac.webkit.org/changeset/137364
297         http://trac.webkit.org/changeset/137377
298         https://bugs.webkit.org/show_bug.cgi?id=104771
299
300         Caused a raft of browser_test failures in Chromium (Requested
301         by aklein on #webkit).
302
303         * loader/DocumentLoader.cpp:
304         (WebCore::DocumentLoader::setRequest):
305         (WebCore::DocumentLoader::subresource):
306         (WebCore::DocumentLoader::addSubresourceLoader):
307         (WebCore::DocumentLoader::removeSubresourceLoader):
308         (WebCore::DocumentLoader::startLoadingMainResource):
309         * loader/MainResourceLoader.cpp:
310         (WebCore::MainResourceLoader::MainResourceLoader):
311         (WebCore::MainResourceLoader::~MainResourceLoader):
312         (WebCore::MainResourceLoader::receivedError):
313         (WebCore::MainResourceLoader::willCancel):
314         (WebCore::MainResourceLoader::didCancel):
315         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
316         (WebCore::MainResourceLoader::addData):
317         (WebCore::MainResourceLoader::willSendRequest):
318         (WebCore::MainResourceLoader::continueAfterContentPolicy):
319         (WebCore::MainResourceLoader::didReceiveResponse):
320         (WebCore::MainResourceLoader::didReceiveData):
321         (WebCore::MainResourceLoader::didFinishLoading):
322         (WebCore::MainResourceLoader::didFail):
323         (WebCore::MainResourceLoader::reportMemoryUsage):
324         (WebCore::MainResourceLoader::handleSubstituteDataLoadNow):
325         (WebCore::MainResourceLoader::loadNow):
326         (WebCore):
327         (WebCore::MainResourceLoader::load):
328         (WebCore::MainResourceLoader::setDefersLoading):
329         * loader/MainResourceLoader.h:
330         (MainResourceLoader):
331         * loader/ResourceLoader.cpp:
332         (WebCore::ResourceLoader::willSendRequest):
333         * loader/ResourceLoader.h:
334         (ResourceLoader):
335         (WebCore::ResourceLoader::defersLoading):
336         * loader/SubresourceLoader.cpp:
337         (WebCore::SubresourceLoader::willSendRequest):
338         * loader/appcache/ApplicationCacheHost.cpp:
339         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
340         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
341         * loader/cache/CachedRawResource.cpp:
342         (WebCore::CachedRawResource::willSendRequest):
343         * loader/cache/CachedResourceLoader.cpp:
344         (WebCore::CachedResourceLoader::loadDone):
345         * loader/mac/DocumentLoaderMac.cpp:
346         (WebCore::DocumentLoader::schedule):
347         (WebCore::DocumentLoader::unschedule):
348
349 2012-12-11  Kentaro Hara  <haraken@chromium.org>
350
351         Unreviewed, rolling out r137398.
352         http://trac.webkit.org/changeset/137398
353         https://bugs.webkit.org/show_bug.cgi?id=104188
354
355         A bunch of webaudio tests hit ASSERTs
356
357         * CMakeLists.txt:
358         * DerivedSources.make:
359         * DerivedSources.pri:
360         * GNUmakefile.list.am:
361         * Modules/webaudio/AudioContext.cpp:
362         (WebCore::AudioContext::createOfflineContext):
363         (WebCore):
364         * Modules/webaudio/AudioContext.h:
365         (AudioContext):
366         * Modules/webaudio/DOMWindowWebAudio.idl:
367         * Modules/webaudio/OfflineAudioContext.cpp: Removed.
368         * Modules/webaudio/OfflineAudioContext.h: Removed.
369         * Modules/webaudio/OfflineAudioContext.idl: Removed.
370         * WebCore.gypi:
371         * WebCore.xcodeproj/project.pbxproj:
372         * bindings/generic/RuntimeEnabledFeatures.h:
373         * bindings/js/JSAudioContextCustom.cpp:
374         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
375         * bindings/v8/custom/V8AudioContextCustom.cpp:
376         (WebCore::V8AudioContext::constructorCallbackCustom):
377
378 2012-12-11  Shinya Kawanaka  <shinyak@chromium.org>
379
380         [Shadow DOM] registering InsertionPoints to ShadowRoot should work out of a document.
381         https://bugs.webkit.org/show_bug.cgi?id=104346
382
383         Reviewed by Hajime Morita.
384
385         We need to register InsertionPoints even if ShadowRoot is out of Document, since distribution should work
386         out of Document, too.
387
388         Instead of checking isInDocument(), we have to make sure InsertionPoint and an element which InsertionPoint
389         inserted into have the same treescope.
390
391         Tests: fast/dom/shadow/has-content-elements.html
392                fast/dom/shadow/has-shadow-insertion-point.html
393
394         * html/shadow/InsertionPoint.cpp:
395         (WebCore::InsertionPoint::insertedInto):
396         (WebCore::InsertionPoint::removedFrom):
397
398 2012-12-11  Takashi Sakamoto  <tasak@google.com>
399
400         Text nodes in shadow roots don't inherit style properly
401         https://bugs.webkit.org/show_bug.cgi?id=101116
402
403         Reviewed by Hajime Morita.
404
405         Use NodeRenderingContext to resolve styles of text nodes.
406         If text nodes are direct children of shadow roots, the text nodes
407         should be inherited styles from their shadow hosts.
408         But if reset-style-inheritance flag is true, the text nodes should
409         not be inherited. And if text nodes are distributed nodes,
410         we have to check whether their insertion point's
411         reset-style-inheritance.
412         c.f. shadow dom spec is:
413         http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles
414
415         Test: fast/dom/shadow/text-node-in-shadow.html
416
417         * css/StyleResolver.cpp:
418         (WebCore::StyleResolver::styleForElement):
419         Modified to use defaultStyleForElement if the given element has
420         no parent style.
421         (WebCore::StyleResolver::initForStyleResolve):
422         Removed shouldResetStyleInheritance, because now NodeRenderingContext
423         resetStyleInheritance() takes care of reset-style-inheritance of
424         both shadow roots and insertion points.
425         (WebCore::StyleResolver::defaultStyleForElement):
426         Added to create a default style for elements.
427         (WebCore):
428         (WebCore::StyleResolver::styleForText):
429         Use NodeRenderingContext to find the parent node for style from the
430         given text node. If no parent node is found or reset-style-inheritance
431         is true, returns a default style (i.e. empty render style).
432         Otherwise, just returns the found node's style.
433         * css/StyleResolver.h:
434         (StyleResolver):
435         * dom/ComposedShadowTreeWalker.cpp:
436         (WebCore::ComposedShadowTreeWalker::ParentTraversalDetails::didTraverseInsertionPoint):
437         Modify to consider insertion point's resetStyleInheritance.
438         * dom/NodeRenderingContext.cpp:
439         (WebCore::NodeRenderingContext::createRendererForTextIfNeeded):
440         Since NodeRenderingContext has already found a parent node for
441         rendering and style and a parentRenderer is just the found node's
442         renderer, we have to only check reset-style-inheritance.
443         If reset, use default style. Otherwise, the parentRenderer's style.
444         * dom/Text.cpp:
445         (WebCore::Text::recalcTextStyle):
446         Use styleForText instead of parentRenderer's styles if the given text
447         node is a direct child of a shadow root or a direct child of a shadow
448         host.
449
450 2012-12-11  Takashi Sakamoto  <tasak@google.com>
451
452         Hide HOST_RULE behind SHADOW_DOM flag.
453         https://bugs.webkit.org/show_bug.cgi?id=102321
454
455         Reviewed by Dimitri Glazkov.
456
457         @host @-rules are only available when the rules are declared in styles
458         in shadow dom trees. So if SHADOW_DOM is disabled, we don't need
459         @host @-rules.
460
461         No new tests. Just hide HOST_RULE behind SHADOW_DOM flag.
462
463         * css/StyleResolver.h:
464         Hide "class ShadowRuleHost".
465         * css/StyleRule.cpp:
466         (WebCore::StyleRuleBase::reportMemoryUsage):
467         (WebCore::StyleRuleBase::destroy):
468         (WebCore::StyleRuleBase::copy):
469         (WebCore::StyleRuleBase::createCSSOMWrapper):
470         * css/StyleRule.h:
471         (StyleRuleBase):
472         Hide "Host" type and isHostRule.
473         (StyleRuleHost):
474         Hide "class StyleRuleHost".
475         * css/StyleSheetContents.cpp:
476         (WebCore::childRulesHaveFailedOrCanceledSubresources):
477
478 2012-12-11  Dominic Mazzoni  <dmazzoni@google.com>
479
480         AX: accessibilityIsIgnored should avoid computing textUnderElement
481         https://bugs.webkit.org/show_bug.cgi?id=104688
482
483         Reviewed by Chris Fleizach.
484
485         Simplify the logic in accessibilityIsIgnored without affecting
486         the results of any tests. In particular, avoid expensive calls to
487         textUnderElement.
488
489         Covered by existing tests.
490
491         * accessibility/AccessibilityNodeObject.cpp:
492         (WebCore::AccessibilityNodeObject::isGenericFocusableElement):
493         * accessibility/AccessibilityRenderObject.cpp:
494         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
495
496 2012-12-11  Kentaro Hara  <haraken@chromium.org>
497
498         [V8] Reachable event listeners on image elements can be collected in a minor DOM GC
499         https://bugs.webkit.org/show_bug.cgi?id=104734
500
501         Reviewed by Kenneth Russell.
502
503         A major DOM GC treats image elements specially. In
504         V8GCController::opaqueRootForGC(), a major DOM GC puts image elements
505         that have pending activities into the same object group of their document.
506         This guarantees that image elements that have pending activities
507         are not garbage collected in the major DOM GC.
508
509         This patch adds the same special handling to a minor DOM GC to guarantee
510         the same thing in the minor DOM GC too.
511
512         In long-term, we might want to remove the special handling by making
513         image elements active DOM nodes.
514
515         Test: Manually confirmed that all characters in
516         http://alteredqualia.com/three/examples/webgl_animation_skinning_tf2.html
517         are rendered correctly.
518
519         * bindings/v8/V8GCController.cpp:
520         (WebCore::V8GCController::opaqueRootForGC):
521         (WebCore::gcTree):
522
523 2012-12-11  Dominic Mazzoni  <dmazzoni@google.com>
524
525         AX: Make isActionSupported cross-platform.
526         https://bugs.webkit.org/show_bug.cgi?id=104681
527
528         Reviewed by Chris Fleizach.
529
530         Add UserGestureIndicator to increment() and decrement()
531         so that all accessibility actions are treated as
532         user actions, not scripted actions.
533
534         * accessibility/AccessibilityNodeObject.cpp:
535         (WebCore::AccessibilityNodeObject::increment):
536         (WebCore::AccessibilityNodeObject::decrement):
537
538 2012-12-11  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
539
540         Remove conversion to/from float and float division from ImageFrame::setRGBA
541         https://bugs.webkit.org/show_bug.cgi?id=103693
542
543         Reviewed by Brent Fulgham.
544
545         Replace floating point operations used for alpha premultiply with fixed point arithmetic
546         which is basically integer operations. Allows to shave extra couple percent from decoding
547         images with transparency.
548
549         Covered by existing tests.
550
551         * platform/image-decoders/ImageDecoder.h:
552         (ImageFrame):
553         (WebCore::ImageFrame::fixPointUnsignedMultiply):
554         (WebCore::ImageFrame::setRGBA):
555
556 2012-12-11  Kihong Kwon  <kihong.kwon@samsung.com>
557
558         Vibration API: IDL type doesn't match implementation type
559         https://bugs.webkit.org/show_bug.cgi?id=103899
560
561         Reviewed by Kentaro Hara.
562
563         According to WebIDL, "unsigned long" corresponds to "unsigned" in the platform.
564         Therefore unsigned long need to be changed to unsigned for the Vibration API.
565         - Change a parameter type of vibrate function from unsigned long to unsigned.
566
567         No new tests, it is covered by exist test.
568
569         * Modules/vibration/NavigatorVibration.cpp:
570         (WebCore::NavigatorVibration::vibrate):
571         * Modules/vibration/NavigatorVibration.h:
572         (NavigatorVibration):
573         * Modules/vibration/Vibration.cpp:
574         (WebCore::Vibration::vibrate):
575         * Modules/vibration/Vibration.h:
576         (Vibration):
577         * Modules/vibration/VibrationClient.h:
578         (VibrationClient):
579         * bindings/js/JSDOMBinding.h:
580         * bindings/scripts/CodeGeneratorJS.pm:
581         Remove workaround codes for the Vibration API which is mapped from unsigned long to unsigned long.
582         It should be mapped from unsigned long to unsigned by WebIDL spec.
583         (GetNativeVectorInnerType):
584         * bindings/scripts/test/JS/JSTestObj.cpp:
585         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
586         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
587
588 2012-12-11  Xinazhu Wang  <wangxianzhu@chromium.org>
589
590         ScrollingCoordinator::hasVisibleSlowRepaintFixedObject() should exclude out-of-view fixed position elements
591         https://bugs.webkit.org/show_bug.cgi?id=102543
592
593         Let RenderLayerCompositor manage the reasons that fixed position elements are not composited.
594         Check the reason in ScrollingCoordinator::hasVisibleSlowRepaintFixedObjects(), don't let fixed position layer not composited with explicit reasons cause slow scrolling.
595
596         Reviewed by James Robinson.
597
598         Test: compositing/layer-creation/fixed-position-out-of-view-scroll-reason.html
599
600         * page/scrolling/ScrollingCoordinator.cpp:
601         (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintFixedObjects): Exclude fixed position elements that are not composited for explicit reasons.
602         * rendering/RenderLayerCompositor.cpp:
603         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Manages m_fixedPositionLayerNotCompositedReasonMap.
604         (WebCore::RenderLayerCompositor::needsToBeComposited):
605         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
606         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
607         * rendering/RenderLayerCompositor.h:
608         (WebCore::RenderLayerCompositor::fixedPositionLayerNotCompositedReason): Now outputs fixedPositionLayerNotCompositedreason.
609         (RenderLayerCompositor):
610
611 2012-12-11  Hayato Ito  <hayato@chromium.org>
612
613         [Shadow DOM] Kill ShadowRoot constructor
614         https://bugs.webkit.org/show_bug.cgi?id=102913
615
616         Reviewed by Dimitri Glazkov.
617
618         Remove ShadowRoot constructor in favor of Element.webkitCreateShadowRoot().
619
620         No new tests. Update existing tests.
621
622         * dom/ShadowRoot.idl:
623         * page/DOMWindow.idl:
624         * testing/Internals.cpp:
625         (WebCore::Internals::createShadowRoot):
626         (WebCore):
627         * testing/Internals.h:
628         (Internals):
629         * testing/Internals.idl:
630
631 2012-12-11  Antti Koivisto  <antti@apple.com>
632
633         Add Element-specific traversal functions
634         https://bugs.webkit.org/show_bug.cgi?id=104685
635
636         Reviewed by Ryosuke Niwa.
637
638         In many cases where we use NodeTraversal we really only want Elements. By having
639         Element specific iteration functions we can tighten the code and make it faster too.
640
641         This patch adds ElementTraversal namespace, similar to NodeTraversal. It also switches
642         bunch of NodeTraversal call sites that obviously only care about elements to using
643         the new interface.
644         
645         This should be a speedup too as we avoid number of branches by not having to look
646         for children of non-ContainerNodes and by allowing use of ContainerNode specific
647         accessors.
648
649         * accessibility/AccessibilityRenderObject.cpp:
650         (WebCore::AccessibilityRenderObject::addImageMapChildren):
651         * css/SelectorChecker.cpp:
652         (WebCore::linkAttribute):
653         (WebCore::SelectorChecker::allVisitedStateChanged):
654         (WebCore::SelectorChecker::visitedStateChanged):
655         * css/StyleInvalidationAnalysis.cpp:
656         (WebCore::elementMatchesSelectorScopes):
657         (WebCore::StyleInvalidationAnalysis::invalidateStyle):
658         * dom/ContainerNodeAlgorithms.h:
659         (WebCore::ChildFrameDisconnector::collectDescendant):
660         * dom/Document.cpp:
661         (WebCore::Document::buildAccessKeyMap):
662         (WebCore::Document::updateBaseURL):
663         (WebCore::Document::processBaseElement):
664         * dom/DocumentOrderedMap.cpp:
665         (WebCore::DocumentOrderedMap::get):
666         * dom/Element.cpp:
667         (WebCore::Element::firstElementChild):
668         * dom/Element.h:
669         (WebCore):
670         * dom/ElementShadow.cpp:
671         (WebCore::ElementShadow::collectSelectFeatureSetFrom):
672         * dom/NodeTraversal.h:
673         (ElementTraversal):
674         (WebCore):
675         (WebCore::ElementTraversal::traverseNextElementTemplate):
676         (WebCore::ElementTraversal::next):
677         (WebCore::ElementTraversal::firstWithin):
678         (WebCore::ElementTraversal::traverseNextElementSkippingChildrenTemplate):
679         (WebCore::ElementTraversal::nextSkippingChildren):
680         (NodeTraversal):
681         * dom/TreeScope.cpp:
682         (WebCore::TreeScope::labelElementForId):
683         (WebCore::TreeScope::findAnchor):
684         * editing/CompositeEditCommand.cpp:
685         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
686         * editing/DeleteSelectionCommand.cpp:
687         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
688         * editing/FrameSelection.cpp:
689         (WebCore::scanForForm):
690         * editing/markup.cpp:
691         (WebCore::completeURLs):
692         * html/HTMLFieldSetElement.cpp:
693         (WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder):
694         (WebCore::HTMLFieldSetElement::childrenChanged):
695         (WebCore::HTMLFieldSetElement::legend):
696         (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
697         * html/HTMLFormElement.cpp:
698         (WebCore::HTMLFormElement::formElementIndex):
699         * html/HTMLLabelElement.cpp:
700         (WebCore::HTMLLabelElement::control):
701         * html/HTMLLegendElement.cpp:
702         (WebCore::HTMLLegendElement::associatedControl):
703         * html/HTMLMapElement.cpp:
704         (WebCore::HTMLMapElement::mapMouseEvent):
705         * html/HTMLNameCollection.cpp:
706         (WebCore::HTMLNameCollection::virtualItemAfter):
707         * html/HTMLObjectElement.cpp:
708         (WebCore::HTMLObjectElement::containsJavaApplet):
709         * html/HTMLSelectElement.cpp:
710         (WebCore::HTMLSelectElement::recalcListItems):
711         * html/shadow/ContentDistributor.cpp:
712         (WebCore::ShadowRootContentDistributionData::ensureInsertionPointList):
713         * page/FocusController.cpp:
714         (WebCore::FocusController::findFocusCandidateInContainer):
715         * rendering/RenderCounter.cpp:
716         (WebCore::nextInPreOrder):
717         * svg/SVGSVGElement.cpp:
718         (WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):
719         * svg/SVGStyledElement.cpp:
720         (WebCore::SVGStyledElement::title):
721         * svg/SVGUseElement.cpp:
722         (WebCore::removeDisallowedElementsFromSubtree):
723         * svg/animation/SMILTimeContainer.cpp:
724         (WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
725
726 2012-12-11  KyungTae Kim  <ktf.kim@samsung.com>
727
728         [soup] Unused parameter in ResourceHandleSoup.cpp
729         https://bugs.webkit.org/show_bug.cgi?id=104728
730
731         Reviewed by Kentaro Hara.
732
733         The soupLogPrinter has unused parameter 'logger', 
734         remove the parameter name to fix 'unused parameter' build warning.
735
736         * platform/network/soup/ResourceHandleSoup.cpp:
737         (WebCore::soupLogPrinter):
738
739 2012-12-11  Xianzhu Wang  <wangxianzhu@chromium.org>
740
741         Fixed position out-of-view check is incorrect when page is scaled
742         https://bugs.webkit.org/show_bug.cgi?id=104303
743
744         Reviewed by Kenneth Rohde Christiansen.
745
746         Test: compositing/layer-creation/fixed-position-out-of-view-scaled.html
747               compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html
748
749         * rendering/RenderLayerCompositor.cpp:
750         (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Scale the content rect of the fixed position layer before checking out-of-view.
751
752 2012-12-11  Chris Rogers  <crogers@google.com>
753
754         Implement OfflineAudioContext constructor
755         https://bugs.webkit.org/show_bug.cgi?id=104188
756
757         Reviewed by Kentaro Hara.
758
759         The Web Audio layout tests have relied on an undocumented way (in the specification) to render
760         audio faster than realtime using an OfflineAudioContext.  We want to expose a proper OfflineAudioContext
761         object and constructor instead of piggybacking off of the normal AudioContext.
762             
763         * CMakeLists.txt:
764         * DerivedSources.make:
765         * DerivedSources.pri:
766         * GNUmakefile.list.am:
767         * Modules/webaudio/AudioContext.cpp:
768         (WebCore::AudioContext::isSampleRateRangeGood):
769         * Modules/webaudio/AudioContext.h:
770         (AudioContext):
771         * Modules/webaudio/DOMWindowWebAudio.idl:
772         * Modules/webaudio/OfflineAudioContext.cpp: Added.
773         (WebCore):
774         (WebCore::OfflineAudioContext::create):
775         (WebCore::OfflineAudioContext::OfflineAudioContext):
776         (WebCore::OfflineAudioContext::~OfflineAudioContext):
777         * Modules/webaudio/OfflineAudioContext.h: Added.
778         (WebCore):
779         (OfflineAudioContext):
780         * Modules/webaudio/OfflineAudioContext.idl: Added.
781         * WebCore.gypi:
782         * WebCore.xcodeproj/project.pbxproj:
783         * bindings/generic/RuntimeEnabledFeatures.h:
784         (WebCore::RuntimeEnabledFeatures::webkitOfflineAudioContextEnabled):
785         * bindings/js/JSAudioContextCustom.cpp:
786         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
787         * bindings/v8/custom/V8AudioContextCustom.cpp:
788         (WebCore::V8AudioContext::constructorCallbackCustom):
789
790 2012-12-11  Jun Jiang  <jun.a.jiang@intel.com>
791
792         WebGL: Avoid unnecessary memory copy or conversion in texImage2D and texSubImage2D for HTMLVideoElement
793         https://bugs.webkit.org/show_bug.cgi?id=102161
794
795         Reviewed by Kenneth Russell.
796
797         There are several memory copy or conversions in the texImage2D and texSubImage2D for HTMLVideoElement which may be avoided. This patch removes the redundant BackingStore copy if the corresponding Graphics port supports the DontCopyBackingStore behavior. Moreover, it optimizes the AlphaOp if the Image source is from HTMLVideoElement to avoid unnecessary Unmultiply or Premultiply operation in unpack/pack. 
798
799         Already covered by current tests. 
800
801         * html/canvas/WebGLRenderingContext.cpp:
802         (WebCore):
803         (WebCore::WebGLRenderingContext::texImage2DImpl):
804         (WebCore::WebGLRenderingContext::texImage2D):
805         (WebCore::WebGLRenderingContext::videoFrameToImage): add a parameter to choose BackingStore copy behavior.
806         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
807         (WebCore::WebGLRenderingContext::texSubImage2D):
808         * html/canvas/WebGLRenderingContext.h:
809         (WebGLRenderingContext):
810         * platform/graphics/GraphicsContext3D.cpp:
811         (WebCore::GraphicsContext3D::ImageExtractor::ImageExtractor):
812         * platform/graphics/GraphicsContext3D.h:
813         (ImageExtractor):
814         (WebCore::GraphicsContext3D::ImageExtractor::imageSourceUnpackAlignment):
815         (WebCore::GraphicsContext3D::ImageExtractor::imageHtmlDomSource):
816         * platform/graphics/ImageBuffer.h:
817         (ImageBuffer):
818         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
819         (WebCore::GraphicsContext3D::ImageExtractor::extractImage): optimize the AlphaOp for HTMLVideoElement input.
820         * platform/graphics/cairo/ImageBufferCairo.cpp:
821         (WebCore::ImageBuffer::fastCopyImageMode):
822         (WebCore):
823         * platform/graphics/cg/ImageBufferCG.cpp:
824         (WebCore::ImageBuffer::fastCopyImageMode):
825         (WebCore):
826         * platform/graphics/qt/ImageBufferQt.cpp:
827         (WebCore::ImageBuffer::fastCopyImageMode):
828         (WebCore):
829         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
830         (WebCore::GraphicsContext3D::ImageExtractor::extractImage): optimize the AlphaOp for HTMLVideoElement input.
831         * platform/graphics/skia/ImageBufferSkia.cpp:
832         (WebCore::ImageBuffer::fastCopyImageMode):
833         (WebCore):
834         * platform/graphics/wince/ImageBufferWinCE.cpp:
835         (WebCore::ImageBuffer::fastCopyImageMode):
836         (WebCore):
837         * platform/graphics/wx/ImageBufferWx.cpp:
838         (WebCore::ImageBuffer::fastCopyImageMode):
839         (WebCore):
840
841 2012-12-11  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
842
843         [EFL] Missing implementation of GraphicsContext3DPrivate::platformLayerSize()
844         https://bugs.webkit.org/show_bug.cgi?id=104726
845
846         Reviewed by Kenneth Rohde Christiansen.
847
848         Add common implementation of GraphicsContext3DPrivate::platformLayerSize() similar
849         to Qt version. There is nothing platform specific in Qt version. 
850
851         Covered by existing tests.
852
853         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
854         (GraphicsContext3DPrivate::platformLayerSize):
855         * platform/graphics/efl/GraphicsContext3DPrivate.h:
856         (GraphicsContext3DPrivate):
857
858 2012-12-11  No'am Rosenthal  <noam@webkit.org>
859
860         [Texmap] Slightly improve readability of the antialias shader
861         https://bugs.webkit.org/show_bug.cgi?id=104708
862
863         Reviewed by Martin Robinson.
864
865         Modify the antialiasing shader to include separate function that perform
866         discrete operations, rather than one big function that repeats the same
867         operations.
868
869         No new tests, readability fix.
870
871         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
872         (WebCore::getShaderSpec):
873
874 2012-12-11  Tim Horton  <timothy_horton@apple.com>
875
876         -webkit-svg-shadow radius changes don't cause children's boundaries to be recomputed
877         https://bugs.webkit.org/show_bug.cgi?id=104722
878         <rdar://problem/12821080>
879
880         Reviewed by Simon Fraser.
881
882         Changes to -webkit-svg-shadow currently cause a relayout of the directly affected renderer
883         and its parents, but not its children. However, children have the shadow radius
884         baked into their cached boundaries, so these need to be invalidated.
885
886         Test: svg/repaint/repaint-webkit-svg-shadow-container.html
887
888         * rendering/RenderObject.h: Expose needsBoundariesUpdate().
889         * rendering/svg/RenderSVGContainer.h: Expose needsBoundariesUpdate().
890         * rendering/svg/RenderSVGImage.h: Expose needsBoundariesUpdate().
891         * rendering/svg/RenderSVGRoot.h: Expose needsBoundariesUpdate().
892         * rendering/svg/RenderSVGShape.h: Expose needsBoundariesUpdate().
893         * rendering/svg/SVGRenderSupport.cpp:
894         (WebCore::SVGRenderSupport::layoutChildren): If the renderer has a shadow and
895         is in needs of a boundaries update, mark children as needing boundaries updates too.
896
897 2012-12-11  Xianzhu Wang  <wangxianzhu@chromium.org>
898
899         Add window.internals.mainThreadScrollReasonsAsText for testing slow scrolling
900         https://bugs.webkit.org/show_bug.cgi?id=104714
901
902         Reviewed by Eric Seidel.
903
904         No new tests. Adds test api for bug 102543 and other bugs.
905
906         * WebCore.exp.in:
907         * page/Page.cpp:
908         (WebCore::ScrollingCoordinator::mainThreadScrollingReasonsAsText): Extracted from ScrollingStateScrollingNode::dumpProperties for layout tests.
909         (WebCore):
910         * page/Page.h:
911         (Page):
912         * page/scrolling/ScrollingCoordinator.cpp:
913         (WebCore::ScrollingCoordinator::mainThreadScrollingReasonsAsText):
914         (WebCore):
915         * page/scrolling/ScrollingCoordinator.h:
916         (ScrollingCoordinator):
917         * page/scrolling/ScrollingStateScrollingNode.cpp:
918         (WebCore::ScrollingStateScrollingNode::dumpProperties): Moved code for mainThreadScrollingReasons to ScrollingCoordinator.cpp.
919         * testing/Internals.cpp:
920         (WebCore::Internals::mainThreadScrollingReasons):
921         (WebCore):
922         * testing/Internals.h:
923         * testing/Internals.idl:
924
925 2012-12-11  Simon Fraser  <simon.fraser@apple.com>
926
927         Enhance the TileCache to cache more tiles
928         https://bugs.webkit.org/show_bug.cgi?id=104612
929
930         Reviewed by Tim Horton.
931
932         Add smarts to the TileCache so that it keeps some tiles around
933         for longer and can prepopulate tiles in to-be-scrolled-to regions.
934
935         The new tile management is as follows:
936         * As before, we expand the visible rect to create a "tile coverage rect"
937         which is twice the width, and three times the height of the visible rect.
938         * At the edges, this coverage rect is constrained by them, rather than being
939         truncated as before (leading to larger initial tile coverage).
940         * When tiles leave the coverage rect, we keep them around but track
941         them in cohorts (where a cohort is a set of tiles that left the coverage rect
942         at the same time).
943         * If a repaint comes in for a "secondary" tile, we don't paint it, but mark
944         the tile as being stale. It will get repainted (in full) if it moves back inside
945         the coverage rect.
946         * Cohorts are kept around for 2 seconds after they were created. A repeating
947         1-second timer clears tiles in old cohorts.
948         * Secondary tiles are pruned if the visible rect changes, or if zooming happens.
949         * TiledBacking exposes a way to prepopulate a rect with tiles; this is called
950         when scrolling (e.g. via Home/End keys). Tiles created this way (if outside
951         the coverage rect) go into a cohort.
952
953         * page/FrameView.cpp:
954         (WebCore::FrameView::requestScrollPositionUpdate): Tell the TiledBacking
955         to prepopulate some tiles.
956         * platform/graphics/TiledBacking.h:
957         (TiledBacking): Add prepopulateRect().
958         * platform/graphics/ca/mac/TileCache.h:
959         (TileInfo): The TileMap contains TileInfos, which contain a pointer
960         to the layer, their cohort, and a 'stale content' flag.
961         (WebCore::TileCache::TileInfo::TileInfo):
962         (TileCache):
963         (TileCohortInfo):
964         (WebCore::TileCache::TileCohortInfo::TileCohortInfo):
965         * platform/graphics/ca/mac/TileCache.mm:
966         (WebCore::TileCache::TileCache):
967         (WebCore::TileCache::~TileCache):
968         (WebCore::TileCache::setNeedsDisplay):
969         (WebCore::TileCache::setNeedsDisplayInRect):
970         (WebCore::TileCache::setTileNeedsDisplayInRect):
971         (WebCore::TileCache::setScale):
972         (WebCore::TileCache::setAcceleratesDrawing):
973         (WebCore::TileCache::setTilesOpaque):
974         (WebCore::TileCache::prepopulateRect):
975         (WebCore::TileCache::setTileDebugBorderWidth):
976         (WebCore::TileCache::setTileDebugBorderColor):
977         (WebCore::TileCache::computeTileCoverageRect):
978         (WebCore::TileCache::tileSizeForCoverageRect):
979         (WebCore::TileCache::tileRevalidationTimerFired):
980         (WebCore::TileCache::blankPixelCount):
981         (WebCore::queueTileForRemoval):
982         (WebCore::TileCache::removeAllTiles):
983         (WebCore::TileCache::removeAllSecondaryTiles):
984         (WebCore::TileCache::removeTilesInCohort):
985         (WebCore::TileCache::revalidateTiles):
986         (WebCore::TileCache::nextTileCohort):
987         (WebCore::TileCache::startedNewCohort):
988         (WebCore::TileCache::newestTileCohort):
989         (WebCore::TileCache::oldestTileCohort):
990         (WebCore::TileCache::scheduleCohortRemoval):
991         (WebCore::TileCache::cohortRemovalTimerFired):
992         (WebCore::TileCache::ensureTilesForRect):
993         (WebCore::TileCache::tileGridExtent):
994         (WebCore::TileCache::tileCoverageRect):
995         (WebCore::TileCache::tileLayerAtIndex):
996         (WebCore::TileCache::drawTileMapContents):
997
998 2012-12-11  Simon Fraser  <simon.fraser@apple.com>
999
1000         Remove redundant AffineTransform in RenderSVGShape::fillAndStrokeShape()
1001         https://bugs.webkit.org/show_bug.cgi?id=104736
1002
1003         Reviewed by Dean Jackson.
1004
1005         RenderSVGShape::fillAndStrokeShape() allocated a AffineTransform on
1006         the stack which was shadowed by another one in narrower scope. It
1007         can be removed.
1008
1009         * rendering/svg/RenderSVGShape.cpp:
1010         (WebCore::RenderSVGShape::fillAndStrokeShape):
1011
1012 2012-12-11  Seokju Kwon  <seokju.kwon@gmail.com>
1013
1014         [EFL] Remove unused headers
1015         https://bugs.webkit.org/show_bug.cgi?id=104661
1016
1017         Reviewed by Ryosuke Niwa.
1018
1019         Header inclusion cleanup.
1020         Remove "NotImplemented.h".
1021
1022         No new tests, no behavior change.
1023
1024         * platform/efl/CursorEfl.cpp:
1025         * platform/efl/FileSystemEfl.cpp:
1026         * platform/efl/ScrollViewEfl.cpp:
1027         * platform/efl/ScrollbarThemeEfl.cpp:
1028         * platform/efl/SoundEfl.cpp:
1029
1030 2012-12-11  Alec Flett  <alecflett@chromium.org>
1031
1032         IndexedDB: Stub out data operations on IDBDatabaseBackendInterface
1033         https://bugs.webkit.org/show_bug.cgi?id=104592
1034
1035         Reviewed by Dimitri Glazkov.
1036
1037         In preparation for removing objectStore/index backend
1038         interfaces, stub out the basic data operations around
1039         get, put, cursors, etc. on IDBDatabaseBackendInterface.
1040
1041         No new tests, this is just preparation for refactoring.
1042
1043         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1044         (WebCore::IDBDatabaseBackendImpl::get):
1045         (WebCore):
1046         (WebCore::IDBDatabaseBackendImpl::put):
1047         (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
1048         (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
1049         (WebCore::IDBDatabaseBackendImpl::openCursor):
1050         (WebCore::IDBDatabaseBackendImpl::count):
1051         (WebCore::IDBDatabaseBackendImpl::deleteRange):
1052         (WebCore::IDBDatabaseBackendImpl::clear):
1053         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1054         (IDBDatabaseBackendImpl):
1055         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1056         (WebCore):
1057         (IDBDatabaseBackendInterface):
1058
1059 2012-12-11  Roger Fong  <roger_fong@apple.com>
1060
1061         Make Video Track compile on Windows in debug mode.
1062         https://bugs.webkit.org/show_bug.cgi?id=104720.
1063
1064         Reviewed by Alexey Proskuryakov.
1065
1066         urlForLogging method was defined in both HTMLMediaElement.cpp and HTMLTrackElement.cpp. 
1067         On Windows all the HTMLElements sources are included in an AllInOne source file, 
1068         so the definitions conflicted. Fixed by renaming the definition in each source file.
1069
1070         * html/HTMLMediaElement.cpp:
1071         (WebCore::urlForLoggingMedia):
1072         (WebCore::HTMLMediaElement::loadResource):
1073         (WebCore::HTMLMediaElement::isSafeToLoadURL):
1074         (WebCore::HTMLMediaElement::didRemoveTrack):
1075         (WebCore::HTMLMediaElement::selectNextSourceChild):
1076         (WebCore::HTMLMediaElement::sourceWasAdded):
1077         (WebCore::HTMLMediaElement::sourceWasRemoved):
1078         * html/HTMLTrackElement.cpp:
1079         (WebCore::urlForLoggingTrack):
1080         (WebCore::HTMLTrackElement::canLoadUrl):
1081
1082 2012-12-11  Ryosuke Niwa  <rniwa@webkit.org>
1083
1084         Mail hangs when resizing the font size of a large RTL text
1085         https://bugs.webkit.org/show_bug.cgi?id=104643
1086
1087         Reviewed by Enrica Casucci.
1088
1089         The bug was caused by ApplyStyleCommand::applyInlineStyleToNodeRange obtaining computed styles while
1090         removing and adding nodes. Fixed the slowness by breaking it into three phases:
1091         1. Split the range into contiguous inline runs, and determine whether styles need to be removed or applied.
1092         2. Remove any conflicting styles, and insert dummy elements at positions where inline styles ought to be
1093         computed as needed.
1094         3. Remove the dummy elements and apply ilnine styles as needed.
1095
1096         No new tests are added since there is no behavior change. This is just a performance improvement. 
1097
1098         * editing/ApplyStyleCommand.cpp:
1099         (WebCore::InlineRunToApplyStyle::InlineRunToApplyStyle):
1100         (WebCore::InlineRunToApplyStyle::startAndEndAreStillInDocument):
1101         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1102         (WebCore::ApplyStyleCommand::shouldApplyInlineStyleToRun):
1103         (WebCore::ApplyStyleCommand::removeConflictingInlineStyleFromRun):
1104         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1105         (WebCore::ApplyStyleCommand::positionToComputeInlineStyleChange):
1106         (WebCore::ApplyStyleCommand::applyInlineStyleChange):
1107         * editing/ApplyStyleCommand.h:
1108         * editing/EditingStyle.h:
1109         (WebCore::StyleChange::StyleChange):
1110
1111 2012-12-11  Xianzhu Wang  <wangxianzhu@chromium.org>
1112
1113         Incorrect position of layers for fixed position elements when page is scaled smaller than viewport
1114         https://bugs.webkit.org/show_bug.cgi?id=104294
1115
1116         Reviewed by James Robinson.
1117
1118         Fixed issue in scrollOffsetForFixedPosition when contentRect is smaller than visibleContentRect.
1119         This happens when a page originally bigger than viewport is scaled down to smaller than the viewport.
1120
1121         Test: compositing/geometry/fixed-position-composited-page-scale-smaller-than-viewport.html
1122
1123         * page/scrolling/ScrollingCoordinator.cpp:
1124         (WebCore::fixedPositionScrollOffset): Moved common code in scrollOffsetForFixedPosition here. Fixed issue when contentsSize < visibleContentSize.
1125         (WebCore::scrollOffsetForFixedPosition):
1126
1127 2012-12-11  Beth Dakin  <bdakin@apple.com>
1128
1129         https://bugs.webkit.org/show_bug.cgi?id=104725
1130         Crash in EventHandler::selectCursor() on Mac bots running 
1131         fast/events/mouse-cursor-image-set.html
1132
1133         Reviewed by Tim Horton.
1134
1135         https://bugs.webkit.org/show_bug.cgi?id=99493 enabled image-set for 
1136         the CSS cursor property. Most of the change is guarded behind #if 
1137         ENABLE(MOUSE_CURSOR_SCALE). However, image-set was still allowed to 
1138         parse for the cursor property as long as image-set is enabled 
1139         (which is the current state on the Mac). This would lead to an 
1140         inconsistent state where style information would reflect a world 
1141         where mouse cursor scaling is enabled even though nothing else on 
1142         the Mac would. 
1143
1144         The parsing should also be guarded by the cursor scaling flag.
1145         * css/CSSParser.cpp:
1146         (WebCore::CSSParser::parseValue):
1147
1148 2012-12-11  Emil A Eklund  <eae@chromium.org>
1149
1150         Clamp out-of-range numbers in CSS
1151         https://bugs.webkit.org/show_bug.cgi?id=102735
1152
1153         Reviewed by Simon Fraser.
1154
1155         Currently when a large number (outside of the supported range)
1156         is applied from a style rule or set from javascript using
1157         Element.style we check if it is within the supported range and
1158         set it to zero if it is not. This is incorrect and confusing.
1159         
1160         Change it to clamp values to the supported range. This matches
1161         the behavior in Gecko.
1162
1163         Test: fast/css/large-numbers.html
1164
1165         * css/CSSPrimitiveValue.cpp:
1166         (WebCore::CSSPrimitiveValue::computeLength):
1167         Change to clamp out-of-range values instead of interpreting them
1168         as zero.
1169
1170 2012-12-11  Nate Chapin  <japhet@chromium.org>
1171
1172         Ensure ResourceRequests for main resources include fragment indentifiers when necessary,
1173         regressed by r137333.
1174         https://bugs.webkit.org/show_bug.cgi?id=104721
1175
1176         Rubber-stamped by Dimitri Glazkov.
1177
1178         No new tests.
1179
1180         * loader/SubresourceLoader.cpp:
1181         (WebCore::SubresourceLoader::willSendRequest):
1182
1183 2012-12-11  Huang Dongsung  <luxtella@company100.net>
1184
1185         [GTK] REGRESSION(r135620): Accelerated Compositing does not draw some pages.
1186         https://bugs.webkit.org/show_bug.cgi?id=104640
1187
1188         Reviewed by Noam Rosenthal.
1189
1190         After r135620, Accelerated Compositing does not draw some pages, because
1191         r135620 changes the tree-traversal behavior.  Before r135620, we
1192         returned early if TextureMapperLayer can not get TextureMapper from the
1193         root layer. However, after r135620, we run the tree-traversal even if
1194         TextureMapperLayer can not get TextureMapper.  This patch makes
1195         TextureMapperLayer return early like code before r135620.
1196
1197         Covered by existing tests.
1198
1199         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1200         (WebCore::GraphicsLayerTextureMapper::flushCompositingState):
1201
1202 2012-12-11  Dan Bernstein  <mitz@apple.com>
1203
1204         <rdar://problem/12771885> Support ruby-position: {before, after}
1205         https://bugs.webkit.org/show_bug.cgi?id=103569
1206
1207         Reviewed by Anders Carlsson.
1208
1209         Specified in <http://www.w3.org/TR/2011/WD-css3-ruby-20110630/#rubypos>, the ruby-position
1210         property takes four values: before, after, inter-character, and inline. This change adds
1211         support for the values before and after.
1212
1213         Test: fast/ruby/position-after.html
1214
1215         * css/CSSComputedStyleDeclaration.cpp:
1216         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle ruby-position.
1217         * css/CSSParser.cpp:
1218         (WebCore::isValidKeywordPropertyAndValue): Accept before and after as valid values for
1219         ruby-position.
1220         (WebCore::isKeywordPropertyID): Added ruby-position to the list of properties with keyword
1221         values.
1222         (WebCore::CSSParser::parseValue): Added ruby-position to the switch statement.
1223         * css/CSSPrimitiveValueMappings.h:
1224         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added mapping from RubyPosition.
1225         (WebCore::CSSPrimitiveValue::operator RubyPosition): Added mapping from CSSPrimitiveValue.
1226         * css/CSSProperty.cpp:
1227         (WebCore::CSSProperty::isInheritedProperty): Added ruby-position as an inherited property.
1228         * css/CSSPropertyNames.in: Added -webkit-ruby-position.
1229         * css/CSSValueKeywords.in: Added after and before.
1230         * css/StyleBuilder.cpp:
1231         (WebCore::StyleBuilder::StyleBuilder): Added a handler for ruby-position.
1232         * css/StyleResolver.cpp:
1233         (WebCore::StyleResolver::applyProperty): Added ruby-position.
1234         * rendering/InlineFlowBox.cpp:
1235         (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Changed to choose which of
1236         hasAnnotationsBefore and hasAnnotationsAfter to set based on ruby position.
1237         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Changed to adjust only for
1238         ruby positioned before the base.
1239         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added adjustment for ruby
1240         positioned after the base.
1241         * rendering/RenderRubyRun.cpp:
1242         (WebCore::RenderRubyRun::layout): Account for ruby-position when positioning the ruby text
1243         relative to the base.
1244         * rendering/style/RenderStyle.cpp:
1245         (WebCore::RenderStyle::diff): Made a ruby-position difference a layout difference.
1246         * rendering/style/RenderStyle.h: Added rubyPosition(), setRubyPosition(), and 
1247         initialRubyPosition().
1248         * rendering/style/RenderStyleConstants.h: Added the RubyPosition enum.
1249         * rendering/style/StyleRareInheritedData.cpp:
1250         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Added initialized for
1251         m_rubyPosition. Added copying the value of this member to the copy constructor.
1252         (WebCore::StyleRareInheritedData::operator==): Added comparison of m_rubyPosition.
1253         * rendering/style/StyleRareInheritedData.h:
1254         (StyleRareInheritedData): Added m_rubyPosition member variable.
1255
1256 2012-12-11  Michael Pruett  <michael@68k.org>
1257
1258         [JSC] Add tests for explicit serialization values
1259         https://bugs.webkit.org/show_bug.cgi?id=104423
1260
1261         Reviewed by Oliver Hunt.
1262
1263         Add tests for serialization and deserialization mechanisms of
1264         the JSC implementation of SerializedScriptValue. Similar tests
1265         already exist for the V8 implementation.
1266
1267         Test: platform/jsc/fast/storage/serialized-script-value.html
1268
1269         * WebCore.exp.in:
1270         * testing/Internals.cpp:
1271         (WebCore::Internals::serializeObject):
1272         (WebCore::Internals::deserializeBuffer):
1273
1274 2012-12-11  Alexis Menard  <alexis@webkit.org>
1275
1276         Cleanup: Use consistent naming in CSSParser when dealing with the forward slash operator.
1277         https://bugs.webkit.org/show_bug.cgi?id=104699
1278
1279         Reviewed by Daniel Bates.
1280
1281         http://trac.webkit.org/changeset/136525 added an helper function to
1282         check if a CSSParserValue is a forward slash operator.
1283         BorderImageParseContext is also dealing with the forward slash operator
1284         but its naming is inconsistent with isForwardSlashOperator(). This is
1285         fixed with this patch where BorderImageParseContext::{allowSlash,
1286         commitSlash}() is now replaced by BorderImageParseContext::{allowForwardSlashOperator,
1287         commitForwardSlashOperator}().
1288
1289         No new tests : just a renaming, covered by existing tests..
1290
1291         * css/CSSParser.cpp:
1292         (WebCore::CSSParser::parseFillPosition): A little fixup on the way, use
1293         isForwardSlashOperator() instead of the current code here.
1294         (WebCore::BorderImageParseContext::BorderImageParseContext):
1295         (WebCore::BorderImageParseContext::allowForwardSlashOperator):
1296         (WebCore::BorderImageParseContext::commitImage):
1297         (WebCore::BorderImageParseContext::commitImageSlice):
1298         (WebCore::BorderImageParseContext::commitForwardSlashOperator):
1299         (WebCore::BorderImageParseContext::commitBorderWidth):
1300         (WebCore::BorderImageParseContext::commitBorderOutset):
1301         (WebCore::BorderImageParseContext::commitRepeat):
1302         (BorderImageParseContext):
1303         (WebCore::CSSParser::parseBorderImage):
1304
1305 2012-12-11  Nate Chapin  <japhet@chromium.org>
1306
1307         cr-linux valgrind is showing leaks due to r137333.
1308
1309         Rubber-stamped by Antti Koivisto.
1310
1311         MainResourceLoader's destructor should call m_resource->removeClient(this) is m_resource is still non-null.
1312         The missing removeClient() call will leak the CachedResource.
1313
1314         No new tests, should shut valgrind up.
1315
1316         * loader/MainResourceLoader.cpp:
1317         (WebCore::MainResourceLoader::~MainResourceLoader):
1318
1319 2012-12-11  Andreas Kling  <akling@apple.com>
1320
1321         REGRESSION(r133492): Heap-use-after-free in WebCore::Element::normalizeAttributes
1322         <http://webkit.org/b/104488>
1323
1324         Reviewed by Antti Koivisto.
1325
1326         Don't cache the AttrNodeList* in a local when iterating over an Element's Attr nodes since
1327         that pointer may go stale if JS runs in response to a DOMSubtreeModified event below Node::normalize().
1328
1329         Test: fast/dom/normalize-attributes-mutation-event-crash.html
1330
1331         * dom/Element.cpp:
1332         (WebCore::Element::normalizeAttributes):
1333
1334 2012-12-11  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
1335
1336         [GTK] Soup network logs are frequently interrupted by other logging messages
1337         https://bugs.webkit.org/show_bug.cgi?id=104668
1338
1339         Reviewed by Martin Robinson.
1340
1341         Set an external soup log printer that uses the WebKit logging
1342         infrastructure so that log messages are properly synchronized.
1343
1344         * platform/network/soup/ResourceHandleSoup.cpp:
1345         (WebCore::soupLogPrinter):
1346         (WebCore):
1347         (WebCore::ensureSessionIsInitialized):
1348
1349 2012-12-11  Elliott Sprehn  <esprehn@chromium.org>
1350
1351         Switch to new PseudoElement based :before and :after
1352         https://bugs.webkit.org/show_bug.cgi?id=104462
1353
1354         Reviewed by Antti Koivisto.
1355
1356         Switch to the new PseudoElement based generated content implementation
1357         that moves :before and :after into the DOM. This also switches to using
1358         the ComposedShadowTreeWalker for determining the siblings of PseudoElement's
1359         making the new generated content implementation support adding :before
1360         and :after into <input> elements.
1361
1362         Tests: fast/css-generated-content/block-inside-inline.html
1363                fast/css-generated-content/box-orient.html
1364
1365         * dom/ComposedShadowTreeWalker.cpp:
1366         (WebCore::ComposedShadowTreeWalker::pseudoAwareNextSibling):
1367         (WebCore):
1368         (WebCore::ComposedShadowTreeWalker::pseudoAwarePreviousSibling):
1369         (WebCore::ComposedShadowTreeWalker::traverseParent):
1370         * dom/ComposedShadowTreeWalker.h:
1371         (ComposedShadowTreeWalker):
1372         * dom/Element.cpp:
1373         (WebCore::Element::attach):
1374         (WebCore::Element::recalcStyle):
1375         * dom/Node.cpp:
1376         * dom/Node.h:
1377         (Node):
1378         * dom/NodeRenderingContext.cpp:
1379         (WebCore::NodeRenderingContext::nextRenderer):
1380         (WebCore::NodeRenderingContext::previousRenderer):
1381         (WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
1382         * dom/Position.cpp:
1383         (WebCore::Position::Position):
1384         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
1385         * editing/visible_units.cpp:
1386         (WebCore::logicallyPreviousBox):
1387         (WebCore::logicallyNextBox):
1388         (WebCore::startPositionForLine):
1389         (WebCore::endPositionForLine):
1390         * html/HTMLTextFormControlElement.cpp:
1391         (WebCore::HTMLTextFormControlElement::childShouldCreateRenderer):
1392         * page/DragController.cpp:
1393         (WebCore::DragController::draggableNode):
1394         * rendering/RenderBlock.cpp:
1395         (WebCore::RenderBlock::styleDidChange):
1396         (WebCore::RenderBlock::splitBlocks):
1397         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1398         (WebCore::RenderBlock::createReplacementRunIn):
1399         (WebCore::RenderBlock::isSelectionRoot):
1400         * rendering/RenderBlock.h:
1401         (RenderBlock):
1402         * rendering/RenderButton.cpp:
1403         * rendering/RenderButton.h:
1404         (RenderButton):
1405         * rendering/RenderInline.cpp:
1406         (WebCore::RenderInline::styleDidChange):
1407         (WebCore::RenderInline::addChildIgnoringContinuation):
1408         (WebCore::RenderInline::splitInlines):
1409         * rendering/RenderListItem.cpp:
1410         (WebCore::RenderListItem::updateMarkerLocation):
1411         * rendering/RenderObject.cpp:
1412         (WebCore::RenderObject::createVisiblePosition):
1413         * rendering/RenderObject.h:
1414         (WebCore::RenderObject::nonPseudoNode):
1415         (RenderObject):
1416         (WebCore::RenderObject::clearNode):
1417         (WebCore::RenderObject::generatingNode):
1418         * rendering/RenderObjectChildList.cpp:
1419         * rendering/RenderObjectChildList.h:
1420         (RenderObjectChildList):
1421         * rendering/RenderRubyText.cpp:
1422         * rendering/RenderRubyText.h:
1423         (RenderRubyText):
1424         * rendering/RenderTableRow.cpp:
1425         (WebCore::RenderTableRow::styleDidChange):
1426         * rendering/RenderTableRow.h:
1427         * rendering/RenderTableSection.cpp:
1428         (WebCore::RenderTableSection::addChild):
1429         * rendering/RenderWidget.cpp:
1430         (WebCore::RenderWidget::destroy):
1431
1432 2012-12-11  Jacky Jiang  <zhajiang@rim.com>
1433
1434         [BlackBerry] Clean up unused defaultViewportArguments in RenderThemeBlackBerry.cpp
1435         https://bugs.webkit.org/show_bug.cgi?id=104683
1436
1437         Reviewed by Rob Buis.
1438
1439         * platform/blackberry/RenderThemeBlackBerry.cpp:
1440         (WebCore::determineFullScreenMultiplier):
1441
1442 2012-12-11  Nate Chapin  <japhet@chromium.org>
1443
1444         Route main resource loads through the memory cache.
1445         https://bugs.webkit.org/show_bug.cgi?id=49246
1446
1447         Reviewed by Antti Koivisto.
1448
1449         Note that this patch doesn't actually enable caching of main resources. That will be done in a later patch.
1450         The MainResourceLoader actually has an underlying SubresourceLoader (with the cache layer between them).
1451         In several places, the MainResourceLoader's SubresourceLoader is treated as special.
1452
1453         No new tests, as this is primarily a refactor. A couple of expected results changed slightly.
1454
1455         * loader/DocumentLoader.cpp:
1456         (WebCore::DocumentLoader::setRequest):
1457         (WebCore::DocumentLoader::subresource):
1458         (WebCore::DocumentLoader::addSubresourceLoader): Because the SubresourceLoader underlying the main resource
1459             needs special handling in certain cases, track it separately from the real SubresourceLoaders.
1460         (WebCore::DocumentLoader::removeSubresourceLoader):
1461         (WebCore::DocumentLoader::startLoadingMainResource):
1462         * loader/MainResourceLoader.cpp:
1463         (WebCore::MainResourceLoader::MainResourceLoader):
1464         (WebCore::MainResourceLoader::receivedError):
1465         (WebCore::MainResourceLoader::cancel):
1466         (WebCore::MainResourceLoader::clearResource):
1467         (WebCore):
1468         (WebCore::MainResourceLoader::frameLoader):
1469         (WebCore::MainResourceLoader::request):
1470         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
1471         (WebCore::MainResourceLoader::resourceData):
1472         (WebCore::MainResourceLoader::redirectReceived):
1473         (WebCore::MainResourceLoader::willSendRequest):
1474         (WebCore::MainResourceLoader::continueAfterContentPolicy):
1475         (WebCore::MainResourceLoader::responseReceived):
1476         (WebCore::MainResourceLoader::dataReceived):
1477         (WebCore::MainResourceLoader::didFinishLoading):
1478         (WebCore::MainResourceLoader::notifyFinished):
1479         (WebCore::MainResourceLoader::reportMemoryUsage):
1480         (WebCore::MainResourceLoader::handleSubstituteDataLoadNow):
1481         (WebCore::MainResourceLoader::load):
1482         (WebCore::MainResourceLoader::setDefersLoading):
1483         (WebCore::MainResourceLoader::defersLoading):
1484         (WebCore::MainResourceLoader::setShouldBufferData):
1485         (WebCore::MainResourceLoader::loader):
1486         (WebCore::MainResourceLoader::identifier):
1487         * loader/MainResourceLoader.h:
1488         (MainResourceLoader):
1489         (WebCore::MainResourceLoader::documentLoader):
1490         * loader/ResourceLoader.cpp:
1491         (WebCore::ResourceLoader::willSendRequest):
1492         * loader/ResourceLoader.h:
1493         (WebCore::ResourceLoader::defersLoading):
1494         (WebCore::ResourceLoader::cancelled):
1495         * loader/appcache/ApplicationCacheHost.cpp:
1496         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
1497         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
1498         * loader/mac/DocumentLoaderMac.cpp:
1499         (WebCore::DocumentLoader::schedule):
1500         (WebCore::DocumentLoader::unschedule):
1501
1502 2012-12-11  Aaron Colwell  <acolwell@chromium.org>
1503
1504         Update MediaSource to allow append() calls in "ended" state.
1505         https://bugs.webkit.org/show_bug.cgi?id=104581
1506
1507         Reviewed by Eric Carlson.
1508
1509         Updated append and setTimestampOffset to allow appending in the "ended" readyState. An append() call
1510         in the "ended" state now triggers a transition to the "open" state and allows the append to succeed.
1511
1512         Tests: http/tests/media/media-source/video-media-source-append-in-ended-state.html
1513                http/tests/media/media-source/video-media-source-append-with-offset-in-ended-state.html
1514                http/tests/media/media-source/video-media-source-zero-byte-append-in-ended-state.html
1515
1516         * Modules/mediasource/MediaSource.cpp:
1517         (WebCore::MediaSource::append):
1518         (WebCore::MediaSource::setTimestampOffset):
1519
1520 2012-12-11  Robert Hogan  <robert@webkit.org>
1521
1522         REGRESSION(r121789): Text not wrapping in presence of floating objects
1523         https://bugs.webkit.org/show_bug.cgi?id=101803
1524
1525         Reviewed by David Hyatt.
1526
1527         When determining if a line needs to offset to avoid any floats use RenderBlock::lineHeight() 
1528         to estimate the height of the line. If the container has floats stacked up with different widths
1529         that straddle the line, using a height of zero will make the first line think it has
1530         more width available than it actually does and it will end up extruding from its container.
1531         
1532         The logic for finding the offset of inline blocks and images needs to use a similar heuristic.
1533         So nextLineBreak() now updates the available width if it encounters a replaced element (e.g. inline block,
1534         image) at the start of a line, using the height of the element to decide which floats to avoid. 
1535         RenderBlock::computeInlineDirectionPositionsForLine() does the same thing when laying out the line.
1536
1537         Tests: fast/block/float/floats-offset-image-quirk-lineheight.html
1538                fast/block/float/floats-offset-image-quirk.html
1539                fast/block/float/floats-offset-image-strict-lineheight.html
1540                fast/block/float/floats-offset-image-strict.html
1541                fast/block/float/floats-offset-inline-block-quirk-lineheight.html
1542                fast/block/float/floats-offset-inline-block-strict-lineheight.html
1543                fast/block/float/floats-offset-linebox-contain-block.html
1544                fast/block/float/floats-offset-linebox-contain-inline.html
1545                fast/block/float/floats-wrap-inside-inline-006.html
1546                fast/block/float/floats-wrap-inside-inline-007.html
1547
1548         * rendering/RenderBlockLineLayout.cpp:
1549         (LineWidth):
1550         (WebCore::logicalHeightForLine):
1551             This method needs to cope with the quirk where an image alone on a line will get its descent stripped away so
1552             ignore the height of the line and use the height of the image in that case.
1553         (WebCore::LineWidth::updateAvailableWidth):
1554         (WebCore::updateLogicalInlinePositions):
1555         (WebCore):
1556         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
1557         (WebCore::RenderBlock::computeInlineDirectionPositionsForSegment):
1558         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1559
1560 2012-12-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1561
1562         [GTK] Install GObject DOM bindings headers in its own directory
1563         https://bugs.webkit.org/show_bug.cgi?id=104663
1564
1565         Reviewed by Gustavo Noronha Silva.
1566
1567         Move the headers from webkit to webkitdom directory.
1568
1569         * bindings/gobject/GNUmakefile.am:
1570         * bindings/gobject/WebKitDOMBinding.h:
1571         * bindings/gobject/WebKitDOMCustom.h:
1572         * bindings/gobject/WebKitDOMEventTarget.h:
1573         * bindings/gobject/WebKitDOMEventTargetPrivate.h:
1574         * bindings/gobject/WebKitDOMObject.h:
1575         * bindings/scripts/CodeGeneratorGObject.pm:
1576         (Generate):
1577         (WriteData):
1578         * bindings/scripts/gobject-generate-headers.pl:
1579         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
1580         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
1581         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
1582         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h:
1583         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1584         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
1585         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
1586         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h:
1587         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
1588         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h:
1589         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
1590         * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h:
1591         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
1592         * bindings/scripts/test/GObject/WebKitDOMTestExceptionPrivate.h:
1593         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1594         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
1595         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
1596         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
1597         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
1598         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h:
1599         * bindings/scripts/test/GObject/WebKitDOMTestNode.h:
1600         * bindings/scripts/test/GObject/WebKitDOMTestNodePrivate.h:
1601         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1602         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
1603         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h:
1604         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructorsPrivate.h:
1605         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1606         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
1607
1608 2012-12-11  Mark Pilgrim  <pilgrim@chromium.org>
1609
1610         [Chromium] Clean up unused interfaces in PlatformSupport
1611         https://bugs.webkit.org/show_bug.cgi?id=104674
1612
1613         Reviewed by Darin Fisher.
1614
1615         Part of a refactoring series. See tracking bug 82948. Also, there
1616         were some function declarations that were supposed to be removed
1617         as part of bug 102699 but got left out of the final patch.
1618
1619         * platform/chromium/PlatformSupport.h:
1620         (WebCore):
1621         (PlatformSupport):
1622
1623 2012-12-11  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
1624
1625         [GTK] Update GraphicsLayerClutter
1626         https://bugs.webkit.org/show_bug.cgi?id=92045
1627
1628         Reviewed by Gustavo Noronha Silva.
1629
1630         Add more methods to GraphicsLayerClutter in order to run CSS 3D transforms 
1631         by using GraphicsLayerActor.
1632
1633         No new tests. This will be covered by pixel tests for Qt and GTK+ accelerated
1634         compositing and 3D transforms.
1635
1636         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1637         (WebCore):
1638         (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
1639         (WebCore::idleDestroy):
1640         (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
1641         (WebCore::GraphicsLayerClutter::setName):
1642         (WebCore::GraphicsLayerClutter::platformLayer): Returns the platform layer(ClutterAcotr).
1643         (WebCore::GraphicsLayerClutter::setNeedsDisplay): Update the display.
1644         (WebCore::GraphicsLayerClutter::setNeedsDisplayInRect): Update part of the Display.
1645         (WebCore::GraphicsLayerClutter::setAnchorPoint):
1646         (WebCore::GraphicsLayerClutter::setPosition):
1647         (WebCore::GraphicsLayerClutter::setSize):
1648         (WebCore::GraphicsLayerClutter::setTransform):
1649         (WebCore::GraphicsLayerClutter::setDrawsContent):
1650         (WebCore::GraphicsLayerClutter::setParent):
1651         (WebCore::GraphicsLayerClutter::setChildren):
1652         (WebCore::GraphicsLayerClutter::addChild):
1653         (WebCore::GraphicsLayerClutter::addChildAtIndex):
1654         (WebCore::GraphicsLayerClutter::addChildBelow):
1655         (WebCore::GraphicsLayerClutter::addChildAbove):
1656         (WebCore::GraphicsLayerClutter::replaceChild):
1657         (WebCore::GraphicsLayerClutter::removeFromParent):
1658         (WebCore::GraphicsLayerClutter::platformClutterLayerPaintContents):
1659         (WebCore::GraphicsLayerClutter::platformClutterLayerAnimationStarted):
1660         (WebCore::GraphicsLayerClutter::repaintLayerDirtyRects):
1661         (WebCore::GraphicsLayerClutter::computePositionRelativeToBase):
1662         (WebCore::GraphicsLayerClutter::flushCompositingState): Synchronize the corresponding Actors with the current 
1663         compositing states of this GraphicsLayer and its child layers. 
1664         (WebCore::GraphicsLayerClutter::recursiveCommitChanges):
1665         (WebCore::GraphicsLayerClutter::flushCompositingStateForThisLayerOnly): Commit batched changes non-recursively. 
1666         (WebCore::GraphicsLayerClutter::commitLayerChangesAfterSublayers): Reset layer changes after we recurse on children.
1667         (WebCore::GraphicsLayerClutter::noteSublayersChanged):
1668         (WebCore::GraphicsLayerClutter::noteLayerPropertyChanged):
1669         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers): Commit layer changes before we recurse on children.
1670         (WebCore::GraphicsLayerClutter::updateGeometry): Updated the position and size of the Actor.
1671         (WebCore::GraphicsLayerClutter::updateSublayerList): Updated the list of child Actors. 
1672         (WebCore::GraphicsLayerClutter::updateLayerNames):
1673         (WebCore::GraphicsLayerClutter::updateTransform):
1674         (WebCore::GraphicsLayerClutter::updateLayerDrawsContent):
1675         (WebCore::GraphicsLayerClutter::layerForSuperlayer):
1676         * platform/graphics/clutter/GraphicsLayerClutter.h:
1677         (WebCore):
1678         (WebCore::GraphicsLayerClutter::primaryLayer):
1679         (GraphicsLayerClutter):
1680
1681 2012-12-11  Jessie Berlin  <jberlin@apple.com>
1682
1683         Revert incorrect build fix.
1684
1685         * WebCore.exp.in:
1686
1687 2012-12-11  Jessie Berlin  <jberlin@apple.com>
1688
1689         Fix the Mac build after r137261
1690
1691         * WebCore.exp.in:
1692
1693 2012-12-11  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
1694
1695         [GTK] Add GraphicsLayerActor
1696         https://bugs.webkit.org/show_bug.cgi?id=91940
1697
1698         Reviewed by Gustavo Noronha Silva.
1699
1700         GraphicsLayerActor, which is a new ClutterActor, represents a node in the GPU-renderable layer tree
1701         when accelerated compositing is enabled with Clutter as acceleration backend.
1702         This patch allows to support basic features of CSS 3D Transforms.
1703
1704         No new tests. This will be covered by pixel tests for Qt and GTK+ accelerated
1705         compositing and 3D transforms.
1706
1707         * GNUmakefile.list.am:
1708         * platform/graphics/clutter/GraphicsLayerActor.cpp: Added.
1709         (_GraphicsLayerActorPrivate):
1710         (graphics_layer_actor_class_init): GObject configuration of a new Clutter Actor.
1711         (graphics_layer_actor_init): Initialization of the private data of this actor.
1712         (graphicsLayerActorSetProperty): GObject property setter.
1713         (graphicsLayerActorGetProperty): GObject property getter.
1714         (graphicsLayerActorDispose): Called to drop all references to other objects.
1715         (graphicsLayerActorAllocate):  Called to set the coordinates of an actor.
1716         (graphicsLayerActorApplyTransform): Applying the transformation to an actor before painting it.
1717         (graphicsLayerActorPaint): Called to paint the actor.
1718         (graphicsLayerActorDraw): Called each time a ClutterCairoTexture has been invalidated.
1719         (graphicsLayerActorAdded): Called each time an actor has been added to container.
1720         (graphicsLayerActorRemoved): Called each time an actor is removed from container.
1721         (graphicsLayerActorNew): Create a specific layer type of GraphicsLayerActor object.
1722         (graphicsLayerActorNewWithClient): Create a specific layer type of GraphicsLayerActor object with 
1723         its PlatformClutterClientLayer.
1724         (graphicsLayerActorSetClient): Added setter to set the PlatformClutterClientLayer.
1725         (graphicsLayerActorGetClient): Added getter to get the PlatformClutterClientLayer.
1726         (graphicsLayerActorRemoveAll): Remove all child actors.
1727         (graphicsLayerUpdateTexture): Create a ClutterCairoTexture.
1728         (graphicsLayerActorGetSurface): Added setter to set a cairo_surface_t.
1729         (graphicsLayerActorSetSurface): Added getter to get the cairo_surface_t.
1730         (graphicsLayerActorInvalidateRectangle):
1731         (graphicsLayerActorSetTransform): Set a CoglMatrix to apply matrix transform.
1732         (graphicsLayerActorSetAnchorPoint):
1733         (graphicsLayerActorGetAnchorPoint):
1734         (graphicsLayerActorSetScrollPosition):
1735         (graphicsLayerActorGetnChildren):
1736         (graphicsLayerActorReplaceSublayer):
1737         (graphicsLayerActorInsertSublayer):
1738         (graphicsLayerActorSetSublayers):
1739         (graphicsLayerActorGetLayerType):
1740         (graphicsLayerActorSetLayerType):
1741         (graphicsLayerActorSetTranslateX):
1742         (graphicsLayerActorGetTranslateX):
1743         (graphicsLayerActorSetTranslateY):
1744         (graphicsLayerActorGetTranslateY):
1745         (graphicsLayerActorSetDrawsContent): Added setter to paint content inside a layer.
1746         (graphicsLayerActorGetDrawsContent): Added getter to get the value of the drawsContent. 
1747         * platform/graphics/clutter/GraphicsLayerActor.h: Added.
1748         (_GraphicsLayerActor):
1749         (_GraphicsLayerActorClass):
1750         * platform/graphics/clutter/GraphicsLayerClutter.h:
1751         (WebCore):
1752
1753 2012-12-11  Mike West  <mkwst@chromium.org>
1754
1755         Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.
1756         https://bugs.webkit.org/show_bug.cgi?id=66371
1757
1758         Reviewed by Pavel Feldman.
1759
1760         We can simplify console message generation a bit, as nothing outside the
1761         Console object itself will generate messages of any type other than
1762         LogMessageType. This patch refactors the externally-facing API endpoints
1763         on ScriptExecutionContext and Console to drop the MessageType parameter,
1764         moves the MessageType enum into a new InspectorConsoleTypes.h header,
1765         and updates all the call sites (and ChromeClients) to drop the parameter
1766         from their interfaces.
1767
1768         As a temporary bandage for ports using this interface, this patch
1769         includes aliases for the new methods that retain the old interface.
1770         I'll remove them in a future patch.
1771
1772         Here, we only refactor an internal interface. No tests should break.
1773
1774         * GNUmakefile.list.am:
1775         * Target.pri:
1776         * WebCore.gypi:
1777         * WebCore.vcproj/WebCore.vcproj:
1778         * WebCore.xcodeproj/project.pbxproj:
1779             We added a new file! OMG!
1780         * Modules/webaudio/AudioBufferSourceNode.cpp:
1781         (WebCore::AudioBufferSourceNode::looping):
1782         (WebCore::AudioBufferSourceNode::setLooping):
1783         * Modules/webdatabase/AbstractDatabase.cpp:
1784         (WebCore::AbstractDatabase::logErrorMessage):
1785         * Modules/websockets/WebSocket.cpp:
1786         (WebCore::WebSocket::connect):
1787         (WebCore::WebSocket::send):
1788         (WebCore::WebSocket::close):
1789         (WebCore::WebSocket::setBinaryType):
1790         * Modules/websockets/WebSocketChannel.cpp:
1791         (WebCore::WebSocketChannel::fail):
1792         (WebCore::WebSocketChannel::didFailSocketStream):
1793         * bindings/js/JSCustomXPathNSResolver.cpp:
1794         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1795         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1796         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1797         * css/MediaList.cpp:
1798         (WebCore::addResolutionWarningMessageToConsole):
1799         * dom/Document.cpp:
1800         (WebCore::Document::logExceptionToConsole):
1801         (WebCore::Document::processHttpEquiv):
1802         (WebCore::Document::addMessage):
1803         * dom/Document.h:
1804         (Document):
1805         * dom/ScriptElement.cpp:
1806         (WebCore::ScriptElement::notifyFinished):
1807         * dom/ScriptExecutionContext.cpp:
1808         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
1809         (WebCore::ScriptExecutionContext::addConsoleMessage):
1810         * dom/ScriptExecutionContext.h:
1811         (ScriptExecutionContext):
1812         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
1813         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
1814         * dom/ViewportArguments.cpp:
1815         (WebCore::reportViewportWarning):
1816         * fileapi/WebKitBlobBuilder.cpp:
1817         (WebCore::BlobBuilder::append):
1818         * html/HTMLFormControlElement.cpp:
1819         (WebCore::shouldAutofocus):
1820         * html/HTMLFormElement.cpp:
1821         (WebCore::HTMLFormElement::validateInteractively):
1822         * html/HTMLIFrameElement.cpp:
1823         (WebCore::HTMLIFrameElement::parseAttribute):
1824         * html/HTMLTrackElement.cpp:
1825         (WebCore::HTMLTrackElement::canLoadUrl):
1826         * html/canvas/CanvasRenderingContext2D.cpp:
1827         (WebCore::CanvasRenderingContext2D::getImageData):
1828         * html/canvas/WebGLRenderingContext.cpp:
1829         (WebCore):
1830         (WebCore::WebGLRenderingContext::printWarningToConsole):
1831         * html/parser/XSSAuditor.cpp:
1832         (WebCore::XSSAuditor::init):
1833         (WebCore::XSSAuditor::filterToken):
1834         * inspector/ConsoleAPITypes.h: Added.
1835         (WebCore):
1836         * inspector/ConsoleMessage.h:
1837         * inspector/InspectorConsoleAgent.h:
1838         * inspector/InspectorDebuggerAgent.h:
1839         * inspector/InspectorInstrumentation.cpp:
1840         (WebCore):
1841         * inspector/InspectorInstrumentation.h:
1842         * inspector/InspectorProfilerAgent.cpp:
1843         * loader/EmptyClients.h:
1844         (WebCore::EmptyChromeClient::addMessageToConsole):
1845         * loader/FrameLoader.cpp:
1846         (WebCore::FrameLoader::reportLocalLoadFailed):
1847         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
1848         * loader/ImageLoader.cpp:
1849         (WebCore::ImageLoader::notifyFinished):
1850         * loader/MainResourceLoader.cpp:
1851         (WebCore::MainResourceLoader::didReceiveResponse):
1852         * loader/MixedContentChecker.cpp:
1853         (WebCore::MixedContentChecker::logWarning):
1854         * loader/TextTrackLoader.cpp:
1855         (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
1856         * loader/appcache/ApplicationCacheGroup.cpp:
1857         (WebCore::ApplicationCacheGroup::abort):
1858         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1859         (WebCore::ApplicationCacheGroup::didFinishLoading):
1860         (WebCore::ApplicationCacheGroup::didFail):
1861         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
1862         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
1863         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
1864         * loader/cache/CachedResourceLoader.cpp:
1865         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
1866         * page/ChromeClient.h:
1867         (ChromeClient):
1868             Drop LogMessageType from everywhere.
1869         * page/Console.cpp:
1870         (WebCore::Console::addMessage):
1871         (WebCore::internalAddMessage):
1872         (WebCore::Console::error):
1873         (WebCore::Console::log):
1874         (WebCore::Console::warn):
1875         (WebCore::Console::dir):
1876         (WebCore::Console::dirxml):
1877         (WebCore::Console::clear):
1878         (WebCore::Console::trace):
1879         (WebCore::Console::assertCondition):
1880         * page/Console.h:
1881         (Console):
1882             Create a new internalAddMessage that's used for the various
1883             Console message types. Everything else routes through
1884             ::addMessage.
1885         * page/ConsoleTypes.h:
1886             Drop MessageTypes from this file, add it to ConsoleAPIType.h
1887         * page/ContentSecurityPolicy.cpp:
1888         (WebCore::ContentSecurityPolicy::logToConsole):
1889         * page/DOMWindow.cpp:
1890         (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
1891         (WebCore::DOMWindow::printErrorMessage):
1892         * page/EventSource.cpp:
1893         (WebCore::EventSource::didReceiveResponse):
1894         * svg/SVGDocumentExtensions.cpp:
1895         (WebCore::reportMessage):
1896         * workers/DefaultSharedWorkerRepository.cpp:
1897         (SharedWorkerProxy):
1898         (WebCore::postConsoleMessageTask):
1899         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
1900         * workers/SharedWorkerContext.cpp:
1901         (WebCore::SharedWorkerContext::logExceptionToConsole):
1902         * workers/WorkerContext.cpp:
1903         (WebCore::WorkerContext::addMessage):
1904         (WebCore::WorkerContext::addMessageToWorkerConsole):
1905         * workers/WorkerContext.h:
1906         (WorkerContext):
1907         * workers/WorkerMessagingProxy.cpp:
1908         (WebCore::postConsoleMessageTask):
1909         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
1910         * workers/WorkerMessagingProxy.h:
1911         (WorkerMessagingProxy):
1912         * workers/WorkerReportingProxy.h:
1913         (WorkerReportingProxy):
1914         * xml/XMLHttpRequest.cpp:
1915         (WebCore::logConsoleError):
1916         (WebCore::XMLHttpRequest::send):
1917         * xml/XSLTProcessorLibxslt.cpp:
1918         (WebCore::XSLTProcessor::parseErrorFunc):
1919         * xml/XSLTProcessorQt.cpp:
1920         (WebCore::XSLTMessageHandler::handleMessage):
1921             Drop LogMessageType from everywhere.
1922
1923 2012-12-11  Simon Hausmann  <simon.hausmann@digia.com>
1924
1925         [Qt] Unreviewed, rolling out r137313 and r137316 because they broke the system-sqlite build.
1926
1927         * WebCore.pri:
1928
1929 2012-12-11  Simon Hausmann  <simon.hausmann@digia.com>
1930
1931         Unreviewed Qt build fix: Don't error out if SQLITE3SRCDIR isn't set but
1932         we have a system sqlite to use.
1933
1934         * WebCore.pri:
1935
1936 2012-12-11  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
1937
1938         [Qt] make qtbase source requirement explicit
1939
1940         Reviewed by Simon Hausmann.
1941
1942         getting rid of QT.<module>.sources references, as they don't go well
1943         with real modularization.
1944
1945         * WebCore.pri:
1946
1947 2012-12-11  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
1948
1949         [Qt] move SQLITE3SRCDIR assignment to only use site
1950
1951         Reviewed by Simon Hausmann.
1952
1953         Target.pri includes WebCore.pri the almost first thing, so that is
1954         covered as well.
1955
1956         * WebCore.pri:
1957
1958 2012-12-11  Eugene Klyuchnikov  <eustas@chromium.org>
1959
1960         Web Inspector: Timeline: rename "Parse" to "Parse HTML".
1961         https://bugs.webkit.org/show_bug.cgi?id=104639
1962
1963         Reviewed by Yury Semikhatsky.
1964
1965         "Parse" sounds ambiguous, it could mean JSON.parse() or Date.parse().
1966         "Parse HTML" is a much more clear record description.
1967
1968         * inspector/front-end/TimelinePresentationModel.js: Fix text.
1969
1970 2012-12-11  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
1971
1972         [Qt] change setup of QMAKE_MOC
1973
1974         Reviewed by Simon Hausmann.
1975
1976         don't load(moc) explicitly - turns out that this breaks
1977         debug_and_release builds (the feature does not like being loaded before
1978         default_post has been loaded).
1979         so instead just do a minimal call to find the moc executable.
1980
1981         as it's in fact only two files which need it, so de-centralize this call
1982         for the sake of saving some cpu cycles spent in qmake.
1983
1984         * DerivedSources.pri:
1985
1986 2012-12-11  Alexander Pavlov  <apavlov@chromium.org>
1987
1988         REGRESSION(r136948): inspector/styles/import-pseudoclass-crash.html hits an assertion
1989         https://bugs.webkit.org/show_bug.cgi?id=104473
1990
1991         Reviewed by Vsevolod Vlasov.
1992
1993         Avoid building full CSSOM wrappers up front during rule matching.
1994         Instead, move this code down to the point where these wrappers are actually needed.
1995
1996         * inspector/InspectorCSSAgent.cpp:
1997         (WebCore::InspectorCSSAgent::willMatchRule):
1998         (WebCore::InspectorCSSAgent::willProcessRule):
1999         * inspector/InspectorCSSAgent.h:
2000         (WebCore):
2001         (InspectorCSSAgent):
2002         * inspector/InspectorInstrumentation.cpp:
2003         (WebCore):
2004         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
2005         (WebCore::InspectorInstrumentation::willProcessRuleImpl):
2006
2007 2012-12-11  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2008
2009         [GStreamer] Avoid linking to GStreamer video libraries if only using ENABLE_AUDIO
2010         https://bugs.webkit.org/show_bug.cgi?id=104590
2011
2012         Reviewed by Philippe Normand.
2013
2014         Make getVideoSizeAndFormatFromCaps() only available when ENABLE_VIDEO is set.
2015
2016         No new tests, no change in behavior.
2017
2018         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
2019         * platform/graphics/gstreamer/GStreamerVersioning.h:
2020
2021 2012-12-11  Zeno Albisser  <zeno@webkit.org>
2022
2023         [Qt][Mac] Fix transparency for WebGL content.
2024         https://bugs.webkit.org/show_bug.cgi?id=104659
2025
2026         When drawing a texture to the TextureMapper the flag SupportsBlending
2027         must be passed in order to allow for transparent webgl content.
2028         We are doing this for GLX already, but the flag was still missing
2029         in GraphicsSurfaceMac.
2030
2031         Reviewed by Kenneth Rohde Christiansen.
2032
2033         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
2034         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
2035
2036 2012-12-11  Alexander Pavlov  <apavlov@chromium.org>
2037
2038         Web Inspector: Duplicate emulated touch events in iframe
2039         https://bugs.webkit.org/show_bug.cgi?id=104653
2040
2041         Reviewed by Vsevolod Vlasov.
2042
2043         Synthetic touch events should be dispatched only on the frame containing its target, not on its ancestor frames,
2044         up to the top frame.
2045
2046         * page/EventHandler.cpp:
2047         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
2048           Do not dispatch a synthetic touch event on the current frame if its target is in a subframe.
2049
2050 2012-12-11  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2051
2052         [EFL][WebGL] Regression(r137211) WebGL is broken with NVIDIA Drivers.
2053         https://bugs.webkit.org/show_bug.cgi?id=104652.
2054
2055         Reviewed by Kenneth Rohde Christiansen.
2056
2057         Reverting some of the changes from r137211, as it causes regressions
2058         on NVIDIA drivers.
2059
2060         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2061         (WebCore::GraphicsContext3D::GraphicsContext3D):
2062         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2063         (GraphicsContext3DPrivate::copyToGraphicsSurface):
2064         * platform/graphics/opengl/GLPlatformSurface.cpp:
2065         (WebCore::GLPlatformSurface::updateContents):
2066         * platform/graphics/opengl/GLPlatformSurface.h:
2067         (GLPlatformSurface):
2068
2069 2012-12-11  Pavel Feldman  <pfeldman@chromium.org>
2070
2071         Web Inspector: follow up to r136974: do not process shortcuts while editing
2072         https://bugs.webkit.org/show_bug.cgi?id=104440
2073
2074         Reviewed by Alexander Pavlov.
2075
2076         Currently, typing H while editing node results in corresponding shortcut processing.
2077
2078         * inspector/front-end/ElementsTreeOutline.js:
2079         (WebInspector.ElementsTreeOutline):
2080         (WebInspector.ElementsTreeOutline.prototype.handleShortcut):
2081         (WebInspector.ElementsTreeElement.prototype.onenter):
2082         (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
2083         (WebInspector.ElementsTreeElement.prototype.dispose):
2084         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
2085         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
2086
2087 2012-12-11  Ken Kania  <kkania@chromium.org>
2088
2089         [Inspector] Add command for dispatching mouse events.
2090         https://bugs.webkit.org/show_bug.cgi?id=104074
2091
2092         Reviewed by Yury Semikhatsky.
2093
2094         Platform mouse event coordinates are relative to the containing window,
2095         but the inspector command assumes they follow standard web coordinates,
2096         where the origin is at the top left of the page and y increases as you
2097         go down. We convert the coordinates to the window before constructing
2098         the event. This also fixes the fact that some platforms have flipped
2099         coordinate systems.
2100         Also, update dispatchKeyEvent test to follow simpler dispatchMouseEvent
2101         test.
2102
2103         Test: inspector-protocol/input/dispatchMouseEvent.html
2104
2105         * inspector/Inspector.json:
2106         * inspector/InspectorInputAgent.cpp:
2107         (WebCore::InspectorInputAgent::dispatchMouseEvent):
2108         (WebCore):
2109         * inspector/InspectorInputAgent.h:
2110         (InspectorInputAgent):
2111
2112 2012-12-11  Pavel Feldman  <pfeldman@chromium.org>
2113
2114         Not reviewed: follow up to r137283: reduce inspector toolbar spacing 1px.
2115
2116         * inspector/front-end/inspector.css:
2117         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable):
2118         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable.toggled-on):
2119
2120 2012-12-11  Kent Tamura  <tkent@chromium.org>
2121
2122         Refactoring: Rename Element::shouldMatchReadOnlySelector and shouldMatchReadWriteSelector
2123         https://bugs.webkit.org/show_bug.cgi?id=104651
2124
2125         Reviewed by Kentaro Hara.
2126
2127         ':read-only' and ':read-write' are pseudo classes. They are not
2128         selectors in the context of these functions.  This patch rename them so
2129         that they contain 'pseudo class,' and make them match to an existing
2130         function, matchesFocusPseudoClass.
2131
2132         No new tests. This shouldn't make behavior changes.
2133
2134         * css/SelectorChecker.cpp:
2135         (WebCore::SelectorChecker::checkOneSelector):
2136         * dom/Element.cpp:
2137         (WebCore::Element::recalcStyle):
2138         (WebCore::Element::matchesReadOnlyPseudoClass):
2139         (WebCore::Element::matchesReadWritePseudoClass):
2140         * dom/Element.h:
2141         (Element):
2142         * html/HTMLInputElement.cpp:
2143         (WebCore::HTMLInputElement::matchesReadOnlyPseudoClass):
2144         (WebCore::HTMLInputElement::matchesReadWritePseudoClass):
2145         * html/HTMLInputElement.h:
2146         (HTMLInputElement):
2147         * html/HTMLTextAreaElement.cpp:
2148         (WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass):
2149         (WebCore::HTMLTextAreaElement::matchesReadWritePseudoClass):
2150         * html/HTMLTextAreaElement.h:
2151         (HTMLTextAreaElement):
2152         * html/shadow/SliderThumbElement.cpp:
2153         (WebCore::SliderThumbElement::matchesReadOnlyPseudoClass):
2154         (WebCore::SliderThumbElement::matchesReadWritePseudoClass):
2155         * html/shadow/SliderThumbElement.h:
2156         (SliderThumbElement):
2157         * html/shadow/SpinButtonElement.cpp:
2158         (WebCore::SpinButtonElement::matchesReadOnlyPseudoClass):
2159         (WebCore::SpinButtonElement::matchesReadWritePseudoClass):
2160         * html/shadow/SpinButtonElement.h:
2161         (SpinButtonElement):
2162         * rendering/RenderTheme.cpp:
2163         (WebCore::RenderTheme::isReadOnlyControl):
2164
2165 2012-12-11  Pavel Feldman  <pfeldman@chromium.org>
2166
2167         Web Inspector: add more horizontal spacing for toolbar items in docked to bottom mode
2168         https://bugs.webkit.org/show_bug.cgi?id=104655
2169
2170         Reviewed by Alexander Pavlov.
2171
2172         Drive-by increase height to 26px.
2173
2174         * inspector/front-end/inspector.css:
2175         (#toolbar):
2176         (body:not(.show-toolbar-icons) .toolbar-item):
2177         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable):
2178         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable.toggled-on):
2179         (body.show-toolbar-icons.dock-to-bottom .toolbar-item.toggleable):
2180         (#toolbar-dropdown-arrow):
2181         (#main):
2182
2183 2012-12-11  Keishi Hattori  <keishi@webkit.org>
2184
2185         Use histogram enumeration in Calendar Picker so we can get stats on UI usage
2186         https://bugs.webkit.org/show_bug.cgi?id=104646
2187
2188         Reviewed by Kent Tamura.
2189
2190         Use histogram support to get stats on the calendar picker so we can improve the UI.
2191
2192         No new tests.
2193
2194         * Resources/pagepopups/calendarPicker.js:
2195         (CalendarPicker):
2196         (CalendarPicker.prototype.recordAction): Records action to histogram.
2197         (CalendarPicker.prototype.handleToday): Record action.
2198         (CalendarPicker.prototype.handleClear): Ditto.
2199         (YearMonthController.prototype._showPopup): Ditto.
2200         (YearMonthController.prototype._handleYearMonthChange): Ditto.
2201         (YearMonthController.prototype._handleButtonClick): Ditto.
2202         (DaysTable.prototype._handleDayClick): Ditto.
2203         * page/PagePopupController.cpp:
2204         (WebCore::PagePopupController::histogramEnumeration):
2205         (WebCore):
2206         * page/PagePopupController.h:
2207         (PagePopupController):
2208         * page/PagePopupController.idl: Added histogramEnumeration.
2209
2210 2012-12-11  Hajime Morrita  <morrita@google.com>
2211
2212         IsActiveFlag, IsHoverFlag, InActiveChainFlag can be unified.
2213         https://bugs.webkit.org/show_bug.cgi?id=103697
2214
2215         Reviewed by Ryosuke Niwa.
2216
2217         To save two more NodeFlags bits, this patch inroduces
2218         UserActionElementSet to get IsLinkFlag, IsHoverFlag,
2219         InActiveChainFlag together. These three old flags are replaced by
2220         UserActionElementSet::ElementFlags and UserActionElementSet
2221         collection which tracks elements which are flagged with one of
2222         a ElementFlags.
2223
2224         When marking an element as active for example, WebKit sets
2225         UserActionElementSet::IsActiveFlag to the element and store it
2226         into corresponding element set of the document. This set maintains
2227         marked elements and corresponding flags for each elements.
2228
2229         UserActionElementSet can be seen as a yet another rare data for
2230         these flags. However, the following characteristics of these flags
2231         make adding a new data structure on Document an attractive
2232         alternative:
2233
2234         - UserActionElementSet is maintained for each Document instead of a
2235           global collecton. This fits element lifetime better.
2236
2237         - The number of elements which have these flags is generally
2238           small, and a group of elements for each flag is largely overlapped
2239           due to its nature. This property keeps the set small, and lets
2240           flag retrieval efficient. On majority of the elements, all these
2241           flags are false thus the check is done by just checking
2242           IsInUserActionFlag.
2243
2244         As a bonus, isFocused flag, which was on NodeRareData, is also moved to this model.
2245
2246         No new tests, covered by existing test.
2247
2248         * CMakeLists.txt:
2249         * GNUmakefile.list.am:
2250         * Target.pri:
2251         * WebCore.gypi:
2252         * WebCore.xcodeproj/project.pbxproj:
2253         * dom/DOMAllInOne.cpp:
2254         * dom/Document.cpp:
2255         (WebCore::Document::removedLastRef):
2256         (WebCore::Document::updateHoverActiveState):
2257         * dom/Document.h:
2258         (WebCore::Document::userActionElements): Added.
2259         (Document):
2260         * dom/Node.cpp:
2261         (WebCore::Node::detach):
2262         * dom/Node.h:
2263         (WebCore):
2264         (WebCore::Node::isUserActionElement): Added.
2265         (WebCore::Node::setUserActionElement): Added.
2266         (Node):
2267         (WebCore::Node::active): Switched to UserActionElementSet.
2268         (WebCore::Node::inActiveChain): Switched to UserActionElementSet.
2269         (WebCore::Node::hovered): Switched to UserActionElementSet.
2270         (WebCore::Node::focused): Switched to UserActionElementSet.
2271         (WebCore::Node::setFocus): Switched to UserActionElementSet.
2272         (WebCore::Node::setActive): Switched to UserActionElementSet.
2273         (WebCore::Node::setHovered): Switched to UserActionElementSet.
2274         * dom/NodeRareData.h:
2275         (WebCore::NodeRareData::NodeRareData):
2276         (NodeRareData):
2277         * dom/UserActionElementSet.cpp: Added.
2278         (WebCore):
2279         (WebCore::UserActionElementSet::instanceFor):
2280         (WebCore::UserActionElementSet::UserActionElementSet):
2281         (WebCore::UserActionElementSet::~UserActionElementSet):
2282         (WebCore::UserActionElementSet::didDetach):
2283         (WebCore::UserActionElementSet::documentDidRemoveLastRef):
2284         (WebCore::UserActionElementSet::hasFlags):
2285         (WebCore::UserActionElementSet::setFlags):
2286         (WebCore::UserActionElementSet::clearFlags):
2287         * dom/UserActionElementSet.h: Added.
2288         (WebCore):
2289         (UserActionElementSet):
2290         (WebCore::UserActionElementSet::create):
2291         (WebCore::UserActionElementSet::isFocused):
2292         (WebCore::UserActionElementSet::setFocused):
2293         (WebCore::UserActionElementSet::isActive):
2294         (WebCore::UserActionElementSet::setActive):
2295         (WebCore::UserActionElementSet::isInActiveChain):
2296         (WebCore::UserActionElementSet::setInActiveChain):
2297         (WebCore::UserActionElementSet::isHovered):
2298         (WebCore::UserActionElementSet::setHovered):
2299         (WebCore::UserActionElementSet::setFlags):
2300
2301 2012-12-11  Kent Tamura  <tkent@chromium.org>
2302
2303         INPUT_MULTIPLE_FIELDS_UI: Disable focus navigation by right/left keys in RTL locales
2304         https://bugs.webkit.org/show_bug.cgi?id=104644
2305
2306         Reviewed by Hajime Morita.
2307
2308         Pressing the left key should focus on the field at the left of the
2309         current focused field, and pressing the right key should focus on the
2310         field at the right of the current focused field. This works well in LTR
2311         locales.
2312         In RTL locale, the current code doesn't work. We disable this behavior
2313         for RTL locales for now. This issue will be handled in Bug 104650.
2314
2315         No new tests. Update some *-multiple-fields tests for new behavior.
2316
2317         * html/shadow/DateTimeFieldElement.cpp:
2318         (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
2319         If this sub-field is in an RTL locale, we don't change focus.
2320         (WebCore::DateTimeFieldElement::localeForOwner):
2321         Moved from DateTimeNumericFieldElement.
2322         * html/shadow/DateTimeFieldElement.h:
2323         (DateTimeFieldElement): Remove isRTL, add localeForOwner.
2324         * html/shadow/DateTimeNumericFieldElement.cpp: Remove localeForOwner.
2325         * html/shadow/DateTimeNumericFieldElement.h:
2326         (DateTimeNumericFieldElement): Ditto.
2327
2328 2012-12-11  Pavel Podivilov  <podivilov@google.com>
2329
2330         Remove pango files deleted at r137263 form WebCore.gypi.
2331
2332         Unreviewed, gardening.
2333
2334         * WebCore.gypi:
2335
2336 2012-12-11  Zan Dobersek  <zandobersek@gmail.com>
2337
2338         [GTK] Feature enabling/disabling should be possible through build-webkit
2339         https://bugs.webkit.org/show_bug.cgi?id=99271
2340
2341         Reviewed by Gustavo Noronha Silva.
2342
2343         Move the contents of GNUmakefile.features.am into GNUmakefile.features.am.in.
2344         The former is then copied from the latter but then appropriately modified if
2345         the build-webkit script overrides any of the default feature defines.
2346
2347         No new tests - no new testable functionality.
2348
2349         * GNUmakefile.features.am.in: Renamed from Source/WebCore/GNUmakefile.features.am.
2350
2351 2012-12-11  Jinwoo Song  <jinwoo7.song@samsung.com>
2352
2353         [QT][EFL][WK2] Move the GraphicsSurfaceGLX.cpp to common place
2354         https://bugs.webkit.org/show_bug.cgi?id=104433
2355
2356         Reviewed by Kenneth Rohde Christiansen.
2357
2358         QT and EFL are commonly using the GraphicsSurfaceGLX.cpp and
2359         it looks better to move this file to /glx directory.
2360
2361         * PlatformEfl.cmake:
2362         * Target.pri:
2363         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp.
2364         (WebCore):
2365         (OffScreenRootWindow):
2366         (WebCore::OffScreenRootWindow::OffScreenRootWindow):
2367         (WebCore::OffScreenRootWindow::getXWindow):
2368         (WebCore::OffScreenRootWindow::display):
2369         (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
2370         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2371         (GraphicsSurfacePrivate):
2372         (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
2373         (WebCore::GraphicsSurfacePrivate::createSurface):
2374         (WebCore::GraphicsSurfacePrivate::createPixmap):
2375         (WebCore::GraphicsSurfacePrivate::textureIsYInverted):
2376         (WebCore::GraphicsSurfacePrivate::makeCurrent):
2377         (WebCore::GraphicsSurfacePrivate::doneCurrent):
2378         (WebCore::GraphicsSurfacePrivate::swapBuffers):
2379         (WebCore::GraphicsSurfacePrivate::copyFromTexture):
2380         (WebCore::GraphicsSurfacePrivate::display):
2381         (WebCore::GraphicsSurfacePrivate::glxPixmap):
2382         (WebCore::GraphicsSurfacePrivate::size):
2383         (WebCore::resolveGLMethods):
2384         (WebCore::GraphicsSurface::platformExport):
2385         (WebCore::GraphicsSurface::platformGetTextureID):
2386         (WebCore::GraphicsSurface::platformCopyToGLTexture):
2387         (WebCore::GraphicsSurface::platformCopyFromTexture):
2388         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
2389         (WebCore::GraphicsSurface::platformFrontBuffer):
2390         (WebCore::GraphicsSurface::platformSwapBuffers):
2391         (WebCore::GraphicsSurface::platformSize):
2392         (WebCore::GraphicsSurface::platformCreate):
2393         (WebCore::GraphicsSurface::platformImport):
2394         (WebCore::GraphicsSurface::platformLock):
2395         (WebCore::GraphicsSurface::platformUnlock):
2396         (WebCore::GraphicsSurface::platformDestroy):
2397         (WebCore::GraphicsSurface::platformBeginPaint):
2398         (WebCore::GraphicsSurface::createReadOnlyImage):
2399
2400 2012-12-11  Mike West  <mkwst@chromium.org>
2401
2402         Web Inspector: Evaluate private browsing mode's effect on console messages.
2403         https://bugs.webkit.org/show_bug.cgi?id=104383
2404
2405         Reviewed by Pavel Feldman.
2406
2407         Two sets of console messages are currently gated on private browsing
2408         mode being inactive. This patch centralizes the private browsing checks
2409         in order to apply them equally to all console messages, and changes the
2410         granularity at which they act.
2411
2412         The current checks block the console messages entirely. This patch
2413         blocks only notifications to ChromeClient and ensures that messages
2414         won't be passed to printf where they might end up in system logs.
2415         Notifications to InspectorInstrumentation seem safe; so far as I can
2416         tell, there's no compelling reason to prevent console-based debugging
2417         in private browsing mode. This patch excludes those calls from the
2418         private browsing check.
2419
2420         Test: inspector/console/clients-ignored-in-privatebrowsing.html
2421
2422         * loader/cache/CachedResourceLoader.cpp:
2423         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
2424             Drop the private browsing check.
2425         * page/Console.cpp:
2426         (WebCore::Console::addMessage):
2427             Add private browsing checks to the two ::addMessage variants that
2428             do real work. Ensure that calls to printf and notifications to
2429             ChromeClients are gated on these checks, but always allow
2430             notifications to InspectorInstrumentation.
2431         * page/DOMWindow.cpp:
2432         (WebCore::DOMWindow::printErrorMessage):
2433             Drop the private browsing check.
2434
2435 2012-12-10  Dan Winship  <danw@gnome.org>
2436
2437         [Soup] Fix spelling of "initiating" in API.
2438
2439         Reviewed by Martin Robinson.
2440
2441         No new tests (just internal renaming).
2442
2443         * platform/network/ResourceHandle.h:
2444         (ResourceHandle):
2445         * platform/network/soup/ResourceHandleSoup.cpp:
2446         (WebCore):
2447         (WebCore::setSoupRequestInitiatingPageIDFromNetworkingContext):
2448         (WebCore::ResourceHandle::start):
2449         (WebCore::ResourceHandle::getSoupRequestInitiatingPageID):
2450
2451 2012-12-10  Martin Robinson  <mrobinson@igalia.com>
2452
2453         [GTK] Remove the Pango backend
2454         https://bugs.webkit.org/show_bug.cgi?id=104569
2455
2456         Reviewed by Daniel Bates.
2457
2458         Remove the Pango backend entirely. The EFL build has no support for it and it's
2459         not really maintained enough for the GTK+ port, now that HarfbuzzNG shapes complex
2460         text when Freetype is the active text rendering backend.
2461
2462         No new tests. This does not change behavior.
2463
2464         * GNUmakefile.am: Remove Pango backend options and move Freetype options to the common list.
2465         * GNUmakefile.list.am: Ditto.
2466         * platform/graphics/FontPlatformData.h:
2467         * platform/graphics/pango/FontCachePango.cpp: Removed.
2468         * platform/graphics/pango/FontCustomPlatformDataPango.cpp: Removed.
2469         * platform/graphics/pango/FontPango.cpp: Removed.
2470         * platform/graphics/pango/FontPlatformData.h: Removed.
2471         * platform/graphics/pango/FontPlatformDataPango.cpp: Removed.
2472         * platform/graphics/pango/GlyphPageTreeNodePango.cpp: Removed.
2473         * platform/graphics/pango/PangoUtilities.cpp: Removed.
2474         * platform/graphics/pango/PangoUtilities.h: Removed.
2475         * platform/graphics/pango/SimpleFontDataPango.cpp: Removed.
2476
2477 2012-12-11  Andrey Adaikin  <aandrey@chromium.org>
2478
2479         Web Inspector: [WebGL] prevent GC from collecting WebGLObject instances currently bound to the context state
2480         https://bugs.webkit.org/show_bug.cgi?id=104119
2481
2482         Reviewed by Pavel Feldman.
2483
2484         This is to prevent GC from collecting resources bound to a context (WebGL or 2D).
2485         Otherwise, for example in WebGL, subsequent calls to gl.getParameter() may return a recently created
2486         instance that is no longer bound to a Resource object (thus, no history to replay it later).
2487
2488         * inspector/InjectedScriptCanvasModuleSource.js:
2489         (.):
2490
2491 2012-12-11  Zan Dobersek  <zandobersek@gmail.com>
2492
2493         Unreviewed build fix after r137243.
2494
2495         * bindings/gobject/GNUmakefile.am:
2496
2497 2012-12-10  No'am Rosenthal  <noam@webkit.org>
2498
2499         REGRESSION (r137006): CSS clip on solid color composited div broken
2500         https://bugs.webkit.org/show_bug.cgi?id=104604
2501
2502         Reviewed by Simon Fraser.
2503
2504         Disable direct compositing of background color for clipping layers.
2505
2506         Test: compositing/geometry/clip-inside.html
2507
2508         * rendering/RenderLayerBacking.cpp:
2509         (WebCore::supportsDirectBoxDecorationsComposition):
2510             Never allow direct background composition if there is a clip.
2511
2512 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
2513
2514         REGRESSION (r137215): WebKit stretches and shrinks a part of screen on scroll
2515         https://bugs.webkit.org/show_bug.cgi?id=104626
2516
2517         Reviewed by Beth Dakin.
2518
2519         r137215 removed a compositing layer repaint on size changes. However, there
2520         are cases where the compositing code constrains layer size by clipping
2521         with the viewport and a clipping ancestor. When that happens, we must
2522         invalidate the layer on a size change to avoid showing stretched or
2523         shrunken content.
2524
2525         Test: compositing/repaint/clipped-layer-size-change.html
2526
2527         * rendering/RenderLayerBacking.cpp:
2528         (WebCore::RenderLayerBacking::RenderLayerBacking):
2529         (WebCore::RenderLayerBacking::updateCompositedBounds):
2530         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2531         * rendering/RenderLayerBacking.h:
2532         (RenderLayerBacking):
2533
2534 2012-12-10  Dean Jackson  <dino@apple.com>
2535
2536         Remove old WebKit Animation API code
2537         https://bugs.webkit.org/show_bug.cgi?id=104611
2538
2539         Reviewed by Simon Fraser.
2540
2541         Remove the existing, unused animation API code. We'll look into
2542         implementing the W3C Animation API if/when it is stable.
2543
2544         * CMakeLists.txt: Remove WebKitAnimation and WebKitAnimationList classes.
2545         * DerivedSources.cpp:
2546         * DerivedSources.make:
2547         * DerivedSources.pri:
2548         * GNUmakefile.list.am:
2549         * Target.pri:
2550         * UseJSC.cmake:
2551         * UseV8.cmake:
2552         * WebCore.gypi:
2553         * WebCore.vcproj/WebCore.vcproj:
2554         * WebCore.xcodeproj/project.pbxproj:
2555         * bindings/js/JSBindingsAllInOne.cpp: Remove includes.
2556         * bindings/js/JSWebKitAnimationCustom.cpp: Removed.
2557         * bindings/js/JSWebKitAnimationListCustom.cpp: Removed.
2558         * dom/Element.cpp: Remove API.
2559         * dom/Element.h: Ditto.
2560         * dom/Element.idl: Ditto.
2561         * page/DOMWindow.idl: Ditto.
2562         * page/WebKitAnimation.cpp: Removed.
2563         * page/WebKitAnimation.h: Removed.
2564         * page/WebKitAnimation.idl: Removed.
2565         * page/WebKitAnimationList.cpp: Removed.
2566         * page/WebKitAnimationList.h: Removed.
2567         * page/WebKitAnimationList.idl: Removed.
2568         * page/animation/AnimationController.cpp: Remove API.
2569         * page/animation/AnimationController.h: Ditto.
2570         * page/animation/AnimationControllerPrivate.h: Ditto.
2571         * page/animation/CompositeAnimation.cpp: Ditto.
2572         * page/animation/CompositeAnimation.h: Ditto.
2573
2574 2012-12-10  Jessie Berlin  <jberlin@apple.com>
2575
2576         Fix the Mac build after r137233
2577
2578         * html/shadow/HTMLShadowElement.h:
2579         Remove a declaration of a member variable that was moved to the InsertionPoint superclass.
2580
2581 2012-12-10  KyungTae Kim  <ktf.kim@samsung.com>
2582
2583         Build fix after r137221
2584         https://bugs.webkit.org/show_bug.cgi?id=104617
2585
2586         Unreviewed build fix
2587
2588         * html/HTMLPropertiesCollection.cpp:
2589         (WebCore::nextNodeWithProperty):
2590
2591 2012-12-10  Hajime Morrita  <morrita@google.com>
2592
2593         [Shadow DOM][Refactoring] HTMLContentElement,HTMLShadowElement::m_registeredWithShadowRoot should be moved to InsertionPoint
2594         https://bugs.webkit.org/show_bug.cgi?id=104516
2595
2596         Reviewed by Dimitri Glazkov.
2597
2598         This change pulls duplicated code in removedFrom() and
2599         insertedInto() of both both HTMLShadowElement and
2600         HTMLContentElement to their super class InsertionPoint.
2601
2602         This is a part of effor that encapsulate node distribution algorithm to
2603         ContentDistributor and its family.
2604
2605         No new tests, no behavior change.
2606
2607         * dom/ShadowRoot.cpp:
2608         (WebCore::ShadowRoot::registerInsertionPoint): Added.
2609         (WebCore::ShadowRoot::unregisterInsertionPoint): Added.
2610         * dom/ShadowRoot.h:
2611         (ShadowRoot):
2612         * html/shadow/ContentDistributor.cpp:
2613         (WebCore::ShadowRootContentDistributionData::regiterInsertionPoint): Generalized two methods for <content> and <shadow>.
2614         (WebCore):
2615         (WebCore::ShadowRootContentDistributionData::unregisterInsertionPoint): Ditto.
2616         * html/shadow/ContentDistributor.h:
2617         (ShadowRootContentDistributionData):
2618         * html/shadow/HTMLContentElement.cpp:
2619         (WebCore::HTMLContentElement::HTMLContentElement):
2620         * html/shadow/HTMLContentElement.h:
2621         * html/shadow/HTMLShadowElement.cpp:
2622         (WebCore::HTMLShadowElement::HTMLShadowElement):
2623         * html/shadow/HTMLShadowElement.h:
2624         * html/shadow/InsertionPoint.cpp:
2625         (WebCore::InsertionPoint::InsertionPoint):
2626         (WebCore::InsertionPoint::insertedInto): Pulled up from subclasses
2627         (WebCore::InsertionPoint::removedFrom): Pulled up from subclasses
2628         * html/shadow/InsertionPoint.h:
2629         (InsertionPoint):
2630
2631 2012-12-10  Jon Lee  <jonlee@apple.com>
2632
2633         Keep track of plug-in snapshots clicked by user
2634         https://bugs.webkit.org/show_bug.cgi?id=103206
2635         <rdar://problem/12746483>
2636
2637         Reviewed by Anders Carlsson.
2638
2639         * html/HTMLPlugInImageElement.cpp:
2640         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initially the hash is
2641         unknown. Set to 0. Move the check for whether to snapshot the plugin into the
2642         new function subframeLoaderWillLoadPlugIn.
2643         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Rename
2644         setPendingClickEvent to userDidClickSnapshot. In addition to holding onto the
2645         click event used to activate the plug-in, the function now also tells the plug-in
2646         client to add the origin hash as an auto-start origin.
2647         (WebCore::HTMLPlugInImageElement::subframeLoaderWillLoadPlugIn): Calculate the
2648         hash based on the provided URL, which is the URL the plug-in will load. Extend
2649         the check that used to be in the constructor to see if the plug-in should not
2650         automatically load, including checking the plug-in size and whether the hash
2651         is an auto-start origin.
2652         * html/HTMLPlugInImageElement.h: Rename setPendingClickEvent to userDidClickSnapshot
2653         and add a variable for the origin hash.
2654
2655         * loader/SubframeLoader.cpp:
2656         (WebCore::SubframeLoader::requestPlugin): When the loader is about to load the
2657         plug-in, pass the URL to the element, so that it can calculate the hash.
2658
2659         * page/Page.cpp:
2660         (WebCore::Page::Page): Take the plugInClient from the page clients.
2661         (WebCore::Page::~Page): If the client exists, tell it that the page is being
2662         destroyed.
2663         (WebCore::Page::PageClients::PageClients): Initialize this optional client to
2664         null.
2665         * page/Page.h: Add PlugInClient to page clients.
2666         (PageClients): Add PlugInClient variable.
2667         (WebCore::Page::plugInClient):
2668         * page/PlugInClient.h: Added.
2669
2670         * rendering/RenderSnapshottedPlugIn.cpp:
2671         (WebCore::RenderSnapshottedPlugIn::handleEvent): Call the renamed function
2672         userDidClickSnapshot().
2673         (WebCore::RenderSnapshottedPlugIn::layout): Move the check of the plug-in size
2674         to subframeLoaderWillLoadPlugIn.
2675
2676         Add PlugInClient.h.
2677         * GNUmakefile.list.am:
2678         * Target.pri:
2679         * WebCore.vcproj/WebCore.vcproj:
2680         * WebCore.xcodeproj/project.pbxproj:
2681
2682 2012-12-10  Antti Koivisto  <antti@apple.com>
2683
2684         Not reviewed.
2685         
2686         Build fix.
2687
2688         * html/HTMLPropertiesCollection.cpp:
2689         (WebCore::nextNodeWithProperty):
2690         * page/TouchDisambiguation.cpp:
2691         (WebCore::boundingBoxForEventNodes):
2692
2693 2012-12-10  Beth Dakin  <bdakin@apple.com>
2694
2695         https://bugs.webkit.org/show_bug.cgi?id=104602
2696         DidHitRelevantRepaintedObjectsAreaThreshold LayoutMilestone fires too 
2697         early on some pages with iframes
2698
2699         Reviewed by Simon Fraser.
2700
2701         This change makes it so that any RenderObjects inside iframes are not 
2702         considered relevant.
2703         * page/Page.cpp:
2704         (WebCore::Page::addRelevantRepaintedObject):
2705
2706 2012-12-10  David Grogan  <dgrogan@chromium.org>
2707
2708         IndexedDB: Propagate more leveldb errors to script
2709         https://bugs.webkit.org/show_bug.cgi?id=104422
2710
2711         Reviewed by Tony Chang.
2712
2713         These are the last places that ignore leveldb errors that can get the
2714         usual ok/found treatment.
2715
2716         Nothing called getBool, so it is deleted.
2717
2718         * Modules/indexeddb/IDBBackingStore.cpp:
2719         (WebCore):
2720         (WebCore::getInt):
2721         (WebCore::isSchemaKnown):
2722         (WebCore::setUpMetadata):
2723         (WebCore::getMaxObjectStoreId):
2724         (WebCore::IDBBackingStore::open):
2725         (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
2726         (WebCore::getNewDatabaseId):
2727         (WebCore::IDBBackingStore::createIDBDatabaseMetaData):
2728         (WebCore::setMaxObjectStoreId):
2729         (WebCore::getNewVersionNumber):
2730         (WebCore::IDBBackingStore::putRecord):
2731         (WebCore::setMaxIndexId):
2732         * Modules/indexeddb/IDBBackingStore.h:
2733         (IDBBackingStore):
2734         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2735         (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
2736         (WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::perform):
2737
2738 2012-12-09  Antti Koivisto  <antti@apple.com>
2739
2740         Factor node traversal into standalone functions
2741         https://bugs.webkit.org/show_bug.cgi?id=104507
2742
2743         Reviewed by Eric Seidel.
2744
2745         Node traversal functions are currently Node and ContainerNode members. Their implementations
2746         are confusingly scattered over multiple header and source files. These functions have no particular
2747         reason to be members as they don't require non-public access. They should be made freestanding
2748         function instead and gathered together.
2749         
2750         This patch adds NodeTraversal namespace, defined in NodeTraversal.h. It contains freestanding
2751         functions for traversing Nodes. Most popular functions are inlined (as before) and
2752         there are ContainerNode specific specializations (as before).
2753         
2754         In client code
2755         
2756             node = node->traverseNextNode();
2757             node = node->traverseNextSibling();
2758         
2759         becomes
2760         
2761             node = NodeTraversal::next(node);
2762             node = NodeTraversal::nextSkippingChildren(node);
2763             
2764         etc.
2765
2766         * WebCore.exp.in:
2767         * WebCore.xcodeproj/project.pbxproj:
2768         * accessibility/AccessibilityNodeObject.cpp:
2769         (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
2770         * accessibility/AccessibilityObject.cpp:
2771         (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
2772         * accessibility/AccessibilityRenderObject.cpp:
2773         (WebCore::AccessibilityRenderObject::addImageMapChildren):
2774         * bindings/js/JSDocumentCustom.cpp:
2775         (WebCore::toJS):
2776         * css/SelectorChecker.cpp:
2777         (WebCore::SelectorChecker::allVisitedStateChanged):
2778         (WebCore::SelectorChecker::visitedStateChanged):
2779         * css/StyleInvalidationAnalysis.cpp:
2780         (WebCore::StyleInvalidationAnalysis::invalidateStyle):
2781         * dom/ContainerNode.cpp:
2782         (WebCore::dispatchChildInsertionEvents):
2783         (WebCore::dispatchChildRemovalEvents):
2784         * dom/ContainerNode.h:
2785         (ContainerNode):
2786         (WebCore):
2787         * dom/ContainerNodeAlgorithms.h:
2788         (WebCore::ChildFrameDisconnector::collectDescendant):
2789         * dom/Document.cpp:
2790         (WebCore::Document::buildAccessKeyMap):
2791         (WebCore::Document::removeAllEventListeners):
2792         (WebCore::Document::updateBaseURL):
2793         (WebCore::Document::processBaseElement):
2794         (WebCore::Document::nodeAbsIndex):
2795         (WebCore::Document::nodeWithAbsIndex):
2796         (WebCore::Document::getFocusableNodes):
2797         * dom/DocumentMarkerController.cpp:
2798         (WebCore::DocumentMarkerController::markersInRange):
2799         (WebCore::DocumentMarkerController::setMarkersActive):
2800         (WebCore::DocumentMarkerController::hasMarkers):
2801         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
2802         * dom/DocumentOrderedMap.cpp:
2803         (WebCore::DocumentOrderedMap::get):
2804         * dom/ElementShadow.cpp:
2805         (WebCore::ElementShadow::collectSelectFeatureSetFrom):
2806         * dom/Node.cpp:
2807         (WebCore::Node::normalize):
2808         (WebCore::Node::lazyAttach):
2809         (WebCore):
2810         (WebCore::Node::detach):
2811         (WebCore::traverseTreeAndMark):
2812         * dom/Node.h:
2813         (Node):
2814         * dom/NodeIterator.cpp:
2815         (WebCore::NodeIterator::NodePointer::moveToNext):
2816         (WebCore::NodeIterator::NodePointer::moveToPrevious):
2817         (WebCore::NodeIterator::updateForNodeRemoval):
2818         * dom/NodeTraversal.h: Added.
2819         (WebCore):
2820         (NodeTraversal):
2821         (WebCore::NodeTraversal::traverseNextNodeTemplate):
2822         (WebCore::NodeTraversal::next):
2823         (WebCore::NodeTraversal::traverseNextSiblingTemplate):
2824         (WebCore::NodeTraversal::nextSibling):
2825         * dom/Range.cpp:
2826         (WebCore::Range::toString):
2827         (WebCore::Range::checkDeleteExtract):
2828         (WebCore::Range::firstNode):
2829         (WebCore::Range::pastLastNode):
2830         (WebCore::Range::textRects):
2831         (WebCore::Range::textQuads):
2832         (WebCore::Range::getBorderAndTextQuads):
2833         * dom/TreeScope.cpp:
2834         (WebCore::TreeScope::labelElementForId):
2835         (WebCore::TreeScope::findAnchor):
2836         * dom/TreeScopeAdopter.cpp:
2837         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2838         (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
2839         * dom/TreeWalker.cpp:
2840         (WebCore::TreeWalker::nextNode):
2841         * editing/ApplyStyleCommand.cpp:
2842         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2843         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
2844         (WebCore::containsNonEditableRegion):
2845         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
2846         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
2847         (WebCore::ApplyStyleCommand::removeInlineStyle):
2848         * editing/BreakBlockquoteCommand.cpp:
2849         (WebCore::BreakBlockquoteCommand::doApply):
2850         * editing/CompositeEditCommand.cpp:
2851         (WebCore::CompositeEditCommand::deleteInsignificantText):
2852         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
2853         * editing/DeleteSelectionCommand.cpp:
2854         (WebCore::firstEditablePositionInNode):
2855         (WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):
2856         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2857         * editing/EditCommand.cpp:
2858         (WebCore::SimpleEditCommand::addNodeAndDescendants):
2859         * editing/EditingStyle.cpp:
2860         (WebCore::EditingStyle::triStateOfStyle):
2861         (WebCore::EditingStyle::textDirectionForSelection):
2862         * editing/Editor.cpp:
2863         (WebCore::Editor::simplifyMarkup):
2864         * editing/FrameSelection.cpp:
2865         (WebCore::scanForForm):
2866         (WebCore::FrameSelection::setSelectionFromNone):
2867         * editing/InsertParagraphSeparatorCommand.cpp:
2868         (WebCore::InsertParagraphSeparatorCommand::doApply):
2869         * editing/ReplaceSelectionCommand.cpp:
2870         (WebCore::ReplacementFragment::removeUnrenderedNodes):
2871         (WebCore::ReplacementFragment::removeInterchangeNodes):
2872         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren):
2873         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode):
2874         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2875         (WebCore::removeHeadContents):
2876         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
2877         * editing/ReplaceSelectionCommand.h:
2878         (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
2879         * editing/SimplifyMarkupCommand.cpp:
2880         (WebCore::SimplifyMarkupCommand::doApply):
2881         * editing/TextIterator.cpp:
2882         (WebCore::TextIterator::advance):
2883         (WebCore::shouldEmitNewlineAfterNode):
2884         * editing/htmlediting.cpp:
2885         (WebCore::hasARenderedDescendant):
2886         * editing/mac/EditorMac.mm:
2887         (WebCore::Editor::fontForSelection):
2888         * editing/markup.cpp:
2889         (WebCore::completeURLs):
2890         (WebCore::StyledMarkupAccumulator::traverseNodesForSerialization):
2891         (WebCore::findNodesSurroundingContext):
2892         (WebCore::trimFragment):
2893         * editing/visible_units.cpp:
2894         (WebCore::startOfParagraph):
2895         (WebCore::endOfParagraph):
2896         * html/HTMLCollection.cpp:
2897         (WebCore::nextNode):
2898         * html/HTMLElement.cpp:
2899         (WebCore::setHasDirAutoFlagRecursively):
2900         (WebCore::HTMLElement::directionality):
2901         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
2902         (WebCore::HTMLElement::getItemRefElements):
2903         * html/HTMLFieldSetElement.cpp:
2904         (WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder):
2905         (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
2906         * html/HTMLFormElement.cpp:
2907         (WebCore::HTMLFormElement::formElementIndex):
2908         * html/HTMLLabelElement.cpp:
2909         (WebCore::HTMLLabelElement::control):
2910         * html/HTMLLegendElement.cpp:
2911         (WebCore::HTMLLegendElement::associatedControl):
2912         * html/HTMLMapElement.cpp:
2913         (WebCore::HTMLMapElement::mapMouseEvent):
2914         * html/HTMLNameCollection.cpp:
2915         (WebCore::HTMLNameCollection::virtualItemAfter):
2916         * html/HTMLOptionElement.cpp:
2917         (WebCore::HTMLOptionElement::collectOptionInnerText):
2918         * html/HTMLPropertiesCollection.cpp:
2919         (WebCore::nextNodeWithProperty):
2920         * html/HTMLSelectElement.cpp:
2921         (WebCore::HTMLSelectElement::recalcListItems):
2922         * html/HTMLTextFormControlElement.cpp:
2923         (WebCore::HTMLTextFormControlElement::selection):
2924         (WebCore::HTMLTextFormControlElement::innerTextValue):
2925         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
2926         * html/RadioInputType.cpp:
2927         (WebCore::RadioInputType::handleKeydownEvent):
2928         * html/shadow/ContentDistributor.cpp:
2929         (WebCore::ShadowRootContentDistributionData::ensureInsertionPointList):
2930         * inspector/InspectorDOMAgent.cpp:
2931         (WebCore::InspectorDOMAgent::performSearch):
2932         * inspector/InspectorMemoryAgent.cpp:
2933         * page/FocusController.cpp:
2934         (WebCore::FocusController::findFocusCandidateInContainer):
2935         * page/Frame.cpp:
2936         (WebCore::Frame::searchForLabelsAboveCell):
2937         (WebCore::Frame::searchForLabelsBeforeElement):
2938         * rendering/RenderNamedFlowThread.cpp:
2939         (WebCore::RenderNamedFlowThread::getRanges):
2940         * svg/SVGSVGElement.cpp:
2941         (WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):
2942         (WebCore::SVGSVGElement::getElementById):
2943         * svg/SVGUseElement.cpp:
2944         (WebCore::removeDisallowedElementsFromSubtree):
2945         * svg/animation/SMILTimeContainer.cpp:
2946         (WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
2947         * xml/XPathNodeSet.cpp:
2948         (WebCore::XPath::NodeSet::traversalSort):
2949         * xml/XPathStep.cpp:
2950         (WebCore::XPath::Step::nodesInAxis):
2951         * xml/XPathUtil.cpp:
2952         (WebCore::XPath::stringValue):
2953
2954 2012-12-10  Min Qin  <qinmin@chromium.org>
2955
2956         Sending multi-touch events to the same Iframe
2957         https://bugs.webkit.org/show_bug.cgi?id=97973
2958
2959         Reviewed by Dimitri Glazkov.
2960
2961         Multi-Touch in different iframe can give both documents access to each other.
2962         This could cause cross-origin access. To solve this, all the touch events should
2963         be sent to the iframe where the first touchstart happens.
2964
2965         Test: fast/events/touch/multi-touch-inside-iframes.html
2966               fast/events/touch/multi-touch-inside-nested-iframes.html
2967
2968         * page/EventHandler.cpp:
2969         (WebCore::EventHandler::handleTouchEvent):
2970         * page/EventHandler.h:
2971
2972 2012-12-10  KyungTae Kim  <ktf.kim@samsung.com>
2973
2974         [soup] Fix build warning in ResourceHandleSoup.cpp
2975         https://bugs.webkit.org/show_bug.cgi?id=104605
2976
2977         Reviewed by Martin Robinson.
2978
2979         The nextMultipartResponsePartCallback has unused parameter 'source',
2980         comment out it to fix 'unused parameter' build warning.
2981
2982         * platform/network/soup/ResourceHandleSoup.cpp:
2983         (WebCore::nextMultipartResponsePartCallback):
2984
2985 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
2986
2987         Fix frame border painting in tiled drawing mode
2988         https://bugs.webkit.org/show_bug.cgi?id=104453
2989         <rdar://problem/11678611>
2990
2991         Reviewed by Dan Bernstein.
2992
2993         Frame borders were not correctly invalidated when in tiled drawing mode, because
2994         RenderFrameSet::layout() invalidated directly on the view, which skips the tile
2995         cache.
2996         
2997         Fix by invalidating like all other renderers, via the repaint container.
2998         
2999         Also, the layer transform should be updated before the invalidation, and
3000         we make use of RenderObject::updateLayerTransform() which has the same behavior
3001         as the old code.
3002
3003         Attempts to make a layout test failed. Resizing composited framesets repainted
3004         via layer resizing, and an attempt to make a ref test in tiled drawing mode
3005         failed (the test passed without the patch).
3006
3007         * rendering/RenderFrameSet.cpp:
3008         (WebCore::RenderFrameSet::layout):
3009
3010 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
3011
3012         When converting a layer into a tiled layer, ensure that we update the visible rect
3013         https://bugs.webkit.org/show_bug.cgi?id=104467
3014
3015         Reviewed by Darin Adler.
3016
3017         When a GraphicsLayerCA toggles to use a TileCache, we have to ensure that the
3018         layer's visible rect (which is used to ensure tile coverage) is updated in
3019         the same commit. Otherwise we can get blank layers until something else causes
3020         the visible rect to be updated.
3021
3022         Test: compositing/tiling/tiled-layer-resize.html
3023
3024         * platform/graphics/ca/GraphicsLayerCA.cpp:
3025         (WebCore::GraphicsLayerCA::dumpAdditionalProperties): With the debug flag, dump the TiledBacking
3026         address for ease of debugging.
3027         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Set the VisibleRectChanged bit in
3028         m_uncommittedChanges if we've just switched to a tiled layer.
3029
3030 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
3031
3032         Don't unconditionally repaint compositing layers when their size changes
3033         https://bugs.webkit.org/show_bug.cgi?id=104461
3034
3035         Reviewed by Sam Weinig.
3036
3037         RenderLayerBacking always repainted the entire compositing layer when its size
3038         changed. This was done to fix repaint issues when outline widths changes, but
3039         that issue is now solved by repainting in GraphicsLayer::setOffsetFromRenderer(),
3040         add in r134628. I believe this is no longer necessary.
3041         
3042         Always repainting when the size changes is terrible for the tile cache when
3043         loading large documents, as all tiles repaint every time the document gets
3044         longer.
3045
3046         Test: compositing/repaint/resize-repaint.html
3047
3048         * rendering/RenderLayerBacking.cpp:
3049         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3050
3051 2012-12-10  Ojan Vafai  <ojan@chromium.org>
3052
3053         Unreviewed, rolling out r134150.
3054         http://trac.webkit.org/changeset/134150
3055         https://bugs.webkit.org/show_bug.cgi?id=99940
3056
3057         Caused JS-based tooltips to remain during scroll on Facebook
3058         and Gmail. Rollout until I have time to experiment with less
3059         aggresive approaches.
3060
3061         * page/EventHandler.cpp:
3062         (WebCore):
3063         (WebCore::MaximumDurationTracker::MaximumDurationTracker):
3064         (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
3065         (MaximumDurationTracker):
3066         (WebCore::EventHandler::EventHandler):
3067         (WebCore::EventHandler::clear):
3068         (WebCore::EventHandler::mouseMoved):
3069         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
3070         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
3071         * page/EventHandler.h:
3072         (EventHandler):
3073         * platform/Timer.h:
3074
3075 2012-12-10  Yi Shen  <max.hong.shen@gmail.com>
3076
3077         Keyboard caret movement in textarea with RTL Override Character can make tab unresponsive
3078         https://bugs.webkit.org/show_bug.cgi?id=103067
3079
3080         Reviewed by Ryosuke Niwa.
3081
3082         For textarea with RTL override character, the line break could be the previous leaf InlineTextBox of
3083         the InlineTextBox for the RTL override text. When overshots the left/right, make sure the 
3084         leftVisuallyDistinctCandidate and rightVisuallyDistinctCandidate return the visually distinct 
3085         left/right position by ignoring the line break.
3086
3087         Test: editing/selection/move-by-character-crash-test-textarea.html
3088
3089         * editing/VisiblePosition.cpp:
3090         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
3091         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
3092
3093 2012-12-10  Kondapally Kalyan  <kalyan.kondapally@intel.com>
3094
3095         [EFL][WebGL] Minor Refactoring in GraphicsContext3DEfl.
3096         https://bugs.webkit.org/show_bug.cgi?id=104553.
3097
3098         Reviewed by Kenneth Rohde Christiansen.
3099
3100         We use different FBO for canvas and offscreen surface of our platform layer.
3101         Thus we need to manage any bound buffers while copying contents to the surface. Currently, Surface
3102         always uses double buffering but in future we should be able to configure it to use either
3103         double or single buffer. For these use cases, it would be handy to bind buffers directly to
3104         FBO used by the surface. This patch does the needed changes in GraphicsContext3DEfl and
3105         PlatformSurface. Also, removes some unused code.
3106
3107         Covered by existing tests.
3108
3109         Relevant changes in GraphicsContext3DEfl to obtain FBO id from PlatformSurface.
3110         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
3111         (WebCore::GraphicsContext3D::GraphicsContext3D):
3112         (WebCore::GraphicsContext3D::~GraphicsContext3D):
3113
3114         Renamed createGraphicsSurface to didResizeCanvas.
3115         (WebCore::GraphicsContext3D::createGraphicsSurfaces):
3116         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
3117         (GraphicsContext3DPrivate::didResizeCanvas):
3118         (GraphicsContext3DPrivate::copyToGraphicsSurface):
3119         * platform/graphics/efl/GraphicsContext3DPrivate.h:
3120         (GraphicsContext3DPrivate):
3121
3122         Header cleanup.
3123         * platform/graphics/opengl/GLDefs.h:
3124         * platform/graphics/opengl/GLPlatformContext.cpp:
3125         (WebCore::GLPlatformContext::createContext):
3126         * platform/graphics/opengl/GLPlatformContext.h:
3127
3128         Added initialize method to expose FBO id of the surface.
3129         Removed unused code.
3130         * platform/graphics/opengl/GLPlatformSurface.cpp:
3131         (WebCore::GLPlatformSurface::initialize):
3132         (WebCore):
3133         (WebCore::GLPlatformSurface::updateContents):
3134         * platform/graphics/opengl/GLPlatformSurface.h:
3135         (GLPlatformSurface):
3136         * platform/graphics/surfaces/glx/GLXSurface.h:
3137
3138 2012-12-07  Simon Fraser  <simon.fraser@apple.com>
3139
3140         Tidy up the tiled scrolling indicator, fix with zooming
3141         https://bugs.webkit.org/show_bug.cgi?id=104386
3142
3143         Reviewed by Tim Horton.
3144
3145         Fix the tiled scrolling indicator to not get tiny when zooming,
3146         to not poke out of the bottom of the window, and to not look
3147         so crappy.
3148
3149         * platform/graphics/ca/mac/TileCache.mm:
3150         (WebCore::TileCache::updateTileCoverageMap):
3151         (WebCore::TileCache::drawTileMapContents):
3152
3153 2012-12-10  Sheriff Bot  <webkit.review.bot@gmail.com>
3154
3155         Unreviewed, rolling out r136817.
3156         http://trac.webkit.org/changeset/136817
3157         https://bugs.webkit.org/show_bug.cgi?id=104596
3158
3159         This patch was an unnecessarily complex solution to handling
3160         conversion of union types. (Requested by mpruett on #webkit).
3161
3162         * bindings/js/JSDictionary.cpp:
3163         (WebCore::JSDictionary::convertValue):
3164         * bindings/js/JSDictionary.h:
3165         (WebCore::JSDictionary::tryGetPropertyAndResult):
3166
3167 2012-12-10  Tab Atkins  <tabatkins@google.com>
3168
3169         Deprecate prefixed linear-gradient and radial-gradient functions
3170         https://bugs.webkit.org/show_bug.cgi?id=104591
3171
3172         Reviewed by Dean Jackson.
3173
3174         Rename the old gradient parsing functions in anticipation of functions that parse the new syntax.
3175
3176         No new tests added - this is a rename and has no functionality change.
3177
3178         * css/CSSParser.cpp:
3179         (WebCore::CSSParser::parseDeprecatedLinearGradient):
3180         (WebCore::CSSParser::parseDeprecatedRadialGradient):
3181         (WebCore::CSSParser::parseGeneratedImage):
3182         * css/CSSParser.h:
3183
3184 2012-12-10  Mark Pilgrim  <pilgrim@chromium.org>
3185
3186         [Chromium][Win] Remove theme-related functions from PlatformSupport
3187         https://bugs.webkit.org/show_bug.cgi?id=102699
3188
3189         Reviewed by Adam Barth.
3190
3191         Call theme engine directly instead of going through
3192         PlatformSupport. Part of a refactoring series. See tracking bug 82948.
3193
3194         * platform/chromium/PlatformSupport.h:
3195         (PlatformSupport):
3196         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3197         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
3198         (WebCore::ScrollbarThemeChromiumWin::paintButton):
3199         * rendering/RenderThemeChromiumWin.cpp:
3200         (WebCore):
3201         (WebCore::RenderThemeChromiumWin::paintButton):
3202         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
3203         (WebCore::RenderThemeChromiumWin::paintSliderThumb):
3204         (WebCore::RenderThemeChromiumWin::paintMenuList):
3205         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
3206         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
3207         (WebCore::RenderThemeChromiumWin::paintProgressBar):
3208
3209 2012-12-10  Dean Jackson  <dino@apple.com>
3210
3211         Support for CSS widows and orphans
3212         https://bugs.webkit.org/show_bug.cgi?id=9410
3213
3214         Reviewed by Darin Adler.
3215
3216         The CSS 'widow' and 'orphan' properties were supported by the parser and
3217         style system, but were not actually doing anything in layout. Now they do!
3218
3219         In order to not break existing content, I unfortunately had to go against
3220         the specification and change our default value from 2 to auto. A value of
3221         auto means that widows and orphans will not cause any page/column breaks.
3222
3223         Supporting orphans was a small change. During line layout, if we realise
3224         we need to move to a new page in a situation that would create an orphan,
3225         move the entire block to the new page. There was already code to do this.
3226
3227         Support for widows was trickier. When we finish laying out a block, count
3228         the number of hanging lines. If we've created a widow, and there are enough
3229         available lines on the previous page, then steal some and remember the line
3230         to break at. Trigger a relayout. Then notice the line that was marked for
3231         breaking and avoid the widow. This means some blocks go through layout
3232         twice, but as long as the widow value is small it shouldn't be a huge penalty.
3233
3234         Tests: fast/multicol/widows-and-orphans.html (new test)
3235                printing/page-break-orphans.html
3236                printing/page-break-orphans-and-widows.html
3237                printing/page-break-widows.html
3238
3239         * css/CSSComputedStyleDeclaration.cpp:
3240         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return CSSValueAuto for widows and orphans if necessary.
3241         * css/CSSParser.cpp:
3242         (WebCore::CSSParser::parseValue): Support "auto" in widow and orphan property parsing.
3243         * css/StyleBuilder.cpp:
3244         (WebCore::StyleBuilder::StyleBuilder): Change property handler to something that supports auto.
3245         * page/animation/CSSPropertyAnimation.cpp:
3246         (WebCore::CSSPropertyAnimation::ensurePropertyMap): Add widows and orphans to the animation map.
3247         * rendering/RenderBlock.cpp:
3248         (WebCore::RenderBlock::layoutBlockChild): Detect if we've caused a widow-fixing break, and request relayout evaluation.
3249         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): Test for a widow-fixing line.
3250         (WebCore::RenderBlock::setBreakAtLineToAvoidWidow): New function to remember where we should break on next layout.
3251         (WebCore::RenderBlock::adjustLinePositionForPagination): Move the entire block to a new page if this would create an orphan.
3252         * rendering/RenderBlock.h:
3253         (WebCore::RenderBlock::shouldBreakAtLineToAvoidWidow): New function to indicate if we are remembering a widow.
3254         (WebCore::RenderBlock::clearShouldBreakAtLineToAvoidWidow): Reset the line breaks.
3255         (WebCore::RenderBlock::lineBreakToAvoidWidow):
3256         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData): Add a flag for indicating if we are remembering a line, and the actual line itself.
3257         * rendering/RenderBlockLineLayout.cpp:
3258         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): The code to detect and fix widows. Explained above.
3259         * rendering/style/RenderStyle.h: New methods for indicating if widows and orphans are non-default values.
3260         * rendering/style/StyleRareInheritedData.cpp: Ditto.
3261         * rendering/style/StyleRareInheritedData.h: Ditto.
3262
3263 2012-12-10  Zan Dobersek  <zandobersek@gmail.com>
3264
3265         REGRESSION (r118735): svg/dom/complex-svgView-specification.html, svg/dom/SVGViewSpec.html, svg/dom/viewspec-parser.html failing on GTK Linux 64-bit Release
3266         https://bugs.webkit.org/show_bug.cgi?id=87734
3267
3268         Reviewed by Martin Robinson.
3269
3270         Don't modify ResourceRequest's URL to have the value of the (encoded)
3271         URI of the SoupMessage. The only exception is in the case of cancelled
3272         SoupMessage - the URL of the ResourceRequest should then be null.
3273
3274         No new tests - existing tests should show no regressions.
3275
3276         * platform/network/soup/ResourceRequestSoup.cpp:
3277         (WebCore::ResourceRequest::updateFromSoupMessage):
3278
3279 2012-12-10  Gustavo Noronha Silva  <gns@gnome.org>
3280
3281         Unreviewed distcheck fix.
3282
3283         * GNUmakefile.list.am:
3284
3285 2012-12-10  Eric Seidel  <eric@webkit.org>
3286
3287         Caused crashes in v8.  Rolling out until abarth can fix.  See cr-issue 165136 for more info
3288         https://bugs.webkit.org/show_bug.cgi?id=104575
3289
3290         Unreviewed, just rolling out r136559.
3291
3292         * bindings/v8/V8GCController.cpp:
3293         * bindings/v8/V8NodeFilterCondition.cpp:
3294         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
3295         (WebCore::V8NodeFilterCondition::acceptNode):
3296         * bindings/v8/V8NodeFilterCondition.h:
3297         (WebCore::V8NodeFilterCondition::create):
3298         (V8NodeFilterCondition):
3299         * dom/NodeFilter.h:
3300
3301 2012-12-10  Eric Carlson  <eric.carlson@apple.com>
3302
3303         Unreviewed build fix after r137167.
3304
3305         * WebCore.xcodeproj/project.pbxproj: Add InbandTextTrackPrivate.h to framework private 
3306             headers.
3307
3308 2012-12-10  Martin Robinson  <mrobinson@igalia.com>
3309
3310         Fix the GTK+ build after a collision of two patches.
3311
3312         Unreviewed build fix.
3313
3314         * bindings/gobject/GNUmakefile.am: The GObject DOM bindings library needs to
3315         include the harfbuzz cflags when compiling.
3316
3317 2012-12-10  Parth Patel  <parpatel@rim.com>
3318
3319         Make hiddenPageDomTimerInterval a setting
3320         https://bugs.webkit.org/show_bug.cgi?id=104555
3321
3322         Reviewed by Yong Li.
3323
3324         Make hiddenPageDomTimerInterval a setting so client can customize it.
3325
3326         No new tests are needed.
3327
3328         * page/Page.cpp:
3329         (WebCore):
3330         (WebCore::Page::setVisibilityState):
3331         * page/Settings.cpp:
3332         (WebCore):
3333         (WebCore::Settings::setHiddenPageDOMTimerAlignmentInterval):
3334         (WebCore::Settings::hiddenPageDOMTimerAlignmentInterval):
3335         * page/Settings.h:
3336         (Settings):
3337
3338 2012-12-10  peavo@outlook.com  <peavo@outlook.com>
3339
3340         [WinCairo] Compile fix in ImageCairoWin.cpp
3341         https://bugs.webkit.org/show_bug.cgi?id=104554
3342
3343         Reviewed by Brent Fulgham.
3344
3345         * platform/graphics/win/ImageCairoWin.cpp:
3346         (WebCore::BitmapImage::getHBITMAPOfSize): Added parameter.
3347         (WebCore::BitmapImage::drawFrameMatchingSourceSize): Added parameter.
3348
3349 2012-12-10  Mike West  <mkwst@chromium.org>
3350
3351         Log to console when script is blocked by sandbox attributes.
3352         https://bugs.webkit.org/show_bug.cgi?id=104365
3353
3354         Reviewed by Ojan Vafai.
3355
3356         Adds a console message to cover script execution blocked within the
3357         context of a sandboxed frame which lacks the 'allow-scripts' permission.
3358
3359         * bindings/ScriptControllerBase.cpp:
3360         (WebCore::ScriptController::canExecuteScripts):
3361             Log a warning when sandboxing flags block script execution.
3362
3363 2012-12-10  Chris Fleizach  <cfleizach@apple.com>
3364
3365         AX: Crash in NSAccessibilityUnignoredDescendant
3366         https://bugs.webkit.org/show_bug.cgi?id=104468
3367
3368         Reviewed by Anders Carlsson.
3369
3370         This crash occurred because AccessibilityScrollView stopped retaining it's ScrollView pointer.
3371
3372         Unfortunately, there was still a case that didn't correctly clear that variable. 
3373
3374         That case was when a Frame had a new FrameView associated with it. The old FrameView didn't inform the 
3375         accessibility object cache that it should be removed. As a result, when the FrameView deallocated and 
3376         did try to remove, it used the wrong AXObjectCache because it was no longer correctly hooked into the 
3377         document tree.
3378
3379         No new tests. Existing tests will stop crashing.
3380  
3381         * page/Frame.cpp:
3382         (WebCore::Frame::setView): change the name of the method that tells the FrameView to detach
3383         * page/FrameView.cpp:
3384         (WebCore::FrameView::~FrameView):
3385         (WebCore::FrameView::removeFromAXObjectCache): add a method that can be called in multiple places
3386         (WebCore::FrameView::isFrameView):
3387         (WebCore::FrameView::prepareForDetach): detaches scrollbars and accessibility
3388         * page/FrameView.h:
3389         (FrameView):
3390
3391 2012-12-10  Mark Pilgrim  <pilgrim@chromium.org>
3392
3393         [Chromium] Move getPluginsList out of PlatformSupport
3394         https://bugs.webkit.org/show_bug.cgi?id=96507
3395
3396         Reviewed by Darin Fisher.
3397
3398         Part of a refactoring series. See tracking bug 82948.
3399
3400         * WebCore.gypi:
3401         * platform/chromium/PlatformSupport.h:
3402         (PlatformSupport):
3403         * plugins/chromium/PluginDataChromium.cpp:
3404         (WebCore::PluginCache::plugins):
3405         * plugins/chromium/PluginListBuilder.cpp: Added.
3406         (WebKit):
3407         (WebKit::PluginListBuilder::addPlugin):
3408         (WebKit::PluginListBuilder::addMediaTypeToLastPlugin):
3409         (WebKit::PluginListBuilder::addFileExtensionToLastMediaType):
3410         * plugins/chromium/PluginListBuilder.h: Added.
3411         (WebKit):
3412         (PluginListBuilder):
3413         (WebKit::PluginListBuilder::PluginListBuilder):
3414
3415 2012-12-10  Carlos Garcia Campos  <cgarcia@igalia.com>
3416
3417         [GTK] Build GObject DOM bindings as a separate library
3418         https://bugs.webkit.org/show_bug.cgi?id=104527
3419
3420         Reviewed by Xan Lopez.
3421
3422         * bindings/gobject/GNUmakefile.am: Add libWebCoreDOM library.
3423         * bindings/gobject/WebKitDOMBinding.h: Define private macros.
3424         * bindings/gobject/WebKitDOMCustom.h: Don't include webkit/webkitdefines.h.
3425         * bindings/gobject/WebKitDOMEventTarget.h: Ditto.
3426         * bindings/gobject/WebKitDOMObject.h: Ditto.
3427         * bindings/scripts/CodeGeneratorGObject.pm:
3428         (Generate): Don't include webkitglobalsprivate.h.
3429         (WriteData): Don't include webkit/webkitdefines.h.
3430         * bindings/scripts/gobject-generate-headers.pl: Define WEBKIT_API
3431         macro in webkitdomdefines.h.
3432         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
3433         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
3434         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
3435         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
3436         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
3437         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
3438         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
3439         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
3440         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
3441         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
3442         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
3443         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
3444         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
3445         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
3446         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
3447         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
3448         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
3449         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
3450         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
3451         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
3452         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
3453         * bindings/scripts/test/GObject/WebKitDOMTestNode.h:
3454         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3455         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3456         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
3457         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h:
3458         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
3459         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
3460
3461 2012-12-10  Adam Klein  <adamk@chromium.org>
3462
3463         In InbandTextTrackPrivate, return emptyAtoms instead of emptyString() by default.
3464
3465         Unreviewed build fix.
3466
3467         * platform/graphics/InbandTextTrackPrivate.h:
3468         (WebCore::InbandTextTrackPrivate::label):
3469         (WebCore::InbandTextTrackPrivate::language):
3470
3471 2012-12-10  Ilya Tikhonovsky  <loislo@chromium.org>
3472
3473         Web Inspector: Native Memory Instrumentation: instrument RenderBox descendants.
3474         https://bugs.webkit.org/show_bug.cgi?id=104026
3475
3476         Reviewed by Eric Seidel.
3477
3478         Plain vanilla instrumentation for RenderBox descendants.
3479
3480         * rendering/RenderFrameSet.cpp:
3481         (WebCore::RenderFrameSet::reportMemoryUsage):
3482         (WebCore):
3483         (WebCore::RenderFrameSet::GridAxis::reportMemoryUsage):
3484         * rendering/RenderFrameSet.h:
3485         (RenderFrameSet):
3486         (GridAxis):
3487         * rendering/RenderListMarker.cpp:
3488         (WebCore::RenderListMarker::reportMemoryUsage):
3489         (WebCore):
3490         * rendering/RenderListMarker.h:
3491         (RenderListMarker):
3492         * rendering/RenderReplaced.cpp:
3493         (WebCore::RenderReplaced::reportMemoryUsage):
3494         (WebCore):
3495         * rendering/RenderReplaced.h:
3496         (RenderReplaced):
3497         * rendering/RenderTableCol.cpp:
3498         (WebCore::RenderTableCol::reportMemoryUsage):
3499         (WebCore):
3500         * rendering/RenderTableCol.h:
3501         (RenderTableCol):
3502         * rendering/RenderTableRow.cpp:
3503         (WebCore::RenderTableRow::reportMemoryUsage):
3504         (WebCore):
3505         * rendering/RenderTableRow.h:
3506         (RenderTableRow):
3507         * rendering/RenderTableSection.cpp:
3508         (WebCore::RenderTableSection::reportMemoryUsage):
3509         (WebCore):
3510         (WebCore::RenderTableSection::RowStruct::reportMemoryUsage):
3511         (WebCore::RenderTableSection::CellStruct::reportMemoryUsage):
3512         * rendering/RenderTableSection.h:
3513         (CellStruct):
3514         (RowStruct):
3515
3516 2012-12-10  Alejandro Piñeiro  <apinheiro@igalia.com>
3517
3518         AX: wrong Enabled states on a ListBox
3519         https://bugs.webkit.org/show_bug.cgi?id=104483
3520
3521         Reviewed by Chris Fleizach.
3522
3523         Test: accessibility/listbox-enabled-states.html
3524
3525         * accessibility/AccessibilityListBoxOption.cpp:
3526         (WebCore::AccessibilityListBoxOption::isEnabled): taking into
3527         account the DISABLED attribute and the aria-disabled attribute to
3528         decide if the item is enabled or not.
3529
3530 2012-12-10  Adam Klein  <adamk@chromium.org>
3531
3532         cr-win build fix after r137161.
3533
3534         Unreviewed.
3535
3536         * platform/graphics/MediaPlayer.h: Replace forward-decl of
3537         InbandTextTrackPrivate with #include as the definition is required.
3538
3539 2012-12-10  Alexis Menard  <alexis@webkit.org>
3540
3541         [CSS3 Backgrounds and Borders] Remove CSS3_BACKGROUND feature flag.
3542         https://bugs.webkit.org/show_bug.cgi?id=104539
3543
3544         Reviewed by Antonio Gomes.
3545
3546         As discussed on webkit-dev it is not needed to keep this feature flag 
3547         as support for <position> type is a small feature that is already 
3548         implemented by three other UAs. It was useful while landing this 
3549         feature as partial bits were landed one after one.
3550
3551         No new tests : the feature is covered by various tests and it is already enabled in many ports.
3552
3553         * Configurations/FeatureDefines.xcconfig:
3554         * GNUmakefile.am:
3555         * GNUmakefile.features.am:
3556         * css/CSSParser.cpp:
3557         (WebCore::CSSParser::parseFillPosition):
3558         (WebCore::CSSParser::parseFillProperty):
3559         * css/CSSParser.h:
3560         * css/CSSToStyleMap.cpp:
3561         (WebCore::CSSToStyleMap::mapFillXPosition):
3562         (WebCore::CSSToStyleMap::mapFillYPosition):
3563         * rendering/style/FillLayer.cpp:
3564         (SameSizeAsFillLayer):
3565         (WebCore::FillLayer::FillLayer):
3566         (WebCore::FillLayer::operator=):
3567         (WebCore::FillLayer::operator==):
3568         (WebCore::FillLayer::fillUnsetProperties):
3569         * rendering/style/FillLayer.h:
3570         (WebCore::FillLayer::backgroundXOrigin):
3571         (WebCore::FillLayer::backgroundYOrigin):
3572         (WebCore::FillLayer::isBackgroundOriginSet):
3573         (WebCore::FillLayer::clearXPosition):
3574         (WebCore::FillLayer::clearYPosition):
3575         (FillLayer):
3576
3577 2012-12-10  Eric Carlson  <eric.carlson@apple.com>
3578
3579         Add support for in-band text tracks to Mac port
3580         https://bugs.webkit.org/show_bug.cgi?id=103663
3581
3582         Reviewed by Sam Weinig.
3583
3584         Test: media/track/track-in-band.html
3585
3586         * GNUmakefile.list.am: Move InbandTextTrackPrivate.h to platform/graphics. Add InbandTextTrackPrivateClient.h.
3587         * Target.pri: Ditto.
3588         * WebCore.gypi: Ditto.
3589
3590         * WebCore.xcodeproj/project.pbxproj: Add new files.
3591
3592         * html/HTMLMediaElement.cpp:
3593         (WebCore::HTMLMediaElement::setReadyState): No need to call processInbandTextTracks, in-band tracks
3594             are now registered by the media engine as they are discovered.
3595         (WebCore::HTMLMediaElement::mediaPlayerDidAddTrack): New, called by the media player when a new
3596             in-band track is found.
3597         (WebCore::HTMLMediaElement::mediaPlayerDidRemoveTrack): New, called by the media player when an
3598             in-band track goes away.
3599         * html/HTMLMediaElement.h:
3600
3601         * html/track/InbandTextTrack.cpp:
3602         (WebCore::InbandTextTrack::InbandTextTrack): Use m_private instead of tracksPrivate because
3603             it is zeroed during assignment.
3604
3605         * platform/graphics/MediaPlayer.cpp:
3606         (WebCore::MediaPlayer::addTextTrack): New MediaPlayerClient method to allow MediaPlayerPrivate subclasses
3607             to add a new in-band track.
3608         (WebCore::MediaPlayer::removeTextTrack): New MediaPlayerClient method to allow MediaPlayerPrivate subclasses
3609             to remove a new in-band track.
3610         * platform/graphics/MediaPlayer.h:
3611         * platform/graphics/MediaPlayerPrivate.h:
3612
3613         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Added.
3614         (WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF):
3615         (WebCore::InbandTextTrackPrivateAVF::~InbandTextTrackPrivateAVF):
3616         (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Convert an attribute string into WebVTT 
3617             cue setting and content strings.
3618         (WebCore::InbandTextTrackPrivateAVF::processCue): Process a new cue.
3619         (WebCore::InbandTextTrackPrivateAVF::disconnect): Clear member variables.
3620         (WebCore::InbandTextTrackPrivateAVF::resetCueValues): Reset cue values to defaults.
3621         (WebCore::InbandTextTrackPrivateAVF::setMode): Set track mode and call player's trackModeChanged.
3622         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Added.
3623
3624         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Initialize 
3625             m_inbandTrackConfigurationPending.
3626         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
3627         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Flush the currently accumulating
3628             cue so it doesn't get the wrong duration.
3629         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Handle InbandTracksNeedConfiguration.
3630         (WebCore::MediaPlayerPrivateAVFoundation::flushCurrentCue): New, pass the current cue up to the client.
3631         (WebCore::MediaPlayerPrivateAVFoundation::configureInbandTracks): Configure in-band tracks.
3632         (WebCore::MediaPlayerPrivateAVFoundation::trackModeChanged): Schedule a call to configureInbandTracks.
3633         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3634
3635         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h: Added.
3636         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm: Added.
3637         (WebCore::InbandTextTrackPrivateAVFObjC::InbandTextTrackPrivateAVFObjC):
3638         (WebCore::InbandTextTrackPrivateAVFObjC::disconnect):
3639         (WebCore::InbandTextTrackPrivateAVFObjC::kind): Return track kind.
3640         (WebCore::InbandTextTrackPrivateAVFObjC::label): Return track label.
3641         (WebCore::InbandTextTrackPrivateAVFObjC::language): Return track language.
3642         (WebCore::InbandTextTrackPrivateAVFObjC::isDefault): 
3643         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3644         (MediaPlayerPrivateAVFoundationObjC):
3645         (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItem):
3646         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3647         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize m_currentTrack.
3648         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Clear m_legibleOutput.
3649         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Create and initialize m_legibleOutput.
3650         (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Called when the player item's
3651             "tracks" changes, add and remove in-band text tracks as necessary.
3652         (WebCore::MediaPlayerPrivateAVFoundationObjC::processCue): Pass an attributed string to the current 
3653             track to be processed.
3654         (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Tell AVFoundation to select an in-band track.
3655         (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTrack): Return the current track.
3656         (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]): Legible
3657             output delegate.
3658
3659 2012-12-10  Pavel Feldman  <pfeldman@chromium.org>
3660
3661         Web Inspector: fix front-end compilation warnings
3662         https://bugs.webkit.org/show_bug.cgi?id=104557
3663
3664         Reviewed by Alexander Pavlov.
3665
3666         Corresponding annotations added.
3667
3668         * inspector/Inspector.json:
3669         * inspector/InspectorDOMAgent.cpp:
3670         (WebCore::InspectorDOMAgent::highlightNode):
3671         * inspector/InspectorDOMAgent.h:
3672         (InspectorDOMAgent):
3673         * inspector/front-end/CSSStyleModel.js:
3674         (WebInspector.CSSStyleDeclaration.prototype.):
3675         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
3676         * inspector/front-end/ConsoleMessage.js:
3677         (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreview):
3678         * inspector/front-end/DOMAgent.js:
3679         (WebInspector.DOMAgent.prototype.highlightDOMNode):
3680         * inspector/front-end/DOMPresentationUtils.js:
3681         (WebInspector.DOMPresentationUtils.linkifyNodeReference):
3682         * inspector/front-end/ObjectPropertiesSection.js:
3683         (WebInspector.ObjectPropertyTreeElement.prototype.update):
3684         * inspector/front-end/Toolbar.js:
3685
3686 2012-12-10  Zeno Albisser  <zeno@webkit.org>
3687
3688         [Qt] MediaPlayerQTKit broken after switching QPainter to raster engine.
3689         https://bugs.webkit.org/show_bug.cgi?id=104550
3690
3691         With Qt5 QPainter changed to using the raster engine.
3692         Therefore we no longer have an NSGraphicsContext that we can
3693         use for drawing video frames.
3694         With this patch we are rendering the video frame into an image buffer
3695         and then paint it manually using QPainter.
3696
3697         Reviewed by Simon Hausmann.
3698
3699         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3700         (WebCore):
3701         (WebCore::swapBgrToRgb):
3702             Swap the color format from BGR to RGB,
3703             since BGR is not supported by QImage.
3704         (WebCore::MediaPlayerPrivateQTKit::paint):
3705
3706 2012-12-10  peavo@outlook.com  <peavo@outlook.com>
3707
3708         [WinCairo] Link fix in InspectorController.cpp
3709         https://bugs.webkit.org/show_bug.cgi?id=104556
3710
3711         Reviewed by Pavel Feldman.
3712
3713         * inspector/InspectorController.cpp:
3714         (WebCore::InspectorController::InspectorController): Added missing #if check.
3715
3716 2012-12-10  Pavel Feldman  <pfeldman@chromium.org>
3717
3718         Web Inspector: remove the Overrides / Settings context menu from gear icon
3719         https://bugs.webkit.org/show_bug.cgi?id=104546
3720
3721         Reviewed by Alexander Pavlov.
3722
3723         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.
3724         Moving present behavior to under experiment.
3725
3726         * inspector/front-end/OverridesView.js:
3727         (WebInspector.OverridesView):
3728         * inspector/front-end/Settings.js:
3729         (WebInspector.ExperimentsSettings):
3730         * inspector/front-end/SettingsScreen.js:
3731         (WebInspector.OverridesSettingsTab):
3732         (WebInspector.SettingsController):
3733         (WebInspector.SettingsController.prototype.get statusBarItem):
3734         (WebInspector.SettingsController.prototype._mouseDown.showSettings):
3735         (WebInspector.SettingsController.prototype._mouseDown):
3736         (WebInspector.SettingsController.prototype._mouseUp):
3737         * inspector/front-end/helpScreen.css:
3738         (#settings-screen .tabbed-pane-header):
3739         (#settings-screen .tabbed-pane-header-tabs):
3740         (#settings-screen .tabbed-pane-header-tab):
3741
3742 2012-12-10  Kent Tamura  <tkent@chromium.org>
3743
3744         Visual order of empty value placeholder in INPUT_MULTIPLE_FIELDS_UI is wrong in RTL
3745         https://bugs.webkit.org/show_bug.cgi?id=104438
3746
3747         Reviewed by Hajime Morita.
3748
3749         No new tests. This updates datetimelocal-appearance-l10n.html for he-il
3750         and ar-eg locales.
3751
3752         * html/shadow/DateTimeNumericFieldElement.cpp:
3753         (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
3754         We should not append Right-to-left-mark to each of placeholder
3755         strings. It makes numeric field separators such as ':' and '/' RTL, and
3756         makes a wrong visual order. We use unicode-bidi:bidi-override and
3757         direction:ltr instead. It means we force LTR only to this element
3758         * html/shadow/DateTimeNumericFieldElement.h:
3759         Makes m_placeholder const again.
3760         * html/shadow/DateTimeEditElement.cpp:
3761         (WebCore::DateTimeEditBuilder::visitLiteral):
3762         Explicitly set right-to-left-mark before S, WS, ON types according to
3763         Unicod Bidirectional Algorithm Table 4 [1]. This is needed because we
3764         don't have context like "This literal follows European/Arabic numbers"
3765         in a case of showing placeholders.
3766         [1] http://www.unicode.org/reports/tr9/#Bidirectional_Character_Types
3767
3768 2012-12-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
3769
3770         [Soup] utilize multipart/x-mixed-replace support recently added to libsoup
3771         https://bugs.webkit.org/show_bug.cgi?id=94515
3772
3773         Reviewed by Martin Robinson.
3774
3775         The multipart/x-mixed-replace content type is often used for providing
3776         "push" server support, with each part in the multipart response
3777         replacing the previous one in the rendering. Soup recently acquired
3778         support for multipart/x-mixed replace, which this change utilizes.
3779
3780         Covered by existing multipart/x-mixed-replace tests.
3781
3782         * platform/network/ResourceHandleInternal.h:
3783         (ResourceHandleInternal): add new member to this class, the multipart input stream
3784         * platform/network/soup/ResourceHandleSoup.cpp:
3785         (WebCore::cleanupSoupRequestOperation): also clear the multipart input stream on
3786         cleanup
3787         (WebCore::nextPartCallback): callback that handles reporting the new response delivered
3788         with the new part, if any; uses the factored out updateFromSoupMessageHeaders method
3789         (WebCore::sendRequestCallback): handle multipart/x-mixed-replace responses by
3790         requesting the next part
3791         (WebCore::readCallback): when reading has finished, request the next part when
3792         handling a multipart/x-mixed-replace response
3793         * platform/network/soup/ResourceResponse.h:
3794         (ResourceResponse): add declaration for new method
3795         * platform/network/soup/ResourceResponseSoup.cpp:
3796         (WebCore::ResourceResponse::updateFromSoupMessage): call new updateFromSoupMessageHeaders
3797         method, instead of dealing with the message headers directly
3798         (WebCore::ResourceResponse::updateFromSoupMessageHeaders): new method, factored out from
3799         updateFromSoupMessage, so this same code can be reused for updating responses for
3800         multipart/x-mixed-replace responses parts
3801
3802 2012-12-10  Zoltan Nyul  <zoltan.nyul@intel.com>
3803
3804         Implement testRunner.setViewModeMediaFeature() in WebKitTestRunner
3805         https://bugs.webkit.org/show_bug.cgi?id=103886
3806
3807         Reviewed by Kenneth Rohde Christiansen.
3808
3809         Export symbol for WebCore::Page::setViewMode on Mac.
3810
3811         No new tests, no behavior change for layout tests.
3812
3813         * WebCore.exp.in:
3814
3815 2012-12-10  Martin Robinson  <mrobinson@igalia.com>
3816
3817         [GTK] Bring Harfbuzz-ng support to Gtk
3818         https://bugs.webkit.org/show_bug.cgi?id=92098
3819
3820         Reviewed by Gustavo Noronha Silva.
3821
3822         Enable HarfBuzz support by default. With the Freetype backend we no longer
3823         fall back to Pango for rendering complex text.
3824
3825         No new tests. This is covered by existing tests.
3826
3827         * GNUmakefile.am: Add HarfBuzz include directories and define.
3828         * GNUmakefile.list.am: Add HarfBuzz files to source list and remove
3829         Pango ones.
3830         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3831         (WebCore::FontPlatformData::operator==): To properly render fallback
3832         fonts via HarfBuzz , it's important that we actually ask Fontconfig
3833         whether or not two patterns are the same. This ensures that when patterns
3834         are just copies of one another they only take up one slot in the font cache
3835         and appear to be the same font to HarfBuzzShaper.
3836
3837 2012-12-10  Alexander Pavlov  <apavlov@chromium.org>
3838
3839         Web Inspector: [Overrides] Unable to change values in Device Metrics override setting
3840         https://bugs.webkit.org/show_bug.cgi?id=104542
3841
3842         Reviewed by Vsevolod Vlasov.
3843
3844         Remove inadvertent object property assignment.
3845
3846         * inspector/front-end/OverridesView.js:
3847
3848 2012-12-10  Michael Brüning  <michael.bruning@digia.com>
3849
3850         [Qt] Builds for Mac are tied to the OS system instead of the SDK version.
3851         https://bugs.webkit.org/show_bug.cgi?id=104529
3852
3853         Reviewed by Simon Hausmann.
3854
3855         Using work by Eike Ziller <eike.ziller@digia.com>.
3856
3857         The build system now first tries to assign the correct system libraries
3858         for the SDK being used for Mac builds. If this does not yield any
3859         result, it falls back to using the Mac OS version to determine the
3860         correct library.
3861
3862         No new tests (not applicable).
3863
3864         * WebCore.pri:
3865
3866 2012-12-10  Ilya Tikhonovsky  <loislo@chromium.org>
3867
3868         Unreviewed: touch RenderingAllInOne.cpp to fix Apple Windows builder.
3869
3870         * rendering/RenderingAllInOne.cpp:
3871
3872 2012-12-10  Eugene Klyuchnikov  <eustas@chromium.org>
3873
3874         Web Inspector: Network: newly added items are not filtered.
3875         https://bugs.webkit.org/show_bug.cgi?id=104021
3876
3877         Reviewed by Vsevolod Vlasov.
3878
3879         Extracted method to higlight/hide record according to filter.
3880         Used this method to process newly created records.
3881
3882         * inspector/front-end/NetworkPanel.js:
3883         (WebInspector.NetworkLogView.prototype._applyFilter): Extracted.
3884         (WebInspector.NetworkLogView.prototype.performFilter): Refactored.
3885
3886 2012-12-09  Ilya Tikhonovsky  <loislo@chromium.org>
3887
3888         Web Inspector: Unreviewed: move reportMemoryUsage to public section.
3889
3890         * rendering/RenderBlock.h:
3891         (RenderBlock):
3892         * rendering/RenderBox.h:
3893         (RenderBox):
3894
3895 2012-12-08  Pavel Feldman  <pfeldman@chromium.org>
3896
3897         Web Inspector: adds an option to remove toolbar icons.
3898         https://bugs.webkit.org/show_bug.cgi?id=95654
3899
3900         Reviewed by Vsevolod Vlasov.
3901
3902         - removes compact mode in favor or dock-to-bottom
3903         - introduces setting for hiding toolbar icons
3904
3905         * inspector/front-end/DockController.js:
3906         (WebInspector.DockController.prototype._toggleDockState):
3907         * inspector/front-end/Settings.js:
3908         (WebInspector.ExperimentsSettings):
3909         * inspector/front-end/Toolbar.js:
3910         (WebInspector.Toolbar.prototype.setDockedToBottom):
3911         (WebInspector.Toolbar.prototype._toolbarDragStart):
3912         (WebInspector.Toolbar.prototype._toolbarDrag):
3913         * inspector/front-end/helpScreen.css:
3914         (body.dock-to-bottom .help-content):
3915         * inspector/front-end/inspector.css:
3916         (body.dock-to-bottom #toolbar):
3917         (body.no-toolbar-icons #toolbar):
3918         (body.dock-to-bottom.port-qt #toolbar):
3919         (body.dock-to-bottom.inactive #toolbar):
3920         (body.no-toolbar-icons .toolbar-item.toggleable):
3921         (body.dock-to-bottom .toolbar-item.toggleable):
3922         (body.dock-to-bottom .toolbar-icon):
3923         (body.no-toolbar-icons .toolbar-icon):
3924         (body.no-toolbar-icons #main):
3925         (body.dock-to-bottom .toolbar-icon.custom-toolbar-icon):
3926         (body.dock-to-bottom .toolbar-item:active .toolbar-icon):
3927         (body.dock-to-bottom .toolbar-label):
3928         (body.dock-to-bottom #search-toolbar-label):
3929         (body.no-toolbar-icons .toolbar-label):
3930         (body.no-toolbar-icons #toolbar-dropdown):
3931         (#toolbar-dropdown .scrollable-content):
3932         (#toolbar-dropdown .toolbar-item.toggleable:hover):
3933         (body.no-toolbar-icons #toolbar-dropdown .toolbar-label):
3934         (body.no-toolbar-icons #toolbar-dropdown .toolbar-item):
3935         (body.dock-to-bottom .toolbar-item.resources .toolbar-icon):
3936         (body.dock-to-bottom .toolbar-item.network .toolbar-icon):
3937         (body.dock-to-bottom .toolbar-item.scripts .toolbar-icon):
3938         (body.dock-to-bottom .toolbar-item.timeline .toolbar-icon):
3939         (body.dock-to-bottom .toolbar-item.profiles .toolbar-icon):
3940         (body.dock-to-bottom .toolbar-item.audits .toolbar-icon):
3941         (body.dock-to-bottom .toolbar-item.console .toolbar-icon):
3942         (body.dock-to-bottom.port-qt .toolbar-item.close-left, body.dock-to-bottom.port-qt .toolbar-item.close-right):
3943         (body.dock-to-bottom #main):
3944
3945 2012-12-10  Kent Tamura  <tkent@chromium.org>
3946
3947         Refactoring: Remove HTMLFormControlElement::autofocus
3948         https://bugs.webkit.org/show_bug.cgi?id=104524
3949
3950         Reviewed by Kentaro Hara.
3951
3952         autofocus function is used only by HTMLFormControlElement itself, no
3953         sub-classes override it, and it is not exposed via an IDL attribute,
3954
3955         No new tests. This doesn't make any behavior changes.
3956
3957         * html/HTMLFormControlElement.cpp:
3958         (WebCore::shouldAutofocus): Use fastHasAttribute instead of autofocus().
3959         * html/HTMLFormControlElement.h: Remove autofocus().
3960
3961 2012-12-10  Jonathan Liu  <net147@gmail.com>
3962
3963         Fix GC3Dintptr and GC3Dsizeiptr typedefs for Win64
3964         https://bugs.webkit.org/show_bug.cgi?id=104426
3965
3966         Reviewed by Simon Hausmann.
3967
3968         The GC3Dintptr and GC3Dsizeiptr typedefs are incorrect for Win64 as
3969         LLP64 is used there. This would result in compile error due to
3970         narrowing conversion of 64-bit pointer to signed long int which is
3971         32-bit.
3972
3973         * platform/graphics/GraphicsTypes3D.h:
3974
3975 2012-12-10  Kent Tamura  <tkent@chromium.org>
3976
3977         Refactoring: Introduce HTMLFormControlElement::isDisabledOrReadOnly
3978         https://bugs.webkit.org/show_bug.cgi?id=104508
3979
3980         Reviewed by Kentaro Hara.
3981
3982         We have a lot of code like element->disabled || element->readOnly().
3983         isDisabledOrReadOnly makes them simpler.
3984
3985         No new tests. This make no behaivor change.
3986
3987         * html/HTMLFormControlElement.h:
3988         (WebCore::HTMLFormControlElement::isDisabledOrReadOnly):
3989         Added. Note that the implmentation of disabled() is not just "return m_disabled;".
3990
3991         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
3992         (WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent):
3993         Use isDisabledOrReadOnly.
3994         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
3995         (WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldSpinButtonRespondToMouseEvents): Ditto.
3996         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isPickerIndicatorOwnerDisabledOrReadOnly): Ditto.
3997         * html/ColorInputType.cpp:
3998         (WebCore::ColorInputType::handleDOMActivateEvent): Ditto.
3999         (WebCore::ColorInputType::didChooseColor): Ditto.
4000         * html/HTMLFormControlElement.cpp:
4001         (WebCore::HTMLFormControlElement::recalcWillValidate): Ditto.
4002         * html/HTMLTextAreaElement.h:
4003         (WebCore::HTMLTextAreaElement::valueMissing): Ditto.
4004         * html/RangeInputType.cpp:
4005         (WebCore::RangeInputType::handleMouseDownEvent): Ditto.
4006         (WebCore::RangeInputType::handleTouchEvent): Ditto.
4007         (WebCore::RangeInputType::handleKeydownEvent): Ditto.
4008         * html/SearchInputType.cpp:
4009         (WebCore::SearchInputType::handleKeydownEvent): Ditto.
4010         * html/TextFieldInputType.cpp:
4011         (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): Ditto.
4012         (WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents): Ditto.
4013         * html/shadow/TextControlInnerElement