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