8f862470f3e7171be976918f4653587ad681b46f
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-12-07  Jonathan Backer  <backer@chromium.org>
2
3         [chromium] Plumb damage from WebExternalTextureLayer and WebPluginContainer to CCDamageTracker
4         https://bugs.webkit.org/show_bug.cgi?id=73485
5
6         Reviewed by Darin Fisher.
7
8         * platform/graphics/chromium/PluginLayerChromium.cpp:
9         (WebCore::PluginLayerChromium::updateCompositorResources):
10         (WebCore::PluginLayerChromium::invalidateRect):
11         * platform/graphics/chromium/PluginLayerChromium.h:
12
13 2011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>
14
15         Upstream 5 files into WebCore/platform/blackberry
16         https://bugs.webkit.org/show_bug.cgi?id=73632
17
18         Reviewed by Rob Buis.
19
20         Initial upstream, no new tests.
21
22         * PlatformBlackBerry.cmake: Remove two empty files from build list.
23         * platform/blackberry/PopupMenuBlackBerry.cpp: Added.
24         (WebCore::PopupMenuBlackBerry::PopupMenuBlackBerry):
25         (WebCore::PopupMenuBlackBerry::~PopupMenuBlackBerry):
26         (WebCore::PopupMenuBlackBerry::show):
27         (WebCore::PopupMenuBlackBerry::hide):
28         (WebCore::PopupMenuBlackBerry::updateFromElement):
29         (WebCore::PopupMenuBlackBerry::disconnectClient):
30         * platform/blackberry/PopupMenuBlackBerry.h: Added.
31         (WebCore::PopupMenuBlackBerry::client):
32         * platform/blackberry/ScrollbarThemeBlackBerry.cpp: Added.
33         (WebCore::ScrollbarTheme::nativeTheme):
34         * platform/blackberry/SearchPopupMenuBlackBerry.cpp: Added.
35         (WebCore::SearchPopupMenuBlackBerry::SearchPopupMenuBlackBerry):
36         (WebCore::SearchPopupMenuBlackBerry::popupMenu):
37         (WebCore::SearchPopupMenuBlackBerry::enabled):
38         (WebCore::SearchPopupMenuBlackBerry::saveRecentSearches):
39         (WebCore::SearchPopupMenuBlackBerry::loadRecentSearches):
40         * platform/blackberry/SearchPopupMenuBlackBerry.h: Added.
41
42 2011-12-07  Dan Bernstein  <mitz@apple.com>
43
44         Fixed the definition of BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING from r102246.
45
46         * platform/mac/ThemeMac.mm: Added parentheses.
47
48 2011-12-07  Dan Bernstein  <mitz@apple.com>
49
50         <rdar://problem/10542095> Focus rings are not drawn around push buttons, radio buttons and checkboxes
51
52         Reviewed by Darin Adler.
53
54         Instead of relying on -setShowsFirstResponder: to make -drawWithFrame:inView: draw the focus
55         ring, use -drawFocusRingMaskWithFrame:inView:.
56
57         * platform/mac/ThemeMac.mm:
58         (-[NSCell _web_drawFocusRingWithFrame:inView:]): Added. Sets up the focus ring style and a
59         transparency layer, then uses -drawFocusRingMaskWithFrame:inView: to draw the focus ring.
60         (WebCore::updateStates): Eliminated calls to get and set showsFirstResponder.
61         (WebCore::paintCheckbox): Changed to use -_web_drawFocusRingWithFrame:inView:.
62         (WebCore::paintRadio): Ditto.
63         (WebCore::paintButton): Ditto.
64
65 2011-12-07  Brian Salomon  <bsalomon@google.com>
66
67         [CHROMIUM/SKIA] Handle put[Un/Pre]multipliedImageData conversions in Skia rather than ImageBuffer
68         https://bugs.webkit.org/show_bug.cgi?id=73953
69
70         Reviewed by Stephen White.
71
72         Tested by existing canvas2d layout tests.
73
74         * platform/graphics/skia/ImageBufferSkia.cpp:
75         (WebCore::putImageData):
76         (WebCore::ImageBuffer::putUnmultipliedImageData):
77         (WebCore::ImageBuffer::putPremultipliedImageData):
78
79 2011-12-07  Andreas Kling  <kling@webkit.org>
80
81         Micro-optimize ScrollView::visibleContentRect().
82         <http://webkit.org/b/74001>
83
84         Reviewed by Anders Carlsson.
85
86         Reorder the scrollbar exclusion code to minimize the number of virtual calls
87         to ScrollableArea::verticalScrollbar(), ScrollableArea::horizontalScrollbar()
88         and Scrollbar::isOverlayScrollbar().
89
90         * platform/ScrollView.cpp:
91         (WebCore::ScrollView::visibleContentRect):
92
93 2011-12-07  Andreas Kling  <kling@webkit.org>
94
95         ApplyPropertyBorderImage: Remove unneeded template argument for mapNinePieceImage().
96         <http://webkit.org/b/73998>
97
98         Reviewed by Antti Koivisto.
99
100         Have ApplyPropertyBorderImage call mapNinePieceImage() directly now that it's
101         public (instead of passing it as a template argument.)
102
103         * css/CSSStyleApplyProperty.cpp:
104         (WebCore::ApplyPropertyBorderImage::applyValue):
105         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
106
107 2011-12-07  Jessie Berlin  <jberlin@apple.com>
108
109         Mac build fix after r102235.
110
111         * WebCore.exp.in:
112
113 2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
114
115         [Qt] V8 debug build fixes.
116
117         Reviewed by Tor Arne Vestbø.
118
119         * Target.pri: Add missing files to the build.
120         * loader/SubresourceLoader.cpp: Add missing CString.h header file inclusion,
121         that is implicitly included with Chromium builds and only needed in ASSERTS
122         in debug builds.
123         * loader/cache/CachedResource.cpp: Ditto.
124         * page/FrameTree.cpp: Ditto.
125         * platform/graphics/MediaPlayer.cpp: Ditto.
126
127 2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
128
129         [Qt] V8 build fixes.
130
131         Reviewed by Tor Arne Vestbø.
132
133         * Target.pri: Don't load(javascriptcore) if we're building with v8.
134
135 2011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>
136
137         Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline
138         https://bugs.webkit.org/show_bug.cgi?id=73986
139
140         Reviewed by Kenneth Rohde Christiansen.
141
142         Just function name change, no new tests.
143
144         * platform/Logging.h:
145         * platform/efl/LoggingEfl.cpp:
146         (WebCore::initializeLoggingChannelsIfNecessary):
147         * platform/gtk/LoggingGtk.cpp:
148         (WebCore::initializeLoggingChannelsIfNecessary):
149         * platform/mac/LoggingMac.mm:
150         (WebCore::initializeLoggingChannelsIfNecessary):
151         * platform/qt/LoggingQt.cpp:
152         (WebCore::initializeLoggingChannelsIfNecessary):
153         * platform/win/LoggingWin.cpp:
154         (WebCore::initializeLoggingChannelsIfNecessary):
155         * platform/wx/LoggingWx.cpp:
156         (WebCore::initializeLoggingChannelsIfNecessary):
157
158 2011-12-07  Mihnea Ovidenie  <mihnea@adobe.com>
159
160         [CSSRegions]Add support for background-color in region styling
161         https://bugs.webkit.org/show_bug.cgi?id=71488
162
163         Reviewed by David Hyatt.
164
165         Tests: fast/regions/region-style-block-background-color.html
166                fast/regions/region-style-block-background-color2.html
167                fast/regions/region-style-image-background-color.html
168                fast/regions/region-style-inline-background-color.html
169
170         * WebCore.exp.in:
171         * css/CSSStyleSelector.cpp:
172         (WebCore::RuleData::regionStyleRule):
173         (WebCore::CSSStyleSelector::CSSStyleSelector):
174         (WebCore::CSSStyleSelector::addMatchedDeclaration):
175         (WebCore::CSSStyleSelector::matchRules):
176         (WebCore::CSSStyleSelector::matchAllRules):
177         (WebCore::CSSStyleSelector::initForRegionStyling):
178         (WebCore::CSSStyleSelector::styleForElement):
179         (WebCore::CSSStyleSelector::pseudoStyleForElement):
180         (WebCore::RuleData::RuleData):
181         (WebCore::RuleSet::RuleSet):
182         (WebCore::RuleSet::addToRuleSet):
183         (WebCore::CSSStyleSelector::applyDeclarations):
184         (WebCore::isValidRegionStyleProperty):
185         (WebCore::CSSStyleSelector::applyProperty):
186         * css/CSSStyleSelector.h:
187         (WebCore::CSSStyleSelector::setRegionForStyling):
188         (WebCore::CSSStyleSelector::regionForStyling):
189         (WebCore::CSSStyleSelector::applyPropertyToRegionStyle):
190         * rendering/RenderFlowThread.cpp:
191         (WebCore::RenderFlowThread::clearRenderRegionRangeMap):
192         (WebCore::RenderFlowThread::~RenderFlowThread):
193         (WebCore::RenderFlowThread::layout):
194         (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
195         (WebCore::RenderFlowThread::setRegionRangeForBox):
196         * rendering/RenderFlowThread.h:
197         * rendering/RenderLayer.cpp:
198         (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
199         (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
200         (WebCore::RenderLayer::paint):
201         (WebCore::RenderLayer::hitTest):
202         * rendering/RenderObject.cpp:
203         (WebCore::RenderObject::style):
204         * rendering/RenderObject.h:
205         (WebCore::RenderObject::canHaveRegionStyle):
206         * rendering/RenderObjectChildList.cpp:
207         (WebCore::RenderObjectChildList::removeChildNode):
208         * rendering/RenderRegion.cpp:
209         (WebCore::RenderRegion::layout):
210         (WebCore::RenderRegion::renderObjectRegionStyle):
211         (WebCore::RenderRegion::computeStyleInRegion):
212         (WebCore::RenderRegion::clearObjectStyleInRegion):
213         * rendering/RenderRegion.h:
214         * rendering/RenderView.cpp:
215         (WebCore::RenderView::RenderView):
216         * rendering/RenderView.h:
217         (WebCore::RenderView::currentRenderRegion):
218         (WebCore::RenderView::setCurrentRenderRegion):
219
220 2011-12-01  Vsevolod Vlasov  <vsevik@chromium.org>
221
222         Web Inspector: Extract default call stack creation and check for front-end from console.
223         https://bugs.webkit.org/show_bug.cgi?id=73566
224
225         Reviewed by Yury Semikhatsky.
226
227         * bindings/js/ScriptCallStackFactory.cpp:
228         (WebCore::createScriptCallStack):
229         * bindings/js/ScriptCallStackFactory.h:
230         * bindings/scripts/CodeGeneratorJS.pm:
231         (GenerateParametersCheck):
232         * bindings/scripts/CodeGeneratorV8.pm:
233         (GenerateFunctionCallback):
234         * bindings/scripts/test/JS/JSTestObj.cpp:
235         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
236         * bindings/scripts/test/V8/V8TestObj.cpp:
237         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
238         * bindings/v8/ScriptCallStackFactory.cpp:
239         (WebCore::createScriptCallStack):
240         * bindings/v8/ScriptCallStackFactory.h:
241         * inspector/InspectorInstrumentation.cpp:
242         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
243         * inspector/InspectorInstrumentation.h:
244         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
245         * inspector/WorkerInspectorController.h:
246         (WebCore::WorkerInspectorController::hasFrontend):
247         * page/Console.cpp:
248         * page/Console.h:
249
250 2011-12-07  Shinya Kawanaka  <shinyak@google.com>
251
252         Internals should have a method to reutrn the max sequence number of spellcheck reqeust.
253         https://bugs.webkit.org/show_bug.cgi?id=73511
254
255         Reviewed by Hajime Morita.
256
257         Internal state of SpellChecker should be able to be exposed for testing SpellChecker.
258         This patch will enable us to know asynchronous spellcheck has finished or not.
259
260         Test: editing/spelling/spellcheck-sequencenum.html
261
262         * editing/SpellChecker.cpp:
263         (WebCore::SpellChecker::SpellChecker):
264         (WebCore::SpellChecker::createRequest):
265         (WebCore::SpellChecker::didCheck):
266         * editing/SpellChecker.h:
267         (WebCore::SpellChecker::lastRequestSequence):
268           Interface to take SpellCheck sequence numbers.
269         (WebCore::SpellChecker::lastProcessedSequence): ditto.
270         * testing/Internals.cpp:
271         (WebCore::spellchecker):
272         (WebCore::Internals::lastSpellCheckRequestSequence):
273         (WebCore::Internals::lastSpellCheckProcessedSequence):
274         * testing/Internals.h:
275         * testing/Internals.idl:
276
277 2011-12-07  Ryosuke Niwa  <rniwa@webkit.org>
278
279         TypingCommand duplicates code to obtain the last typing command
280         https://bugs.webkit.org/show_bug.cgi?id=73984
281
282         Reviewed by Kent Tamura.
283
284         Extracted lastTypingCommandIfStillOpenForTyping out of isOpenForMoreTypingCommand
285         and a bunch of TypingCommand static member functions.
286
287         Also made more member functions of TypingCommand private.
288
289         * editing/Editor.cpp:
290         (WebCore::Editor::setComposition):
291         * editing/FrameSelection.cpp:
292         (WebCore::FrameSelection::setSelection):
293         * editing/TypingCommand.cpp:
294         (WebCore::TypingCommand::deleteSelection):
295         (WebCore::TypingCommand::deleteKeyPressed):
296         (WebCore::TypingCommand::forwardDeleteKeyPressed):
297         (WebCore::TypingCommand::insertText):
298         (WebCore::TypingCommand::insertLineBreak):
299         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
300         (WebCore::TypingCommand::insertParagraphSeparator):
301         (WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
302         (WebCore::TypingCommand::closeTyping):
303         * editing/TypingCommand.h:
304         (WebCore::TypingCommand::isOpenForMoreTyping):
305         (WebCore::TypingCommand::closeTyping):
306
307 2011-12-06  Mary Wu  <mary.wu@torchmobile.com.cn>
308
309         upstream BlackBerry porting of KURL/Logging
310         https://bugs.webkit.org/show_bug.cgi?id=73524
311
312         Reviewed by Antonio Gomes.
313
314         * platform/blackberry/KURLBlackBerry.cpp: Added.
315         (WebCore::KURL::fileSystemPath):
316         * platform/blackberry/LoggingBlackBerry.cpp: Added.
317         (WebCore::initializeWithUserDefault):
318         (WebCore::InitializeLoggingChannelsIfNecessary):
319
320 2011-12-06  Leo Yang  <leo.yang@torchmobile.com.cn>
321
322         [BlackBerry] Remove redundant files in PlatformBlackBerry.cmake
323         https://bugs.webkit.org/show_bug.cgi?id=73976
324
325         Reviewed by Antonio Gomes.
326
327         The listing of the following files in PlatformBlackBerry.cmake are redundant. They should be removed.
328         platform/network/blackberry/MultipartResponseDelegate.cpp
329         platform/network/blackberry/NetworkManager.cpp
330         platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp
331         platform/network/blackberry/ResourceErrorBlackBerry.cpp
332         platform/network/blackberry/ResourceRequestBlackBerry.cpp
333
334         * PlatformBlackBerry.cmake:
335
336 2011-12-06  Shinya Kawanaka  <shinyak@google.com>
337
338         Refactoring: Editor::markAllMisspellingsAndBadGrammarInRanges should be refactored.
339         https://bugs.webkit.org/show_bug.cgi?id=73628
340
341         Reviewed by Hajime Morita.
342
343         Extracted a code for adding markers and replacing misspelled words from WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges.
344
345         No new tests. covered by existing tests.
346
347         * editing/Editor.cpp:
348         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
349           Extracted a code for adding markers and replacing missplled words, and moved to markAndReplaceFor.
350         (WebCore::Editor::markAndReplaceFor):
351         * editing/Editor.h:
352
353 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
354
355         Avoid calling calculateRects in RenderLayer::paintLayer when the rectangles are not needed
356         https://bugs.webkit.org/show_bug.cgi?id=73754
357
358         Reviewed by Simon Fraser.
359
360         Performance change, no change in behavior.
361
362         RenderLayer::paintLayer can easily be called a million time when scrolling on a big table with
363         td { overflow: hidden; }. We would spend a lot of time recomputing the rectangles that we never
364         unused for painting as our layer was not self-painting (clipping layer only) and we did not paint
365         some overlay scrollbars.
366
367         * rendering/RenderLayer.cpp:
368         (WebCore::RenderLayer::paintLayer):
369         Simplified and moved the shouldPaint logic earlier in the function. Now the branches
370         are checking the same boolean which makes the logic more obvious. A consequence of
371         filling shouldPaint earlier is that we call |calculateRects| only if there is a chance
372         the rectangles will used. Also cached the result of isSelfPaintingLayer() in a local
373         variable (isSelfPaintingLayer() is fairly expensive due to several virtual calls).
374
375         * rendering/RenderLayerBacking.cpp:
376         (WebCore::RenderLayerBacking::paintIntoLayer):
377         For coherency, applied the same optimizations here too: added an early return instead
378         of conditionaly call |calculateRects| as we don't have to restore any clip.
379
380 2011-12-06  Benjamin Poulain  <benjamin@webkit.org>
381
382         Simplify KURL's checkEncodedString()
383         https://bugs.webkit.org/show_bug.cgi?id=73890
384
385         Reviewed by Andreas Kling.
386
387         The Macro UNUSED_PARAM is not supposed to be used for this case,
388         use ASSERT_UNUSED instead.
389
390         * platform/KURL.cpp:
391         (WebCore::checkEncodedString):
392
393 2011-12-06  Ryosuke Niwa  <rniwa@webkit.org>
394
395         The code to create a NodeListsNodeData is duplicated everywhere
396         https://bugs.webkit.org/show_bug.cgi?id=73961
397
398         Reviewed by Darin Adler.
399
400         Extracted the logic to create NodeListsNodeData as NodeRareData::ensureNodeLists.
401
402         * dom/Document.cpp:
403         (WebCore::Document::getItems):
404         * dom/Node.cpp:
405         (WebCore::Node::childNodes):
406         (WebCore::Node::registerDynamicNodeList):
407         (WebCore::Node::getElementsByTagName):
408         (WebCore::Node::getElementsByTagNameNS):
409         (WebCore::Node::getElementsByName):
410         (WebCore::Node::getElementsByClassName):
411         * dom/NodeRareData.h:
412         (WebCore::NodeRareData::ensureNodeLists):
413         * html/HTMLFormControlElement.cpp:
414         (WebCore::HTMLFormControlElement::labels):
415
416 2011-12-06  Leo Yang  <leo.yang@torchmobile.com.cn>
417
418         Upstream about: feature in WebKit/blackberry/WebCoreSupport/
419         https://bugs.webkit.org/show_bug.cgi?id=73612
420
421         Reviewed by Antonio Gomes.
422
423         * PlatformBlackBerry.cmake: Move platform/network/blackberry/AboutData.{h, cpp}
424                                     to WebKit/blackberry/WebCoreSupport
425
426 2011-12-06  Benjamin Poulain  <bpoulain@apple.com>
427
428         WebKit Mac does not build without CONTEXT MENU
429         https://bugs.webkit.org/show_bug.cgi?id=73962
430
431         Reviewed by Pavel Feldman.
432
433         In the patch r100903, the symbols were exported under ENABLE(CONTEXT_MENUS)
434         because the feature is triggered from the menus.
435
436         The implementation has no dependency on the context menu but is necessary to build
437         when the inspector is enabled.
438         This patch moves the exported symbols from ENABLE(CONTEXT_MENUS) to ENABLE(INSPECTOR).
439
440         * WebCore.exp.in:
441
442 2011-12-06  Adrienne Walker  <enne@google.com>
443
444         [chromium] setNeedsCommit on non-composited host layers should trigger commit
445         https://bugs.webkit.org/show_bug.cgi?id=73711
446
447         Reviewed by James Robinson.
448
449         Pipe non-composited content host syncs to setNeedsCommit.
450
451         Since now the NonCompositedContentHost generates setNeedsCommit, don't
452         call it unnecessarily, e.g. calling setBackgroundColor to the same
453         color each frame should not retrigger more commits.
454
455         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
456         (WebCore::GraphicsLayerChromium::setAnchorPoint):
457         (WebCore::GraphicsLayerChromium::setTransform):
458         (WebCore::GraphicsLayerChromium::setChildrenTransform):
459         (WebCore::GraphicsLayerChromium::setMasksToBounds):
460         (WebCore::GraphicsLayerChromium::setBackgroundColor):
461         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
462         (WebCore::GraphicsLayerChromium::setContentsOpaque):
463         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
464         (WebCore::GraphicsLayerChromium::setOpacity):
465         * platform/graphics/chromium/LayerChromium.cpp:
466         (WebCore::LayerChromium::setNeedsCommit):
467         (WebCore::LayerChromium::setAnchorPoint):
468         (WebCore::LayerChromium::setAnchorPointZ):
469         (WebCore::LayerChromium::setBackgroundColor):
470         (WebCore::LayerChromium::setMasksToBounds):
471         (WebCore::LayerChromium::setMaskLayer):
472         (WebCore::LayerChromium::setOpacity):
473         (WebCore::LayerChromium::setOpaque):
474         (WebCore::LayerChromium::setPosition):
475         (WebCore::LayerChromium::setSublayerTransform):
476         (WebCore::LayerChromium::setTransform):
477         (WebCore::LayerChromium::setScrollPosition):
478         (WebCore::LayerChromium::setScrollable):
479         (WebCore::LayerChromium::setDoubleSided):
480         * platform/graphics/chromium/LayerChromium.h:
481         (WebCore::LayerChromium::setReplicaLayer):
482         * platform/graphics/chromium/NonCompositedContentHost.cpp:
483         (WebCore::NonCompositedContentHost::notifySyncRequired):
484         * platform/graphics/chromium/NonCompositedContentHost.h:
485
486 2011-12-06  Kenichi Ishibashi  <bashi@chromium.org>
487
488         [Chromium] unknown characters symbol on \n in complex script text (RTL and LTR)
489         https://bugs.webkit.org/show_bug.cgi?id=73806
490
491         Reviewed by Tony Chang.
492
493         Sets fMergeNeutralItems to 1 instead of merging script items based on their tags.
494
495         Tests: platform/chromium/fast/text/international/chromium-complex-text-non-printable-expected.html
496                platform/chromium/fast/text/international/chromium-complex-text-non-printable.html
497
498         * platform/graphics/chromium/UniscribeHelper.cpp:
499         (WebCore::UniscribeHelper::fillRuns): Removed a block which merges script items.
500
501 2011-12-06  Luke Macpherson   <macpherson@chromium.org>
502
503         Implement remaining border-image and webkit-maskbox-image properties in CSSStyleApplyProperty.
504         https://bugs.webkit.org/show_bug.cgi?id=73391
505
506         Reviewed by Hajime Morita.
507
508         No new tests / refacoring only.
509
510         * css/CSSStyleApplyProperty.cpp:
511         (WebCore::ApplyPropertyBorderImageModifier::getValue):
512         (WebCore::ApplyPropertyBorderImageModifier::setValue):
513         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
514         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
515         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
516         (WebCore::ApplyPropertyBorderImageModifier::createHandler):
517         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
518         * css/CSSStyleSelector.cpp:
519         (WebCore::CSSStyleSelector::applyProperty):
520         * css/CSSStyleSelector.h:
521
522 2011-12-06  Pavel Feldman  <pfeldman@google.com>
523
524         Web Inspector: introduce a memory agent stub.
525         https://bugs.webkit.org/show_bug.cgi?id=73930
526
527         Reviewed by Timothy Hatcher.
528
529         We'd like to experiment with the memory stats and hence need a
530         nice home for that. Adding this undocumented agent / domain for now.
531
532         * CMakeLists.txt:
533         * GNUmakefile.list.am:
534         * Target.pri:
535         * WebCore.gypi:
536         * WebCore.vcproj/WebCore.vcproj:
537         * WebCore.xcodeproj/project.pbxproj:
538         * bindings/js/ScriptProfiler.h:
539         (WebCore::ScriptProfiler::nodeCount):
540         * bindings/v8/ScriptProfiler.cpp:
541         (WebCore::ScriptProfiler::nodeCount):
542         * bindings/v8/ScriptProfiler.h:
543         * inspector/Inspector.json:
544         * inspector/InspectorController.cpp:
545         (WebCore::InspectorController::InspectorController):
546         * inspector/InspectorMemoryAgent.cpp: Added.
547         (WebCore::InspectorMemoryAgent::~InspectorMemoryAgent):
548         (WebCore::InspectorMemoryAgent::getNodeCounter):
549         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
550         * inspector/InspectorMemoryAgent.h: Added.
551         (WebCore::InspectorMemoryAgent::create):
552
553 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
554
555         Unreviewed build fix after 102183.
556
557         * rendering/style/RenderStyle.h:
558         (WebCore::InheritedFlags::initialGridTrackValue):
559         Use DEFINE_STATIC_LOCAL to avoid having an exit-time destructor.
560
561 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
562
563         Inline RenderObject::view()
564         https://bugs.webkit.org/show_bug.cgi?id=73733
565
566         Reviewed by Darin Adler.
567
568         Micro-performance optimization, no change in behavior.
569
570         RenderObject::view() is super hot and is taking ~4-5% of the time in some
571         benchmarks as it is called several hundred thousands times. For some reason,
572         the compiler did not inline it even though it is very simple in release builds.
573
574         * WebCore.exp.in: Removed RenderObject::view() as it is inlined now.
575
576         * rendering/RenderObject.cpp: Moved the implementation from here ...
577         * rendering/RenderView.h:
578         (WebCore::RenderObject::view): ... to here to avoid a cyclic
579         dependency between RenderObject and RenderView. Also marked the
580         function as ALWAYS_INLINE.
581
582         * rendering/RenderObject.h:
583         * rendering/svg/RenderSVGResourceContainer.cpp:
584         Added #include "RenderView.h" as the code checks for view() during repaint.
585
586 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
587
588         CSS Grid Layout: Add support for parsing multiple grid-columns or grid-rows
589         https://bugs.webkit.org/show_bug.cgi?id=73272
590
591         Reviewed by Tony Chang.
592
593         Test: fast/css-grid-layout/grid-columns-rows-get-set-multiple.html
594
595         Updated our supported syntax to match the following:
596         <track-list> := [ <track-breadth> ]+ | 'none'
597         <track-breadth> := <length> | <percentage> | 'auto'
598         (the naming loosely matches the specification)
599
600         * css/CSSComputedStyleDeclaration.cpp:
601         (WebCore::valueForGridTrackBreadth): Added function to handle a breadth
602         (extended with 'auto' that the spec puts in <track-minmax>).
603
604         (WebCore::valueForGridTrackList): Create a space seperated list of
605         track breadth or none.
606
607         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated
608         to use the new functions.
609
610         * css/CSSParser.cpp:
611         (WebCore::CSSParser::parseGridTrackList): Extended the function to
612         match the new syntax.
613
614         * css/CSSStyleApplyProperty.cpp:
615         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Removed our
616         simple implementation. Replaced by the CSSStyleSelector functions.
617
618         * css/CSSStyleSelector.cpp:
619         (WebCore::createGridTrackBreadth):
620         (WebCore::createGridTrackList):
621         Added those 2 functions to convert the CSSPrimitiveValue to a Vector
622         as expected by RenderStyle.
623
624         (WebCore::CSSStyleSelector::applyProperty): Added our 2 properties
625         now that it is not handled by CSSStyleApplyProperty.
626
627         * rendering/style/RenderStyle.h:
628         (WebCore::InheritedFlags::gridColumns):
629         (WebCore::InheritedFlags::gridRows):
630         (WebCore::InheritedFlags::setGridColumns):
631         (WebCore::InheritedFlags::setGridRows):
632         (WebCore::InheritedFlags::initialGridColumns):
633         (WebCore::InheritedFlags::initialGridRows):
634         Updated the previous methods to take a Vector of Length.
635
636         (WebCore::InheritedFlags::initialGridTrackValue):
637         Needed function to return a Vector with one 'none' Length (the initial
638         value per the specification).
639
640         * rendering/style/StyleGridData.h: Updated to use a Vector.
641
642 2011-12-06  David Reveman  <reveman@chromium.org>
643
644         [Chromium] Implement tile-sized painting using SkPicture.
645         https://bugs.webkit.org/show_bug.cgi?id=71869
646
647         Reviewed by James Robinson.
648
649         Add texture uploader that paints tile-sized chunks using SkPicture
650         recording and playback. Expose setting which allows this texture
651         updater to be enabled.
652
653         No new tests. Covered by existing tests.
654
655         * WebCore.gypi:
656         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp: Added.
657         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::Texture):
658         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
659         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
660         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::create):
661         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::BitmapSkPictureCanvasLayerTextureUpdater):
662         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::~BitmapSkPictureCanvasLayerTextureUpdater):
663         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::createTexture):
664         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
665         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
666         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::paintContentsRect):
667         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::updateTextureRect):
668         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h: Added.
669         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
670         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::orientation):
671         * platform/graphics/chromium/ContentLayerChromium.cpp:
672         (WebCore::ContentLayerChromium::createTextureUpdater):
673         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
674         (WebCore::CCSettings::CCSettings):
675
676 2011-12-06  Adrienne Walker  <enne@google.com>
677
678         [chromium] Don't crash if tile upload happens without painting first
679         https://bugs.webkit.org/show_bug.cgi?id=73939
680
681         Reviewed by James Robinson.
682
683         Remove at least one place (in ImageLayerChromium) where this could
684         happen.
685
686         Although this shouldn't happen, we should be robust to it in the
687         chance that other code causes it to.
688
689         * platform/graphics/chromium/ImageLayerChromium.cpp:
690         (WebCore::ImageLayerChromium::paintContentsIfDirty):
691         * platform/graphics/chromium/TiledLayerChromium.cpp:
692         (WebCore::TiledLayerChromium::updateCompositorResources):
693
694 2011-12-06  Ruben  <chromium@hybridsource.org>
695
696         Enable web audio by default on non-Mac POSIX platforms
697         https://bugs.webkit.org/show_bug.cgi?id=73491
698
699         Reviewed by Tony Chang.
700
701         No new tests, just changing gyp includes.
702
703         * WebCore.gyp/WebCore.gyp:
704
705 2011-12-06  Benjamin Poulain  <benjamin@webkit.org>
706
707         Put length in its own variable in KURL copyASCII
708         https://bugs.webkit.org/show_bug.cgi?id=73928
709
710         Reviewed by Darin Adler.
711
712         * platform/KURL.cpp:
713         (WebCore::copyASCII):
714
715 2011-12-06  Dana Jansens  <danakj@chromium.org>
716
717         [chromium] Set opaque flag for ImageLayerChromium
718         https://bugs.webkit.org/show_bug.cgi?id=72964
719
720         Reviewed by James Robinson.
721
722         Unit test in tests/ImageLayerChromiumTest.cpp.
723
724         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
725         (WebCore::GraphicsLayerChromium::setContentsToImage):
726         * platform/graphics/chromium/GraphicsLayerChromium.h:
727         (WebCore::GraphicsLayerChromium::contentsLayer):
728         * platform/graphics/chromium/ImageLayerChromium.cpp:
729         (WebCore::ImageLayerChromium::setContents):
730
731 2011-12-06  Alexandre Elias  <aelias@google.com>
732
733         [chromium] Apply sent deltas on finishCommit
734         https://bugs.webkit.org/show_bug.cgi?id=73884
735
736         Reviewed by James Robinson.
737
738         This moves scroll and pageScale "sent" deltas to be applied to
739         the layer at the end of the commit, instead of the beginning.
740
741         This has several advantages, especially for page scale:
742         - When pageScale changes, no longer any need to change the scroll's
743         coordinate space at beginning of commit, which is complex and prone to
744         bugs (this fixes a problem where we were forgetting to modify the
745         scrollPosition before).
746         - No need for non-commit-related code to consider the "sent" values.
747         m_pageScale is now always the content scale factor, and
748         m_pageScaleDelta is the scale to be on the impl-side matrix.
749         - This will make it easy to send arbitrary fake or future delta
750         values for example while pinch zooming out.
751
752         The scroll logic is similarly altered for consistency's sake.  Note that
753         I also moved the tree synchronize to the beginning of finishCommit
754         in order to avoid having to change the pageScale coordinate space of
755         sentScrollDelta in adjustScrollsForPageScaleChange().
756
757         No new tests. (Refactoring of existing code.)
758
759         * platform/graphics/chromium/LayerChromium.cpp:
760         (WebCore::LayerChromium::pushPropertiesTo):
761         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
762         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
763         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
764         (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
765         (WebCore::CCLayerTreeHostImpl::applyPageScaleDeltaToScrollLayer):
766         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
767
768 2011-12-06  Gavin Barraclough  <barraclough@apple.com>
769
770         https://bugs.webkit.org/show_bug.cgi?id=68328
771         The generator and intrinsic fields in HashTableValue/HashEntry and associated structures and methods are redundant
772
773         Reviewed by Geoff Garen.
774
775         Intrinsic is no longer in the DFG namespace, is always in the
776         hash table. Removed ThunkGenerator.
777
778         * bindings/scripts/CodeGeneratorJS.pm:
779         (GenerateHashTable):
780
781 2011-12-06  Dimitri Glazkov  <dglazkov@chromium.org>
782
783         Unreviewed, rolling out r102091.
784         http://trac.webkit.org/changeset/102091
785         https://bugs.webkit.org/show_bug.cgi?id=73711
786
787         Caused Clang Linux compile failure.
788
789         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
790         (WebCore::GraphicsLayerChromium::setAnchorPoint):
791         (WebCore::GraphicsLayerChromium::setTransform):
792         (WebCore::GraphicsLayerChromium::setChildrenTransform):
793         (WebCore::GraphicsLayerChromium::setMasksToBounds):
794         (WebCore::GraphicsLayerChromium::setBackgroundColor):
795         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
796         (WebCore::GraphicsLayerChromium::setContentsOpaque):
797         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
798         (WebCore::GraphicsLayerChromium::setOpacity):
799         * platform/graphics/chromium/LayerChromium.cpp:
800         (WebCore::LayerChromium::setNeedsCommit):
801         * platform/graphics/chromium/LayerChromium.h:
802         (WebCore::LayerChromium::setAnchorPoint):
803         (WebCore::LayerChromium::setAnchorPointZ):
804         (WebCore::LayerChromium::setBackgroundColor):
805         (WebCore::LayerChromium::setMasksToBounds):
806         (WebCore::LayerChromium::setMaskLayer):
807         (WebCore::LayerChromium::setOpacity):
808         (WebCore::LayerChromium::setOpaque):
809         (WebCore::LayerChromium::setPosition):
810         (WebCore::LayerChromium::setSublayerTransform):
811         (WebCore::LayerChromium::setTransform):
812         (WebCore::LayerChromium::setScrollPosition):
813         (WebCore::LayerChromium::setScrollable):
814         (WebCore::LayerChromium::setDoubleSided):
815         (WebCore::LayerChromium::setReplicaLayer):
816         * platform/graphics/chromium/NonCompositedContentHost.cpp:
817         (WebCore::NonCompositedContentHost::notifySyncRequired):
818         * platform/graphics/chromium/NonCompositedContentHost.h:
819
820 2011-12-06  Dana Jansens  <danakj@chromium.org>
821
822         [Chromium] Make root layer always opaque
823         https://bugs.webkit.org/show_bug.cgi?id=70564
824
825         Reviewed by James Robinson.
826
827         * platform/graphics/chromium/NonCompositedContentHost.cpp:
828         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
829         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
830         (WebCore::CCTiledLayerImpl::draw):
831
832 2011-12-06  Noel Gordon  <noel.gordon@gmail.com>
833
834         WebPImageDecoder computes image width and height multiple times
835         https://bugs.webkit.org/show_bug.cgi?id=73796
836
837         Reviewed by Adam Barth.
838
839         Once sufficient image data arrives, we can compute the decoded image height
840         and width from the WEBP image header data.
841
842         From then on, the decoded image size is known so there's no need to re-read
843         it from the WEBP image header again.
844
845         No change in behavior, so no new tests.
846
847         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
848         (WebCore::WEBPImageDecoder::decode):
849
850 2011-12-06  Mike Reed  <reed@google.com>
851
852         optimize TransformationMatrix::scale by not calling through to generic multiply
853         https://bugs.webkit.org/show_bug.cgi?id=73830
854
855         Reviewed by Kenneth Russell.
856
857         No new tests. Optimization only, existing tests exercise the code
858
859         * platform/graphics/transforms/TransformationMatrix.cpp:
860         (WebCore::TransformationMatrix::scaleNonUniform):
861         (WebCore::TransformationMatrix::scale3d):
862
863 2011-12-06  Eric Carlson  <eric.carlson@apple.com>
864
865         Revert WebCore track Settings changes made in r101977
866         https://bugs.webkit.org/show_bug.cgi?id=73879
867
868         Reviewed by Sam Weinig.
869
870         No new tests yet, still nothing to test.
871
872         * page/Settings.cpp: Move the preference setters back into the .h file.
873         * page/Settings.h:
874         (WebCore::Settings::setShouldDisplaySubtitles):
875         (WebCore::Settings::setShouldDisplayCaptions):
876         (WebCore::Settings::setShouldDisplayTextDescriptions):
877
878 2011-12-06  Andreas Kling  <kling@webkit.org>
879
880         MediaList: Remove constructor that takes a CSSImportRule*.
881         <http://webkit.org/b/73833>
882
883         Reviewed by Antti Koivisto.
884
885         * css/MediaList.h:
886         * css/MediaList.cpp:
887
888             Remove MediaList(CSSImportRule*, ...) constructor.
889
890         * css/CSSImportRule.cpp:
891         (WebCore::CSSImportRule::CSSImportRule):
892
893             Have CSSImportRule construct its MediaList by passing the parent
894             style sheet, which is exactly what the old constructor accomplished.
895             Also assert that we're always created with a non-null parent sheet.
896
897 2011-12-06  Jarred Nicholls  <jarred@sencha.com>
898
899         getComputedStyle returns wrong value for margin-*
900         https://bugs.webkit.org/show_bug.cgi?id=73334
901
902         margin-* getComputedStyle values should return the "used" absolute value when there is a renderer
903         and the specified value is relative (percentage, auto, etc.).
904         When there is no renderer, the specified value should be returned.
905         See http://dev.w3.org/csswg/cssom/#resolved-values.
906
907         Reviewed by Darin Adler.
908
909         Test: fast/css/getComputedStyle/getComputedStyle-resolved-values.html
910
911         * css/CSSComputedStyleDeclaration.cpp:
912         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
913
914 2011-12-06  Alexey Proskuryakov  <ap@apple.com>
915
916         REGRESSION (WebKit2): Kill ring is not cleared when selection changes
917         https://bugs.webkit.org/show_bug.cgi?id=73888
918         <rdar://problem/10532310>
919
920         Reviewed by Mark Rowe.
921
922         Test: editing/pasteboard/emacs-ctrl-k-with-move.html
923
924         * editing/Editor.cpp: (WebCore::Editor::respondToChangedSelection): Moved the code to clear
925         kill ring from Mac WebKit, as it's needed in all Mac ports at least.
926
927 2011-12-06  Darin Adler  <darin@apple.com>
928
929         Use HashMap<OwnPtr> in CollectionCache
930         https://bugs.webkit.org/show_bug.cgi?id=73784
931
932         Reviewed by Andreas Kling.
933
934         * html/CollectionCache.cpp:
935         (WebCore::CollectionCache::copyCacheMap): Use adoptPtr.
936         (WebCore::CollectionCache::reset): Removed now-unneeded calls to deleteAllValues.
937         (WebCore::append): Added. Helper function for appending elements to the maps from
938         the collection cache.
939
940         * html/CollectionCache.h: Changed mapped type in NodeCacheMap to OwnPtr.
941         Added append function.
942
943         * html/HTMLCollection.cpp:
944         (WebCore::nameShouldBeVisibleInDocumentAll): Added, to factor out common code in
945         two functions below.
946         (WebCore::HTMLCollection::checkForNameMatch): Changed to call nameShouldBeVisibleInDocumentAll.
947         (WebCore::HTMLCollection::updateNameCache): Ditto. Also updated cache code to use the append
948         function, so it will work with OwnPtr. Also eliminated an unneeded get call before
949         each hash table add; we do both at once in the new append function.
950         * html/HTMLFormCollection.cpp:
951         (WebCore::HTMLFormCollection::updateNameCache): More of the same.
952
953 2011-12-06  Yury Semikhatsky  <yurys@chromium.org>
954
955         [Chromium] Web Inspector: getFunctionLocation should return scriptId as String not as int
956         https://bugs.webkit.org/show_bug.cgi?id=73892
957
958         Reviewed by Pavel Feldman.
959
960         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
961         (WebCore::V8InjectedScriptHost::functionLocationCallback): scriptId should be a string not a number
962         * inspector/Inspector.json: removed unused parameter
963
964 2011-11-21  Balazs Kelemen  <kbalazs@webkit.org>
965
966         Enable ParallelJobs by default
967         https://bugs.webkit.org/show_bug.cgi?id=70032
968
969         Reviewed by Zoltan Herczeg.
970
971         Covered by existing tests.
972
973         According to measurements on Mac and Linux it is a
974         considerable speedup for SVG on multicore.
975
976         Remove the ENABLE(PARALLEL_JOBS) guard. Fix the Windows build
977         by qualifying ParallelJobs with the WTF namespace (otherwise
978         MSVC believes it belongs to WebCore which is likely a compiler bug).
979
980         * platform/graphics/filters/FEConvolveMatrix.cpp:
981         (WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
982         (WebCore::FEConvolveMatrix::platformApplySoftware):
983         * platform/graphics/filters/FEConvolveMatrix.h:
984         * platform/graphics/filters/FEGaussianBlur.cpp:
985         (WebCore::FEGaussianBlur::platformApplyWorker):
986         (WebCore::FEGaussianBlur::platformApply):
987         * platform/graphics/filters/FEGaussianBlur.h:
988         * platform/graphics/filters/FELighting.cpp:
989         (WebCore::FELighting::platformApplyGenericWorker):
990         (WebCore::FELighting::platformApplyGeneric):
991         * platform/graphics/filters/FELighting.h:
992         * platform/graphics/filters/FEMorphology.cpp:
993         (WebCore::FEMorphology::platformApplyWorker):
994         (WebCore::FEMorphology::platformApply):
995         * platform/graphics/filters/FEMorphology.h:
996         * platform/graphics/filters/FETurbulence.cpp:
997         (WebCore::FETurbulence::fillRegionWorker):
998         (WebCore::FETurbulence::platformApplySoftware):
999         * platform/graphics/filters/FETurbulence.h:
1000         * platform/graphics/filters/arm/FELightingNEON.cpp:
1001         (WebCore::FELighting::platformApplyNeonWorker):
1002         * platform/graphics/filters/arm/FELightingNEON.h:
1003         (WebCore::FELighting::platformApplyNeon):
1004
1005 2011-12-06  Andreas Kling  <kling@webkit.org>
1006
1007         Unreviewed assertion fix for r102123.
1008
1009         * platform/KURL.cpp:
1010         (WebCore::checkEncodedString):
1011
1012 2011-12-06  Benjamin Poulain  <benjamin@webkit.org>
1013
1014         Simplify KURL's checkEncodedString()
1015         https://bugs.webkit.org/show_bug.cgi?id=73890
1016
1017         Reviewed by Andreas Kling.
1018
1019         The method was reimplementing String::containsOnlyASCII().
1020         Use the method from String and we can remove the #if NDEBUG.
1021
1022         * platform/KURL.cpp:
1023         (WebCore::checkEncodedString):
1024
1025 2011-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1026
1027         Unreviewed, rolling out r102111.
1028         http://trac.webkit.org/changeset/102111
1029         https://bugs.webkit.org/show_bug.cgi?id=73902
1030
1031         Breaks compilation (Requested by vsevik on #webkit).
1032
1033         * editing/Editor.cpp:
1034         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1035         * editing/Editor.h:
1036
1037 2011-12-06  Hajime Morrita  <morrita@chromium.org>
1038
1039         [Refactoring] Accessing Node::m_document should be minimized.
1040         https://bugs.webkit.org/show_bug.cgi?id=73800
1041
1042         Reviewed by Kent Tamura.
1043
1044         No new tests. No behavioral change.
1045
1046         Replaced m_document reference with the document() accessor
1047         or temporaril variables. This is a preparation for using
1048         m_document space to point a shadow root pointer.
1049
1050         * dom/Document.h:
1051         (WebCore::Node::Node):
1052         * dom/Node.cpp:
1053         (WebCore::Node::~Node):
1054
1055 2011-12-06  Shinya Kawanaka  <shinyak@google.com>
1056
1057         https://bugs.webkit.org/show_bug.cgi?id=73889
1058         TextCheckingParagraph::offsetTo should not have a side effect.
1059
1060         Reviewed by Hajime Morita.
1061
1062         Since TextCheckingParagraph::offsetTo had a side effect, its cache often became inconsistent.
1063         This is likely to cause a bug when changing SpellChecker and Editor.
1064
1065         No new tests. Covered by existing tests.
1066
1067         * editing/TextCheckingHelper.cpp:
1068         (WebCore::TextCheckingParagraph::offsetTo):
1069
1070 2011-12-06  Eric Penner  <epenner@google.com>
1071
1072         [chromium] Set texture limits as multiples of viewport size instead of hardcoded values
1073         https://bugs.webkit.org/show_bug.cgi?id=72202
1074
1075         Reviewed by James Robinson.
1076
1077         * platform/graphics/chromium/LayerRendererChromium.cpp: 
1078         (WebCore::LayerRendererChromium::drawLayers): added viewport param
1079         (WebCore::LayerRendererChromium::initializeSharedObjects): ditto 
1080         * platform/graphics/chromium/TextureManager.cpp: 
1081         (WebCore::TextureManager::highLimitBytes): calculated based on viewport
1082         (WebCore::TextureManager::reclaimLimitBytes): ditto
1083         (WebCore::TextureManager::lowLimitBytes): ditto
1084         (WebCore::TextureManager::TextureManager): added viewport param
1085         (WebCore::TextureManager::setMaxMemoryLimitBytes): changed name
1086         (WebCore::TextureManager::setPreferredMemoryLimitBytes): added function
1087         (WebCore::TextureManager::requestTexture): added viewport param
1088         * platform/graphics/chromium/TextureManager.h: ditto
1089         (WebCore::TextureManager::create): ditto
1090         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: ditto
1091         (WebCore::CCLayerTreeHost::initialize): ditto
1092         (WebCore::CCLayerTreeHost::beginCommitOnImplThread): ditto
1093         (WebCore::CCLayerTreeHost::setViewport): ditto
1094         (WebCore::CCLayerTreeHost::setVisible): ditto
1095         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread): ditto
1096
1097 2011-12-06  Huang Dongsung  <luxtella@company100.net>
1098
1099         [TexMap][QT] Draw the borders of media and webgl elements in TexMap.
1100         https://bugs.webkit.org/show_bug.cgi?id=73817
1101
1102         GraphicsContext3D only draws the content of the WebGL canvas, not the additional
1103         CSS such as the borders. TextureMapper should render the content of a
1104         media/webgl layer before drawing the actual canvas.
1105         This makes LayoutTests/compositing/webgl/webgl-reflection.html work.
1106
1107         Reviewed by Noam Rosenthal.
1108
1109         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1110         (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
1111         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1112         * platform/graphics/texmap/TextureMapperNode.cpp:
1113         (WebCore::TextureMapperNode::renderContent):
1114         (WebCore::TextureMapperNode::paintSelf):
1115
1116 2011-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1117
1118         Unreviewed, rolling out r102043.
1119         http://trac.webkit.org/changeset/102043
1120         https://bugs.webkit.org/show_bug.cgi?id=73898
1121
1122         Breaks chromium mac-cg compilation. (Requested by vsevik on
1123         #webkit).
1124
1125         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1126         (WebCore::GraphicsLayerChromium::setContentsToImage):
1127         * platform/graphics/chromium/GraphicsLayerChromium.h:
1128         (WebCore::GraphicsLayerChromium::contentsLayer):
1129         * platform/graphics/chromium/ImageLayerChromium.cpp:
1130         (WebCore::ImageLayerChromium::setContents):
1131
1132 2011-12-06  Shinya Kawanaka  <shinyak@google.com>
1133
1134         Refactoring: Editor::markAllMisspellingsAndBadGrammarInRanges should be refactored.
1135         https://bugs.webkit.org/show_bug.cgi?id=73628
1136
1137         Reviewed by Hajime Morita.
1138
1139         Extracted a code for adding markers and replacing misspelled words from WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges.
1140
1141         No new tests. covered by existing tests.
1142
1143         * editing/Editor.cpp:
1144         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1145           Extracted a code for adding markers and replacing missplled words, and moved to markAndReplaceFor.
1146         (WebCore::Editor::markAndReplaceFor):
1147         * editing/Editor.h:
1148
1149 2011-12-05  Alexander Pavlov  <apavlov@chromium.org>
1150
1151         Web Inspector: [Audits] Implement "Stop" button and progress bar instead of spinner.
1152         https://bugs.webkit.org/show_bug.cgi?id=73626
1153
1154         Reviewed by Yury Semikhatsky.
1155
1156         * English.lproj/localizedStrings.js:
1157         * inspector/front-end/AuditLauncherView.js:
1158         (WebInspector.AuditLauncherView):
1159         (WebInspector.AuditLauncherView.prototype._setAuditRunning):
1160         (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
1161         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
1162         (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
1163         (WebInspector.AuditLauncherView.prototype._updateButton):
1164         * inspector/front-end/AuditRules.js:
1165         (WebInspector.AuditRules.GzipRule.prototype.doRun):
1166         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
1167         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
1168         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
1169         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded):
1170         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
1171         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
1172         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
1173         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1174         (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
1175         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1176         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
1177         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
1178         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
1179         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable):
1180         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
1181         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
1182         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
1183         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable):
1184         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
1185         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
1186         * inspector/front-end/AuditsPanel.js:
1187         (WebInspector.AuditsPanel):
1188         (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
1189         (WebInspector.AuditsPanel.prototype._executeAudit):
1190         (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
1191         (WebInspector.AuditsPanel.prototype.terminateAudit):
1192         (WebInspector.AuditCategory.prototype.run):
1193         (WebInspector.AuditRule.prototype.run):
1194         (WebInspector.AuditRule.prototype.doRun):
1195         (WebInspector.AuditProgressMonitor):
1196         (WebInspector.AuditProgressMonitor.prototype.setTotalWork):
1197         (WebInspector.AuditProgressMonitor.prototype.worked):
1198         (WebInspector.AuditProgressMonitor.prototype.get indeterminate):
1199         (WebInspector.AuditProgressMonitor.prototype.done):
1200         (WebInspector.AuditProgressMonitor.prototype.get canceled):
1201         (WebInspector.AuditProgressMonitor.prototype.set canceled):
1202
1203 2011-12-06  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1204
1205         [Qt] [WK2] MiniBrowser assert on startup in debug build after r101713
1206         https://bugs.webkit.org/show_bug.cgi?id=73874
1207
1208         This change partially reverts r101713 restoring original behaviour for
1209         KUrl creation from empty string and fixes asserts in debug build.
1210
1211         Reviewed by Alexey Proskuryakov.
1212
1213         No new tests. Tests from r101713 pass.
1214
1215         * platform/KURL.cpp:
1216         (WebCore::KURL::init):
1217         (WebCore::KURL::parse):
1218         * platform/KURL.h:
1219
1220 2011-12-06  Andreas Kling  <kling@webkit.org>
1221
1222         Use HashMap<OwnPtr> for EventListenerMap's internal map.
1223         <http://webkit.org/b/73761>
1224
1225         Reviewed by Benjamin Poulain.
1226
1227         Changed the value type of EventListenerMap::m_hashMap to OwnPtr<EventListenerVector>.
1228         This means we no longer need to manually delete the vectors when taking them out of
1229         the map, which makes the code a little prettier.
1230
1231         A few tweaks were necessary; release() instead of leakPtr() when switching modes
1232         and adoptPtr()/get() sprinkled as needed.
1233
1234         * dom/EventListenerMap.h:
1235         * dom/EventListenerMap.cpp:
1236         (WebCore::EventListenerMap::clear):
1237         (WebCore::EventListenerMap::add):
1238         (WebCore::EventListenerMap::remove):
1239         (WebCore::EventListenerMap::find):
1240         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
1241         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
1242
1243 2011-12-05  Rafael Weinstein  <rafaelw@chromium.org>
1244
1245         [MutationObservers] Support 'attributes' mutation records for element.removeAttribute
1246         https://bugs.webkit.org/show_bug.cgi?id=73880
1247
1248         Reviewed by Ojan Vafai.
1249
1250         * dom/Element.cpp:
1251         (WebCore::enqueueAttributesMutationRecord):
1252         (WebCore::Element::removeAttribute):
1253
1254 2011-12-05  Dana Jansens  <danakj@chromium.org>
1255
1256         Set opaque flag for WebGLLayerChromium
1257         https://bugs.webkit.org/show_bug.cgi?id=73876
1258
1259         Reviewed by James Robinson.
1260
1261         New unit test in tests/WebGLLayerChromiumTest.cpp
1262
1263         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1264         (WebCore::DrawingBuffer::platformLayer):
1265
1266 2011-12-05  Benjamin Poulain  <bpoulain@apple.com>
1267
1268         Upstream the Cursor implementation of iOS
1269         https://bugs.webkit.org/show_bug.cgi?id=73724
1270
1271         Reviewed by David Kilzer.
1272
1273         iOS does not need to support the Cursor of WebKit. For compatibility, Cursor
1274         is implemented as an empty class on the platform.
1275
1276         * Configurations/WebCore.xcconfig:
1277         * WebCore.xcodeproj/project.pbxproj:
1278         * platform/Cursor.h:
1279         (WebCore::Cursor::Cursor):
1280         * platform/ios/CursorIOS.cpp: Added.
1281         (WebCore::cursor):
1282         (WebCore::pointerCursor):
1283         (WebCore::crossCursor):
1284         (WebCore::handCursor):
1285         (WebCore::moveCursor):
1286         (WebCore::iBeamCursor):
1287         (WebCore::waitCursor):
1288         (WebCore::helpCursor):
1289         (WebCore::eastResizeCursor):
1290         (WebCore::northResizeCursor):
1291         (WebCore::northEastResizeCursor):
1292         (WebCore::northWestResizeCursor):
1293         (WebCore::southResizeCursor):
1294         (WebCore::southEastResizeCursor):
1295         (WebCore::southWestResizeCursor):
1296         (WebCore::westResizeCursor):
1297         (WebCore::northSouthResizeCursor):
1298         (WebCore::eastWestResizeCursor):
1299         (WebCore::northEastSouthWestResizeCursor):
1300         (WebCore::northWestSouthEastResizeCursor):
1301         (WebCore::columnResizeCursor):
1302         (WebCore::rowResizeCursor):
1303         (WebCore::middlePanningCursor):
1304         (WebCore::eastPanningCursor):
1305         (WebCore::northPanningCursor):
1306         (WebCore::northEastPanningCursor):
1307         (WebCore::northWestPanningCursor):
1308         (WebCore::southPanningCursor):
1309         (WebCore::southEastPanningCursor):
1310         (WebCore::southWestPanningCursor):
1311         (WebCore::westPanningCursor):
1312         (WebCore::verticalTextCursor):
1313         (WebCore::cellCursor):
1314         (WebCore::contextMenuCursor):
1315         (WebCore::noDropCursor):
1316         (WebCore::notAllowedCursor):
1317         (WebCore::progressCursor):
1318         (WebCore::aliasCursor):
1319         (WebCore::zoomInCursor):
1320         (WebCore::zoomOutCursor):
1321         (WebCore::copyCursor):
1322         (WebCore::noneCursor):
1323         (WebCore::grabCursor):
1324         (WebCore::grabbingCursor):
1325         (WebCore::determineHotSpot):
1326
1327 2011-12-05  Noel Gordon  <noel.gordon@gmail.com>
1328
1329         [GTK] GIF image test crashes on 32- and 64-bit Release
1330         https://bugs.webkit.org/show_bug.cgi?id=73812
1331
1332         Reviewed by Adam Barth.
1333
1334         Call resize() on the image pixel backing store after allocation to see if
1335         that stops the GIF image decoder animation tests crashes on GTK.
1336
1337         No new tests, covered by exiting tests ...
1338           fast/backgrounds/animated-gif-as-background.html
1339           fast/images/dont-crash-with-null-gif-frames.html
1340           fast/images/gif-loop-count.html
1341
1342         * platform/image-decoders/ImageDecoder.cpp:
1343         (WebCore::ImageFrame::setSize):
1344
1345 2011-12-05  Erik Arvidsson  <arv@chromium.org>
1346
1347         Could save a lot of memory in CharacterData by not always storing a String
1348         https://bugs.webkit.org/show_bug.cgi?id=72404
1349
1350         Reviewed by Ojan Vafai.
1351
1352         When a Text node is created by the parser we check if the string is all whitespace
1353         and if so we put it in the AtomicString table so that all future identical whitespace
1354         strings can share the StringImpl.
1355
1356         No new tests. Covered by existing tests.
1357
1358         * html/parser/HTMLConstructionSite.cpp:
1359         (WebCore::HTMLNames::isAllWhitespace):
1360         (WebCore::HTMLConstructionSite::insertTextNode):
1361
1362             If we do not know whether the string is all whitespace this now checks the string
1363             If the string is all whitespace we create an AtomicString for it.
1364
1365         * html/parser/HTMLConstructionSite.h:
1366         * html/parser/HTMLTreeBuilder.cpp:
1367         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingNonWhitespace): We never cared about the return value here.
1368         (WebCore::HTMLTreeBuilder::processCharacterBuffer): Pass WhitespaceMode in the case we know whether the string is all whitespace or not.
1369         (WebCore::HTMLTreeBuilder::defaultForInTableText): Ditto.
1370
1371 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
1372
1373         Update KURL's copy copyASCII to avoid String::characters()
1374         https://bugs.webkit.org/show_bug.cgi?id=73794
1375
1376         Reviewed by Andreas Kling.
1377
1378         When the String is already on 8 bits, we can simply copy the
1379         data. In the 16 bits case, everything remains the same.
1380
1381         * platform/KURL.cpp:
1382         (WebCore::copyASCII):
1383         (WebCore::appendASCII):
1384         (WebCore::KURL::init):
1385         (WebCore::KURL::parse):
1386         (WebCore::KURL::copyToBuffer):
1387
1388 2011-12-05  Yong Li  <yoli@rim.com>
1389
1390         https://bugs.webkit.org/show_bug.cgi?id=73683
1391         Implement KeyframeValueList::operator=() and KeyframeValueList::swap().
1392
1393         Reviewed by Darin Adler.
1394
1395         No new tests as no functional change.
1396
1397         * platform/graphics/GraphicsLayer.h: 
1398         (WebCore::KeyframeValueList::operator=): Added
1399         (WebCore::KeyframeValueList::swap): Added
1400
1401 2011-12-05  Adrienne Walker  <enne@google.com>
1402
1403         [chromium] setNeedsCommit on non-composited host layers should trigger commit
1404         https://bugs.webkit.org/show_bug.cgi?id=73711
1405
1406         Reviewed by James Robinson.
1407
1408         Pipe non-composited content host syncs to setNeedsCommit.
1409
1410         Since now the NonCompositedContentHost generates setNeedsCommit, don't
1411         call it unnecessarily, e.g. calling setBackgroundColor to the same
1412         color each frame should not retrigger more commits.
1413
1414         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1415         (WebCore::GraphicsLayerChromium::setAnchorPoint):
1416         (WebCore::GraphicsLayerChromium::setTransform):
1417         (WebCore::GraphicsLayerChromium::setChildrenTransform):
1418         (WebCore::GraphicsLayerChromium::setMasksToBounds):
1419         (WebCore::GraphicsLayerChromium::setBackgroundColor):
1420         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1421         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1422         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1423         (WebCore::GraphicsLayerChromium::setOpacity):
1424         * platform/graphics/chromium/LayerChromium.cpp:
1425         (WebCore::LayerChromium::setNeedsCommit):
1426         (WebCore::LayerChromium::setAnchorPoint):
1427         (WebCore::LayerChromium::setAnchorPointZ):
1428         (WebCore::LayerChromium::setBackgroundColor):
1429         (WebCore::LayerChromium::setMasksToBounds):
1430         (WebCore::LayerChromium::setMaskLayer):
1431         (WebCore::LayerChromium::setOpacity):
1432         (WebCore::LayerChromium::setOpaque):
1433         (WebCore::LayerChromium::setPosition):
1434         (WebCore::LayerChromium::setSublayerTransform):
1435         (WebCore::LayerChromium::setTransform):
1436         (WebCore::LayerChromium::setScrollPosition):
1437         (WebCore::LayerChromium::setScrollable):
1438         (WebCore::LayerChromium::setDoubleSided):
1439         * platform/graphics/chromium/LayerChromium.h:
1440         (WebCore::LayerChromium::setReplicaLayer):
1441         * platform/graphics/chromium/NonCompositedContentHost.cpp:
1442         (WebCore::NonCompositedContentHost::notifySyncRequired):
1443         * platform/graphics/chromium/NonCompositedContentHost.h:
1444
1445 2011-12-05  Tony Chang  <tony@chromium.org>
1446
1447         small refactor of RenderFlexibleBox
1448         https://bugs.webkit.org/show_bug.cgi?id=73854
1449
1450         Reviewed by Darin Adler.
1451
1452         No new tests, just a refactor.
1453
1454         * rendering/RenderFlexibleBox.cpp:
1455         (WebCore::RenderFlexibleBox::isLeftToRightFlow): Inline isReverseFlow since it's only used in one place.
1456         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Rename startEdge
1457         to mainAxisOffset.  Rename logicalTop to crossAxisOffset.  Get rid of
1458         logicalLeft local variable since it's confusing.  Move shouldFlipMainAxis
1459         out of the for loop to avoid computing it each iteration.
1460         * rendering/RenderFlexibleBox.h:
1461
1462 2011-12-05  Florin Malita  <fmalita@google.com>
1463
1464         Heap-buffer-overflow in WebCore::HTMLTreeBuilder::processEndTag
1465         https://bugs.webkit.org/show_bug.cgi?id=73765
1466
1467         Reviewed by Adam Barth.
1468
1469         Test: fast/parser/foreign-content-crash.html
1470
1471         Use m_tree.currentNode() instead of m_tree.currentElement() as the top node is not always an Element.
1472
1473         * html/parser/HTMLTreeBuilder.cpp:
1474         (WebCore::HTMLTreeBuilder::processEndTag):
1475
1476 2011-12-05  Stephen White  <senorblanco@chromium.org>
1477
1478         Allow the ImageBuffers used by SVG filters to be accelerated
1479         https://bugs.webkit.org/show_bug.cgi?id=73842
1480
1481         Reviewed by Kenneth Russell.
1482
1483         Regressions covered by existing SVG tests; new functionality to be
1484         tested by the API exposed on Internals.
1485
1486         * page/Settings.cpp:
1487         (WebCore::Settings::Settings):
1488         * page/Settings.h:
1489         (WebCore::Settings::setAcceleratedFiltersEnabled):
1490         (WebCore::Settings::acceleratedFiltersEnabled):
1491         * platform/graphics/filters/FETile.cpp:
1492         (WebCore::FETile::platformApplySoftware):
1493         * platform/graphics/filters/Filter.h:
1494         (WebCore::Filter::Filter):
1495         (WebCore::Filter::renderingMode):
1496         (WebCore::Filter::setRenderingMode):
1497         * platform/graphics/filters/FilterEffect.cpp:
1498         (WebCore::FilterEffect::asImageBuffer):
1499         (WebCore::FilterEffect::createImageBufferResult):
1500         * platform/graphics/skia/ImageBufferSkia.cpp:
1501         (WebCore::ImageBuffer::platformTransformColorSpace):
1502         * rendering/svg/RenderSVGResourceClipper.cpp:
1503         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1504         * rendering/svg/RenderSVGResourceFilter.cpp:
1505         (WebCore::RenderSVGResourceFilter::applyResource):
1506         * rendering/svg/RenderSVGResourceMasker.cpp:
1507         (WebCore::RenderSVGResourceMasker::applyResource):
1508         * rendering/svg/RenderSVGResourcePattern.cpp:
1509         (WebCore::RenderSVGResourcePattern::createTileImage):
1510         * rendering/svg/SVGImageBufferTools.cpp:
1511         (WebCore::SVGImageBufferTools::createImageBuffer):
1512         * rendering/svg/SVGImageBufferTools.h:
1513         * testing/Internals.cpp:
1514         (WebCore::Internals::setAcceleratedFiltersEnabled):
1515         * testing/Internals.h:
1516         * testing/Internals.idl:
1517
1518 2011-12-05  Benjamin Poulain  <bpoulain@apple.com>
1519
1520         Upstream htmlSelectMultipleItems needed for <select multiple> by iOS
1521         https://bugs.webkit.org/show_bug.cgi?id=73734
1522
1523         Reviewed by David Kilzer.
1524
1525         * platform/DefaultLocalizationStrategy.cpp:
1526         (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
1527         * platform/DefaultLocalizationStrategy.h:
1528
1529 2011-12-05  Darin Adler  <darin@apple.com>
1530
1531         Use HashMap<OwnPtr> in CrossOriginPreflightResultCache
1532         https://bugs.webkit.org/show_bug.cgi?id=73785
1533
1534         Reviewed by Andreas Kling.
1535
1536         * loader/CrossOriginPreflightResultCache.cpp:
1537         (WebCore::CrossOriginPreflightResultCache::appendEntry): Changed code to use set
1538         instead of add, since it wants to replace existing entries. Also removed leakPtr
1539         and removed the FIXME that documented the memory leak now fixed here.
1540         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): Removed unneeded
1541         std:: prefix here and also unneeded explicit delete call.
1542         (WebCore::CrossOriginPreflightResultCache::empty): Removed unneeded deleteAllValues
1543         call here.
1544
1545         * loader/CrossOriginPreflightResultCache.h: Make mapped value of the
1546         CrossOriginPreflightResultHashMap be OwnPtr instead of raw pointer.
1547
1548 2011-12-05  Darin Adler  <darin@apple.com>
1549
1550         Some small improvements to ContainerNode.h
1551         https://bugs.webkit.org/show_bug.cgi?id=73786
1552
1553         Reviewed by Alexey Proskuryakov.
1554
1555         * dom/ContainerNode.cpp:
1556         (WebCore::ContainerNode::suspendPostAttachCallbacks): Added a FIXME comment about the
1557         peculiar behavior of this function. Somehow the post-attach suspend state is both
1558         global and specific to a certain Page object. That can't be right. If it was truly
1559         global then this would be a static member function. If it was truly per-page, then
1560         the related functions could not be static.
1561
1562         * dom/ContainerNode.h: Removed some unneeded argument names. Moved the hasChildNodes
1563         function up with the other basic getters. Put the other getters, childNodeCount and
1564         childNode, right after the basic getters. Used ASSERT_NO_EXCEPTION in all the basic
1565         mutation functions so they can be used in a cleaner fashion in C++ code where we have
1566         some reason to know an exception won't occur. Grouped all the overrides of functions
1567         from Node into a single paragraph and used the OVERRIDE macro on all of them. Made the
1568         queuePostAttachCallback and postAttachCallbacksAreSuspended functions protected.
1569
1570         * dom/Element.h: Moved the include of ExceptionCodePlaceholder.h into ContainerNode.h.
1571
1572         * dom/Node.cpp:
1573         (WebCore::Node::lazyAttach): Use hasChildNodes instead of firstChild for clarity.
1574         (WebCore::Node::isDescendantOf): Ditto.
1575
1576 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
1577
1578         Get rid of KURL::KURL(ParsedURLStringTag, const char*);
1579         https://bugs.webkit.org/show_bug.cgi?id=73792
1580
1581         Reviewed by Andreas Kling.
1582
1583         In all cases where the constructor is used, the constructor
1584         taking a String is as effective because the string is valid and converted
1585         to String for m_string.
1586
1587         This patch remove the constructor KURL::KURL(ParsedURLStringTag, const char*)
1588         and change the call sites that were using that constructor to build
1589         empty URLs.
1590
1591         * dom/Document.cpp:
1592         (WebCore::Document::initSecurityContext):
1593         * loader/FrameLoader.cpp:
1594         (WebCore::FrameLoader::init):
1595         * loader/archive/cf/LegacyWebArchive.cpp:
1596         (WebCore::LegacyWebArchive::create):
1597         * page/DOMWindow.cpp:
1598         (WebCore::DOMWindow::createWindow):
1599         * platform/KURL.cpp:
1600         * platform/KURL.h:
1601         * platform/KURLGoogle.cpp:
1602
1603 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
1604
1605         Remove methods declared but never implemented with GOOGLEURL
1606         https://bugs.webkit.org/show_bug.cgi?id=73795
1607
1608         Reviewed by Adam Barth.
1609
1610         * platform/KURL.h:
1611
1612 2011-12-05  Darin Adler  <darin@apple.com>
1613
1614         Change CSSFontSelector to use HashMap<OwnPtr>
1615         https://bugs.webkit.org/show_bug.cgi?id=73781
1616
1617         Reviewed by Dan Bernstein.
1618
1619         * css/CSSFontSelector.cpp:
1620         (WebCore::CSSFontSelector::~CSSFontSelector): Removed calls to deleteAllValues.
1621         (WebCore::CSSFontSelector::addFontFaceRule): Updated to use OwnPtr instead of raw
1622         pointer for the entry in m_fontFaces and m_locallyInstalledFontFaces.
1623         (WebCore::CSSFontSelector::getFontData): Updated to use OwnPtr instead of raw
1624         pointer for the entry in m_fonts. Also removed an unneeded std:: prefix.
1625
1626         * css/CSSFontSelector.h: Made m_fontFaces, m_locallyInstalledFontFaces, and m_fonts
1627         be HashMap<OwnPtr>.
1628
1629 2011-12-05  Adam Klein  <adamk@chromium.org>
1630
1631         V8RecursionScope should call didLeaveScriptContext when recursionLevel reaches zero
1632         https://bugs.webkit.org/show_bug.cgi?id=73867
1633
1634         Reviewed by Adam Barth.
1635
1636         Moved V8RecursionScope into its own file, and moved
1637         V8Proxy::didLeaveScriptContext into that file, along with a static
1638         recursionLevel accessor, hiding the V8BindingPerIsolateData methods
1639         from V8Proxy.
1640
1641         This will make it easy and less error-prone to use V8RecursionScope
1642         properly. I plan to make use of it in V8LazyEventListener to fix
1643         https://bugs.webkit.org/show_bug.cgi?id=73492.
1644
1645         No new tests, refactoring only.
1646
1647         * Target.pri:
1648         * UseV8.cmake:
1649         * WebCore.gypi:
1650         * bindings/v8/V8Binding.h:
1651         (WebCore::V8BindingPerIsolateData::incrementRecursionLevel): return the new recursion level.
1652         (WebCore::V8BindingPerIsolateData::decrementRecursionLevel): return the new recursion level.
1653         * bindings/v8/V8Proxy.cpp: remove didLeaveScriptContext.
1654         (WebCore::V8Proxy::runScript): remove explicit call to didLeaveScriptContext.
1655         (WebCore::V8Proxy::instrumentedCallFunction): remove explicit call to didLeaveScriptContext.
1656         * bindings/v8/V8Proxy.h: remove didLeaveScriptContext.
1657         * bindings/v8/V8RecursionScope.cpp: Added.
1658         (WebCore::V8RecursionScope::didLeaveScriptContext): copied from V8Proxy.cpp.
1659         * bindings/v8/V8RecursionScope.h: Added.
1660         (WebCore::V8RecursionScope::V8RecursionScope):
1661         (WebCore::V8RecursionScope::~V8RecursionScope):
1662         (WebCore::V8RecursionScope::recursionLevel):
1663
1664 2011-12-05  Benjamin Poulain  <bpoulain@apple.com>
1665
1666         Build fix for SecurityOrigin.cpp when neither BLOB nor FILE_SYSTEM are defined
1667
1668         Reviewed by David Kilzer.
1669
1670         When neither BLOB nor FILE_SYSTEM are defined, the parameter is unused.
1671
1672         * page/SecurityOrigin.cpp:
1673         (WebCore::shouldUseInnerURL):
1674
1675 2011-12-05  Darin Adler  <darin@apple.com>
1676
1677         Change RuleSet to use HashMap<OwnPtr>
1678         https://bugs.webkit.org/show_bug.cgi?id=73783
1679
1680         Reviewed by Andreas Kling.
1681
1682         * css/CSSStyleSelector.cpp: Make RuleSet::AtomRuleMap use OwnPtr for the mapped values.
1683         (WebCore::RuleSet::addToRuleSet): Use add instead of get/set to set up a new entry in the
1684         map or find the old entry in the map.
1685
1686 2011-12-05  Mario Sanchez Prada  <msanchez@igalia.com>
1687
1688         [GTK] Move emissions of AtkDocument signals down to WebCore
1689         https://bugs.webkit.org/show_bug.cgi?id=73750
1690
1691         Reviewed by Chris Fleizach.
1692
1693         Implement the needed infrastructure to allow notifying
1694         accessibility, in a cross-platform way, when a event related to
1695         the load of a document happens. Added a generic method, which will
1696         be called from the FrameLoader, and platform specific versions of
1697         it so every port has a chance to decide what to do with those
1698         notifications.
1699
1700         This patch doesn't include a new test because the one testing this
1701         functionality is the GTK-specific unit test added along with patch
1702         for bug 73746: testWebkitAtkDocumentLoadingEvents.
1703
1704         * accessibility/AXObjectCache.h:
1705         (WebCore::AXObjectCache::frameLoadingEventNotification): New, called
1706         from the FrameLoader to notify accessibility when an event happens.
1707         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): New,
1708         platform specific function to let ports decide what to do.
1709         * accessibility/AXObjectCache.cpp:
1710         (WebCore::AXObjectCache::frameLoadingEventNotification): New.
1711         * accessibility/chromium/AXObjectCacheChromium.cpp:
1712         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
1713         implementation of the platform specific function for chromium.
1714         * accessibility/gtk/AXObjectCacheAtk.cpp:
1715         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
1716         * accessibility/mac/AXObjectCacheMac.mm:
1717         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
1718         implementation of the platform specific function for the Mac.
1719         * accessibility/win/AXObjectCacheWin.cpp:
1720         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
1721         implementation of the platform specific function for Windows.
1722
1723         * loader/FrameLoader.cpp:
1724         (WebCore::FrameLoader::prepareForLoadStart): Notify accessibility
1725         by calling the new frameLoadingEventNotification() function.
1726         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto.
1727
1728 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
1729
1730         Update String::containsOnlyASCII() to handle 8 bits strings
1731         https://bugs.webkit.org/show_bug.cgi?id=73799
1732
1733         Reviewed by Darin Adler.
1734
1735         When possible, change the call sites from charactersAreAllASCII()
1736         to the optimized version String::containsOnlyASCII().
1737
1738         * platform/KURL.cpp:
1739         (WebCore::KURL::init):
1740         * platform/cf/BinaryPropertyList.cpp:
1741         (WebCore::BinaryPropertyListPlan::writeStringObject):
1742         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1743         (WebCore::FontCodepage::if):
1744
1745 2011-12-01  Vangelis Kokkevis  <vangelis@chromium.org>
1746
1747         [chromium] Use ANGLE's texture_usage and texture_storage extensions when allocating compositor textures
1748         https://bugs.webkit.org/show_bug.cgi?id=73621
1749
1750         When the extensions are available, compositor textures are allocated via
1751         glTexStorage2DEXT instead of glTexImage2D to eliminate creation of unnecessary
1752         mip levels on the service side. In addition, the GL_FRAMEBUFFER_ATTACHMENT_ANGLE
1753         is specified for all textures used by RenderSurfaces to eliminate the need for
1754         a system memory bitmap allocation.
1755
1756         Reviewed by Kenneth Russell.
1757
1758         * platform/graphics/chromium/Extensions3DChromium.h:
1759         * platform/graphics/chromium/LayerRendererChromium.cpp:
1760         (WebCore::LayerRendererChromium::initialize):
1761         (WebCore::LayerRendererChromium::initializeSharedObjects):
1762         * platform/graphics/chromium/TrackingTextureAllocator.cpp:
1763         (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
1764         (WebCore::textureToStorageFormat):
1765         (WebCore::isTextureFormatSupportedForStorage):
1766         (WebCore::TrackingTextureAllocator::createTexture):
1767         * platform/graphics/chromium/TrackingTextureAllocator.h:
1768         (WebCore::TrackingTextureAllocator::setTextureUsageHint):
1769         (WebCore::TrackingTextureAllocator::setUseTextureStorageExt):
1770         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1771         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
1772
1773 2011-12-05  Chris Fleizach  <cfleizach@apple.com>
1774
1775         AX: aria-hidden doesn't work on iframe elements
1776         https://bugs.webkit.org/show_bug.cgi?id=73857
1777
1778         Reviewed by Darin Adler.
1779
1780         Test: platform/mac/accessibility/iframe-aria-hidden.html
1781
1782         * accessibility/AccessibilityRenderObject.cpp:
1783         (WebCore::AccessibilityRenderObject::addAttachmentChildren):
1784         (WebCore::AccessibilityRenderObject::addChildren):
1785         * accessibility/AccessibilityRenderObject.h:
1786         * accessibility/AccessibilityScrollView.cpp:
1787         (WebCore::AccessibilityScrollView::accessibilityIsIgnored):
1788         (WebCore::AccessibilityScrollView::addChildren):
1789         * accessibility/AccessibilityScrollView.h:
1790
1791 2011-12-05  Chris Fleizach  <cfleizach@apple.com>
1792
1793         AX: web search mechanism does not work with frames
1794         https://bugs.webkit.org/show_bug.cgi?id=73836
1795
1796         Reviewed by Beth Dakin.
1797
1798         This allows searching for, and within, frames for elements using the accessibility
1799         search mechanism.
1800
1801         Test: platform/mac/accessibility/search-with-frames.html
1802
1803         * accessibility/AccessibilityObject.cpp:
1804         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
1805         (WebCore::appendAccessibilityObject):
1806         (WebCore::appendChildrenToArray):
1807
1808 2011-12-05  Anders Carlsson  <andersca@apple.com>
1809
1810         Make LayerFlushSchedulerClient::flushLayers indicate whether the flush was successful or not
1811         https://bugs.webkit.org/show_bug.cgi?id=73862
1812
1813         Reviewed by Andy Estes.
1814
1815         Change LayerFlushSchedulerClient::flushLayers to return a boolean. If it returns true, the flush was
1816         successful and the run loop observer will be invalidated.
1817
1818         * platform/graphics/ca/LayerFlushScheduler.h:
1819         * platform/graphics/ca/LayerFlushSchedulerClient.h:
1820         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
1821         (WebCore::LayerFlushScheduler::runLoopObserverCallback):
1822
1823 2011-12-05  Dana Jansens  <danakj@chromium.org>
1824
1825         [chromium] Set opaque flag for ImageLayerChromium
1826         https://bugs.webkit.org/show_bug.cgi?id=72964
1827
1828         Reviewed by James Robinson.
1829
1830         New unit test in tests/ImageLayerChromiumTest.cpp.
1831
1832         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1833         (WebCore::GraphicsLayerChromium::setContentsToImage):
1834         * platform/graphics/chromium/GraphicsLayerChromium.h:
1835         (WebCore::GraphicsLayerChromium::contentsLayer):
1836         * platform/graphics/chromium/ImageLayerChromium.cpp:
1837         (WebCore::ImageLayerChromium::setContents):
1838
1839 2011-12-05  Julien Chaffraix  <jchaffraix@webkit.org>
1840
1841         TD width in precentage doesn't work.
1842         https://bugs.webkit.org/show_bug.cgi?id=34758
1843
1844         Reviewed by David Hyatt.
1845
1846         Test: fast/table/colspan-with-all-percent-cells.html
1847
1848         * rendering/AutoTableLayout.cpp:
1849         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
1850         In the case where all our columns have percent lengths, split the colspan
1851         logical width using the percentages from the lengths. This should be properly
1852         handled by the massive 'else' case but it is not and I did not feel like refactor
1853         that due to massive compatibility issues that would arise.
1854
1855 2011-12-05  Chris Fleizach  <cfleizach@apple.com>
1856
1857         platform/mac/accessibility/search-when-element-starts-in-table.html is failing
1858         https://bugs.webkit.org/show_bug.cgi?id=73751
1859
1860         When encountering a table, the rows() and not the cells() should be queried (otherwise
1861         we can end up finding the element we started with).
1862
1863         When searching in reverse, we also need to account for searching elements within the
1864         parent hierarchy. because technically it is "behind" the start element.
1865
1866         Reviewed by Darin Adler.
1867
1868         * accessibility/AccessibilityObject.cpp:
1869         (WebCore::appendChildrenToArray):
1870         (WebCore::AccessibilityObject::objectMatchesSearchCriteriaWithResultLimit):
1871         (WebCore::AccessibilityObject::findMatchingObjects):
1872         * accessibility/AccessibilityObject.h:
1873
1874 2011-12-02  Jer Noble  <jer.noble@apple.com>
1875
1876         <video> elements should disable the system and display sleep when playing on OS X.
1877         https://bugs.webkit.org/show_bug.cgi?id=73730
1878         <rdar://problem/9502155>
1879
1880         Reviewed by Alexey Proskuryakov.
1881
1882         No new tests; platform specific system behavior only.
1883
1884         Create a new DisplaySleepDisabler object when the playback rate becomes non-zero, and destroy
1885         that object when the playback rate drops back to zero.
1886
1887         * html/HTMLMediaElement.cpp:
1888         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
1889         * html/HTMLMediaElement.h:
1890
1891 2011-12-05  Peter Beverloo  <peter@chromium.org>
1892
1893         [Chromium] Add Android keycodes and build Linux clipboard/filesystem files.
1894         https://bugs.webkit.org/show_bug.cgi?id=73672
1895
1896         Add the KeyCodeConversionAndroid.cpp file, which is a partial re-land
1897         of an older file from the Android port:
1898         http://trac.webkit.org/browser/trunk/WebCore/platform/android/KeyEventAndroid.cpp?rev=56704
1899
1900         Add IconChromiumAndroid.cpp which nullifies the rendering of icons in
1901         file upload boxes, which is not something we want to support now. Also
1902         include ClipboardChromiumLinux.cpp and FileSystemChromiumLinux.cpp
1903         as their functionality can be re-used for Android.
1904
1905         Reviewed by Adam Barth.
1906
1907         * WebCore.gyp/WebCore.gyp:
1908         * WebCore.gypi:
1909         * platform/chromium/KeyCodeConversionAndroid.cpp: Added.
1910         (WebCore::windowsKeyCodeForKeyEvent):
1911         * platform/graphics/chromium/IconChromiumAndroid.cpp: Added.
1912         (WebCore::Icon::Icon):
1913         (WebCore::Icon::~Icon):
1914         (WebCore::Icon::paint):
1915
1916 2011-12-05  Steve Falkenburg  <sfalken@apple.com>
1917
1918         Reviewed by Sam Weinig.
1919
1920         On Windows, filenames not properly preserved when copied into a file list exposed by Event.dataTransfer
1921         https://bugs.webkit.org/show_bug.cgi?id=73841
1922         <rdar://problem/10521879>
1923
1924         No test since repro case involves dropping a file onto the WebView.
1925         
1926         Calling characters() explicitly causes a non-terminated string buffer to get passed back
1927         to the String() constructor that expects a terminated buffer. The characters() call isn't
1928         necessary at all, since we have a String and the method we're calling expects a String.
1929
1930         * platform/win/ClipboardWin.cpp:
1931         (WebCore::ClipboardWin::files): Remove characters() since it doesn't null terminate.
1932
1933 2011-12-05  Timothy Hatcher  <timothy@apple.com>
1934
1935         Keep both InspectorBackend.js and InspectorBackendStub.js in Release builds after
1936         they have been combined into inspector.js.
1937
1938         The InspectorBackend.js file split out of the generated InspectorBackendStub.js
1939         in r101670, and both files are needed to be useful.
1940
1941         https://webkit.org/b/73839
1942
1943         Reviewed by Joseph Pecoraro and Brian Weinstein.
1944
1945         * WebCore.xcodeproj/project.pbxproj: Pass -not -name "InspectorBackend*.js" to find
1946         instead of -not -name InspectorBackendStub.js.
1947
1948 2011-12-05  Mikhail Naganov  <mnaganov@chromium.org>
1949
1950         Web Inspector: [Chromium] Heap profiler should designate weak references.
1951         https://bugs.webkit.org/show_bug.cgi?id=69948
1952
1953         Weak references are now ignored when tracing paths to GC roots.
1954
1955         Reviewed by Yury Semikhatsky.
1956
1957         * inspector/front-end/HeapSnapshot.js:
1958         (WebInspector.HeapSnapshotEdge.prototype.get isWeak):
1959         (WebInspector.HeapSnapshotEdge.prototype.toString):
1960         (WebInspector.HeapSnapshotEdge.prototype.get _hasStringName):
1961         (WebInspector.HeapSnapshotRetainerEdge.prototype.get isWeak):
1962         (WebInspector.HeapSnapshot.prototype._init):
1963         (WebInspector.HeapSnapshotPathFinder.prototype._fillRootChildren):
1964         (WebInspector.HeapSnapshotPathFinder.prototype._skipEdge):
1965
1966 2011-12-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1967
1968         Unreviewed, rolling out r102004.
1969         http://trac.webkit.org/changeset/102004
1970         https://bugs.webkit.org/show_bug.cgi?id=73835
1971
1972         Breaks qt minimal release compilation (Requested by vsevik on
1973         #webkit).
1974
1975         * inspector/CodeGeneratorInspector.py:
1976         (Capitalizer.upper_camel_case_to_lower):
1977         (RawTypes.get):
1978         (RawTypes.String.get_c_param_type):
1979         (RawTypes.Object.get_c_param_type):
1980         (RawTypes.Object):
1981         (ParamType):
1982         (TypeData.__init__):
1983         (TypeData.get_raw_type):
1984         (TypeMap.__init__):
1985         (InspectorFrontend_h):
1986         (InspectorArray):
1987         (InspectorObject):
1988         (String):
1989         (InspectorBackendDispatcher_h):
1990         (Generator.process_command):
1991         * inspector/InspectorValues.h:
1992
1993 2011-12-05  Peter Rybin  <peter.rybin@gmail.com>
1994
1995         Web Inspector: [protocol] generate C++ classes for protocol JSON named types
1996         https://bugs.webkit.org/show_bug.cgi?id=72835
1997
1998         Reviewed by Yury Semikhatsky.
1999
2000         Extends python generator functionality.
2001         Makes constructor in InspectorObject public.
2002
2003         * inspector/CodeGeneratorInspector.py:
2004         * inspector/InspectorValues.h:
2005
2006 2011-12-05  Pavel Podivilov  <podivilov@chromium.org>
2007
2008         Web Inspector: fix fronted compilation.
2009         https://bugs.webkit.org/show_bug.cgi?id=73831
2010
2011         Reviewed by Yury Semikhatsky.
2012
2013         * inspector/front-end/CompilerSourceMapping.js:
2014         (WebInspector.ClosureCompilerSourceMappingPayload):
2015
2016 2011-12-05  Eric Carlson  <eric.carlson@apple.com>
2017
2018         Out-of-band text tracks may only load from same origin as the media element's Document's origin
2019         https://bugs.webkit.org/show_bug.cgi?id=73184
2020
2021         Reviewed by Sam Weinig.
2022
2023         Test: http/tests/security/text-track-crossorigin.html
2024
2025         * html/HTMLTrackElement.cpp:
2026         (WebCore::urlForLogging): Debug-only function for logging urls.
2027         (WebCore::HTMLTrackElement::scheduleLoad): Call canLoadUrl() before passing control off to
2028             the Track.
2029         (WebCore::HTMLTrackElement::canLoadUrl): Don't ask HTMLMediaElement to validate the url, the
2030             requirements for <track> are different from <video>.
2031         (WebCore::HTMLTrackElement::didCompleteLoad): Change bool param to enum.
2032         (WebCore::HTMLTrackElement::mediaElementCrossOriginAttribute): New, return parent 'crossorigin' 
2033             attribute value.
2034         * html/HTMLTrackElement.h:
2035
2036         * html/LoadableTextTrack.cpp:
2037         (WebCore::LoadableTextTrack::scheduleLoad): Add comments from the spec.
2038         (WebCore::LoadableTextTrack::loadTimerFired): Always cancel pending loads. Let the caller know 
2039             if the loader refuses the url immediately.
2040         (WebCore::LoadableTextTrack::cueLoadingStarted): The <track> deals with readyState.
2041         (WebCore::LoadableTextTrack::cueLoadingCompleted): HTMLTrackElement::didCompleteLoad takes
2042             an enum, not a bool.
2043
2044         * loader/TextTrackLoader.cpp:
2045         (WebCore::TextTrackLoader::corsPolicyPreventedLoad): New, log the error and set m_state.
2046         (WebCore::TextTrackLoader::notifyFinished): Check for CORS failure.
2047         (WebCore::TextTrackLoader::load): Take media element cross-origin attribute as a param so we
2048             can make the correct checks.
2049         * loader/TextTrackLoader.h:
2050
2051 2011-12-05  Roland Steiner  <rolandsteiner@chromium.org>
2052
2053         "Raw" pseudo selectors don't match if immediately after a child or descendant combinator
2054         https://bugs.webkit.org/show_bug.cgi?id=72933
2055
2056         Remove shortcut that prevents universal selectors from being created before shadow pseudo-elements.
2057
2058         Reviewed by Antti Koivisto.
2059
2060         * css/CSSParser.cpp:
2061         (WebCore::CSSParser::updateSpecifiersWithElementName):
2062
2063 2011-12-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2064
2065         Unreviewed, rolling out r101983.
2066         http://trac.webkit.org/changeset/101983
2067         https://bugs.webkit.org/show_bug.cgi?id=73827
2068
2069         It broke all tests on GTK and on Qt in debug mode (Requested
2070         by Ossy on #webkit).
2071
2072         * dom/Document.h:
2073         (WebCore::Node::Node):
2074         * dom/Node.cpp:
2075         (WebCore::Node::~Node):
2076         * dom/Node.h:
2077         (WebCore::Node::inDocument):
2078
2079 2011-12-05  Roland Steiner  <rolandsteiner@chromium.org>
2080
2081         <style scoped>: Add 'scoped' attribute
2082         https://bugs.webkit.org/show_bug.cgi?id=67718
2083
2084         Add 'scoped' attribute to IDL and attribute list,
2085         implement and test setting/resetting of the attribute.
2086
2087         Reviewed by Antti Koivisto.
2088
2089         Test: fast/css/style-scoped/basic-attribute.html
2090
2091         * html/HTMLAttributeNames.in:
2092         * html/HTMLStyleElement.cpp:
2093         (WebCore::HTMLStyleElement::scoped):
2094         (WebCore::HTMLStyleElement::setScoped):
2095         (WebCore::HTMLStyleElement::scopingElement):
2096         * html/HTMLStyleElement.h:
2097         * html/HTMLStyleElement.idl:
2098
2099 2011-12-05  Hajime Morrita  <morrita@chromium.org>
2100
2101         [Refactoring] Accessing Node::m_document should be minimized.
2102         https://bugs.webkit.org/show_bug.cgi?id=73800
2103
2104         Reviewed by Kent Tamura.
2105
2106         No new tests. No behavioral change.
2107
2108         Replaced m_document reference with the document() accessor
2109         or temporaril variables. This is a preparation for using
2110         m_document space to point a shadow root pointer.
2111
2112         * dom/Document.h:
2113         (WebCore::Node::Node):
2114         * dom/Node.cpp:
2115         (WebCore::Node::~Node):
2116         * dom/Node.h:
2117         (WebCore::Node::inDocument):
2118
2119 2011-12-05  Shinya Kawanaka  <shinyak@google.com>
2120
2121         Asynchronous SpellChecker should consider multiple requests.
2122         https://bugs.webkit.org/show_bug.cgi?id=72939
2123
2124         Reviewed by Hajime Morita.
2125
2126         Now SpellChecker saves a request when it is processing the previous spellcheck request.
2127         If there is a request having the same root editable element, the older request is replaced by newer request
2128
2129         Test: editing/spelling/spellcheck-queue.html
2130
2131         * editing/SpellChecker.cpp:
2132         (WebCore::SpellChecker::SpellCheckRequest::SpellCheckRequest):
2133           A structure to have spell check request.
2134         (WebCore::SpellChecker::SpellCheckRequest::sequence):
2135         (WebCore::SpellChecker::SpellCheckRequest::range):
2136         (WebCore::SpellChecker::SpellCheckRequest::text):
2137         (WebCore::SpellChecker::SpellCheckRequest::mask):
2138         (WebCore::SpellChecker::SpellCheckRequest::rootEditableElement):
2139         (WebCore::SpellChecker::SpellChecker):
2140         (WebCore::SpellChecker::createRequest):
2141         (WebCore::SpellChecker::timerFiredToProcessQueuedRequest):
2142           When timer is fired, queued request is processed if any.
2143         (WebCore::SpellChecker::canCheckAsynchronously):
2144         (WebCore::SpellChecker::requestCheckingFor):
2145           When the spellchecker is processing another request, the latest request is queued.
2146         (WebCore::SpellChecker::invokeRequest):
2147         (WebCore::SpellChecker::enqueueRequest):
2148           Enqueues a request. If there is an older request whose root editable element is the same as the request,
2149           it will be replaced.
2150         (WebCore::SpellChecker::didCheck):
2151         * editing/SpellChecker.h:
2152
2153 2011-12-05  Eric Carlson  <eric.carlson@apple.com>
2154
2155         WebCore part of: Add WebKit preferences for text track settings
2156         https://bugs.webkit.org/show_bug.cgi?id=73721
2157
2158         Reviewed by John Sullivan.
2159
2160         No new tests yet, still nothing to test.
2161
2162         * page/Settings.cpp:
2163         (WebCore::Settings::setShouldDisplaySubtitles): Move the setters to the .cpp file so they
2164             aren't inlined.
2165         (WebCore::Settings::setShouldDisplayCaptions): Ditto.
2166         (WebCore::Settings::setShouldDisplayTextDescriptions): Ditto.
2167         * page/Settings.h:
2168
2169 2011-12-05  Noel Gordon  <noel.gordon@gmail.com>
2170
2171         ImageDecoder setSize() should check for backing store allocation failure
2172         https://bugs.webkit.org/show_bug.cgi?id=72864
2173
2174         Reviewed by Adam Barth.
2175
2176         The backing store of a decoded image is a Vector<PixelData> on the affected
2177         ports. And Vector<> provides a resize capacity member that returns false if
2178         memory allocation fails.
2179
2180         setSize() should be called once only during an image decode - add an ASSERT
2181         for that. Resize the backing store capacity to the requested image size and
2182         return false if memory allocation fails.
2183
2184         ImageDecoder::isOverSize(width, height) is called to check that the decoded
2185         width and height won't overflow 'width x height x sizeof(PixelData)' before
2186         calls to setSize(). Refer to http://webkit.org/b/48634
2187
2188         No new tests. Covered by fast/images/size-failure.html
2189
2190         * platform/image-decoders/ImageDecoder.cpp:
2191         (WebCore::ImageFrame::setSize):
2192
2193 2011-12-04  Andreas Kling  <kling@webkit.org>
2194
2195         CSSStyleSheet can't be reparented, enforce this at compile time.
2196         <http://webkit.org/b/73793>
2197
2198         Reviewed by Benjamin Poulain.
2199
2200         * css/StyleSheet.h:
2201         (WebCore::StyleSheet::clearOwnerRule):
2202
2203             Changed setParentRule(CSSImportRule*) to clearOwnerRule() to document and
2204             enforce the fact that style sheets should never be reparented after creation.
2205
2206         (WebCore::StyleSheet::ownerRule):
2207
2208             Renamed parentRule() to ownerRule() to match the CSSOM name.
2209
2210         (WebCore::StyleSheet::ownerNode):
2211         (WebCore::StyleSheet::clearOwnerNode):
2212
2213             Also renamed StyleSheet::m_parentNode to m_ownerNode to match its accessors.
2214
2215         * css/CSSStyleSheet.h:
2216
2217             Removed ownerRule() as we now inherit it from StyleSheet.
2218
2219         * bindings/js/JSDOMBinding.h:
2220         (WebCore::root):
2221         * css/CSSImportRule.cpp:
2222         (WebCore::CSSImportRule::~CSSImportRule):
2223         (WebCore::CSSImportRule::setCSSStyleSheet):
2224         * css/StyleSheet.cpp:
2225         (WebCore::StyleSheet::StyleSheet):
2226         (WebCore::StyleSheet::parentStyleSheet):
2227         (WebCore::StyleSheet::baseURL):
2228         * inspector/InspectorStyleSheet.cpp:
2229         (WebCore::fillMediaListChain):
2230
2231             Update call sites to use the new names.
2232
2233 2011-12-04  Andreas Kling  <kling@webkit.org>
2234
2235         border-width: initial and border-color: initial cannot be removed via CSSOM.
2236         <http://webkit.org/b/68551>
2237
2238         Reviewed by Darin Adler.
2239
2240         Test: fast/css/cssom-remove-shorthand-property.html
2241
2242         When asked to remove a shorthand property, we should toss out both the
2243         sub-properties of that shorthand as well as the shorthand itself, should the
2244         declaration contain it. The latter part was missing in our implementation.
2245
2246         * css/CSSMutableStyleDeclaration.h:
2247         * css/CSSMutableStyleDeclaration.cpp:
2248         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2249         (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
2250
2251             Changed to return true only if something was actually removed.
2252
2253 2011-12-04  Ryosuke Niwa  <rniwa@webkit.org>
2254
2255         HIERARCHY_REQUEST_ERR check in checkAcceptChild should be optimized for newChild without children
2256         https://bugs.webkit.org/show_bug.cgi?id=73737
2257
2258         Reviewed by Darin Adler.
2259
2260         It turned out that 50-70% of nodes inserted by DOM APIs such as insertBefore and appendChild
2261         don't have any descendent nodes. Optimize isDescendantOf which is used by checkAcceptChild for this case.
2262         On a test case attached on the bug, we see a 40% improvement.
2263
2264         Also optimize for cases where either new child or new parent but not both are in document as suggested
2265         by Erik Arvidsson. This appears to happen about 40-70% of the time, and the symmetric difference between
2266         the two cases is about 50% so it's worth implementing both optimizations.
2267
2268         Unfortunately no tests because we still have a O(n) algorithm somewhere.
2269
2270         * dom/Node.cpp:
2271         (WebCore::Node::isDescendantOf):
2272         (WebCore::Node::contains):
2273
2274 2011-12-04  Andreas Kling  <kling@webkit.org>
2275
2276         CSSValuePool: Inline trivial getters.
2277         <http://webkit.org/b/73763>
2278
2279         Reviewed by Anders Carlsson.
2280
2281         * css/CSSValuePool.cpp:
2282         * css/CSSValuePool.h:
2283         (WebCore::CSSValuePool::createInheritedValue): Inlined.
2284         (WebCore::CSSValuePool::createImplicitInitialValue): Ditto.
2285         (WebCore::CSSValuePool::createExplicitInitialValue): Ditto.
2286
2287 2011-12-03  Noel Gordon  <noel.gordon@gmail.com>
2288
2289         Fix WebPImageDecoder decoder leak.
2290         https://bugs.webkit.org/show_bug.cgi?id=73756
2291
2292         Reviewed by Andreas Kling.
2293
2294         Delete the m_decoder member in the destructor if needed with WebPIDelete.
2295
2296         No new tests, it's valgrind territory.
2297
2298         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
2299         (WebCore::WEBPImageDecoder::~WEBPImageDecoder):
2300
2301 2011-12-03  Andreas Kling  <kling@webkit.org>
2302
2303         CSSStyleSheet: Parent rule can only ever be @import, enforce this at compile time.
2304         <http://webkit.org/b/73725>
2305
2306         Reviewed by Darin Adler.
2307
2308         Made StyleSheet::m_parentRule a CSSImportRule* rather than a CSSRule*
2309         and updated getters, setters and constructors accordingly.
2310
2311         There is no change in behavior, this simply enforces the status quo.
2312
2313         * WebCore.xcodeproj/project.pbxproj:
2314         * bindings/js/JSDOMBinding.h:
2315         * bindings/scripts/CodeGeneratorV8.pm:
2316         (AddIncludesForType):
2317         * css/CSSStyleSheet.cpp:
2318         (WebCore::CSSStyleSheet::CSSStyleSheet):
2319         * css/CSSStyleSheet.h:
2320         (WebCore::CSSStyleSheet::create):
2321         (WebCore::CSSStyleSheet::ownerRule):
2322         * css/StyleSheet.cpp:
2323         (WebCore::StyleSheet::StyleSheet):
2324         * css/StyleSheet.h:
2325         (WebCore::StyleSheet::parentRule):
2326         (WebCore::StyleSheet::setParentRule):
2327
2328 2011-12-03  Andreas Kling  <kling@webkit.org>
2329
2330         Unreviewed, revert accidental change from r101932.
2331
2332         * bindings/scripts/CodeGeneratorV8.pm:
2333         (AddIncludesForType):
2334
2335 2011-12-03  Mary Wu  <mary.wu@torchmobile.com.cn>
2336
2337         Upstream 4 files into WebCore/platform/blackberry
2338         https://bugs.webkit.org/show_bug.cgi?id=73614
2339
2340         Reviewed by Eric Seidel.
2341
2342         * platform/blackberry/CursorBlackBerry.cpp: Added.
2343         (WebCore::AllCursors::AllCursors):
2344         (WebCore::getCursor):
2345         (WebCore::Cursor::Cursor):
2346         (WebCore::Cursor::~Cursor):
2347         (WebCore::Cursor::operator=):
2348         (WebCore::aliasCursor):
2349         (WebCore::cellCursor):
2350         (WebCore::columnResizeCursor):
2351         (WebCore::contextMenuCursor):
2352         (WebCore::copyCursor):
2353         (WebCore::crossCursor):
2354         (WebCore::eastResizeCursor):
2355         (WebCore::eastWestResizeCursor):
2356         (WebCore::grabbingCursor):
2357         (WebCore::grabCursor):
2358         (WebCore::handCursor):
2359         (WebCore::helpCursor):
2360         (WebCore::iBeamCursor):
2361         (WebCore::moveCursor):
2362         (WebCore::noDropCursor):
2363         (WebCore::noneCursor):
2364         (WebCore::northEastResizeCursor):
2365         (WebCore::northEastSouthWestResizeCursor):
2366         (WebCore::northResizeCursor):
2367         (WebCore::northSouthResizeCursor):
2368         (WebCore::northWestResizeCursor):
2369         (WebCore::northWestSouthEastResizeCursor):
2370         (WebCore::notAllowedCursor):
2371         (WebCore::pointerCursor):
2372         (WebCore::progressCursor):
2373         (WebCore::rowResizeCursor):
2374         (WebCore::southEastResizeCursor):
2375         (WebCore::southResizeCursor):
2376         (WebCore::southWestResizeCursor):
2377         (WebCore::verticalTextCursor):
2378         (WebCore::waitCursor):
2379         (WebCore::westResizeCursor):
2380         (WebCore::zoomInCursor):
2381         (WebCore::zoomOutCursor):
2382         (WebCore::middlePanningCursor):
2383         (WebCore::eastPanningCursor):
2384         (WebCore::northPanningCursor):
2385         (WebCore::northEastPanningCursor):
2386         (WebCore::northWestPanningCursor):
2387         (WebCore::southPanningCursor):
2388         (WebCore::southEastPanningCursor):
2389         (WebCore::southWestPanningCursor):
2390         (WebCore::westPanningCursor):
2391         * platform/blackberry/DragDataBlackBerry.cpp: Added.
2392         (WebCore::DragData::canSmartReplace):
2393         (WebCore::DragData::containsColor):
2394         (WebCore::DragData::containsCompatibleContent):
2395         (WebCore::DragData::containsFiles):
2396         (WebCore::DragData::containsPlainText):
2397         (WebCore::DragData::containsURL):
2398         (WebCore::DragData::asFilenames):
2399         (WebCore::DragData::asColor):
2400         (WebCore::DragData::asPlainText):
2401         (WebCore::DragData::asURL):
2402         (WebCore::DragData::asFragment):
2403         * platform/blackberry/DragImageBlackBerry.cpp: Added.
2404         (WebCore::createDragImageFromImage):
2405         (WebCore::createDragImageIconForCachedImage):
2406         (WebCore::deleteDragImage):
2407         (WebCore::dissolveDragImageToFraction):
2408         (WebCore::scaleDragImage):
2409         (WebCore::dragImageSize):
2410         * platform/blackberry/EventLoopBlackBerry.cpp: Added.
2411         (WebCore::EventLoop::platformInit):
2412         (WebCore::EventLoop::cycle):
2413
2414 2011-12-03  Andreas Kling  <kling@webkit.org>
2415
2416         Cache CSSInitialValue instances per-document.
2417         <http://webkit.org/b/73745>
2418
2419         Reviewed by Oliver Hunt.
2420
2421         Test: http/tests/security/cross-origin-css-primitive.html
2422
2423         Have CSSValuePool manage the caching of CSSInitialValue objects.
2424
2425         * css/CSSInitialValue.h:
2426         (WebCore::CSSInitialValue::createExplicit):
2427         (WebCore::CSSInitialValue::createImplicit):
2428         (WebCore::CSSInitialValue::CSSInitialValue):
2429         * css/CSSParser.cpp:
2430         (WebCore::CSSParser::parseValue):
2431         (WebCore::CSSParser::parseFillShorthand):
2432         (WebCore::CSSParser::parseAnimationShorthand):
2433         (WebCore::CSSParser::parseTransitionShorthand):
2434         (WebCore::CSSParser::parseShorthand):
2435         * css/CSSValuePool.cpp:
2436         (WebCore::CSSValuePool::CSSValuePool):
2437         (WebCore::CSSValuePool::createImplicitInitialValue):
2438         (WebCore::CSSValuePool::createExplicitInitialValue):
2439         * css/CSSValuePool.h:
2440
2441 2011-12-03  Andreas Kling  <kling@webkit.org>
2442
2443         Keep CSSInheritedValue in the CSS value pool.
2444         <http://webkit.org/b/73747>
2445
2446         Reviewed by Antti Koivisto.
2447
2448         We only need one CSSInheritedValue instance per document, so cache it
2449         in CSSValuePool and have the parser create it through there.
2450
2451         * css/CSSParser.cpp:
2452         (WebCore::CSSParser::parseValue):
2453         * css/CSSValuePool.cpp:
2454         (WebCore::CSSValuePool::CSSValuePool):
2455         (WebCore::CSSValuePool::createInheritedValue):
2456         * css/CSSValuePool.h:
2457
2458 2011-12-03  Andreas Kling  <kling@webkit.org>
2459
2460         Rename CSSPrimitiveValueCache to CSSValuePool.
2461         <http://webkit.org/b/73742>
2462
2463         Reviewed by Antti Koivisto.
2464
2465         CSSPrimitiveValueCache -> CSSValuePool
2466         Document::primitiveValueCache() -> Document::cssValuePool()
2467
2468         This is in preparation for sharing more than just primitive values.
2469
2470         * CMakeLists.txt:
2471         * GNUmakefile.list.am:
2472         * Target.pri:
2473         * WebCore.gypi:
2474         * WebCore.vcproj/WebCore.vcproj:
2475         * WebCore.xcodeproj/project.pbxproj:
2476         * bindings/scripts/CodeGeneratorV8.pm:
2477         (AddIncludesForType):
2478         * css/CSSComputedStyleDeclaration.cpp:
2479         (WebCore::valueForNinePieceImageSlice):
2480         (WebCore::valueForNinePieceImageQuad):
2481         (WebCore::valueForNinePieceImageRepeat):
2482         (WebCore::valueForNinePieceImage):
2483         (WebCore::zoomAdjustedPixelValue):
2484         (WebCore::zoomAdjustedNumberValue):
2485         (WebCore::zoomAdjustedPixelValueForLength):
2486         (WebCore::valueForReflection):
2487         (WebCore::getPositionOffsetValue):
2488         (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
2489         (WebCore::getBorderRadiusCornerValue):
2490         (WebCore::computedTransform):
2491         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
2492         (WebCore::valueForGridTrackList):
2493         (WebCore::getDelayValue):
2494         (WebCore::getDurationValue):
2495         (WebCore::createLineBoxContainValue):
2496         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
2497         (WebCore::CSSComputedStyleDeclaration::valueForShadow):
2498         (WebCore::valueForFamily):
2499         (WebCore::renderTextDecorationFlagsToCSSValue):
2500         (WebCore::fillRepeatToCSSValue):
2501         (WebCore::fillSizeToCSSValue):
2502         (WebCore::contentToCSSValue):
2503         (WebCore::counterToCSSValue):
2504         (WebCore::fontFamilyFromStyle):
2505         (WebCore::lineHeightFromStyle):
2506         (WebCore::fontSizeFromStyle):
2507         (WebCore::fontStyleFromStyle):
2508         (WebCore::fontVariantFromStyle):
2509         (WebCore::fontWeightFromStyle):
2510         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2511         * css/CSSParser.cpp:
2512         (WebCore::parseColorValue):
2513         (WebCore::parseSimpleLengthValue):
2514         (WebCore::CSSParser::setStyleSheet):
2515         (WebCore::CSSParser::createPrimitiveNumericValue):
2516         (WebCore::CSSParser::createPrimitiveStringValue):
2517         (WebCore::CSSParser::parseValidPrimitive):
2518         (WebCore::CSSParser::parseValue):
2519         (WebCore::parseBackgroundClip):
2520         (WebCore::CSSParser::parseFillShorthand):
2521         (WebCore::CSSParser::parsePage):
2522         (WebCore::CSSParser::parseSizeParameter):
2523         (WebCore::CSSParser::parseContent):
2524         (WebCore::CSSParser::parseAttr):
2525         (WebCore::CSSParser::parseBackgroundColor):
2526         (WebCore::CSSParser::parseFillPositionX):
2527         (WebCore::CSSParser::parseFillPositionY):
2528         (WebCore::CSSParser::parseFillPositionComponent):
2529         (WebCore::CSSParser::parseFillPosition):
2530         (WebCore::CSSParser::parseFillRepeat):
2531         (WebCore::CSSParser::parseFillSize):
2532         (WebCore::CSSParser::parseFillProperty):
2533         (WebCore::CSSParser::parseAnimationDirection):
2534         (WebCore::CSSParser::parseAnimationFillMode):
2535         (WebCore::CSSParser::parseAnimationIterationCount):
2536         (WebCore::CSSParser::parseAnimationName):
2537         (WebCore::CSSParser::parseAnimationPlayState):
2538         (WebCore::CSSParser::parseAnimationProperty):
2539         (WebCore::CSSParser::parseAnimationTimingFunction):
2540         (WebCore::CSSParser::parseGridTrackList):
2541         (WebCore::CSSParser::parseDashboardRegions):
2542         (WebCore::CSSParser::parseCounterContent):
2543         (WebCore::CSSParser::parseShape):
2544         (WebCore::CSSParser::parseWrapShape):
2545         (WebCore::CSSParser::parseFont):
2546         (WebCore::CSSParser::parseFontFamily):
2547         (WebCore::CSSParser::parseFontStyle):
2548         (WebCore::CSSParser::parseFontVariant):
2549         (WebCore::CSSParser::parseFontWeight):
2550         (WebCore::CSSParser::parseColor):
2551         (WebCore::ShadowParseContext::ShadowParseContext):
2552         (WebCore::ShadowParseContext::commitLength):
2553         (WebCore::ShadowParseContext::commitStyle):
2554         (WebCore::CSSParser::parseShadow):
2555         (WebCore::CSSParser::parseReflect):
2556         (WebCore::CSSParser::parseFlex):
2557         (WebCore::BorderImageParseContext::BorderImageParseContext):
2558         (WebCore::CSSParser::parseBorderImage):
2559         (WebCore::CSSParser::parseBorderImageRepeat):
2560         (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
2561         (WebCore::BorderImageSliceParseContext::commitNumber):
2562         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
2563         (WebCore::CSSParser::parseBorderImageSlice):
2564         (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
2565         (WebCore::BorderImageQuadParseContext::commitNumber):
2566         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
2567         (WebCore::CSSParser::parseBorderImageQuad):
2568         (WebCore::CSSParser::parseBorderRadius):
2569         (WebCore::CSSParser::parseAspectRatio):
2570         (WebCore::CSSParser::parseCounter):
2571         (WebCore::parseDeprecatedGradientPoint):
2572         (WebCore::parseDeprecatedGradientColorStop):
2573         (WebCore::CSSParser::parseDeprecatedGradient):
2574         (WebCore::valueFromSideKeyword):
2575         (WebCore::parseGradientColorOrKeyword):
2576         (WebCore::CSSParser::parseLinearGradient):
2577         (WebCore::CSSParser::parseRadialGradient):
2578         (WebCore::CSSParser::parseCrossfade):
2579         (WebCore::CSSParser::parseCustomFilter):
2580         (WebCore::CSSParser::parseFilter):
2581         (WebCore::CSSParser::parseFlowThread):
2582         (WebCore::CSSParser::parseRegionThread):
2583         (WebCore::CSSParser::parseTextEmphasisStyle):
2584         (WebCore::CSSParser::parseFontFeatureSettings):
2585         * css/CSSParser.h:
2586         (WebCore::CSSParser::cssValuePool):
2587         * css/CSSValuePool.cpp: Renamed from Source/WebCore/css/CSSPrimitiveValueCache.cpp.
2588         (WebCore::CSSValuePool::CSSValuePool):
2589         (WebCore::CSSValuePool::~CSSValuePool):
2590         (WebCore::CSSValuePool::createIdentifierValue):
2591         (WebCore::CSSValuePool::createColorValue):
2592         (WebCore::CSSValuePool::createValue):
2593         * css/CSSValuePool.h: Renamed from Source/WebCore/css/CSSPrimitiveValueCache.h.
2594         (WebCore::CSSValuePool::create):
2595         (WebCore::CSSValuePool::createValue):
2596         * css/mediaControlsGtk.css:
2597         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2598         * dom/Document.cpp:
2599         (WebCore::Document::cssValuePool):
2600         * dom/Document.h:
2601
2602 2011-12-03  Andreas Kling  <kling@webkit.org>
2603
2604         Shrink CSSValueList.
2605         <http://webkit.org/b/73732>
2606
2607         Reviewed by Antti Koivisto.
2608
2609         Packed CSSValueList::m_isSpaceSeparated into the CSSValue bit field
2610         and renamed it to m_isSpaceSeparatedValue, shrinking CSSValueList
2611         by one CPU word.
2612
2613         Also renamed CSSValue::m_isImplicit to m_isImplicitInitialValue
2614         for good measure.
2615
2616         * css/CSSInitialValue.h:
2617         (WebCore::CSSInitialValue::CSSInitialValue):
2618         * css/CSSValue.h:
2619         (WebCore::CSSValue::isImplicitInitialValue):
2620         (WebCore::CSSValue::CSSValue):
2621         * css/CSSValueList.cpp:
2622         (WebCore::CSSValueList::CSSValueList):
2623         (WebCore::CSSValueList::copy):
2624         (WebCore::CSSValueList::customCssText):
2625         * css/CSSValueList.h:
2626         (WebCore::CSSValueList::isSpaceSeparated):
2627
2628 2011-12-02  Philippe Normand  <pnormand@igalia.com>
2629
2630         [GStreamer] Fullscreen controller support for the new WebKit Fullscreen API
2631         https://bugs.webkit.org/show_bug.cgi?id=66968
2632
2633         Reviewed by Martin Robinson.
2634
2635         * GNUmakefile.am: Don't use the Quicktime fullscreen CSS anymore,
2636         it wasn't suited for GTK in the first place anyway.
2637         * platform/gtk/RenderThemeGtk.cpp:
2638         (WebCore::RenderThemeGtk::extraFullScreenStyleSheet): Simply reuse
2639         GTK CSS.
2640
2641 2011-12-03  Alejandro G. Castro  <alex@igalia.com>
2642
2643         [GTK] TextureMapperNode should not use Qt types and functions
2644         https://bugs.webkit.org/show_bug.cgi?id=73713
2645
2646         Replace qreal with double and qMin with std::min.
2647
2648         Reviewed by Noam Rosenthal.
2649
2650         * platform/graphics/texmap/TextureMapperNode.cpp:
2651         (WebCore::solveCubicBezierFunction):
2652         (WebCore::solveStepsFunction):
2653
2654 2011-12-03  Dan Winship  <danw@gnome.org>
2655
2656         [GTK] Remove lots of code that is now unnecessary after
2657         SoupRequestHTTP API changes.
2658         https://bugs.webkit.org/show_bug.cgi?id=71611
2659
2660         Reviewed by Martin Robinson.
2661
2662         No new tests; behavior is unchanged
2663
2664         * platform/network/ResourceHandleInternal.h:
2665         (WebCore::ResourceHandleInternal::ResourceHandleInternal): remove
2666         no-longer-needed fields.
2667         * platform/network/soup/ResourceHandleSoup.cpp:
2668         (WebCore::finishedCallback): remove this, and m_finished, which
2669         we no longer need to explicitly track
2670         (WebCore::statusWillBeHandledBySoup):
2671         (WebCore::soupErrorShouldCauseLoadFailure): No longer needed;
2672         SoupRequestHTTP's logic is now aligned with WebKit's.
2673         (WebCore::gotChunkCallback): remove gotChunkCallback, which
2674         is no longer needed
2675         (WebCore::startHTTPRequest):
2676         (WebCore::sendRequestCallback):
2677         (WebCore::gotHeadersCallback):
2678         (WebCore::contentSniffedCallback): merge the code from
2679         gotHeadersCallback and contentSniffedCallback into
2680         sendRequestCallback
2681         * platform/network/soup/ResourceResponseSoup.cpp:
2682         (WebCore::ResourceResponse::updateFromSoupMessage): move the
2683         sniffing override logic here
2684
2685 2011-12-03  Sheriff Bot  <webkit.review.bot@gmail.com>
2686
2687         Unreviewed, rolling out r101904.
2688         http://trac.webkit.org/changeset/101904
2689         https://bugs.webkit.org/show_bug.cgi?id=73739
2690
2691         It broke zillions of tests on all bot (Requested by
2692         Ossy_weekend on #webkit).
2693
2694         * bindings/js/JSDOMWindowCustom.cpp:
2695         (WebCore::handlePostMessage):
2696
2697 2011-12-02  Kentaro Hara  <haraken@chromium.org>
2698
2699         [Refactoring] Use join(", ", @arguments) to build a method argument string in CodeGenerator*.pm
2700         https://bugs.webkit.org/show_bug.cgi?id=73651
2701
2702         Reviewed by Darin Adler.
2703
2704         The code in CodeGenerator*.pm to build a method argument string is really dirty
2705         and error-prone. It is building an argument string incrementally judging whether
2706         ", " is necessary or not, like this:
2707
2708             my $method = ... ? "func(" : "func(a";
2709             if (...) {
2710                 $method .= $method =~ /\($/ ? "b" : ", b";
2711             }
2712             $method .= ")";
2713
2714         Alternatively, we can refactor the code as follows:
2715
2716             my $funcName = "func";
2717             my @arguments;
2718             push(@arguments, "a") if (...);
2719             push(@arguments, "b") if (...);
2720             my $method = $funcName . "(" . join(", ", @arguments) . ")";
2721
2722         This patch just refactors the code, and generated .h and .cpp files should be
2723         exactly the same as the current .h and .cpp files.
2724
2725         Tests: bindings/scripts/test/*
2726
2727         * bindings/scripts/CodeGenerator.pm:
2728         (GetterExpression):
2729         (SetterExpression):
2730         * bindings/scripts/CodeGeneratorCPP.pm:
2731         (GenerateImplementation):
2732         * bindings/scripts/CodeGeneratorGObject.pm:
2733         ():
2734         * bindings/scripts/CodeGeneratorJS.pm:
2735         (GenerateImplementation):
2736         * bindings/scripts/CodeGeneratorObjC.pm:
2737         (GenerateImplementation):
2738         * bindings/scripts/CodeGeneratorV8.pm:
2739         (GenerateNormalAttrGetter):
2740         (GenerateNormalAttrSetter):
2741
2742 2011-12-02  David Levin  <levin@chromium.org>
2743
2744         Rename WTF class from TemporarilyChange to TemporaryChange.
2745         https://bugs.webkit.org/show_bug.cgi?id=73479
2746
2747         Reviewed by Eric Seidel.
2748
2749         * ForwardingHeaders/wtf/TemporarilyChange.h: Removed.
2750         * ForwardingHeaders/wtf/TemporaryChange.h: Added.
2751         * page/FrameView.cpp:
2752         (WebCore::FrameView::forceLayoutParentViewIfNeeded):
2753         (WebCore::FrameView::layout):
2754         (WebCore::FrameView::setScrollPosition):
2755         (WebCore::FrameView::autoSizeIfEnabled):
2756
2757 2011-12-02  Armand Navabi  <armand.navabi@gmail.com>
2758
2759         ASSERT fails in updateState ACTION_DRAW case
2760         https://bugs.webkit.org/show_bug.cgi?id=73351
2761
2762         Reviewed by James Robinson.
2763
2764         Changed ASSERT in CCSchedulerStateMachine to include ( || !m_visible) as discussed in bug 
2765         report. m_commitState is set to COMMIT_STATE_WAITING_FOR_FIRST_DRAW if m_needsCommit or
2766         !m_visible, so in ACTION_DRAW the assert should have both conditions.
2767
2768         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
2769         (WebCore::CCSchedulerStateMachine::updateState):
2770
2771 2011-12-02  Shawn Singh  <shawnsingh@chromium.org>
2772
2773         [chromium] Scissor rect optimization for chromium compositor
2774         https://bugs.webkit.org/show_bug.cgi?id=67341
2775
2776         Reviewed by James Robinson.
2777
2778         Mostly covered by damage tracker tests. Currently this relies on
2779         manually running layout tests, because this patch requires partial
2780         swaps that are not supported by DumpRenderTree. The feature
2781         automatically disables if partial swap is not supported.
2782
2783         * platform/graphics/chromium/LayerRendererChromium.cpp:
2784         (WebCore::LayerRendererChromium::initialize):
2785         (WebCore::LayerRendererChromium::trackDamageForAllSurfaces):
2786         (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
2787         (WebCore::LayerRendererChromium::drawLayersInternal):
2788         (WebCore::LayerRendererChromium::swapBuffers):
2789         (WebCore::LayerRendererChromium::drawLayer):
2790         * platform/graphics/chromium/LayerRendererChromium.h:
2791         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2792         (WebCore::CCSettings::CCSettings):
2793         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
2794         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2795         (WebCore::CCRenderSurface::draw):
2796         * platform/graphics/chromium/cc/CCRenderSurface.h:
2797
2798 2011-12-02  Dmitry Lomov  <dslomov@google.com>
2799
2800         https://bugs.webkit.org/show_bug.cgi?id=73691
2801         [JSC] Implement correct order of window.postMessage arguments.
2802
2803         Reviewed by Geoffrey Garen.
2804
2805         * bindings/js/JSDOMWindowCustom.cpp:
2806         (WebCore::handlePostMessage):
2807
2808 2011-12-02  Stephen Chenney  <schenney@chromium.org>
2809
2810         REGRESSION (r91125): Polyline tool in google docs is broken
2811         https://bugs.webkit.org/show_bug.cgi?id=65796
2812
2813         Reviewed by Darin Adler.
2814
2815         Work around a bug in CoreGraphics, that caused incorrect bounds for paths
2816         consisting only of move-to elements. This causes problems in SVG, when the enormous
2817         bounds prevented the drawing of things behind.
2818
2819         Tests: svg/custom/path-moveto-only-rendering.svg
2820                svg/custom/subpaths-moveto-only-rendering.svg
2821
2822         * platform/graphics/cg/PathCG.cpp:
2823         (WebCore::PathIsEmptyOrSingleMoveTester::PathIsEmptyOrSingleMoveTester): Class to
2824         test for isEmpty accoridng ot the same rules as other platforms.
2825         (WebCore::PathIsEmptyOrSingleMoveTester::isEmpty): Query the result
2826         (WebCore::PathIsEmptyOrSingleMoveTester::testPathElement): Path iterator method
2827         (WebCore::PathHasOnlyMoveToTester::PathHasOnlyMoveToTester): Class to test whether a
2828         path contains only move-to elements, and hence should have null bounds.
2829         (WebCore::PathHasOnlyMoveToTester::hasOnlyMoveTo): Query the result
2830         (WebCore::PathHasOnlyMoveToTester::testPathElement): Path iterator method.
2831         (WebCore::Path::boundingRect): Modified to check for move-to only paths
2832         (WebCore::Path::fastBoundingRect): Modified to check for move-to only paths
2833         (WebCore::Path::isEmpty): Now uses the method that matches other platforms.
2834         (WebCore::Path::hasCurrentPoint): Now uses CGPathIsEmpty directly
2835         (WebCore::Path::transform) : Now uses CGPathIsEmpty directly
2836
2837 2011-12-02  Mihnea Ovidenie  <mihnea@adobe.com>
2838
2839         [CSSRegions]More renaming for region style rules.
2840         https://bugs.webkit.org/show_bug.cgi?id=73526
2841
2842         Reviewed by Eric Seidel.
2843
2844         Rename isRegionStyleRule() -> isRegionRule()
2845         WEBKIT_REGION_STYLE_RULE -> WEBKIT_REGION_RULE.
2846
2847         * bindings/objc/DOMCSS.mm:
2848         (kitClass):
2849         * bindings/v8/custom/V8CSSRuleCustom.cpp:
2850         (WebCore::toV8):
2851         * css/CSSGrammar.y:
2852         * css/CSSParser.cpp:
2853         (WebCore::CSSParser::createRegionRule):
2854         * css/CSSParser.h:
2855         * css/CSSRule.cpp:
2856         (WebCore::CSSRule::cssText):
2857         (WebCore::CSSRule::destroy):
2858         * css/CSSRule.h:
2859         (WebCore::CSSRule::isRegionRule):
2860         * css/CSSRule.idl:
2861         * css/CSSStyleSelector.cpp:
2862         (WebCore::CSSStyleSelector::addRegionRule):
2863         (WebCore::RuleSet::addRulesFromSheet):
2864         * css/CSSStyleSelector.h:
2865         * css/WebKitCSSRegionRule.cpp:
2866         (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
2867         * css/tokenizer.flex:
2868
2869 2011-12-02  Tom Sepez  <tsepez@chromium.org>
2870
2871         XSSAuditor includes more terminating characters when truncating
2872         attribute values.
2873         https://bugs.webkit.org/show_bug.cgi?id=73684
2874
2875         Reviewed by Daniel Bates.
2876
2877         * html/parser/XSSAuditor.cpp:
2878         (WebCore::isTerminatingCharacter):
2879         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
2880
2881 2011-12-02  Tony Chang  <tony@chromium.org>
2882
2883         Need to implement flex-flow: column-reverse
2884         https://bugs.webkit.org/show_bug.cgi?id=73504
2885
2886         Reviewed by David Hyatt.
2887
2888         We can't just change the direction of the FlexOrderIterator because we want the overflow to be
2889         on the top. We can't just position them in the reverse location since we don't know where the
2890         bottom edge is until we've layed out the flex items. So we do an extra pass, but it should be
2891         fast since we're not laying out, just moving.
2892
2893         * rendering/RenderFlexibleBox.cpp:
2894         (WebCore::RenderFlexibleBox::flowAwareBorderEnd):
2895         (WebCore::RenderFlexibleBox::flowAwarePaddingEnd):
2896         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2897         (WebCore::RenderFlexibleBox::layoutColumnReverse): Do an extra pass to reposition flexitems in the reverse order.
2898         * rendering/RenderFlexibleBox.h:
2899
2900 2011-12-02  Stephen Chenney  <schenney@chromium.org>
2901
2902         Divide by zero for zero-length arcs
2903         https://bugs.webkit.org/show_bug.cgi?id=73021
2904
2905         Reviewed by Nikolas Zimmermann.
2906
2907         A zero-length path produces divide by zero, resulting in nothing being
2908         drawn. This change modifies the behavior to produce a zero-length line
2909         which will generate correct linecaps.
2910
2911         Test: svg/stroke/zero-length-arc-linecaps-rendering.svg
2912
2913         * svg/SVGPathParser.cpp:
2914         (WebCore::SVGPathParser::parseArcToSegment): Catch the case of
2915         zero-length arcs and convert them to lines (the same as would happen
2916         for zero arc radii).
2917
2918 2011-12-02  James Wei <james.wei@intel.com> & Xingnan Wang <xingnan.wang@intel.com>
2919
2920         -Implement the SSE optimization for vsmul and vadd.
2921         https://bugs.webkit.org/show_bug.cgi?id=73182
2922
2923         Reviewed by Kenneth Russell.
2924
2925         * platform/audio/VectorMath.cpp:
2926         (WebCore:VectorMath):
2927
2928 2011-12-02  David Grogan  <dgrogan@chromium.org>
2929
2930         Grant workers experimental access to IndexedDB.
2931         https://bugs.webkit.org/show_bug.cgi?id=73609
2932
2933         Reviewed by Nate Chapin.
2934
2935         No new tests - there will be chromium ui tests that depend on
2936         webkit.org/b/73297.
2937
2938         * storage/IDBFactory.cpp:
2939         (WebCore::IDBFactory::open): Call new function,
2940         IDBFactoryBackendInterface::openFromWorker.
2941         * storage/IDBFactoryBackendImpl.cpp:
2942         (WebCore::IDBFactoryBackendImpl::open):
2943         (WebCore::IDBFactoryBackendImpl::openFromWorker):
2944         (WebCore::IDBFactoryBackendImpl::openInternal):
2945         * storage/IDBFactoryBackendImpl.h:
2946         * storage/IDBFactoryBackendInterface.h:
2947         * workers/WorkerContext.cpp:
2948         (WebCore::WorkerContext::webkitIndexedDB): Stores
2949         IDBFactoryBackendInterface, implemented by IDBFactoryBackendProxy in
2950         chromium, in the WorkerContext.  For the Document case it is stored in
2951         the PageGroup.  Storing it in the WorkerContext causes more memory
2952         churn, but that should be trivial.  I don't know of any better
2953         alternatives.
2954         * workers/WorkerContext.h:
2955         * workers/WorkerContext.idl:
2956
2957 2011-12-02  Aaron Colwell  <acolwell@chromium.org>
2958
2959         Fix mixed content handling for video in Chromium by having
2960         CachedResourceLoader & SubresourceLoader use the 
2961         ResourceRequest::TargetType when determining if a RawResource can
2962         be requested.
2963         https://bugs.webkit.org/show_bug.cgi?id=72178
2964
2965         Reviewed by Adam Barth.
2966
2967         Tests: http/tests/security/mixedContent/insecure-video-in-iframe.html
2968                http/tests/security/mixedContent/insecure-video-in-main-frame.html
2969                http/tests/security/mixedContent/redirect-http-to-https-video-in-main-frame.html
2970                http/tests/security/mixedContent/redirect-https-to-http-video-in-main-frame.html
2971
2972         * loader/SubresourceLoader.cpp:
2973         (WebCore::SubresourceLoader::willSendRequest):
2974         * loader/cache/CachedRawResource.cpp:
2975         (WebCore::CachedRawResource::CachedRawResource):
2976         * loader/cache/CachedRawResource.h:
2977         * loader/cache/CachedResource.cpp:
2978         (WebCore::defaultPriorityForResourceType):
2979         (WebCore::cachedResourceTypeToTargetType):
2980         (WebCore::CachedResource::targetTypeToCachedResourceType):
2981         * loader/cache/CachedResource.h:
2982         * loader/cache/CachedResourceLoader.cpp:
2983         (WebCore::createResource):
2984         (WebCore::CachedResourceLoader::checkInsecureContent):
2985         (WebCore::CachedResourceLoader::canRequest):
2986         (WebCore::CachedResourceLoader::requestResource):
2987
2988 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2989
2990         Unreviewed, rolling out r101731.
2991         http://trac.webkit.org/changeset/101731
2992         https://bugs.webkit.org/show_bug.cgi?id=73706
2993
2994         Broke copy and paste in chromium. (Requested by dcheng on #webkit).
2995
2996         * editing/SpellChecker.cpp:
2997         (WebCore::SpellChecker::SpellChecker):
2998         (WebCore::SpellChecker::initRequest):
2999         (WebCore::SpellChecker::clearRequest):
3000         (WebCore::SpellChecker::canCheckAsynchronously):
3001         (WebCore::SpellChecker::isBusy):
3002         (WebCore::SpellChecker::isValid):
3003         (WebCore::SpellChecker::requestCheckingFor):
3004         (WebCore::SpellChecker::doRequestCheckingFor):
3005         (WebCore::SpellChecker::didCheck):
3006         * editing/SpellChecker.h:
3007
3008 2011-12-02  Fady Samuel  <fsamuel@chromium.org>
3009
3010         When page scaling is in use position:fixed has incorrect results
3011         https://bugs.webkit.org/show_bug.cgi?id=68617
3012
3013         Reviewed by Simon Fraser.
3014
3015         Add the option for position:fixed elements to be fixed to the frame
3016         instead of the layout rectangle of the document.
3017
3018         Tests: fast/repaint/fixed-in-page-scale.html
3019                fast/repaint/fixed-right-bottom-in-page-scale.html
3020                fast/repaint/fixed-right-in-page-scale.html
3021
3022         * WebCore.exp.in:
3023         * page/FrameView.cpp:
3024         (WebCore::FrameView::reset):
3025         (WebCore::FrameView::scrollXForFixedPosition):
3026         (WebCore::FrameView::scrollYForFixedPosition):
3027           If position:fixed elements are relative to the frame, disregard the
3028           drag factor.
3029         (WebCore::FrameView::setShouldLayoutFixedElementsRelativeToFrame):
3030         * page/FrameView.h:
3031         (WebCore::FrameView::shouldLayoutFixedElementsRelativeToFrame):
3032         * rendering/RenderBox.cpp:
3033         (WebCore::RenderBox::shouldLayoutFixedElementRelativeToFrame):
3034         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
3035         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
3036           If position:fixed elements are relative to the frame, their container
3037           is the frame instead of the layout rect of the document. 
3038           This allows proper positioning of these elements to the right and
3039           bottom.
3040         * rendering/RenderBox.h:
3041         * testing/Internals.cpp:
3042         (WebCore::Internals::setShouldLayoutFixedElementsRelativeToFrame):
3043         * testing/Internals.h:
3044         * testing/Internals.idl:
3045           Allow enabling and disabling the new behavior in layout tests.
3046
3047 2011-12-02  Benjamin Poulain  <bpoulain@apple.com>
3048
3049         Build fix for SubresourceLoader when building with Core Foundation
3050         https://bugs.webkit.org/show_bug.cgi?id=73709
3051
3052         Reviewed by David Kilzer.
3053
3054         The patch r100311 removed SubresourceClient and merged it in SubresourceLoader.
3055         Consequently, m_client does not exist anymore and there is no need to do the check
3056         before invoking didReceiveData().
3057
3058         * loader/cf/SubresourceLoaderCF.cpp:
3059         (WebCore::SubresourceLoader::didReceiveDataArray):
3060
3061 2011-12-02  Andreas Kling  <kling@webkit.org>
3062
3063         StyledElement: Simplify addCSSColor().
3064         <http://webkit.org/b/73703>
3065
3066         Reviewed by Darin Adler.
3067
3068         The Color(const String&) constructor handles both named and 3/6-digit
3069         hex colors, so there's no need to handle those separately here.
3070         Also tweaked some comments and minor things.
3071
3072         * dom/StyledElement.cpp:
3073         (WebCore::StyledElement::addCSSColor):
3074
3075 2011-12-02  Benjamin Poulain  <bpoulain@apple.com>
3076
3077         Update platform/iphone to platform/ios
3078         https://bugs.webkit.org/show_bug.cgi?id=73708
3079
3080         Reviewed by Darin Adler.
3081
3082         The platform is now best known as iOS, update the platform layer accordingly.
3083
3084         * Configurations/WebCore.xcconfig:
3085         * WebCore.gypi:
3086         * WebCore.xcodeproj/project.pbxproj:
3087         * platform/cocoa/KeyEventCocoa.mm:
3088         * platform/ios/KeyEventCodesIOS.h: Renamed from Source/WebCore/platform/iphone/KeyEventCodesIPhone.h.
3089         * platform/ios/KeyEventIOS.mm: Renamed from Source/WebCore/platform/iphone/KeyEventIPhone.mm.
3090         (WebCore::keyIdentifierForKeyEvent):
3091         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3092         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
3093         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
3094         (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
3095
3096 2011-12-02  Jonathan Backer  <backer@chromium.org>
3097
3098         [chromium] Eliminate unnecessary state on previous CL
3099         https://bugs.webkit.org/show_bug.cgi?id=73661
3100
3101         Reviewed by Kenneth Russell.
3102
3103         * platform/graphics/chromium/LayerRendererChromium.cpp:
3104         (WebCore::LayerRendererChromium::initialize):
3105         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3106         (WebCore::CCLayerTreeHost::initialize):
3107         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
3108         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3109         (WebCore::CCSettings::CCSettings):
3110         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
3111
3112 2011-12-02  Dan Bernstein  <mitz@apple.com>
3113
3114         <rdar://problem/10520670> REGRESSION (r91738): didFinishLoad is called before custom fonts have finished loading
3115         https://bugs.webkit.org/show_bug.cgi?id=73688
3116
3117         Reviewed by Darin Adler.
3118
3119         The problem was that after CSSFontFaceSource::getFontData() had scheduled a 0-delay timer to
3120         begin loading the font, but before that timer fired, the subresource loader appeared to have
3121         had no resources waiting to be loaded, and therefore didFinishLoad could be called. This change
3122         reworks the fix for <http://webkit.org/b/65123> so that while the load is still started on a
3123         0-delay timer, the subresource loader’s request count is incremented immediately, preventing
3124         it from hitting 0 while the font load is scheduled to begin. The delayed load mechanism is
3125         moved from CSSFontFaceSource into CSSFontSelector in order to safely handle the possibility of
3126         the latter being decommissioned while waiting for font loading to begin.
3127
3128         * css/CSSFontFaceSource.cpp:
3129         (WebCore::CSSFontFaceSource::CSSFontFaceSource): Removed initializer for m_loadStartTimer.
3130         (WebCore::CSSFontFaceSource::~CSSFontFaceSource): Removed stopping of m_loadStartTimer.
3131         (WebCore::CSSFontFaceSource::getFontData): Replaced code to schedule loading on a timer with
3132         a call to CSSFontSelector::beginLoadingFontSoon.
3133         * css/CSSFontFaceSource.h: Removed m_loadStartTimer and m_fontSelector member variables.
3134         * css/CSSFontSelector.cpp:
3135         (WebCore::CSSFontSelector::CSSFontSelector): Added initialized for m_beginLoadingTimer.
3136         (WebCore::CSSFontSelector::~CSSFontSelector): Added call to clearDocument(), to deal with
3137         anything remaining in m_fontsToBeginLoading at this time.
3138         (WebCore::CSSFontSelector::clearDocument): Now stops m_beginLoadingTimer and balances
3139         incrementRequestCount() calls for anything remaining in m_fontsToBeginLoading.
3140         (WebCore::CSSFontSelector::beginLoadingFontSoon): Added. Schedules the actual call to
3141         CachedFont::beginLoadingIfNeeded on a 0-delay timer, and meanwhile increments the request count
3142         on the CachedResourceLoader, which ensures that didFinishLoad will not be called while waiting
3143         for the timer to fire.
3144         (WebCore::CSSFontSelector::beginLoadTimerFired): Added. Actually calls
3145         CachedFont::beginLoadIfNeeded and balances the incrementRequestCount() made when the timer was
3146         scheduled.
3147         * css/CSSFontSelector.h:
3148
3149 2011-12-02  David Tseng  <dtseng@google.com>
3150
3151         Send an AXCheckedStateChanged notification when the aria-checked attribute changes.
3152         https://bugs.webkit.org/show_bug.cgi?id=72754
3153
3154         Reviewed by Chris Fleizach.
3155
3156         Test: accessibility/aria-checkbox-sends-notification.html
3157
3158         * accessibility/AXObjectCache.cpp:
3159         (WebCore::AXObjectCache::checkedStateChanged):
3160         * accessibility/AXObjectCache.h:
3161         * dom/Element.cpp:
3162         (WebCore::Element::updateAfterAttributeChanged):
3163         * html/HTMLInputElement.cpp:
3164         (WebCore::HTMLInputElement::setChecked):
3165
3166 2011-12-02  Grace Kloba  <klobag@chromium.org>
3167
3168         [chromium] Recycle tile-sized textures during commit to prevent reallocations
3169         https://bugs.webkit.org/show_bug.cgi?id=70645
3170
3171         Reviewed by James Robinson.
3172
3173         Currently texture request is capped by the high limit while we reclaim the
3174         textures in each commit. This triggers new tiles always allocated when scrolling.
3175         The proposal is to recycle the texture during request if the total used memory
3176         is about to exceed the reclaim limit.
3177
3178         * platform/graphics/chromium/ManagedTexture.cpp:
3179         (WebCore::ManagedTexture::reserve):
3180         * platform/graphics/chromium/TextureManager.cpp:
3181         (WebCore::TextureManager::setMemoryLimitBytes):
3182         (WebCore::TextureManager::replaceTexture):
3183         (WebCore::TextureManager::requestTexture):
3184         * platform/graphics/chromium/TextureManager.h:
3185
3186 2011-12-02  Kent Tamura  <tkent@chromium.org>
3187
3188         [Chromium] Show placeholder even if the element is focused
3189         https://bugs.webkit.org/show_bug.cgi?id=73629
3190
3191         Reviewed by Hajime Morita.
3192
3193         No new tests. Need to update some existing placeholder tests.
3194
3195         * rendering/RenderThemeChromiumMac.h: Add shouldShowPlaceholderWhenFocused().
3196         * rendering/RenderThemeChromiumMac.mm:
3197         (WebCore::RenderThemeChromiumMac::shouldShowPlaceholderWhenFocused):
3198         Returns true.
3199         * rendering/RenderThemeChromiumSkia.cpp:
3200         (WebCore::RenderThemeChromiumSkia::shouldShowPlaceholderWhenFocused): ditto.
3201         * rendering/RenderThemeChromiumSkia.h: Add shouldShowPlaceholderWhenFocused().
3202
3203 2011-12-02  Kent Tamura  <tkent@chromium.org>
3204
3205         [Lion][Windows] Both of placeholder and input text are shown in <input type=number>
3206         https://bugs.webkit.org/show_bug.cgi?id=73615
3207
3208         Reviewed by Joseph Pecoraro.
3209
3210         Placeholder visibility was checked by HTMLInputElement::value
3211         emptiness. It should be innerTextValue emptiness because it is
3212         possible that a number field has empty HTMLInputElement::value and
3213         non-empty innerTextValue.
3214
3215         Tests: fast/forms/number/number-placeholder-with-unacceptable-value.html
3216
3217         * html/HTMLInputElement.cpp:
3218         (WebCore::HTMLInputElement::updateInnerTextValue):
3219         We should update placeholder visiblity when the innerTextValue is updated.
3220         (WebCore::HTMLInputElement::subtreeHasChanged): ditto.
3221         (WebCore::HTMLInputElement::setSuggestedValue):
3222         We don't need to call updatePlaceholderVisibility() because updateInnerTextValue() calls it.
3223         (WebCore::HTMLInputElement::setValueFromRenderer):
3224         We don't need to call updatePlaceholderVisibility() because subtreeHasChanged() calls it.
3225         * html/HTMLInputElement.h: Checks innerTextValue emptiness.
3226         * html/TextFieldInputType.cpp:
3227         (WebCore::TextFieldInputType::setValue):
3228         We don't need to call updatePlaceholderVisibility() because updateInnerTextValue() calls it.
3229
3230 2011-12-01  Alok Priyadarshi  <alokp@chromium.org>
3231
3232         [chromium] CCLayerQuad does not return FloatQuad in correct order
3233         https://bugs.webkit.org/show_bug.cgi?id=73247
3234
3235         Reviewed by James Robinson.
3236
3237         Returned the FloatQuad coordinates in correct order.
3238         
3239         Covered by new unit tests in CCLayerQuadTest.cpp.
3240
3241         * platform/graphics/chromium/cc/CCLayerQuad.cpp:
3242         (WebCore::CCLayerQuad::floatQuad):
3243
3244 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3245
3246         Unreviewed, rolling out r101833.
3247         http://trac.webkit.org/changeset/101833
3248         https://bugs.webkit.org/show_bug.cgi?id=73678
3249
3250         test_expectations file invalid: run Tools/Scripts/new-run-
3251         webkit-tests --lint-test-files (Requested by scheib on
3252         #webkit).
3253
3254         * platform/graphics/chromium/cc/CCLayerQuad.cpp:
3255         (WebCore::CCLayerQuad::floatQuad):
3256
3257 2011-12-02  Alok Priyadarshi  <alokp@chromium.org>
3258
3259         [chromium] CCLayerQuad does not return FloatQuad in correct orientation
3260         https://bugs.webkit.org/show_bug.cgi?id=73247
3261
3262         Reviewed by James Robinson.
3263
3264         Returned the FloatQuad coordinates in correct order.
3265         
3266         Covered by new unit tests in CCLayerQuadTest.cpp.
3267
3268         * platform/graphics/chromium/cc/CCLayerQuad.cpp:
3269         (WebCore::CCLayerQuad::floatQuad):
3270
3271 2011-12-01  Dmitry Lomov  <dslomov@google.com>
3272
3273         https://bugs.webkit.org/show_bug.cgi?id=73589
3274         [V8][Chromium] Adjust postMessage to the latest "implementation-ready" spec.
3275         - postMessage should support transfer of MessagePorts
3276         - the order of arguments to Window::postMessage and Window::webkitPostMessage should be (msg, targetOrigin [, transfer])
3277
3278         Reviewed by David Levin.
3279
3280         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3281         (WebCore::handlePostMessageCallback):
3282         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
3283         (WebCore::handlePostMessageCallback):
3284         * bindings/v8/custom/V8MessagePortCustom.cpp:
3285         (WebCore::handlePostMessageCallback):
3286         * bindings/v8/custom/V8WorkerCustom.cpp:
3287         (WebCore::handlePostMessageCallback):
3288
3289 2011-12-02  Enrica Casucci  <enrica@apple.com>
3290
3291         https://bugs.webkit.org/show_bug.cgi?id=73497
3292         This is a followup to the patch submitted for the bug above.
3293         Tha patch was landed in r101575 and I missed to make one of the changes
3294         suggested by the reviewer that had pointed out that the code was still
3295         making use of the deprecatedNode method.
3296
3297         Unreviewed.
3298
3299         * editing/DeleteSelectionCommand.cpp:
3300         (WebCore::DeleteSelectionCommand::removeRedundantBlocks): Changed deprecatedNode to containerNode.
3301
3302 2011-12-02  Tom Sepez  <tsepez@chromium.org>
3303
3304         Content-security-policy script-src not enforced on workers.
3305         https://bugs.webkit.org/show_bug.cgi?id=73240
3306
3307         Reviewed by Adam Barth.
3308
3309         Add a CSP check in AbstractWorker.cpp as part of resolving URL.
3310         
3311         Test: http/tests/security/contentSecurityPolicy/worker-script-src.html
3312
3313         * workers/AbstractWorker.cpp:
3314         (WebCore::AbstractWorker::resolveURL):
3315
3316 2011-12-02  Daniel Cheng  <dcheng@chromium.org>
3317
3318         [chromium] Add plumbing for supporting custom MIME types in DataTransfer.
3319         https://bugs.webkit.org/show_bug.cgi?id=73594
3320
3321         Reviewed by David Levin.
3322
3323         Tests: editing/pasteboard/clipboard-customData.html
3324                fast/events/drag-customData.html
3325
3326         * platform/chromium/ChromiumDataObject.cpp:
3327         (WebCore::ChromiumDataObject::types):
3328         (WebCore::ChromiumDataObject::getData):
3329         (WebCore::ChromiumDataObject::setData):
3330         * platform/chromium/ChromiumDataObject.h:
3331         (WebCore::ChromiumDataObject::customData):
3332         * platform/chromium/PlatformSupport.h:
3333
3334 2011-12-02  Darin Adler  <darin@apple.com>
3335
3336         [Mac] Form stream data structures still not threadsafe
3337         https://bugs.webkit.org/show_bug.cgi?id=73674
3338
3339         Reviewed by Anders Carlsson.
3340
3341         * platform/network/mac/FormDataStreamMac.mm:
3342         (WebCore::streamFieldsMapMutex): Added. 
3343         (WebCore::associateStreamWithResourceHandle): Use streamFieldsMapMutex.
3344         (WebCore::formCreate): Ditto.
3345         (WebCore::formFinalize): Ditto.
3346         (WebCore::httpBodyFromStream): Ditto.
3347
3348 2011-12-02  Joshua Bell  <jsbell@chromium.org>
3349
3350         IndexedDB: Rename "multientry" to "multiEntry" per spec change
3351         https://bugs.webkit.org/show_bug.cgi?id=73578
3352
3353         Reviewed by Darin Fisher.
3354
3355         * storage/IDBIndex.h:
3356         (WebCore::IDBIndex::multiEntry):
3357         * storage/IDBIndex.idl:
3358         * storage/IDBIndexBackendImpl.cpp:
3359         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
3360         * storage/IDBIndexBackendImpl.h:
3361         (WebCore::IDBIndexBackendImpl::create):
3362         (WebCore::IDBIndexBackendImpl::multiEntry):
3363         * storage/IDBIndexBackendInterface.h:
3364         * storage/IDBLevelDBBackingStore.cpp:
3365         (WebCore::IDBLevelDBBackingStore::getIndexes):
3366         (WebCore::IDBLevelDBBackingStore::createIndex):
3367         * storage/IDBLevelDBCoding.cpp:
3368         * storage/IDBObjectStore.cpp:
3369         (WebCore::IDBObjectStore::createIndex):
3370         * storage/IDBObjectStoreBackendImpl.cpp:
3371         (WebCore::IDBObjectStoreBackendImpl::putInternal):
3372         (WebCore::IDBObjectStoreBackendImpl::createIndex):
3373         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
3374         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
3375         * storage/IDBObjectStoreBackendImpl.h:
3376         * storage/IDBObjectStoreBackendInterface.h:
3377
3378 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3379
3380         Unreviewed, rolling out r101805.
3381         http://trac.webkit.org/changeset/101805
3382         https://bugs.webkit.org/show_bug.cgi?id=73670
3383
3384         Many canvas tests started failing due to the isEmpty change
3385         (Requested by darin on #webkit).
3386
3387         * platform/graphics/cg/PathCG.cpp:
3388         (WebCore::Path::boundingRect):
3389         (WebCore::Path::fastBoundingRect):
3390         (WebCore::Path::isEmpty):
3391
3392 2011-12-01  Darin Adler  <darin@apple.com>
3393
3394         [Mac] Reference count threading violation in FormDataStreamMac.mm
3395         https://bugs.webkit.org/show_bug.cgi?id=73627
3396
3397         Reviewed by Sam Weinig.
3398
3399         Shows up as a crash during existing layout test runs so no new tests are required.
3400
3401         * platform/network/mac/FormDataStreamMac.mm:
3402         (WebCore::streamFieldsMap): Replaced getStreamFormDataMap with this.
3403         Use an NSMapTable instead of a HashMap because we need to remove items from this
3404         on a non-main thread.
3405         (WebCore::associateStreamWithResourceHandle): Use NSMapGet instead of
3406         HashMap::contains here.
3407         (WebCore::formCreate): FormStreamFields now stores a RefPtr to the form data.
3408         Added the code to fill that in. Did it in a more modern way to avoid the leakRef
3409         and adoptRef that were used before. Replaced the code that set up the stream
3410         form data map entry with code that sets an entry in the streamFieldsMap.
3411         (WebCore::formFinishFinalizationOnMainThread): Added. Contains the work of
3412         finalization that must be done on the main thread, specifically, destroying the
3413         fields structure that contains objects with RefPtr in them. We can't touch these
3414         reference counts on non-main threads.
3415         (WebCore::formFinalize): Changed this to use NSMapRemove on the streamFieldsMap.
3416         Added a callOnMainThread to finish the finalization.
3417         (WebCore::setHTTPBody): Removed the leakRef, no longer needed, that used to be
3418         balanced by an adoptRef in formCreate.
3419         (WebCore::httpBodyFromStream): Changed to use NSMapGet.
3420
3421 2011-12-02  Antti Koivisto  <antti@apple.com>
3422
3423         https://bugs.webkit.org/show_bug.cgi?id=73520
3424         REGRESSION(r101524): Article titles invisible until hover on blaze.com
3425
3426         Reviewed by Darin Adler.
3427         
3428         We need to invalidate the matched declaration cache when new web fonts are loaded.
3429         Fonts in the cached RenderStyles may not be valid anymore.
3430         
3431         Also renamed m_matchStyleDeclarationCache -> m_matchedStyleDeclarationCache.
3432         
3433         Test reduction by the Reduction Fairy (aka kling).
3434
3435         Test: fast/css/font-face-cache-bug.html
3436
3437         * css/CSSFontSelector.cpp:
3438         (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
3439         * css/CSSStyleSelector.cpp:
3440         (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
3441         (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
3442         (WebCore::CSSStyleSelector::invalidateMatchedDeclarationCache):
3443         * css/CSSStyleSelector.h:
3444
3445 2011-11-02  Jer Noble  <jer.noble@apple.com>
3446
3447         MediaControls should use MediaController if present.
3448         https://bugs.webkit.org/show_bug.cgi?id=71410
3449
3450         Reviewed by Eric Carlson.
3451
3452         No new tests; covered by existing tests.
3453
3454         Add support for individual media controls to control the MediaController of their associated
3455         HTMLMediaElement, if present.
3456
3457         The video spec requires that UA provided media controls be implemented in terms of their 
3458         HTMLMediaElement's MediaController, if present.  So for each of the media controls, modify 
3459         their constructor to take a Document* instead of an HTMLMediaElement, and add an setter
3460         taking a MediaControllerInterface.
3461
3462         Now that MediaControls have an abstract interface instead of an HTMLMediaElement, use toParentMediaElement
3463         to find the controllingVideoElement.
3464         * accessibility/AccessibilityMediaControls.cpp:
3465         (WebCore::AccessibilityMediaControlsContainer::controllingVideoElement):
3466
3467         Pass the MediaController or the HTMLMediaElement when setting up the elements controls.
3468         * html/HTMLMediaElement.cpp:
3469         (WebCore::HTMLMediaElement::createMediaControls):
3470         (WebCore::HTMLMediaElement::setMediaController):
3471
3472         The following functions have only constructor changes:
3473         * html/shadow/MediaControlElements.cpp:
3474         (WebCore::MediaControlElement::MediaControlElement):
3475         (WebCore::MediaControlPanelElement::MediaControlPanelElement):
3476         (WebCore::MediaControlPanelElement::create):
3477         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
3478         (WebCore::MediaControlTimelineContainerElement::create):
3479         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
3480         (WebCore::MediaControlVolumeSliderContainerElement::create):
3481         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
3482         (WebCore::MediaControlStatusDisplayElement::create):
3483         (WebCore::MediaControlInputElement::MediaControlInputElement):
3484         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
3485         (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
3486         (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement):
3487         (WebCore::MediaControlPanelMuteButtonElement::create):
3488         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement):
3489         (WebCore::MediaControlVolumeSliderMuteButtonElement::create):
3490         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
3491         (WebCore::MediaControlPlayButtonElement::create):
3492         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
3493         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement):
3494         (WebCore::MediaControlSeekForwardButtonElement::create):
3495         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement):
3496         (WebCore::MediaControlSeekBackButtonElement::create):
3497         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
3498         (WebCore::MediaControlRewindButtonElement::create):
3499         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
3500         (WebCore::MediaControlReturnToRealtimeButtonElement::create):
3501         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
3502         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
3503         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
3504         (WebCore::MediaControlTimelineElement::create):
3505         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
3506         (WebCore::MediaControlVolumeSliderElement::create):
3507         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
3508         (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement):
3509         (WebCore::MediaControlFullscreenVolumeSliderElement::create):
3510         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
3511         (WebCore::MediaControlFullscreenButtonElement::create):
3512         (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement):
3513         (WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
3514         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement):
3515         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
3516         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
3517         (WebCore::MediaControlTimeRemainingDisplayElement::create):
3518         (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement):
3519         (WebCore::MediaControlCurrentTimeDisplayElement::create):
3520         (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement):
3521         * html/shadow/MediaControlRootElement.cpp:
3522         (WebCore::MediaControlRootElement::MediaControlRootElement):
3523         (WebCore::MediaControls::create):
3524         (WebCore::MediaControlRootElement::create):
3525         * html/shadow/MediaControlRootElement.h:
3526         * html/shadow/MediaControls.cpp:
3527         (WebCore::MediaControls::MediaControls):
3528         * html/shadow/MediaControls.h:
3529
3530         The following functions now call MediaControllerInterface instead of HTMLMediaElement directly:
3531         * html/shadow/MediaControlElements.h:
3532         (WebCore::MediaControlStatusDisplayElement::update):
3533         (WebCore::MediaControlMuteButtonElement::updateDisplayType):
3534         (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
3535         (WebCore::MediaControlPlayButtonElement::updateDisplayType):
3536         (WebCore::MediaControlSeekButtonElement::startTimer):
3537         (WebCore::MediaControlSeekButtonElement::stopTimer):
3538         (WebCore::MediaControlSeekButtonElement::nextRate):
3539         (WebCore::MediaControlSeekButtonElement::seekTimerFired):
3540         (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
3541         (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
3542         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
3543         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
3544         (WebCore::MediaControlTimelineElement::defaultEventHandler):
3545         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
3546         (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler):
3547         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler):
3548         * html/shadow/MediaControlRootElement.cpp:
3549         (WebCore::MediaControlRootElement::reset):
3550         (WebCore::MediaControlRootElement::playbackStarted):
3551         (WebCore::MediaControlRootElement::playbackProgressed):
3552         (WebCore::MediaControlRootElement::playbackStopped):
3553         (WebCore::MediaControlRootElement::updateTimeDisplay):
3554         (WebCore::MediaControlRootElement::loadedMetadata):
3555         (WebCore::MediaControlRootElement::changedVolume):
3556         (WebCore::MediaControlRootElement::enteredFullscreen):
3557         (WebCore::MediaControlRootElement::showVolumeSlider):
3558         (WebCore::MediaControlRootElement::defaultEventHandler):
3559         (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer):
3560         (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired):
3561         * html/shadow/MediaControlRootElementChromium.cpp:
3562         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
3563         (WebCore::MediaControls::create):
3564         (WebCore::MediaControlRootElementChromium::create):
3565         (WebCore::MediaControlRootElementChromium::reset):
3566         (WebCore::MediaControlRootElementChromium::playbackStarted):
3567         (WebCore::MediaControlRootElementChromium::playbackProgressed):
3568         (WebCore::MediaControlRootElementChromium::playbackStopped):
3569         (WebCore::MediaControlRootElementChromium::updateTimeDisplay):
3570         (WebCore::MediaControlRootElementChromium::defaultEventHandler):
3571         (WebCore::MediaControlRootElementChromium::changedVolume):
3572         (WebCore::MediaControlRootElementChromium::showVolumeSlider):
3573         * html/shadow/MediaControlRootElementChromium.h:
3574
3575         The following functions set the current MediaControllerInterface.
3576         * html/shadow/MediaControlRootElement.cpp:
3577         (WebCore::MediaControlRootElement::setMediaController):
3578         * html/shadow/MediaControlElements.h:
3579         (WebCore::MediaControlElement::setMediaController):
3580         (WebCore::MediaControlElement::mediaController):
3581         (WebCore::MediaControlInputElement::setMediaController):
3582         (WebCore::MediaControlInputElement::mediaController):
3583         * html/shadow/MediaControlRootElementChromium.cpp:
3584         (WebCore::MediaControlRootElementChromium::setMediaController):
3585
3586 2011-12-02  Stephen Chenney  <schenney@chromium.org>
3587
3588         REGRESSION (r91125): Polyline tool in google docs is broken
3589         https://bugs.webkit.org/show_bug.cgi?id=65796
3590
3591         Reviewed by Darin Adler.
3592
3593         Work around a bug in CoreGraphics, that caused incorrect bounds for paths
3594         consisting only of move-to elements. This causes problems in SVG, when the enormous
3595         bounds prevented the drawing of things behind.
3596
3597         Tests: svg/custom/path-moveto-only-rendering.svg
3598                svg/custom/subpaths-moveto-only-rendering.svg
3599
3600         * platform/graphics/cg/PathCG.cpp:
3601         (WebCore::PathIsEmptyOrSingleMoveTester::PathIsEmptyOrSingleMoveTester): Class to
3602         test for isEmpty accoridng ot the same rules as other platforms.
3603         (WebCore::PathIsEmptyOrSingleMoveTester::isEmpty): Query the result
3604         (WebCore::PathIsEmptyOrSingleMoveTester::testPathElement): Path iterator method
3605         (WebCore::PathHasOnlyMoveToTester::PathHasOnlyMoveToTester): Class to test whether a
3606         path contains only move-to elements, and hence should have null bounds.
3607         (WebCore::PathHasOnlyMoveToTester::hasOnlyMoveTo): Query the result
3608         (WebCore::PathHasOnlyMoveToTester::testPathElement): Path iterator method.
3609         (WebCore::Path::boundingRect): Modified to check for move-to only paths
3610         (WebCore::Path::fastBoundingRect): Modified to check for move-to only paths
3611         (WebCore::Path::isEmpty): Now uses the method that matches other platforms.
3612
3613 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3614
3615         Unreviewed, rolling out r101794.
3616         http://trac.webkit.org/changeset/101794
3617         https://bugs.webkit.org/show_bug.cgi?id=73656
3618
3619         Broke win build (Requested by vsevik on #webkit).
3620
3621         * bindings/js/ScriptCallStackFactory.cpp:
3622         * bindings/js/ScriptCallStackFactory.h:
3623         * bindings/scripts/CodeGeneratorJS.pm:
3624         (GenerateParametersCheck):
3625         * bindings/scripts/CodeGeneratorV8.pm:
3626         (GenerateFunctionCallback):
3627         * bindings/scripts/test/JS/JSTestObj.cpp:
3628         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
3629         * bindings/scripts/test/V8/V8TestObj.cpp:
3630         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
3631         * bindings/v8/ScriptCallStackFactory.cpp:
3632         * bindings/v8/ScriptCallStackFactory.h:
3633         * inspector/InspectorInstrumentation.cpp:
3634         * inspector/InspectorInstrumentation.h:
3635         * inspector/WorkerInspectorController.h:
3636         * page/Console.cpp:
3637         (WebCore::Console::shouldCaptureFullStackTrace):
3638         * page/Console.h:
3639
3640 2011-12-02  Raphael Kubo da Costa  <kubo@profusion.mobi>
3641
3642         Unreviewed, revert r101347.
3643         https://bugs.webkit.org/show_bug.cgi?id=73580
3644
3645         It breaks the linking of Tools/ targets due to missing functions.
3646
3647         * PlatformEfl.cmake:
3648         * platform/graphics/GraphicsLayer.cpp:
3649         * platform/graphics/GraphicsLayer.h:
3650         * platform/graphics/efl/GraphicsLayerEfl.cpp: Added.
3651         (WebCore::GraphicsLayer::create):
3652         (WebCore::GraphicsLayerEfl::GraphicsLayerEfl):
3653         (WebCore::GraphicsLayerEfl::~GraphicsLayerEfl):
3654         (WebCore::GraphicsLayerEfl::setNeedsDisplay):
3655         (WebCore::GraphicsLayerEfl::setNeedsDisplayInRect):
3656         * platform/graphics/efl/GraphicsLayerEfl.h: Added.
3657         * platform/graphics/texmap/TextureMapperNode.cpp:
3658         (WebCore::solveCubicBezierFunction):
3659         (WebCore::solveStepsFunction):
3660
3661 2011-12-01  Vsevolod Vlasov  <vsevik@chromium.org>
3662
3663         Web Inspector: Extract default call stack creation and check for front-end from console.
3664         https://bugs.webkit.org/show_bug.cgi?id=73566
3665
3666         Reviewed by Yury Semikhatsky.
3667
3668         * bindings/js/ScriptCallStackFactory.cpp:
3669         (WebCore::createScriptCallStack):
3670         * bindings/js/ScriptCallStackFactory.h:
3671         * bindings/scripts/CodeGeneratorJS.pm:
3672         (GenerateParametersCheck):
3673         * bindings/scripts/CodeGeneratorV8.pm:
3674         (GenerateFunctionCallback):
3675         * bindings/scripts/test/JS/JSTestObj.cpp:
3676         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
3677         * bindings/scripts/test/V8/V8TestObj.cpp:
3678         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
3679         * bindings/v8/ScriptCallStackFactory.cpp:
3680         (WebCore::createScriptCallStack):
3681         * bindings/v8/ScriptCallStackFactory.h:
3682         * inspector/InspectorInstrumentation.cpp:
3683         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
3684         * inspector/InspectorInstrumentation.h:
3685         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
3686         * inspector/WorkerInspectorController.h:
3687         (WebCore::WorkerInspectorController::hasFrontend):
3688         * page/Console.cpp:
3689         * page/Console.h:
3690
3691 2011-12-02  Gavin Peters  <gavinp@chromium.org>
3692
3693         Remove instrumentation tracking a fixed bug
3694         https://bugs.webkit.org/show_bug.cgi?id=73471
3695
3696         The underlying bug is fixed (bug 72068), and this instrumentation was intrusive and using
3697         memory, plus the conditional compilation made me sad.
3698
3699         Reviewed by Nate Chapin.
3700
3701         No new tests.
3702
3703         * dom/ScriptElement.cpp:
3704         (WebCore::ScriptElement::ScriptElement):
3705         (WebCore::ScriptElement::requestScript):
3706         (WebCore::ScriptElement::stopLoadRequest):
3707         (WebCore::ScriptElement::notifyFinished):
3708         * dom/ScriptElement.h:
3709         * dom/ScriptRunner.cpp:
3710         (WebCore::ScriptRunner::queueScriptForExecution):
3711
3712 2011-12-02  Vsevolod Vlasov  <vsevik@chromium.org>
3713
3714         Web Inspector: Split view works weirdly in network panel when resizing, showing/hiding main element.
3715         https://bugs.webkit.org/show_bug.cgi?id=73650
3716
3717         Reviewed by Pavel Feldman.
3718
3719         * inspector/front-end/SplitView.js:
3720         (WebInspector.SplitView.prototype._updateResizer):
3721         (WebInspector.SplitView.prototype.hideMainElement):
3722         (WebInspector.SplitView.prototype.showMainElement):
3723         (WebInspector.SplitView.prototype.onResize):
3724         (WebInspector.SplitView.prototype._restoreSidebarWidth):
3725
3726 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3727
3728         Unreviewed, rolling out r101783.
3729         http://trac.webkit.org/changeset/101783
3730         https://bugs.webkit.org/show_bug.cgi?id=73652
3731
3732         Broke chromium win build. (Requested by vsevik on #webkit).
3733
3734         * WebCore.gyp/WebCore.gyp:
3735         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
3736         (main):
3737         * WebCore.gypi:
3738         * bindings/scripts/generate-bindings.pl:
3739         * page/DOMWindow.idl:
3740         * webaudio/DOMWindowWebAudio.idl: Removed.
3741
3742 2011-11-28  Alexander Pavlov  <apavlov@chromium.org>
3743
3744         Inline non-replaced elements are reported to have zero width and height
3745         https://bugs.webkit.org/show_bug.cgi?id=61117
3746
3747         Reviewed by Antti Koivisto.
3748
3749         According to http://www.w3.org/TR/CSS21/visudet.html, the "width" and "height" properties
3750         do not apply for inline non-replaced elements and should have their initial value of "auto"
3751         as their computed values.
3752
3753         * css/CSSComputedStyleDeclaration.cpp:
3754         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3755
3756 2011-12-02  Sami Kyostila  <skyostil@chromium.org>
3757
3758         [chromium] Make CCInputHandler scrolling stateful
3759         https://bugs.webkit.org/show_bug.cgi?id=73345
3760
3761         This change makes the scrolling part of CCInputHandler stateful by
3762         replacing scrollRootLayer() with scrollBegin(), scrollBy() and
3763         scrollEnd(). This is done in preparation for scrollable sublayers.
3764         Specifically, scrollBegin() will allow CCLayerTreeHostImpl to perform
3765         input event hit testing to find the layer to be scrolled.
3766
3767         Reviewed by Steve Block.
3768
3769         Tested in CCLayerTreeHostImplTest.
3770
3771         * platform/graphics/chromium/cc/CCInputHandler.h:
3772         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3773         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
3774         (WebCore::CCLayerTreeHostImpl::currentTimeMs):
3775         (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
3776         (WebCore::findInnermostScrollableLayerAtPoint):
3777         (WebCore::CCLayerTreeHostImpl::scrollBegin):
3778         (WebCore::CCLayerTreeHostImpl::scrollBy):
3779         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3780
3781 2011-12-02  Kentaro Hara  <haraken@chromium.org>
3782
3783         Use the [Supplemental] IDL for webaudio attributes in Chromium
3784         https://bugs.webkit.org/show_bug.cgi?id=73394
3785
3786         Reviewed by Adam Barth.
3787
3788         - Overview: Using the [Supplemental] IDL, this patch moves the attribute
3789         declarations of webaudio from DOMWindow.idl into a new IDL file
3790         webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
3791         feature (aka a module).
3792
3793         - This patch changes the build flow of WebCore.gyp as follows:
3794
3795             Previous build flow:
3796                 foreach $idl (all IDL files) {
3797                     generate-bindings.pl depends on $idl;
3798                     generate-bindings.pl reads $idl;
3799                     generate-bindings.pl generates .h and .cpp files for $idl;
3800                 }
3801
3802             New build flow (See the discussions in bug 72138 for more details):
3803                 resolve-supplemental.pl depends on all IDL files;
3804                 resolve-supplemental.pl reads all IDL files;
3805                 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
3806                 resolve-supplemental.pl outputs supplemental_dependency.tmp;
3807                 foreach $idl (all IDL files) {
3808                     generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
3809                     generate-bindings.pl reads $idl;
3810                     generate-bindings.pl reads supplemental_dependency.tmp;
3811                     generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
3812                 }
3813
3814         - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
3815         will be removed after build scripts for all platforms support the [Supplemental] IDL.
3816         The motivation for the [Supplemented] IDL is as follows:
3817
3818         In order to support the [Supplemental] IDL, we need to
3819         (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
3820         (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
3821
3822         This build flow requires a change on the following build scripts,
3823         but changing all the build scripts all at once without any regression is too difficult:
3824
3825             - DerivedSources.make
3826             - DerivedSources.pri
3827             - GNUmakefile.am
3828             - PlatformBlackBerry.cmake
3829             - UseJSC.cmake
3830             - UseV8.cmake
3831             - WebCore.vcproj/MigrateScripts
3832             - WebCore.vcproj/WebCore.vcproj
3833             - bindings/gobject/GNUmakefile.am
3834             - WebCore.gyp/WebCore.gyp
3835
3836         Thus, we are planning to change the build scripts one by one, which implies that
3837         we need to allow the temporary state in which some build scripts support [Supplemental] IDL
3838         but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
3839         The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
3840         in another IDL file somewhere, like this:
3841
3842             DOMWindowWebAudio.idl:
3843                 interface [
3844                     Supplemental=DOMWindow
3845                 ] DOMWindowWebAudio {
3846                     attribute attr1;
3847                     attribute attr2;
3848                 };
3849
3850             DOMWindow.idl:
3851                 interface [
3852                 ] DOMWindow {
3853                     attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
3854                     attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
3855                     attribute attr3;
3856                     attribute attr4;
3857                 };
3858
3859         Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
3860
3861             - If a given build script supports the [Supplemental] IDL,
3862             generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
3863             - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
3864             as normal attributes and instead ignores all attributes with the [Supplemental] IDL
3865             (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
3866
3867         Tests: webaudio/*
3868
3869         * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
3870         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
3871         (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file.
3872         * WebCore.gypi: Added DOMWindowWebAudio.idl.
3873         * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
3874         * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
3875         * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
3876
3877 2011-12-02  Vsevolod Vlasov  <vsevik@chromium.org>
3878
3879         Web Inspector: Network panel row highlighting does not work.
3880         https://bugs.webkit.org/show_bug.cgi?id=73644
3881
3882         Reviewed by Pavel Feldman.
3883
3884         * inspector/front-end/networkLogView.css:
3885         (.network-log-grid tr.highlighted-row):
3886         (from):
3887         (to):
3888
3889 2011-12-02  Pavel Feldman  <pfeldman@google.com>
3890
3891         Not reviewed: remove console.timeStamp from the inspector backend dispatcher.
3892
3893         * inspector/front-end/InspectorBackend.js:
3894         (InspectorBackendClass.prototype.sendMessageObjectToBackend):
3895
3896 2011-12-02  Hajime Morrita  <morrita@chromium.org>
3897
3898         Unreviewed, rolling out r101751 and r101775.
3899         http://trac.webkit.org/changeset/101751
3900         http://trac.webkit.org/changeset/101775
3901         https://bugs.webkit.org/show_bug.cgi?id=73191
3902
3903         breaks Windows build
3904
3905         * ForwardingHeaders/runtime/JSExportMacros.h: Removed.
3906         * ForwardingHeaders/wtf/ExportMacros.h: Removed.
3907         * WebCore.vcproj/QTMovieWinCommon.vsprops:
3908         * WebCore.xcodeproj/project.pbxproj:
3909         * config.h:
3910         * platform/PlatformExportMacros.h: Removed.
3911
3912 2011-12-02  Pavel Feldman  <pfeldman@google.com>
3913
3914         Web Inspector: introduce backend stub generation from JSON for the standalone development / remote front-ends.
3915         https://bugs.webkit.org/show_bug.cgi?id=73636
3916
3917         Reviewed by Yury Semikhatsky.
3918
3919         * inspector/front-end/DOMStorage.js:
3920         * inspector/front-end/Database.js:
3921         * inspector/front-end/InspectorBackend.js:
3922         (InspectorBackendClass):
3923         (InspectorBackendClass.prototype.registerCommand):
3924         (InspectorBackendClass.prototype.registerEvent):
3925         (InspectorBackendClass.prototype.runAfterPendingDispatches):
3926         (InspectorBackendClass.prototype.loadFromJSONIfNeeded):
3927         * inspector/front-end/TimelineManager.js:
3928         * inspector/front-end/inspector.js:
3929
3930 2011-12-02  MORITA Hajime  <morrita@google.com>
3931
3932         Unreviewed, another attempt to build fix for r101751:
3933         Adding an include path to make PlatformExportMacros.h visibile from QTMovieWin.
3934
3935         * WebCore.vcproj/QTMovieWinCommon.vsprops:
3936
3937 2011-12-02  Hajime Morrita  <morrita@chromium.org>
3938
3939         Unreviewed, rolling out r101772.
3940         http://trac.webkit.org/changeset/101772
3941
3942         It didn't fix the build failure
3943
3944         * WebCore.vcproj/QTMovieWinCommon.vsprops:
3945
3946 2011-12-02  MORITA Hajime  <morrita@google.com>
3947
3948         Unreviewed attempt to build fix for r101751:
3949         Adding an include path to make PlatformExportMacros.h visibile from QTMovieWin.
3950
3951         * WebCore.vcproj/QTMovieWinCommon.vsprops:
3952
3953 2011-12-01  Andrey Kosyakov  <caseq@chromium.org>
3954
3955         Web Inspector: [Extensions API] pass preferred resource line number to extension's open resource handler
3956         https://bugs.webkit.org/show_bug.cgi?id=73084
3957
3958         Reviewed by Pavel Feldman.
3959
3960         * inspector/front-end/ExtensionAPI.js:
3961         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
3962         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
3963         * inspector/front-end/ExtensionServer.js:
3964         (WebInspector.ExtensionServer.prototype._handleOpenURL):
3965         * inspector/front-end/HandlerRegistry.js:
3966         (get WebInspector.HandlerRegistry.prototype.set dispatch):
3967         * inspector/front-end/JavaScriptSourceFrame.js:
3968         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
3969         * inspector/front-end/ResourcesPanel.js:
3970         (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
3971         * inspector/front-end/SourceFrame.js:
3972         (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
3973         (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
3974         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
3975         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
3976         * inspector/front-end/TextViewer.js:
3977         (WebInspector.TextViewer.prototype._contextMenu):
3978         (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
3979         (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
3980         * inspector/front-end/externs.js:
3981         (WebInspector.populateResourceContextMenu):
3982         * inspector/front-end/inspector.js:
3983         (WebInspector.populateResourceContextMenu):
3984         (WebInspector._showAnchorLocation):
3985
3986 2011-12-01  Nayan Kumar K  <nayankk@motorola.com>
3987
3988         [GTK] Add compilation options to enable/disable Accelerated Compositing and to choose texture mapper implementation.
3989         https://bugs.webkit.org/show_bug.cgi?id=73458
3990
3991         Reviewed by Martin Robinson.
3992
3993         No new tests added as this patch doesn't affect any functionality.
3994
3995         * GNUmakefile.am: Guard the include files.
3996         * GNUmakefile.list.am: Guard the compilation of few files.
3997         * platform/graphics/GraphicsLayer.h: Guard the typedef of GraphicsLayer.
3998
3999 2011-12-01  Andrey Kosyakov  <caseq@chromium.org>
4000
4001         Web Inspector: use object properties, not element attributes to pass preferred panel/line/request id in linkified anchors
4002         https://bugs.webkit.org/show_bug.cgi?id=73556
4003
4004         Reviewed by Pavel Feldman.
4005
4006         * inspector/front-end/AuditFormatters.js:
4007         (WebInspector.AuditFormatters.resourceLink):
4008         * inspector/front-end/ConsoleMessage.js:
4009         (WebInspector.ConsoleMessageImpl.prototype._formatMessage.else.else.linkifier):
4010         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
4011         * inspector/front-end/DebuggerPresentationModel.js:
4012         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
4013         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
4014         * inspector/front-end/NetworkPanel.js:
4015         (WebInspector.NetworkPanel.prototype._resourceByAnchor):
4016         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
4017         * inspector/front-end/ResourceUtils.js:
4018         (WebInspector.linkifyStringAsFragment):
4019         (WebInspector.linkifyResourceAsNode):
4020         (WebInspector.linkifyRequestAsNode):
4021         * inspector/front-end/ResourcesPanel.js:
4022         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
4023         * inspector/front-end/inspector.js:
4024         (WebInspector._showAnchorLocation):
4025
4026 2011-12-02  Pavel Feldman  <pfeldman@google.com>
4027
4028         Web Inspector: refactor InspectorBackendDispatcher so that it does not use JSON-serialized command templates.
4029         https://bugs.webkit.org/show_bug.cgi?id=73569
4030
4031         Reviewed by Yury Semikhatsky.
4032
4033         * inspector/CodeGeneratorInspector.py:
4034         (Generator.process_command):
4035         * inspector/Inspector.json:
4036         * inspector/front-end/InspectorBackend.js:
4037         (InspectorBackendClass.prototype._wrap.callback):
4038         (InspectorBackendClass.prototype._wrap):
4039         (InspectorBackendClass.prototype.registerCommand):
4040         (InspectorBackendClass.prototype._invoke):
4041         (InspectorBackendClass.prototype._sendMessageToBackend):
4042         (InspectorBackendClass.prototype._wrapCallbackAndSendMessageObject):
4043
4044 2011-12-02  Yosifumi Inoue  <yosin@chromium.org>
4045
4046         Range sliders and spin buttons don't work with multi-columns.
4047         https://bugs.webkit.org/show_bug.cgi?id=70898
4048
4049         Reviewed by Dan Bernstein.
4050
4051         This patch makes RenderBlock::hitTestColumns and
4052         RenderBoxModelObject::mapAbsoluteToLocal to handle point
4053         in multi-column same logic.
4054
4055         In multi-column, coordinate of box model rendering object is different
4056         from absolute coordinate.. Columns in box model rendering object spans
4057         vertically rather than horizontally.
4058
4059         When absolute point is represented in (column[i]+dx, column[0]+dy),
4060         it is (column[0]+dx, column[0] + columnHeight + dy) in box model
4061         rendering object coordinate.
4062
4063         Tests: fast/events/document-elementFromPoint.html
4064                fast/events/offsetX-offsetY.html
4065                fast/forms/number/spin-in-multi-column.html
4066                fast/forms/range/slider-in-multi-column.html
4067                fast/forms/select/listbox-in-multi-column.html
4068
4069         * rendering/RenderBlock.cpp:
4070         (WebCore::ColumnRectIterator::ColumnRectIterator): Added
4071         (WebCore::ColumnRectIterator::advance): Added
4072         (WebCore::ColumnRectIterator::columnRect): Added
4073         (WebCore::ColumnRectIterator::hasMore): Added
4074         (WebCore::ColumnRectIterator::adjust): Added
4075         (WebCore::ColumnRectIterator::update): Added
4076         (WebCore::RenderBlock::hitTestColumns): Use ColumnRectIterator.
4077         (WebCore::RenderBlock::adjustForColumnRect): Added
4078         * rendering/RenderBlock.h: Add adjustForColumnRect.
4079         * rendering/RenderBox.cpp:
4080         (WebCore::RenderBox::mapAbsoluteToLocalPoint): Call RenderBoxModelObject::mapAbsoluteToLocalPoint.
4081         * rendering/RenderBoxModelObject.cpp:
4082         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint): Move from RenderInline::mapAbsoluteToLocalPoint and call RenderBlock::adjustForColumnRect.
4083         * rendering/RenderBoxModelObject.h: add mapAbsoluteToLocalPoint.
4084         * rendering/RenderInline.cpp: Move mapAbsoluteToLocalPoint to RenderBoxModelObject.
4085         * rendering/RenderInline.h: remove mapAbsoluteToLocalPoint.
4086
4087 2011-12-02  Pavel Feldman  <pfeldman@google.com>
4088
4089