Web Inspector: make Spectrum and Popover WebInspector.Views in order to enable reuse
https://bugs.webkit.org/show_bug.cgi?id=101200

Reviewed by Yury Semikhatsky.

- Split Spectrum and SpectrumPopoverHelper (first is a component, second is controller)
- Made Popover a root view in order to enable lazy style loading for potential subviews (such as Spectrum)
- Extracted spectrum's css into a separate file

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/DOMExtension.js:
(Element.prototype.positionAt):
(Size):
(Element.prototype.measurePreferredSize):
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotView.prototype.willHide):
(WebInspector.HeapSnapshotView.prototype._helpClicked):
* inspector/front-end/Popover.js:
(WebInspector.Popover):
(WebInspector.Popover.prototype.show):
(WebInspector.Popover.prototype.showView):
(WebInspector.Popover.prototype._innerShow):
(WebInspector.Popover.prototype.hide):
(WebInspector.Popover.prototype.dispose):
(WebInspector.Popover.prototype._positionElement):
* inspector/front-end/Spectrum.js:
(WebInspector.Spectrum.alphaDrag):
(WebInspector.Spectrum):
(WebInspector.Spectrum.prototype.wasShown):
(WebInspector.SpectrumPopupHelper):
(WebInspector.SpectrumPopupHelper.prototype.spectrum):
(WebInspector.SpectrumPopupHelper.prototype.toggle):
(WebInspector.SpectrumPopupHelper.prototype.show):
(WebInspector.SpectrumPopupHelper.prototype.reposition):
(WebInspector.SpectrumPopupHelper.prototype.hide):
(WebInspector.ColorSwatch):
(WebInspector.ColorSwatch.prototype.setColorString):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane):
(WebInspector.StylesSidebarPane.prototype.update):
(WebInspector.StylesSidebarPane.prototype.willHide):
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
* inspector/front-end/View.js:
(WebInspector.View.prototype.measurePreferredSize):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/elementsPanel.css:
(.image-preview-container img):
* inspector/front-end/inspector.css:
(.swatch):
(.swatch-inner):
(.swatch-inner:hover):
* inspector/front-end/spectrum.css: Added.
(.spectrum-container):
(.spectrum-top):
(.spectrum-color):
(.spectrum-display-value):
(.spectrum-hue):
(.spectrum-fill):
(.spectrum-range-container):
(.spectrum-range-container *):
(.spectrum-range-container label):
(.spectrum-range-container input):
(.spectrum-dragger, .spectrum-slider):
(.spectrum-sat):
(.spectrum-val):
(.spectrum-dragger):
(.spectrum-slider):
(.spectrum-container .swatch):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133582 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Displayed name/path of urls in network tab of dev tools is inconsistent
https://bugs.webkit.org/show_bug.cgi?id=101064

Reviewed by Yury Semikhatsky.

Source/WebCore:

Extracted some generic methods from ParsedURL displayName getters (about:blank and data url handlers).
Implemented consistent name() and path() method on NetworkRequest based on ParsedURL.
NetworkPanel now uses name() and path() methods on NetworkRequest to show requests and search for them.

Test: http/tests/inspector/network/request-name-path.html

* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._matchRequest):
(WebInspector.NetworkLogView.prototype._highlightMatchedRequests):
(WebInspector.NetworkLogView.prototype.performFilter):
(WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
(WebInspector.NetworkDataGridNode.NameComparator):
* inspector/front-end/NetworkRequest.js:
(WebInspector.NetworkRequest.prototype.set url):
(WebInspector.NetworkRequest.prototype.name):
(WebInspector.NetworkRequest.prototype.path):
(WebInspector.NetworkRequest.prototype._parseNameAndPathFromURL):
* inspector/front-end/ParsedURL.js:
(WebInspector.ParsedURL):
(WebInspector.ParsedURL.prototype.get displayName):
(WebInspector.ParsedURL.prototype.dataURLDisplayName):
(WebInspector.ParsedURL.prototype.isAboutBlank):
(WebInspector.ParsedURL.prototype.isDataURL):

LayoutTests:

* http/tests/inspector/network/request-name-path-expected.txt: Added.
* http/tests/inspector/network/request-name-path.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133583 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Disable all tests fast/dom/shadow
https://bugs.webkit.org/show_bug.cgi?id=101324

Patch by Shinya Kawanaka <shinyak@chromium.org> on 2012-11-06
Reviewed by Csaba Osztrogonác.

Since Qt does not have SHADOW_DOM flag enabled, a lot of tests are failing.
Let's skip all tests.

* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133584 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Minibrowser forgets http variables when url includes ampersand
https://bugs.webkit.org/show_bug.cgi?id=101061

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-11-06
Reviewed by Kenneth Rohde Christiansen.

Elementary entry only returns 'markup' text, meaning ampersands
in a url will become "&amp;". Use elm_entry_markup_to_utf8() and
elm_entry_utf8_to_markup() when interacting with the entry.

* MiniBrowser/efl/main.c:
(on_url_changed):
(on_url_bar_activated):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] There shouldn't be linting errors about our TestExpectation files

