Unreviewed build fix.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-01-03  Adam Klein  <adamk@chromium.org>
2
3         Unreviewed build fix.
4
5         * dom/ContainerNode.cpp:
6         (WebCore::isInTemplateContent): s/UNUSED/UNUSED_PARAM/
7
8 2013-01-03  Adam Klein  <adamk@chromium.org>
9
10         [HTMLTemplateElement] Disallow cycles within template content
11         https://bugs.webkit.org/show_bug.cgi?id=105066
12
13         Reviewed by Ojan Vafai.
14
15         Cycles in <template> content aren't quite as bad as cycles in normal
16         DOM trees, but they can easily cause crashes, e.g. in cloneNode and
17         innerHTML.
18
19         Shadow DOM has an analagous issue, and this patch tackles that problem
20         at the same time by creating a new method, Node::containsIncludingHostElements.
21
22         In order to disallow cycles, the HTMLTemplateElement.content
23         DocumentFragment needs a pointer to its host. The approach here
24         creates a new subclass with a host pointer and a new virtual method
25         to DocumentFragment to identify the subclass.
26
27         To avoid unnecessary virtual function calls, also changed how
28         Document::templateContentsOwnerDocument works to allow fast inlined
29         access and avoid lazy creation when not needed.
30
31         Tests: fast/dom/HTMLTemplateElement/cycles-in-shadow.html
32                fast/dom/HTMLTemplateElement/cycles.html
33                fast/dom/shadow/shadow-hierarchy-exception.html
34
35         * GNUmakefile.list.am:
36         * Target.pri:
37         * WebCore.vcproj/WebCore.vcproj:
38         * WebCore.xcodeproj/project.pbxproj:
39         * dom/ContainerNode.cpp:
40         (WebCore::isInTemplateContent):
41         (WebCore::containsConsideringHostElements):
42         (WebCore::checkAcceptChild):
43         * dom/Document.cpp:
44         (WebCore::Document::ensureTemplateContentsOwnerDocument): Renamed to make clear that it lazily creates the Document. Updated all existing callers to call this method.
45         * dom/Document.h:
46         (Document):
47         (WebCore::Document::templateContentsOwnerDocument): Fast, inlined accessor for use in checkAcceptChild().
48         * dom/DocumentFragment.h:
49         (WebCore::DocumentFragment::isTemplateContent):
50         * dom/Node.cpp:
51         (WebCore::Node::containsIncludingShadowDOM): made const, simplified
52         (WebCore::Node::containsIncludingHostElements): Specialized version of Node::contains that knows how to jump over template content boundaries.
53         * dom/Node.h:
54         (Node):
55         * dom/TemplateContentDocumentFragment.h: Added.
56         (TemplateContentDocumentFragment): Subclass of DocumentFragment which stores its host template element.
57         (WebCore::TemplateContentDocumentFragment::create):
58         (WebCore::TemplateContentDocumentFragment::host):
59         (WebCore::TemplateContentDocumentFragment::TemplateContentDocumentFragment):
60         * editing/markup.cpp:
61         (WebCore::createFragmentForInnerOuterHTML):
62         * html/HTMLTemplateElement.cpp:
63         (WebCore::HTMLTemplateElement::content): Construct the new subclass.
64
65 2013-01-02  Jon Lee  <jonlee@apple.com>
66
67         Revert auto-start plugins to snapshotted plugins after a period of inactivity
68         https://bugs.webkit.org/show_bug.cgi?id=105973
69         <rdar://problem/12947865>
70
71         Reviewed by Brady Eidson.
72
73         * html/HTMLPlugInElement.h:
74         (WebCore::HTMLPlugInElement::plugInOriginHash): Expose publicly for WebKit2.
75         Reorganize the protected members of the class.
76         * html/HTMLPlugInImageElement.h: Move the member to HTMLPlugInElement.
77
78 2013-01-03  Alexis Menard  <alexis@webkit.org>
79
80         Querying transition-timing-function value on the computed style does not return keywords when it should.
81         https://bugs.webkit.org/show_bug.cgi?id=105442
82
83         Reviewed by Simon Fraser.
84
85         http://www.w3.org/TR/css3-transitions/#transition-timing-function-property
86         contains a set of predefined timing functions which under the hood are
87         implemented using cubic-bezier but it's an implementation detail that
88         should not be exposed. It seems to be more clear to return a CSS
89         keyword rather than the cubic-bezier form when querying the value of
90         the property on the computed style. In fact the spec even say that for
91         example the initial value is "ease" and not cubic-bezier(0.25, 0.1,
92         0.25, 1.0). We could also imagine that in the future these predefined
93         values could contain other values not represented by a cubic-bezier
94         form. This behavior also align with the "linear" keyword which return
95         "linear" rather than cubic-bezier(0.0, 0.0, 1.0, 1.0).
96
97         Test: transitions/transitions-parsing.html has been updated to cover
98         the new behavior as well as making sure that an explicitly set value of
99         cubic-bezier(0.25, 0.1, 0.25, 1.0) does not return "ease" but the
100         cubic-bezier() form.
101
102         * css/CSSComputedStyleDeclaration.cpp:
103         (WebCore::createAnimationValue):
104         (WebCore):
105         (WebCore::getTimingFunctionValue):
106         * css/CSSToStyleMap.cpp:
107         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
108         * platform/animation/TimingFunction.h:
109         (WebCore::CubicBezierTimingFunction::create):
110         (CubicBezierTimingFunction):
111         (WebCore::CubicBezierTimingFunction::operator==):
112         (WebCore::CubicBezierTimingFunction::timingFunctionPreset): Store the
113         preset value of the timing function if it is one when creating it 
114         so we can use it later from the computed style.
115         (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
116
117 2013-01-03  Tony Chang  <tony@chromium.org>
118
119         Generate internal.settings from Settings.in
120         https://bugs.webkit.org/show_bug.cgi?id=104740
121
122         Reviewed by Adam Barth.
123
124         If the setting is declared in Settings.in and is a basic type, generate a
125         setter function at internals.settings.
126
127         InternalSettingsGenerated.idl is created by make_settings.pl. InternalSettings.idl
128         inherits from InternalSettingsGenerated.idl so we can override generated functions if
129         needed or add additional custom setters.
130
131         This patch removes 2 password echo methods from InternalSettings.idl since they are
132         auto generated. There are other methods we could remove, but I'll do that in a followup.
133
134         No new tests, existing tests should pass. Specifically, editing/input/password* tests should pass.
135
136         * CMakeLists.txt: Add generated cpp file to the testing lib.
137         * DerivedSources.make: Add generated idl file and specify all the outputs of make_settings.pl
138         * DerivedSources.pri: Generate idl file before generating bindings and include generated idl
139         for bindings generation.
140         * GNUmakefile.am: Specify all the generated files of make_settings.pl. Add generated idl to
141         list of files to be processed and resulting output to be compiled.
142         * UseJSC.cmake: Add generated idl file to list of idl files to process.
143         * UseV8.cmake: Same as UseJSC.cmake.
144         * WebCore.gyp/WebCore.gyp: Run make_settings.pl earlier so we can run the output through the
145         bindings generator.
146         * WebCore.gypi: Add new files.
147         * WebCore.vcproj/WebCoreTestSupport.vcproj: Add new files.
148         * WebCore.xcodeproj/project.pbxproj: Add new files.
149         * bindings/scripts/CodeGenerator.pm:
150         (IDLFileForInterface): Add current directory to the include path so DerivedSources.make can
151         find the generated idl file.
152         * page/make_settings.pl:
153         (generateCode): Generate InternalSettingsGenerated.{idl,h,cpp}.
154         (generateSettingsMacrosHeader): Rename since we're generating 2 headers now.
155         (setterFunctionName): Helper function for naming a setter.
156         (printGetterAndSetter): Use setterFunctionName.
157         (enumerateParsedItems): Helper function that visits each parsed item.
158         (generateInternalSettingsIdlFile): Generate idl file.
159         (generateInternalSettingsHeaderFile): Generate header file.
160         (generateInternalSettingsCppFile): Generate C++ file.
161         * testing/InternalSettings.cpp:
162         (WebCore::InternalSettings::Backup::Backup): Remove password echo members.
163         (WebCore::InternalSettings::Backup::restoreTo): Remove password echo members.
164         (InternalSettingsWrapper): We can't use RefCountedSupplemental because we're we're already
165         RefCounted. Create a wrapper class to wrap the RefCounted InternalSettings for Supplement<>::provideTo,
166         which uses an OwnPtr.
167         (WebCore::InternalSettingsWrapper::InternalSettingsWrapper): Wraps an InternalSettings that the Page can own.
168         (WebCore::InternalSettingsWrapper::~InternalSettingsWrapper): Clear's m_page when the Page goes away.
169         (WebCore::InternalSettingsWrapper::internalSettings): Unwrap InternalSettings.
170         (WebCore::InternalSettings::from): Update to use InternalSettingsWrapper.
171         (WebCore::InternalSettings::InternalSettings): Call base class constructor.
172         (WebCore::InternalSettings::resetToConsistentState): Renamed from reset() and pass through to base class.
173         Also remove unnecessary pageScaleFactor reset (done in Internals::resetToConsistentState).
174         * testing/InternalSettings.h:
175         (Backup): Remove password echo members.
176         (WebCore::InternalSettings::create): Create an instance instead of using new.
177         (WebCore::InternalSettings::hostDestroyed): Clear the page. This is similar to the code that
178         RefCountedSupplemental has.
179         * testing/InternalSettings.idl: Extends InternalSettingsGenerated.
180         * testing/js/WebCoreTestSupport.cpp:
181         (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
182         * testing/v8/WebCoreTestSupport.cpp:
183         (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
184         Remove an unused header.
185
186 2013-01-03  Rik Cabanier  <cabanier@adobe.com>
187
188         Canvas blending tests fail on Mac WK2
189         https://bugs.webkit.org/show_bug.cgi?id=105943
190
191         Reviewed by Simon Fraser.
192
193         Tests that now pass: 
194             LayoutTests/fast/canvas/canvas-blend-solid.html 
195             LayoutTests/fast/canvas/canvas-blend-image.html
196
197         * testing/InternalSettings.cpp:
198         (WebCore::InternalSettings::Backup::Backup):
199         (WebCore::InternalSettings::Backup::restoreTo):
200         * testing/InternalSettings.h:
201         (Backup):
202
203 2013-01-03   Arko Saha  <arko@motorola.com>
204
205         Microdata: Fix build failure after r137003
206         https://bugs.webkit.org/show_bug.cgi?id=106023
207
208         Reviewed by Ryosuke Niwa.
209
210         Set HTMLCollection::namedPropertyGetter as named property getter for
211         HTMLPropertiesCollection in GenerateImplementationNamedPropertyGetter.
212
213         * bindings/scripts/CodeGeneratorV8.pm:
214         (GenerateImplementationNamedPropertyGetter):
215         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
216         (WebCore::V8HTMLCollection::namedPropertyGetter):
217
218 2013-01-03  Adam Klein  <adamk@chromium.org>
219
220         Clear failed image loads when an <img> is adopted into a different document
221         https://bugs.webkit.org/show_bug.cgi?id=104409
222
223         Reviewed by Nate Chapin.
224
225         This avoids an assertion failure setImageWithoutConsideringPendingLoadEvent().
226
227         Test: loader/image-loader-adoptNode-assert.html
228
229         * loader/ImageLoader.cpp:
230         (WebCore::ImageLoader::updateFromElement): Use new helper.
231         (WebCore::ImageLoader::updateFromElementIgnoringPreviousError): ditto
232         (WebCore::ImageLoader::elementDidMoveToNewDocument): ditto
233         (WebCore::ImageLoader::clearFailedLoadURL): Added a helper method to self-document the code.
234         (WebCore):
235         * loader/ImageLoader.h:
236         (ImageLoader):
237
238 2013-01-03  Vincent Scheib  <scheib@chromium.org>
239
240         Sandbox-blocked pointer lock should log to the console.
241         https://bugs.webkit.org/show_bug.cgi?id=105794
242
243         Reviewed by Adrienne Walker.
244
245         When pointer lock is requested and is denied due to sandbox restrictions
246         a helpful message to web developers is sent to the developer console.
247
248         Existing test expectations updated.
249
250         * page/PointerLockController.cpp:
251         (WebCore::PointerLockController::requestPointerLock):
252
253 2013-01-03  Tom Sepez  <tsepez@chromium.org>
254
255         PingLoader.h missing virtual and OVERRIDE keywords on its inherited methods.
256         https://bugs.webkit.org/show_bug.cgi?id=105975
257
258         Reviewed by Nate Chapin.
259
260         Change adds compile-time checks only, so no new tests.
261
262         * loader/PingLoader.h:
263         (PingLoader):
264         (WebCore::PingLoader::timeout):
265
266 2013-01-02  Levi Weintraub  <leviw@chromium.org>
267
268         Fix incorrect assumption about in-flow descendants of inlines in touch event rect tracking
269         https://bugs.webkit.org/show_bug.cgi?id=105970
270
271         Reviewed by Simon Fraser.
272
273         Correcting the touch event target rect accumulation code to no longer incorrectly assume that
274         non-block renderers held only normal-flow children. The updated code will always walk the
275         complete renderer sub-tree, but only do the work of calculating the absolute rect when the
276         child won't necessarily fall inside its parent (floating, positioned, or transformed).
277
278         Tests: platform/chromium/fast/events/touch/compositor-touch-hit-rects.html updated to catch bug.
279
280         * page/scrolling/ScrollingCoordinator.cpp:
281         (WebCore::accumulateRendererTouchEventTargetRects): Walk all renderer sub-trees. Also keeping
282         track of the last added parent container rect to avoid adding redundant rectangles.
283         (WebCore::accumulateDocumentEventTargetRects): Avoiding adding empty rects.
284
285 2013-01-03  Joshua Bell  <jsbell@chromium.org>
286
287         IndexedDB: Simplify IDBTransactionBackendImpl::scheduleTask usage
288         https://bugs.webkit.org/show_bug.cgi?id=103536
289
290         Reviewed by Tony Chang.
291
292         Move responsibility for firing abort errors from requests that arrive on the
293         back-end after an asynchronous transaction abort out of WebCore, since the
294         front-end takes care of this as far as script is concerned.
295
296         No new tests -  no behavior changes.
297
298         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
299         (WebCore::IDBCursorBackendImpl::continueFunction):
300         (WebCore::IDBCursorBackendImpl::advance):
301         (WebCore::IDBCursorBackendImpl::prefetchContinue):
302         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
303         (WebCore::IDBIndexBackendImpl::openCursor):
304         (WebCore::IDBIndexBackendImpl::openKeyCursor):
305         (WebCore::IDBIndexBackendImpl::count):
306         (WebCore::IDBIndexBackendImpl::get):
307         (WebCore::IDBIndexBackendImpl::getKey):
308         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
309         (WebCore::IDBObjectStoreBackendImpl::get):
310         (WebCore::IDBObjectStoreBackendImpl::put):
311         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
312         (WebCore::IDBObjectStoreBackendImpl::clear):
313         (WebCore::IDBObjectStoreBackendImpl::openCursor):
314         (WebCore::IDBObjectStoreBackendImpl::count):
315
316 2013-01-03  Tiancheng Jiang  <tijiang@rim.com>
317
318         Update BB10 media render theme.
319         https://bugs.webkit.org/show_bug.cgi?id=105728
320
321         Reviewed by Yong Li.
322
323         Internally Reviewed by John Griggs.
324
325         Update GL friendly render method for audio volume.
326         Change the background color for embedded media player to semi-transparent.
327         Change remaining time font color to grey to match full screen video.
328         Change media slider thumb color to blue when pressed.
329
330         * css/mediaControlsBlackBerry.css:
331         (audio):
332         (audio::-webkit-media-controls-embedded-panel, video::-webkit-media-controls-embedded-panel):
333         (video::-webkit-media-controls-time-display-container, audio::-webkit-media-controls-time-display-container):
334         (video::-webkit-media-controls-timeline-container, audio::-webkit-media-controls-timeline-container):
335         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
336         (video::-webkit-media-controls-time-remaining-display, audio::-webkit-media-controls-time-remaining-display):
337         (audio::-webkit-media-controls-volume-slider-container):
338         * platform/blackberry/RenderThemeBlackBerry.cpp:
339         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
340         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
341
342 2013-01-03  Sheriff Bot  <webkit.review.bot@gmail.com>
343
344         Unreviewed, rolling out r138640.
345         http://trac.webkit.org/changeset/138640
346         https://bugs.webkit.org/show_bug.cgi?id=106019
347
348         Causing crashes in multiply() (Requested by danakj on
349         #webkit).
350
351         * platform/graphics/transforms/TransformationMatrix.cpp:
352         (WebCore):
353         (WebCore::TransformationMatrix::multiply):
354         * platform/graphics/transforms/TransformationMatrix.h:
355         (TransformationMatrix):
356
357 2013-01-03  Mike West  <mkwst@chromium.org>
358
359         The 'body' of seamless IFrames should default to 'margin: 0'
360         https://bugs.webkit.org/show_bug.cgi?id=90834
361
362         Reviewed by Antti Koivisto.
363
364         Documents displayed in seamless iframes should override the 'body'
365         element's normal 8px default margins with 0px, in order to ensure that
366         contents are displayed flush with the boundries of the seamless box.[1]
367
368         This patch does so by adding a new pseudoclass to allow the user agent
369         stylesheet to specify a different margin for seamless documents.
370
371         [1]: http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Jul/0039.html
372
373         Test: fast/frames/seamless/seamless-body-margin.html
374
375         * css/CSSSelector.cpp:
376         (WebCore::CSSSelector::pseudoId):
377         (WebCore::nameToPseudoTypeMap):
378         (WebCore::CSSSelector::extractPseudoType):
379         * css/CSSSelector.h:
380         * css/SelectorChecker.cpp:
381         (WebCore::SelectorChecker::checkOneSelector):
382         * css/html.css:
383         (body:-webkit-seamless-document):
384         * rendering/style/RenderStyleConstants.h:
385             Define a new pseudoclass: '-webkit-seamless-document', which
386             matches for any element in a document that's rendered in a
387             seamless IFrame.
388
389 2013-01-03  Mike West  <mkwst@chromium.org>
390
391         seamless iframes don't inherit styles when srcdoc is used
392         https://bugs.webkit.org/show_bug.cgi?id=103539
393
394         Reviewed by Antti Koivisto.
395
396         Seamless iframes populated via a 'srcdoc' attribute should always
397         inherit styles from their parent documents. At the moment, this is
398         only the case when they contain a stylesheet or some other markup
399         that forces a style recalculation on the document. Simple 'srcdoc'
400         attributes (e.g. "srcdoc='<p>This is a comment.</p>'") bail out of
401         recalculating style early, resulting in unstyled appearance.
402
403         This patch instructs WebCore to treat seamless documents as having an
404         updated StyleResolver regardless of what actions the parser takes,
405         which in turn ensures that the document's style is recalculated
406         correctly.
407
408         Test: fast/frames/seamless/seamless-srcdoc.html
409
410         * dom/Document.cpp:
411         (WebCore::Document::implicitOpen):
412             If it's a seamless document, notify it that its StyleResolver isn't
413             what it might have expected.
414
415 2013-01-03  Allan Sandfeld Jensen  <allan.jensen@digia.com>
416
417         [Qt] Implement SimpleFontData::platformBoundsForGlyph
418         https://bugs.webkit.org/show_bug.cgi?id=104127
419
420         Reviewed by Jocelyn Turcotte.
421
422         Implements platformBoundsForGlyph which is necessary for working MathML and Ruby.
423
424         * platform/graphics/qt/SimpleFontDataQt.cpp:
425         (WebCore::SimpleFontData::platformBoundsForGlyph):
426
427 2013-01-02  Steve Block  <steveblock@chromium.org>
428
429         Remove superfluous 'IntPoint toPoint(const IntSize&)'
430         https://bugs.webkit.org/show_bug.cgi?id=105993
431
432         Reviewed by Eric Seidel.
433
434         Refactoring only, no change in behavior.
435
436         * accessibility/AccessibilityObject.cpp:
437         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
438         * accessibility/AccessibilityRenderObject.cpp:
439         (WebCore::AccessibilityRenderObject::remoteSVGElementHitTest):
440         * page/EventHandler.cpp:
441         (WebCore::EventHandler::handleDrag):
442         * page/scrolling/ScrollingCoordinator.cpp:
443         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
444         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
445         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
446         * platform/graphics/IntPoint.h:
447         * rendering/RenderLayer.cpp:
448         (WebCore::RenderLayer::scrollToOffset):
449         (WebCore::RenderLayer::offsetFromResizeCorner):
450         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
451
452 2013-01-02  Huang Dongsung  <luxtella@company100.net>
453
454         [TexMap] Remove m_size in TextureMapperLayer.
455         https://bugs.webkit.org/show_bug.cgi?id=105781
456
457         Reviewed by Noam Rosenthal.
458
459         m_size is duplicated by State::size, so this patch removes it.
460
461         No new tests. Refactoring only.
462
463         * platform/graphics/texmap/TextureMapperLayer.cpp:
464         (WebCore::TextureMapperLayer::computeTransformsRecursive):
465         (WebCore::TextureMapperLayer::paintSelf):
466         (WebCore::TextureMapperLayer::isVisible):
467         (WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
468         * platform/graphics/texmap/TextureMapperLayer.h:
469         (WebCore::TextureMapperLayer::layerRect):
470         (TextureMapperLayer):
471
472 2013-01-02  Kenneth Russell  <kbr@google.com>
473
474         [chromium] Creation of dedicated workers (isolates) leaks reference to HTMLDocument
475         https://bugs.webkit.org/show_bug.cgi?id=105367
476
477         Reviewed by Dmitry Titov.
478
479         Eliminated a Chromium-specific object wrapping WorkerMessagingProxy in order to fix a
480         lifetime management bug, which leaked every Document which started a dedicated worker.
481
482         Test: fast/workers/worker-document-leak.html
483
484         * workers/WorkerLoaderProxy.h:
485         (WorkerLoaderProxy):
486             Added Chromium-specific casting method to bridge two now-distinct class hierarchies.
487         * workers/WorkerMessagingProxy.h:
488         (WorkerMessagingProxy):
489             Made destructor protected instead of private to allow subclassing.
490
491 2013-01-02  Elliott Sprehn  <esprehn@chromium.org>
492
493         Make ClassList::reset's purpose obvious and don't keep quirks string when not needed
494         https://bugs.webkit.org/show_bug.cgi?id=105963
495
496         Reviewed by Ojan Vafai.
497
498         ClassList::reset only exists to handle updating the special SpaceSplitString
499         for quirks mode documents. This adds a new method that makes this obvious and
500         instead of updating the string immediately clear the value and lazily
501         update it. We also clear the value whenever we're inserted into the
502         document so that when moving from a quirks mode document to a non-quirks
503         mode document we don't keep the SpaceSplitString around if it's not needed.
504
505         No new tests, I'm not sure how to write a test that we don't keep the
506         SpaceSplitString when moving between quirks and non-quirks mode documents.
507
508         * dom/Element.cpp:
509         (WebCore::Element::classAttributeChanged):
510         (WebCore::Element::insertedInto):
511         * dom/Element.h:
512         (Element):
513         * dom/ElementRareData.h:
514         (WebCore::ElementRareData::clearClassListValueForQuirksMode):
515         * html/ClassList.cpp:
516         * html/ClassList.h:
517         (WebCore::ClassList::clearValueForQuirksMode):
518
519 2013-01-02  Adam Barth  <abarth@webkit.org>
520
521         [V8] V8DOMWrapper.cpp has many more includes than necessary
522         https://bugs.webkit.org/show_bug.cgi?id=105968
523
524         Reviewed by Kentaro Hara.
525
526         Now that this file isn't in charge of doing everything under the sun,
527         it can have a more focused set of include directives.
528
529         * bindings/v8/V8DOMWrapper.cpp:
530
531 2013-01-02  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
532
533         [EFL][CMAKE] Remove duplicated conditionals
534         https://bugs.webkit.org/show_bug.cgi?id=105905
535
536         Reviewed by Laszlo Gombos.
537
538         Remove conditionals from CMake build system, where the files being built are already wrapped with
539         the conditionals. It just messes cmake file up.
540
541         * PlatformEfl.cmake:
542
543 2013-01-02  Alexey Proskuryakov  <ap@apple.com>
544
545         Release build fix.
546
547         * platform/network/cf/FormDataStreamCFNet.cpp: (WebCore::formFinalize):
548         Use ASSERT_UNUSED for an otherwise unused variable.
549
550 2013-01-02  Tony Chang  <tony@chromium.org>
551
552         Unreviewed, rolling out r138661.
553         http://trac.webkit.org/changeset/138661
554         https://bugs.webkit.org/show_bug.cgi?id=104740
555
556         Compile problems on EFL
557
558         * CMakeLists.txt:
559         * DerivedSources.make:
560         * DerivedSources.pri:
561         * GNUmakefile.am:
562         * UseJSC.cmake:
563         * UseV8.cmake:
564         * WebCore.gyp/WebCore.gyp:
565         * WebCore.gypi:
566         * WebCore.vcproj/WebCoreTestSupport.vcproj:
567         * WebCore.xcodeproj/project.pbxproj:
568         * bindings/scripts/CodeGenerator.pm:
569         (IDLFileForInterface):
570         * page/make_settings.pl:
571         (generateCode):
572         (generateHeader):
573         (printGetterAndSetter):
574         (printInitializer):
575         * testing/InternalSettings.cpp:
576         (WebCore::InternalSettings::Backup::Backup):
577         (WebCore::InternalSettings::Backup::restoreTo):
578         (WebCore::InternalSettings::from):
579         (WebCore::InternalSettings::InternalSettings):
580         (WebCore::InternalSettings::reset):
581         (WebCore::InternalSettings::setPasswordEchoEnabled):
582         (WebCore):
583         (WebCore::InternalSettings::setPasswordEchoDurationInSeconds):
584         * testing/InternalSettings.h:
585         (Backup):
586         (InternalSettings):
587         * testing/InternalSettings.idl:
588         * testing/js/WebCoreTestSupport.cpp:
589         (WebCoreTestSupport::resetInternalsObject):
590         * testing/v8/WebCoreTestSupport.cpp:
591         (WebCoreTestSupport::resetInternalsObject):
592
593 2013-01-02  Adam Barth  <abarth@webkit.org>
594
595         [V8] There are some extra blank lines after removing INC_STATS
596         https://bugs.webkit.org/show_bug.cgi?id=105964
597
598         Reviewed by Ojan Vafai.
599
600         This patch is a followup to http://trac.webkit.org/changeset/138665
601         that removes some extra blank lines that sed wasn't smart enough to
602         delete for us.
603
604         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
605         (WebCore::V8CSSStyleDeclaration::namedPropertyQuery):
606         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
607         (WebCore::V8DOMFormData::appendCallback):
608         * bindings/v8/custom/V8DOMWindowCustom.cpp:
609         (WebCore::V8DOMWindow::addEventListenerCallback):
610         (WebCore::V8DOMWindow::removeEventListenerCallback):
611         (WebCore::V8DOMWindow::postMessageCallback):
612         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
613         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
614         * bindings/v8/custom/V8DocumentCustom.cpp:
615         (WebCore::V8Document::evaluateCallback):
616         * bindings/v8/custom/V8GeolocationCustom.cpp:
617         (WebCore::V8Geolocation::getCurrentPositionCallback):
618         (WebCore::V8Geolocation::watchPositionCallback):
619         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
620         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
621         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
622         (WebCore::V8HTMLCollection::namedPropertyGetter):
623         * bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp:
624         (WebCore::V8HTMLFormControlsCollection::namedPropertyGetter):
625         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
626         (WebCore::v8HTMLImageElementConstructorCallback):
627         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
628         (WebCore::V8HTMLOptionsCollection::namedPropertyGetter):
629         * bindings/v8/custom/V8MessagePortCustom.cpp:
630         (WebCore::V8MessagePort::postMessageCallback):
631         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
632         (WebCore::V8NamedNodeMap::namedPropertyGetter):
633         * bindings/v8/custom/V8NotificationCustom.cpp:
634         (WebCore::V8Notification::requestPermissionCallback):
635         * bindings/v8/custom/V8PopStateEventCustom.cpp:
636         (WebCore::V8PopStateEvent::stateAccessorGetter):
637         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
638         (WebCore::V8SQLResultSetRowList::itemCallback):
639         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
640         (WebCore::V8SQLTransaction::executeSqlCallback):
641         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
642         (WebCore::V8SQLTransactionSync::executeSqlCallback):
643         * bindings/v8/custom/V8StorageCustom.cpp:
644         (WebCore::V8Storage::namedPropertyQuery):
645         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
646         (WebCore::V8StyleSheetList::namedPropertyGetter):
647         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
648         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
649         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
650         (WebCore::V8WebGLRenderingContext::getParameterCallback):
651         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
652         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
653         (WebCore::V8WebGLRenderingContext::getUniformCallback):
654         * bindings/v8/custom/V8WorkerCustom.cpp:
655         (WebCore::V8Worker::postMessageCallback):
656
657 2013-01-02  Alexey Proskuryakov  <ap@apple.com>
658
659         [WK2 NetworkProcess] Uploading fails if a client modified the request
660         https://bugs.webkit.org/show_bug.cgi?id=105965
661
662         Reviewed by Brady Eidson.
663
664         Associating streams with additional information via a side HashMap does not work,
665         because the stream we can see is an internal one, with address and other information
666         not matching a stream that we created.
667
668         It's surprising that this design issue was not causing major trouble without NetworkProcess.
669
670         * platform/network/cf/FormDataStreamCFNet.cpp:
671         (WebCore): Renamed FormContext to FormCreationContext, because this type only used
672         for creation. Later, we use FormStreamFields as context.
673         (WebCore::closeCurrentStream): Moved a star.
674         (WebCore::formCreate): We no longer have a side map to keep updated.
675         (WebCore::formFinalize): Ditto.
676         (WebCore::formCopyProperty): Added an accessor to get FormData pointer from a stream.
677         (WebCore::setHTTPBody): Ditto.
678         (WebCore::httpBodyFromStream): Use the new property to get FormData pointer.
679
680 2013-01-02  Elliott Sprehn  <esprehn@chromium.org>
681
682         Clean up dispatchEvent overrides and overloads
683         https://bugs.webkit.org/show_bug.cgi?id=105959
684
685         Reviewed by Adam Barth.
686
687         Add OVERRIDE to all dispatchEvent overrides and use "using" instead of
688         reimplementing EventTarget::dispatchEvent in subclasses where having the
689         virtual override of dispatchEvent hides the overloads in
690         the superclass.
691
692         No new tests, just refactoring.
693
694         * Modules/indexeddb/IDBDatabase.h:
695         (IDBDatabase):
696         * Modules/indexeddb/IDBOpenDBRequest.h:
697         (IDBOpenDBRequest):
698         * Modules/indexeddb/IDBRequest.h:
699         (IDBRequest):
700         * Modules/indexeddb/IDBTransaction.h:
701         (IDBTransaction):
702         * dom/EventDispatchMediator.h:
703         (FocusEventDispatchMediator):
704         (BlurEventDispatchMediator):
705         * dom/GestureEvent.h:
706         (GestureEventDispatchMediator):
707         * dom/KeyboardEvent.h:
708         (KeyboardEventDispatchMediator):
709         * dom/MouseEvent.h:
710         * dom/Node.h:
711         (Node):
712         * dom/UIEvent.h:
713         (FocusInEventDispatchMediator):
714         (FocusOutEventDispatchMediator):
715         * dom/WheelEvent.h:
716         (WheelEventDispatchMediator):
717         * html/HTMLMediaElement.h:
718         * html/track/TextTrackCue.cpp:
719         * html/track/TextTrackCue.h:
720         (TextTrackCue):
721         * page/DOMWindow.h:
722         (DOMWindow):
723         * svg/SVGElementInstance.h:
724         (SVGElementInstance):
725
726 2013-01-02  David Grogan  <dgrogan@chromium.org>
727
728         IndexedDB: Surface a few more leveldb errors.
729         https://bugs.webkit.org/show_bug.cgi?id=105670
730
731         Reviewed by Tony Chang.
732
733         Two calls to old LevelDBTransaction::get slipped through the cracks.
734
735         * Modules/indexeddb/IDBBackingStore.cpp:
736         (WebCore::IndexKeyCursorImpl::loadCurrentRow):
737         (WebCore::IndexCursorImpl::loadCurrentRow):
738           Make these two functions use safeGet instead of get.
739
740         * platform/leveldb/LevelDBTransaction.cpp:
741         * platform/leveldb/LevelDBTransaction.h:
742           Remove get now that it is unused.
743
744 2013-01-02  Bem Jones-Bey  <bjonesbe@adobe.com>
745
746         When a block's height is determined by min-height/max-height, children with percentage heights are sized incorrectly
747         https://bugs.webkit.org/show_bug.cgi?id=26559
748
749         Reviewed by Tony Chang.
750
751         Percentage logical height computation now takes into account the min and max height of the container.
752
753         Test: fast/block/min-max-height-percent-height-child.html
754
755         * rendering/RenderBox.cpp:
756         (WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax): Added. Like constrainLogicalHeightByMinMax,
757             but constrains the content box instead of the border box.
758         (WebCore):
759         (WebCore::RenderBox::computeContentLogicalHeight): Make const so it can be called from the const method
760             constrainContentBoxLogicalHeightByMinMax.
761         (WebCore::RenderBox::computePercentageLogicalHeight): Use constrainContentBoxLogicalHeightByMinMax to properly
762             respect min and max height on the containing box when computing the percentage height.
763         * rendering/RenderBox.h:
764         (RenderBox):
765
766 2013-01-02  Tony Chang  <tony@chromium.org>
767
768         Unreviewed, force InternalSettings.cpp to rebuild to try and fix the Apple Win build.
769
770         * testing/InternalSettings.cpp:
771
772 2013-01-02  Alec Flett  <alecflett@chromium.org>
773
774         IndexedDB: Use non-const buffers in put() to avoid copies
775         https://bugs.webkit.org/show_bug.cgi?id=105572
776
777         Reviewed by Adam Barth.
778
779         Change the new put() method to allow the implementation to consume
780         or adopt the vector, to avoid copying.
781
782         No new tests as this is an interface change that will be implemented later.
783
784         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
785         (WebCore::IDBDatabaseBackendImpl::put):
786         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
787         (IDBDatabaseBackendImpl):
788         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
789
790 2013-01-02  Adam Barth  <abarth@webkit.org>
791
792         [V8] Remove INC_STATS because it is unused
793         https://bugs.webkit.org/show_bug.cgi?id=105957
794
795         Reviewed by Ojan Vafai.
796
797         We haven't been able to compile with INC_STATS turned on in a long
798         time. This patch just removes this ancient cruft. I generated this
799         patch using
800
801         find . -type f | xargs sed -i '/INC_STATS/d'
802
803         and then fixing up V8BindingMacros.h.
804
805 2013-01-02  Tony Chang  <tony@chromium.org>
806
807         Generate internal.settings from Settings.in
808         https://bugs.webkit.org/show_bug.cgi?id=104740
809
810         Reviewed by Adam Barth.
811
812         If the setting is declared in Settings.in and is a basic type, generate a
813         setter function at internals.settings.
814
815         InternalSettingsGenerated.idl is created by make_settings.pl. InternalSettings.idl
816         inherits from InternalSettingsGenerated.idl so we can override generated functions if
817         needed or add additional custom setters.
818
819         This patch removes 2 password echo methods from InternalSettings.idl since they are
820         auto generated. There are other methods we could remove, but I'll do that in a followup.
821
822         No new tests, existing tests should pass. Specifically, editing/input/password* tests should pass.
823
824         * CMakeLists.txt: Add generated cpp file to the testing lib.
825         * DerivedSources.make: Add generated idl file and specify all the outputs of make_settings.pl
826         * DerivedSources.pri: Generate idl file before generating bindings and include generated idl
827         for bindings generation.
828         * GNUmakefile.am: Specify all the generated files of make_settings.pl. Add generated idl to
829         list of files to be processed and resulting output to be compiled.
830         * UseJSC.cmake: Add generated idl file to list of idl files to process.
831         * UseV8.cmake: Same as UseJSC.cmake.
832         * WebCore.gyp/WebCore.gyp: Run make_settings.pl earlier so we can run the output through the
833         bindings generator.
834         * WebCore.gypi: Add new files.
835         * WebCore.vcproj/WebCoreTestSupport.vcproj: Add new files.
836         * WebCore.xcodeproj/project.pbxproj: Add new files.
837         * bindings/scripts/CodeGenerator.pm:
838         (IDLFileForInterface): Add current directory to the include path so DerivedSources.make can
839         find the generated idl file.
840         * page/make_settings.pl:
841         (generateCode): Generate InternalSettingsGenerated.{idl,h,cpp}.
842         (generateSettingsMacrosHeader): Rename since we're generating 2 headers now.
843         (setterFunctionName): Helper function for naming a setter.
844         (printGetterAndSetter): Use setterFunctionName.
845         (enumerateParsedItems): Helper function that visits each parsed item.
846         (generateInternalSettingsIdlFile): Generate idl file.
847         (generateInternalSettingsHeaderFile): Generate header file.
848         (generateInternalSettingsCppFile): Generate C++ file.
849         * testing/InternalSettings.cpp:
850         (WebCore::InternalSettings::Backup::Backup): Remove password echo members.
851         (WebCore::InternalSettings::Backup::restoreTo): Remove password echo members.
852         (InternalSettingsWrapper): We can't use RefCountedSupplemental because we're we're already
853         RefCounted. Create a wrapper class to wrap the RefCounted InternalSettings for Supplement<>::provideTo,
854         which uses an OwnPtr.
855         (WebCore::InternalSettingsWrapper::InternalSettingsWrapper): Wraps an InternalSettings that the Page can own.
856         (WebCore::InternalSettingsWrapper::~InternalSettingsWrapper): Clear's m_page when the Page goes away.
857         (WebCore::InternalSettingsWrapper::internalSettings): Unwrap InternalSettings.
858         (WebCore::InternalSettings::from): Update to use InternalSettingsWrapper.
859         (WebCore::InternalSettings::InternalSettings): Call base class constructor.
860         (WebCore::InternalSettings::resetToConsistentState): Renamed from reset() and pass through to base class.
861         Also remove unnecessary pageScaleFactor reset (done in Internals::resetToConsistentState).
862         * testing/InternalSettings.h:
863         (Backup): Remove password echo members.
864         (WebCore::InternalSettings::create): Create an instance instead of using new.
865         (WebCore::InternalSettings::hostDestroyed): Clear the page. This is similar to the code that
866         RefCountedSupplemental has.
867         * testing/InternalSettings.idl: Extends InternalSettingsGenerated.
868         * testing/js/WebCoreTestSupport.cpp:
869         (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
870         * testing/v8/WebCoreTestSupport.cpp:
871         (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
872         Remove an unused header.
873
874 2013-01-02  Adam Barth  <abarth@webkit.org>
875
876         HTML preload scanner doesn't need to remember whether we're scanning the body
877         https://bugs.webkit.org/show_bug.cgi?id=105945
878
879         Reviewed by Eric Seidel.
880
881         As far as I can tell, no one uses this state.
882
883         * html/parser/CSSPreloadScanner.cpp:
884         (WebCore::CSSPreloadScanner::CSSPreloadScanner):
885         (WebCore::CSSPreloadScanner::scan):
886         (WebCore::CSSPreloadScanner::emitRule):
887         * html/parser/CSSPreloadScanner.h:
888         (CSSPreloadScanner):
889         * html/parser/HTMLPreloadScanner.cpp:
890         (WebCore::PreloadTask::preload):
891         (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
892         (WebCore::HTMLPreloadScanner::processToken):
893         * html/parser/HTMLPreloadScanner.h:
894         (HTMLPreloadScanner):
895         * loader/cache/CachedResourceLoader.cpp:
896         (WebCore::CachedResourceLoader::preload):
897         * loader/cache/CachedResourceLoader.h:
898         (CachedResourceLoader):
899
900 2013-01-02  Abhishek Arya  <inferno@chromium.org>
901
902         Crash in WebCore::Element::cloneElementWithoutChildren.
903         https://bugs.webkit.org/show_bug.cgi?id=105949
904
905         Reviewed by Ryosuke Niwa.
906         
907         RefPtr |ancestors| vector since its elements can be destroyed from mutation events
908         fired in CompositeEditCommand::appendNode. 
909
910         No new tests. The testcase relies on recursive DOM mutations and does not minimize.
911
912         * editing/InsertParagraphSeparatorCommand.cpp:
913         (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock):
914         (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
915         (WebCore::InsertParagraphSeparatorCommand::doApply):
916         * editing/InsertParagraphSeparatorCommand.h:
917         (InsertParagraphSeparatorCommand):
918
919 2013-01-02  Douglas Stockwell  <dstockwell@chromium.org>
920
921         Crash in WebCore::InlineBox::deleteLine
922         https://bugs.webkit.org/show_bug.cgi?id=93448
923
924         Reviewed by Eric Seidel.
925
926         When we ran off the end of the line while looking for line breaks in an
927         inline with white-space:nowrap nested in a block with white-space:pre
928         it was possible for the line break to be set at or before the current
929         position -- this could result in duplications in the render tree or
930         infinite looping.
931
932         This patch changes the "fixup" logic that runs after we have finished
933         iterating through elements and text and have potentially found a break
934         point. In the case of a block setting white-space:pre we would back up
935         a character in some cases. Not doing so could leave whitespace that
936         should have been collapsed at the end of an inline.
937
938         For example in '<span style="white-space:nowrap">x_</span>_y' if a
939         break was inserted before 'y' the space after 'x' would still be
940         rendered (rather than be collapsed with the break).
941
942         To avoid this problem we will not take the opportunity to break until
943         we have finished collapsing whitespace.
944
945         Tests: fast/text/whitespace/inline-whitespace-wrapping-1.html
946                fast/text/whitespace/inline-whitespace-wrapping-2.html
947                fast/text/whitespace/inline-whitespace-wrapping-3.html
948                fast/text/whitespace/inline-whitespace-wrapping-4.html
949                fast/text/whitespace/nowrap-white-space-collapse.html
950                fast/text/whitespace/pre-block-normal-inline-crash-1.html
951                fast/text/whitespace/pre-block-normal-inline-crash-2.html
952
953         * rendering/RenderBlockLineLayout.cpp:
954         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Collapse
955         whitespace before breaking. Avoid setting the break before the current
956         position.
957
958 2013-01-02  Adam Barth  <abarth@webkit.org>
959
960         Remove webkitPostMessage
961         https://bugs.webkit.org/show_bug.cgi?id=105910
962
963         Reviewed by Kentaro Hara.
964
965         The vendor-prefixed version of postMessage was never widely used.
966         We've been compiling it out of the Chromium port for a while now and
967         haven't received any reports of compatibility problems. I've done a
968         number of web searches for uses of the API and personally contacted a
969         handful of authors I found using the API, all of whom have now moved to
970         the identical unprefixed API. We've publicied the prefix removal in a
971         blog post:
972
973         http://blog.chromium.org/2012/11/a-web-developers-guide-to-latest-chrome.html
974
975         and discussed it on webkit-dev:
976
977         http://lists.macosforge.org/pipermail/webkit-dev/2012-September/022189.html
978
979         We've done our diligence, and now we should remove the API from the
980         remainder of the ports.
981
982         * bindings/js/JSDOMWindowCustom.cpp:
983         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
984         * bindings/js/JSMessagePortCustom.cpp:
985         * bindings/js/JSWorkerCustom.cpp:
986         * bindings/v8/custom/V8DOMWindowCustom.cpp:
987         (WebCore::V8DOMWindow::postMessageCallback):
988         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
989         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
990         * bindings/v8/custom/V8MessagePortCustom.cpp:
991         (WebCore::V8MessagePort::postMessageCallback):
992         * bindings/v8/custom/V8WorkerCustom.cpp:
993         (WebCore::V8Worker::postMessageCallback):
994         * dom/MessagePort.idl:
995         * page/DOMWindow.idl:
996         * workers/DedicatedWorkerContext.idl:
997         * workers/Worker.idl:
998
999 2013-01-02  Benjamin Poulain  <benjamin@webkit.org>
1000
1001         Optimize TransformationMatrix::multiply() for x86_64
1002         https://bugs.webkit.org/show_bug.cgi?id=105719
1003
1004         Reviewed by Sam Weinig.
1005
1006         On x86_64, we have access to 16 XMM registers. This can hold 32 double values.
1007         We can use that in two ways to optimize matrix multiplications:
1008         -Keep the source matrix completely in registers. Write the result directly in
1009          the source matrix's memory. This avoids the memcpy at the end of the multiplication
1010          and various memory operations.
1011         -Use SIMD with SSE to perform 2 operations at a time.
1012
1013         The parameter from the second matrix are loaded one by one in XMM registers.
1014         Loading them with SSE then shuffling the values perform worse than loading
1015         one by one.
1016
1017         This is only enabled on 64bits as x86 only has access to 8 XMM registers and
1018         the function should be written differently.
1019
1020         On a i5, TransformationMatrix::multiply() perform about 3 times faster with the change.
1021
1022         * platform/graphics/transforms/TransformationMatrix.cpp:
1023         (WebCore::TransformationMatrix::multiply):
1024         * platform/graphics/transforms/TransformationMatrix.h:
1025         (TransformationMatrix): Fix an incorrect comment. Unify the comment with the cpp file.
1026
1027 2013-01-02  Mike West  <mkwst@chromium.org>
1028
1029         Clean up the loadXXXStyle() idiom in StyleResolver.
1030         https://bugs.webkit.org/show_bug.cgi?id=105903
1031
1032         Reviewed by Darin Adler.
1033
1034         This patch refactors 'loadViewSourceStyle' in order to avoid the
1035         necessity of each call site checking whether the relevant data has
1036         been loaded. The new 'viewSourceStyle' will load the data if required,
1037         and return a pointer which can be used directly.
1038
1039         No new tests, as this refactoring should exhibit no visible change in
1040         behavior.
1041
1042         * css/StyleResolver.cpp:
1043         (WebCore::viewSourceStyle):
1044             Lazily populate the static 'defaultViewSourceStyle' with data. I
1045             haven't removed the outer variable, as it's used directly in
1046             StyleResolver::reportMemoryUsage.
1047         (WebCore::StyleResolver::matchUARules):
1048         (WebCore::StyleResolver::collectFeatures):
1049             Use the new hotness rather than the old, lame method.
1050
1051 2013-01-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1052
1053         Unreviewed, rolling out r138627.
1054         http://trac.webkit.org/changeset/138627
1055         https://bugs.webkit.org/show_bug.cgi?id=105935
1056
1057         This patch doesn't fix Windows port build failure (Requested
1058         by rniwa on #webkit).
1059
1060         * WebCore.vcproj/WebCore.vcproj:
1061
1062 2013-01-02  Elliott Sprehn  <esprehn@chromium.org>
1063
1064         Transitions and animations do not apply to CSS ::before and ::after pseudo-elements
1065         https://bugs.webkit.org/show_bug.cgi?id=92591
1066
1067         Reviewed by Eric Seidel.
1068
1069         The new DOM based :before and :after pseudo elements support animations
1070         and transitions already, but I had disabled support so we could turn them
1071         on in a separate step. This patch just removes the checks and adds tests.
1072
1073         This also adds two methods to internals to allow pausing animations and
1074         transitions on pseudo elements at predictable locations so the tests
1075         are not flaky.
1076
1077         Tests: fast/css-generated-content/pseudo-animation.html
1078                fast/css-generated-content/pseudo-transition.html
1079
1080         * WebCore.exp.in:
1081         * page/animation/AnimationController.cpp:
1082         (WebCore::AnimationController::updateAnimations):
1083         * testing/Internals.cpp:
1084         (WebCore::Internals::pauseAnimationAtTimeOnPseudoElement):
1085         (WebCore::Internals::pauseTransitionAtTimeOnPseudoElement):
1086         * testing/Internals.h:
1087         (Internals):
1088         * testing/Internals.idl:
1089
1090 2013-01-02  Chris Rogers  <crogers@google.com>
1091
1092         Implement WebIDL-style string constants in WebAudio
1093         https://bugs.webkit.org/show_bug.cgi?id=105058
1094
1095         Reviewed by Kentaro Hara.
1096
1097         See Deprecation Notes for more detail:
1098         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DeprecationNotes
1099
1100         PannerNode, BiquadFilterNode, OscillatorNode constants must support WebIDL-style string constants.
1101         Legacy support in the setters for the old integer values should be supported.
1102
1103         This patch handles the changes for OscillatorNode.
1104
1105         * GNUmakefile.list.am:
1106         * Modules/webaudio/OscillatorNode.cpp:
1107         (WebCore::OscillatorNode::OscillatorNode):
1108         (WebCore::OscillatorNode::type):
1109         (WebCore):
1110         (WebCore::OscillatorNode::setType):
1111         * Modules/webaudio/OscillatorNode.h:
1112         * Modules/webaudio/OscillatorNode.idl:
1113         * Target.pri:
1114         * UseJSC.cmake:
1115         * UseV8.cmake:
1116         * WebCore.gypi:
1117         * WebCore.xcodeproj/project.pbxproj:
1118         * bindings/js/JSOscillatorNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/OscillatorNode.idl.
1119         (WebCore):
1120         (WebCore::JSOscillatorNode::setType):
1121         * bindings/v8/custom/V8OscillatorNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/OscillatorNode.idl.
1122         (WebCore):
1123         (WebCore::V8OscillatorNode::typeAccessorSetter):
1124
1125 2013-01-02  Robert Hogan  <robert@webkit.org>
1126
1127         Regression (r132935): WebKit breaks between <nobr> tags
1128         https://bugs.webkit.org/show_bug.cgi?id=11857
1129
1130         Reviewed by David Hyatt.
1131
1132         The fix for bug 29648 in http://trac.webkit.org/changeset/132935 was too broad - it caused us
1133         to find linebreaks in autowrap containers between non-wrapping elements where there was no 
1134         whitespace to allow the break. This reverts the code change in r132935 and ensures we attempt
1135         to move below floats when inside an autowrap container but leaves the treatment of non-wrapping
1136         elements in an autowrap container unaffected.
1137
1138         Test: fast/inline/break-between-nobr.html
1139
1140         * rendering/RenderBlockLineLayout.cpp:
1141         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1142
1143 2013-01-02  Ryosuke Niwa  <rniwa@webkit.org>
1144
1145         Another Windows port build fix attempt. Don't try to build WTF files in WebCore.
1146
1147         Rubber-stamped by Sam Weinig.
1148
1149         * WebCore.vcproj/WebCore.vcproj:
1150
1151 2013-01-02  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1152
1153         [EFL] [WebGL] Minor cleanup in PlatformContext.
1154         https://bugs.webkit.org/show_bug.cgi?id=105872
1155
1156         Reviewed by Kenneth Rohde Christiansen.
1157
1158         The logic to check for supported extensions is scattered in different classes i.e PlatformContext, eglcontext etc.
1159         This patch cleans up any duplicate code and adds new api in GLPlatformContext to query for supported GL, EGL and GLX extensions.
1160
1161         * PlatformEfl.cmake:
1162         * platform/graphics/opengl/GLPlatformContext.cpp:
1163         (WebCore):
1164         (WebCore::GLPlatformContext::createContext):
1165         (WebCore::GLPlatformContext::supportsGLExtension):
1166         (WebCore::GLPlatformContext::supportsEGLExtension):
1167         (WebCore::GLPlatformContext::supportsGLXExtension):
1168         (WebCore::GLPlatformContext::makeCurrent):
1169         (WebCore::GLPlatformContext::initializeResetStatusExtension):
1170         * platform/graphics/opengl/GLPlatformContext.h:
1171         * platform/graphics/surfaces/egl/EGLContext.cpp:
1172         (WebCore::isRobustnessExtSupported):
1173         (WebCore::EGLOffScreenContext::initialize):
1174         * platform/graphics/surfaces/glx/GLXContext.cpp:
1175         (WebCore::initializeARBExtensions):
1176         (WebCore::GLXOffScreenContext::initialize):
1177
1178 2013-01-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1179
1180         Unreviewed, rolling out r138601.
1181         http://trac.webkit.org/changeset/138601
1182         https://bugs.webkit.org/show_bug.cgi?id=105917
1183
1184         Also not an optimal solution, needs more discussion.
1185         (Requested by mkwst_ on #webkit).
1186
1187         * dom/Document.cpp:
1188         (WebCore::Document::finishedParsing):
1189
1190 2013-01-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1191
1192         Unreviewed, rolling out r138611.
1193         http://trac.webkit.org/changeset/138611
1194         https://bugs.webkit.org/show_bug.cgi?id=105916
1195
1196         Not an optimal solution, needs more discussion. (Requested by
1197         mkwst_ on #webkit).
1198
1199         * CMakeLists.txt:
1200         * DerivedSources.make:
1201         * DerivedSources.pri:
1202         * GNUmakefile.am:
1203         * WebCore.gyp/WebCore.gyp:
1204         * WebCore.vcproj/WebCore.vcproj:
1205         * css/StyleResolver.cpp:
1206         (WebCore):
1207         (WebCore::StyleResolver::matchUARules):
1208         (WebCore::StyleResolver::collectFeatures):
1209         (WebCore::StyleResolver::reportMemoryUsage):
1210         * css/seamless.css: Removed.
1211
1212 2013-01-02  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
1213
1214         [AC] Memory leak in GraphicsSurfacePrivate::findFBConfigWithAlpha()
1215         https://bugs.webkit.org/show_bug.cgi?id=105770
1216
1217         Reviewed by Noam Rosenthal.
1218
1219         Free the memory returned by glXGetVisualFromFBConfig() using
1220         XFree to avoid a memory leak.
1221
1222         No new tests. No change in behavior.
1223
1224         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
1225         (WebCore::GraphicsSurfacePrivate::findFBConfigWithAlpha):
1226
1227 2013-01-02  Mike West  <mkwst@chromium.org>
1228
1229         The 'body' of seamless IFrames should default to 'margin: 0'
1230         https://bugs.webkit.org/show_bug.cgi?id=90834
1231
1232         Reviewed by Eric Seidel.
1233
1234         Documents displayed in seamless iframes should override the 'body'
1235         element's normal 8px default margins with 0px, in order to ensure that
1236         contents are displayed flush with the boundries of the seamless box.[1]
1237
1238         This patch does so by adding a new user agent stylesheet for seamless
1239         documents, and teaching the StyleResolver how and when to apply it.
1240
1241         [1]: http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Jul/0039.html
1242
1243         Test: fast/frames/seamless/seamless-body-margin.html
1244
1245         * DerivedSources.make:
1246         * DerivedSources.pri:
1247         * GNUmakefile.am:
1248         * WebCore.gyp/WebCore.gyp:
1249         * WebCore.vcproj/WebCore.vcproj:
1250         * CMakeLists.txt:
1251             Added a new CSS file! Let's tell everyone!
1252         * css/StyleResolver.cpp:
1253         (WebCore):
1254         (WebCore::loadSeamlessStyle):
1255         (WebCore::StyleResolver::matchUARules):
1256         (WebCore::StyleResolver::collectFeatures):
1257         (WebCore::StyleResolver::reportMemoryUsage):
1258             Load the new stylesheet, and apply it to the document in
1259             matchUARules iff the document should be displayed seamlessly.
1260         * css/seamless.css: Added.
1261         (body):
1262             Stylesheet containing defaults for seamless documents.
1263
1264 2013-01-01  Dan Bernstein  <mitz@apple.com>
1265
1266         <rdar://problem/12942239> Update copyright strings
1267
1268         Reviewed by Sam Weinig.
1269
1270         * Info.plist:
1271
1272 2013-01-01  KwangYong Choi  <ky0.choi@samsung.com>
1273
1274         [EFL] Enable MHTML feature
1275         https://bugs.webkit.org/show_bug.cgi?id=105815
1276
1277         Reviewed by Laszlo Gombos.
1278
1279         Add application/x-mimearchive type to archive mime types.
1280         Add mht and mhtml to extension map.
1281
1282         No new tests. Existing layout tests pass.
1283
1284         * loader/archive/ArchiveFactory.cpp:
1285         (WebCore::archiveMIMETypes):
1286         * platform/efl/MIMETypeRegistryEfl.cpp:
1287         (WebCore):
1288
1289 2013-01-01  Mike West  <mkwst@chromium.org>
1290
1291         seamless iframes don't inherit styles when srcdoc is used
1292         https://bugs.webkit.org/show_bug.cgi?id=103539
1293
1294         Reviewed by Eric Seidel.
1295
1296         Seamless iframes populated via a 'srcdoc' attribute should always
1297         inherit styles from their parent documents. At the moment, this is
1298         only the case when they contain a stylesheet or some other markup
1299         that forces a style recalculation on the document. Simple 'srcdoc'
1300         attributes (e.g. "srcdoc='<p>This is a comment.</p>'") bail out of
1301         recalculating style early, resulting in unstyled appearance.
1302
1303         This patch instructs WebCore to treat seamless documents as having an
1304         updated StyleResolver regardless of what actions the parser takes,
1305         which in turn ensures that the document's style is recalculated
1306         correctly.
1307
1308         Test: fast/frames/seamless/seamless-srcdoc.html
1309
1310         * dom/Document.cpp:
1311         (WebCore::Document::finishedParsing):
1312             If it's a seamless document, notify it that its StyleResolver isn't
1313             what it might have expected.
1314
1315 2012-12-31  Jeff Rogers  <jrogers@rim.com>
1316
1317         [BlackBerry] Fullscreen Media Time Indicators Background Incorrect
1318         https://bugs.webkit.org/show_bug.cgi?id=105888
1319
1320         Reviewed by George Staikos.
1321
1322         Internal PR 272699.
1323         Update fullscreen media controls CSS to fix time container background
1324         color. Also fix transparency to be 80% opaque to and the time
1325         remaining text color to match the system player.
1326
1327         No new tests as there is no functionality change.
1328
1329         * css/mediaControlsBlackBerryFullscreen.css:
1330         (video:-webkit-full-screen::-webkit-media-controls-panel):
1331         (video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-display-container):
1332         (video:-webkit-full-screen::-webkit-media-controls-fullscreen-timeline-container):
1333         (video:-webkit-full-screen::-webkit-media-controls-fullscreen-current-time-display):
1334         (video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-remaining-display):
1335         (video:-webkit-full-screen::-webkit-media-controls-fullscreen-button-container, video:-webkit-full-screen::-webkit-media-controls-play-button-container):
1336         (video:-webkit-full-screen::-webkit-media-controls-placeholder):
1337
1338 2012-12-31  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1339
1340         [EFL][WebGL] Add compile time support for GLES2.
1341         https://bugs.webkit.org/show_bug.cgi?id=105816
1342
1343         Reviewed by Kenneth Rohde Christiansen.
1344
1345         This patch adds build support for GLES2.
1346         GLES2 support can be enabled during compile time by passing -DENABLE_GLES2=ON as
1347         cmake config parameter. GLES2 options is not enabled by default. This patch doesn't
1348         address all the build issues related to GLES2 but only adds the needed support in
1349         PlatformEfl.cmake.
1350
1351         * PlatformEfl.cmake:
1352
1353 2012-12-31  Andy Chen  <andchen@rim.com>
1354
1355         [BlackBerry] The HTML5 video fullscreen time indicator on the right cuts clipped when the video is longer than 1 hour
1356         https://bugs.webkit.org/show_bug.cgi?id=105887
1357
1358         Reviewed by George Staikos.
1359
1360         The width of the time part was fixed. Remove it.
1361
1362         No new test is required because no functionality change.
1363
1364         * platform/blackberry/RenderThemeBlackBerry.cpp:
1365         (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
1366
1367 2012-12-30  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1368
1369         [EFL] [WebGL] Rename EGLConfigHelper as EGLConfigSelector.
1370         https://bugs.webkit.org/show_bug.cgi?id=105876
1371
1372         Reviewed by Kenneth Rohde Christiansen.
1373
1374         This is to sync the naming conventions of our classes in both EGL and GLX implementations. 
1375         In our GLX implementation, class responsible for the same functionality is named as GLXConfigSelector. 
1376         This patch renames EGLConfigHelper as EGLConfigSelector.
1377
1378         * PlatformEfl.cmake:
1379         * platform/graphics/surfaces/egl/EGLConfigSelector.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/egl/EGLConfigHelper.cpp.
1380         (WebCore):
1381         (WebCore::SharedEGLDisplay::deref):
1382         (WebCore::SharedEGLDisplay::sharedEGLDisplay):
1383         (WebCore::SharedEGLDisplay::SharedEGLDisplay):
1384         (WebCore::SharedEGLDisplay::cleanup):
1385         (WebCore::SharedEGLDisplay::~SharedEGLDisplay):
1386         (WebCore::EGLConfigSelector::EGLConfigSelector):
1387         (WebCore::EGLConfigSelector::~EGLConfigSelector):
1388         (WebCore::EGLConfigSelector::display):
1389         (WebCore::EGLConfigSelector::pBufferContextConfig):
1390         (WebCore::EGLConfigSelector::surfaceContextConfig):
1391         (WebCore::EGLConfigSelector::nativeVisualId):
1392         (WebCore::EGLConfigSelector::reset):
1393         (WebCore::EGLConfigSelector::createConfig):
1394         * platform/graphics/surfaces/egl/EGLConfigSelector.h: Renamed from Source/WebCore/platform/graphics/surfaces/egl/EGLConfigHelper.h.
1395         (WebCore):
1396         (SharedEGLDisplay):
1397         (WebCore::SharedEGLDisplay::create):
1398         (EGLConfigSelector):
1399         * platform/graphics/surfaces/egl/EGLSurface.cpp:
1400         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
1401         (WebCore::EGLWindowTransportSurface::configuration):
1402         (WebCore::EGLWindowTransportSurface::destroy):
1403         * platform/graphics/surfaces/egl/EGLSurface.h:
1404         (EGLWindowTransportSurface):
1405
1406 2012-12-30  Philippe Normand  <pnormand@igalia.com>
1407
1408         [GStreamer] webaudio/decode-audio-data-basic.html fails
1409         https://bugs.webkit.org/show_bug.cgi?id=105298
1410
1411         Reviewed by Martin Robinson.
1412
1413         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1414         (WebCore::AudioFileReader::createBus): Return a null pointer if an
1415         error happened while processing a media file.
1416
1417 2012-12-30  Christophe Dumez  <christophe.dumez@intel.com>
1418
1419         Regression(r138545): Makes WebAudio tests crash
1420         https://bugs.webkit.org/show_bug.cgi?id=105869
1421
1422         Reviewed by Philippe Normand.
1423
1424         Stop using smart pointers and adoptGRef() for the
1425         GstBus object and call gst_object_unref() manually.
1426         This fixes assertions hits when calling adoptGRef()
1427         since the GstBus object has a floating reference.
1428
1429         Alternatively, we could keep using smart pointers
1430         and stop calling adoptGRef() so that
1431         gst_object_ref_sink() is called and the floating
1432         flag is cleared but I think it is clearer to do
1433         it manually here.
1434
1435         No new tests, already covered by existing tests.
1436
1437         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
1438         (WebCore::messageCallback):
1439         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
1440         (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
1441         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1442         (WebCore::AudioFileReader::~AudioFileReader):
1443         (WebCore::AudioFileReader::decodeAudioForBusCreation):
1444
1445 2012-12-29  Dimitri Glazkov  <dglazkov@chromium.org>
1446
1447         Rename StyleResolver's member variable that holds SelectorChecker to a proper name.
1448         https://bugs.webkit.org/show_bug.cgi?id=105864
1449
1450         In https://bugs.webkit.org/show_bug.cgi?id=105660#c11, Antti suggested renaming m_checker to
1451         m_selectorChecker. I've forgotten about that, but now I remembered it.
1452
1453         Reviewed by Eric Seidel.
1454
1455         No change in functionality, covered by existing tests.
1456
1457         * css/StyleResolver.cpp/h: Renamed all instances of m_checker to m_selectorChecker.
1458
1459 2012-12-29  Dimitri Glazkov  <dglazkov@chromium.org>
1460
1461         Move pointer to Document up from SelectorChecker to StyleResolver.
1462         https://bugs.webkit.org/show_bug.cgi?id=105863
1463
1464         Now that SelectorChecker is mostly stateless, it no longer needs to keep a pointer to Document, which
1465         makes all the code in StyleResolver that reaches for it sort of weird.
1466
1467         Reviewed by Eric Seidel.
1468
1469         No change in functionality, covered by existing tests.
1470
1471         * css/SelectorChecker.cpp:
1472         (WebCore::SelectorChecker::SelectorChecker): Changed to take document as argument (only used to set bit fields).
1473         (WebCore::SelectorChecker::checkOneSelector): Changed to use element document.
1474         (WebCore::SelectorChecker::checkScrollbarPseudoClass): Ditto.
1475         * css/SelectorChecker.h:
1476         (WebCore): Removed unnecessary Document forward declaration.
1477         (SelectorChecker): Changed constructor declaration, and removed m_document member.
1478         * css/StyleResolver.cpp:
1479         (WebCore::StyleResolver::StyleResolver): Adjusted SelectorChecker initializer accordingly.
1480         (WebCore::StyleResolver::initElement): Changed to use own document accessor.
1481         (WebCore::StyleResolver::initForStyleResolve): Ditto.
1482         (WebCore::StyleResolver::matchUARules): Ditto.
1483         (WebCore::StyleResolver::styleForPage): Ditto.
1484         (WebCore::StyleResolver::applyProperty): Ditto.
1485         (WebCore::StyleResolver::checkForGenericFamilyChange): Ditto.
1486         (WebCore::StyleResolver::initializeFontStyle): Ditto.
1487         (WebCore::StyleResolver::setFontSize): Ditto.
1488         * css/StyleResolver.h:
1489         (WebCore::StyleResolver::document): Changed to use own member.
1490         (WebCore::StyleResolver::documentSettings): Ditto.
1491         (StyleResolver): Added m_document member.
1492         * dom/SelectorQuery.cpp:
1493         (WebCore::SelectorQuery::matches): Changed callsite to reflect new constructor signature.
1494         (WebCore::SelectorQuery::queryAll): Ditto.
1495         (WebCore::SelectorQuery::queryFirst): Ditto.
1496         * html/shadow/ContentSelectorQuery.cpp:
1497         (WebCore::ContentSelectorChecker::ContentSelectorChecker): Ditto.
1498         (WebCore::ContentSelectorQuery::ContentSelectorQuery): Ditto.
1499         * html/shadow/ContentSelectorQuery.h:
1500         (ContentSelectorChecker): Removed unnecessary argument.
1501
1502 2012-12-29  Otto Derek Cheung  <otcheung@rim.com>
1503
1504         [BlackBerry] Cookies with an IP domain are not being loaded properly into memory
1505         https://bugs.webkit.org/show_bug.cgi?id=105859
1506
1507         PR 271597
1508
1509         Reviewed by George Staikos.
1510
1511         The isIP flag isn't persistented in the database. We need to check it
1512         again when we load it into memory.
1513
1514         * platform/blackberry/CookieManager.cpp:
1515         (WebCore::CookieManager::getBackingStoreCookies):
1516
1517 2012-12-29  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1518
1519         [EFL][WebGL] Refactor GLXImplementation.
1520         https://bugs.webkit.org/show_bug.cgi?id=105825
1521
1522         Reviewed by Kenneth Rohde Christiansen.
1523
1524         This patch decouples native window management and logic to find surface configuration in GLX implementation.
1525
1526         * platform/graphics/opengl/GLDefs.h:
1527         * platform/graphics/surfaces/glx/GLXConfigSelector.h: Renamed from Source/WebCore/platform/graphics/surfaces/glx/GLXWindowResources.h.
1528         (WebCore):
1529         (GLXConfigSelector):
1530         (WebCore::GLXConfigSelector::GLXConfigSelector):
1531         (WebCore::GLXConfigSelector::~GLXConfigSelector):
1532         (WebCore::GLXConfigSelector::visualInfo):
1533         (WebCore::GLXConfigSelector::pBufferContextConfig):
1534         (WebCore::GLXConfigSelector::surfaceContextConfig):
1535         (WebCore::GLXConfigSelector::reset):
1536         (WebCore::GLXConfigSelector::createConfig):
1537
1538         Helper class to find surface configuration.
1539
1540         * platform/graphics/surfaces/glx/GLXContext.h:
1541         (GLXOffScreenContext):
1542         * platform/graphics/surfaces/glx/GLXSurface.cpp:
1543         (WebCore::GLXTransportSurface::GLXTransportSurface):
1544         (WebCore::GLXTransportSurface::configuration):
1545         (WebCore::GLXTransportSurface::setGeometry):
1546         (WebCore::GLXTransportSurface::destroy):
1547         (WebCore::GLXPBuffer::GLXPBuffer):
1548         (WebCore::GLXPBuffer::initialize):
1549         (WebCore::GLXPBuffer::configuration):
1550         * platform/graphics/surfaces/glx/GLXSurface.h:
1551         (GLXTransportSurface):
1552         (GLXPBuffer):
1553
1554         Inheritance changed from X11OffScreenWindow to GLPlatformSurface.
1555
1556         * platform/graphics/surfaces/glx/X11WindowResources.cpp:
1557         (WebCore):
1558         (WebCore::X11OffScreenWindow::X11OffScreenWindow):
1559         (WebCore::X11OffScreenWindow::reSizeWindow):
1560         (WebCore::X11OffScreenWindow::createOffscreenWindow):
1561         (WebCore::X11OffScreenWindow::destroyWindow):
1562         (WebCore::X11OffScreenWindow::nativeSharedDisplay):
1563         (WebCore::X11OffScreenWindow::setVisualInfo):
1564         (WebCore::X11OffScreenWindow::isXRenderExtensionSupported):
1565         * platform/graphics/surfaces/glx/X11WindowResources.h:
1566         (WebCore::SharedX11Resources::create):
1567         (SharedX11Resources):
1568         (X11OffScreenWindow):
1569
1570          Removed code related to surface configiration.
1571
1572 2012-12-29  Eugene Klyuchnikov  <eustas@chromium.org>
1573
1574         Web Inspector: [Timeline] cpu bar popover shows wrong duration / cpu time.
1575         https://bugs.webkit.org/show_bug.cgi?id=105854
1576
1577         Reviewed by Vsevolod Vlasov.
1578
1579         Problem: CPU task indexes are already incremented before written to
1580         data structure.
1581
1582         * inspector/front-end/TimelinePanel.js:
1583         (WebInspector.TimelinePanel.prototype._refreshMainThreadBars):
1584         Use for loop to get correct indexes.
1585
1586 2012-12-28  Ilya Tikhonovsky  <loislo@chromium.org>
1587
1588         Web Inspector: Native Memory Instrumentation: instrument not instrumented members.
1589         https://bugs.webkit.org/show_bug.cgi?id=105830
1590
1591         Reviewed by Vsevolod Vlasov.
1592
1593         In some cases we don't want to visit some class members.
1594         As example we decided to skip pointers to interface classes such as GraphicLayerClient.
1595         We could use addWeakPointer for them but it can't be used for nonpointer members.
1596         In the offline discussion we came to a conclusion that we need a new instrumentation
1597         method ignoreMember, which will be used for all the members which we won't like to visit/instrument.
1598
1599         DriveBy: Also I instrumented not yet instrumented members.
1600
1601         * bindings/v8/DOMWrapperMap.h:
1602         (WebCore::DOMWrapperMap::reportMemoryUsage):
1603         * bindings/v8/ScriptWrappable.h:
1604         (WebCore::ScriptWrappable::reportMemoryUsage):
1605         * html/HTMLMediaElement.cpp:
1606         (WebCore::HTMLMediaElement::reportMemoryUsage):
1607         * platform/KURLGoogle.cpp:
1608         (WebCore::KURLGooglePrivate::reportMemoryUsage):
1609         * platform/SharedBuffer.cpp:
1610         (WebCore::SharedBuffer::reportMemoryUsage):
1611         * platform/audio/AudioArray.h:
1612         (WebCore::AudioArray::reportMemoryUsage):
1613         * platform/graphics/GraphicsLayer.cpp:
1614         (WebCore::GraphicsLayer::reportMemoryUsage):
1615         * rendering/RenderLayerCompositor.cpp:
1616         (WebCore::RenderLayerCompositor::reportMemoryUsage):
1617         * rendering/RenderTableSection.cpp:
1618         (WebCore::RenderTableSection::RowStruct::reportMemoryUsage):
1619         * rendering/style/RenderStyle.cpp:
1620         (WebCore::RenderStyle::reportMemoryUsage):
1621         * rendering/style/StyleRareInheritedData.cpp:
1622         (WebCore::StyleRareInheritedData::reportMemoryUsage):
1623
1624 2012-12-29  Andrey Lushnikov  <lushnikov@chromium.com>
1625
1626         Web Inspector: refactor DefaultTextEditor - annotate handlers and fix getters style
1627         https://bugs.webkit.org/show_bug.cgi?id=105829
1628
1629         Reviewed by Pavel Feldman.
1630
1631         Refactor DefaultTextEditor.js: improve handler method annotations,
1632         remove "get" prefix from method names, get rid of unnecessary
1633         delegation (e.g. see _handleCut).
1634
1635         No new tests: no change in behaviour.
1636
1637         * inspector/front-end/DefaultTextEditor.js:
1638         (WebInspector.DefaultTextEditor):
1639         (WebInspector.DefaultTextEditor.prototype._contextMenu):
1640         (WebInspector.DefaultTextEditor.prototype.selection):
1641         (WebInspector.DefaultTextEditor.prototype.lastSelection):
1642         (WebInspector.DefaultTextEditor.prototype.wasShown):
1643         (WebInspector.DefaultTextEditor.prototype.willHide):
1644         (WebInspector.TextEditorChunkedPanel.prototype.createNewChunk):
1645         (WebInspector.TextEditorMainPanel):
1646         (WebInspector.TextEditorMainPanel.prototype.wasShown):
1647         (WebInspector.TextEditorMainPanel.prototype.willHide):
1648         (WebInspector.TextEditorMainPanel.prototype.populateContextMenu):
1649         (WebInspector.TextEditorMainPanel.prototype.splitChunkOnALine):
1650         (WebInspector.TextEditorMainPanel.prototype.expandChunks):
1651         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
1652         (WebInspector.TextEditorMainPanel.prototype.selection):
1653         (WebInspector.TextEditorMainPanel.prototype.lastSelection):
1654         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1655         (WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):
1656         (WebInspector.TextEditorMainPanel.prototype._handleTextInput):
1657         (WebInspector.TextEditorMainPanel.prototype.handleKeyDown):
1658         (WebInspector.TextEditorMainPanel.prototype._handleCut):
1659
1660 2012-12-28  No'am Rosenthal  <noam@webkit.org>
1661
1662         REGRESSION: r138555 asserts on Linux EFL/Qt debug builds
1663         https://bugs.webkit.org/show_bug.cgi?id=105848
1664
1665         Unreviewed test fix.
1666
1667         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
1668             Added parameter name to noop shader.
1669
1670 2012-12-28  No'am Rosenthal  <noam@webkit.org>
1671
1672         [Texmap] Use a transform uniform instead of u_flip/u_textureSize
1673         https://bugs.webkit.org/show_bug.cgi?id=105809
1674
1675         Reviewed by Martin Robinson.
1676
1677         In order to support tiled-patterns, we'd have to apply texture-space transformations in the
1678         vertex shader. 
1679         This patch cleans up the current texture-space transformations, and uses 
1680         single matrix uniform instead of the current uniforms.
1681
1682         No new tests, refactor only.
1683
1684         * platform/graphics/texmap/TextureMapperGL.cpp:
1685         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
1686         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
1687         (WebCore):
1688         * platform/graphics/texmap/TextureMapperShaderManager.h:
1689         (TextureMapperShaderProgram):
1690
1691 2012-12-28  No'am Rosenthal  <noam@webkit.org>
1692
1693         [Texmap] Edge antialiasing in TextureMapper could be done with less per-pixel calls
1694         https://bugs.webkit.org/show_bug.cgi?id=105377
1695
1696         Reviewed by Kenneth Rohde Christiansen.
1697
1698         Instead of passing 8 quad edge coefficients as uniforms and analyze the distance in the
1699         fragment shader, we render the antialiased quad as 4 edge triangles, which originate in the
1700         center of the quad. 
1701
1702         The vertex shader expands the quad based on the screen transform, and applies a value to each vertex to be interpolated by the GPU. 
1703
1704         It is very difficult to test performance gain; However, the following is apparent:
1705         - The matrix multiplications and inversions done before in the quad inflation code were
1706           always visible in instruments/valgrind and they are now gone.
1707         - We now perform a single smoothstep() command per pixel instead of 8 clamp(dot()) commands.
1708         - It should now be possible to antialias individual edges.
1709
1710         Covered by existing tests.
1711
1712         * platform/graphics/texmap/TextureMapperGL.cpp:
1713         (WebCore::TextureMapperGLData::getStaticVBO):
1714             Cache the unit-rect and edge-triangle vertex data in a VBO.
1715
1716         (WebCore::TextureMapperGLData::~TextureMapperGLData):
1717             Clear the cached VBOs upon destruction.
1718
1719         (WebCore::TextureMapperGL::drawBorder):
1720         (WebCore::TextureMapperGL::drawTexture):
1721             Removed call to useProgram, since it's already called in drawTexturedQuadWithProgram.
1722
1723         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
1724         (WebCore::TextureMapperGL::drawSolidColor):
1725             Use the new signature "draw" instead of "drawQuad".
1726
1727         (WebCore::TextureMapperGL::drawEdgeTriangles):
1728         (WebCore::TextureMapperGL::drawUnitRect):
1729         (WebCore::TextureMapperGL::draw):
1730             Removed DrawQuad, instead draw either a unit rect or edge triangles.
1731
1732         (WebCore::TextureMapperGL::beginClip):
1733             Use the new setMatrix function.
1734
1735         * platform/graphics/texmap/TextureMapperGL.h:
1736             Added a paint flag for antialiasing.
1737
1738         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
1739         (WebCore::TextureMapperShaderProgram::setMatrix):
1740             Since we now set the matrix in multiple locations, added a convenience 
1741             function for matrix uniform.
1742
1743         (WebCore::getShaderSpec):
1744             Update the vertex and fragment shader to account for the new antialiasing
1745             mechanism.
1746         * platform/graphics/texmap/TextureMapperShaderManager.h:
1747         (TextureMapperShaderProgram):
1748
1749 2012-12-28  Mark Rowe  <mrowe@apple.com>
1750
1751         Move logic for extracting the OS X marketing version in to WebCore
1752         <http://webkit.org/b/105841> / <rdar://problem/10736041>
1753
1754         Reviewed by Dan Bernstein.
1755
1756         The logic for extracting the OS X markerting version is moved in to systemMarketingVersion
1757         from WebKitSystemInterface (post-10.8) and WebKit (pre-10.8).
1758
1759         * WebCore.exp.in: Export systemMarketingVersion and remove the old WKSI symbol.
1760         * WebCore.xcodeproj/project.pbxproj: Add the new files.
1761         * platform/mac/SystemVersionMac.h: Added.
1762         * platform/mac/SystemVersionMac.mm: Added.
1763         (WebCore::createSystemMarketingVersion): Read the marketing version out of SystemVersion.plist
1764         (WebCore::callGestalt):
1765         (WebCore::createSystemMarketingVersion): Build the marketing version by piecing together the results
1766         of calls to Gestalt.
1767         (WebCore::systemMarketingVersion): Return the cached string.
1768         * platform/mac/WebCoreSystemInterface.h: Remove the old WKSI symbol.
1769         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1770
1771 2012-12-28  Rafael Weinstein  <rafaelw@chromium.org>
1772
1773         [Templates]: Fix assert in colgroup parse handling
1774         https://bugs.webkit.org/show_bug.cgi?id=105837
1775
1776         Reviewed by Eric Seidel.
1777
1778         Tests added to html5lib.
1779
1780         * html/parser/HTMLTreeBuilder.cpp:
1781         (WebCore::HTMLTreeBuilder::processEndTag):
1782
1783 2012-12-28  Philippe Normand  <pnormand@igalia.com>
1784
1785         [GStreamer] GstMessage handler in AudioDestination
1786         https://bugs.webkit.org/show_bug.cgi?id=105292
1787
1788         Reviewed by Martin Robinson.
1789
1790         Handle GStreamer warnings and errors coming from the playback
1791         pipeline. For now we only display warnings on the console.
1792
1793         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
1794         (WebCore::messageCallback):
1795         (WebCore):
1796         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
1797         (WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady):
1798         (WebCore::AudioDestinationGStreamer::handleMessage):
1799         * platform/audio/gstreamer/AudioDestinationGStreamer.h:
1800         (AudioDestinationGStreamer):
1801
1802 2012-12-28  Martin Robinson  <mrobinson@igalia.com>
1803
1804         [GTK][WK2] Add support for IME Composition
1805         https://bugs.webkit.org/show_bug.cgi?id=65093
1806
1807         Reviewed by Carlos Garcia Campos.
1808
1809         No new tests. The GtkInputMethodFilter is covered by unit tests in TestWebKitAPI.
1810         Doing functional tests for this behavior is much more complex.
1811
1812         * platform/gtk/GtkInputMethodFilter.cpp:
1813         (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents): Now
1814         pass along whether or not an event was faked.
1815         * platform/gtk/GtkInputMethodFilter.h: Ditto.
1816
1817 2012-12-27  Emil A Eklund  <eae@chromium.org>
1818
1819         REGRESSION (r138196): Regions with text-overflow: ellipsis; are being ellipsized unnecessarily
1820         https://bugs.webkit.org/show_bug.cgi?id=105600
1821
1822         Reviewed by Darin Adler.
1823         
1824         Pixel-snap lineBoxEdge before comparing with the block edge as
1825         the lineBox edge isn't guaranteed to be snapped to device pixels
1826         on all platforms.
1827
1828         Test: fast/sub-pixel/ellipsis-table.html
1829
1830         * rendering/RenderBlockLineLayout.cpp:
1831         (WebCore::RenderBlock::checkLinesForTextOverflow):
1832
1833 2012-12-28  Brandon Jones  <bajones@chromium.org>
1834
1835         [chromium] DrawingBuffer initialization loop breaks if completely out of memory
1836         https://bugs.webkit.org/show_bug.cgi?id=105732
1837
1838         Reviewed by Kenneth Russell.
1839
1840         When DrawingBuffer allocation fails because s_currentResourceUsePixels is maxed out
1841         it now forces WebGLRenderingContext creation to fail gracefully.
1842
1843         * html/canvas/WebGLRenderingContext.cpp:
1844         (WebCore::WebGLRenderingContext::create): On Chromium, check for failure to allocate a DrawingBuffer
1845
1846 2012-12-28  Dan Bernstein  <mitz@apple.com>
1847
1848         Slightly clean up WebCore's Base.xcconfig
1849         https://bugs.webkit.org/show_bug.cgi?id=105808
1850
1851         Reviewed by Sam Weinig.
1852
1853         * Configurations/Base.xcconfig: Simplify the definition of GCC_GENERATE_DEBUGGING_SYMBOLS,
1854         which is always YES.
1855
1856 2012-12-28  Rafael Weinstein  <rafaelw@chromium.org>
1857
1858         Heap-use-after-free in WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement
1859         https://bugs.webkit.org/show_bug.cgi?id=105780
1860
1861         Reviewed by Eric Seidel.
1862
1863         This was regression was created by the HTMLTemplateElement implementation. The issue was a missed instance of
1864         "fragment or template contents" case related to the parsing of colgroups.
1865
1866         * html/parser/HTMLTreeBuilder.cpp:
1867         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
1868         (WebCore::HTMLTreeBuilder::processStartTag):
1869         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
1870         (WebCore::HTMLTreeBuilder::processEndOfFile):
1871
1872 2012-12-27  Vsevolod Vlasov  <vsevik@chromium.org>
1873
1874         Web Inspector: Introduce uri as a UISourceCode unique identifier in workspace.
1875         https://bugs.webkit.org/show_bug.cgi?id=105799
1876
1877         Reviewed by Pavel Feldman.
1878
1879         Added uri field to UISourceCode. 
1880         Debugger and LiveEdit uiSourceCodes are now created through WorkspaceProviders (not projects yet though)
1881         which are responsible for unique uri generation. 
1882         Extracted generic content provider based WorkspaceProvider functionality and url-to-uri conversion logic to ContentProviderWorkspaceProvider class.
1883
1884         * inspector/front-end/BreakpointManager.js:
1885         (WebInspector.BreakpointManager.sourceFileId):
1886         * inspector/front-end/CompilerScriptMapping.js:
1887         * inspector/front-end/DebuggerScriptMapping.js:
1888         (WebInspector.DebuggerScriptMapping):
1889         * inspector/front-end/DefaultScriptMapping.js:
1890         (WebInspector.DefaultScriptMapping):
1891         (WebInspector.DefaultScriptMapping.prototype.addScript):
1892         (WebInspector.DebuggerWorkspaceProvider):
1893         (WebInspector.DebuggerWorkspaceProvider.prototype.addDebuggerFile):
1894         * inspector/front-end/LiveEditSupport.js:
1895         (WebInspector.LiveEditSupport):
1896         (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
1897         (WebInspector.LiveEditWorkspaceProvider):
1898         (WebInspector.LiveEditWorkspaceProvider.prototype.addLiveEditFile):
1899         * inspector/front-end/NetworkUISourceCodeProvider.js:
1900         (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
1901         * inspector/front-end/NetworkWorkspaceProvider.js:
1902         (WebInspector.ContentProviderWorkspaceProvider):
1903         (WebInspector.ContentProviderWorkspaceProvider.uriForURL):
1904         (WebInspector.ContentProviderWorkspaceProvider.prototype.addFile):
1905         (WebInspector.ContentProviderWorkspaceProvider.prototype.uniqueURI):
1906         (WebInspector.NetworkWorkspaceProvider):
1907         (WebInspector.NetworkWorkspaceProvider.prototype.addNetworkFile):
1908         * inspector/front-end/SASSSourceMapping.js:
1909         (_bindUISourceCode):
1910         * inspector/front-end/ScriptSnippetModel.js:
1911         (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
1912         * inspector/front-end/TabbedEditorContainer.js:
1913         (WebInspector.TabbedEditorContainer):
1914         (WebInspector.TabbedEditorContainer.prototype._scrollChanged):
1915         (WebInspector.TabbedEditorContainer.prototype._selectionChanged):
1916         (WebInspector.TabbedEditorContainer.prototype._editorClosedByUserAction):
1917         (WebInspector.TabbedEditorContainer.prototype._updateHistory.tabIdToURI):
1918         (WebInspector.TabbedEditorContainer.prototype._updateHistory):
1919         (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
1920         (WebInspector.TabbedEditorContainer.prototype.reset):
1921         * inspector/front-end/UISourceCode.js:
1922         (WebInspector.UISourceCode):
1923         (WebInspector.UISourceCode.prototype.uri):
1924         * inspector/front-end/Workspace.js:
1925         (WebInspector.FileDescriptor):
1926         (WebInspector.Project.prototype._fileAdded):
1927         (WebInspector.Project.prototype._fileRemoved):
1928         (WebInspector.Project.prototype.uiSourceCodeForURI):
1929         (WebInspector.Workspace):
1930         (WebInspector.Workspace.prototype.uiSourceCodeForURI):
1931         (WebInspector.Workspace.prototype.addTemporaryUISourceCode):
1932         (WebInspector.Workspace.prototype.removeTemporaryUISourceCode):
1933         (WebInspector.Workspace.prototype.requestFileContent):
1934         (WebInspector.Workspace.prototype.setFileContent):
1935         (WebInspector.Workspace.prototype.searchInFileContent):
1936         (WebInspector.Workspace.prototype.reset):
1937         * inspector/front-end/inspector.js:
1938
1939 2012-12-28  Yury Semikhatsky  <yurys@chromium.org>
1940
1941         Web Inspector: debugger should step into event handler on event dispatch
1942         https://bugs.webkit.org/show_bug.cgi?id=105827
1943
1944         Reviewed by Pavel Feldman.
1945
1946         Added m_pauseInNextEventListener to InspectorDOMDebuggerAgent. The flag is set
1947         to true when "step into" is pressed and reset to false when either JS execution
1948         pauses, the agent gets disabled or JS call stack becomes empty. If the flag is
1949         true and the next JS stetement to be executed belongs to a JS event listener we
1950         will stop in that listener, otherwise we have two options:
1951           1) Control flow directly(without comming through the native bindings) reaches some JS
1952              statement and will pause in the corresponding JS function, in which case the
1953              flag will be reset;
1954           2) JS call stack becomes empty and execution will continue in the native code. We
1955              use didProcessTask to detect such cases and reset the flag to false every time
1956              event queue finishes next task.
1957
1958         Test: inspector/debugger/debugger-step-into-event-listener.html
1959
1960         * inspector/InspectorController.cpp:
1961         (WebCore::InspectorController::InspectorController):
1962         (WebCore::InspectorController::reportMemoryUsage):
1963         (WebCore::InspectorController::didProcessTask):
1964         * inspector/InspectorController.h:
1965         (WebCore):
1966         (InspectorController):
1967         * inspector/InspectorDOMDebuggerAgent.cpp:
1968         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
1969         (WebCore::InspectorDOMDebuggerAgent::stepInto):
1970         (WebCore):
1971         (WebCore::InspectorDOMDebuggerAgent::didPause):
1972         (WebCore::InspectorDOMDebuggerAgent::cancelStepIntoEventListener):
1973         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
1974         (WebCore::InspectorDOMDebuggerAgent::clear):
1975         * inspector/InspectorDOMDebuggerAgent.h:
1976         (InspectorDOMDebuggerAgent):
1977         * inspector/InspectorDebuggerAgent.cpp:
1978         (WebCore::InspectorDebuggerAgent::stepInto):
1979         (WebCore::InspectorDebuggerAgent::didPause):
1980         * inspector/InspectorDebuggerAgent.h:
1981         (Listener):
1982
1983 2012-12-28  Andrey Lushnikov  <lushnikov@chromium.com>
1984
1985         Web Inspector: enable mutation observer in LayoutTests
1986         https://bugs.webkit.org/show_bug.cgi?id=105826
1987
1988         Reviewed by Pavel Feldman.
1989
1990         Enable mutation observer in LayoutTests.
1991
1992         No new tests: no change in behaviour.
1993
1994         * inspector/front-end/DOMExtension.js:
1995
1996 2012-12-28  Philippe Normand  <pnormand@igalia.com>
1997
1998         [GTK] Some GStreamer-related files don't need to be in libWebCoreGTK
1999         https://bugs.webkit.org/show_bug.cgi?id=105807
2000
2001         Reviewed by Martin Robinson.
2002
2003         * GNUmakefile.list.am: Move some modules not using GTK nor Cairo
2004         to libWebCorePlatform.
2005
2006 2012-12-28  Yury Semikhatsky  <yurys@chromium.org>
2007
2008         Web Inspector: rename distanceToWindow to distance
2009         https://bugs.webkit.org/show_bug.cgi?id=105823
2010
2011         Reviewed by Pavel Feldman.
2012
2013         Renamed distanceToWindow to distance. Introduced a method on HeapSnapshot
2014         that allows to check if given node should be displayed to the user as having
2015         distance 1.
2016
2017         * inspector/front-end/HeapSnapshot.js:
2018         (WebInspector.HeapSnapshotEdge.prototype.serialize):
2019         (WebInspector.HeapSnapshotRetainerEdge.prototype.serialize):
2020         (WebInspector.HeapSnapshotNode.prototype.distance):
2021         (WebInspector.HeapSnapshotNode.prototype.serialize):
2022         (WebInspector.HeapSnapshot.prototype._init):
2023         (WebInspector.HeapSnapshot.prototype.dispose):
2024         (WebInspector.HeapSnapshot.prototype.canHaveDistanceOne):
2025         (WebInspector.HeapSnapshot.prototype._calculateDistances):
2026         (WebInspector.HeapSnapshot.prototype._bfs):
2027         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2028         * inspector/front-end/HeapSnapshotDataGrids.js:
2029         (WebInspector.HeapSnapshotRetainmentDataGrid):
2030         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
2031         (WebInspector.HeapSnapshotConstructorsDataGrid):
2032         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._sortFields):
2033         * inspector/front-end/HeapSnapshotGridNodes.js:
2034         (WebInspector.HeapSnapshotGenericObjectNode):
2035         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2036         (WebInspector.HeapSnapshotObjectNode):
2037         (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
2038         (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
2039         (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
2040         (WebInspector.HeapSnapshotConstructorNode):
2041         (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
2042         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
2043         * inspector/front-end/JSHeapSnapshot.js:
2044         (WebInspector.JSHeapSnapshot.prototype.canHaveDistanceOne):
2045
2046 2012-12-28  Andrey Lushnikov  <lushnikov@chromium.com>
2047
2048         Web Inspector: refactor DefaultTextEditor's private methods
2049         https://bugs.webkit.org/show_bug.cgi?id=105797
2050
2051         Reviewed by Pavel Feldman.
2052
2053         - Refactor private methods to public if they are called from external classes
2054         - Get rid of external private variable access.
2055
2056         No tests: no change in behaviour.
2057
2058         * inspector/front-end/DefaultTextEditor.js:
2059         (WebInspector.DefaultTextEditor.prototype.freeCachedElements):
2060         (WebInspector.DefaultTextEditor.prototype._handleTextInput):
2061         (WebInspector.DefaultTextEditor.prototype._handleKeyDown):
2062         (WebInspector.DefaultTextEditor.prototype._handleCut):
2063         (WebInspector.DefaultTextEditor.prototype._contextMenu):
2064         (WebInspector.DefaultTextEditor.prototype._handleScrollChanged):
2065         (WebInspector.DefaultTextEditor.prototype.selection):
2066         (WebInspector.DefaultTextEditor.prototype.lastSelection):
2067         (WebInspector.DefaultTextEditor.prototype.setSelection):
2068         (WebInspector.DefaultTextEditor.prototype.wasShown):
2069         (WebInspector.DefaultTextEditor.prototype._handleFocused):
2070         (WebInspector.DefaultTextEditor.prototype.willHide):
2071         (WebInspector.DefaultTextEditor.prototype.highlightExpression):
2072         (WebInspector.DefaultTextEditor.prototype.overrideViewportForTest):
2073         (WebInspector.TextEditorChunkedPanel.prototype.buildChunks):
2074         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2075         (WebInspector.TextEditorChunkedPanel.prototype.splitChunkOnALine):
2076         (WebInspector.TextEditorChunkedPanel.prototype.createNewChunk):
2077         (WebInspector.TextEditorChunkedPanel.prototype.scroll):
2078         (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
2079         (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
2080         (WebInspector.TextEditorChunkedPanel.prototype.chunkForLine):
2081         (WebInspector.TextEditorChunkedPanel.prototype.findVisibleChunks):
2082         (WebInspector.TextEditorChunkedPanel.prototype.repaintAll):
2083         (WebInspector.TextEditorChunkedPanel.prototype.scrollTop):
2084         (WebInspector.TextEditorChunkedPanel.prototype.clientHeight):
2085         (WebInspector.TextEditorChunkedPanel.prototype.expandChunks):
2086         (WebInspector.TextEditorChunkedPanel.prototype.totalHeight):
2087         (WebInspector.TextEditorChunkedPanel.prototype.resize):
2088         (WebInspector.TextEditorGutterPanel):
2089         (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
2090         (WebInspector.TextEditorGutterPanel.prototype.createNewChunk):
2091         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
2092         (WebInspector.TextEditorGutterChunk.prototype.get height):
2093         (WebInspector.TextEditorMainPanel):
2094         (WebInspector.TextEditorMainPanel.prototype.wasShown):
2095         (WebInspector.TextEditorMainPanel.prototype.willHide):
2096         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2097         (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
2098         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
2099         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
2100         (WebInspector.TextEditorMainPanel.prototype.splitChunkOnALine):
2101         (WebInspector.TextEditorMainPanel.prototype.buildChunks):
2102         (WebInspector.TextEditorMainPanel.prototype.createNewChunk):
2103         (WebInspector.TextEditorMainPanel.prototype.expandChunks):
2104         (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
2105         (WebInspector.TextEditorMainPanel.prototype._paintLines):
2106         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
2107         (WebInspector.TextEditorMainPanel.prototype.getSelection):
2108         (WebInspector.TextEditorMainPanel.prototype.getLastSelection):
2109         (WebInspector.TextEditorMainPanel.prototype.setLastSelection):
2110         (WebInspector.TextEditorMainPanel.prototype.restoreSelection):
2111         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2112         (WebInspector.TextEditorMainPanel.prototype.enclosingLineRowOrSelf):
2113         (WebInspector.TextEditorMainPanel.prototype._createLink):
2114         (WebInspector.TextEditorMainPanel.prototype._collectDirtyLines):
2115         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2116         (WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnSelection):
2117         (WebInspector.TextEditorMainPanel.prototype._removeDecorationsInRange):
2118         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
2119         (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
2120         (WebInspector.TextEditorMainPanel.prototype.handleSelectionChange):
2121         (WebInspector.TextEditorMainPanel.prototype.handleTextInput):
2122         (WebInspector.TextEditorMainPanel.prototype.handleKeyDown):
2123         (WebInspector.TextEditorMainPanel.prototype.handleCut):
2124         (WebInspector.TextEditorMainPanel.prototype.overrideViewportForTest):
2125         (WebInspector.TextEditorMainChunk.prototype.get height):
2126
2127 2012-12-28  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2128
2129         [EFL][WebGL] Add GLES2 support in GraphicsContext3DEfl.
2130         https://bugs.webkit.org/show_bug.cgi?id=105805
2131
2132         Reviewed by Kenneth Rohde Christiansen.
2133
2134         This is in preparation for adding GLES2 support.
2135         This patch adds OPENGL_ES_2 checks in GraphicsContext3DEFl.
2136         With this patch, GraphicsContext3DPrivate uses the FramebufferBlit extension supported by Extensions3D.
2137
2138         * platform/graphics/GraphicsContext3D.h:
2139         (GraphicsContext3D):
2140         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2141         (WebCore::GraphicsContext3D::GraphicsContext3D):
2142         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2143         (GraphicsContext3DPrivate::copyToGraphicsSurface):
2144         * platform/graphics/opengl/GLDefs.h:
2145
2146 2012-12-27  Dimitri Glazkov  <dglazkov@chromium.org>
2147
2148         Fix styling/formatting errors, pointed out by Darin Adler while reviewing
2149         https://bugs.webkit.org/show_bug.cgi?id=105752
2150
2151         No functional changes, thus no new tests.
2152
2153         * dom/VisitedLinkState.cpp:
2154         (WebCore::VisitedLinkState::VisitedLinkState): Fixed up constructor syntax.
2155         (WebCore::linkHashForElement): Expanded abbreviation.
2156
2157 2012-12-27  Mike West  <mkwst@chromium.org>
2158
2159         Add context to the console message generated by Document::printNavigationErrorMessage.
2160         https://bugs.webkit.org/show_bug.cgi?id=105774
2161
2162         Reviewed by Darin Adler.
2163
2164         When blocking frame navigations, we should give developers more
2165         contextual detail about why the navigation has been blocked. This patch
2166         adds context specifically for sandboxed frames', and gives a slightly
2167         more detailed generic response for all other blockages.
2168
2169         No new tests; the changes to the error message are covered via
2170         rebaselines to existing navigation tests.
2171
2172         * dom/Document.cpp:
2173         (WebCore::printNavigationErrorMessage):
2174         (WebCore::Document::canNavigate):
2175             Pass in a 'reason' parameter when calling printNavigationErrorMessage
2176             to report a blocked navigation.
2177
2178 2012-12-27  Dimitri Glazkov  <dglazkov@chromium.org>
2179
2180         Move visited link-checking (and caching) code out of SelectorChecker.
2181         https://bugs.webkit.org/show_bug.cgi?id=105752
2182
2183         SelectorChecker knew too much about visited links and how links are stored in DOM. This change
2184         moves the code to more relevant locations and moves the visited links cache all the way up to Document,
2185         introducing VisitedLinkState class to manage the state of visited links.
2186         Relanding without a null-ptr ref.
2187
2188         Reviewed by Antti Koivisto.
2189
2190         No change in behavior, covered by existing tests.
2191
2192         * CMakeLists.txt: Added VisitedLinkState to build system.
2193         * GNUmakefile.list.am: Ditto.
2194         * Target.pri: Ditto.
2195         * WebCore.gypi: Ditto.
2196         * WebCore.xcodeproj/project.pbxproj: Ditto.
2197         * css/SelectorChecker.cpp: Moved visited-link state code out to VisitedLinkState class.
2198         * css/SelectorChecker.h: Ditto.
2199         * css/StyleResolver.cpp:
2200         (WebCore::StyleResolver::initElement): Changed callsite to use VisitedLinkState.
2201         * css/StyleResolver.h: Removed plumb-throughs that are now unnecessary.
2202         * dom/DOMAllInOne.cpp: Added VisitedLinkState to build system.
2203         * dom/Document.cpp: Added VisitedLinkState initalizer.
2204         * dom/Document.h: Added VisitedLinkState member.
2205         * dom/VisitedLinkState.cpp: Added.
2206         * dom/VisitedLinkState.h: Added.
2207         * history/CachedPage.cpp:
2208         (WebCore::CachedPage::restore): Changed callsite to use VisitedLinkState.
2209         * page/Page.cpp:
2210         (WebCore::Page::allVisitedStateChanged): Ditto.
2211         (WebCore::Page::visitedStateChanged): Ditto.
2212
2213 2012-12-27  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2214
2215         [EFL][WebGL] Implement EGL support with GLX.
2216         https://bugs.webkit.org/show_bug.cgi?id=105602
2217
2218         Reviewed by Kenneth Rohde Christiansen.
2219
2220         This is in preparation for adding GLES2 support.
2221         This patch adds support for EGL with GLX backend. EGL support can be enabled during compile time
2222         by passing -DENABLE_EGL=ON as cmake config parameter. This is disabled by default.
2223
2224         * PlatformEfl.cmake:
2225         * platform/graphics/opengl/GLDefs.h:
2226         (WebCore):
2227         * platform/graphics/opengl/GLPlatformContext.cpp:
2228         (WebCore):
2229         (WebCore::GLPlatformContext::createContext): Added GLX checks.
2230         (WebCore::GLPlatformContext::createOffScreenContext): Added support for creating EGLOffscreen Context.
2231         (WebCore::GLPlatformContext::createCurrentContextWrapper): Added support for creating EGLCurrentContextWrapper.
2232         * platform/graphics/opengl/GLPlatformContext.h:
2233         * platform/graphics/opengl/GLPlatformSurface.cpp:
2234         (WebCore::GLPlatformSurface::createTransportSurface): Added support for creating EGLSurface.
2235
2236         * platform/graphics/surfaces/egl/EGLContext.cpp: Added.
2237         (WebCore):
2238         (WebCore::isRobustnessExtSupported):
2239         (WebCore::EGLCurrentContextWrapper::EGLCurrentContextWrapper):
2240         (WebCore::EGLCurrentContextWrapper::handle):
2241         (WebCore::EGLOffScreenContext::EGLOffScreenContext):
2242         (WebCore::EGLOffScreenContext::initialize):
2243         (WebCore::EGLOffScreenContext::~EGLOffScreenContext):
2244         (WebCore::EGLOffScreenContext::isCurrentContext):
2245         (WebCore::EGLOffScreenContext::platformMakeCurrent):
2246         (WebCore::EGLOffScreenContext::platformReleaseCurrent):
2247         (WebCore::EGLOffScreenContext::freeResources):
2248         (WebCore::EGLOffScreenContext::destroy):
2249         * platform/graphics/surfaces/egl/EGLContext.h:
2250         (WebCore):
2251         (EGLCurrentContextWrapper):
2252         (WebCore::EGLCurrentContextWrapper::~EGLCurrentContextWrapper):
2253         (EGLOffScreenContext):
2254
2255         EGL implementation for Context Management.
2256
2257         * platform/graphics/surfaces/egl/EGLSurface.cpp: Added.
2258         (WebCore):
2259         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
2260         (WebCore::EGLWindowTransportSurface::~EGLWindowTransportSurface):
2261         (WebCore::EGLWindowTransportSurface::configuration):
2262         (WebCore::EGLWindowTransportSurface::swapBuffers):
2263         (WebCore::EGLWindowTransportSurface::destroy):
2264         (WebCore::EGLWindowTransportSurface::freeEGLResources):
2265         * platform/graphics/surfaces/egl/EGLSurface.h:
2266         (WebCore):
2267         (EGLWindowTransportSurface):
2268
2269         EGL implementation for Offscreen Surface. The surface is backed by native window.
2270
2271         * platform/graphics/surfaces/egl/EGLConfigHelper.cpp: Added.
2272         (WebCore):
2273         (WebCore::SharedEGLDisplay::deref):
2274         (WebCore::SharedEGLDisplay::sharedEGLDisplay):
2275         (WebCore::SharedEGLDisplay::SharedEGLDisplay):
2276         (WebCore::SharedEGLDisplay::cleanup):
2277         (WebCore::SharedEGLDisplay::~SharedEGLDisplay):
2278         (WebCore::EGLConfigHelper::EGLConfigHelper):
2279         (WebCore::EGLConfigHelper::~EGLConfigHelper):
2280         (WebCore::EGLConfigHelper::display):
2281         (WebCore::EGLConfigHelper::pBufferContextConfig):
2282         (WebCore::EGLConfigHelper::surfaceContextConfig):
2283         (WebCore::EGLConfigHelper::nativeVisualId):
2284         (WebCore::EGLConfigHelper::reset):
2285         (WebCore::EGLConfigHelper::createConfig):
2286
2287         Helper class to initialize EGL resources and choose right EGL configuration.
2288
2289 2012-12-27  Sheriff Bot  <webkit.review.bot@gmail.com>
2290
2291         Unreviewed, rolling out r138509.
2292         http://trac.webkit.org/changeset/138509
2293         https://bugs.webkit.org/show_bug.cgi?id=105806
2294
2295         Caused several tests to crash (Requested by fsamuel on
2296         #webkit).
2297
2298         * CMakeLists.txt:
2299         * GNUmakefile.list.am:
2300         * Target.pri:
2301         * WebCore.gypi:
2302         * WebCore.xcodeproj/project.pbxproj:
2303         * css/SelectorChecker.cpp:
2304         (WebCore::linkAttribute):
2305         (WebCore):
2306         (WebCore::SelectorChecker::determineLinkStateSlowCase):
2307         (WebCore::SelectorChecker::allVisitedStateChanged):
2308         (WebCore::SelectorChecker::visitedStateChanged):
2309         * css/SelectorChecker.h:
2310         (SelectorChecker):
2311         (WebCore::SelectorChecker::determineLinkState):
2312         (WebCore):
2313         * css/StyleResolver.cpp:
2314         (WebCore::StyleResolver::initElement):
2315         * css/StyleResolver.h:
2316         (WebCore::StyleResolver::allVisitedStateChanged):
2317         (WebCore::StyleResolver::visitedStateChanged):
2318         (StyleResolver):
2319         * dom/DOMAllInOne.cpp:
2320         * dom/Document.cpp:
2321         (WebCore::Document::Document):
2322         * dom/Document.h:
2323         (WebCore):
2324         (Document):
2325         * dom/VisitedLinkState.cpp: Removed.
2326         * dom/VisitedLinkState.h: Removed.
2327         * history/CachedPage.cpp:
2328         (WebCore::CachedPage::restore):
2329         * page/Page.cpp:
2330         (WebCore::Page::allVisitedStateChanged):
2331         (WebCore::Page::visitedStateChanged):
2332
2333 2012-12-27  Dimitri Glazkov  <dglazkov@chromium.org>
2334
2335         Move visited link-checking (and caching) code out of SelectorChecker.
2336         https://bugs.webkit.org/show_bug.cgi?id=105752
2337
2338         SelectorChecker knew too much about visited links and how links are stored in DOM. This change
2339         moves the code to more relevant locations and moves the visited links cache all the way up to Document,
2340         introducing VisitedLinkState class to manage the state of visited links.
2341
2342         Reviewed by Antti Koivisto.
2343
2344         No change in behavior, covered by existing tests.
2345
2346         * CMakeLists.txt: Added VisitedLinkState to build system.
2347         * GNUmakefile.list.am: Ditto.
2348         * Target.pri: Ditto.
2349         * WebCore.gypi: Ditto.
2350         * WebCore.xcodeproj/project.pbxproj: Ditto.
2351         * css/SelectorChecker.cpp: Moved visited-link state code out to VisitedLinkState class.
2352         * css/SelectorChecker.h: Ditto.
2353         * css/StyleResolver.cpp:
2354         (WebCore::StyleResolver::initElement): Changed callsite to use VisitedLinkState.
2355         * css/StyleResolver.h: Removed plumb-throughs that are now unnecessary.
2356         * dom/DOMAllInOne.cpp: Added VisitedLinkState to build system.
2357         * dom/Document.cpp: Added VisitedLinkState initalizer.
2358         * dom/Document.h: Added VisitedLinkState member.
2359         * dom/VisitedLinkState.cpp: Added.
2360         * dom/VisitedLinkState.h: Added.
2361         * history/CachedPage.cpp:
2362         (WebCore::CachedPage::restore): Changed callsite to use VisitedLinkState.
2363         * page/Page.cpp:
2364         (WebCore::Page::allVisitedStateChanged): Ditto.
2365         (WebCore::Page::visitedStateChanged): Ditto.
2366
2367 2012-12-27  Huang Dongsung  <luxtella@company100.net>
2368
2369         [TexMap] Minor refactoring of TextureMapperLayer.
2370         https://bugs.webkit.org/show_bug.cgi?id=105782
2371
2372         Reviewed by Darin Adler.
2373
2374         This patch has two refactorings.
2375         1. Replace TextureMapperPaintOptions from header to implementation file.
2376         2. Add non copyable property to TextureMapperLayer.
2377
2378         No new tests. Refactoring only.
2379
2380         * platform/graphics/texmap/TextureMapperLayer.cpp:
2381         (TextureMapperPaintOptions):
2382         (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
2383         (WebCore):
2384         * platform/graphics/texmap/TextureMapperLayer.h:
2385         (WebCore):
2386         (TextureMapperLayer):
2387
2388 2012-12-27  Yury Semikhatsky  <yurys@chromium.org>
2389
2390        Unreviewed. Use real worker in heap profiler instead of the fake one
2391        (was accidentally switched to the fake worker).
2392
2393         * inspector/front-end/HeapSnapshotProxy.js:
2394         (WebInspector.HeapSnapshotWorker):
2395
2396 2012-12-27  Vsevolod Vlasov  <vsevik@chromium.org>
2397
2398         Web Inspector: [Regression] Can not set breakpoints in scripts loaded with source map.
2399         https://bugs.webkit.org/show_bug.cgi?id=105801
2400
2401         Reviewed by Alexander Pavlov.
2402
2403         ResourceScriptMapping now pushes itself to script's source mappings in addScript method.
2404         Binding script to uiSourceCode loaded later is only triggering updateLocations() now.
2405
2406         * inspector/front-end/ResourceScriptMapping.js:
2407         (WebInspector.ResourceScriptMapping.prototype.addScript):
2408         (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
2409         * inspector/front-end/Script.js:
2410         (WebInspector.Script.prototype.disableSourceMapping):
2411         (WebInspector.Script.prototype.enableSourceMapping):
2412         (WebInspector.Script.prototype.pushSourceMapping):
2413         (WebInspector.Script.prototype.popSourceMapping):
2414         (WebInspector.Script.prototype.updateLocations):
2415
2416 2012-12-27  Yury Semikhatsky  <yurys@chromium.org>
2417
2418         Web Inspector: remove support for legacy heap graph node format
2419         https://bugs.webkit.org/show_bug.cgi?id=105802
2420
2421         Reviewed by Pavel Feldman.
2422
2423         Removed support for old heap graph node format: we now always store edge count
2424         in each node instead of the first edge index.
2425
2426         * inspector/front-end/HeapSnapshot.js:
2427         (WebInspector.HeapSnapshot.prototype._buildEdgeIndexes):
2428
2429 2012-12-27  Yury Semikhatsky  <yurys@chromium.org>
2430
2431         Web Inspector: move js heap snapshot preprocessing to JSHeapSnapshot
2432         https://bugs.webkit.org/show_bug.cgi?id=105798
2433
2434         Reviewed by Pavel Feldman.
2435
2436         HeapSnapshot.js refactorings:
2437         - moved _markInvisibleEdges implementation into JSHeapSnapshot
2438         - moved _calculateFlags implementation into JSHeapSnapshot
2439         - moved _flags array into JSHeapSnapshot
2440         - instead of returning node flags as a field on each node, requesting
2441           snapshot node flag constants from the heap snapshot worker and then
2442           checking for the flags in HeapSnapshotGridNodes now return two optional
2443           boolean fields on each node: canBeQueried and detachedDOMTreeNode
2444         - removed unused propertyAccessor property from serialized heap node
2445         - moved node and edge serialization from providers to the node and edge
2446           classes, js specific fields are serialized only for JSHeapSnapshotNode
2447         - renamed first() to rewind() on providers and iterators
2448
2449         * inspector/front-end/HeapSnapshot.js:
2450         (WebInspector.HeapSnapshotEdge.prototype.serialize):
2451         (WebInspector.HeapSnapshotEdgeIterator.prototype.rewind):
2452         (WebInspector.HeapSnapshotRetainerEdge.prototype.serialize):
2453         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.rewind):
2454         (WebInspector.HeapSnapshotNode.prototype.isUserObject):
2455         (WebInspector.HeapSnapshotNode.prototype.serialize):
2456         (WebInspector.HeapSnapshotNodeIterator.prototype.rewind):
2457         (WebInspector.HeapSnapshot.prototype._init):
2458         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2459         (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
2460         (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
2461         (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
2462         (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
2463         (WebInspector.HeapSnapshot.prototype._calculateFlags):
2464         (WebInspector.HeapSnapshot.prototype.userObjectsMapAndFlag):
2465         (WebInspector.HeapSnapshot.prototype.):
2466         (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
2467         (WebInspector.HeapSnapshot.prototype.updateStaticData):
2468         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder):
2469         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.rewind):
2470         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.isEmpty):
2471         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeItemsRange):
2472         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
2473         * inspector/front-end/HeapSnapshotGridNodes.js:
2474         (WebInspector.HeapSnapshotGenericObjectNode):
2475         (WebInspector.HeapSnapshotObjectNode):
2476         * inspector/front-end/HeapSnapshotProxy.js:
2477         * inspector/front-end/JSHeapSnapshot.js:
2478         (WebInspector.JSHeapSnapshot):
2479         (WebInspector.JSHeapSnapshot.prototype._markInvisibleEdges):
2480         (WebInspector.JSHeapSnapshot.prototype._calculateFlags):
2481         (WebInspector.JSHeapSnapshot.prototype.userObjectsMapAndFlag):
2482         (WebInspector.JSHeapSnapshot.prototype._flagsOfNode):
2483         (WebInspector.JSHeapSnapshot.prototype._markDetachedDOMTreeNodes):
2484         (WebInspector.JSHeapSnapshot.prototype._markQueriableHeapObjects):
2485         (WebInspector.JSHeapSnapshot.prototype._markPageOwnedNodes):
2486         (WebInspector.JSHeapSnapshotNode.prototype.isUserObject):
2487         (WebInspector.JSHeapSnapshotNode.prototype.serialize):
2488
2489 2012-12-27  Alexander Pavlov  <apavlov@chromium.org>
2490
2491         Web Inspector: Refactor SourceMapParser to enable range-based sourcemap
2492         https://bugs.webkit.org/show_bug.cgi?id=105764
2493
2494         Reviewed by Vsevolod Vlasov.
2495
2496         Test: inspector/styles/range-based-mapping.html
2497
2498         * WebCore.gypi:
2499         * WebCore.vcproj/WebCore.vcproj:
2500         * inspector/compile-front-end.py:
2501         * inspector/front-end/CompilerScriptMapping.js:
2502         (WebInspector.CompilerScriptMapping):
2503         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
2504         * inspector/front-end/SourceMap.js: Copied from Source/WebCore/inspector/front-end/CompilerScriptMapping.js.
2505         (WebInspector.SourceMap):
2506           Abstract. Renamed from SourceMapParser and supports only direct (generated -> originating source) mapping via findEntry()
2507         (WebInspector.SourceMap.prototype.sources):
2508         (WebInspector.SourceMap.prototype.sourceContent):
2509         (WebInspector.SourceMap.prototype._parseMappingPayload):
2510         (WebInspector.SourceMap.prototype._parseSections):
2511         (WebInspector.SourceMap.prototype._parseMap):
2512         (WebInspector.SourceMap.prototype._isSeparator):
2513         (WebInspector.SourceMap.prototype._decodeVLQ):
2514         (WebInspector.SourceMap.prototype._canonicalizeURL):
2515         (WebInspector.SourceMap.StringCharIterator):
2516         (WebInspector.SourceMap.StringCharIterator.prototype.next):
2517         (WebInspector.SourceMap.StringCharIterator.prototype.peek):
2518         (WebInspector.SourceMap.StringCharIterator.prototype.hasNext):
2519         (WebInspector.PositionBasedSourceMap):
2520           Extends SourceMap and provides direct (compiled -> original source)
2521           and reverse (original -> compiled source) position mapping via findEntryReversed().
2522         (WebInspector.PositionBasedSourceMap.prototype.findEntry):
2523         (WebInspector.PositionBasedSourceMap.prototype.findEntryReversed):
2524         (WebInspector.PositionBasedSourceMap.prototype._parseMap):
2525         (WebInspector.RangeBasedSourceMap):
2526           Extends SourceMap and provides direct range mapping
2527           (compiled source position -> original source range) via findSourceRange().
2528         (WebInspector.RangeBasedSourceMap.MappingComparator):
2529         (WebInspector.RangeBasedSourceMap.prototype.findSourceRange):
2530         (WebInspector.RangeBasedSourceMap.prototype._rangeForStartIndex):
2531         (WebInspector.SourceRange):
2532         * inspector/front-end/WebKit.qrc:
2533         * inspector/front-end/inspector.html:
2534
2535 2012-12-25  Andrey Adaikin  <aandrey@chromium.org>
2536
2537         Web Inspector: [Canvas] report if there is any uninstrumented canvas on a page
2538         https://bugs.webkit.org/show_bug.cgi?id=105721
2539
2540         Reviewed by Yury Semikhatsky.
2541
2542         Adding a method to the protocol to report if there is any uninstrumented canvas on a page.
2543
2544         Test: inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases.html
2545
2546         * inspector/InjectedScriptCanvasModuleSource.js:
2547         (.):
2548         * inspector/Inspector.json:
2549         * inspector/InspectorCanvasAgent.cpp:
2550         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
2551         (WebCore::InspectorCanvasAgent::enable):
2552         (WebCore::InspectorCanvasAgent::disable):
2553         (WebCore::InspectorCanvasAgent::hasUninstrumentedCanvases):
2554         (WebCore):
2555         (WebCore::InspectorCanvasAgent::captureFrame):
2556         (WebCore::InspectorCanvasAgent::startCapturing):
2557         (WebCore::InspectorCanvasAgent::stopCapturing):
2558         (WebCore::InspectorCanvasAgent::getTraceLog):
2559         (WebCore::InspectorCanvasAgent::replayTraceLog):
2560         (WebCore::InspectorCanvasAgent::ensureHasUninstrumentedCanvasesCalculated):
2561         (WebCore::InspectorCanvasAgent::checkIsEnabled):
2562         (WebCore::InspectorCanvasAgent::reset):
2563         * inspector/InspectorCanvasAgent.h:
2564         (WebCore):
2565         (InspectorCanvasAgent):
2566         * inspector/InspectorInstrumentation.cpp:
2567         (WebCore):
2568         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2569
2570 2012-12-27  Vsevolod Vlasov  <vsevik@chromium.org>
2571
2572         Web Inspector: Simplify script mappings by introducing DefaultScriptMapping.
2573         https://bugs.webkit.org/show_bug.cgi?id=103038
2574
2575         Reviewed by Pavel Feldman.
2576
2577         DefaultScriptMapping creates a uiSourceCode for each script and set itself as a mapping for the script.
2578         Script can now have a stack of (possibly disabled) mappings, allowing to try several mappings when calculating uiLocation.
2579         LiveEditSupport object is added on WebInspector to support live editing of readonly DefaultScriptMapping's uiSourceCodes.
2580         DefaultScriptMapping is now the only mapping that creates temporary uiSourceCodes.
2581
2582         * English.lproj/localizedStrings.js:
2583         * WebCore.gypi:
2584         * WebCore.vcproj/WebCore.vcproj:
2585         * inspector/compile-front-end.py:
2586         * inspector/front-end/BreakpointManager.js:
2587         (WebInspector.BreakpointManager):
2588         (WebInspector.BreakpointManager.sourceFileId):
2589         (WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
2590         * inspector/front-end/CompilerScriptMapping.js:
2591         (WebInspector.CompilerScriptMapping):
2592         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
2593         (WebInspector.CompilerScriptMapping.prototype.uiLocationToRawLocation):
2594         (WebInspector.CompilerScriptMapping.prototype._reset):
2595         * inspector/front-end/DebuggerModel.js:
2596         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
2597         * inspector/front-end/DebuggerScriptMapping.js:
2598         (WebInspector.DebuggerScriptMapping):
2599         * inspector/front-end/DefaultScriptMapping.js: Added.
2600         * inspector/front-end/LiveEditSupport.js: Added.
2601         * inspector/front-end/ResourceScriptMapping.js:
2602         (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
2603         (WebInspector.ResourceScriptMapping.prototype.addScript):
2604         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
2605         (WebInspector.ResourceScriptMapping.prototype._hasMergedToVM):
2606         (WebInspector.ResourceScriptMapping.prototype._hasDivergedFromVM):
2607         (WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
2608         (WebInspector.ResourceScriptMapping.prototype._scriptsForUISourceCode):
2609         (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
2610         (WebInspector.ResourceScriptMapping.prototype._reset):
2611         * inspector/front-end/Script.js:
2612         (WebInspector.Script):
2613         (WebInspector.Script.prototype.):
2614         (WebInspector.Script.prototype.editSource):
2615         (WebInspector.Script.prototype.setIsDynamicScript):
2616         (WebInspector.Script.prototype.isDynamicScript):
2617         (WebInspector.Script.prototype.rawLocationToUILocation):
2618         (WebInspector.Script.prototype._enabledSourceMappings):
2619         (WebInspector.Script.prototype._sourceMappingsDiffer):
2620         (WebInspector.Script.prototype.disableSourceMapping):
2621         (WebInspector.Script.prototype.enableSourceMapping):
2622         (WebInspector.Script.prototype.pushSourceMapping):
2623         (WebInspector.Script.prototype.popSourceMapping):
2624         (WebInspector.Script.prototype._updateLocations):
2625         (WebInspector.Script.prototype.createLiveLocation):
2626         * inspector/front-end/ScriptSnippetModel.js:
2627         (WebInspector.ScriptSnippetModel.prototype._projectWillReset):
2628         * inspector/front-end/ScriptsPanel.js:
2629         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
2630         (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
2631         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
2632         * inspector/front-end/WebKit.qrc:
2633         * inspector/front-end/Workspace.js:
2634         (WebInspector.Workspace.prototype.addTemporaryUISourceCode):
2635         * inspector/front-end/inspector.html:
2636         * inspector/front-end/inspector.js:
2637
2638 2012-12-27  Eugene Klyuchnikov  <eustas@chromium.org>
2639
2640         Web Inspector: console.profileEnd() crashes if called without arguments
2641         https://bugs.webkit.org/show_bug.cgi?id=105759
2642
2643         Reviewed by Vsevolod Vlasov.
2644
2645         Test: inspector/profiler/cpu-profiler-parameterless-profile-end-crash.html
2646
2647         API allows to finish profile without specifying its name.
2648         Profiler tracks profiles stack and finishes outermost profile.
2649         Finished profile title will be used instead of user-specified one.
2650
2651         * bindings/v8/ScriptProfiler.cpp:
2652         (WebCore::ScriptProfiler::stop): Use title provided by profiler.
2653
2654 2012-12-26  No'am Rosenthal  <noam@webkit.org>
2655
2656         [Texmap] Instead of having multiple shaders sources with lots of duplication, we should have one shader source with MACRO variants
2657         https://bugs.webkit.org/show_bug.cgi?id=104815
2658
2659         Reviewed by Kenneth Rohde Christiansen.
2660
2661         Created templates for the vertex and fragment shaders, and added some MACROs in 
2662         TextureMapperShaderManager to allow GLSL precompiler-based configuration.
2663
2664         The template follows a pattern where the main function in the shader calls
2665         applyFooBarIfNeeded(), while applyFooBar() is implemented. The Macros prepended to the template define whether applyIfNeeded resolves to the real function or to a noop.
2666
2667         In addition, made some small changes to the filter shaders so that they can use the same code as the normal shaders.
2668
2669         Covered by existing pixel/ref tests when run on Qt/EFL/GTK.
2670
2671         * platform/graphics/texmap/TextureMapperGL.cpp:
2672         (WebCore::TextureMapperGL::drawTexture):
2673         (WebCore::TextureMapperGL::drawSolidColor):
2674         (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
2675         (WebCore::optionsForFilterType):
2676         (WebCore):
2677         (WebCore::getPassesRequiredForFilter):
2678         (WebCore::prepareFilterProgram):
2679         (WebCore::TextureMapperGL::drawFiltered):
2680         (WebCore::BitmapTextureGL::applyFilters):
2681             Always draw using the drawQuad function, and use the new TextureMapperShaderManager::Options mask instead of the old ShaderKey.
2682
2683         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
2684         (WebCore):
2685         (WebCore::getShaderSpec):
2686         (WebCore::TextureMapperShaderManager::getShaderProgram):
2687         * platform/graphics/texmap/TextureMapperShaderManager.h:
2688         (TextureMapperShaderProgram):
2689         (TextureMapperShaderManager):
2690
2691 2012-12-26  Huang Dongsung  <luxtella@company100.net>
2692
2693         [TexMap] A Minor optimization of GraphicsLayerTransform.
2694         https://bugs.webkit.org/show_bug.cgi?id=105758
2695
2696         Reviewed by Noam Rosenthal.
2697
2698         Only multiply the transformation matrices if the paramaters are actually
2699         changed.
2700
2701         This optimizes the code path called from flushCompositingStateForThisLayerOnly(),
2702         and potentially setAnimatedTransform().
2703
2704         No new tests. Refactoring only.
2705
2706         * platform/graphics/GraphicsLayerTransform.cpp:
2707         (WebCore::GraphicsLayerTransform::setPosition):
2708         (WebCore::GraphicsLayerTransform::setSize):
2709         (WebCore::GraphicsLayerTransform::setAnchorPoint):
2710         (WebCore::GraphicsLayerTransform::setFlattening):
2711         (WebCore::GraphicsLayerTransform::setLocalTransform):
2712         (WebCore::GraphicsLayerTransform::setChildrenTransform):
2713
2714 2012-12-26  Huang Dongsung  <luxtella@company100.net>
2715
2716         [TexMap] Remove unused members and methods in TextureMapperLayer.
2717         https://bugs.webkit.org/show_bug.cgi?id=105755
2718
2719         Reviewed by Noam Rosenthal.
2720
2721         No new tests. Refactoring only.
2722
2723         * platform/graphics/texmap/TextureMapperLayer.h:
2724         (TextureMapperLayer):
2725         (State):
2726         (WebCore::TextureMapperLayer::State::State):
2727
2728 2012-12-26  Andreas Kling  <akling@apple.com>
2729
2730         [Mac] MemoryPressureHandler: Occasional crashes in uninstall() when responding to memory pressure signal.
2731         <http://webkit.org/b/105772>
2732
2733         Reviewed by Stephanie Lewis.
2734
2735         We can't synchronously dereference _cache_event_source in uninstall() just because m_installed
2736         is true -- the block that initializes _cache_event_source is asynchronous and may not have executed.
2737         Fix this by performing the uninstallation asynchronously on the main queue as well.
2738
2739         * platform/mac/MemoryPressureHandlerMac.mm:
2740         (WebCore::MemoryPressureHandler::uninstall):
2741
2742 2012-12-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2743
2744         Unreviewed, rolling out r137905.
2745         http://trac.webkit.org/changeset/137905
2746         https://bugs.webkit.org/show_bug.cgi?id=105765
2747
2748         Popover does not disappear when hovering another identifier in
2749         sources panel. (Requested by vsevik on #webkit).
2750
2751         * inspector/front-end/Popover.js:
2752         (WebInspector.Popover.prototype._innerShow):
2753         * inspector/front-end/popover.css:
2754         (.popover):
2755
2756 2012-12-26  Eugene Klyuchnikov  <eustas@chromium.org>
2757
2758         Web Inspector: [Resources] Table lose focus (selection) after deleting cookie.
2759         https://bugs.webkit.org/show_bug.cgi?id=105716
2760
2761         Reviewed by Yury Semikhatsky.
2762
2763         This makes deletion of a set of cookies (using keyboard) painful.
2764
2765         * inspector/front-end/CookieItemsView.js: Call method instead of getter.
2766         * inspector/front-end/CookiesTable.js: Remember and use next selected
2767         cookie value.
2768
2769 2012-12-26  Yury Semikhatsky  <yurys@chromium.org>
2770
2771         Web Inspector: extract JS heap profiler specifics into JSHeapSnapshot.js
2772         https://bugs.webkit.org/show_bug.cgi?id=105768
2773
2774         Reviewed by Pavel Feldman.
2775
2776         Inroduced JSHeapSnapshot, JSHeapSnapshotNode, JSHeapSnapshotEdge and JSHeapSnapshotRetainerEdge which
2777         should encapsulate logic specific to JS-heap.
2778         No behavioral changes, covered with existing heap profiler tests.
2779
2780         * WebCore.gypi:
2781         * WebCore.vcproj/WebCore.vcproj:
2782         * inspector/compile-front-end.py:
2783         * inspector/front-end/HeapSnapshot.js:
2784         (WebInspector.HeapSnapshotEdge.prototype.hasStringName):
2785         (WebInspector.HeapSnapshotEdge.prototype.name):
2786         (WebInspector.HeapSnapshotEdge.prototype.node):
2787         (WebInspector.HeapSnapshotEdge.prototype.toString):
2788         (WebInspector.HeapSnapshotRetainerEdge.prototype._node):
2789         (WebInspector.HeapSnapshotRetainerEdge.prototype._edge):
2790         (WebInspector.HeapSnapshotNode.prototype.className):
2791         (WebInspector.HeapSnapshotNode.prototype.classIndex):
2792         (WebInspector.HeapSnapshotNode.prototype.edges):
2793         (WebInspector.HeapSnapshotNode.prototype.id):
2794         (WebInspector.HeapSnapshotNode.prototype.retainers):
2795         (WebInspector.HeapSnapshot.prototype.createNode):
2796         (WebInspector.HeapSnapshot.prototype.createEdge):
2797         (WebInspector.HeapSnapshot.prototype.createRetainingEdge):
2798         (WebInspector.HeapSnapshot.prototype.rootNode):
2799         (WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
2800         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2801         (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
2802         (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
2803         (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
2804         (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
2805         (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
2806         (WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
2807         (WebInspector.HeapSnapshotNodesProvider.prototype.nodePosition):
2808         * inspector/front-end/HeapSnapshotLoader.js:
2809         (WebInspector.HeapSnapshotLoader.prototype.buildSnapshot):
2810         * inspector/front-end/HeapSnapshotProxy.js:
2811         (WebInspector.HeapSnapshotWorker):
2812         * inspector/front-end/HeapSnapshotWorker.js:
2813         * inspector/front-end/JSHeapSnapshot.js: Added.
2814         (WebInspector.JSHeapSnapshot):
2815         (WebInspector.JSHeapSnapshot.prototype.createNode):
2816         (WebInspector.JSHeapSnapshot.prototype.createEdge):
2817         (WebInspector.JSHeapSnapshot.prototype.createRetainingEdge):
2818         (WebInspector.JSHeapSnapshotNode):
2819         (WebInspector.JSHeapSnapshotNode.prototype.canBeQueried):
2820         (WebInspector.JSHeapSnapshotNode.prototype.isPageObject):
2821         (WebInspector.JSHeapSnapshotNode.prototype.distanceToWindow):
2822         (WebInspector.JSHeapSnapshotNode.prototype.className):
2823         (WebInspector.JSHeapSnapshotNode.prototype.classIndex):
2824         (WebInspector.JSHeapSnapshotNode.prototype.id):
2825         (WebInspector.JSHeapSnapshotNode.prototype.isHidden):
2826         (WebInspector.JSHeapSnapshotNode.prototype.isNative):
2827         (WebInspector.JSHeapSnapshotNode.prototype.isSynthetic):
2828         (WebInspector.JSHeapSnapshotNode.prototype.isWindow):
2829         (WebInspector.JSHeapSnapshotNode.prototype.isDetachedDOMTreesRoot):
2830         (WebInspector.JSHeapSnapshotNode.prototype.isDetachedDOMTree):
2831         (WebInspector.JSHeapSnapshotEdge):
2832         (WebInspector.JSHeapSnapshotEdge.prototype.clone):
2833         (WebInspector.JSHeapSnapshotEdge.prototype.hasStringName):
2834         (WebInspector.JSHeapSnapshotEdge.prototype.isElement):
2835         (WebInspector.JSHeapSnapshotEdge.prototype.isHidden):
2836         (WebInspector.JSHeapSnapshotEdge.prototype.isWeak):
2837         (WebInspector.JSHeapSnapshotEdge.prototype.isInternal):
2838         (WebInspector.JSHeapSnapshotEdge.prototype.isInvisible):
2839         (WebInspector.JSHeapSnapshotEdge.prototype.isShortcut):
2840         (WebInspector.JSHeapSnapshotEdge.prototype.name):
2841         (WebInspector.JSHeapSnapshotEdge.prototype.toString):
2842         (WebInspector.JSHeapSnapshotEdge.prototype._hasStringName):
2843         (WebInspector.JSHeapSnapshotEdge.prototype._name):
2844         (WebInspector.JSHeapSnapshotEdge.prototype._nameOrIndex):
2845         (WebInspector.JSHeapSnapshotEdge.prototype._type):
2846         (WebInspector.JSHeapSnapshotRetainerEdge):
2847         (WebInspector.JSHeapSnapshotRetainerEdge.prototype.clone):
2848         (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isElement):
2849         (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isHidden):
2850         (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isInternal):
2851         (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isInvisible):
2852         (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isShortcut):
2853         (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isWeak):
2854         * inspector/front-end/ProfilesPanel.js:
2855         * inspector/front-end/WebKit.qrc:
2856
2857 2012-12-26  Patrick Gansterer  <paroga@webkit.org>
2858
2859         [WIN] Build fix for !USE(CFNETWORK) after r138413.
2860
2861         * platform/network/NetworkStorageSession.h:
2862         (WebCore):
2863
2864 2012-12-26  Yury Semikhatsky  <yurys@chromium.org>
2865
2866         Web Inspector: prepare HeapSnapshot.js for use with native heap snapshot
2867         https://bugs.webkit.org/show_bug.cgi?id=105763
2868
2869         Reviewed by Alexander Pavlov.
2870
2871         HeapSnapshot.js now expects root node to be either the first or the last (real) one
2872         in the list of all nodes.
2873
2874         * inspector/HeapGraphSerializer.cpp:
2875         (HeapGraphNode):
2876         (WebCore::HeapGraphSerializer::serialize): reordered node and edge fields so that the go in
2877         the same order as in the JS heap snapshot.
2878         * inspector/front-end/HeapSnapshot.js:
2879         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2880         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
2881         * inspector/front-end/NativeHeapGraph.js:
2882         (WebInspector.NativeHeapGraph):
2883         (WebInspector.NativeHeapGraph.prototype.root): now there is explicit root node which is the last
2884         one in the list, use it.
2885         (WebInspector.NativeHeapGraph.prototype._calculateNodeEdgeIndexes):
2886         (WebInspector.NativeHeapGraph.prototype._addDummyNode): fixed dummy node first edge index.
2887         (WebInspector.NativeHeapGraph.Edge.prototype.target):
2888         (WebInspector.NativeHeapGraph.Node.prototype.referencedNodes):
2889         * inspector/front-end/NativeMemorySnapshotView.js:
2890         (WebInspector.NativeSnapshotNode.prototype._addChildrenFromGraph): switched to use of the root node
2891         (WebInspector.NativeHeapGraphDataGridRoot.prototype._populate):
2892
2893 2012-12-26  Pan Deng  <pan.deng@intel.com>
2894
2895         [Web Inspector]Remove Preview and Response tab from network panel in case websocket.
2896         https://bugs.webkit.org/show_bug.cgi?id=105754
2897
2898         Reviewed by Pavel Feldman.
2899
2900         Network item views for websocket is not consistent before/after receiving a frame.
2901         This change keeps Headers, Frames and Cookies tab for websocket.
2902
2903         No new tests.
2904
2905         * inspector/front-end/NetworkItemView.js:
2906         (WebInspector.NetworkItemView):
2907
2908 2012-12-25  John Griggs  <jgriggs@rim.com>
2909
2910         [BlackBerry] Media controls are drawn on top of one another for media with unknown duration.
2911         https://bugs.webkit.org/show_bug.cgi?id=105747
2912
2913         Reviewed by George Staikos.
2914
2915         No need to reposition controls when there is no timeline element, this mispositions them in the new design.
2916
2917         * platform/blackberry/RenderThemeBlackBerry.cpp:
2918         (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
2919
2920 2012-12-25  Alexander Pavlov  <apavlov@chromium.org>
2921
2922         Web Inspector: Crash when modifying a rule that has been removed through JavaScript
2923         https://bugs.webkit.org/show_bug.cgi?id=105718
2924
2925         Reviewed by Yury Semikhatsky.
2926
2927         CSSStyleRules should be stored by RefPtr's to avoid using stale pointers to deleted instances.
2928
2929         Test: inspector/styles/removed-rule-crash.html
2930
2931         * inspector/InspectorStyleSheet.cpp:
2932         (WebCore::InspectorStyleSheet::ruleForId):
2933         (WebCore::InspectorStyleSheet::revalidateStyle):
2934         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
2935         (WebCore::InspectorStyleSheet::collectFlatRules):
2936         * inspector/InspectorStyleSheet.h:
2937         (InspectorStyleSheet):
2938
2939 2012-12-25  Eugene Klyuchnikov  <eustas@chromium.org>
2940
2941         Web Inspector: [Console] Add "Replay XHR" context menu item for corresponding messages.
2942         https://bugs.webkit.org/show_bug.cgi?id=105714
2943
2944         Reviewed by Pavel Feldman.
2945
2946         Expose "request" value from console message object and use it in console
2947         context menu generator.
2948
2949         * inspector/front-end/ConsoleMessage.js: Expose "request".
2950         * inspector/front-end/ConsoleView.js: Add "Replay XHR" menu item.
2951         * inspector/front-end/NetworkPanel.js: Fix whitespaces.
2952
2953 2012-12-25  Alexander Pavlov  <apavlov@chromium.org>
2954
2955         Web Inspector: Make InspectorState instances per-agent, corresponding to JSON map entries in the cookie
2956         https://bugs.webkit.org/show_bug.cgi?id=105722
2957
2958         Reviewed by Yury Semikhatsky.
2959
2960         Inspector state cookie (in JSON format) has become a map (agent name -> "properties object")
2961         to avoid cross-agent property name clashes in a single property namespace.
2962         As such, InspectorState corresponds to a single "properties object" and is now per-agent,
2963         managed by an InspectorCompositeState (which is owned by [Worker]InspectorController).
2964         Since InspectorCompositeState maps "properties objects" by their agent names, InspectorStates are created
2965         by InspectorCompositeState in the InspectorBaseAgentInterface ctor, using the respective agent name.
2966
2967         No new tests, no change in visible behavior.
2968
2969         * inspector/InspectorAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
2970         * inspector/InspectorAgent.h: Ditto.
2971         * inspector/InspectorApplicationCacheAgent.cpp: Ditto.
2972         * inspector/InspectorApplicationCacheAgent.h: Ditto.
2973         * inspector/InspectorBaseAgent.cpp: Ditto.
2974         (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
2975         Create InspectorState via InspectorCompositeState::createAgentState(agentName).
2976         * inspector/InspectorBaseAgent.h: Pass InspectorCompositeState rather than InspectorState.
2977         * inspector/InspectorCSSAgent.cpp: Ditto.
2978         * inspector/InspectorCSSAgent.h: Ditto.
2979         * inspector/InspectorCanvasAgent.cpp: Ditto.
2980         * inspector/InspectorCanvasAgent.h: Ditto.
2981         * inspector/InspectorConsoleAgent.cpp: Ditto.
2982         * inspector/InspectorConsoleAgent.h: Ditto.
2983         * inspector/InspectorController.cpp: Use InspectorCompositeState rather than InspectorState.
2984         * inspector/InspectorController.h: Ditto.
2985         * inspector/InspectorDOMAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
2986         (WebCore::InspectorDOMAgent::InspectorDOMAgent): Ditto.
2987         * inspector/InspectorDOMAgent.h: Ditto.
2988         * inspector/InspectorDOMDebuggerAgent.cpp: Ditto.
2989         * inspector/InspectorDOMDebuggerAgent.h: Ditto.
2990         * inspector/InspectorDOMStorageAgent.cpp: Ditto.
2991         * inspector/InspectorDOMStorageAgent.h: Ditto.
2992         * inspector/InspectorDatabaseAgent.cpp: Ditto.
2993         * inspector/InspectorDatabaseAgent.h: Ditto.
2994         * inspector/InspectorDebuggerAgent.cpp: Ditto.
2995         * inspector/InspectorDebuggerAgent.h: Ditto.
2996         * inspector/InspectorFileSystemAgent.cpp: Ditto.
2997         * inspector/InspectorFileSystemAgent.h: Ditto.
2998         * inspector/InspectorIndexedDBAgent.cpp: Ditto.
2999         * inspector/InspectorIndexedDBAgent.h: Ditto.
3000         * inspector/InspectorInputAgent.cpp: Ditto.
3001         * inspector/InspectorInputAgent.h: Ditto.
3002         * inspector/InspectorLayerTreeAgent.cpp: Ditto.
3003         * inspector/InspectorLayerTreeAgent.h: Ditto.
3004         * inspector/InspectorMemoryAgent.cpp: Ditto.
3005         * inspector/InspectorMemoryAgent.h: Ditto.
3006         * inspector/InspectorPageAgent.cpp: Ditto.
3007         * inspector/InspectorPageAgent.h: Ditto.
3008         * inspector/InspectorProfilerAgent.cpp: Ditto.
3009         * inspector/InspectorProfilerAgent.h: Ditto.
3010         * inspector/InspectorResourceAgent.cpp: Ditto.
3011         * inspector/InspectorResourceAgent.h: Ditto.
3012         * inspector/InspectorRuntimeAgent.cpp: Ditto.
3013         * inspector/InspectorRuntimeAgent.h: Ditto.
3014         * inspector/InspectorState.cpp: Introduce InspectorCompositeState, refactor.
3015         (WebCore::InspectorState::updateCookie): Delegates to the owning InspectorCompositeState instance.
3016         (WebCore::InspectorState::setFromCookie): Gets called from InspectorCompositeState::loadFromCookie().
3017         (WebCore::InspectorState::remove): Don't forget to update the cookie.
3018         (WebCore::InspectorCompositeState::createAgentState): Creates an InspectorState instance for a named agent.
3019         (WebCore::InspectorCompositeState::loadFromCookie): Restores InspectorStates from a cookie.
3020         (WebCore::InspectorCompositeState::inspectorStateUpdated): Delegate invoked from InspectorState::updateCookie().
3021         * inspector/InspectorState.h:
3022         (InspectorStateUpdateListener): InspectorCompositeState API exposed to InspectorState.
3023         * inspector/InspectorTimelineAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
3024         * inspector/InspectorTimelineAgent.h: Ditto.
3025         * inspector/InspectorWorkerAgent.cpp: Ditto.
3026         * inspector/InspectorWorkerAgent.h: Ditto.
3027         * inspector/PageConsoleAgent.cpp: Ditto.
3028         * inspector/PageConsoleAgent.h: Ditto.
3029         * inspector/PageDebuggerAgent.cpp: Ditto.
3030         * inspector/PageDebuggerAgent.h: Ditto.
3031         * inspector/PageRuntimeAgent.cpp: Ditto.
3032         * inspector/PageRuntimeAgent.h: Ditto.
3033         * inspector/WorkerConsoleAgent.cpp: Ditto.
3034         * inspector/WorkerConsoleAgent.h: Ditto.
3035         * inspector/WorkerDebuggerAgent.cpp: Ditto.
3036         * inspector/WorkerDebuggerAgent.h: Ditto.
3037         * inspector/WorkerInspectorController.cpp: Ditto.
3038         * inspector/WorkerInspectorController.h: Ditto.
3039         * inspector/WorkerRuntimeAgent.cpp: Ditto.
3040         * inspector/WorkerRuntimeAgent.h: Ditto.
3041
3042 2012-12-24  Yury Semikhatsky  <yurys@chromium.org>
3043
3044         Memory instrumentation: provide a way to mark a node as a root
3045         https://bugs.webkit.org/show_bug.cgi?id=105737
3046
3047         Reviewed by Alexander Pavlov.
3048
3049         Extended HeapGraphSerializer to add a fake root node with edges to all
3050         real instrumentation roots.
3051
3052         * inspector/HeapGraphSerializer.cpp:
3053         (WebCore::HeapGraphSerializer::reportNode):
3054         (WebCore::HeapGraphSerializer::addRootNode):
3055         (WebCore):
3056         * inspector/HeapGraphSerializer.h:
3057         (HeapGraphSerializer):
3058
3059 2012-12-24  Yury Semikhatsky  <yurys@chromium.org>
3060
3061         Web Inspector: add message listener only in case of standalone test-runner.html
3062         https://bugs.webkit.org/show_bug.cgi?id=105715
3063
3064         Reviewed by Pavel Feldman.
3065
3066         Tell InspectorFrontendAPI that it is launched by standalone test runner so that it
3067         can decide whether message event listener should be added.
3068
3069         * inspector/front-end/InspectorFrontendAPI.js:
3070         * inspector/front-end/test-runner.html:
3071
3072 2012-12-24  Ilya Tikhonovsky  <loislo@chromium.org>
3073
3074         Web Inspector: Native Memory Instrumentation: propagate member type as edge type to the serialized heap graph.
3075         https://bugs.webkit.org/show_bug.cgi?id=105725
3076
3077         Reviewed by Yury Semikhatsky.
3078
3079         MemoryOwningType was renamed to MemberType.
3080         Source argument were removed from reportEdge, reportLeaf and other edge related methods because it is not necessary.
3081         MemberType argument was propagated from MemoryInstrumentation down to HeapGraphSerializer.
3082
3083         * inspector/HeapGraphSerializer.cpp:
3084         (WebCore::HeapGraphEdge::HeapGraphEdge):
3085         (HeapGraphEdge):
3086         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
3087         (WebCore::HeapGraphSerializer::reportEdge):
3088         (WebCore::HeapGraphSerializer::reportLeaf):
3089         (WebCore::HeapGraphSerializer::serialize):
3090         * inspector/HeapGraphSerializer.h:
3091         (HeapGraphSerializer):
3092         * inspector/MemoryInstrumentationImpl.cpp:
3093         (WebCore::MemoryInstrumentationClientImpl::reportEdge):
3094         (WebCore::MemoryInstrumentationClientImpl::reportLeaf):
3095         * inspector/MemoryInstrumentationImpl.h:
3096         (MemoryInstrumentationClientImpl):
3097
3098 2012-12-24  Takashi Sakamoto  <tasak@google.com>
3099
3100         ::first-letter { overflow: -webkit-paged-y } causes crash
3101         https://bugs.webkit.org/show_bug.cgi?id=105393
3102
3103         Reviewed by Beth Dakin.
3104
3105         Should check whether e is available or not before invoking
3106         e->hasTagName in adjustRenderStyle in StyleResolver.cpp.
3107
3108         Test: fast/css/pseudo-element-opagedxy-crash.html
3109
3110         * css/StyleResolver.cpp:
3111         (WebCore::StyleResolver::adjustRenderStyle):
3112         If adjustRenderStyle is invoked in pseudoStyleForElement, the given
3113         element is 0. So e is not available. However if the given style's
3114         overflowY is OPAGEDX or OPAGEDY, adjustRenderStyle doesn't check
3115         whether e is available or not before e->hasTagName.
3116         This causes a crash.
3117
3118 2012-12-24  Alexei Filippov  <alph@chromium.org>
3119
3120         Web Inspector: add async API for passing renderer process memory stats
3121         https://bugs.webkit.org/show_bug.cgi?id=105278
3122
3123         Reviewed by Yury Semikhatsky.
3124
3125         On some platforms (e.g. Linux) it may take some time to collect
3126         total process memory information as it involves an IPC out of a
3127         sandboxed renderer process. So add an async way to collect the statistics.
3128
3129         * platform/MemoryUsageSupport.cpp:
3130         (WebCore::MemoryUsageSupport::requestProcessMemorySizes):
3131         (WebCore):
3132         * platform/MemoryUsageSupport.h:
3133         (MemoryUsageSupport):
3134         (ProcessMemorySizesCallback):
3135         (WebCore::MemoryUsageSupport::ProcessMemorySizesCallback::~ProcessMemorySizesCallback):
3136         * platform/chromium/MemoryUsageSupportChromium.cpp:
3137         (WebCore::MemoryUsageSupport::requestProcessMemorySizes):
3138         (WebCore):
3139         * platform/qt/MemoryUsageSupportQt.cpp:
3140         (WebCore::MemoryUsageSupport::requestProcessMemorySizes):
3141         (WebCore):
3142
3143 2012-12-24  Laszlo Gombos  <l.gombos@samsung.com>
3144
3145         Remove wtf/Platform.h includes from {c|cpp} files
3146         https://bugs.webkit.org/show_bug.cgi?id=105678
3147
3148         Reviewed by Kentaro Hara.
3149
3150         Remove wtf/Platform.h from the include list as it is already
3151         included in config.h.
3152
3153         No new tests as there is no new functionality.
3154
3155         * rendering/svg/RenderSVGRect.cpp:
3156
3157 2012-12-24  Kentaro Hara  <haraken@chromium.org>
3158
3159         Follow up fixes for r137739
3160         https://bugs.webkit.org/show_bug.cgi?id=104982
3161
3162         Reviewed by Ryosuke Niwa.
3163
3164         Applied darin's comments in https://bugs.webkit.org/show_bug.cgi?id=104982#c18
3165
3166         No tests. No change in behavior.
3167
3168         * dom/ContainerNode.h:
3169         (WebCore::ChildNodesLazySnapshot::nextNode):
3170
3171 2012-12-24  Tiancheng Jiang  <tijiang@rim.com>
3172
3173         Update BB10 media render theme.
3174         https://bugs.webkit.org/show_bug.cgi?id=105728
3175
3176         Reviewed by Rob Buis.
3177
3178         Internally reviewed by John Griggs.
3179         Use GL renderer to paint media control.
3180
3181         * css/mediaControlsBlackBerry.css:
3182         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
3183         * platform/blackberry/RenderThemeBlackBerry.cpp:
3184         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
3185         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
3186
3187 2012-12-24  Sheriff Bot  <webkit.review.bot@gmail.com>
3188
3189         Unreviewed, rolling out r138436.
3190         http://trac.webkit.org/changeset/138436
3191         https://bugs.webkit.org/show_bug.cgi?id=105723
3192
3193         Asserts on state restoration in debug builds (Requested by
3194         apavlov on #webkit).
3195
3196         * inspector/InspectorAgent.cpp:
3197         (InspectorAgentState):
3198         (WebCore::InspectorAgent::enable):
3199         (WebCore::InspectorAgent::disable):
3200         (WebCore::InspectorAgent::evaluateForTestInFrontend):
3201         (WebCore::InspectorAgent::inspect):
3202         * inspector/InspectorApplicationCacheAgent.cpp:
3203         (ApplicationCacheAgentState):
3204         (WebCore::InspectorApplicationCacheAgent::restore):
3205         (WebCore::InspectorApplicationCacheAgent::enable):
3206         * inspector/InspectorCSSAgent.cpp:
3207         (CSSAgentState):
3208         (WebCore::InspectorCSSAgent::restore):
3209         (WebCore::InspectorCSSAgent::enable):
3210         (WebCore::InspectorCSSAgent::disable):
3211         * inspector/InspectorCanvasAgent.cpp:
3212         (CanvasAgentState):
3213         (WebCore::InspectorCanvasAgent::restore):
3214         (WebCore::InspectorCanvasAgent::enable):
3215         (WebCore::InspectorCanvasAgent::disable):
3216         * inspector/InspectorController.cpp:
3217         (WebCore::InspectorController::InspectorController):
3218         * inspector/InspectorController.h:
3219         (WebCore):
3220         (InspectorController):
3221         * inspector/InspectorDOMStorageAgent.cpp:
3222         (DOMStorageAgentState):
3223         (WebCore::InspectorDOMStorageAgent::restore):
3224         (WebCore::InspectorDOMStorageAgent::enable):
3225         (WebCore::InspectorDOMStorageAgent::disable):
3226         * inspector/InspectorDatabaseAgent.cpp:
3227         (DatabaseAgentState):
3228         (WebCore):
3229         (WebCore::InspectorDatabaseAgent::enable):
3230         (WebCore::InspectorDatabaseAgent::disable):
3231         (WebCore::InspectorDatabaseAgent::restore):
3232         * inspector/InspectorDebuggerAgent.cpp:
3233         (WebCore::InspectorDebuggerAgent::disable):
3234         * inspector/InspectorFileSystemAgent.cpp:
3235         (FileSystemAgentState):
3236         (WebCore):
3237         (WebCore::InspectorFileSystemAgent::enable):
3238         (WebCore::InspectorFileSystemAgent::disable):
3239         (WebCore::InspectorFileSystemAgent::clearFrontend):
3240         (WebCore::InspectorFileSystemAgent::restore):
3241         * inspector/InspectorIndexedDBAgent.cpp:
3242         (IndexedDBAgentState):
3243         (WebCore):
3244         (WebCore::InspectorIndexedDBAgent::restore):
3245         (WebCore::InspectorIndexedDBAgent::enable):
3246         (WebCore::InspectorIndexedDBAgent::disable):
3247         * inspector/InspectorLayerTreeAgent.cpp:
3248         (LayerTreeAgentState):
3249         (WebCore::InspectorLayerTreeAgent::restore):
3250         (WebCore::InspectorLayerTreeAgent::enable):
3251         (WebCore::InspectorLayerTreeAgent::disable):
3252         * inspector/InspectorPageAgent.cpp:
3253         (PageAgentState):
3254         (WebCore::InspectorPageAgent::restore):
3255         (WebCore::InspectorPageAgent::webViewResized):
3256         (WebCore::InspectorPageAgent::enable):
3257         (WebCore::InspectorPageAgent::disable):
3258         (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
3259         (WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
3260         (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
3261         (WebCore::InspectorPageAgent::setShowPaintRects):
3262         (WebCore::InspectorPageAgent::setShowFPSCounter):
3263         (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
3264         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
3265         (WebCore::InspectorPageAgent::applyScreenWidthOverride):
3266         (WebCore::InspectorPageAgent::applyScreenHeightOverride):
3267         (WebCore::InspectorPageAgent::didPaint):
3268         (WebCore::InspectorPageAgent::didLayout):
3269         (WebCore::InspectorPageAgent::setEmulatedMedia):
3270         (WebCore::InspectorPageAgent::applyEmulatedMedia):
3271         * inspector/InspectorResourceAgent.cpp:
3272         (ResourceAgentState):
3273         (WebCore::InspectorResourceAgent::restore):
3274         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
3275         (WebCore::InspectorResourceAgent::enable):
3276         (WebCore::InspectorResourceAgent::disable):
3277         * inspector/InspectorState.cpp:
3278         (WebCore::InspectorState::InspectorState):
3279         (WebCore::InspectorState::loadFromCookie):
3280         (WebCore):
3281         (WebCore::InspectorState::mute):
3282         (WebCore::InspectorState::unmute):
3283         (WebCore::InspectorState::updateCookie):
3284         (WebCore::InspectorState::remove):
3285         * inspector/InspectorState.h:
3286         (WebCore):
3287         (InspectorState):
3288         (WebCore::InspectorState::setLong):
3289         * inspector/InspectorTimelineAgent.cpp:
3290         (TimelineAgentState):
3291         (WebCore::InspectorTimelineAgent::restore):
3292         (WebCore::InspectorTimelineAgent::start):
3293         (WebCore::InspectorTimelineAgent::stop):
3294         * inspector/WorkerInspectorController.cpp:
3295         (WebCore::WorkerInspectorController::WorkerInspectorController):
3296         * inspector/WorkerInspectorController.h:
3297         (WebCore):
3298         (WorkerInspectorController):
3299
3300 2012-12-24  Peter Rybin  <prybin@chromium.org>
3301
3302         Web Inspector: Keep LiveEdit API disabled when idle
3303         https://bugs.webkit.org/show_bug.cgi?id=104039
3304
3305         Reviewed by Pavel Feldman.
3306
3307         Guards are added to LiveEdit call
3308
3309         * bindings/v8/ScriptDebugServer.cpp:
3310         (WebCore::ScriptDebugServer::setScriptSource):
3311
3312 2012-12-24  Andrey Lushnikov  <lushnikov@chromium.com>
3313
3314         Web Inspector: refactor TextEditorHighlighter's highlight attributes to dense array
3315         https://bugs.webkit.org/show_bug.cgi?id=105626
3316
3317         Reviewed by Pavel Feldman.
3318
3319         Refactor highlight attributes from sparse array to dense array.
3320
3321         No new tests: no behaviour changes, coverage provided by existing tests.
3322
3323         * inspector/front-end/DefaultTextEditor.js:
3324         (WebInspector.TextEditorMainPanel.prototype._paintLine):
3325         (WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
3326         * inspector/front-end/TextEditorHighlighter.js:
3327         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
3328
3329 2012-12-21  Alexander Pavlov  <apavlov@chromium.org>
3330
3331         Web Inspector: Make use of the new InspectorState::remove() in inspector agents
3332         https://bugs.webkit.org/show_bug.cgi?id=105438
3333
3334         Reviewed by Yury Semikhatsky.
3335
3336         This patch introduces the following refactorings:
3337         - setting property values of InspectorState to "empty" objects has been replaced by removing them from the state;
3338         - InspectorState instance is no longer shared across agents, so that the property names can no longer clash.
3339           Instead, InspectorCompositeState creates and owns InspectorState instances for every agent;
3340         - agent-specific prefix has been stripped from most property names, where it looked synthetic.
3341         - updateCookie() is called from InspectorState::remove().
3342
3343         No new tests, as there is no visible change in the behavior.
3344
3345         * inspector/InspectorAgent.cpp: Agent-specific property name prefix stripped.
3346         * inspector/InspectorApplicationCacheAgent.cpp: Ditto.
3347         * inspector/InspectorCSSAgent.cpp: Ditto.
3348         * inspector/InspectorCanvasAgent.cpp: Ditto.
3349         * inspector/InspectorController.cpp: Make use of InspectorCompositeState rather than InspectorState.
3350         * inspector/InspectorController.h: Ditto.
3351         * inspector/InspectorDOMStorageAgent.cpp: Agent-specific property name prefix stripped.
3352         * inspector/InspectorDatabaseAgent.cpp: Ditto.
3353         * inspector/InspectorDebuggerAgent.cpp: Ditto.
3354         (WebCore::InspectorDebuggerAgent::disable):
3355         Use "remove" instead of setting an empty object.
3356         * inspector/InspectorFileSystemAgent.cpp: Agent-specific property name prefix stripped.
3357         * inspector/InspectorIndexedDBAgent.cpp: Ditto.
3358         * inspector/InspectorLayerTreeAgent.cpp: Ditto.
3359         * inspector/InspectorPageAgent.cpp: Ditto.
3360         (WebCore::InspectorPageAgent::disable):
3361         Use "remove" instead of setting empty values for certain properties.
3362         (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
3363         Remove unnecessary code (object is created and put into the map if none is found).
3364         * inspector/InspectorResourceAgent.cpp: Agent-specific property name prefix stripped.
3365         (WebCore::InspectorResourceAgent::disable):
3366         Use "remove" instead of setting an empty object for userAgentOverride.
3367         * inspector/InspectorState.cpp: Add InspectorCompositeState.
3368         (WebCore::InspectorState::setFromCookie): Gets invoked from InspectorCompositeState::loadFromCookie().
3369         (WebCore::InspectorState::updateCookie): Call updateCookie().
3370         (WebCore::InspectorCompositeState::createAgentState): Creates an InspectorState instance to be passed to an agent.
3371         * inspector/InspectorState.h: Add InspectorCompositeState.
3372         (WebCore::InspectorState::setLong): Fix cast.
3373         * inspector/InspectorTimelineAgent.cpp: Agent-specific property name prefix stripped.
3374         * inspector/WorkerInspectorController.cpp: Make use of InspectorCompositeState rather than InspectorState.
3375         * inspector/WorkerInspectorController.h: Ditto.
3376
3377 2012-12-23  Dimitri Glazkov  <dglazkov@chromium.org>
3378
3379         Split fast-rejection filter logic off SelectorChecker.
3380         https://bugs.webkit.org/show_bug.cgi?id=105660
3381
3382         The awesome Bloom filter and parent stack logic don't need to be in SelectorChecker. They nicely factor out
3383         into their own pretty thing, named thereby SelectorFilter.
3384
3385         Reviewed by Eric Seidel.
3386
3387         No change in functionality, covered by existing tests.
3388
3389         * CMakeLists.txt: Added SelectorFilter to build systems.
3390         * GNUmakefile.list.am: Ditto.
3391         * Target.pri: Ditto.
3392         * WebCore.gypi: Ditto.
3393         * WebCore.xcodeproj/project.pbxproj: Ditto.
3394         * css/CSSAllInOne.cpp: Ditto.
3395         * css/RuleSet.cpp: Changed to use SelectorFilter.
3396         (WebCore::RuleData::RuleData): Ditto.
3397         * css/SelectorChecker.cpp: Ditto.
3398         * css/SelectorChecker.h: Ditto.
3399         (SelectorChecker):
3400         * css/StyleResolver.cpp: Ditto.
3401         (WebCore):
3402         (WebCore::StyleResolver::pushParentElement): Ditto.
3403         (WebCore::StyleResolver::popParentElement): Ditto.
3404         (WebCore::StyleResolver::collectMatchingRulesForList): Ditto.
3405         * css/StyleResolver.h:
3406         (StyleResolver): Ditto.
3407
3408 2012-12-23  Qiankun Miao  <qiankun.miao@intel.com>
3409
3410         Remove unused reference to "class LayerChromium"
3411         https://bugs.webkit.org/show_bug.cgi?id=105502
3412
3413         Reviewed by Kentaro Hara.
3414
3415         class LayerChromium doesn't exist any more. Just remove the unused
3416         code.
3417
3418         * platform/graphics/chromium/Canvas2DLayerBridge.h:
3419
3420 2012-12-23  Alexey Proskuryakov  <ap@apple.com>
3421
3422         <rdar://problem/12808377> Network process should respect cookie accept policy
3423         https://bugs.webkit.org/show_bug.cgi?id=105684
3424
3425         Reviewed by Sam Weinig.
3426
3427         Changed cookie change observer to not use platform strategies, to make it usable
3428         in NetworkProcess. startObservingCookieChanges() now just takes a callback pointer.
3429
3430         * WebCore.exp.in:
3431         * platform/CookiesStrategy.h:
3432         * platform/network/CookieStorage.h:
3433         * platform/network/cf/CookieStorageCFNet.cpp: