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