Unreviewed test expectation update.

A number of linting errors were being displayed, partially because of my
recent additions. Fix them.

* platform/chromium-android/TestExpectations:
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133586 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Make Ewk_Context Ewk_Object
https://bugs.webkit.org/show_bug.cgi?id=101322

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-06
Reviewed by Kenneth Rohde Christiansen.

Ewk_Context is Ewk_Object now and using common ref/unref API.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl::ewkContext):
(EwkViewImpl):
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
(EwkContext::~EwkContext):
(EwkContext::create):
(EwkContext::defaultContext):
(EwkContext::cookieManager):
(EwkContext::ensureFaviconDatabase):
(EwkContext::setFaviconDatabaseDirectoryPath):
(EwkContext::faviconDatabase):
(EwkContext::storageManager):
(EwkContext::requestManager):
(EwkContext::vibrationProvider):
(EwkContext::addVisitedLink):
(EwkContext::setCacheModel):
(EwkContext::cacheModel):
(ewk_context_cookie_manager_get):
(ewk_context_favicon_database_directory_set):
(ewk_context_favicon_database_get):
(ewk_context_storage_manager_get):
(EwkContext::wkContext):
(EwkContext::downloadManager):
(EwkContext::historyClient):
(ewk_context_default_get):
(ewk_context_new):
(ewk_context_new_with_injected_bundle_path):
(ewk_context_url_scheme_register):
(ewk_context_vibration_client_callbacks_set):
(ewk_context_history_callbacks_set):
(ewk_context_visited_link_add):
(ewk_context_cache_model_set):
(ewk_context_cache_model_get):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):
* UIProcess/API/efl/ewk_view.cpp:
(createEwkView):
(ewk_view_base_add):
(ewk_view_smart_add):
(ewk_view_add_with_context):
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::DownloadManagerEfl):
* UIProcess/efl/DownloadManagerEfl.h:
(WebKit::DownloadManagerEfl::create):
(DownloadManagerEfl):
* UIProcess/efl/PageClientBase.cpp:
(WebKit::PageClientBase::handleDownloadRequest):
* UIProcess/efl/RequestManagerClientEfl.cpp:
(WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
* UIProcess/efl/RequestManagerClientEfl.h:
(WebKit::RequestManagerClientEfl::create):
(RequestManagerClientEfl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133587 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Exclude fast/css/style-scoped cases from layout test running
https://bugs.webkit.org/show_bug.cgi?id=101326

Unreviewed, EFL gardening.

According to BUG 49142, html5 style scoped attribute implementation is on progress.
Therefore, we can skip its test cases from regular layout test running.

Patch by Kangil Han <kangil.han@samsung.com> on 2012-11-06

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133588 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Replace setDOMWrapper(wrapper, 0) with resetDOMWrapper(wrapper)
https://bugs.webkit.org/show_bug.cgi?id=101190

Reviewed by Adam Barth.

To guarantee that we never stores NULL pointers to V8 internal
fields, we want to insert ASSERT()s to setDOMWrapper().
This patch replaces setDOMWrapper() that intentionally
passes NULL pointers with clearDOMWrapper().

No tests. No change in behavior.

* bindings/v8/V8DOMWrapper.h:
(V8DOMWrapper):
(WebCore::V8DOMWrapper::clearDOMWrapper):
* bindings/v8/V8NPObject.cpp:
(WebCore::forgetV8ObjectForNPObject):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133589 268f45cc-cd09-0410-ab3c-d52691b4dbfc
The "Rect" class in WebCore/Resources/pagepopups/pickerCommon.js should be renamed
https://bugs.webkit.org/show_bug.cgi?id=101304

Reviewed by Kent Tamura.

Source/WebCore:

The name Rect conflicts with CSS Rect.

No new tests. Just renaming.

* Resources/pagepopups/pickerCommon.js:
(Rectangle): Renamed from Rect.
(Rectangle.prototype.toString):
(Rectangle.intersection):
(adjustWindowRect):
(hideWindow):

LayoutTests:

* platform/chromium/fast/forms/page-popup/page-popup-adjust-rect-expected.txt: Replace Rect with Rectangle.
* platform/chromium/fast/forms/page-popup/page-popup-adjust-rect.html: Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add an extra test for background-position parsing.
https://bugs.webkit.org/show_bug.cgi?id=101245

Reviewed by Eric Seidel.

This test may overlap some existing tests but they are usually
old tests where the parsing is tested but mixed with the rendering
verification, therefore it is not ideal to add new parsing tests.
This will be useful for the upcoming support of background-position with 4
values as this test will be extended to verify the parsing and later another
test/patch will be added to check/support the rendering.

* fast/backgrounds/background-position-parsing-2-expected.txt: Added.
* fast/backgrounds/background-position-parsing-2.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Breakpoint is not removed when it was set in non-formatted mode and then removed while in formatted mode.
https://bugs.webkit.org/show_bug.cgi?id=100595

Reviewed by Yury Semikhatsky.

Source/WebCore:

Breakpoints in storage are now updated/removed by file name saved from primary location when they were created,
not by the name returned by UISourceCode (as this one could change when UISourceCode is formatted).
SourceFileId is now used across BreakpointManager to specify file name.
And breakpointStorageId is now used to specify (fileName, lineNumber) pair.

* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.sourceFileId):
(WebInspector.BreakpointManager.prototype._restoreBreakpoints):
(WebInspector.BreakpointManager.prototype._uiSourceCodeRemoved): Removed redundant check.
(WebInspector.BreakpointManager.prototype.breakpointLocationsForUISourceCode):
(WebInspector.BreakpointManager.Breakpoint):
(WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
(WebInspector.BreakpointManager.Storage.prototype._restoreBreakpoints):
(set WebInspector.BreakpointManager.Storage.Item):

LayoutTests:

* inspector/debugger/script-formatter-breakpoints-expected.txt:
* inspector/debugger/script-formatter-breakpoints.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: report physical memory really committed for JS heap in NMI
https://bugs.webkit.org/show_bug.cgi?id=101335

Some OSes (e.g. Linux) perform lazy commits of requested memory.
Because of that the committed memory may not retain any physical
memory until the very first access to the committed chunk.
That led to JS heap reported more physical memory than was currently
in use.

Patch by Alexei Filippov <alph@chromium.org> on 2012-11-06
Reviewed by Vsevolod Vlasov.

* bindings/v8/ScriptGCEvent.cpp:
(WebCore::ScriptGCEvent::getHeapSize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Flakyness in http/tests/inspector/network/network-initiator-from-console.html
https://bugs.webkit.org/show_bug.cgi?id=101195

Unreviewed test flakiness fix.

* http/tests/inspector/network/network-initiator-from-console-expected.txt:
* http/tests/inspector/network/network-initiator-from-console.html:
* http/tests/inspector/network/resources/silent_script.js: Added.
(foo):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed unskip passing tests.

* platform/qt-arm/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WTR] EventSender: Get rid of the WTRMouseButton enum.
https://bugs.webkit.org/show_bug.cgi?id=101340

Reviewed by Kenneth Rohde Christiansen.

Get rid of an enum which was basically a duplicate of the
WKEventMouseButton one in the shared API.

The only difference is that it also had a case for a 4th mouse
button that we treat in a special way in evasMouseButton() now.

* WebKitTestRunner/EventSenderProxy.h:
(EventSenderProxy):
* WebKitTestRunner/efl/EventSenderProxyEfl.cpp:
(WTR::evasMouseButton):
(WTR::EventSenderProxy::EventSenderProxy):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::leapForward):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed unskip passing tests.

Patch by Vsevolod Vlasov <vsevik@chromium.org> on 2012-11-06

* platform/qt-arm/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CoordinatedGraphics] Access to LayerTreeRenderer::m_renderQueue should be thread safe
https://bugs.webkit.org/show_bug.cgi?id=101341

Reviewed by Noam Rosenthal.

The queue can be accessed from public API so we should make
sure it is not updated concurrently with a threaded render loop.

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::syncRemoteContent):
(WebKit::LayerTreeRenderer::appendUpdate):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: NMI instrument CachedMetadata. It uses ~300k on plus.google.com
https://bugs.webkit.org/show_bug.cgi?id=101067

Reviewed by Yury Semikhatsky.

Plain vanilla instrumentation for CachedMetadata class.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/CachedMetadata.cpp: Added.
(WebCore):
(WebCore::CachedMetadata::reportMemoryUsage):
* loader/CachedMetadata.h:
(CachedMetadata):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[TexMap] Remove unused textures in the texture pool.
https://bugs.webkit.org/show_bug.cgi?id=100706

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-06
Reviewed by Noam Rosenthal.

Currently, we do not remove textures in the texture pool of
TextureMapper. The texture pool is destroyed when TextureMapper is
destroyed. It means the texture pool consumes texture memory until its
destruction. This patch removes textures if the textures have been not
used in 3 seconds as LayerTreeCoordinator manages UpdateAtlases.

Changing cache policy is not testable in layout tests.

* platform/graphics/texmap/TextureMapper.cpp:
(WebCore::BitmapTexturePoolEntry::BitmapTexturePoolEntry):
(WebCore::BitmapTexturePoolEntry::markUsed):
(WebCore::BitmapTexturePoolEntry::compareTimeLastUsed):
(BitmapTexturePoolEntry):
(WebCore):
(BitmapTexturePool):
(WebCore::BitmapTexturePool::BitmapTexturePool):
(WebCore::BitmapTexturePool::scheduleReleaseUnusedTextures):
(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
(WebCore::BitmapTexturePool::acquireTexture):
(WebCore::TextureMapper::acquireTextureFromPool):
(WebCore::TextureMapper::TextureMapper):
(WebCore::TextureMapper::~TextureMapper):
* platform/graphics/texmap/TextureMapper.h:
(WebCore):
(TextureMapper):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133601 268f45cc-cd09-0410-ab3c-d52691b4dbfc